From 59ffc56557b42f20e71501b7279a05b71d913c21 Mon Sep 17 00:00:00 2001 From: Brian Beck Date: Mon, 29 Jan 2024 21:52:46 -0800 Subject: [PATCH] Add tank, bomber, HAVOC --- config/models.mjs | 111 +++++++++++++++++- docs/404.html | 4 +- .../chunks/pages/index-1a76b27dafc9b8ab.js | 2 + .../pages/index-1a76b27dafc9b8ab.js.map | 1 + .../chunks/pages/index-617009baca527a4e.js | 2 - .../pages/index-617009baca527a4e.js.map | 1 - .../_buildManifest.js | 2 +- .../_ssgManifest.js | 0 docs/index.html | 2 +- docs/textures/turret_assaultTank.png | Bin 0 -> 467149 bytes docs/textures/vehicle_air_bomber1.png | Bin 0 -> 297348 bytes docs/textures/vehicle_air_bomber2.png | Bin 0 -> 315789 bytes docs/textures/vehicle_air_bomber3.png | Bin 0 -> 418994 bytes docs/textures/vehicle_air_hpc1.png | Bin 0 -> 590518 bytes docs/textures/vehicle_air_hpc2.png | Bin 0 -> 425032 bytes docs/textures/vehicle_air_hpc3.png | Bin 0 -> 440587 bytes docs/turret_assaulttank_mortar.glb | Bin 0 -> 83856 bytes docs/vehicle_air_bomber.glb | Bin 0 -> 202876 bytes docs/vehicle_air_hapc.glb | Bin 0 -> 223216 bytes docs/vehicle_grav_tank.glb | Bin 0 -> 174908 bytes public/textures/turret_assaultTank.png | Bin 0 -> 467149 bytes public/textures/vehicle_air_bomber1.png | Bin 0 -> 297348 bytes public/textures/vehicle_air_bomber2.png | Bin 0 -> 315789 bytes public/textures/vehicle_air_bomber3.png | Bin 0 -> 418994 bytes public/textures/vehicle_air_hpc1.png | Bin 0 -> 590518 bytes public/textures/vehicle_air_hpc2.png | Bin 0 -> 425032 bytes public/textures/vehicle_air_hpc3.png | Bin 0 -> 440587 bytes public/turret_assaulttank_mortar.glb | Bin 0 -> 83856 bytes public/vehicle_air_bomber.glb | Bin 0 -> 202876 bytes public/vehicle_air_hapc.glb | Bin 0 -> 223216 bytes public/vehicle_grav_tank.glb | Bin 0 -> 174908 bytes src/WarriorSelector.tsx | 11 +- 32 files changed, 124 insertions(+), 12 deletions(-) create mode 100644 docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js create mode 100644 docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js.map delete mode 100644 docs/_next/static/chunks/pages/index-617009baca527a4e.js delete mode 100644 docs/_next/static/chunks/pages/index-617009baca527a4e.js.map rename docs/_next/static/{JOh8EP5LP_6eoAEA3R--z => tZo5ViPNpnTTmF1vXUecO}/_buildManifest.js (89%) rename docs/_next/static/{JOh8EP5LP_6eoAEA3R--z => tZo5ViPNpnTTmF1vXUecO}/_ssgManifest.js (100%) create mode 100644 docs/textures/turret_assaultTank.png create mode 100644 docs/textures/vehicle_air_bomber1.png create mode 100644 docs/textures/vehicle_air_bomber2.png create mode 100644 docs/textures/vehicle_air_bomber3.png create mode 100644 docs/textures/vehicle_air_hpc1.png create mode 100644 docs/textures/vehicle_air_hpc2.png create mode 100644 docs/textures/vehicle_air_hpc3.png create mode 100644 docs/turret_assaulttank_mortar.glb create mode 100644 docs/vehicle_air_bomber.glb create mode 100644 docs/vehicle_air_hapc.glb create mode 100644 docs/vehicle_grav_tank.glb create mode 100644 public/textures/turret_assaultTank.png create mode 100644 public/textures/vehicle_air_bomber1.png create mode 100644 public/textures/vehicle_air_bomber2.png create mode 100644 public/textures/vehicle_air_bomber3.png create mode 100644 public/textures/vehicle_air_hpc1.png create mode 100644 public/textures/vehicle_air_hpc2.png create mode 100644 public/textures/vehicle_air_hpc3.png create mode 100644 public/turret_assaulttank_mortar.glb create mode 100644 public/vehicle_air_bomber.glb create mode 100644 public/vehicle_air_hapc.glb create mode 100644 public/vehicle_grav_tank.glb diff --git a/config/models.mjs b/config/models.mjs index 1eb585a..0b60887 100644 --- a/config/models.mjs +++ b/config/models.mjs @@ -29,9 +29,13 @@ const weaponModels = [ ]; const vehicleModels = [ - "vehicle_air_scout", "vehicle_grav_scout", + "vehicle_grav_tank", + "turret_assaulttank_mortar", "vehicle_land_mpbbase", + "vehicle_air_scout", + "vehicle_air_bomber", + "vehicle_air_hapc", ]; export async function getSkinConfig() { @@ -108,9 +112,13 @@ export async function getSkinConfig() { sniper: "weapon_sniper", targeting: "weapon_targeting", // Vehicles - vehicle_air_scout: "vehicle_air_scout", vehicle_land_mpbbase: "vehicle_land_mpbbase", vehicle_grav_scout: "vehicle_grav_scout", + vehicle_grav_tank: "vehicle_grav_tank", + turret_assaulttank_mortar: "turret_assaulttank_mortar", + vehicle_air_scout: "vehicle_air_scout", + vehicle_air_bomber: "vehicle_air_bomber", + vehicle_air_hapc: "vehicle_air_hapc", }, animationLabels: { Forward: "Run Forward", @@ -318,6 +326,67 @@ export async function getSkinConfig() { size: [256, 256], }, ], + vehicle_air_bomber: [ + { + label: "Cockpit & Thrusters", + name: "vehicle_air_bomber10", + file: "vehicle_air_bomber1", + size: [256, 512], + }, + { + name: "Unassigned", + hidden: true, + hasDefault: false, + }, + { + label: "Rear", + name: "vehicle_air_bomber2", + size: [256, 512], + }, + { + label: "Wings", + name: "vehicle_air_bomber31", + file: "vehicle_air_bomber3", + }, + { + name: "vehicle_air_bomber1", + size: [256, 512], + selectable: false, + }, + { + name: "vehicle_air_bomber3", + selectable: false, + }, + ], + vehicle_air_hapc: [ + { + label: "Cockpit", + name: "vehicle_air_bomber1", + size: [256, 512], + }, + { + name: "Unassigned", + hidden: true, + hasDefault: false, + }, + { + label: "Wings", + name: "vehicle_air_hpc2", + }, + { + label: "Seats", + name: "vehicle_air_hpc1", + }, + { + label: "Thrusters", + name: "vehicle_air_hpc30", + file: "vehicle_air_hpc3", + }, + { + name: "vehicle_air_hpc3", + selectable: false, + }, + ], vehicle_grav_scout: [ { label: "Vehicle", @@ -376,6 +445,44 @@ export async function getSkinConfig() { size: [128, 128], }, ], + vehicle_grav_tank: [ + { + label: "Center", + name: "Vehicle_grav_tank_bodyMain", + size: [256, 512], + }, + { + name: "Unassigned", + hidden: true, + hasDefault: false, + }, + { + label: "Sides", + name: "vehicle_grav_tank_bodyside10", + file: "vehicle_grav_tank_bodyside1", + size: [256, 512], + }, + { + label: "Thrusters", + name: "vehicle_grav_tank_bodyside21", + file: "vehicle_grav_tank_bodyside2", + }, + { + name: "vehicle_grav_tank_bodyside2", + selectable: false, + }, + { + name: "vehicle_grav_tank_bodyside1", + selectable: false, + }, + ], + turret_assaulttank_mortar: [ + { + label: "Turret", + name: "turret_assaulttank_mortar", + file: "turret_assaultTank", + }, + ], vehicle_land_mpbbase: [ { label: "Vehicle Front", diff --git a/docs/404.html b/docs/404.html index 07e363e..0592e8d 100644 --- a/docs/404.html +++ b/docs/404.html @@ -1,4 +1,4 @@ -404: This page could not be found

404

This page could not be found.

\ No newline at end of file + }

404

This page could not be found.

\ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js b/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js new file mode 100644 index 0000000..57aead9 --- /dev/null +++ b/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js @@ -0,0 +1,2 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{8312:function(t,e,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return i(1374)}])},1374:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return tY}});var r=i(5893),n=i(9008),o=i.n(n),a=i(7294);let s=a.createContext(null);s.displayName="CanvasContext";var l=function(t){var e;let i=(0,a.useContext)(s);if(!i)throw Error("No CanvasContext.Provider");return void 0===t?i:null==t?{}:null!==(e=i.canvases[t])&&void 0!==e?e:{}};let c=a.createContext(null);function h(){let t=(0,a.useContext)(c);if(!t)throw Error("No ToolsContext.Provider");return t}c.displayName="ToolsContext";var u=i(5237),f=i(6863),d=i(9352),g=i(9583),p=i(6653),v=i(2585),m=i(1649),y=i(3990);function b(){var t;let e=(0,a.useRef)(null),i=(0,a.useRef)(null),n=(0,a.useRef)(null),{activeCanvas:o,backgroundColor:s,setBackgroundColor:c,selectedObjects:b,lockedObjects:_,lockSelection:x,unlockSelection:C,bringForward:w,sendBackward:S,duplicate:T,deleteSelection:O,undo:j,redo:k,canUndo:P,canRedo:F,brushColor:E,setBrushColor:D,brushSize:M,setBrushSize:A,hueRotate:L,setHueRotate:I,saturation:R,setSaturation:B,brightness:X,setBrightness:Y,layerMode:z,setLayerMode:W,activeCanvasType:H,addImages:U,exportSkin:N}=h(),{canvas:V,isDrawingMode:G,setDrawingMode:q}=l(o),[K,J]=(0,a.useState)(!1),Z=K?"⌘":"Ctrl ",[$,Q]=(0,a.useState)(null),[tt,te]=(0,a.useState)(null),[ti,tr]=(0,a.useState)(null),[tn,to]=(0,a.useState)(!1),[ta,ts]=(0,a.useState)(!1),{styles:tl,attributes:tc}=(0,u.D)($,tt,{modifiers:[{name:"arrow",options:{element:ti}},{name:"offset",options:{offset:[0,10]}}]}),th=!!b.length&&b.every(t=>_.has(t)),tu=t=>{c(t.target.value)};return(0,a.useEffect)(()=>{navigator.platform&&navigator.platform.startsWith("Mac")?J(!0):navigator.userAgent.match(/\(Macintosh;/)&&J(!0)},[]),(0,a.useEffect)(()=>{tt&&tt.focus()},[tt]),(0,r.jsxs)("div",{className:"CanvasTools",children:[(0,r.jsxs)("div",{className:"CanvasBackgroundColor",children:[(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorBlack",value:"black",checked:"black"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorBlack",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"Black"})}),(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorMagenta",value:"magenta",checked:"magenta"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorMagenta",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"Magenta"})}),(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorWhite",value:"white",checked:"white"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorWhite",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"White"})})]}),(0,r.jsxs)("div",{className:"Buttons",children:["color"===H?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("input",{ref:i,async onChange(t){let e=await new Promise((e,i)=>{var r;let n=null===(r=t.target.files)||void 0===r?void 0:r[0];if(n){let o=new FileReader;o.addEventListener("load",t=>{var i;e(null===(i=t.target)||void 0===i?void 0:i.result)}),o.readAsDataURL(n)}else i(Error("No input file provided."))});U([e])},type:"file",accept:".png, image/png",hidden:!0}),(0,r.jsx)("button",{type:"button","aria-label":"Add Image",title:"Add Image",onClick(){i.current&&i.current.click()},children:(0,r.jsx)(y.yAv,{style:{fontSize:14}})}),(0,r.jsx)("button",{type:"button",ref:Q,"data-active":ta?"":void 0,"aria-label":"Filters",title:"Filters",onClick(){ts(t=>!t)},children:(0,r.jsx)(y.J76,{})}),ta?(0,r.jsxs)("div",{className:"BrushToolsPopup",ref:te,style:tl.popper,tabIndex:-1,onBlur(t){let e=t.relatedTarget,i=!e||!t.currentTarget.contains(e);i&&ts(!1)},...tc.popper,children:[(0,r.jsxs)("div",{className:"Fields",children:[(0,r.jsxs)("div",{className:"Field ApplyTo",children:[(0,r.jsx)("label",{children:"Layer:"}),(0,r.jsx)("ul",{children:b.length?(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"SelectedLayer",id:"FilterLayer-SelectedLayer",checked:"SelectedLayer"===z,onChange(){W("SelectedLayer")}}),(0,r.jsxs)("label",{htmlFor:"FilterLayer-SelectedLayer",children:["selected (",b.length.toLocaleString(),")"]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"BaseLayer",id:"FilterLayer-BaseLayer",checked:"BaseLayer"===z,onChange(){W("BaseLayer")}})," ",(0,r.jsx)("label",{htmlFor:"FilterLayer-BaseLayer",children:"base"})]}),(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"AllLayers",id:"FilterLayer-AllLayers",checked:"AllLayers"===z,onChange(){W("AllLayers")}}),(0,r.jsxs)("label",{htmlFor:"FilterLayer-AllLayers",children:["all (",null!==(t=null==V?void 0:V._objects.length.toLocaleString())&&void 0!==t?t:0,")"]})]})]})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Hue:"," ",(0,r.jsx)("strong",{children:null==L?"MULTIPLE VALUES":(0,r.jsxs)(r.Fragment,{children:[Math.round(180*L),"\xb0"]})})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-180,max:180,startPoint:0,value:Math.round((null!=L?L:0)*180),onChange(t){Array.isArray(t)&&(t=t[0]),I(t/180)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Saturation:"," ",(0,r.jsx)("strong",{children:null==R?"MULTIPLE VALUES":"".concat(Math.round(100*R+100),"%")})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-100,max:100,startPoint:0,value:Math.round((null!=R?R:0)*100),onChange(t){Array.isArray(t)&&(t=t[0]),B(t/100)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Brightness:"," ",(0,r.jsx)("strong",{children:null==X?"MULTIPLE VALUES":"".concat(Math.round(100*X+100),"%")})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-100,max:100,startPoint:0,value:Math.round((null!=X?X:0)*100),onChange(t){Array.isArray(t)&&(t=t[0]),Y(t/100)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]})]}),(0,r.jsx)("div",{className:"PopupArrow",ref:tr,style:tl.arrow})]}):null,(0,r.jsx)("button",{type:"button","aria-label":th?"Unlock":"Lock",title:th?"Unlock (L)":"Lock (L)",onClick:th?C:x,"data-locked":th?"":void 0,children:th?(0,r.jsx)(g.D5B,{style:{fontSize:14}}):(0,r.jsx)(g.kUi,{style:{fontSize:14}})}),(0,r.jsx)("button",{type:"button","aria-label":"Bring Forward",title:"Bring Forward (F)",onClick:w,children:(0,r.jsx)(p.KhA,{style:{fontSize:22}})}),(0,r.jsx)("button",{type:"button","aria-label":"Send Backward",title:"Send Backward (B)",onClick:S,children:(0,r.jsx)(p.O9L,{style:{fontSize:22}})}),(0,r.jsx)("button",{type:"button","aria-label":"Duplicate",title:"Duplicate (D)",onClick:T,children:(0,r.jsx)(d.xvH,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Delete",title:"Delete (Backspace)",onClick:O,disabled:th,children:(0,r.jsx)(g.AMf,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Undo",title:"Undo (".concat(Z,"Z)"),onClick:j,disabled:!P,children:(0,r.jsx)(y.UIL,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Redo",title:"Redo (".concat(K?"".concat("⇧").concat(Z,"Z)"):"".concat(Z," Y"),")"),onClick:k,disabled:!F,children:(0,r.jsx)(y.rks,{})})]}):null,"metallic"===H?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button","data-active":G?void 0:"","aria-label":"Select",title:"Select (S)",onClick(){q(!1)},children:(0,r.jsx)(v.Pvc,{})}),(0,r.jsx)("button",{type:"button",ref:Q,"data-active":G?"":void 0,"aria-label":"Paint",title:"Paint (P)",onClick(){q(!0),to(t=>!t)},children:(0,r.jsx)(m.VUP,{})}),tn?(0,r.jsxs)("div",{className:"BrushToolsPopup",ref:te,style:tl.popper,tabIndex:-1,onBlur(t){let e=t.relatedTarget,i=!e||!t.currentTarget.contains(e);i&&to(!1)},...tc.popper,children:[(0,r.jsxs)("div",{className:"Fields",children:[(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{children:"Metallic Amount"}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:0,max:255,trackStyle:{display:"none"},value:E,onChange(t){Array.isArray(t)&&(t=t[0]),D(t)},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"rgb(20, 105, 241)",background:"rgb(".concat(E,", ").concat(E,", ").concat(E,")"),opacity:1},railStyle:{height:8,border:"1px solid #555",background:"linear-gradient(to right, black 0%, white 100%)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{children:"Brush Size"}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:1,max:50,trackStyle:{height:8,background:"#03fccf"},value:M,onChange(t){Array.isArray(t)&&(t=t[0]),A(t)},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]})]}),(0,r.jsx)("div",{className:"PopupArrow",ref:tr,style:tl.arrow})]}):null]}):null]}),(0,r.jsxs)("div",{className:"Export",children:[(0,r.jsx)("input",{ref:e,type:"text",name:"CustomSkinName",placeholder:"Skin Name",size:12}),(0,r.jsx)("button",{type:"button",onClick(){let t=e.current?e.current.value:"",i=n.current?n.current.value:".png";N({name:t,format:i})},children:"Export"}),(0,r.jsxs)("select",{ref:n,defaultValue:"vl2",children:[(0,r.jsx)("option",{value:"png",children:".png"}),(0,r.jsx)("option",{value:"vl2",children:".vl2"})]})]})]})}var _=i(1752),x=i.n(_),C=i(6287);let w=a.createContext(null);function S(){let t=(0,a.useContext)(w);if(!t)throw Error("No WarriorContext.Provider");return t}function T(t){return new Promise(e=>C.fabric.Image.fromURL(t,e,{crossOrigin:"anonymous"}))}w.displayName="WarriorContext";var O=i(4375);function j(){return new Worker(i.p+"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js")}function k(){let t=(0,a.useRef)(null),e=(0,a.useRef)(null),i=(0,a.useMemo)(()=>{let t=()=>e.current;return{async combineColorAndAlphaImageUrls(){for(var e=arguments.length,i=Array(e),r=0;r{let i=new j,r=O.Ud(i);return t.current=i,e.current=r,()=>{r[O.Yy](),i.terminate()}},[]),i}function P(){return{canvasPadding:64,basePath:"/t2-model-skinner"}}async function F(t){let e=await fetch(t);if(e.ok){let i=await e.arrayBuffer();return i}throw Error("Failed to load image URL: ".concat(t))}i(7113),i(31);let{publicRuntimeConfig:E}=x()(),{materials:D}=E;function M(t){var e,n;let{children:o}=t,{actualModel:s,selectedModelType:h}=S(),[u,f]=(0,a.useState)(0),d=D[s],g=null!==(e=d[u])&&void 0!==e?e:null,p=(0,a.useMemo)(()=>null!==(n=g.size)&&void 0!==n?n:[512,512],[g]),v=!(0===g.metallicFactor&&1===g.roughnessFactor),[m,y]=(0,a.useState)("color");v||"metallic"!==m||y("color");let[b,_]=(0,a.useState)("magenta"),[x,w]=(0,a.useState)(()=>new Set),[O,j]=(0,a.useState)(200),[E,M]=(0,a.useState)(10),[A,L]=(0,a.useState)(()=>new Map),[I,R]=(0,a.useState)(()=>[]),B=g?"".concat(g.name,":").concat(m):null,X=g?"".concat(g.name,":metallic"):null,{canvases:Y}=l(),{canvas:z,notifyChange:W,undo:H,redo:U,canUndo:N,canRedo:V}=l(B),{canvas:G}=l(X),[q,K]=(0,a.useState)(!1),{combineColorAndAlphaImageUrls:J}=k(),{canvasPadding:Z}=P(),[$,Q]=(0,a.useState)(()=>[]),[tt,te]=(0,a.useState)("BaseLayer");I.length?"SelectedLayer"!==tt&&te("SelectedLayer"):"SelectedLayer"===tt&&te("BaseLayer");let ti=t=>{var e,i,r,n;let o=I;if("AllLayers"===tt?o=null!==(e=null==z?void 0:z._objects)&&void 0!==e?e:[]:"BaseLayer"===tt&&(o=null!==(i=null==z?void 0:z._objects.slice(0,1))&&void 0!==i?i:[]),!o.length)return 0;{let a=e=>null!==(n=(null!==(r=A.get(o[e]))&&void 0!==r?r:{})[t])&&void 0!==n?n:0,s=a(0);return o.slice(1).every((t,e)=>a(e+1)===s)?s:null}},tr=ti("HueRotation"),tn=ti("Saturation"),to=ti("Brightness"),ta=(0,a.useCallback)((t,e)=>{var i,r,n;let o=[],a=new Map(A),s=I;for(let l of("AllLayers"===tt?s=null!==(i=null==z?void 0:z._objects)&&void 0!==i?i:[]:"BaseLayer"===tt&&(s=null!==(r=null==z?void 0:z._objects.slice(0,1))&&void 0!==r?r:[]),s)){let c=null!==(n=A.get(l))&&void 0!==n?n:{},h={...c,[t]:e};a.set(l,h),o.push([l,h])}L(a),Q(o)},[z,tt,A,I]),ts=(0,a.useCallback)(t=>ta("HueRotation",t),[ta]),tl=(0,a.useCallback)(t=>ta("Saturation",t),[ta]),tc=(0,a.useCallback)(t=>ta("Brightness",t),[ta]);(0,a.useEffect)(()=>{if($.length){for(let[t,e]of $)if(t instanceof C.fabric.Image){for(let i in t.filters=[],e){var r;let n=null!==(r=e[i])&&void 0!==r?r:0;if(0!==n)switch(i){case"HueRotation":t.filters.push(new C.fabric.Image.filters.HueRotation({rotation:n}));break;case"Saturation":t.filters.push(new C.fabric.Image.filters.Saturation({saturation:n}));break;case"Brightness":t.filters.push(new C.fabric.Image.filters.Brightness({brightness:n}))}}t.applyFilters()}Q([]),W&&W()}},[$,W]);let th=(0,a.useCallback)(()=>{I.length&&w(t=>{let e=new Set(t);for(let i of I){var r;e.add(i),(r=i).lockMovementX=!0,r.lockMovementY=!0,r.lockScalingX=!0,r.lockScalingY=!0,r.lockRotation=!0}return e})},[I]),tu=(0,a.useCallback)(()=>{I.length&&w(t=>{let e=new Set(t);for(let i of I){var r;e.delete(i),(r=i).lockMovementX=!1,r.lockMovementY=!1,r.lockScalingX=!1,r.lockScalingY=!1,r.lockRotation=!1}return e})},[I]),tf=(0,a.useCallback)(async()=>{let t=z.getActiveObject();t&&(z.bringForward(t,!0),W())},[z,W]),td=(0,a.useCallback)(async()=>{let t=z.getActiveObject();if(t){if(z._objects[0]===t||z._objects[1]===t)return;z.sendBackwards(t,!0),W()}},[z,W]),tg=(0,a.useCallback)(async t=>{let e;for(let i of t){let r=await T(i);if(!r.width||!r.height)throw Error("Zero-height image");let n=r.width/p[0],o=r.height/p[1];if(n>1||o>1){let a;a=n>o?1/n:1/o,r.scaleX=a,r.scaleY=a}if("metallic"===m){r.filters||(r.filters=[]);let s=new C.fabric.Image.filters.Grayscale;r.filters.push(s),r.applyFilters()}K(!1),z.centerObject(r),z.add(r),e=r}e&&z.setActiveObject(e)},[z,m,p]),tp=(0,a.useCallback)(async()=>{let t=z.getActiveObject();if(t){var e,i;let r=await new Promise(e=>t.clone(e));r.set({top:(null!==(e=r.top)&&void 0!==e?e:0)+20,left:(null!==(i=r.left)&&void 0!==i?i:0)+20,evented:!0}),"activeSelection"===r.type&&(r.canvas=z,r.forEachObject(t=>{z.add(t)}),r.setCoords()),z.discardActiveObject(),z.add(r),z.setActiveObject(r)}},[z]),tv=(0,a.useCallback)(async()=>{let t=z.getActiveObjects();z.discardActiveObject(),z.remove(...t),z.requestRenderAll()},[z]),tm=(0,a.useCallback)(async t=>{let{format:e,name:r=""}=t,{savePngFile:n,saveZipFile:o,createZipFile:a}=await Promise.all([i.e(354),i.e(70)]).then(i.bind(i,8070));r=r.trim()||"MyCustomSkin";let l=await Promise.all(d.filter(t=>t&&!t.hidden&&!1!==t.selectable).map(async t=>{var e,i,n,o;let a,l;let c=null===(e=Y["".concat(t.name,":color")])||void 0===e?void 0:e.canvas,u=null===(i=Y["".concat(t.name,":metallic")])||void 0===i?void 0:i.canvas,f=null!==(n=t.size)&&void 0!==n?n:[512,512],d=c.toDataURL({top:Z,left:Z,width:f[0],height:f[1]});if(u){let g=u.toDataURL({top:Z,left:Z,width:f[0],height:f[1]});a=await J({colorImageUrl:d,metallicImageUrl:g})}else a=d;switch(h){case"player":l="".concat(r,".").concat(s,".png");break;case"weapon":case"vehicle":l=t?"".concat(null!==(o=t.file)&&void 0!==o?o:t.name,".png"):"weapon"===h?"weapon_".concat(s,".png"):"".concat(s,".png")}return{imageUrl:a,filename:l}}));switch(e){case"png":{let{imageUrl:c,filename:f}=l[u];n(c,f);break}case"vl2":{let g=await Promise.all(l.map(async t=>({data:await F(t.imageUrl),name:t.filename}))),p=a(g),v=s.replace(/(?:^([a-z])|_([a-z]))/g,(t,e,i)=>(e||i).toUpperCase()),m="";switch(h){case"player":m="zPlayerSkin-".concat(r,".vl2");break;case"weapon":m="zWeapon".concat(v,"-").concat(r,".vl2");break;case"vehicle":m="z".concat(v,"-").concat(r,".vl2")}await o(p,m)}}},[s,Z,Y,J,d,u,h]),ty=(0,a.useMemo)(()=>({activeCanvas:B,activeCanvasType:m,setActiveCanvasType:y,backgroundColor:b,setBackgroundColor:_,lockedObjects:x,setLockedObjects:w,brushColor:O,setBrushColor:j,brushSize:E,setBrushSize:M,hueRotate:tr,setHueRotate:ts,saturation:tn,setSaturation:tl,brightness:to,setBrightness:tc,layerMode:tt,setLayerMode:te,selectedObjects:I,lockSelection:th,unlockSelection:tu,bringForward:tf,sendBackward:td,addImages:tg,duplicate:tp,deleteSelection:tv,undo:H,redo:U,canUndo:N,canRedo:V,exportSkin:tm,isDrawingMode:q,setDrawingMode:K,selectedMaterialIndex:u,setSelectedMaterialIndex:f,textureSize:p,hasMetallic:v}),[B,m,b,x,O,E,tr,tn,to,tt,ts,tl,tc,I,th,tu,tf,td,tg,tp,tv,H,U,N,V,tm,q,u,p,v]);return(0,a.useEffect)(()=>{if(z){let t=()=>{R(z.getActiveObjects())};return z.on("selection:cleared",t),z.on("selection:updated",t),z.on("selection:created",t),t(),()=>{z.off("selection:cleared",t),z.off("selection:updated",t),z.off("selection:created",t)}}},[z]),(0,a.useEffect)(()=>{G&&(G.freeDrawingBrush.width=E)},[G,E]),(0,a.useEffect)(()=>{G&&(G.freeDrawingBrush.color="rgb(".concat(O,", ").concat(O,", ").concat(O,")"))},[G,O]),(0,r.jsx)(c.Provider,{value:ty,children:o})}function A(){let{backgroundColor:t,textureSize:e}=h(),{canvasPadding:i}=P();return e?(0,r.jsx)("div",{className:"CanvasBackdrop",style:{backgroundColor:t,top:i,width:e[0],height:e[1]}}):null}function L(t){let{children:e}=t,[i,n]=(0,a.useState)({}),o=(0,a.useCallback)((t,e)=>{n(i=>({...i,[t]:e}))},[]),l=(0,a.useCallback)(t=>{n(e=>{let{[t]:i,...r}=e;return r})},[]),c=(0,a.useMemo)(()=>({canvases:i,registerCanvas:o,unregisterCanvas:l}),[i,o,l]);return(0,r.jsx)(s.Provider,{value:c,children:e})}function I(t){let{children:e}=t,i=(0,a.useRef)(null),{activeCanvas:n,bringForward:o,sendBackward:s,duplicate:c,deleteSelection:u,addImages:f,undo:d,redo:g}=h(),{canvas:p,notifyChange:v,setDrawingMode:m}=l(n),y=async function(){let{top:t=0,left:e=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=p.getActiveObjects();for(let r of i){var n,o;r.top=(null!==(n=r.top)&&void 0!==n?n:0)+t,r.left=(null!==(o=r.left)&&void 0!==o?o:0)+e}v()};return(0,r.jsx)("div",{className:"CanvasInteractions",tabIndex:0,ref:i,async onDrop(t){t.preventDefault(),i.current&&i.current.focus();let{items:e}=t.dataTransfer,r=Array.from(e).filter(t=>"file"===t.kind&&t.type.match(/^image\//)),n=await Promise.all(r.map(async t=>{let e=t.getAsFile();if(!e)throw Error("Not a file.");let i=new FileReader,r=await new Promise((t,r)=>{i.onload=async e=>{e.target&&"string"==typeof e.target.result?t(e.target.result):r(Error("Failed to load image data."))},i.readAsDataURL(e)});return r}).filter(Boolean));await f(n)},async onKeyDown(t){let e=t.target;if("INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName){if(t.ctrlKey||t.metaKey)switch(t.key){case"z":if(t.altKey)return;if(t.shiftKey){t.preventDefault(),g();return}t.preventDefault(),d();return;case"y":if(t.altKey||t.shiftKey)return;t.preventDefault(),g();return}if(!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey)switch(t.key){case"Backspace":case"Delete":t.preventDefault(),await u();break;case"ArrowLeft":t.preventDefault(),await y({left:-1});break;case"ArrowRight":t.preventDefault(),await y({left:1});break;case"ArrowUp":t.preventDefault(),await y({top:-1});break;case"ArrowDown":t.preventDefault(),await y({top:1});break;case"d":t.preventDefault(),await c();break;case"f":t.preventDefault(),await o();break;case"b":t.preventDefault(),await s();break;case"p":"metallic"===n&&(t.preventDefault(),m(!0));break;case"s":"color"===n&&(t.preventDefault(),m(!1))}}},children:e})}function R(){let{activeCanvasType:t,setActiveCanvasType:e,hasMetallic:i}=h();return(0,r.jsxs)("div",{className:"CanvasToggle",children:[(0,r.jsx)("button",{type:"button","data-selected":"color"===t?"":void 0,onClick(){e("color")},children:"Color"}),i?(0,r.jsx)("button",{type:"button","data-selected":"metallic"===t?"":void 0,onClick(){e("metallic")},children:"Metallic"}):null]})}var B=i(8193);let{publicRuntimeConfig:X}=x()(),{defaultSkins:Y,customSkins:z,modelDefaults:W,materials:H}=X;function U(){var t,e,i;let{selectedModel:n,setSelectedModel:o,selectedModelType:s,setSelectedModelType:l,selectedSkin:c,setSelectedSkin:u,setSelectedSkinType:f,actualModel:d,setSelectedAnimation:g,setSkinImageUrls:p,setAnimationPaused:v}=S(),{selectedMaterialIndex:m,setSelectedMaterialIndex:y}=h(),b=H[d],_=b[m],x=(0,a.useRef)(null);return(0,r.jsxs)("div",{className:"Toolbar",children:[(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{htmlFor:"ModelSelect",children:"Model"}),(0,r.jsxs)("select",{id:"ModelSelect",value:n,onChange(t){var e,i,r;let n=t.target.selectedOptions[0].parentNode,a=t.target.value,{modelType:s}=n.dataset;if(!s)throw Error("No data-model-type found");let h=(null===(e=Y[a])||void 0===e?void 0:e.includes(c))||(null===(i=z[a])||void 0===i?void 0:i.includes(c))||!1;g(null),v(!1),l(s),o(a),y(0),h||(u(null!==(r=W[a])&&void 0!==r?r:null),f("default"))},children:[(0,r.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,r.jsx)("option",{value:"lmale",children:"Human Male • Light"}),(0,r.jsx)("option",{value:"mmale",children:"Human Male • Medium"}),(0,r.jsx)("option",{value:"hmale",children:"Human Male • Heavy"}),(0,r.jsx)("option",{value:"lfemale",children:"Human Female • Light"}),(0,r.jsx)("option",{value:"mfemale",children:"Human Female • Medium"}),(0,r.jsx)("option",{value:"hfemale",children:"Human Female • Heavy"}),(0,r.jsx)("option",{value:"lbioderm",children:"Bioderm • Light"}),(0,r.jsx)("option",{value:"mbioderm",children:"Bioderm • Medium"}),(0,r.jsx)("option",{value:"hbioderm",children:"Bioderm • Heavy"})]}),(0,r.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,r.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,r.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,r.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,r.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,r.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,r.jsx)("option",{value:"energy",children:"Blaster"}),(0,r.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,r.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,r.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,r.jsx)("option",{value:"mortar",children:"Mortar"}),(0,r.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,r.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,r.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,r.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat Grav Cycle"}),(0,r.jsx)("option",{value:"vehicle_grav_tank",children:"Beowulf Assault Tank"}),(0,r.jsx)("option",{value:"vehicle_land_mpbbase",children:"Jericho Mobile Point Base"}),(0,r.jsx)("option",{value:"vehicle_air_scout",children:"Shrike Scout Fighter"}),(0,r.jsx)("option",{value:"vehicle_air_bomber",children:"Thundersword Bomber"}),(0,r.jsx)("option",{value:"vehicle_air_hapc",children:"HAVOC Gunship Transport"})]})]})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{htmlFor:"SkinSelect",children:"Skin"}),(0,r.jsxs)("div",{className:"Buttons",children:[(0,r.jsxs)("select",{id:"SkinSelect",value:null!=c?c:"",async onChange(t){var e;let i=t.target.selectedOptions[0].parentNode,r=t.target.value&&null!==(e=i.dataset.skinType)&&void 0!==e?e:null;u(t.target.value||null),f(r)},children:[(0,r.jsx)("option",{value:"",children:"Select a skin…"}),"player"===s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("optgroup",{label:"Default Skins","data-skin-type":"default",children:null===(t=Y[d])||void 0===t?void 0:t.map(t=>(0,r.jsx)("option",{value:t,children:t},t))}),(0,r.jsx)("optgroup",{label:"Custom Skins","data-skin-type":"custom",children:null===(e=z[d])||void 0===e?void 0:e.map(t=>(0,r.jsx)("option",{value:t,children:t},t))})]}):null,"weapon"===s||"vehicle"===s?(0,r.jsxs)(r.Fragment,{children:[W[d]?(0,r.jsx)("optgroup",{label:"Default Skins","data-skin-type":"default",children:(0,r.jsx)("option",{value:W[d],children:"Default"})}):null,(null===(i=z[d])||void 0===i?void 0:i.length)?(0,r.jsx)("optgroup",{label:"Custom Skins","data-skin-type":"custom",children:z[d].map(t=>(0,r.jsx)("option",{value:t,children:t},t))}):null]}):null]}),(0,r.jsx)("button",{type:"button","aria-label":"Load Skin",title:"Load a Skin",onClick(){x.current&&x.current.click()},children:(0,r.jsx)(B.FjK,{style:{fontSize:18}})}),(0,r.jsx)("input",{ref:x,async onChange(t){var e;let i=await new Promise((e,i)=>{var r;let n=null===(r=t.target.files)||void 0===r?void 0:r[0];if(n){let o=new FileReader;o.addEventListener("load",t=>{var i;e(null===(i=t.target)||void 0===i?void 0:i.result)}),o.readAsDataURL(n)}else i(Error("No input file provided."))});u(null),p({[null!==(e=_.file)&&void 0!==e?e:_.name]:i})},type:"file",accept:".png, image/png",hidden:!0})]})]})]})}let{publicRuntimeConfig:N}=x()(),{materials:V,modelDefaults:G}=N,q="https://exogen.github.io/t2-skins/skins";function K(t){let{basePath:e,actualModel:i,selectedModelType:r,selectedSkin:n,selectedSkinType:o}=t,a=V[i];switch(r){case"player":switch(o){case"default":return{base:"".concat(e,"/textures/").concat(n,".").concat(i,".png")};case"custom":return{base:"".concat(q,"/").concat(n,".").concat(i,".png")}}break;case"weapon":case"vehicle":return a.reduce((t,i)=>{if(i){var r,a,s,l;switch(o){case"default":!1!==i.hasDefault&&(t[null!==(r=i.file)&&void 0!==r?r:i.name]="".concat(e,"/textures/").concat(null!==(a=i.file)&&void 0!==a?a:i.name,".png"));break;case"custom":t[null!==(s=i.file)&&void 0!==s?s:i.name]="".concat(q,"/").concat(n,"/").concat(null!==(l=i.file)&&void 0!==l?l:i.name,".png")}}return t},{})}return{}}function J(t){let{children:e}=t,[i,n]=(0,a.useState)("lmale"),[o,s]=(0,a.useState)("player"),[l,c]=(0,a.useState)("Blood Eagle"),[h,u]=(0,a.useState)("default"),[f,d]=(0,a.useState)(null),[g,p]=(0,a.useState)(!1),{basePath:v}=P(),m="hfemale"===i?"hmale":i,y="".concat(v,"/").concat(m).concat(f?".anim":"",".glb"),[b,_]=(0,a.useState)(()=>K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:l,selectedSkinType:h})),x=(0,a.useMemo)(()=>K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:G[m],selectedSkinType:"default"}),[m,v,o]),C=(0,a.useMemo)(()=>({selectedModel:i,setSelectedModel:n,selectedModelType:o,setSelectedModelType:s,actualModel:m,selectedModelUrl:y,animationPaused:g,setAnimationPaused:p,selectedSkin:l,setSelectedSkin:c,selectedSkinType:h,setSelectedSkinType:u,selectedAnimation:f,setSelectedAnimation:d,skinImageUrls:b,setSkinImageUrls:_,defaultSkinImageUrls:x}),[i,n,o,s,m,y,g,p,l,c,h,u,f,d,b,_,x]);return(0,a.useEffect)(()=>{l&&_(K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:l,selectedSkinType:h}))},[v,m,o,l,h]),(0,r.jsx)(w.Provider,{value:C,children:e})}var Z=i(5152),$=i.n(Z);let Q=a.createContext(null);function tt(){let t=(0,a.useContext)(Q);if(!t)throw Error("No EnvironmentContext.Provider");return t}Q.displayName="EnvironmentContext";let te=a.createContext(null);function ti(){let t=(0,a.useContext)(te);if(!t)throw Error("No SkinContext.Provider");return t}te.displayName="SkinContext";var tr=i(8496);function tn(t){let{material:e,materialDef:i,textureType:r,imageUrl:n}=t,{modelViewer:o}=(0,tr.Z)(),{basePath:s}=P();(0,a.useEffect)(()=>{let t=!1,a=async()=>{if(!i||i.hidden)"metallicRoughnessTexture"!==r&&(e.setAlphaMode("BLEND"),e.pbrMetallicRoughness.setBaseColorFactor([0,0,0,0]));else{let{alphaMode:a,alphaCutoff:l,baseColorFactor:c,emissiveFactor:h,emissiveTexture:u=!1,metallicFactor:f=1,roughnessFactor:d=1}=i,g=null!=n?n:"".concat(s,"/white.png");switch(r){case"baseColorTexture":c&&e.pbrMetallicRoughness.setBaseColorFactor(c),a&&e.setAlphaMode(a),l&&e.setAlphaCutoff(l),h&&e.setEmissiveFactor(h);break;case"metallicRoughnessTexture":e.pbrMetallicRoughness.setMetallicFactor(f),e.pbrMetallicRoughness.setRoughnessFactor(d),0===f&&1===d&&(g="".concat(s,"/green.png"))}let p=await o.createTexture(g);!t&&(e.pbrMetallicRoughness[r].setTexture(p),"baseColorTexture"===r&&u&&e.emissiveTexture.setTexture(p))}};return a(),()=>{t=!0}},[s,o,e,i,r,n])}function to(t){var e,i;let{material:r,materialDef:n}=t,{getSkinImages:o}=ti(),{colorImageUrl:a,metallicImageUrl:s}=null!==(i=o(null!==(e=null==n?void 0:n.file)&&void 0!==e?e:r.name))&&void 0!==i?i:{};return tn({material:r,materialDef:n,textureType:"baseColorTexture",imageUrl:a}),tn({material:r,materialDef:n,textureType:"metallicRoughnessTexture",imageUrl:s}),null}let{publicRuntimeConfig:ta}=x()(),{materials:ts}=ta;function tl(){let{actualModel:t}=S(),{model:e}=(0,tr.Z)(),i=ts[t];return(0,r.jsx)(r.Fragment,{children:e.materials.map((t,e)=>{var n;let o=null!==(n=i.find(t=>t.index===e))&&void 0!==n?n:i[e];return(0,r.jsx)(to,{material:t,materialDef:o},t.name)})})}let tc=$()(()=>Promise.all([i.e(737),i.e(258),i.e(990)]).then(i.bind(i,85)),{loadableGenerated:{webpack:()=>[85]},ssr:!1}),{publicRuntimeConfig:th}=x()(),{cameraOverrides:tu}=th;function tf(){var t,e;let{selectedModel:i,selectedModelUrl:n,selectedModelType:o,selectedAnimation:a,animationPaused:s}=S(),{environmentImageUrl:l,showEnvironment:c,exposure:h}=tt();return(0,r.jsx)(tc,{modelUrl:n,environmentImageUrl:l,showEnvironment:c,animationName:a,animationPaused:s,cameraOrbit:"weapon"===o?"315deg 70deg 105%":void 0,cameraTarget:null===(t=tu[i])||void 0===t?void 0:t.target,fieldOfView:null===(e=tu[i])||void 0===e?void 0:e.fov,exposure:h,children:(0,r.jsx)(tl,{})})}function td(){let{selectedEnvironment:t,setSelectedEnvironment:e}=tt();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{htmlFor:"EnvMapSelect",children:"Environment"}),(0,r.jsxs)("select",{id:"EnvMapSelect",value:null!=t?t:"",onChange(t){e(t.target.value||null)},children:[(0,r.jsx)("option",{value:"",children:"Default"}),(0,r.jsx)("option",{value:"clarens_night_02_1k.hdr",children:"Clarens Night"}),(0,r.jsx)("option",{value:"dry_cracked_lake_1k.hdr",children:"Dry Cracked Lake"}),(0,r.jsx)("option",{value:"fouriesburg_mountain_midday_1k.hdr",children:"Fouriesburg Mountain"}),(0,r.jsx)("option",{value:"goegap_1k.hdr",children:"Goegap"}),(0,r.jsx)("option",{value:"hilly_terrain_01_1k.hdr",children:"Hilly Terrain"}),(0,r.jsx)("option",{value:"kloofendal_48d_partly_cloudy_puresky_1k.hdr",children:"Kloofendal Partly Cloudy"}),(0,r.jsx)("option",{value:"kloppenheim_06_puresky_1k.hdr",children:"Kloppenheim"}),(0,r.jsx)("option",{value:"lilienstein_1k.hdr",children:"Lilienstein"}),(0,r.jsx)("option",{value:"spruit_sunrise_1k_HDR.hdr",children:"Spruit Sunrise"}),(0,r.jsx)("option",{value:"umhlanga_sunrise_1k.hdr",children:"Umhlanga Sunrise"})]})]})}function tg(){let{exposure:t,setExposure:e}=tt();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{htmlFor:"EnvExposure",children:(0,r.jsx)(y.MXq,{size:16})}),(0,r.jsx)("input",{"aria-label":"Exposure",id:"EnvExposure",type:"range",min:.2,max:2.2,step:.1,value:t,onChange(t){e(parseFloat(t.target.value))}})]})}let{publicRuntimeConfig:tp}=x()(),{animations:tv,animationLabels:tm,animationLabelOverrides:ty}=tp;function tb(){var t;let{actualModel:e,selectedModelType:i,selectedAnimation:n,setSelectedAnimation:o,animationPaused:s,setAnimationPaused:l}=S(),c=(0,a.useMemo)(()=>[..."player"===i?tv.global:[],...null!==(t=tv[e])&&void 0!==t?t:[]],[e,i]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{children:"Animation"}),(0,r.jsxs)("div",{className:"Buttons",children:[(0,r.jsxs)("select",{value:null!=n?n:"",onChange(t){o(t.target.value||null),l(!1)},children:[(0,r.jsx)("option",{value:"",children:"None"}),c.map(t=>{var i,n;let o=null!==(n=null===(i=ty[e])||void 0===i?void 0:i[t])&&void 0!==n?n:tm[t];return(0,r.jsx)("option",{value:t,children:null!=o?o:t},t)})]}),(0,r.jsx)("button",{type:"button",disabled:!n,onClick(){l(t=>!t)},children:s||!n?(0,r.jsx)(m.v$e,{}):(0,r.jsx)(m.IWN,{})})]})]})}function t_(t){let{children:e}=t,[i,n]=(0,a.useState)(null),[o,s]=(0,a.useState)(!1),[l,c]=(0,a.useState)(1),{basePath:h}=P(),u=(0,a.useMemo)(()=>{let t=i?"".concat(h,"/").concat(i):null;return{selectedEnvironment:i,setSelectedEnvironment:n,showEnvironment:o,setShowEnvironment:s,exposure:l,setExposure:c,environmentImageUrl:t}},[h,i,o,l]);return(0,r.jsx)(Q.Provider,{value:u,children:e})}function tx(t){let{children:e}=t,[i,n]=(0,a.useState)({}),o=(0,a.useMemo)(()=>({setSkinImages(t,e){n(i=>({...i,[t]:e}))},setColorImageUrl(t,e){n(i=>({...i,[t]:{...i[t],colorImageUrl:e}}))},setMetallicImageUrl(t,e){n(i=>({...i,[t]:{...i[t],metallicImageUrl:e}}))}}),[]),s=(0,a.useMemo)(()=>({materialSkins:i,getSkinImages:t=>i[t],getColorImageUrl:t=>i[t].colorImageUrl,getMetallicImageUrl:t=>i[t].metallicImageUrl,...o}),[i,o]);return(0,r.jsx)(te.Provider,{value:s,children:e})}let{publicRuntimeConfig:tC}=x()(),{materials:tw}=tC;function tS(){var t;let{actualModel:e}=S(),{selectedMaterialIndex:i,setSelectedMaterialIndex:n}=h(),o=tw[e];return(0,r.jsx)("select",{value:i,onChange(t){n(parseInt(t.target.value,10))},children:o.map((e,i)=>e&&!e.hidden&&!1!==e.selectable?(0,r.jsx)("option",{value:i,children:null!==(t=e.label)&&void 0!==t?t:e.name},e.name):null)})}function tT(t){let{canvasId:e,onChange:i,baseImageUrl:n,textureSize:o,defaultDrawingMode:s=!1}=t,c=(0,a.useRef)(null),[u,f]=(0,a.useState)(null),{activeCanvas:d}=h(),{canvasPadding:g}=P(),{registerCanvas:p,unregisterCanvas:v}=l(),[m,y]=(0,a.useState)(s),b=(0,a.useRef)(),_=(0,a.useRef)(!0),[x,w]=(0,a.useState)(()=>[]),[S,O]=(0,a.useState)(()=>[]),j=x.length>1,k=S.length>0,F=(0,a.useCallback)(t=>{let e=b.current;e&&e(t)},[]),E=(0,a.useCallback)(async()=>{if(u&&x.length>1){let[t,e]=x.slice(-2);_.current=!1,u.renderOnAddRemove=!1,u.clear(),u.loadFromJSON(t,()=>{u.renderAll(),_.current=!0,u.renderOnAddRemove=!0}),w(t=>t.slice(0,-1)),O(t=>[e,...t])}},[u,x]),D=(0,a.useCallback)(()=>{if(u&&S.length>0){let t=S[0];_.current=!1,u.renderOnAddRemove=!1,u.clear(),u.loadFromJSON(t,()=>{u.renderAll(),_.current=!0,u.renderOnAddRemove=!0}),w(e=>[...e,t]),O(t=>t.slice(1))}},[u,S]);(0,a.useEffect)(()=>{b.current=i},[i]);let M=d===e;return(0,a.useEffect)(()=>{let t;C.fabric.Object.prototype.set({transparentCorners:!1,borderColor:"#8afff1",cornerSize:9,cornerStyle:"circle",cornerColor:"#8afff1",cornerStrokeColor:"#1c9f7c",strokeWidth:10,perPixelTargetFind:!0});let e=new C.fabric.Canvas(c.current,{preserveObjectStacking:!0,targetFindTolerance:2}),i=!1,r=()=>{F(e)},n=()=>{!i&&_.current&&(clearTimeout(t),t=setTimeout(()=>{let t=o();w(e=>[...e.slice(-5),t]),O([])},150))},o=()=>{i=!0;let t=e.toJSON(["lockMovementX","lockMovementY","lockRotation","lockScalingX","lockScalingY","selectable","hoverCursor","moveCursor"]);return i=!1,t};return e.on("object:modified",r),e.on("object:added",r),e.on("object:removed",r),e.on("after:render",n),f(e),()=>{clearTimeout(t),f(null),e.dispose()}},[F]),(0,a.useEffect)(()=>{u&&(u.isDrawingMode=m)},[u,m]),(0,a.useEffect)(()=>{u&&M&&u.calcOffset()},[u,M]),(0,a.useEffect)(()=>{if(u)return p(e,{canvas:u,notifyChange(){u.renderAll(),F(u)},undo:E,redo:D,canUndo:j,canRedo:k,isDrawingMode:m,setDrawingMode:y}),()=>{v(e)}},[u,p,v,e,F,m,y,E,D,j,k]),(0,a.useEffect)(()=>{if(u&&o&&(_.current=!1,u.clear(),n)){let t=!1,e=async()=>{let e=await T(n);if(!t){if(!e.width||!e.height)throw Error("Zero-height image");e.selectable=!1,e.lockMovementX=!0,e.lockMovementY=!0,e.lockScalingX=!0,e.lockScalingY=!0,e.lockRotation=!0,e.hoverCursor="default",e.moveCursor="default";let[i,r]=o,a=e.width===i?1:i/e.width,s=e.height===r?1:r/e.height;(1!==a||1!==s)&&(e.scaleX=a,e.scaleY=s),u.centerObject(e),u.add(e)}_.current=!0,u.requestRenderAll()};return e(),()=>{t=!0}}},[u,n,o]),(0,r.jsx)("div",{className:"CanvasContainer","data-active":M?"true":"false",children:(0,r.jsx)("canvas",{width:o[0]+2*g,height:o[1]+2*g,ref:c})})}let tO=a.createContext(null);function tj(){let t=(0,a.useContext)(tO);if(!t)throw Error("ImageLoaderContext.Provider not found!");return t}tO.displayName="ImageLoaderContext";let tk=[512,512];function tP(t){var e,i,n;let{materialDef:o}=t,{skinImageUrls:s,defaultSkinImageUrls:l}=S(),c=s[null!==(e=o.file)&&void 0!==e?e:o.name],h=l[null!==(i=o.file)&&void 0!==i?i:o.name],{setColorImageUrl:u}=ti(),{canvasPadding:f}=P(),[d,g]=(0,a.useState)(null),{removeAlphaFromArrayBuffer:p}=k(),{loadImage:v}=tj(),m=(0,a.useMemo)(()=>null!==(n=o.size)&&void 0!==n?n:tk,[o]),y=(0,a.useCallback)(async t=>{var e;let i=t.toDataURL({top:f,left:f,width:m[0],height:m[1]});u(null!==(e=o.file)&&void 0!==e?e:o.name,i)},[m,f,u,o]);(0,a.useEffect)(()=>{if(c){let t=!1,e=async()=>{let e;try{e=await v(c)}catch(i){if(!1===o.hasDefault)return;e=await v(h)}let r=await p(e);t||g(r)};return e(),()=>{t=!0}}g(null)},[o,c,h,p,v]);let b="".concat(o.name,":color");return m?(0,r.jsx)(tT,{canvasId:b,canvasType:"color",onChange:y,baseImageUrl:d,textureSize:m},b):null}let tF=[512,512];function tE(t){var e,i,n;let{materialDef:o}=t,{skinImageUrls:s,defaultSkinImageUrls:l}=S(),c=s[null!==(e=o.file)&&void 0!==e?e:o.name],h=l[null!==(i=o.file)&&void 0!==i?i:o.name],{setMetallicImageUrl:u}=ti(),{canvasPadding:f}=P(),[d,g]=(0,a.useState)(null),p=(0,a.useRef)(0),{convertGrayscaleImageUrlToMetallicRoughness:v,convertArrayBufferAlphaToGrayscale:m}=k(),{loadImage:y}=tj(),b=(0,a.useMemo)(()=>null!==(n=o.size)&&void 0!==n?n:tF,[o]),_=(0,a.useCallback)(async t=>{let e;p.current+=1;let i=t.toDataURL({top:f,left:f,width:b[0],height:b[1]});try{e=await v(i)}finally{p.current-=1}if(0===p.current){var r;u(null!==(r=o.file)&&void 0!==r?r:o.name,e)}},[b,f,u,v,o]);(0,a.useEffect)(()=>{if(c){let t=!1,e=async()=>{let e;try{e=await y(c)}catch(i){if(!1===o.hasDefault)return;e=await y(h)}let r=await m(e);t||g(r)};return e(),()=>{t=!0}}g(null)},[o,c,h,b,m,y]);let x="".concat(o.name,":metallic");return b?(0,r.jsx)(tT,{canvasId:x,canvasType:"metallic",onChange:_,baseImageUrl:d,textureSize:b,defaultDrawingMode:!0},x):null}let{publicRuntimeConfig:tD}=x()(),{materials:tM}=tD;function tA(){let{actualModel:t}=S(),e=tM[t];return(0,r.jsx)(r.Fragment,{children:e.map(e=>{if(!e)return null;let i=!(0===e.metallicFactor&&1===e.roughnessFactor);return(0,r.jsxs)(a.Fragment,{children:[(0,r.jsx)(tP,{materialDef:e}),i?(0,r.jsx)(tE,{materialDef:e}):null]},"".concat(t,"-").concat(e.name))})})}var tL=i(5945);function tI(t){let{children:e}=t,i=(0,tL.NL)(),n=(0,a.useMemo)(()=>({async loadImage(t){if(t.startsWith("data:"))return F(t);{let e=await i.fetchQuery({queryKey:[t]});return e}}}),[i]);return(0,r.jsx)(tO.Provider,{value:n,children:e})}var tR=i(8709);async function tB(t){let{queryKey:e}=t,[i]=e;return F(i)}let tX=new tR.S({defaultOptions:{queries:{queryFn:tB,staleTime:1/0,cacheTime:6e4,refetchOnWindowFocus:!1,refetchOnReconnect:!1}}});function tY(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o(),{children:(0,r.jsx)("title",{children:"T2 Model Viewer & Skinner"})}),(0,r.jsx)(tL.aH,{client:tX,children:(0,r.jsx)("main",{children:(0,r.jsx)(tI,{children:(0,r.jsx)(J,{children:(0,r.jsx)(t_,{children:(0,r.jsxs)(tx,{children:[(0,r.jsxs)("div",{className:"Viewport",children:[(0,r.jsxs)("div",{className:"ModelTools",children:[(0,r.jsx)("div",{className:"Field",children:(0,r.jsx)(td,{})}),(0,r.jsx)("div",{className:"Field SliderField",children:(0,r.jsx)(tg,{})}),(0,r.jsx)("div",{className:"Field",children:(0,r.jsx)(tb,{})})]}),(0,r.jsx)(tf,{})]}),(0,r.jsx)(L,{children:(0,r.jsx)(M,{children:(0,r.jsxs)(I,{children:[(0,r.jsx)(U,{}),(0,r.jsxs)("div",{className:"CanvasViewport",children:[(0,r.jsxs)("div",{className:"CanvasSelector",children:[(0,r.jsx)(R,{}),(0,r.jsx)(tS,{})]}),(0,r.jsx)(A,{}),(0,r.jsx)(tA,{})]}),(0,r.jsx)(b,{})]})})})]})})})})})})]})}},8496:function(t,e,i){"use strict";i.d(e,{K:function(){return n},Z:function(){return o}});var r=i(7294);let n=r.createContext(null);function o(){let t=(0,r.useContext)(n);if(!t)throw Error("No ModelViewerContext.Provider");return t}n.displayName="ModelViewerContext"},6287:function(t,e,i){var r,n,o,a,s,l,c,h,u,f,d,g,p,v,m,y,b,_,x,C,w,S,T,O,j,k,P,F,E,D,M,A,L,I,R,B,X,Y,z,W,H,U,N,V,G,q,K,J,Z,$,Q,tt,te,ti,tr,tn,to,ta,ts,tl,tc,th,tu,tf,td,tg,tp,tv,tm,ty,tb,t_,tx,tC,tw,tS,tT,tO,tj,tk,tP,tF,tE,tD,tM,tA,tL,tI,tR,tB,tX,tY,tz,tW,tH,tU,tN,tV,tG,tq,tK,tJ,tZ,t$,tQ,t0,t1,t2,t5,t3,t4,t8,t6,t9,t7,et,ee,ei,er,en,eo,ea,es,el=i(1876).Buffer,ec=ec||{version:"5.2.1"};if(e.fabric=ec,"undefined"!=typeof document)document instanceof("undefined"!=typeof HTMLDocument?HTMLDocument:Document)?ec.document=document:ec.document=document.implementation.createHTMLDocument(""),ec.window=window;else{var eh=new(i(6734)).JSDOM(decodeURIComponent("%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E"),{features:{FetchExternalResources:["img"]},resources:"usable"}).window;ec.document=eh.document,ec.jsdomImplForWrapper=i(6907).implForWrapper,ec.nodeCanvas=i(4866).Canvas,ec.window=eh,DOMParser=ec.window.DOMParser}function eu(t,e){var i=t.canvas,r=e.targetCanvas,n=r.getContext("2d");n.translate(0,r.height),n.scale(1,-1);var o=i.height-r.height;n.drawImage(i,0,o,r.width,r.height,0,0,r.width,r.height)}function ef(t,e){var i=e.targetCanvas.getContext("2d"),r=e.destinationWidth,n=e.destinationHeight,o=r*n*4,a=new Uint8Array(this.imageBuffer,0,o),s=new Uint8ClampedArray(this.imageBuffer,0,o);t.readPixels(0,0,r,n,t.RGBA,t.UNSIGNED_BYTE,a);var l=new ImageData(s,r,n);i.putImageData(l,0,0)}ec.isTouchSupported="ontouchstart"in ec.window||"ontouchstart"in ec.document||ec.window&&ec.window.navigator&&ec.window.navigator.maxTouchPoints>0,ec.isLikelyNode=void 0!==el&&!1,ec.DPI=96,ec.reNum="(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)",ec.commaWsp="(?:\\s+,?\\s*|,\\s*)",ec.rePathCommand=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:[eE][-+]?\d+)?)/ig,ec.reNonWord=/[ \n\.,;!\?\-]/,ec.fontPaths={},ec.iMatrix=[1,0,0,1,0,0],ec.svgNS="http://www.w3.org/2000/svg",ec.perfLimitSizeTotal=2097152,ec.maxCacheSideLimit=4096,ec.minCacheSideLimit=256,ec.charWidthsCache={},ec.textureSize=2048,ec.disableStyleCopyPaste=!1,ec.enableGLFiltering=!0,ec.devicePixelRatio=ec.window.devicePixelRatio||ec.window.webkitDevicePixelRatio||ec.window.mozDevicePixelRatio||1,ec.browserShadowBlurConstant=1,ec.arcToSegmentsCache={},ec.boundsOfCurveCache={},ec.cachesBoundsOfCurve=!0,ec.forceGLPutImageData=!1,ec.initFilterBackend=function(){return ec.enableGLFiltering&&ec.isWebglSupported&&ec.isWebglSupported(ec.textureSize)?(console.log("max texture size: "+ec.maxTextureSize),new ec.WebglFilterBackend({tileSize:ec.textureSize})):ec.Canvas2dFilterBackend?new ec.Canvas2dFilterBackend:void 0},function(){function t(t,e){if(this.__eventListeners[t]){var i=this.__eventListeners[t];e?i[i.indexOf(e)]=!1:ec.util.array.fill(i,!1)}}function e(t,e){var i=(function(){e.apply(this,arguments),this.off(t,i)}).bind(this);this.on(t,i)}ec.Observable={fire:function(t,e){if(!this.__eventListeners)return this;var i=this.__eventListeners[t];if(!i)return this;for(var r=0,n=i.length;r-1||!!e&&this._objects.some(function(e){return"function"==typeof e.contains&&e.contains(t,!0)})},complexity:function(){return this._objects.reduce(function(t,e){return t+(e.complexity?e.complexity():0)},0)}},ec.CommonMethods={_setOptions:function(t){for(var e in t)this.set(e,t[e])},_initGradient:function(t,e){!t||!t.colorStops||t instanceof ec.Gradient||this.set(e,new ec.Gradient(t))},_initPattern:function(t,e,i){!t||!t.source||t instanceof ec.Pattern?i&&i():this.set(e,new ec.Pattern(t,i))},_setObject:function(t){for(var e in t)this._set(e,t[e])},set:function(t,e){return"object"==typeof t?this._setObject(t):this._set(t,e),this},_set:function(t,e){this[t]=e},toggle:function(t){var e=this.get(t);return"boolean"==typeof e&&this.set(t,!e),this},get:function(t){return this[t]}},m=Math.sqrt,y=Math.atan2,b=Math.pow,_=Math.PI/180,x=Math.PI/2,ec.util={cos:function(t){if(0===t)return 1;switch(t<0&&(t=-t),t/x){case 1:case 3:return 0;case 2:return -1}return Math.cos(t)},sin:function(t){if(0===t)return 0;var e=1;switch(t<0&&(e=-1),t/x){case 1:return e;case 2:return 0;case 3:return-e}return Math.sin(t)},removeFromArray:function(t,e){var i=t.indexOf(e);return -1!==i&&t.splice(i,1),t},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},degreesToRadians:function(t){return t*_},radiansToDegrees:function(t){return t/_},rotatePoint:function(t,e,i){var r=new ec.Point(t.x-e.x,t.y-e.y),n=ec.util.rotateVector(r,i);return new ec.Point(n.x,n.y).addEquals(e)},rotateVector:function(t,e){var i=ec.util.sin(e),r=ec.util.cos(e);return{x:t.x*r-t.y*i,y:t.x*i+t.y*r}},createVector:function(t,e){return new ec.Point(e.x-t.x,e.y-t.y)},calcAngleBetweenVectors:function(t,e){return Math.acos((t.x*e.x+t.y*e.y)/(Math.hypot(t.x,t.y)*Math.hypot(e.x,e.y)))},getHatVector:function(t){return new ec.Point(t.x,t.y).multiply(1/Math.hypot(t.x,t.y))},getBisector:function(t,e,i){var r=ec.util.createVector(t,e),n=ec.util.createVector(t,i),o=ec.util.calcAngleBetweenVectors(r,n),a=ec.util.calcAngleBetweenVectors(ec.util.rotateVector(r,o),n);return{vector:ec.util.getHatVector(ec.util.rotateVector(r,o*(0===a?1:-1)/2)),angle:o}},projectStrokeOnPoints:function(t,e,i){var r=[],n=e.strokeWidth/2,o=e.strokeUniform?new ec.Point(1/e.scaleX,1/e.scaleY):new ec.Point(1,1),a=function(t){var e=n/Math.hypot(t.x,t.y);return new ec.Point(t.x*e*o.x,t.y*e*o.y)};return t.length<=1||t.forEach(function(s,l){var c,h,u=new ec.Point(s.x,s.y);0===l?(h=t[l+1],c=i?a(ec.util.createVector(h,u)).addEquals(u):t[t.length-1]):l===t.length-1?(c=t[l-1],h=i?a(ec.util.createVector(c,u)).addEquals(u):t[0]):(c=t[l-1],h=t[l+1]);var f,d,g=ec.util.getBisector(u,c,h),p=g.vector,v=g.angle;if("miter"===e.strokeLineJoin&&(f=-n/Math.sin(v/2),Math.hypot((d=new ec.Point(p.x*f*o.x,p.y*f*o.y)).x,d.y)/n<=e.strokeMiterLimit)){r.push(u.add(d)),r.push(u.subtract(d));return}f=-n*Math.SQRT2,d=new ec.Point(p.x*f*o.x,p.y*f*o.y),r.push(u.add(d)),r.push(u.subtract(d))}),r},transformPoint:function(t,e,i){return i?new ec.Point(e[0]*t.x+e[2]*t.y,e[1]*t.x+e[3]*t.y):new ec.Point(e[0]*t.x+e[2]*t.y+e[4],e[1]*t.x+e[3]*t.y+e[5])},makeBoundingBoxFromPoints:function(t,e){if(e)for(var i=0;i0&&(e>r?e-=r:e=0,i>r?i-=r:i=0);var n,o=!0,a=t.getImageData(e,i,2*r||1,2*r||1),s=a.data.length;for(n=3;n=n?o-n:2*Math.PI-(n-o)}function n(t,e,i,r){return Math.sqrt((i-t)*(i-t)+(r-e)*(r-e))}function o(t,e,i){var r,o,a={x:e,y:i},s=0;for(o=1;o<=100;o+=1)r=t(o/100),s+=n(a.x,a.y,r.x,r.y),a=r;return s}function a(t){for(var e,i,r,a,s=0,l=t.length,c=0,h=0,u=0,f=0,d=[],g=0;gC)for(var S=1,T=p.length;S0?k-=2*l:1===a&&k<0&&(k+=2*l);for(var P=Math.ceil(Math.abs(k/l*2)),F=[],E=k/P,D=8/3*Math.sin(E/4)*Math.sin(E/4)/Math.sin(E/2),M=j+E,A=0;A2;for(e=e||0,c&&(s=t[2].xt[i-2].x?1:n.x===t[i-2].x?0:-1,l=n.y>t[i-2].y?1:n.y===t[i-2].y?0:-1),r.push(["L",n.x+s*e,n.y+l*e]),r},ec.util.getPathSegmentsInfo=a,ec.util.getBoundsOfCurve=function(e,i,r,n,o,a,s,l){if(ec.cachesBoundsOfCurve&&(c=t.call(arguments),ec.boundsOfCurveCache[c]))return ec.boundsOfCurveCache[c];var c,h,u,f,d,g,p,v,m,y=Math.sqrt,b=Math.min,_=Math.max,x=Math.abs,C=[],w=[[],[]];u=6*e-12*r+6*o,h=-3*e+9*r-9*o+3*s,f=3*r-3*e;for(var S=0;S<2;++S){if(S>0&&(u=6*i-12*n+6*a,h=-3*i+9*n-9*a+3*l,f=3*n-3*i),1e-12>x(h)){if(1e-12>x(u))continue;0<(d=-f/u)&&d<1&&C.push(d);continue}!((v=u*u-4*f*h)<0)&&(0<(g=(-u+(m=y(v)))/(2*h))&&g<1&&C.push(g),0<(p=(-u-m)/(2*h))&&p<1&&C.push(p))}for(var T,O,j,k=C.length,P=k;k--;)T=(j=1-(d=C[k]))*j*j*e+3*j*j*d*r+3*j*d*d*o+d*d*d*s,w[0][k]=T,O=j*j*j*i+3*j*j*d*n+3*j*d*d*a+d*d*d*l,w[1][k]=O;w[0][P]=e,w[1][P]=i,w[0][P+1]=s,w[1][P+1]=l;var F=[{x:b.apply(null,w[0]),y:b.apply(null,w[1])},{x:_.apply(null,w[0]),y:_.apply(null,w[1])}];return ec.cachesBoundsOfCurve&&(ec.boundsOfCurveCache[c]=F),F},ec.util.getPointOnPath=function(t,e,i){i||(i=a(t));for(var r=0;e-i[r].length>0&&r1e-4;)i=l(a),o=a,(r=n(c.x,c.y,i.x,i.y))+s>e?(a-=h,h/=2):(c=i,a+=h,s+=r);return i.angle=u(o),i}(s,e)}},ec.util.transformPath=function(t,e,i){return i&&(e=ec.util.multiplyTransformMatrices(e,[1,0,0,1,-i.x,-i.y])),t.map(function(t){for(var i=t.slice(0),r={},n=1;n=e})}}}(),function(){function t(e,i,r){if(r){if(!ec.isLikelyNode&&i instanceof Element)e=i;else if(i instanceof Array){e=[];for(var n=0,o=i.length;n/g,">")},graphemeSplit:function(t){var e,i=0,r=[];for(i=0;i57343)return t.charAt(e);if(55296<=i&&i<=56319){if(t.length<=e+1)throw"High surrogate without following low surrogate";var r=t.charCodeAt(e+1);if(56320>r||r>57343)throw"High surrogate without following low surrogate";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";var n=t.charCodeAt(e-1);if(55296>n||n>56319)throw"Low surrogate without preceding high surrogate";return!1}(t,i))&&r.push(e);return r}},function(){var t=Array.prototype.slice,e=function(){},i=function(){for(var t in{toString:1})if("toString"===t)return!1;return!0}(),r=function(t,e,r){for(var n in e)n in t.prototype&&"function"==typeof t.prototype[n]&&(e[n]+"").indexOf("callSuper")>-1?t.prototype[n]=function(t){return function(){var i=this.constructor.superclass;this.constructor.superclass=r;var n=e[t].apply(this,arguments);if(this.constructor.superclass=i,"initialize"!==t)return n}}(n):t.prototype[n]=e[n],i&&(e.toString!==Object.prototype.toString&&(t.prototype.toString=e.toString),e.valueOf!==Object.prototype.valueOf&&(t.prototype.valueOf=e.valueOf))};function n(){}function o(e){for(var i=null,r=this;r.constructor.superclass;){var n=r.constructor.superclass.prototype[e];if(r[e]!==n){i=n;break}r=r.constructor.superclass.prototype}return i?arguments.length>1?i.apply(this,t.call(arguments,1)):i.call(this):console.log("tried to callSuper "+e+", method not found in prototype chain",this)}ec.util.createClass=function(){var i=null,a=t.call(arguments,0);function s(){this.initialize.apply(this,arguments)}"function"==typeof a[0]&&(i=a.shift()),s.superclass=i,s.subclasses=[],i&&(n.prototype=i.prototype,s.prototype=new n,i.subclasses.push(s));for(var l=0,c=a.length;l-1||"touch"===t.pointerType},T="string"==typeof(S=ec.document.createElement("div")).style.opacity,O="string"==typeof S.style.filter,j=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,k=function(t){return t},T?k=function(t,e){return t.style.opacity=e,t}:O&&(k=function(t,e){var i=t.style;return t.currentStyle&&!t.currentStyle.hasLayout&&(i.zoom=1),j.test(i.filter)?(e=e>=.9999?"":"alpha(opacity="+100*e+")",i.filter=i.filter.replace(j,e)):i.filter+=" alpha(opacity="+100*e+")",t}),ec.util.setStyle=function(t,e){var i=t.style;if(!i)return t;if("string"==typeof e)return t.style.cssText+=";"+e,e.indexOf("opacity")>-1?k(t,e.match(/opacity:\s*(\d?\.?\d*)/)[1]):t;for(var r in e)if("opacity"===r)k(t,e[r]);else{var n="float"===r||"cssFloat"===r?void 0===i.styleFloat?"cssFloat":"styleFloat":r;i.setProperty(n,e[r])}return t},function(){var t,e,i,r,n=Array.prototype.slice,o=function(t){return n.call(t,0)};try{r=o(ec.document.childNodes) instanceof Array}catch(a){}function s(t,e){var i=ec.document.createElement(t);for(var r in e)"class"===r?i.className=e[r]:"for"===r?i.htmlFor=e[r]:i.setAttribute(r,e[r]);return i}function l(t){for(var e=0,i=0,r=ec.document.documentElement,n=ec.document.body||{scrollLeft:0,scrollTop:0};t&&(t.parentNode||t.host)&&((t=t.parentNode||t.host)===ec.document?(e=n.scrollLeft||r.scrollLeft||0,i=n.scrollTop||r.scrollTop||0):(e+=t.scrollLeft||0,i+=t.scrollTop||0),1!==t.nodeType||"fixed"!==t.style.position););return{left:e,top:i}}r||(o=function(t){for(var e=Array(t.length),i=t.length;i--;)e[i]=t[i];return e}),i=ec.document.defaultView&&ec.document.defaultView.getComputedStyle?function(t,e){var i=ec.document.defaultView.getComputedStyle(t,null);return i?i[e]:void 0}:function(t,e){var i=t.style[e];return!i&&t.currentStyle&&(i=t.currentStyle[e]),i},e="userSelect"in(t=ec.document.documentElement.style)?"userSelect":"MozUserSelect"in t?"MozUserSelect":"WebkitUserSelect"in t?"WebkitUserSelect":"KhtmlUserSelect"in t?"KhtmlUserSelect":"",ec.util.makeElementUnselectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=ec.util.falseFunction),e?t.style[e]="none":"string"==typeof t.unselectable&&(t.unselectable="on"),t},ec.util.makeElementSelectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=null),e?t.style[e]="":"string"==typeof t.unselectable&&(t.unselectable=""),t},ec.util.setImageSmoothing=function(t,e){t.imageSmoothingEnabled=t.imageSmoothingEnabled||t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled||t.oImageSmoothingEnabled,t.imageSmoothingEnabled=e},ec.util.getById=function(t){return"string"==typeof t?ec.document.getElementById(t):t},ec.util.toArray=o,ec.util.addClass=function(t,e){t&&-1===(" "+t.className+" ").indexOf(" "+e+" ")&&(t.className+=(t.className?" ":"")+e)},ec.util.makeElement=s,ec.util.wrapElement=function(t,e,i){return"string"==typeof e&&(e=s(e,i)),t.parentNode&&t.parentNode.replaceChild(e,t),e.appendChild(t),e},ec.util.getScrollLeftTop=l,ec.util.getElementOffset=function(t){var e,r,n=t&&t.ownerDocument,o={left:0,top:0},a={left:0,top:0},s={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!n)return a;for(var c in s)a[s[c]]+=parseInt(i(t,c),10)||0;return e=n.documentElement,void 0!==t.getBoundingClientRect&&(o=t.getBoundingClientRect()),r=l(t),{left:o.left+r.left-(e.clientLeft||0)+a.left,top:o.top+r.top-(e.clientTop||0)+a.top}},ec.util.getNodeCanvas=function(t){var e=ec.jsdomImplForWrapper(t);return e._canvas||e._image},ec.util.cleanUpJsdomNode=function(t){if(ec.isLikelyNode){var e=ec.jsdomImplForWrapper(t);e&&(e._image=null,e._canvas=null,e._currentSrc=null,e._attributes=null,e._classList=null)}}}(),function(){function t(){}ec.util.request=function(e,i){i||(i={});var r,n,o=i.method?i.method.toUpperCase():"GET",a=i.onComplete||function(){},s=new ec.window.XMLHttpRequest,l=i.body||i.parameters;return s.onreadystatechange=function(){4===s.readyState&&(a(s),s.onreadystatechange=t)},"GET"===o&&(l=null,"string"==typeof i.parameters)&&(r=e,n=i.parameters,e=r+(/\?/.test(r)?"&":"?")+n),s.open(o,e,!0),("POST"===o||"PUT"===o)&&s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(l),s}}(),ec.log=console.log,ec.warn=console.warn,function(){var t=ec.util.object.extend,e=ec.util.object.clone,i=[];function r(){return!1}function n(t,e,i,r){return-i*Math.cos(t/r*(Math.PI/2))+i+e}ec.util.object.extend(i,{cancelAll:function(){var t=this.splice(0);return t.forEach(function(t){t.cancel()}),t},cancelByCanvas:function(t){if(!t)return[];var e=this.filter(function(e){return"object"==typeof e.target&&e.target.canvas===t});return e.forEach(function(t){t.cancel()}),e},cancelByTarget:function(t){var e=this.findAnimationsByTarget(t);return e.forEach(function(t){t.cancel()}),e},findAnimationIndex:function(t){return this.indexOf(this.findAnimation(t))},findAnimation:function(t){return this.find(function(e){return e.cancel===t})},findAnimationsByTarget:function(t){return t?this.filter(function(e){return e.target===t}):[]}});var o=ec.window.requestAnimationFrame||ec.window.webkitRequestAnimationFrame||ec.window.mozRequestAnimationFrame||ec.window.oRequestAnimationFrame||ec.window.msRequestAnimationFrame||function(t){return ec.window.setTimeout(t,1e3/60)},a=ec.window.cancelAnimationFrame||ec.window.clearTimeout;function s(){return o.apply(ec.window,arguments)}ec.util.animate=function(i){i||(i={});var o,a=!1,l=function(){var t=ec.runningAnimations.indexOf(o);return t>-1&&ec.runningAnimations.splice(t,1)[0]};return o=t(e(i),{cancel:function(){return a=!0,l()},currentValue:"startValue"in i?i.startValue:0,completionRate:0,durationRate:0}),ec.runningAnimations.push(o),s(function(t){var e,c=t||+new Date,h=i.duration||500,u=c+h,f=i.onChange||r,d=i.abort||r,g=i.onComplete||r,p=i.easing||n,v="startValue"in i&&i.startValue.length>0,m="startValue"in i?i.startValue:0,y="endValue"in i?i.endValue:100,b=i.byValue||(v?m.map(function(t,e){return y[e]-m[e]}):y-m);i.onStart&&i.onStart(),function t(i){var r=(e=i||+new Date)>u?h:e-c,n=r/h,_=v?m.map(function(t,e){return p(r,m[e],b[e],h)}):p(r,m,b,h),x=v?Math.abs((_[0]-m[0])/b[0]):Math.abs((_-m)/b);if(o.currentValue=v?_.slice():_,o.completionRate=x,o.durationRate=n,!a){if(d(_,x,n)){l();return}if(e>u){o.currentValue=v?y.slice():y,o.completionRate=1,o.durationRate=1,f(v?y.slice():y,1,1),g(y,1,1),l();return}f(_,x,n),s(t)}}(c)}),o.cancel},ec.util.requestAnimFrame=s,ec.util.cancelAnimFrame=function(){return a.apply(ec.window,arguments)},ec.runningAnimations=i}(),function(){function t(t,e,i){return"rgba("+parseInt(t[0]+i*(e[0]-t[0]),10)+","+parseInt(t[1]+i*(e[1]-t[1]),10)+","+parseInt(t[2]+i*(e[2]-t[2]),10)+(","+(t&&e?parseFloat(t[3]+i*(e[3]-t[3])):1))+")"}ec.util.animateColor=function(e,i,r,n){var o=new ec.Color(e).getSource(),a=new ec.Color(i).getSource(),s=n.onComplete,l=n.onChange;return n=n||{},ec.util.animate(ec.util.object.extend(n,{duration:r||500,startValue:o,endValue:a,byValue:a,easing:function(e,i,r,o){return t(i,r,n.colorEasing?n.colorEasing(e,o):1-Math.cos(e/o*(Math.PI/2)))},onComplete:function(e,i,r){if(s)return s(t(a,a,0),i,r)},onChange:function(e,i,r){if(l){if(Array.isArray(e))return l(t(e,e,0),i,r);l(e,i,r)}}}))}}(),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Point){e.warn("fabric.Point is already defined");return}function i(t,e){this.x=t,this.y=e}e.Point=i,i.prototype={type:"point",constructor:i,add:function(t){return new i(this.x+t.x,this.y+t.y)},addEquals:function(t){return this.x+=t.x,this.y+=t.y,this},scalarAdd:function(t){return new i(this.x+t,this.y+t)},scalarAddEquals:function(t){return this.x+=t,this.y+=t,this},subtract:function(t){return new i(this.x-t.x,this.y-t.y)},subtractEquals:function(t){return this.x-=t.x,this.y-=t.y,this},scalarSubtract:function(t){return new i(this.x-t,this.y-t)},scalarSubtractEquals:function(t){return this.x-=t,this.y-=t,this},multiply:function(t){return new i(this.x*t,this.y*t)},multiplyEquals:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return new i(this.x/t,this.y/t)},divideEquals:function(t){return this.x/=t,this.y/=t,this},eq:function(t){return this.x===t.x&&this.y===t.y},lt:function(t){return this.xt.x&&this.y>t.y},gte:function(t){return this.x>=t.x&&this.y>=t.y},lerp:function(t,e){return void 0===e&&(e=.5),e=Math.max(Math.min(1,e),0),new i(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)},distanceFrom:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},midPointFrom:function(t){return this.lerp(t)},min:function(t){return new i(Math.min(this.x,t.x),Math.min(this.y,t.y))},max:function(t){return new i(Math.max(this.x,t.x),Math.max(this.y,t.y))},toString:function(){return this.x+","+this.y},setXY:function(t,e){return this.x=t,this.y=e,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setFromPoint:function(t){return this.x=t.x,this.y=t.y,this},swap:function(t){var e=this.x,i=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=i},clone:function(){return new i(this.x,this.y)}}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Intersection){e.warn("fabric.Intersection is already defined");return}function i(t){this.status=t,this.points=[]}e.Intersection=i,e.Intersection.prototype={constructor:i,appendPoint:function(t){return this.points.push(t),this},appendPoints:function(t){return this.points=this.points.concat(t),this}},e.Intersection.intersectLineLine=function(t,r,n,o){var a,s=(o.x-n.x)*(t.y-n.y)-(o.y-n.y)*(t.x-n.x),l=(r.x-t.x)*(t.y-n.y)-(r.y-t.y)*(t.x-n.x),c=(o.y-n.y)*(r.x-t.x)-(o.x-n.x)*(r.y-t.y);if(0!==c){var h=s/c,u=l/c;0<=h&&h<=1&&0<=u&&u<=1?(a=new i("Intersection")).appendPoint(new e.Point(t.x+h*(r.x-t.x),t.y+h*(r.y-t.y))):a=new i}else a=new i(0===s||0===l?"Coincident":"Parallel");return a},e.Intersection.intersectLinePolygon=function(t,e,r){var n,o,a,s,l=new i,c=r.length;for(s=0;s0&&(l.status="Intersection"),l},e.Intersection.intersectPolygonPolygon=function(t,e){var r,n=new i,o=t.length;for(r=0;r0&&(n.status="Intersection"),n},e.Intersection.intersectPolygonRectangle=function(t,r,n){var o=r.min(n),a=r.max(n),s=new e.Point(a.x,o.y),l=new e.Point(o.x,a.y),c=i.intersectLinePolygon(o,s,t),h=i.intersectLinePolygon(s,a,t),u=i.intersectLinePolygon(a,l,t),f=i.intersectLinePolygon(l,o,t),d=new i;return d.appendPoints(c.points),d.appendPoints(h.points),d.appendPoints(u.points),d.appendPoints(f.points),d.points.length>0&&(d.status="Intersection"),d}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Color){e.warn("fabric.Color is already defined.");return}function i(t){t?this._tryParsingColor(t):this.setSource([0,0,0,1])}function r(t,e,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?t+(e-t)*6*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}e.Color=i,e.Color.prototype={_tryParsingColor:function(t){var e;t in i.colorNameMap&&(t=i.colorNameMap[t]),"transparent"===t&&(e=[255,255,255,0]),e||(e=i.sourceFromHex(t)),e||(e=i.sourceFromRgb(t)),e||(e=i.sourceFromHsl(t)),e||(e=[0,0,0,1]),e&&this.setSource(e)},_rgbToHsl:function(t,i,r){t/=255,i/=255,r/=255;var n,o,a,s=e.util.array.max([t,i,r]),l=e.util.array.min([t,i,r]);if(a=(s+l)/2,s===l)n=o=0;else{var c=s-l;switch(o=a>.5?c/(2-s-l):c/(s+l),s){case t:n=(i-r)/c+(i0)-(t<0)||+t};function f(t,e){return Math.round((t.angle+h(Math.atan2(e.y,e.x))+360)%360/45)}function d(t,i){var r=i.transform.target,n=r.canvas,o=e.util.object.clone(i);o.target=r,n&&n.fire("object:"+t,o),r.fire(t,i)}function g(t,e){var i=e.canvas,r=t[i.uniScaleKey];return i.uniformScaling&&!r||!i.uniformScaling&&r}function p(t){return t.originX===l&&t.originY===l}function v(t,e,i){var r=t.lockScalingX,n=t.lockScalingY;return!!r&&!!n||!e&&(!!r||!!n)&&!!i||!!r&&"x"===e||!!n&&"y"===e}function m(t,e,i,r){return{e:t,transform:e,pointer:{x:i,y:r}}}function y(t){return function(e,i,r,n){var o=i.target,a=o.getCenterPoint(),s=o.translateToOriginPoint(a,i.originX,i.originY),l=t(e,i,r,n);return o.setPositionByOrigin(s,i.originX,i.originY),l}}function b(t,e){return function(i,r,n,o){var a=e(i,r,n,o);return a&&d(t,m(i,r,n,o)),a}}function _(t,i,r,n,o){var a=t.target,s=a.controls[t.corner],l=a.canvas.getZoom(),c=a.padding/l,h=a.toLocalPoint(new e.Point(n,o),i,r);return h.x>=c&&(h.x-=c),h.x<=-c&&(h.x+=c),h.y>=c&&(h.y-=c),h.y<=c&&(h.y+=c),h.x-=s.offsetX,h.y-=s.offsetY,h}function x(t){return t.flipX!==t.flipY}function C(t,e,i,r,n){if(0!==t[e]){var o=n/t._getTransformedDimensions()[r]*t[i];t.set(i,o)}}function w(t,e,i,r){var n,l=e.target,c=l._getTransformedDimensions(0,l.skewY),u=Math.abs(2*_(e,e.originX,e.originY,i,r).x)-c.x,f=l.skewX;u<2?n=0:(n=h(Math.atan2(u/l.scaleX,c.y/l.scaleY)),e.originX===o&&e.originY===s&&(n=-n),e.originX===a&&"top"===e.originY&&(n=-n),x(l)&&(n=-n));var d=f!==n;if(d){var g=l._getTransformedDimensions().y;l.set("skewX",n),C(l,"skewY","scaleY","y",g)}return d}function S(t,e,i,r){var n,l=e.target,c=l._getTransformedDimensions(l.skewX,0),u=Math.abs(2*_(e,e.originX,e.originY,i,r).y)-c.y,f=l.skewY;u<2?n=0:(n=h(Math.atan2(u/l.scaleY,c.x/l.scaleX)),e.originX===o&&e.originY===s&&(n=-n),e.originX===a&&"top"===e.originY&&(n=-n),x(l)&&(n=-n));var d=f!==n;if(d){var g=l._getTransformedDimensions().x;l.set("skewY",n),C(l,"skewX","scaleX","x",g)}return d}function T(t,e,i,r,n){n=n||{};var o,a,s,l,h,f,d=e.target,m=d.lockScalingX,y=d.lockScalingY,b=n.by,x=g(t,d),C=v(d,b,x),w=e.gestureScale;if(C)return!1;if(w)a=e.scaleX*w,s=e.scaleY*w;else{if(o=_(e,e.originX,e.originY,i,r),h="y"!==b?u(o.x):1,f="x"!==b?u(o.y):1,e.signX||(e.signX=h),e.signY||(e.signY=f),d.lockScalingFlip&&(e.signX!==h||e.signY!==f))return!1;if(l=d._getTransformedDimensions(),x&&!b){var S=Math.abs(o.x)+Math.abs(o.y),T=e.original,O=S/(Math.abs(l.x*T.scaleX/d.scaleX)+Math.abs(l.y*T.scaleY/d.scaleY));a=T.scaleX*O,s=T.scaleY*O}else a=Math.abs(o.x*d.scaleX/l.x),s=Math.abs(o.y*d.scaleY/l.y);p(e)&&(a*=2,s*=2),e.signX!==h&&"y"!==b&&(e.originX=c[e.originX],a*=-1,e.signX=h),e.signY!==f&&"x"!==b&&(e.originY=c[e.originY],s*=-1,e.signY=f)}var j=d.scaleX,k=d.scaleY;return b?("x"===b&&d.set("scaleX",a),"y"===b&&d.set("scaleY",s)):(m||d.set("scaleX",a),y||d.set("scaleY",s)),j!==d.scaleX||k!==d.scaleY}n.scaleCursorStyleHandler=function(t,e,r){var n=g(t,r),o="";return(0!==e.x&&0===e.y?o="x":0===e.x&&0!==e.y&&(o="y"),v(r,o,n))?"not-allowed":i[f(r,e)]+"-resize"},n.skewCursorStyleHandler=function(t,e,i){return 0!==e.x&&i.lockSkewingY||0!==e.y&&i.lockSkewingX?"not-allowed":r[f(i,e)%4]+"-resize"},n.scaleSkewCursorStyleHandler=function(t,e,i){return t[i.canvas.altActionKey]?n.skewCursorStyleHandler(t,e,i):n.scaleCursorStyleHandler(t,e,i)},n.rotationWithSnapping=b("rotating",y(function(t,e,i,r){var n=e.target,o=n.translateToOriginPoint(n.getCenterPoint(),e.originX,e.originY);if(n.lockRotation)return!1;var a=Math.atan2(e.ey-o.y,e.ex-o.x),s=h(Math.atan2(r-o.y,i-o.x)-a+e.theta),l=!0;if(n.snapAngle>0){var c=n.snapAngle,u=n.snapThreshold||c,f=Math.ceil(s/c)*c,d=Math.floor(s/c)*c;Math.abs(s-d)0?o:a:(c>0&&(n="top"===h?o:a),c<0&&(n="top"===h?a:o),x(s)&&(n=n===o?a:o)),e.originX=n,b("skewing",y(w))(t,e,i,r))},n.skewHandlerY=function(t,e,i,r){var n,a=e.target,c=a.skewY,h=e.originX;return!a.lockSkewingY&&(0===c?n=_(e,l,l,i,r).y>0?"top":s:(c>0&&(n=h===o?"top":s),c<0&&(n=h===o?s:"top"),x(a)&&(n="top"===n?s:"top")),e.originY=n,b("skewing",y(S))(t,e,i,r))},n.dragHandler=function(t,e,i,r){var n=e.target,o=i-e.offsetX,a=r-e.offsetY,s=!n.get("lockMovementX")&&n.left!==o,l=!n.get("lockMovementY")&&n.top!==a;return s&&n.set("left",o),l&&n.set("top",a),(s||l)&&d("moving",m(t,e,i,r)),s||l},n.scaleOrSkewActionName=function(t,e,i){var r=t[i.canvas.altActionKey];return 0===e.x?r?"skewX":"scaleY":0===e.y?r?"skewY":"scaleX":void 0},n.rotationStyleHandler=function(t,e,i){return i.lockRotation?"not-allowed":e.cursorStyle},n.fireEvent=d,n.wrapWithFixedAnchor=y,n.wrapWithFireEvent=b,n.getLocalPoint=_,e.controlsUtils=n}(e),E=(F=(P=e).fabric||(P.fabric={})).util.degreesToRadians,(D=F.controlsUtils).renderCircleControl=function(t,e,i,r,n){r=r||{};var o,a=this.sizeX||r.cornerSize||n.cornerSize,s=this.sizeY||r.cornerSize||n.cornerSize,l=void 0!==r.transparentCorners?r.transparentCorners:n.transparentCorners,c=!l&&(r.cornerStrokeColor||n.cornerStrokeColor),h=e,u=i;t.save(),t.fillStyle=r.cornerColor||n.cornerColor,t.strokeStyle=r.cornerStrokeColor||n.cornerStrokeColor,a>s?(o=a,t.scale(1,s/a),u=i*a/s):s>a?(o=s,t.scale(a/s,1),h=e*s/a):o=a,t.lineWidth=1,t.beginPath(),t.arc(h,u,o/2,0,2*Math.PI,!1),t[l?"stroke":"fill"](),c&&t.stroke(),t.restore()},D.renderSquareControl=function(t,e,i,r,n){r=r||{};var o=this.sizeX||r.cornerSize||n.cornerSize,a=this.sizeY||r.cornerSize||n.cornerSize,s=void 0!==r.transparentCorners?r.transparentCorners:n.transparentCorners,l=!s&&(r.cornerStrokeColor||n.cornerStrokeColor),c=o/2,h=a/2;t.save(),t.fillStyle=r.cornerColor||n.cornerColor,t.strokeStyle=r.cornerStrokeColor||n.cornerStrokeColor,t.lineWidth=1,t.translate(e,i),t.rotate(E(n.angle)),t[(s?"stroke":"fill")+"Rect"](-c,-h,o,a),l&&t.strokeRect(-c,-h,o,a),t.restore()},(A=(M=e).fabric||(M.fabric={})).Control=function(t){for(var e in t)this[e]=t[e]},A.Control.prototype={visible:!0,actionName:"scale",angle:0,x:0,y:0,offsetX:0,offsetY:0,sizeX:null,sizeY:null,touchSizeX:null,touchSizeY:null,cursorStyle:"crosshair",withConnection:!1,actionHandler:function(){},mouseDownHandler:function(){},mouseUpHandler:function(){},getActionHandler:function(){return this.actionHandler},getMouseDownHandler:function(){return this.mouseDownHandler},getMouseUpHandler:function(){return this.mouseUpHandler},cursorStyleHandler:function(t,e){return e.cursorStyle},getActionName:function(t,e){return e.actionName},getVisibility:function(t,e){var i=t._controlsVisibility;return i&&void 0!==i[e]?i[e]:this.visible},setVisibility:function(t){this.visible=t},positionHandler:function(t,e){return A.util.transformPoint({x:this.x*t.x+this.offsetX,y:this.y*t.y+this.offsetY},e)},calcCornerCoords:function(t,e,i,r,n){var o,a,s,l,c=n?this.touchSizeX:this.sizeX,h=n?this.touchSizeY:this.sizeY;if(c&&h&&c!==h){var u=Math.atan2(h,c),f=Math.sqrt(c*c+h*h)/2,d=u-A.util.degreesToRadians(t),g=Math.PI/2-u-A.util.degreesToRadians(t);o=f*A.util.cos(d),a=f*A.util.sin(d),s=f*A.util.cos(g),l=f*A.util.sin(g)}else{f=.7071067812*(c&&h?c:e);var d=A.util.degreesToRadians(45-t);o=s=f*A.util.cos(d),a=l=f*A.util.sin(d)}return{tl:{x:i-l,y:r-s},tr:{x:i+o,y:r-a},bl:{x:i-o,y:r+a},br:{x:i+l,y:r+s}}},render:function(t,e,i,r,n){"circle"===((r=r||{}).cornerStyle||n.cornerStyle)?A.controlsUtils.renderCircleControl.call(this,t,e,i,r,n):A.controlsUtils.renderSquareControl.call(this,t,e,i,r,n)}},function(){"use strict";if(ec.StaticCanvas){ec.warn("fabric.StaticCanvas is already defined.");return}var t=ec.util.object.extend,e=ec.util.getElementOffset,i=ec.util.removeFromArray,r=(ec.util.toFixed,ec.util.transformPoint),n=ec.util.invertTransform,o=ec.util.getNodeCanvas,a=ec.util.createCanvasElement,s=Error("Could not initialize `canvas` element");ec.StaticCanvas=ec.util.createClass(ec.CommonMethods,{initialize:function(t,e){e||(e={}),this.renderAndResetBound=this.renderAndReset.bind(this),this.requestRenderAllBound=this.requestRenderAll.bind(this),this._initStatic(t,e)},backgroundColor:"",backgroundImage:null,overlayColor:"",overlayImage:null,includeDefaultValues:!0,stateful:!1,renderOnAddRemove:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:ec.iMatrix.concat(),backgroundVpt:!0,overlayVpt:!0,enableRetinaScaling:!0,vptCoords:{},skipOffscreen:!0,clipPath:void 0,_initStatic:function(t,e){var i=this.requestRenderAllBound;this._objects=[],this._createLowerCanvas(t),this._initOptions(e),this.interactive||this._initRetinaScaling(),e.overlayImage&&this.setOverlayImage(e.overlayImage,i),e.backgroundImage&&this.setBackgroundImage(e.backgroundImage,i),e.backgroundColor&&this.setBackgroundColor(e.backgroundColor,i),e.overlayColor&&this.setOverlayColor(e.overlayColor,i),this.calcOffset()},_isRetinaScaling:function(){return ec.devicePixelRatio>1&&this.enableRetinaScaling},getRetinaScaling:function(){return this._isRetinaScaling()?Math.max(1,ec.devicePixelRatio):1},_initRetinaScaling:function(){if(this._isRetinaScaling()){var t=ec.devicePixelRatio;this.__initRetinaScaling(t,this.lowerCanvasEl,this.contextContainer),this.upperCanvasEl&&this.__initRetinaScaling(t,this.upperCanvasEl,this.contextTop)}},__initRetinaScaling:function(t,e,i){e.setAttribute("width",this.width*t),e.setAttribute("height",this.height*t),i.scale(t,t)},calcOffset:function(){return this._offset=e(this.lowerCanvasEl),this},setOverlayImage:function(t,e,i){return this.__setBgOverlayImage("overlayImage",t,e,i)},setBackgroundImage:function(t,e,i){return this.__setBgOverlayImage("backgroundImage",t,e,i)},setOverlayColor:function(t,e){return this.__setBgOverlayColor("overlayColor",t,e)},setBackgroundColor:function(t,e){return this.__setBgOverlayColor("backgroundColor",t,e)},__setBgOverlayImage:function(t,e,i,r){return"string"==typeof e?ec.util.loadImage(e,function(e,n){if(e){var o=new ec.Image(e,r);this[t]=o,o.canvas=this}i&&i(e,n)},this,r&&r.crossOrigin):(r&&e.setOptions(r),this[t]=e,e&&(e.canvas=this),i&&i(e,!1)),this},__setBgOverlayColor:function(t,e,i){return this[t]=e,this._initGradient(e,t),this._initPattern(e,t,i),this},_createCanvasElement:function(){var t=a();if(!t||(t.style||(t.style={}),void 0===t.getContext))throw s;return t},_initOptions:function(t){var e=this.lowerCanvasEl;this._setOptions(t),this.width=this.width||parseInt(e.width,10)||0,this.height=this.height||parseInt(e.height,10)||0,this.lowerCanvasEl.style&&(e.width=this.width,e.height=this.height,e.style.width=this.width+"px",e.style.height=this.height+"px",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(t){t&&t.getContext?this.lowerCanvasEl=t:this.lowerCanvasEl=ec.util.getById(t)||this._createCanvasElement(),ec.util.addClass(this.lowerCanvasEl,"lower-canvas"),this._originalCanvasStyle=this.lowerCanvasEl.style,this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext("2d")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(t,e){return this.setDimensions({width:t},e)},setHeight:function(t,e){return this.setDimensions({height:t},e)},setDimensions:function(t,e){var i;for(var r in e=e||{},t)i=t[r],e.cssOnly||(this._setBackstoreDimension(r,t[r]),i+="px",this.hasLostContext=!0),e.backstoreOnly||this._setCssDimension(r,i);return this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop),this._initRetinaScaling(),this.calcOffset(),e.cssOnly||this.requestRenderAll(),this},_setBackstoreDimension:function(t,e){return this.lowerCanvasEl[t]=e,this.upperCanvasEl&&(this.upperCanvasEl[t]=e),this.cacheCanvasEl&&(this.cacheCanvasEl[t]=e),this[t]=e,this},_setCssDimension:function(t,e){return this.lowerCanvasEl.style[t]=e,this.upperCanvasEl&&(this.upperCanvasEl.style[t]=e),this.wrapperEl&&(this.wrapperEl.style[t]=e),this},getZoom:function(){return this.viewportTransform[0]},setViewportTransform:function(t){var e,i,r,n=this._activeObject,o=this.backgroundImage,a=this.overlayImage;for(i=0,this.viewportTransform=t,r=this._objects.length;i0+c&&(a=o-1,i(this._objects,n),this._objects.splice(a,0,n)),c++;else 0!==(o=this._objects.indexOf(t))&&(a=this._findNewLowerIndex(t,o,e),i(this._objects,t),this._objects.splice(a,0,t));return this.renderOnAddRemove&&this.requestRenderAll(),this},_findNewLowerIndex:function(t,e,i){var r,n;if(i){for(r=e,n=e-1;n>=0;--n)if(t.intersectsWithObject(this._objects[n])||t.isContainedWithinObject(this._objects[n])||this._objects[n].isContainedWithinObject(t)){r=n;break}}else r=e-1;return r},bringForward:function(t,e){if(!t)return this;var r,n,o,a,s,l=this._activeObject,c=0;if(t===l&&"activeSelection"===t.type)for(r=(s=l._objects).length;r--;)n=s[r],(o=this._objects.indexOf(n))"}}),t(ec.StaticCanvas.prototype,ec.Observable),t(ec.StaticCanvas.prototype,ec.Collection),t(ec.StaticCanvas.prototype,ec.DataURLExporter),t(ec.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',supports:function(t){var e=a();if(!e||!e.getContext)return null;var i=e.getContext("2d");return i&&"setLineDash"===t?void 0!==i.setLineDash:null}}),ec.StaticCanvas.prototype.toJSON=ec.StaticCanvas.prototype.toObject,ec.isLikelyNode&&(ec.StaticCanvas.prototype.createPNGStream=function(){var t=o(this.lowerCanvasEl);return t&&t.createPNGStream()},ec.StaticCanvas.prototype.createJPEGStream=function(t){var e=o(this.lowerCanvasEl);return e&&e.createJPEGStream(t)})}(),ec.BaseBrush=ec.util.createClass({color:"rgb(0, 0, 0)",width:1,shadow:null,strokeLineCap:"round",strokeLineJoin:"round",strokeMiterLimit:10,strokeDashArray:null,limitedToCanvasSize:!1,_setBrushStyles:function(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])},_saveAndTransform:function(t){var e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])},_setShadow:function(){if(this.shadow){var t=this.canvas,e=this.shadow,i=t.contextTop,r=t.getZoom();t&&t._isRetinaScaling()&&(r*=ec.devicePixelRatio),i.shadowColor=e.color,i.shadowBlur=e.blur*r,i.shadowOffsetX=e.offsetX*r,i.shadowOffsetY=e.offsetY*r}},needsFullRender:function(){return 1>new ec.Color(this.color).getAlpha()||!!this.shadow},_resetShadow:function(){var t=this.canvas.contextTop;t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0},_isOutSideCanvas:function(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}),ec.PencilBrush=ec.util.createClass(ec.BaseBrush,{decimate:.4,drawStraightLine:!1,straightLineKey:"shiftKey",initialize:function(t){this.canvas=t,this._points=[]},needsFullRender:function(){return this.callSuper("needsFullRender")||this._hasStraightLine},_drawSegment:function(t,e,i){var r=e.midPointFrom(i);return t.quadraticCurveTo(e.x,e.y,r.x,r.y),r},onMouseDown:function(t,e){this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],this._prepareForDrawing(t),this._captureDrawingPath(t),this._render())},onMouseMove:function(t,e){if(this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],!(!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t))&&this._captureDrawingPath(t)&&this._points.length>1)){if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{var i=this._points,r=i.length,n=this.canvas.contextTop;this._saveAndTransform(n),this.oldEnd&&(n.beginPath(),n.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=this._drawSegment(n,i[r-2],i[r-1],!0),n.stroke(),n.restore()}}},onMouseUp:function(t){return!this.canvas._isMainEvent(t.e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)},_prepareForDrawing:function(t){var e=new ec.Point(t.x,t.y);this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)},_addPoint:function(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)},_reset:function(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1},_captureDrawingPath:function(t){var e=new ec.Point(t.x,t.y);return this._addPoint(e)},_render:function(t){var e,i,r=this._points[0],n=this._points[1];if(t=t||this.canvas.contextTop,this._saveAndTransform(t),t.beginPath(),2===this._points.length&&r.x===n.x&&r.y===n.y){var o=this.width/1e3;r=new ec.Point(r.x,r.y),n=new ec.Point(n.x,n.y),r.x-=o,n.x+=o}for(t.moveTo(r.x,r.y),e=1,i=this._points.length;e=r&&a.push(o=t[i]);return a.push(t[n]),a},_finalizeAndAddPath:function(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));var t=this.convertPointsToSVGPath(this._points);if(this._isEmptySVGPath(t)){this.canvas.requestRenderAll();return}var e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}}),ec.CircleBrush=ec.util.createClass(ec.BaseBrush,{width:10,initialize:function(t){this.canvas=t,this.points=[]},drawDot:function(t){var e=this.addPoint(t),i=this.canvas.contextTop;this._saveAndTransform(i),this.dot(i,e),i.restore()},dot:function(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()},onMouseDown:function(t){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)},_render:function(){var t,e,i=this.canvas.contextTop,r=this.points;for(this._saveAndTransform(i),t=0,e=r.length;t0&&!this.preserveObjectStacking){e=[],i=[];for(var n=0,o=this._objects.length;n1&&(this._activeObject._objects=i),e.push.apply(e,i)}else e=this._objects;return e},renderAll:function(){!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1);var t=this.contextContainer;return this.renderCanvas(t,this._chooseObjectsToRender()),this},renderTopLayer:function(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()},renderTop:function(){var t=this.contextTop;return this.clearContext(t),this.renderTopLayer(t),this.fire("after:render"),this},_normalizePointer:function(t,e){var i=t.calcTransformMatrix(),r=ec.util.invertTransform(i),n=this.restorePointerVpt(e);return ec.util.transformPoint(n,r)},isTargetTransparent:function(t,e,i){if(t.shouldCache()&&t._cacheCanvas&&t!==this._activeObject){var r=this._normalizePointer(t,{x:e,y:i}),n=Math.max(t.cacheTranslationX+r.x*t.zoomX,0),o=Math.max(t.cacheTranslationY+r.y*t.zoomY,0),a=ec.util.isTransparent(t._cacheContext,Math.round(n),Math.round(o),this.targetFindTolerance);return a}var s=this.contextCache,l=t.selectionBackgroundColor,c=this.viewportTransform;t.selectionBackgroundColor="",this.clearContext(s),s.save(),s.transform(c[0],c[1],c[2],c[3],c[4],c[5]),t.render(s),s.restore(),t.selectionBackgroundColor=l;var a=ec.util.isTransparent(s,e,i,this.targetFindTolerance);return a},_isSelectionKeyPressed:function(t){return Array.isArray(this.selectionKey)?!!this.selectionKey.find(function(e){return!0===t[e]}):t[this.selectionKey]},_shouldClearSelection:function(t,e){var i=this.getActiveObjects(),r=this._activeObject;return!e||e&&r&&i.length>1&&-1===i.indexOf(e)&&r!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&r&&r!==e},_shouldCenterTransform:function(t,e,i){var r;if(t)return"scale"===e||"scaleX"===e||"scaleY"===e||"resizing"===e?r=this.centeredScaling||t.centeredScaling:"rotate"===e&&(r=this.centeredRotation||t.centeredRotation),r?!i:i},_getOriginFromCorner:function(t,e){var i={x:t.originX,y:t.originY};return"ml"===e||"tl"===e||"bl"===e?i.x="right":("mr"===e||"tr"===e||"br"===e)&&(i.x="left"),"tl"===e||"mt"===e||"tr"===e?i.y="bottom":("bl"===e||"mb"===e||"br"===e)&&(i.y="top"),i},_getActionFromCorner:function(t,e,i,r){if(!e||!t)return"drag";var n=r.controls[e];return n.getActionName(i,n,r)},_setupCurrentTransform:function(t,i,r){if(i){var n=this.getPointer(t),o=i.__corner,a=i.controls[o],s=r&&o?a.getActionHandler(t,i,a):ec.controlsUtils.dragHandler,l=this._getActionFromCorner(r,o,t,i),c=this._getOriginFromCorner(i,o),h=t[this.centeredKey],u={target:i,action:l,actionHandler:s,corner:o,scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,offsetX:n.x-i.left,offsetY:n.y-i.top,originX:c.x,originY:c.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:e(i.angle),width:i.width*i.scaleX,shiftKey:t.shiftKey,altKey:h,original:ec.util.saveObjectTransform(i)};this._shouldCenterTransform(i,l,h)&&(u.originX="center",u.originY="center"),u.original.originX=c.x,u.original.originY=c.y,this._currentTransform=u,this._beforeTransform(t)}},setCursor:function(t){this.upperCanvasEl.style.cursor=t},_drawSelection:function(t){var e=this._groupSelector,i=new ec.Point(e.ex,e.ey),r=ec.util.transformPoint(i,this.viewportTransform),n=new ec.Point(e.ex+e.left,e.ey+e.top),o=ec.util.transformPoint(n,this.viewportTransform),a=Math.min(r.x,o.x),s=Math.min(r.y,o.y),l=Math.max(r.x,o.x),c=Math.max(r.y,o.y),h=this.selectionLineWidth/2;this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(a,s,l-a,c-s)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,a+=h,s+=h,l-=h,c-=h,ec.Object.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(a,s,l-a,c-s))},findTarget:function(t,e){if(!this.skipTargetFind){var r,n,o=this.getPointer(t,!0),a=this._activeObject,s=this.getActiveObjects(),l=i(t),c=s.length>1&&!e||1===s.length;if(this.targets=[],c&&a._findTargetCorner(o,l)||s.length>1&&!e&&a===this._searchPossibleTargets([a],o))return a;if(1===s.length&&a===this._searchPossibleTargets([a],o)){if(!this.preserveObjectStacking)return a;r=a,n=this.targets,this.targets=[]}var h=this._searchPossibleTargets(this._objects,o);return t[this.altSelectionKey]&&h&&r&&h!==r&&(h=r,this.targets=n),h}},_checkTarget:function(t,e,i){if(e&&e.visible&&e.evented&&e.containsPoint(t)&&(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing||!this.isTargetTransparent(e,i.x,i.y)))return!0},_searchPossibleTargets:function(t,e){for(var i,r,n=t.length;n--;){var o=t[n],a=o.group?this._normalizePointer(o.group,e):e;if(this._checkTarget(a,o,e)){(i=t[n]).subTargetCheck&&i instanceof ec.Group&&(r=this._searchPossibleTargets(i._objects,e))&&this.targets.push(r);break}}return i},restorePointerVpt:function(t){return ec.util.transformPoint(t,ec.util.invertTransform(this.viewportTransform))},getPointer:function(e,i){if(this._absolutePointer&&!i)return this._absolutePointer;if(this._pointer&&i)return this._pointer;var r,n=t(e),o=this.upperCanvasEl,a=o.getBoundingClientRect(),s=a.width||0,l=a.height||0;(!s||!l)&&("top"in a&&"bottom"in a&&(l=Math.abs(a.top-a.bottom)),"right"in a&&"left"in a&&(s=Math.abs(a.right-a.left))),this.calcOffset(),n.x=n.x-this._offset.left,n.y=n.y-this._offset.top,i||(n=this.restorePointerVpt(n));var c=this.getRetinaScaling();return 1!==c&&(n.x/=c,n.y/=c),r=0===s||0===l?{width:1,height:1}:{width:o.width/s,height:o.height/l},{x:n.x*r.width,y:n.y*r.height}},_createUpperCanvas:function(){var t=this.lowerCanvasEl.className.replace(/\s*lower-canvas\s*/,""),e=this.lowerCanvasEl,i=this.upperCanvasEl;i?i.className="":(i=this._createCanvasElement(),this.upperCanvasEl=i),ec.util.addClass(i,"upper-canvas "+t),this.wrapperEl.appendChild(i),this._copyCanvasStyle(e,i),this._applyCanvasStyle(i),this.contextTop=i.getContext("2d")},getTopContext:function(){return this.contextTop},_createCacheCanvas:function(){this.cacheCanvasEl=this._createCanvasElement(),this.cacheCanvasEl.setAttribute("width",this.width),this.cacheCanvasEl.setAttribute("height",this.height),this.contextCache=this.cacheCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=ec.util.wrapElement(this.lowerCanvasEl,"div",{class:this.containerClass}),ec.util.setStyle(this.wrapperEl,{width:this.width+"px",height:this.height+"px",position:"relative"}),ec.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(t){var e=this.width||t.width,i=this.height||t.height;ec.util.setStyle(t,{position:"absolute",width:e+"px",height:i+"px",left:0,top:0,"touch-action":this.allowTouchScrolling?"manipulation":"none","-ms-touch-action":this.allowTouchScrolling?"manipulation":"none"}),t.width=e,t.height=i,ec.util.makeElementUnselectable(t)},_copyCanvasStyle:function(t,e){e.style.cssText=t.style.cssText},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},getActiveObject:function(){return this._activeObject},getActiveObjects:function(){var t=this._activeObject;return t?"activeSelection"===t.type&&t._objects?t._objects.slice(0):[t]:[]},_onObjectRemoved:function(t){t===this._activeObject&&(this.fire("before:selection:cleared",{target:t}),this._discardActiveObject(),this.fire("selection:cleared",{target:t}),t.fire("deselected")),t===this._hoveredTarget&&(this._hoveredTarget=null,this._hoveredTargets=[]),this.callSuper("_onObjectRemoved",t)},_fireSelectionEvents:function(t,e){var i=!1,r=this.getActiveObjects(),n=[],o=[];t.forEach(function(t){-1===r.indexOf(t)&&(i=!0,t.fire("deselected",{e:e,target:t}),o.push(t))}),r.forEach(function(r){-1===t.indexOf(r)&&(i=!0,r.fire("selected",{e:e,target:r}),n.push(r))}),t.length>0&&r.length>0?i&&this.fire("selection:updated",{e:e,selected:n,deselected:o}):r.length>0?this.fire("selection:created",{e:e,selected:n}):t.length>0&&this.fire("selection:cleared",{e:e,deselected:o})},setActiveObject:function(t,e){var i=this.getActiveObjects();return this._setActiveObject(t,e),this._fireSelectionEvents(i,e),this},_setActiveObject:function(t,e){return!(this._activeObject===t||!this._discardActiveObject(e,t)||t.onSelect({e:e}))&&(this._activeObject=t,!0)},_discardActiveObject:function(t,e){var i=this._activeObject;if(i){if(i.onDeselect({e:t,object:e}))return!1;this._activeObject=null}return!0},discardActiveObject:function(t){var e=this.getActiveObjects(),i=this.getActiveObject();return e.length&&this.fire("before:selection:cleared",{target:i,e:t}),this._discardActiveObject(t),this._fireSelectionEvents(e,t),this},dispose:function(){var t=this.wrapperEl;return this.removeListeners(),t.removeChild(this.upperCanvasEl),t.removeChild(this.lowerCanvasEl),this.contextCache=null,this.contextTop=null,["upperCanvasEl","cacheCanvasEl"].forEach((function(t){ec.util.cleanUpJsdomNode(this[t]),this[t]=void 0}).bind(this)),t.parentNode&&t.parentNode.replaceChild(this.lowerCanvasEl,this.wrapperEl),delete this.wrapperEl,ec.StaticCanvas.prototype.dispose.call(this),this},clear:function(){return this.discardActiveObject(),this.clearContext(this.contextTop),this.callSuper("clear")},drawControls:function(t){var e=this._activeObject;e&&e._renderControls(t)},_toObject:function(t,e,i){var r=this._realizeGroupTransformOnObject(t),n=this.callSuper("_toObject",t,e,i);return this._unwindGroupTransformOnObject(t,r),n},_realizeGroupTransformOnObject:function(t){if(!t.group||"activeSelection"!==t.group.type||this._activeObject!==t.group)return null;var e={};return["angle","flipX","flipY","left","scaleX","scaleY","skewX","skewY","top"].forEach(function(i){e[i]=t[i]}),ec.util.addTransformToObject(t,this._activeObject.calcOwnMatrix()),e},_unwindGroupTransformOnObject:function(t,e){e&&t.set(e)},_setSVGObject:function(t,e,i){var r=this._realizeGroupTransformOnObject(e);this.callSuper("_setSVGObject",t,e,i),this._unwindGroupTransformOnObject(e,r)},setViewportTransform:function(t){this.renderOnAddRemove&&this._activeObject&&this._activeObject.isEditing&&this._activeObject.clearContextTop(),ec.StaticCanvas.prototype.setViewportTransform.call(this,t)}}),ec.StaticCanvas)"prototype"!==r&&(ec.Canvas[r]=ec.StaticCanvas[r])}(),function(){var t=ec.util.addListener,e=ec.util.removeListener,i={passive:!1};function r(t,e){return t.button&&t.button===e-1}ec.util.object.extend(ec.Canvas.prototype,{mainTouchId:null,_initEventListeners:function(){this.removeListeners(),this._bindEvents(),this.addOrRemove(t,"add")},_getEventPrefix:function(){return this.enablePointerEvents?"pointer":"mouse"},addOrRemove:function(t,e){var r=this.upperCanvasEl,n=this._getEventPrefix();t(ec.window,"resize",this._onResize),t(r,n+"down",this._onMouseDown),t(r,n+"move",this._onMouseMove,i),t(r,n+"out",this._onMouseOut),t(r,n+"enter",this._onMouseEnter),t(r,"wheel",this._onMouseWheel),t(r,"contextmenu",this._onContextMenu),t(r,"dblclick",this._onDoubleClick),t(r,"dragover",this._onDragOver),t(r,"dragenter",this._onDragEnter),t(r,"dragleave",this._onDragLeave),t(r,"drop",this._onDrop),this.enablePointerEvents||t(r,"touchstart",this._onTouchStart,i),"undefined"!=typeof eventjs&&e in eventjs&&(eventjs[e](r,"gesture",this._onGesture),eventjs[e](r,"drag",this._onDrag),eventjs[e](r,"orientation",this._onOrientationChange),eventjs[e](r,"shake",this._onShake),eventjs[e](r,"longpress",this._onLongPress))},removeListeners:function(){this.addOrRemove(e,"remove");var t=this._getEventPrefix();e(ec.document,t+"up",this._onMouseUp),e(ec.document,"touchend",this._onTouchEnd,i),e(ec.document,t+"move",this._onMouseMove,i),e(ec.document,"touchmove",this._onMouseMove,i)},_bindEvents:function(){this.eventsBound||(this._onMouseDown=this._onMouseDown.bind(this),this._onTouchStart=this._onTouchStart.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onResize=this._onResize.bind(this),this._onGesture=this._onGesture.bind(this),this._onDrag=this._onDrag.bind(this),this._onShake=this._onShake.bind(this),this._onLongPress=this._onLongPress.bind(this),this._onOrientationChange=this._onOrientationChange.bind(this),this._onMouseWheel=this._onMouseWheel.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onMouseEnter=this._onMouseEnter.bind(this),this._onContextMenu=this._onContextMenu.bind(this),this._onDoubleClick=this._onDoubleClick.bind(this),this._onDragOver=this._onDragOver.bind(this),this._onDragEnter=this._simpleEventHandler.bind(this,"dragenter"),this._onDragLeave=this._simpleEventHandler.bind(this,"dragleave"),this._onDrop=this._onDrop.bind(this),this.eventsBound=!0)},_onGesture:function(t,e){this.__onTransformGesture&&this.__onTransformGesture(t,e)},_onDrag:function(t,e){this.__onDrag&&this.__onDrag(t,e)},_onMouseWheel:function(t){this.__onMouseWheel(t)},_onMouseOut:function(t){var e=this._hoveredTarget;this.fire("mouse:out",{target:e,e:t}),this._hoveredTarget=null,e&&e.fire("mouseout",{e:t});var i=this;this._hoveredTargets.forEach(function(r){i.fire("mouse:out",{target:e,e:t}),r&&e.fire("mouseout",{e:t})}),this._hoveredTargets=[],this._iTextInstances&&this._iTextInstances.forEach(function(t){t.isEditing&&t.hiddenTextarea.focus()})},_onMouseEnter:function(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",{target:null,e:t}),this._hoveredTarget=null,this._hoveredTargets=[])},_onOrientationChange:function(t,e){this.__onOrientationChange&&this.__onOrientationChange(t,e)},_onShake:function(t,e){this.__onShake&&this.__onShake(t,e)},_onLongPress:function(t,e){this.__onLongPress&&this.__onLongPress(t,e)},_onDragOver:function(t){t.preventDefault();var e=this._simpleEventHandler("dragover",t);this._fireEnterLeaveEvents(e,t)},_onDrop:function(t){return this._simpleEventHandler("drop:before",t),this._simpleEventHandler("drop",t)},_onContextMenu:function(t){return this.stopContextMenu&&(t.stopPropagation(),t.preventDefault()),!1},_onDoubleClick:function(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData(t)},getPointerId:function(t){var e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1},_isMainEvent:function(t){return!0===t.isPrimary||!1!==t.isPrimary&&("touchend"===t.type&&0===t.touches.length||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)},_onTouchStart:function(r){r.preventDefault(),null===this.mainTouchId&&(this.mainTouchId=this.getPointerId(r)),this.__onMouseDown(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();t(ec.document,"touchend",this._onTouchEnd,i),t(ec.document,"touchmove",this._onMouseMove,i),e(n,o+"down",this._onMouseDown)},_onMouseDown:function(r){this.__onMouseDown(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();e(n,o+"move",this._onMouseMove,i),t(ec.document,o+"up",this._onMouseUp),t(ec.document,o+"move",this._onMouseMove,i)},_onTouchEnd:function(r){if(!(r.touches.length>0)){this.__onMouseUp(r),this._resetTransformEventData(),this.mainTouchId=null;var n=this._getEventPrefix();e(ec.document,"touchend",this._onTouchEnd,i),e(ec.document,"touchmove",this._onMouseMove,i);var o=this;this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(function(){t(o.upperCanvasEl,n+"down",o._onMouseDown),o._willAddMouseDown=0},400)}},_onMouseUp:function(r){this.__onMouseUp(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();this._isMainEvent(r)&&(e(ec.document,o+"up",this._onMouseUp),e(ec.document,o+"move",this._onMouseMove,i),t(n,o+"move",this._onMouseMove,i))},_onMouseMove:function(t){!this.allowTouchScrolling&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)},_onResize:function(){this.calcOffset()},_shouldRender:function(t){var e=this._activeObject;return!!e!=!!t||!!e&&!!t&&e!==t||(e&&e.isEditing,!1)},__onMouseUp:function(t){var e,i,n,o=this._currentTransform,a=this._groupSelector,s=!1,l=!a||0===a.left&&0===a.top;if(this._cacheTransformEventData(t),n=this._target,this._handleEvent(t,"up:before"),r(t,3)){this.fireRightClick&&this._handleEvent(t,"up",3,l);return}if(r(t,2)){this.fireMiddleClick&&this._handleEvent(t,"up",2,l),this._resetTransformEventData();return}if(this.isDrawingMode&&this._isCurrentlyDrawing){this._onMouseUpInDrawingMode(t);return}if(this._isMainEvent(t)){if(o&&(this._finalizeCurrentTransform(t),s=o.actionPerformed),!l){var c=n===this._activeObject;this._maybeGroupObjects(t),s||(s=this._shouldRender(n)||!c&&n===this._activeObject)}if(n){if(e=n._findTargetCorner(this.getPointer(t,!0),ec.util.isTouchEvent(t)),n.selectable&&n!==this._activeObject&&"up"===n.activeOn)this.setActiveObject(n,t),s=!0;else{var h=n.controls[e],u=h&&h.getMouseUpHandler(t,n,h);u&&(i=this.getPointer(t),u(t,o,i.x,i.y))}n.isMoving=!1}if(o&&(o.target!==n||o.corner!==e)){var f=o.target&&o.target.controls[o.corner],d=f&&f.getMouseUpHandler(t,n,h);i=i||this.getPointer(t),d&&d(t,o,i.x,i.y)}this._setCursorFromEvent(t,n),this._handleEvent(t,"up",1,l),this._groupSelector=null,this._currentTransform=null,n&&(n.__corner=0),s?this.requestRenderAll():l||this.renderTop()}},_simpleEventHandler:function(t,e){var i=this.findTarget(e),r=this.targets,n={e:e,target:i,subTargets:r};if(this.fire(t,n),i&&i.fire(t,n),!r)return i;for(var o=0;o1&&(e=new ec.ActiveSelection(i.reverse(),{canvas:this}),this.setActiveObject(e,t))},_collectObjects:function(t){for(var e,i=[],r=this._groupSelector.ex,n=this._groupSelector.ey,o=r+this._groupSelector.left,a=n+this._groupSelector.top,s=new ec.Point(L(r,o),L(n,a)),l=new ec.Point(I(r,o),I(n,a)),c=!this.selectionFullyContained,h=r===o&&n===a,u=this._objects.length;u--&&!((e=this._objects[u])&&e.selectable&&e.visible&&(c&&e.intersectsWithRect(s,l,!0)||e.isContainedWithinRect(s,l,!0)||c&&e.containsPoint(s,null,!0)||c&&e.containsPoint(l,null,!0))&&(i.push(e),h)););return i.length>1&&(i=i.filter(function(e){return!e.onSelect({e:t})})),i},_maybeGroupObjects:function(t){this.selection&&this._groupSelector&&this._groupSelectedObjects(t),this.setCursor(this.defaultCursor),this._groupSelector=null}}),ec.util.object.extend(ec.StaticCanvas.prototype,{toDataURL:function(t){t||(t={});var e=t.format||"png",i=t.quality||1,r=(t.multiplier||1)*(t.enableRetinaScaling?this.getRetinaScaling():1),n=this.toCanvasElement(r,t);return ec.util.toDataURL(n,e,i)},toCanvasElement:function(t,e){t=t||1;var i=((e=e||{}).width||this.width)*t,r=(e.height||this.height)*t,n=this.getZoom(),o=this.width,a=this.height,s=n*t,l=this.viewportTransform,c=(l[4]-(e.left||0))*t,h=(l[5]-(e.top||0))*t,u=this.interactive,f=this.enableRetinaScaling,d=ec.util.createCanvasElement(),g=this.contextTop;return d.width=i,d.height=r,this.contextTop=null,this.enableRetinaScaling=!1,this.interactive=!1,this.viewportTransform=[s,0,0,s,c,h],this.width=i,this.height=r,this.calcViewportBoundaries(),this.renderCanvas(d.getContext("2d"),this._objects),this.viewportTransform=l,this.width=o,this.height=a,this.calcViewportBoundaries(),this.interactive=u,this.enableRetinaScaling=f,this.contextTop=g,d}}),ec.util.object.extend(ec.StaticCanvas.prototype,{loadFromJSON:function(t,e,i){if(t){var r="string"==typeof t?JSON.parse(t):ec.util.object.clone(t),n=this,o=r.clipPath,a=this.renderOnAddRemove;return this.renderOnAddRemove=!1,delete r.clipPath,this._enlivenObjects(r.objects,function(t){n.clear(),n._setBgOverlay(r,function(){o?n._enlivenObjects([o],function(i){n.clipPath=i[0],n.__setupCanvas.call(n,r,t,a,e)}):n.__setupCanvas.call(n,r,t,a,e)})},i),this}},__setupCanvas:function(t,e,i,r){var n=this;e.forEach(function(t,e){n.insertAt(t,e)}),this.renderOnAddRemove=i,delete t.objects,delete t.backgroundImage,delete t.overlayImage,delete t.background,delete t.overlay,this._setOptions(t),this.renderAll(),r&&r()},_setBgOverlay:function(t,e){var i={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(!t.backgroundImage&&!t.overlayImage&&!t.background&&!t.overlay){e&&e();return}var r=function(){i.backgroundImage&&i.overlayImage&&i.backgroundColor&&i.overlayColor&&e&&e()};this.__setBgOverlay("backgroundImage",t.backgroundImage,i,r),this.__setBgOverlay("overlayImage",t.overlayImage,i,r),this.__setBgOverlay("backgroundColor",t.background,i,r),this.__setBgOverlay("overlayColor",t.overlay,i,r)},__setBgOverlay:function(t,e,i,r){var n=this;if(!e){i[t]=!0,r&&r();return}"backgroundImage"===t||"overlayImage"===t?ec.util.enlivenObjects([e],function(e){n[t]=e[0],i[t]=!0,r&&r()}):this["set"+ec.util.string.capitalize(t,!0)](e,function(){i[t]=!0,r&&r()})},_enlivenObjects:function(t,e,i){if(!t||0===t.length){e&&e([]);return}ec.util.enlivenObjects(t,function(t){e&&e(t)},null,i)},_toDataURL:function(t,e){this.clone(function(i){e(i.toDataURL(t))})},_toDataURLWithMultiplier:function(t,e,i){this.clone(function(r){i(r.toDataURLWithMultiplier(t,e))})},clone:function(t,e){var i=JSON.stringify(this.toJSON(e));this.cloneWithoutData(function(e){e.loadFromJSON(i,function(){t&&t(e)})})},cloneWithoutData:function(t){var e=ec.util.createCanvasElement();e.width=this.width,e.height=this.height;var i=new ec.Canvas(e);this.backgroundImage?(i.setBackgroundImage(this.backgroundImage.src,function(){i.renderAll(),t&&t(i)}),i.backgroundImageOpacity=this.backgroundImageOpacity,i.backgroundImageStretch=this.backgroundImageStretch):t&&t(i)}}),o=(n=(r=e).fabric||(r.fabric={})).util.object.extend,a=n.util.object.clone,s=n.util.toFixed,l=n.util.string.capitalize,c=n.util.degreesToRadians,h=!n.isLikelyNode,n.Object||(n.Object=n.util.createClass(n.CommonMethods,{type:"object",originX:"left",originY:"top",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,skewX:0,skewY:0,cornerSize:13,touchCornerSize:24,transparentCorners:!0,hoverCursor:null,moveCursor:null,padding:0,borderColor:"rgb(178,204,255)",borderDashArray:null,cornerColor:"rgb(178,204,255)",cornerStrokeColor:null,cornerStyle:"rect",cornerDashArray:null,centeredScaling:!1,centeredRotation:!0,fill:"rgb(0,0,0)",fillRule:"nonzero",globalCompositeOperation:"source-over",backgroundColor:"",selectionBackgroundColor:"",stroke:null,strokeWidth:1,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,minScaleLimit:0,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,perPixelTargetFind:!1,includeDefaultValues:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,excludeFromExport:!1,objectCaching:h,statefullCache:!1,noScaleCache:!0,strokeUniform:!1,dirty:!0,__corner:0,paintFirst:"fill",activeOn:"down",stateProperties:"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit angle opacity fill globalCompositeOperation shadow visible backgroundColor skewX skewY fillRule paintFirst clipPath strokeUniform".split(" "),cacheProperties:"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath".split(" "),colorProperties:"fill stroke backgroundColor".split(" "),clipPath:void 0,inverted:!1,absolutePositioned:!1,initialize:function(t){t&&this.setOptions(t)},_createCacheCanvas:function(){this._cacheProperties={},this._cacheCanvas=n.util.createCanvasElement(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0},_limitCacheSize:function(t){var e=n.perfLimitSizeTotal,i=t.width,r=t.height,o=n.maxCacheSideLimit,a=n.minCacheSideLimit;if(i<=o&&r<=o&&i*r<=e)return ic&&(t.zoomX/=i/c,t.width=c,t.capped=!0),r>h&&(t.zoomY/=r/h,t.height=h,t.capped=!0),t},_getCacheCanvasDimensions:function(){var t=this.getTotalObjectScaling(),e=this._getTransformedDimensions(0,0),i=e.x*t.scaleX/this.scaleX,r=e.y*t.scaleY/this.scaleY;return{width:i+2,height:r+2,zoomX:t.scaleX,zoomY:t.scaleY,x:i,y:r}},_updateCacheCanvas:function(){var t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){var e=t._currentTransform.target,i=t._currentTransform.action;if(this===e&&i.slice&&"scale"===i.slice(0,5))return!1}var r,o,a=this._cacheCanvas,s=this._limitCacheSize(this._getCacheCanvasDimensions()),l=n.minCacheSideLimit,c=s.width,h=s.height,u=s.zoomX,f=s.zoomY,d=c!==this.cacheWidth||h!==this.cacheHeight,g=this.zoomX!==u||this.zoomY!==f,p=d||g,v=0,m=0,y=!1;if(d){var b=this._cacheCanvas.width,_=this._cacheCanvas.height,x=c>b||h>_;y=x||(c<.9*b||h<.9*_)&&b>l&&_>l,x&&!s.capped&&(c>l||h>l)&&(v=.1*c,m=.1*h)}return this instanceof n.Text&&this.path&&(p=!0,y=!0,v+=this.getHeightOfLine(0)*this.zoomX,m+=this.getHeightOfLine(0)*this.zoomY),!!p&&(y?(a.width=Math.ceil(c+v),a.height=Math.ceil(h+m)):(this._cacheContext.setTransform(1,0,0,1,0,0),this._cacheContext.clearRect(0,0,a.width,a.height)),r=s.x/2,o=s.y/2,this.cacheTranslationX=Math.round(a.width/2-r)+r,this.cacheTranslationY=Math.round(a.height/2-o)+o,this.cacheWidth=c,this.cacheHeight=h,this._cacheContext.translate(this.cacheTranslationX,this.cacheTranslationY),this._cacheContext.scale(u,f),this.zoomX=u,this.zoomY=f,!0)},setOptions:function(t){this._setOptions(t),this._initGradient(t.fill,"fill"),this._initGradient(t.stroke,"stroke"),this._initPattern(t.fill,"fill"),this._initPattern(t.stroke,"stroke")},transform:function(t){var e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},toObject:function(t){var e=n.Object.NUM_FRACTION_DIGITS,i={type:this.type,version:n.version,originX:this.originX,originY:this.originY,left:s(this.left,e),top:s(this.top,e),width:s(this.width,e),height:s(this.height,e),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:s(this.strokeWidth,e),strokeDashArray:this.strokeDashArray?this.strokeDashArray.concat():this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeDashOffset:this.strokeDashOffset,strokeLineJoin:this.strokeLineJoin,strokeUniform:this.strokeUniform,strokeMiterLimit:s(this.strokeMiterLimit,e),scaleX:s(this.scaleX,e),scaleY:s(this.scaleY,e),angle:s(this.angle,e),flipX:this.flipX,flipY:this.flipY,opacity:s(this.opacity,e),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,backgroundColor:this.backgroundColor,fillRule:this.fillRule,paintFirst:this.paintFirst,globalCompositeOperation:this.globalCompositeOperation,skewX:s(this.skewX,e),skewY:s(this.skewY,e)};return this.clipPath&&!this.clipPath.excludeFromExport&&(i.clipPath=this.clipPath.toObject(t),i.clipPath.inverted=this.clipPath.inverted,i.clipPath.absolutePositioned=this.clipPath.absolutePositioned),n.util.populateWithProperties(this,i,t),this.includeDefaultValues||(i=this._removeDefaultValues(i)),i},toDatalessObject:function(t){return this.toObject(t)},_removeDefaultValues:function(t){var e=n.util.getKlass(t.type).prototype;return e.stateProperties.forEach(function(i){"left"!==i&&"top"!==i&&(t[i]===e[i]&&delete t[i],Array.isArray(t[i])&&Array.isArray(e[i])&&0===t[i].length&&0===e[i].length&&delete t[i])}),t},toString:function(){return"#"},getObjectScaling:function(){if(!this.group)return{scaleX:this.scaleX,scaleY:this.scaleY};var t=n.util.qrDecompose(this.calcTransformMatrix());return{scaleX:Math.abs(t.scaleX),scaleY:Math.abs(t.scaleY)}},getTotalObjectScaling:function(){var t=this.getObjectScaling(),e=t.scaleX,i=t.scaleY;if(this.canvas){var r=this.canvas.getZoom(),n=this.canvas.getRetinaScaling();e*=r*n,i*=r*n}return{scaleX:e,scaleY:i}},getObjectOpacity:function(){var t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t},_set:function(t,e){var i=this[t]!==e,r=!1;return("scaleX"===t||"scaleY"===t)&&(e=this._constrainScale(e)),"scaleX"===t&&e<0?(this.flipX=!this.flipX,e*=-1):"scaleY"===t&&e<0?(this.flipY=!this.flipY,e*=-1):"shadow"!==t||!e||e instanceof n.Shadow?"dirty"===t&&this.group&&this.group.set("dirty",e):e=new n.Shadow(e),this[t]=e,i&&(r=this.group&&this.group.isOnACache(),this.cacheProperties.indexOf(t)>-1?(this.dirty=!0,r&&this.group.set("dirty",!0)):r&&this.stateProperties.indexOf(t)>-1&&this.group.set("dirty",!0)),this},setOnGroup:function(){},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:n.iMatrix.concat()},isNotVisible:function(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible},render:function(t){!this.isNotVisible()&&(!this.canvas||!this.canvas.skipOffscreen||this.group||this.isOnScreen())&&(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t,this),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.dirty=!1,this.drawObject(t),this.objectCaching&&this.statefullCache&&this.saveState({propertySet:"cacheProperties"})),t.restore())},renderCache:function(t){t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&(this.statefullCache&&this.saveState({propertySet:"cacheProperties"}),this.drawObject(this._cacheContext,t.forClipping),this.dirty=!1)},_removeCacheCanvas:function(){this._cacheCanvas=null,this._cacheContext=null,this.cacheWidth=0,this.cacheHeight=0},hasStroke:function(){return this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth},hasFill:function(){return this.fill&&"transparent"!==this.fill},needsItsOwnCache:function(){return!!("stroke"===this.paintFirst&&this.hasFill()&&this.hasStroke())&&"object"==typeof this.shadow||!!this.clipPath},shouldCache:function(){return this.ownCaching=this.needsItsOwnCache()||this.objectCaching&&(!this.group||!this.group.isOnACache()),this.ownCaching},willDrawShadow:function(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)},drawClipPathOnCache:function(t,e){if(t.save(),e.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",e.absolutePositioned){var i=n.util.invertTransform(this.calcTransformMatrix());t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()},drawObject:function(t,e){var i=this.fill,r=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath),this.fill=i,this.stroke=r},_drawClipPath:function(t,e){e&&(e.canvas=this.canvas,e.shouldCache(),e._transformDone=!0,e.renderCache({forClipping:!0}),this.drawClipPathOnCache(t,e))},drawCacheOnCanvas:function(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)},isCacheDirty:function(t){if(this.isNotVisible())return!1;if(this._cacheCanvas&&this._cacheContext&&!t&&this._updateCacheCanvas())return!0;if(this.dirty||this.clipPath&&this.clipPath.absolutePositioned||this.statefullCache&&this.hasStateChanged("cacheProperties")){if(this._cacheCanvas&&this._cacheContext&&!t){var e=this.cacheWidth/this.zoomX,i=this.cacheHeight/this.zoomY;this._cacheContext.clearRect(-e/2,-i/2,e,i)}return!0}return!1},_renderBackground:function(t){if(this.backgroundColor){var e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}},_setOpacity:function(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity},_setStrokeStyles:function(t,e){var i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,i.toLive?"percentage"===i.gradientUnits||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)},_setFillStyles:function(t,e){var i=e.fill;i&&(i.toLive?(t.fillStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,e.fill)):t.fillStyle=i)},_setClippingProperties:function(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"},_setLineDash:function(t,e){e&&0!==e.length&&(1&e.length&&e.push.apply(e,e),t.setLineDash(e))},_renderControls:function(t,e){var i,r,o,a=this.getViewportTransform(),s=this.calcTransformMatrix();r=void 0!==(e=e||{}).hasBorders?e.hasBorders:this.hasBorders,o=void 0!==e.hasControls?e.hasControls:this.hasControls,s=n.util.multiplyTransformMatrices(a,s),i=n.util.qrDecompose(s),t.save(),t.translate(i.translateX,i.translateY),t.lineWidth=1*this.borderScaleFactor,this.group||(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(i.angle-=180),t.rotate(c(this.group?i.angle:this.angle)),e.forActiveSelection||this.group?r&&this.drawBordersInGroup(t,i,e):r&&this.drawBorders(t,e),o&&this.drawControls(t,e),t.restore()},_setShadow:function(t){if(this.shadow){var e,i=this.shadow,r=this.canvas,o=r&&r.viewportTransform[0]||1,a=r&&r.viewportTransform[3]||1;e=i.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),r&&r._isRetinaScaling()&&(o*=n.devicePixelRatio,a*=n.devicePixelRatio),t.shadowColor=i.color,t.shadowBlur=i.blur*n.browserShadowBlurConstant*(o+a)*(e.scaleX+e.scaleY)/4,t.shadowOffsetX=i.offsetX*o*e.scaleX,t.shadowOffsetY=i.offsetY*a*e.scaleY}},_removeShadow:function(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)},_applyPatternGradientTransform:function(t,e){if(!e||!e.toLive)return{offsetX:0,offsetY:0};var i=e.gradientTransform||e.patternTransform,r=-this.width/2+e.offsetX||0,n=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?t.transform(this.width,0,0,this.height,r,n):t.transform(1,0,0,1,r,n),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:r,offsetY:n}},_renderPaintInOrder:function(t){"stroke"===this.paintFirst?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))},_render:function(){},_renderFill:function(t){this.fill&&(t.save(),this._setFillStyles(t,this),"evenodd"===this.fillRule?t.fill("evenodd"):t.fill(),t.restore())},_renderStroke:function(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform&&this.group){var e=this.getObjectScaling();t.scale(1/e.scaleX,1/e.scaleY)}else this.strokeUniform&&t.scale(1/this.scaleX,1/this.scaleY);this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}},_applyPatternForTransformedGradient:function(t,e){var i,r=this._limitCacheSize(this._getCacheCanvasDimensions()),o=n.util.createCanvasElement(),a=this.canvas.getRetinaScaling(),s=r.x/this.scaleX/a,l=r.y/this.scaleY/a;o.width=s,o.height=l,(i=o.getContext("2d")).beginPath(),i.moveTo(0,0),i.lineTo(s,0),i.lineTo(s,l),i.lineTo(0,l),i.closePath(),i.translate(s/2,l/2),i.scale(r.zoomX/this.scaleX/a,r.zoomY/this.scaleY/a),this._applyPatternGradientTransform(i,e),i.fillStyle=e.toLive(t),i.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(a*this.scaleX/r.zoomX,a*this.scaleY/r.zoomY),t.strokeStyle=i.createPattern(o,"no-repeat")},_findCenterFromElement:function(){return{x:this.left+this.width/2,y:this.top+this.height/2}},_assignTransformMatrixProps:function(){if(this.transformMatrix){var t=n.util.qrDecompose(this.transformMatrix);this.flipX=!1,this.flipY=!1,this.set("scaleX",t.scaleX),this.set("scaleY",t.scaleY),this.angle=t.angle,this.skewX=t.skewX,this.skewY=0}},_removeTransformMatrix:function(t){var e=this._findCenterFromElement();this.transformMatrix&&(this._assignTransformMatrixProps(),e=n.util.transformPoint(e,this.transformMatrix)),this.transformMatrix=null,t&&(this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this.cropX=t.cropX,this.cropY=t.cropY,e.x+=t.offsetLeft,e.y+=t.offsetTop,this.width=t.width,this.height=t.height),this.setPositionByOrigin(e,"center","center")},clone:function(t,e){var i=this.toObject(e);this.constructor.fromObject?this.constructor.fromObject(i,t):n.Object._fromObject("Object",i,t)},cloneAsImage:function(t,e){var i=this.toCanvasElement(e);return t&&t(new n.Image(i)),this},toCanvasElement:function(t){t||(t={});var e=n.util,i=e.saveObjectTransform(this),r=this.group,o=this.shadow,a=Math.abs,s=(t.multiplier||1)*(t.enableRetinaScaling?n.devicePixelRatio:1);delete this.group,t.withoutTransform&&e.resetObjectTransform(this),t.withoutShadow&&(this.shadow=null);var l,c,h,u,f=n.util.createCanvasElement(),d=this.getBoundingRect(!0,!0),g=this.shadow,p={x:0,y:0};g&&(c=g.blur,l=g.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),p.x=2*Math.round(a(g.offsetX)+c)*a(l.scaleX),p.y=2*Math.round(a(g.offsetY)+c)*a(l.scaleY)),h=d.width+p.x,u=d.height+p.y,f.width=Math.ceil(h),f.height=Math.ceil(u);var v=new n.StaticCanvas(f,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1});"jpeg"===t.format&&(v.backgroundColor="#fff"),this.setPositionByOrigin(new n.Point(v.width/2,v.height/2),"center","center");var m=this.canvas;v.add(this);var y=v.toCanvasElement(s||1,t);return this.shadow=o,this.set("canvas",m),r&&(this.group=r),this.set(i).setCoords(),v._objects=[],v.dispose(),v=null,y},toDataURL:function(t){return t||(t={}),n.util.toDataURL(this.toCanvasElement(t),t.format||"png",t.quality||1)},isType:function(t){return arguments.length>1?Array.from(arguments).includes(this.type):this.type===t},complexity:function(){return 1},toJSON:function(t){return this.toObject(t)},rotate:function(t){var e=("center"!==this.originX||"center"!==this.originY)&&this.centeredRotation;return e&&this._setOriginToCenter(),this.set("angle",t),e&&this._resetOrigin(),this},centerH:function(){return this.canvas&&this.canvas.centerObjectH(this),this},viewportCenterH:function(){return this.canvas&&this.canvas.viewportCenterObjectH(this),this},centerV:function(){return this.canvas&&this.canvas.centerObjectV(this),this},viewportCenterV:function(){return this.canvas&&this.canvas.viewportCenterObjectV(this),this},center:function(){return this.canvas&&this.canvas.centerObject(this),this},viewportCenter:function(){return this.canvas&&this.canvas.viewportCenterObject(this),this},getLocalPointer:function(t,e){e=e||this.canvas.getPointer(t);var i=new n.Point(e.x,e.y),r=this._getLeftTopCoords();return this.angle&&(i=n.util.rotatePoint(i,r,c(-this.angle))),{x:i.x-r.x,y:i.y-r.y}},_setupCompositeOperation:function(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)},dispose:function(){n.runningAnimations&&n.runningAnimations.cancelByTarget(this)}}),n.util.createAccessors&&n.util.createAccessors(n.Object),o(n.Object.prototype,n.Observable),n.Object.NUM_FRACTION_DIGITS=2,n.Object.ENLIVEN_PROPS=["clipPath"],n.Object._fromObject=function(t,e,i,r){var o=n[t];e=a(e,!0),n.util.enlivenPatterns([e.fill,e.stroke],function(t){void 0!==t[0]&&(e.fill=t[0]),void 0!==t[1]&&(e.stroke=t[1]),n.util.enlivenObjectEnlivables(e,e,function(){var t=r?new o(e[r],e):new o(e);i&&i(t)})})},n.Object.__uid=0),R=ec.util.degreesToRadians,B={left:-.5,center:0,right:.5},X={top:-.5,center:0,bottom:.5},ec.util.object.extend(ec.Object.prototype,{translateToGivenOrigin:function(t,e,i,r,n){var o,a,s,l=t.x,c=t.y;return"string"==typeof e?e=B[e]:e-=.5,"string"==typeof r?r=B[r]:r-=.5,o=r-e,"string"==typeof i?i=X[i]:i-=.5,"string"==typeof n?n=X[n]:n-=.5,a=n-i,(o||a)&&(s=this._getTransformedDimensions(),l=t.x+o*s.x,c=t.y+a*s.y),new ec.Point(l,c)},translateToCenterPoint:function(t,e,i){var r=this.translateToGivenOrigin(t,e,i,"center","center");return this.angle?ec.util.rotatePoint(r,t,R(this.angle)):r},translateToOriginPoint:function(t,e,i){var r=this.translateToGivenOrigin(t,"center","center",e,i);return this.angle?ec.util.rotatePoint(r,t,R(this.angle)):r},getCenterPoint:function(){var t=new ec.Point(this.left,this.top);return this.translateToCenterPoint(t,this.originX,this.originY)},getPointByOrigin:function(t,e){var i=this.getCenterPoint();return this.translateToOriginPoint(i,t,e)},toLocalPoint:function(t,e,i){var r,n,o=this.getCenterPoint();return r=void 0!==e&&void 0!==i?this.translateToGivenOrigin(o,"center","center",e,i):new ec.Point(this.left,this.top),n=new ec.Point(t.x,t.y),this.angle&&(n=ec.util.rotatePoint(n,o,-R(this.angle))),n.subtractEquals(r)},setPositionByOrigin:function(t,e,i){var r=this.translateToCenterPoint(t,e,i),n=this.translateToOriginPoint(r,this.originX,this.originY);this.set("left",n.x),this.set("top",n.y)},adjustPosition:function(t){var e,i,r=R(this.angle),n=this.getScaledWidth(),o=ec.util.cos(r)*n,a=ec.util.sin(r)*n;e="string"==typeof this.originX?B[this.originX]:this.originX-.5,i="string"==typeof t?B[t]:t-.5,this.left+=o*(i-e),this.top+=a*(i-e),this.setCoords(),this.originX=t},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var t=this.getCenterPoint();this.originX="center",this.originY="center",this.left=t.x,this.top=t.y},_resetOrigin:function(){var t=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=t.x,this.top=t.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),"left","top")}}),z=(Y=ec.util).degreesToRadians,W=Y.multiplyTransformMatrices,H=Y.transformPoint,Y.object.extend(ec.Object.prototype,{oCoords:null,aCoords:null,lineCoords:null,ownMatrixCache:null,matrixCache:null,controls:{},_getCoords:function(t,e){return e?t?this.calcACoords():this.calcLineCoords():(this.aCoords&&this.lineCoords||this.setCoords(!0),t?this.aCoords:this.lineCoords)},getCoords:function(t,e){var i;return i=this._getCoords(t,e),[new ec.Point(i.tl.x,i.tl.y),new ec.Point(i.tr.x,i.tr.y),new ec.Point(i.br.x,i.br.y),new ec.Point(i.bl.x,i.bl.y)]},intersectsWithRect:function(t,e,i,r){var n=this.getCoords(i,r);return"Intersection"===ec.Intersection.intersectPolygonRectangle(n,t,e).status},intersectsWithObject:function(t,e,i){return"Intersection"===ec.Intersection.intersectPolygonPolygon(this.getCoords(e,i),t.getCoords(e,i)).status||t.isContainedWithinObject(this,e,i)||this.isContainedWithinObject(t,e,i)},isContainedWithinObject:function(t,e,i){for(var r=this.getCoords(e,i),n=e?t.aCoords:t.lineCoords,o=0,a=t._getImageLines(n);o<4;o++)if(!t.containsPoint(r[o],a))return!1;return!0},isContainedWithinRect:function(t,e,i,r){var n=this.getBoundingRect(i,r);return n.left>=t.x&&n.left+n.width<=e.x&&n.top>=t.y&&n.top+n.height<=e.y},containsPoint:function(t,e,i,r){var n=this._getCoords(i,r),e=e||this._getImageLines(n),o=this._findCrossPoints(t,e);return 0!==o&&o%2==1},isOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!(this.getCoords(!0,t).some(function(t){return t.x<=i.x&&t.x>=e.x&&t.y<=i.y&&t.y>=e.y})||this.intersectsWithRect(e,i,!0,t))||this._containsCenterOfCanvas(e,i,t)},_containsCenterOfCanvas:function(t,e,i){var r={x:(t.x+e.x)/2,y:(t.y+e.y)/2};return!!this.containsPoint(r,null,!0,i)},isPartiallyOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.intersectsWithRect(e,i,!0,t)||this.getCoords(!0,t).every(function(t){return(t.x>=i.x||t.x<=e.x)&&(t.y>=i.y||t.y<=e.y)})&&this._containsCenterOfCanvas(e,i,t)},_getImageLines:function(t){return{topline:{o:t.tl,d:t.tr},rightline:{o:t.tr,d:t.br},bottomline:{o:t.br,d:t.bl},leftline:{o:t.bl,d:t.tl}}},_findCrossPoints:function(t,e){var i,r,n,o=0;for(var a in e)if((!((n=e[a]).o.y=t.y)||!(n.d.y>=t.y))&&(n.o.x===n.d.x&&n.o.x>=t.x?r=n.o.x:(i=(n.d.y-n.o.y)/(n.d.x-n.o.x),r=-(t.y-0*t.x-(n.o.y-i*n.o.x))/(0-i)),r>=t.x&&(o+=1),2===o))break;return o},getBoundingRect:function(t,e){var i=this.getCoords(t,e);return Y.makeBoundingBoxFromPoints(i)},getScaledWidth:function(){return this._getTransformedDimensions().x},getScaledHeight:function(){return this._getTransformedDimensions().y},_constrainScale:function(t){return Math.abs(t)=0;l--)if(n=s[l],this.isControlVisible(n)&&(r=this._getImageLines(e?this.oCoords[n].touchCorner:this.oCoords[n].corner),0!==(i=this._findCrossPoints({x:o,y:a},r))&&i%2==1))return this.__corner=n,n;return!1},forEachControl:function(t){for(var e in this.controls)t(this.controls[e],e,this)},_setCornerCoords:function(){var t=this.oCoords;for(var e in t){var i=this.controls[e];t[e].corner=i.calcCornerCoords(this.angle,this.cornerSize,t[e].x,t[e].y,!1),t[e].touchCorner=i.calcCornerCoords(this.angle,this.touchCornerSize,t[e].x,t[e].y,!0)}},drawSelectionBackground:function(t){if(!this.selectionBackgroundColor||this.canvas&&!this.canvas.interactive||this.canvas&&this.canvas._activeObject!==this)return this;t.save();var e=this.getCenterPoint(),i=this._calculateCurrentDimensions(),r=this.canvas.viewportTransform;return t.translate(e.x,e.y),t.scale(1/r[0],1/r[3]),t.rotate(U(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-i.x/2,-i.y/2,i.x,i.y),t.restore(),this},drawBorders:function(t,e){e=e||{};var i=this._calculateCurrentDimensions(),r=this.borderScaleFactor,n=i.x+r,o=i.y+r,a=void 0!==e.hasControls?e.hasControls:this.hasControls,s=!1;return t.save(),t.strokeStyle=e.borderColor||this.borderColor,this._setLineDash(t,e.borderDashArray||this.borderDashArray),t.strokeRect(-n/2,-o/2,n,o),a&&(t.beginPath(),this.forEachControl(function(e,i,r){e.withConnection&&e.getVisibility(r,i)&&(s=!0,t.moveTo(e.x*n,e.y*o),t.lineTo(e.x*n+e.offsetX,e.y*o+e.offsetY))}),s&&t.stroke()),t.restore(),this},drawBordersInGroup:function(t,e,i){i=i||{};var r=ec.util.sizeAfterTransform(this.width,this.height,e),n=this.strokeWidth,o=this.strokeUniform,a=this.borderScaleFactor,s=r.x+n*(o?this.canvas.getZoom():e.scaleX)+a,l=r.y+n*(o?this.canvas.getZoom():e.scaleY)+a;return t.save(),this._setLineDash(t,i.borderDashArray||this.borderDashArray),t.strokeStyle=i.borderColor||this.borderColor,t.strokeRect(-s/2,-l/2,s,l),t.restore(),this},drawControls:function(t,e){e=e||{},t.save();var i,r,n=this.canvas.getRetinaScaling();return t.setTransform(n,0,0,n,0,0),t.strokeStyle=t.fillStyle=e.cornerColor||this.cornerColor,this.transparentCorners||(t.strokeStyle=e.cornerStrokeColor||this.cornerStrokeColor),this._setLineDash(t,e.cornerDashArray||this.cornerDashArray),this.setCoords(),this.group&&(i=this.group.calcTransformMatrix()),this.forEachControl(function(n,o,a){r=a.oCoords[o],n.getVisibility(a,o)&&(i&&(r=ec.util.transformPoint(r,i)),n.render(t,r.x,r.y,e,a))}),t.restore(),this},isControlVisible:function(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)},setControlVisible:function(t,e){return this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e,this},setControlsVisibility:function(t){for(var e in t||(t={}),t)this.setControlVisible(e,t[e]);return this},onDeselect:function(){},onSelect:function(){}}),ec.util.object.extend(ec.StaticCanvas.prototype,{FX_DURATION:500,fxCenterObjectH:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.left,endValue:this.getCenterPoint().x,duration:this.FX_DURATION,onChange:function(e){t.set("left",e),o.requestRenderAll(),n()},onComplete:function(){t.setCoords(),r()}})},fxCenterObjectV:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.top,endValue:this.getCenterPoint().y,duration:this.FX_DURATION,onChange:function(e){t.set("top",e),o.requestRenderAll(),n()},onComplete:function(){t.setCoords(),r()}})},fxRemove:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.opacity,endValue:0,duration:this.FX_DURATION,onChange:function(e){t.set("opacity",e),o.requestRenderAll(),n()},onComplete:function(){o.remove(t),r()}})}}),ec.util.object.extend(ec.Object.prototype,{animate:function(){if(!arguments[0]||"object"!=typeof arguments[0])return this._animate.apply(this,arguments);var t,e,i=[],r=[];for(t in arguments[0])i.push(t);for(var n=0,o=i.length;n-1||n&&o.colorProperties.indexOf(n[1])>-1,s=n?this.get(n[0])[n[1]]:this.get(t);"from"in i||(i.from=s),a||(e=~e.indexOf("=")?s+parseFloat(e.replace("=","")):parseFloat(e));var l={target:this,startValue:i.from,endValue:e,byValue:i.by,easing:i.easing,duration:i.duration,abort:i.abort&&function(t,e,r){return i.abort.call(o,t,e,r)},onChange:function(e,a,s){n?o[n[0]][n[1]]=e:o.set(t,e),!r&&i.onChange&&i.onChange(e,a,s)},onComplete:function(t,e,n){!r&&(o.setCoords(),i.onComplete&&i.onComplete(t,e,n))}};return a?ec.util.animateColor(l.startValue,l.endValue,l.duration,l):ec.util.animate(l)}}),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.util.object.extend,e.Rect){e.warn("fabric.Rect is already defined");return}e.Rect=e.util.createClass(e.Object,{stateProperties:e.Object.prototype.stateProperties.concat("rx","ry"),type:"rect",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(t){var e=this.rx?Math.min(this.rx,this.width/2):0,i=this.ry?Math.min(this.ry,this.height/2):0,r=this.width,n=this.height,o=-this.width/2,a=-this.height/2,s=0!==e||0!==i;t.beginPath(),t.moveTo(o+e,a),t.lineTo(o+r-e,a),s&&t.bezierCurveTo(o+r-.4477152502*e,a,o+r,a+.4477152502*i,o+r,a+i),t.lineTo(o+r,a+n-i),s&&t.bezierCurveTo(o+r,a+n-.4477152502*i,o+r-.4477152502*e,a+n,o+r-e,a+n),t.lineTo(o+e,a+n),s&&t.bezierCurveTo(o+.4477152502*e,a+n,o,a+n-.4477152502*i,o,a+n-i),t.lineTo(o,a+i),s&&t.bezierCurveTo(o,a+.4477152502*i,o+.4477152502*e,a,o+e,a),t.closePath(),this._renderPaintInOrder(t)},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))}}),e.Rect.fromObject=function(t,i){return e.Object._fromObject("Rect",t,i)}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.array.min,n=e.util.array.max,o=(e.util.toFixed,e.util.projectStrokeOnPoints);if(e.Polyline){e.warn("fabric.Polyline is already defined");return}e.Polyline=e.util.createClass(e.Object,{type:"polyline",points:null,exactBoundingBox:!1,cacheProperties:e.Object.prototype.cacheProperties.concat("points"),initialize:function(t,e){e=e||{},this.points=t||[],this.callSuper("initialize",e),this._setPositionDimensions(e)},_projectStrokeOnPoints:function(){return o(this.points,this,!0)},_setPositionDimensions:function(t){var e,i=this._calcDimensions(t),r=this.exactBoundingBox?this.strokeWidth:0;this.width=i.width-r,this.height=i.height-r,t.fromSVG||(e=this.translateToGivenOrigin({x:i.left-this.strokeWidth/2+r/2,y:i.top-this.strokeWidth/2+r/2},"left","top",this.originX,this.originY)),void 0===t.left&&(this.left=t.fromSVG?i.left:e.x),void 0===t.top&&(this.top=t.fromSVG?i.top:e.y),this.pathOffset={x:i.left+this.width/2+r/2,y:i.top+this.height/2+r/2}},_calcDimensions:function(){var t=this.exactBoundingBox?this._projectStrokeOnPoints():this.points,e=r(t,"x")||0,i=r(t,"y")||0;return{left:e,top:i,width:(n(t,"x")||0)-e,height:(n(t,"y")||0)-i}},toObject:function(t){return i(this.callSuper("toObject",t),{points:this.points.concat()})},commonRender:function(t){var e,i=this.points.length,r=this.pathOffset.x,n=this.pathOffset.y;if(!i||isNaN(this.points[i-1].y))return!1;t.beginPath(),t.moveTo(this.points[0].x-r,this.points[0].y-n);for(var o=0;o"},toObject:function(t){return n(this.callSuper("toObject",t),{path:this.path.map(function(t){return t.slice()})})},toDatalessObject:function(t){var e=this.toObject(["sourcePath"].concat(t));return e.sourcePath&&delete e.path,e},complexity:function(){return this.path.length},_calcDimensions:function(){for(var t,n,o=[],a=[],s=0,l=0,c=0,h=0,u=0,f=this.path.length;u"},addWithUpdate:function(t){var e=!!this.group;return this._restoreObjectsState(),f.util.resetObjectTransform(this),t&&(e&&f.util.removeTransformFromObject(t,this.group.calcTransformMatrix()),this._objects.push(t),t.group=this,t._set("canvas",this.canvas)),this._calcBounds(),this._updateObjectsCoords(),this.dirty=!0,e?this.group.addWithUpdate():this.setCoords(),this},removeWithUpdate:function(t){return this._restoreObjectsState(),f.util.resetObjectTransform(this),this.remove(t),this._calcBounds(),this._updateObjectsCoords(),this.setCoords(),this.dirty=!0,this},_onObjectAdded:function(t){this.dirty=!0,t.group=this,t._set("canvas",this.canvas)},_onObjectRemoved:function(t){this.dirty=!0,delete t.group},_set:function(t,e){var i=this._objects.length;if(this.useSetOnGroup)for(;i--;)this._objects[i].setOnGroup(t,e);if("canvas"===t)for(;i--;)this._objects[i]._set(t,e);f.Object.prototype._set.call(this,t,e)},toObject:function(t){var e=this.includeDefaultValues,i=this._objects.filter(function(t){return!t.excludeFromExport}).map(function(i){var r=i.includeDefaultValues;i.includeDefaultValues=e;var n=i.toObject(t);return i.includeDefaultValues=r,n}),r=f.Object.prototype.toObject.call(this,t);return r.objects=i,r},toDatalessObject:function(t){var e,i=this.sourcePath;if(i)e=i;else{var r=this.includeDefaultValues;e=this._objects.map(function(e){var i=e.includeDefaultValues;e.includeDefaultValues=r;var n=e.toDatalessObject(t);return e.includeDefaultValues=i,n})}var n=f.Object.prototype.toDatalessObject.call(this,t);return n.objects=e,n},render:function(t){this._transformDone=!0,this.callSuper("render",t),this._transformDone=!1},shouldCache:function(){var t=f.Object.prototype.shouldCache.call(this);if(t){for(var e=0,i=this._objects.length;e"},shouldCache:function(){return!1},isOnACache:function(){return!1},_renderControls:function(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,this.callSuper("_renderControls",t,e),void 0===(i=i||{}).hasControls&&(i.hasControls=!1),i.forActiveSelection=!0;for(var r=0,n=this._objects.length;r'},applyResizeFilters:function(){var t=this.resizeFilter,e=this.minimumScaleTrigger,i=this.getTotalObjectScaling(),r=i.scaleX,n=i.scaleY,o=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!t||r>e&&n>e){this._element=o,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=r,this._lastScaleY=n;return}ec.filterBackend||(ec.filterBackend=ec.initFilterBackend());var a=ec.util.createCanvasElement(),s=this._filteredEl?this.cacheKey+"_filtered":this.cacheKey,l=o.width,c=o.height;a.width=l,a.height=c,this._element=a,this._lastScaleX=t.scaleX=r,this._lastScaleY=t.scaleY=n,ec.filterBackend.applyFilters([t],o,l,c,this._element,s),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height},applyFilters:function(t){if(t=(t=t||this.filters||[]).filter(function(t){return t&&!t.isNeutralState()}),this.set("dirty",!0),this.removeTexture(this.cacheKey+"_filtered"),0===t.length)return this._element=this._originalElement,this._filteredEl=null,this._filterScalingX=1,this._filterScalingY=1,this;var e=this._originalElement,i=e.naturalWidth||e.width,r=e.naturalHeight||e.height;if(this._element===this._originalElement){var n=ec.util.createCanvasElement();n.width=i,n.height=r,this._element=n,this._filteredEl=n}else this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,i,r),this._lastScaleX=1,this._lastScaleY=1;return ec.filterBackend||(ec.filterBackend=ec.initFilterBackend()),ec.filterBackend.applyFilters(t,this._originalElement,i,r,this._element,this.cacheKey),(this._originalElement.width!==this._element.width||this._originalElement.height!==this._element.height)&&(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height),this},_render:function(t){ec.util.setImageSmoothing(t,this.imageSmoothing),!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)},drawCacheOnCanvas:function(t){ec.util.setImageSmoothing(t,this.imageSmoothing),ec.Object.prototype.drawCacheOnCanvas.call(this,t)},shouldCache:function(){return this.needsItsOwnCache()},_renderFill:function(t){var e=this._element;if(e){var i=this._filterScalingX,r=this._filterScalingY,n=this.width,o=this.height,a=Math.min,s=Math.max,l=s(this.cropX,0),c=s(this.cropY,0),h=e.naturalWidth||e.width,u=e.naturalHeight||e.height,f=l*i,d=c*r,g=a(n*i,h-f),p=a(o*r,u-d),v=a(n,h/i-l),m=a(o,u/r-c);e&&t.drawImage(e,f,d,g,p,-n/2,-o/2,v,m)}},_needsResize:function(){var t=this.getTotalObjectScaling();return t.scaleX!==this._lastScaleX||t.scaleY!==this._lastScaleY},_resetWidthHeight:function(){this.set(this.getOriginalSize())},_initElement:function(t,e){this.setElement(ec.util.getById(t),e),ec.util.addClass(this.getElement(),ec.Image.CSS_CANVAS)},_initConfig:function(t){t||(t={}),this.setOptions(t),this._setWidthHeight(t)},_initFilters:function(t,e){t&&t.length?ec.util.enlivenObjects(t,function(t){e&&e(t)},"fabric.Image.filters"):e&&e()},_setWidthHeight:function(t){t||(t={});var e=this.getElement();this.width=t.width||e.naturalWidth||e.width||0,this.height=t.height||e.naturalHeight||e.height||0},parsePreserveAspectRatioAttribute:function(){var t,e=ec.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio||""),i=this._element.width,r=this._element.height,n=1,o=1,a=0,s=0,l=0,c=0,h=this.width,u=this.height,f={width:h,height:u};return e&&("none"!==e.alignX||"none"!==e.alignY)?("meet"===e.meetOrSlice&&(n=o=ec.util.findScaleToFit(this._element,f),t=(h-i*n)/2,"Min"===e.alignX&&(a=-t),"Max"===e.alignX&&(a=t),t=(u-r*o)/2,"Min"===e.alignY&&(s=-t),"Max"===e.alignY&&(s=t)),"slice"===e.meetOrSlice&&(n=o=ec.util.findScaleToCover(this._element,f),t=i-h/n,"Mid"===e.alignX&&(l=t/2),"Max"===e.alignX&&(l=t),t=r-u/o,"Mid"===e.alignY&&(c=t/2),"Max"===e.alignY&&(c=t),i=h/n,r=u/o)):(n=h/i,o=u/r),{width:i,height:r,scaleX:n,scaleY:o,offsetLeft:a,offsetTop:s,cropX:l,cropY:c}}}),ec.Image.CSS_CANVAS="canvas-img",ec.Image.prototype.getSvgSrc=ec.Image.prototype.getSrc,ec.Image.fromObject=function(t,e){var i=ec.util.object.clone(t);ec.util.loadImage(i.src,function(t,r){if(r){e&&e(null,!0);return}ec.Image.prototype._initFilters.call(i,i.filters,function(r){i.filters=r||[],ec.Image.prototype._initFilters.call(i,[i.resizeFilter],function(r){i.resizeFilter=r[0],ec.util.enlivenObjectEnlivables(i,i,function(){e(new ec.Image(t,i),!1)})})})},null,i.crossOrigin)},ec.Image.fromURL=function(t,e,i){ec.util.loadImage(t,function(t,r){e&&e(new ec.Image(t,i),r)},null,i&&i.crossOrigin)}}(e),function(){"use strict";function t(t){t&&t.tileSize&&(this.tileSize=t.tileSize),this.setupGLContext(this.tileSize,this.tileSize),this.captureGPUInfo()}ec.isWebglSupported=function(t){if(ec.isLikelyNode)return!1;t=t||ec.WebglFilterBackend.prototype.tileSize;var e=document.createElement("canvas"),i=e.getContext("webgl")||e.getContext("experimental-webgl"),r=!1;if(i){ec.maxTextureSize=i.getParameter(i.MAX_TEXTURE_SIZE),r=ec.maxTextureSize>=t;for(var n=["highp","mediump","lowp"],o=0;o<3;o++)if(function(t,e){var i=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(i,"precision "+e+" float;\nvoid main(){}"),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS)}(i,n[o])){ec.webGlPrecision=n[o];break}}return this.isSupported=r,r},ec.WebglFilterBackend=t,t.prototype={tileSize:2048,resources:{},setupGLContext:function(t,e){this.dispose(),this.createWebGLCanvas(t,e),this.aPosition=new Float32Array([0,0,0,1,1,0,1,1]),this.chooseFastestCopyGLTo2DMethod(t,e)},chooseFastestCopyGLTo2DMethod:function(t,e){var i,r,n,o=void 0!==window.performance;try{new ImageData(1,1),n=!0}catch(a){n=!1}var s="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof Uint8ClampedArray;if(o&&n&&s&&l){var c=ec.util.createCanvasElement(),h=new ArrayBuffer(t*e*4);if(ec.forceGLPutImageData){this.imageBuffer=h,this.copyGLTo2D=ef;return}var u={imageBuffer:h,destinationWidth:t,destinationHeight:e,targetCanvas:c};c.width=t,c.height=e,i=window.performance.now(),eu.call(u,this.gl,u),r=window.performance.now()-i,i=window.performance.now(),ef.call(u,this.gl,u),r>window.performance.now()-i?(this.imageBuffer=h,this.copyGLTo2D=ef):this.copyGLTo2D=eu}},createWebGLCanvas:function(t,e){var i=ec.util.createCanvasElement();i.width=t,i.height=e;var r={alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1},n=i.getContext("webgl",r);n||(n=i.getContext("experimental-webgl",r)),n&&(n.clearColor(0,0,0,0),this.canvas=i,this.gl=n)},applyFilters:function(t,e,i,r,n,o){var a,s,l,c,h,u,f=this.gl;o&&(u=this.getCachedTexture(o,e));var d={originalWidth:e.width||e.originalWidth,originalHeight:e.height||e.originalHeight,sourceWidth:i,sourceHeight:r,destinationWidth:i,destinationHeight:r,context:f,sourceTexture:this.createTexture(f,i,r,!u&&e),targetTexture:this.createTexture(f,i,r),originalTexture:u||this.createTexture(f,i,r,!u&&e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:n},g=f.createFramebuffer();return f.bindFramebuffer(f.FRAMEBUFFER,g),t.forEach(function(t){t&&t.applyTo(d)}),s=(a=d.targetCanvas).width,l=a.height,c=d.destinationWidth,h=d.destinationHeight,(s!==c||l!==h)&&(a.width=c,a.height=h),this.copyGLTo2D(f,d),f.bindTexture(f.TEXTURE_2D,null),f.deleteTexture(d.sourceTexture),f.deleteTexture(d.targetTexture),f.deleteFramebuffer(g),n.getContext("2d").setTransform(1,0,0,1,0,0),d},dispose:function(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()},clearWebGLCaches:function(){this.programCache={},this.textureCache={}},createTexture:function(t,e,i,r){var n=t.createTexture();return t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),n},getCachedTexture:function(t,e){if(this.textureCache[t])return this.textureCache[t];var i=this.createTexture(this.gl,e.width,e.height,e);return this.textureCache[t]=i,i},evictCachesForKey:function(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])},copyGLTo2D:eu,captureGPUInfo:function(){if(this.gpuInfo)return this.gpuInfo;var t=this.gl,e={renderer:"",vendor:""};if(!t)return e;var i=t.getExtension("WEBGL_debug_renderer_info");if(i){var r=t.getParameter(i.UNMASKED_RENDERER_WEBGL),n=t.getParameter(i.UNMASKED_VENDOR_WEBGL);r&&(e.renderer=r.toLowerCase()),n&&(e.vendor=n.toLowerCase())}return this.gpuInfo=e,e}}}(),function(){"use strict";var t=function(){};function e(){}ec.Canvas2dFilterBackend=e,e.prototype={evictCachesForKey:t,dispose:t,clearWebGLCaches:t,resources:{},applyFilters:function(t,e,i,r,n){var o=n.getContext("2d");o.drawImage(e,0,0,i,r);var a=o.getImageData(0,0,i,r),s=o.getImageData(0,0,i,r),l={sourceWidth:i,sourceHeight:r,imageData:a,originalEl:e,originalImageData:s,canvasEl:n,ctx:o,filterBackend:this};return t.forEach(function(t){t.applyTo(l)}),(l.imageData.width!==i||l.imageData.height!==r)&&(n.width=l.imageData.width,n.height=l.imageData.height),o.putImageData(l.imageData,0,0),l}}}(),ec.Image=ec.Image||{},ec.Image.filters=ec.Image.filters||{},ec.Image.filters.BaseFilter=ec.util.createClass({type:"BaseFilter",vertexSource:"attribute vec2 aPosition;\nvarying vec2 vTexCoord;\nvoid main() {\nvTexCoord = aPosition;\ngl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n}",fragmentSource:"precision highp float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture;\nvoid main() {\ngl_FragColor = texture2D(uTexture, vTexCoord);\n}",initialize:function(t){t&&this.setOptions(t)},setOptions:function(t){for(var e in t)this[e]=t[e]},createProgram:function(t,e,i){e=e||this.fragmentSource,i=i||this.vertexSource,"highp"!==ec.webGlPrecision&&(e=e.replace(/precision highp float/g,"precision "+ec.webGlPrecision+" float"));var r=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(r,i),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw Error("Vertex shader compile error for "+this.type+": "+t.getShaderInfoLog(r));var n=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw Error("Fragment shader compile error for "+this.type+": "+t.getShaderInfoLog(n));var o=t.createProgram();if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw Error('Shader link error for "${this.type}" '+t.getProgramInfoLog(o));var a=this.getAttributeLocations(t,o),s=this.getUniformLocations(t,o)||{};return s.uStepW=t.getUniformLocation(o,"uStepW"),s.uStepH=t.getUniformLocation(o,"uStepH"),{program:o,attributeLocations:a,uniformLocations:s}},getAttributeLocations:function(t,e){return{aPosition:t.getAttribLocation(e,"aPosition")}},getUniformLocations:function(){return{}},sendAttributeData:function(t,e,i){var r=e.aPosition,n=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,n),t.enableVertexAttribArray(r),t.vertexAttribPointer(r,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW)},_setupFrameBuffer:function(t){var e,i,r=t.context;t.passes>1?(e=t.destinationWidth,i=t.destinationHeight,(t.sourceWidth!==e||t.sourceHeight!==i)&&(r.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(r,e,i)),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t.targetTexture,0)):(r.bindFramebuffer(r.FRAMEBUFFER,null),r.finish())},_swapTextures:function(t){t.passes--,t.pass++;var e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e},isNeutralState:function(){var t=this.mainParameter,e=ec.Image.filters[this.type].prototype;if(!t)return!1;if(!Array.isArray(e[t]))return e[t]===this[t];for(var i=e[t].length;i--;)if(this[t][i]!==e[t][i])return!1;return!0},applyTo:function(t){t.webgl?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)},retrieveShader:function(t){return t.programCache.hasOwnProperty(this.type)||(t.programCache[this.type]=this.createProgram(t.context)),t.programCache[this.type]},applyToWebGL:function(t){var e=t.context,i=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(i.program),this.sendAttributeData(e,i.attributeLocations,t.aPosition),e.uniform1f(i.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(i.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,i.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)},bindAdditionalTexture:function(t,e,i){t.activeTexture(i),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)},unbindAdditionalTexture:function(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)},getMainParameter:function(){return this[this.mainParameter]},setMainParameter:function(t){this[this.mainParameter]=t},sendUniformData:function(){},createHelpLayer:function(t){if(!t.helpLayer){var e=document.createElement("canvas");e.width=t.sourceWidth,e.height=t.sourceHeight,t.helpLayer=e}},toObject:function(){var t={type:this.type},e=this.mainParameter;return e&&(t[e]=this[e]),t},toJSON:function(){return this.toObject()}}),ec.Image.filters.BaseFilter.fromObject=function(t,e){var i=new ec.Image.filters[t.type](t);return e&&e(i),i},G=(V=(N=e).fabric||(N.fabric={})).Image.filters,q=V.util.createClass,G.ColorMatrix=q(G.BaseFilter,{type:"ColorMatrix",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nuniform mat4 uColorMatrix;\nuniform vec4 uConstants;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\ncolor *= uColorMatrix;\ncolor += uConstants;\ngl_FragColor = color;\n}",matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],mainParameter:"matrix",colorsOnly:!0,initialize:function(t){this.callSuper("initialize",t),this.matrix=this.matrix.slice(0)},applyTo2d:function(t){var e,i,r,n,o,a=t.imageData.data,s=a.length,l=this.matrix,c=this.colorsOnly;for(o=0;o=_||a<0||a>=b||(l=(s*b+a)*4,c=v[d*m+f],e+=p[l]*c,i+=p[l+1]*c,r+=p[l+2]*c,w||(n+=p[l+3]*c));C[o]=e,C[o+1]=i,C[o+2]=r,w?C[o+3]=p[o+3]:C[o+3]=n}t.imageData=x},getUniformLocations:function(t,e){return{uMatrix:t.getUniformLocation(e,"uMatrix"),uOpaque:t.getUniformLocation(e,"uOpaque"),uHalfSize:t.getUniformLocation(e,"uHalfSize"),uSize:t.getUniformLocation(e,"uSize")}},sendUniformData:function(t,e){t.uniform1fv(e.uMatrix,this.matrix)},toObject:function(){return te(this.callSuper("toObject"),{opaque:this.opaque,matrix:this.matrix})}}),tt.Image.filters.Convolute.fromObject=tt.Image.filters.BaseFilter.fromObject,ta=(to=(tn=e).fabric||(tn.fabric={})).Image.filters,ts=to.util.createClass,ta.Grayscale=ts(ta.BaseFilter,{type:"Grayscale",fragmentSource:{average:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat average = (color.r + color.b + color.g) / 3.0;\ngl_FragColor = vec4(average, average, average, color.a);\n}",lightness:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\ngl_FragColor = vec4(average, average, average, col.a);\n}",luminosity:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\ngl_FragColor = vec4(average, average, average, col.a);\n}"},mode:"average",mainParameter:"mode",applyTo2d:function(t){var e,i,r=t.imageData.data,n=r.length,o=this.mode;for(e=0;el[0]&&r>l[1]&&n>l[2]&&i 0.0) {\n"+this.fragmentSource[t]+"}\n}"},retrieveShader:function(t){var e,i=this.type+"_"+this.mode;return t.programCache.hasOwnProperty(i)||(e=this.buildSource(this.mode),t.programCache[i]=this.createProgram(t.context,e)),t.programCache[i]},applyTo2d:function(t){var e,i,r,n,o,a,s,l=t.imageData.data,c=l.length,h=1-this.alpha;e=(s=new tO.Color(this.color).getSource())[0]*this.alpha,i=s[1]*this.alpha,r=s[2]*this.alpha;for(var u=0;u=t||e<=-t)return 0;if(e<11920929e-14&&e>-.00000011920929)return 1;var i=(e*=Math.PI)/t;return tX(e)/e*tX(i)/i}},applyTo2d:function(t){var e=t.imageData,i=this.scaleX,r=this.scaleY;this.rcpScaleX=1/i,this.rcpScaleY=1/r;var n,o=e.width,a=e.height,s=tB(o*i),l=tB(a*r);"sliceHack"===this.resizeType?n=this.sliceByTwo(t,o,a,s,l):"hermite"===this.resizeType?n=this.hermiteFastResize(t,o,a,s,l):"bilinear"===this.resizeType?n=this.bilinearFiltering(t,o,a,s,l):"lanczos"===this.resizeType&&(n=this.lanczosResize(t,o,a,s,l)),t.imageData=n},sliceByTwo:function(t,e,i,r,n){var o,a,s=t.imageData,l=!1,c=!1,h=.5*e,u=.5*i,f=tM.filterBackend.resources,d=0,g=0,p=e,v=0;for(f.sliceByTwo||(f.sliceByTwo=document.createElement("canvas")),((o=f.sliceByTwo).width<1.5*e||o.height=e)){p[k=tL(1e3*tR(_-v.x))]||(p[k]={});for(var F=m.y-g;F<=m.y+g;F++)F<0||F>=i||(P=tL(1e3*tR(F-v.y)),p[k][P]||(p[k][P]=l(tI(tA(k*u,2)+tA(P*f,2))/1e3)),(x=p[k][P])>0&&(C=(F*e+_)*4,w+=x,S+=x*o[C],T+=x*o[C+1],O+=x*o[C+2],j+=x*o[C+3]))}s[C=(b*r+y)*4]=S/w,s[C+1]=T/w,s[C+2]=O/w,s[C+3]=j/w}return++y1&&P<-1||!((p=2*P*P*P-3*P*P+1)>0)||(x+=p*c[(k=4*(j+w*e))+3],m+=p,c[k+3]<255&&(p=p*c[k+3]/250),y+=p*c[k],b+=p*c[k+1],_+=p*c[k+2],v+=p)}u[g]=y/v,u[g+1]=b/v,u[g+2]=_/v,u[g+3]=x/m}return h},toObject:function(){return{type:this.type,scaleX:this.scaleX,scaleY:this.scaleY,resizeType:this.resizeType,lanczosLobes:this.lanczosLobes}}}),tM.Image.filters.Resize.fromObject=tM.Image.filters.BaseFilter.fromObject,tN=(tU=(tH=e).fabric||(tH.fabric={})).Image.filters,tV=tU.util.createClass,tN.Contrast=tV(tN.BaseFilter,{type:"Contrast",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform float uContrast;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\ncolor.rgb = contrastF * (color.rgb - 0.5) + 0.5;\ngl_FragColor = color;\n}",contrast:0,mainParameter:"contrast",applyTo2d:function(t){if(0!==this.contrast){var e,i,r=t.imageData.data,i=r.length,n=Math.floor(255*this.contrast),o=259*(n+255)/(255*(259-n));for(e=0;e1&&(e=1/this.aspectRatio):this.aspectRatio<1&&(e=this.aspectRatio),t=e*this.blur*.12,this.horizontal?i[0]=t:i[1]=t,i}}),tQ.Blur.fromObject=t$.Image.filters.BaseFilter.fromObject,t5=(t2=(t1=e).fabric||(t1.fabric={})).Image.filters,t3=t2.util.createClass,t5.Gamma=t3(t5.BaseFilter,{type:"Gamma",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform vec3 uGamma;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nvec3 correction = (1.0 / uGamma);\ncolor.r = pow(color.r, correction.r);\ncolor.g = pow(color.g, correction.g);\ncolor.b = pow(color.b, correction.b);\ngl_FragColor = color;\ngl_FragColor.rgb *= color.a;\n}",gamma:[1,1,1],mainParameter:"gamma",initialize:function(t){this.gamma=[1,1,1],t5.BaseFilter.prototype.initialize.call(this,t)},applyTo2d:function(t){var e,i=t.imageData.data,r=this.gamma,n=i.length,o=1/r[0],a=1/r[1],s=1/r[2];for(this.rVals||(this.rVals=new Uint8Array(256),this.gVals=new Uint8Array(256),this.bVals=new Uint8Array(256)),e=0,n=256;e'},_getCacheCanvasDimensions:function(){var t=this.callSuper("_getCacheCanvasDimensions"),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t},_render:function(t){var e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,"underline"),this._renderText(t),this._renderTextDecoration(t,"overline"),this._renderTextDecoration(t,"linethrough")},_renderText:function(t){"stroke"===this.paintFirst?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))},_setTextStyles:function(t,e,i){if(t.textBaseline="alphabetical",this.path)switch(this.pathAlign){case"center":t.textBaseline="middle";break;case"ascender":t.textBaseline="top";break;case"descender":t.textBaseline="bottom"}t.font=this._getFontDeclaration(e,i)},calcTextWidth:function(){for(var t=this.getLineWidth(0),e=1,i=this._textLines.length;et&&(t=r)}return t},_renderTextLine:function(t,e,i,r,n,o){this._renderChars(t,e,i,r,n,o)},_renderTextLinesBackground:function(t){if(this.textBackgroundColor||this.styleHas("textBackgroundColor")){for(var e,i,r,n,o,a,s,l=t.fillStyle,c=this._getLeftOffset(),h=this._getTopOffset(),u=0,f=0,d=this.path,g=0,p=this._textLines.length;g=0:is?u%=s:u<0&&(u+=s),this._setGraphemeOnPath(u,o,a),u+=o.kernedWidth}return{width:l,numOfSpaces:0}},_setGraphemeOnPath:function(t,i,r){var n=t+i.kernedWidth/2,o=this.path,a=e.util.getPointOnPath(o.path,n,o.segmentsInfo);i.renderLeft=a.x-r.x,i.renderTop=a.y-r.y,i.angle=a.angle+("right"===this.pathSide?Math.PI:0)},_getGraphemeBox:function(t,e,i,r,n){var o,a=this.getCompleteStyleDeclaration(e,i),s=r?this.getCompleteStyleDeclaration(e,i-1):{},l=this._measureChar(t,a,r,s),c=l.kernedWidth,h=l.width;0!==this.charSpacing&&(h+=o=this._getWidthOfCharSpacing(),c+=o);var u={width:h,left:0,height:a.fontSize,kernedWidth:c,deltaY:a.deltaY};if(i>0&&!n){var f=this.__charBounds[e][i-1];u.left=f.left+f.width+l.kernedWidth-l.width}return u},getHeightOfLine:function(t){if(this.__lineHeights[t])return this.__lineHeights[t];for(var e=this._textLines[t],i=this.getHeightOfChar(t,0),r=1,n=e.length;r0){var j=y+o+u;"rtl"===this.direction&&(j=this.width-j-f),c&&m&&(t.fillStyle=m,t.fillRect(j,h+C*r+a,f,this.fontSize/15)),u=d.left,f=d.width,c=g,m=v,r=n,a=s}else f+=d.kernedWidth;var j=y+o+u;"rtl"===this.direction&&(j=this.width-j-f),t.fillStyle=v,g&&v&&t.fillRect(j,h+C*r+a,f-x,this.fontSize/15),b+=i}this._removeShadow(t)}},_getFontDeclaration:function(t,i){var r=t||this,n=this.fontFamily,o=e.Text.genericFonts.indexOf(n.toLowerCase())>-1,a=void 0===n||n.indexOf("'")>-1||n.indexOf(",")>-1||n.indexOf('"')>-1||o?r.fontFamily:'"'+r.fontFamily+'"';return[e.isLikelyNode?r.fontWeight:r.fontStyle,e.isLikelyNode?r.fontStyle:r.fontWeight,i?this.CACHE_FONT_SIZE+"px":r.fontSize+"px",a].join(" ")},render:function(t){this.visible&&(!this.canvas||!this.canvas.skipOffscreen||this.group||this.isOnScreen())&&(this._shouldClearDimensionCache()&&this.initDimensions(),this.callSuper("render",t))},_splitTextIntoLines:function(t){for(var i=t.split(this._reNewline),r=Array(i.length),n=["\n"],o=[],a=0;a0&&t.clipPath?this.clonePathWithClipPath(e,t,function(t){r.forEach(function(e){i._addPathToObjectEraser(e,t)})}):r.length>0&&r.forEach(function(t){i._addPathToObjectEraser(t,e)});return}var n=t.eraser;n||(n=new ec.Eraser,t.eraser=n),e.clone(function(e){var r=ec.util.multiplyTransformMatrices(ec.util.invertTransform(t.calcTransformMatrix()),e.calcTransformMatrix());ec.util.applyTransformToObject(e,r),n.addWithUpdate(e),t.set("dirty",!0),t.fire("erasing:end",{path:e}),t.group&&Array.isArray(i.__subTargets)&&i.__subTargets.push(t)})},applyEraserToCanvas:function(t){var e=this.canvas,i={};return["backgroundImage","overlayImage"].forEach(function(r){var n=e[r];n&&n.erasable&&(this._addPathToObjectEraser(n,t),i[r]=n)},this),i},_finalizeAndAddPath:function(){var t=this.canvas.contextTop,e=this.canvas;t.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate)),e.clearContext(e.contextTop),this._isErasing=!1;var i=this._points&&this._points.length>1?this.convertPointsToSVGPath(this._points):null;if(!i||this._isEmptySVGPath(i)){e.fire("erasing:end"),e.requestRenderAll();return}var r=this.createPath(i);r.setCoords(),e.fire("before:path:created",{path:r});var n=this.applyEraserToCanvas(r),o=this;this.__subTargets=[];var a=[];e.forEachObject(function(t){t.erasable&&t.intersectsWithObject(r,!0,!0)&&(o._addPathToObjectEraser(t,r),a.push(t))}),e.fire("erasing:end",{path:r,targets:a,subTargets:this.__subTargets,drawables:n}),delete this.__subTargets,e.requestRenderAll(),this._resetShadow(),e.fire("path:created",{path:r})}})},6734:function(){},6907:function(){},4866:function(){}},function(t){t.O(0,[774,937,866,609,980,445,617,943,50,888,179],function(){return t(t.s=8312)}),_N_E=t.O()}]); +//# sourceMappingURL=index-1a76b27dafc9b8ab.js.map \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js.map b/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js.map new file mode 100644 index 0000000..323c64c --- /dev/null +++ b/docs/_next/static/chunks/pages/index-1a76b27dafc9b8ab.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/chunks/pages/index-1a76b27dafc9b8ab.js","mappings":"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","sources":["webpack://_N_E/","webpack://_N_E/./src/useCanvas.ts","webpack://_N_E/./src/useTools.ts","webpack://_N_E/./src/CanvasTools.tsx","webpack://_N_E/./src/useWarrior.ts","webpack://_N_E/./src/fabricUtils.ts","webpack://_N_E/./src/imageProcessing.worker.ts","webpack://_N_E/./src/useImageWorker.ts","webpack://_N_E/./src/useSettings.ts","webpack://_N_E/./src/imageUtils.ts","webpack://_N_E/./src/ToolsProvider.tsx","webpack://_N_E/./src/CanvasBackdrop.tsx","webpack://_N_E/./src/CanvasProvider.tsx","webpack://_N_E/./src/CanvasInteractions.tsx","webpack://_N_E/./src/CanvasToggle.tsx","webpack://_N_E/./src/WarriorSelector.tsx","webpack://_N_E/./src/WarriorProvider.tsx","webpack://_N_E/./src/useEnvironment.ts","webpack://_N_E/./src/useSkin.ts","webpack://_N_E/./src/Material.tsx","webpack://_N_E/./src/Materials.tsx","webpack://_N_E/./src/WarriorViewer.tsx","webpack://_N_E/./src/EnvironmentSelector.tsx","webpack://_N_E/./src/EnvironmentExposure.tsx","webpack://_N_E/./src/AnimationSelector.tsx","webpack://_N_E/./src/EnvironmentProvider.tsx","webpack://_N_E/./src/SkinProvider.tsx","webpack://_N_E/./src/MaterialSelector.tsx","webpack://_N_E/./src/Canvas.tsx","webpack://_N_E/./src/useImageLoader.ts","webpack://_N_E/./src/ColorCanvas.tsx","webpack://_N_E/./src/MetallicCanvas.tsx","webpack://_N_E/./src/MaterialCanvases.tsx","webpack://_N_E/./src/ImageLoaderProvider.tsx","webpack://_N_E/./src/pages/index.tsx","webpack://_N_E/./src/useModelViewer.ts","webpack://_N_E/./vendor/fabric/fabric.js","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom/lib/jsdom/living/generated/utils","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom/lib/jsdom/utils","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return require(\"private-next-pages/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n ","import React, { useContext } from \"react\";\nimport { fabric } from \"fabric\";\n\nexport interface CanvasInfo {\n canvas: fabric.Canvas;\n notifyChange: () => void;\n isDrawingMode: boolean;\n setDrawingMode: (isDrawingMode: boolean) => void;\n undo: () => void;\n redo: () => void;\n canUndo: boolean;\n canRedo: boolean;\n}\n\ninterface CanvasContextValue {\n canvases: Record;\n registerCanvas: (canvasId: string, canvasInfo: CanvasInfo) => void;\n unregisterCanvas: (canvasId: string) => void;\n}\n\nconst CanvasContext = React.createContext(null);\nCanvasContext.displayName = \"CanvasContext\";\n\nexport { CanvasContext };\n\nfunction useCanvas(canvasId: string | null): CanvasInfo;\nfunction useCanvas(): CanvasContextValue;\n\nfunction useCanvas(canvasId?: string | null) {\n const context = useContext(CanvasContext);\n if (!context) {\n throw new Error(\"No CanvasContext.Provider\");\n }\n if (typeof canvasId === \"undefined\") {\n return context;\n } else if (canvasId == null) {\n return {};\n } else {\n return context.canvases[canvasId] ?? {};\n }\n}\n\nexport default useCanvas;\n","import React, { useContext } from \"react\";\nimport { fabric } from \"fabric\";\n\ninterface ToolsContextValue {\n activeCanvas: string | null;\n activeCanvasType: string;\n setActiveCanvasType: (canvasType: string) => void;\n selectedObjects: Array;\n brushSize: number;\n setBrushSize: (brushSize: number) => void;\n brushColor: number;\n setBrushColor: (brushColor: number) => void;\n hueRotate: number | null;\n setHueRotate: (hueRotate: number) => void;\n saturation: number | null;\n setSaturation: (saturation: number) => void;\n brightness: number | null;\n setBrightness: (brightness: number) => void;\n layerMode: string;\n setLayerMode: (layerMode: string) => void;\n deleteSelection: () => void;\n undo: () => void;\n redo: () => void;\n canUndo: boolean;\n canRedo: boolean;\n addImages: (imageUrls: string[]) => void;\n duplicate: () => void;\n sendBackward: () => void;\n bringForward: () => void;\n lockSelection: () => void;\n unlockSelection: () => void;\n exportSkin: ({\n name,\n format,\n }: {\n name: string;\n format: string;\n }) => Promise;\n lockedObjects: Set;\n backgroundColor: string;\n setBackgroundColor: (backgroundColor: string) => void;\n selectedMaterialIndex: number;\n setSelectedMaterialIndex: (materialIndex: number) => void;\n textureSize: [number, number];\n hasMetallic: boolean;\n}\n\nconst ToolsContext = React.createContext(null);\nToolsContext.displayName = \"ToolsContext\";\n\nexport { ToolsContext };\n\nexport default function useTools() {\n const context = useContext(ToolsContext);\n if (!context) {\n throw new Error(\"No ToolsContext.Provider\");\n }\n return context;\n}\n","import { InputHTMLAttributes, useEffect, useRef, useState } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useTools from \"./useTools\";\nimport { usePopper } from \"react-popper\";\nimport Slider from \"rc-slider\";\nimport { RiFileCopyFill } from \"react-icons/ri\";\nimport { FaTrashAlt, FaLock, FaUnlock } from \"react-icons/fa\";\nimport { GoArrowUp, GoArrowDown } from \"react-icons/go\";\nimport { GiArrowCursor } from \"react-icons/gi\";\nimport { IoMdBrush } from \"react-icons/io\";\nimport { ImPlus, ImUndo2, ImRedo2, ImContrast } from \"react-icons/im\";\n\nexport default function CanvasTools() {\n const nameInputRef = useRef(null);\n const fileInputRef = useRef(null);\n const fileTypeRef = useRef(null);\n const {\n activeCanvas,\n backgroundColor,\n setBackgroundColor,\n selectedObjects,\n lockedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n activeCanvasType,\n addImages,\n exportSkin,\n } = useTools();\n const { canvas, isDrawingMode, setDrawingMode } = useCanvas(activeCanvas);\n const [isMac, setIsMac] = useState(false);\n const commandKeyPrefix = isMac ? \"⌘\" : \"Ctrl \";\n const shiftKeySymbol = \"⇧\";\n\n // Brush popup\n const [referenceElement, setReferenceElement] = useState(\n null\n );\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [isBrushToolsOpen, setBrushToolsOpen] = useState(false);\n const [isFilterToolsOpen, setFilterToolsOpen] = useState(false);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n modifiers: [\n { name: \"arrow\", options: { element: arrowElement } },\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n\n const isSelectionLocked = selectedObjects.length\n ? selectedObjects.every((object) => lockedObjects.has(object))\n : false;\n\n const handleBackgroundColorChange: InputHTMLAttributes[\"onChange\"] =\n (event) => {\n setBackgroundColor(event.target.value);\n };\n\n useEffect(() => {\n if (navigator.platform && navigator.platform.startsWith(\"Mac\")) {\n setIsMac(true);\n } else if (navigator.userAgent.match(/\\(Macintosh;/)) {\n setIsMac(true);\n }\n }, []);\n\n useEffect(() => {\n if (popperElement) {\n popperElement.focus();\n }\n }, [popperElement]);\n\n return (\n
\n
\n \n \n \n \n \n \n
\n
\n {activeCanvasType === \"color\" ? (\n <>\n {\n const imageUrl = await new Promise(\n (resolve, reject) => {\n const inputFile = event.target.files?.[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event) => {\n resolve(event.target?.result as string);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n }\n );\n addImages([imageUrl]);\n }}\n type=\"file\"\n accept=\".png, image/png\"\n hidden\n />\n {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }}\n >\n \n \n\n {\n setFilterToolsOpen((isOpen) => !isOpen);\n }}\n >\n \n \n\n {isFilterToolsOpen ? (\n {\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving =\n !newFocusElement ||\n !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setFilterToolsOpen(false);\n }\n }}\n {...attributes.popper}\n >\n
\n
\n \n
    \n {selectedObjects.length ? (\n
  • \n {\n setLayerMode(\"SelectedLayer\");\n }}\n />\n \n
  • \n ) : (\n <>\n
  • \n {\n setLayerMode(\"BaseLayer\");\n }}\n />{\" \"}\n \n
  • \n
  • \n {\n setLayerMode(\"AllLayers\");\n }}\n />\n \n
  • \n \n )}\n
\n
\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setHueRotate(value / 180);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setSaturation(value / 100);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrightness(value / 100);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n
\n\n \n
\n ) : null}\n \n {isSelectionLocked ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : null}\n\n {activeCanvasType === \"metallic\" ? (\n <>\n {\n setDrawingMode(false);\n }}\n >\n \n \n {\n setDrawingMode(true);\n setBrushToolsOpen((isOpen) => !isOpen);\n }}\n >\n \n \n\n {isBrushToolsOpen ? (\n {\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving =\n !newFocusElement ||\n !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setBrushToolsOpen(false);\n }\n }}\n {...attributes.popper}\n >\n
\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushColor(value);\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"rgb(20, 105, 241)\",\n background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background:\n \"linear-gradient(to right, black 0%, white 100%)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushSize(value);\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n
\n\n \n
\n ) : null}\n \n ) : null}\n \n
\n \n {\n const name = nameInputRef.current ? nameInputRef.current.value : \"\";\n const format = fileTypeRef.current\n ? fileTypeRef.current.value\n : \".png\";\n exportSkin({ name, format });\n }}\n >\n Export\n \n \n
\n \n );\n}\n","import React, { useContext } from \"react\";\n\ntype WarriorContextValue = {\n actualModel: string;\n selectedModel: string;\n setSelectedModel: (selectedModel: string) => void;\n selectedModelType: string;\n selectedAnimation: string | null;\n selectedModelUrl: string;\n setSelectedAnimation: (selectedAnimation: string | null) => void;\n animationPaused: boolean;\n setAnimationPaused: (\n animationPaused: boolean | ((animationPaused: boolean) => boolean)\n ) => void;\n skinImageUrls: Record;\n defaultSkinImageUrls: Record;\n setSkinImageUrls: (\n value:\n | Record\n | ((prevSkinImageUrls: Record) => Record)\n ) => void;\n selectedSkinType: string | null;\n setSelectedSkinType: (selectedSkinType: string | null) => void;\n selectedSkin: string | null;\n setSelectedSkin: (selectedSkin: string | null) => void;\n setSelectedModelType: (selectedModelType: string) => void;\n};\n\nconst WarriorContext = React.createContext(null);\nWarriorContext.displayName = \"WarriorContext\";\n\nexport { WarriorContext };\n\nexport default function useWarrior() {\n const context = useContext(WarriorContext);\n if (!context) {\n throw new Error(\"No WarriorContext.Provider\");\n }\n return context;\n}\n","import { fabric } from \"fabric\";\n\nexport function createFabricImage(url: string) {\n return new Promise((resolve) =>\n fabric.Image.fromURL(url, resolve, {\n crossOrigin: \"anonymous\",\n })\n );\n}\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js\");\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport * as Comlink from \"comlink\";\nimport Worker from \"worker-loader!./imageProcessing.worker\";\nimport type { ImageFunctions } from \"./imageProcessing.worker\";\n\nexport default function useImageWorker() {\n const workerRef = useRef(null);\n const functionsRef = useRef\n > | null>(null);\n\n const value = useMemo(() => {\n const getFunctions = () => {\n return functionsRef.current;\n };\n return {\n async combineColorAndAlphaImageUrls(...args) {\n const functions = await getFunctions();\n return functions?.combineColorAndAlphaImageUrls(...args);\n },\n async removeAlphaFromArrayBuffer(...args) {\n const functions = await getFunctions();\n return functions?.removeAlphaFromArrayBuffer(...args);\n },\n async convertArrayBufferAlphaToGrayscale(...args) {\n const functions = await getFunctions();\n return functions?.convertArrayBufferAlphaToGrayscale(...args);\n },\n async convertGrayscaleImageUrlToMetallicRoughness(...args) {\n const functions = await getFunctions();\n return functions?.convertGrayscaleImageUrlToMetallicRoughness(...args);\n },\n } as ImageFunctions;\n }, []);\n\n useEffect(() => {\n const worker = new Worker();\n const functions = Comlink.wrap(worker);\n\n workerRef.current = worker;\n functionsRef.current = functions;\n\n return () => {\n functions[Comlink.releaseProxy]();\n worker.terminate();\n };\n }, []);\n\n return value;\n}\n","export default function useSettings() {\n return {\n canvasPadding: 64,\n basePath: process.env.NODE_ENV === \"production\" ? \"/t2-model-skinner\" : \"\",\n };\n}\n","import { PNG } from \"pngjs/browser\";\nimport getStream from \"get-stream\";\n\nexport function arrayBufferToBase64(arrayBuffer: ArrayBuffer) {\n let base64 = \"\";\n const encodings =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n const bytes = new Uint8Array(arrayBuffer);\n const byteLength = bytes.byteLength;\n const byteRemainder = byteLength % 3;\n const mainLength = byteLength - byteRemainder;\n\n let a, b, c, d;\n let chunk;\n\n // Main loop deals with bytes in chunks of 3\n for (let i = 0; i < mainLength; i = i + 3) {\n // Combine the three bytes into a single integer\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n\n // Use bitmasks to extract 6-bit segments from the triplet\n a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12\n c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6\n d = chunk & 63; // 63 = 2^6 - 1\n\n // Convert the raw binary segments to the appropriate ASCII encoding\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n }\n\n // Deal with the remaining bytes and padding\n if (byteRemainder == 1) {\n chunk = bytes[mainLength];\n\n a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n\n // Set the 4 least significant bits to zero\n b = (chunk & 3) << 4; // 3 = 2^2 - 1\n\n base64 += encodings[a] + encodings[b] + \"==\";\n } else if (byteRemainder == 2) {\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];\n\n a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4\n\n // Set the 2 least significant bits to zero\n c = (chunk & 15) << 2; // 15 = 2^4 - 1\n\n base64 += encodings[a] + encodings[b] + encodings[c] + \"=\";\n }\n\n return base64;\n}\n\nexport async function rgbaToArrayBuffer(\n rgba: Uint8Array,\n {\n width,\n height,\n }: {\n width: number;\n height: number;\n }\n) {\n const png = new PNG({\n width,\n height,\n inputHasAlpha: true,\n });\n png.data = rgba;\n png.pack();\n const arrayBuffer = await getStream.buffer(png);\n return arrayBuffer;\n}\n\nexport function arrayBufferToImageUrl(arrayBuffer: ArrayBuffer) {\n const base64 = arrayBufferToBase64(arrayBuffer);\n return `data:image/png;base64,${base64}`;\n}\n\nexport async function imageUrlToArrayBuffer(url: string) {\n const response = await fetch(url);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return arrayBuffer;\n } else {\n throw new Error(`Failed to load image URL: ${url}`);\n }\n}\n\nexport async function arrayBufferToRgba(arrayBuffer: ArrayBuffer) {\n const png = await new Promise((resolve, reject) =>\n new PNG().parse(arrayBuffer, (err, data) => {\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n })\n );\n return { rgba: png.data, width: png.width, height: png.height };\n}\n\nexport async function setGrayscaleFromAlpha(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n const alpha = rgba[i + 3];\n rgba[i] = alpha;\n rgba[i + 1] = alpha;\n rgba[i + 2] = alpha;\n rgba[i + 3] = 255;\n }\n}\n\nexport async function setAlphaFromGrayscale(\n rgba: Uint8Array,\n grayscaleRgba: Uint8Array\n) {\n const length = rgba.length;\n // Modify image to map white pixels on the metallic canvas\n // to the alpha channel.\n for (let i = 0; i < length; i += 4) {\n rgba[i + 3] = Math.max(1, grayscaleRgba[i]);\n }\n}\n\nexport async function setAlphaToMax(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n rgba[i + 3] = 255;\n }\n}\n\nexport function setMetallicFromGrayscale(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n const grayscale = rgba[i];\n // Red meanings nothing, set to 0.\n rgba[i] = 0;\n // Green maps to roughness. We want more metallic to be less rough.\n rgba[i + 1] = grayscale > 0 ? 255 - Math.min(grayscale * 2 + 64, 255) : 255;\n // Blue and alpha values should already be correct.\n rgba[i + 2] = grayscale ? Math.min(grayscale * 1 + 64, 255) : 0;\n }\n}\n\nexport async function imageUrlToRgba(imageUrl: string) {\n const arrayBuffer = await imageUrlToArrayBuffer(imageUrl);\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n return { rgba, width, height };\n}\n\ntype ImageSize = {\n width: number;\n height: number;\n};\n\nexport async function rgbaToImageUrl(\n rgba: Uint8Array,\n { width, height }: ImageSize\n) {\n const arrayBuffer = await rgbaToArrayBuffer(rgba, {\n width,\n height,\n });\n const imageUrl = arrayBufferToImageUrl(arrayBuffer);\n return imageUrl;\n}\n\nexport async function combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl,\n}: {\n colorImageUrl: string;\n metallicImageUrl: string;\n}) {\n const [{ rgba, width, height }, { rgba: metallicRgba }] = await Promise.all([\n imageUrlToRgba(colorImageUrl),\n imageUrlToRgba(metallicImageUrl),\n ]);\n setAlphaFromGrayscale(rgba, metallicRgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function removeAlphaFromArrayBuffer(arrayBuffer: ArrayBuffer) {\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n setAlphaToMax(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function convertArrayBufferAlphaToGrayscale(\n arrayBuffer: ArrayBuffer\n) {\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n setGrayscaleFromAlpha(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function convertGrayscaleImageUrlToMetallicRoughness(\n imageUrl: string\n) {\n const { rgba, width, height } = await imageUrlToRgba(imageUrl);\n setMetallicFromGrayscale(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n","import { ReactNode, useCallback, useEffect, useMemo, useState } from \"react\";\nimport getConfig from \"next/config\";\nimport { fabric } from \"fabric\";\nimport { ToolsContext } from \"./useTools\";\nimport useCanvas from \"./useCanvas\";\nimport useWarrior from \"./useWarrior\";\nimport { createFabricImage } from \"./fabricUtils\";\nimport useImageWorker from \"./useImageWorker\";\nimport { MaterialDefinition } from \"./Material\";\nimport useSettings from \"./useSettings\";\nimport { imageUrlToArrayBuffer } from \"./imageUtils\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nfunction lockObject(object: fabric.Object) {\n object.lockMovementX = true;\n object.lockMovementY = true;\n object.lockScalingX = true;\n object.lockScalingY = true;\n object.lockRotation = true;\n}\n\nfunction unlockObject(object: fabric.Object) {\n object.lockMovementX = false;\n object.lockMovementY = false;\n object.lockScalingX = false;\n object.lockScalingY = false;\n object.lockRotation = false;\n}\n\nfunction isActiveSelection(\n object: fabric.Object\n): object is fabric.ActiveSelection {\n return object.type === \"activeSelection\";\n}\n\ntype ObjectFilters = {\n HueRotation?: number;\n Saturation?: number;\n Brightness?: number;\n};\n\nexport default function ToolsProvider({ children }: { children: ReactNode }) {\n const { actualModel, selectedModelType } = useWarrior();\n const [selectedMaterialIndex, setSelectedMaterialIndex] = useState(0);\n const materialDefs = materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex] ?? null;\n\n const textureSize = useMemo(\n () => materialDef.size ?? [512, 512],\n [materialDef]\n );\n\n const hasMetallic = !(\n materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1\n );\n\n const [activeCanvasType, setActiveCanvasType] = useState(\"color\");\n\n if (!hasMetallic && activeCanvasType === \"metallic\") {\n setActiveCanvasType(\"color\");\n }\n\n const [backgroundColor, setBackgroundColor] = useState(\"magenta\");\n const [lockedObjects, setLockedObjects] = useState(\n () => new Set()\n );\n const [brushColor, setBrushColor] = useState(200);\n const [brushSize, setBrushSize] = useState(10);\n const [filterMap, setFilterMap] = useState(\n () => new Map()\n );\n const [selectedObjects, setSelectedObjects] = useState(\n () => []\n );\n\n const activeCanvas = materialDef\n ? `${materialDef.name}:${activeCanvasType}`\n : null;\n const metallicCanvasId = materialDef ? `${materialDef.name}:metallic` : null;\n const { canvases } = useCanvas();\n const { canvas, notifyChange, undo, redo, canUndo, canRedo } =\n useCanvas(activeCanvas);\n const { canvas: metallicCanvas } = useCanvas(metallicCanvasId);\n const [isDrawingMode, setDrawingMode] = useState(false);\n const { combineColorAndAlphaImageUrls } = useImageWorker();\n const { canvasPadding } = useSettings();\n const [filterChanges, setFilterChanges] = useState<\n Array<[fabric.Object, ObjectFilters]>\n >(() => []);\n const [layerMode, setLayerMode] = useState(\"BaseLayer\");\n\n if (selectedObjects.length) {\n if (layerMode !== \"SelectedLayer\") {\n setLayerMode(\"SelectedLayer\");\n }\n } else {\n if (layerMode === \"SelectedLayer\") {\n setLayerMode(\"BaseLayer\");\n }\n }\n\n const getFilter = (name: keyof ObjectFilters) => {\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n applyObjects = canvas?._objects ?? [];\n } else if (layerMode === \"BaseLayer\") {\n applyObjects = canvas?._objects.slice(0, 1) ?? [];\n }\n if (applyObjects.length) {\n const getValue = (i: number) =>\n (filterMap.get(applyObjects[i]) ?? {})[name] ?? 0;\n const firstValue = getValue(0);\n if (\n applyObjects\n .slice(1)\n .every((applyObject, i) => getValue(i + 1) === firstValue)\n ) {\n return firstValue;\n }\n return null;\n } else {\n return 0;\n }\n };\n\n const hueRotate = getFilter(\"HueRotation\");\n const saturation = getFilter(\"Saturation\");\n const brightness = getFilter(\"Brightness\");\n\n const setFilter = useCallback(\n (name: keyof ObjectFilters, value: number) => {\n const filterChanges: Array<[fabric.Object, ObjectFilters]> = [];\n const newFilterMap = new Map(filterMap);\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n applyObjects = canvas?._objects ?? [];\n } else if (layerMode === \"BaseLayer\") {\n applyObjects = canvas?._objects.slice(0, 1) ?? [];\n }\n for (const applyObject of applyObjects) {\n const existingFilters = filterMap.get(applyObject) ?? {};\n const newFilters = { ...existingFilters, [name]: value };\n newFilterMap.set(applyObject, newFilters);\n filterChanges.push([applyObject, newFilters]);\n }\n setFilterMap(newFilterMap);\n setFilterChanges(filterChanges);\n },\n [canvas, layerMode, filterMap, selectedObjects]\n );\n\n const setHueRotate = useCallback(\n (value: number) => setFilter(\"HueRotation\", value),\n [setFilter]\n );\n\n const setSaturation = useCallback(\n (value: number) => setFilter(\"Saturation\", value),\n [setFilter]\n );\n\n const setBrightness = useCallback(\n (value: number) => setFilter(\"Brightness\", value),\n [setFilter]\n );\n\n useEffect(() => {\n if (!filterChanges.length) {\n return;\n }\n for (const [selectedObject, newFilters] of filterChanges) {\n if (selectedObject instanceof fabric.Image) {\n selectedObject.filters = [];\n for (const key in newFilters) {\n const filterValue = newFilters[key as keyof ObjectFilters] ?? 0;\n if (filterValue !== 0) {\n switch (key) {\n case \"HueRotation\":\n selectedObject.filters.push(\n // @ts-expect-error @types/fabric does not include HueRotation.\n new fabric.Image.filters.HueRotation({\n rotation: filterValue,\n })\n );\n break;\n case \"Saturation\":\n selectedObject.filters.push(\n new fabric.Image.filters.Saturation({\n saturation: filterValue,\n })\n );\n break;\n case \"Brightness\":\n selectedObject.filters.push(\n new fabric.Image.filters.Brightness({\n brightness: filterValue,\n })\n );\n break;\n }\n }\n }\n selectedObject.applyFilters();\n }\n }\n setFilterChanges([]);\n if (notifyChange) {\n notifyChange();\n }\n }, [filterChanges, notifyChange]);\n\n const lockSelection = useCallback(() => {\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects) => {\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects) {\n newLockedObjects.add(selectedObject);\n lockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [selectedObjects]);\n\n const unlockSelection = useCallback(() => {\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects) => {\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects) {\n newLockedObjects.delete(selectedObject);\n unlockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [selectedObjects]);\n\n const bringForward = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n canvas.bringForward(object, true);\n notifyChange();\n }\n }, [canvas, notifyChange]);\n\n const sendBackward = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n // Don't allow below base skin.\n if (canvas._objects[0] === object || canvas._objects[1] === object) {\n return;\n }\n canvas.sendBackwards(object, true);\n notifyChange();\n }\n }, [canvas, notifyChange]);\n\n const addImages = useCallback(\n async (imageUrls: string[]) => {\n let lastAddedImage;\n for (const imageUrl of imageUrls) {\n const image = await createFabricImage(imageUrl);\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n const widthRatio = image.width / textureSize[0];\n const heightRatio = image.height / textureSize[1];\n if (widthRatio > 1 || heightRatio > 1) {\n let scale;\n if (widthRatio > heightRatio) {\n scale = 1 / widthRatio;\n } else {\n scale = 1 / heightRatio;\n }\n image.scaleX = scale;\n image.scaleY = scale;\n }\n if (activeCanvasType === \"metallic\") {\n if (!image.filters) {\n image.filters = [];\n }\n const grayscaleFilter = new fabric.Image.filters.Grayscale();\n image.filters.push(grayscaleFilter);\n image.applyFilters();\n }\n setDrawingMode(false);\n canvas.centerObject(image);\n canvas.add(image);\n lastAddedImage = image;\n }\n if (lastAddedImage) {\n canvas.setActiveObject(lastAddedImage);\n }\n },\n [canvas, activeCanvasType, textureSize]\n );\n\n const duplicate = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n const copy = await new Promise((resolve) =>\n object.clone(resolve)\n );\n copy.set({\n top: (copy.top ?? 0) + 20,\n left: (copy.left ?? 0) + 20,\n evented: true,\n });\n\n if (isActiveSelection(copy)) {\n copy.canvas = canvas;\n copy.forEachObject((object) => {\n canvas.add(object);\n });\n copy.setCoords();\n }\n\n canvas.discardActiveObject();\n canvas.add(copy);\n canvas.setActiveObject(copy);\n }\n }, [canvas]);\n\n const deleteSelection = useCallback(async () => {\n const objects = canvas.getActiveObjects();\n canvas.discardActiveObject();\n canvas.remove(...objects);\n canvas.requestRenderAll();\n // forceUpdateRef.current();\n }, [canvas]);\n\n const exportSkin = useCallback(\n async ({ format, name = \"\" }: { format: string; name: string }) => {\n const { savePngFile, saveZipFile, createZipFile } = await import(\n \"./exportUtils\"\n );\n\n name = name.trim() || \"MyCustomSkin\";\n\n const materialExports = await Promise.all(\n materialDefs\n .filter(\n (materialDef: MaterialDefinition) =>\n materialDef &&\n !materialDef.hidden &&\n materialDef.selectable !== false\n )\n .map(async (materialDef: MaterialDefinition) => {\n const colorCanvas = canvases[`${materialDef.name}:color`]?.canvas;\n const metallicCanvas =\n canvases[`${materialDef.name}:metallic`]?.canvas;\n\n const textureSize = materialDef.size ?? [512, 512];\n let outputImageUrl;\n\n const colorImageUrl = colorCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n\n if (metallicCanvas) {\n const metallicImageUrl = metallicCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n outputImageUrl = await combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl,\n });\n } else {\n outputImageUrl = colorImageUrl;\n }\n\n let filename;\n switch (selectedModelType) {\n case \"player\":\n filename = `${name}.${actualModel}.png`;\n break;\n case \"weapon\":\n case \"vehicle\":\n if (materialDef) {\n filename = `${materialDef.file ?? materialDef.name}.png`;\n } else if (selectedModelType === \"weapon\") {\n filename = `weapon_${actualModel}.png`;\n } else {\n filename = `${actualModel}.png`;\n }\n }\n\n return { imageUrl: outputImageUrl, filename };\n })\n );\n\n switch (format) {\n case \"png\": {\n const { imageUrl, filename } = materialExports[selectedMaterialIndex];\n savePngFile(imageUrl, filename);\n break;\n }\n case \"vl2\": {\n const files = await Promise.all(\n materialExports.map(async (materialExport) => ({\n data: await imageUrlToArrayBuffer(materialExport.imageUrl),\n name: materialExport.filename,\n }))\n );\n const zip = createZipFile(files);\n const camelCaseName = actualModel.replace(\n /(?:^([a-z])|_([a-z]))/g,\n (match, a, b) => (a || b).toUpperCase()\n );\n let zipFileName = \"\";\n switch (selectedModelType) {\n case \"player\":\n zipFileName = `zPlayerSkin-${name}.vl2`;\n break;\n case \"weapon\":\n zipFileName = `zWeapon${camelCaseName}-${name}.vl2`;\n break;\n case \"vehicle\":\n zipFileName = `z${camelCaseName}-${name}.vl2`;\n break;\n }\n await saveZipFile(zip, zipFileName);\n }\n }\n return;\n },\n [\n actualModel,\n canvasPadding,\n canvases,\n combineColorAndAlphaImageUrls,\n materialDefs,\n selectedMaterialIndex,\n selectedModelType,\n ]\n );\n\n const context = useMemo(\n () => ({\n activeCanvas,\n activeCanvasType,\n setActiveCanvasType,\n backgroundColor,\n setBackgroundColor,\n lockedObjects,\n setLockedObjects,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n setDrawingMode,\n selectedMaterialIndex,\n setSelectedMaterialIndex,\n textureSize,\n hasMetallic,\n }),\n [\n activeCanvas,\n activeCanvasType,\n backgroundColor,\n lockedObjects,\n brushColor,\n brushSize,\n hueRotate,\n saturation,\n brightness,\n layerMode,\n setHueRotate,\n setSaturation,\n setBrightness,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n selectedMaterialIndex,\n textureSize,\n hasMetallic,\n ]\n );\n\n useEffect(() => {\n if (canvas) {\n const handleSelectionUpdated = () => {\n setSelectedObjects(canvas.getActiveObjects());\n };\n canvas.on(\"selection:cleared\", handleSelectionUpdated);\n canvas.on(\"selection:updated\", handleSelectionUpdated);\n canvas.on(\"selection:created\", handleSelectionUpdated);\n\n handleSelectionUpdated();\n\n return () => {\n canvas.off(\"selection:cleared\", handleSelectionUpdated);\n canvas.off(\"selection:updated\", handleSelectionUpdated);\n canvas.off(\"selection:created\", handleSelectionUpdated);\n };\n }\n }, [canvas]);\n\n useEffect(() => {\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.width = brushSize;\n }\n }, [metallicCanvas, brushSize]);\n\n useEffect(() => {\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.color = `rgb(${brushColor}, ${brushColor}, ${brushColor})`;\n }\n }, [metallicCanvas, brushColor]);\n\n return (\n {children}\n );\n}\n","import useTools from \"./useTools\";\nimport useSettings from \"./useSettings\";\n\nexport default function CanvasBackdrop() {\n const { backgroundColor, textureSize } = useTools();\n const { canvasPadding } = useSettings();\n\n return textureSize ? (\n \n ) : null;\n}\n","import { ReactNode, useCallback, useMemo, useState } from \"react\";\nimport { CanvasContext, CanvasInfo } from \"./useCanvas\";\n\nexport default function CanvasProvider({ children }: { children: ReactNode }) {\n const [canvases, setCanvases] = useState>({});\n\n const registerCanvas = useCallback(\n (canvasId: string, canvasInfo: CanvasInfo) => {\n setCanvases((canvases) => {\n return { ...canvases, [canvasId]: canvasInfo };\n });\n },\n []\n );\n\n const unregisterCanvas = useCallback((canvasId: string) => {\n setCanvases((canvases) => {\n const { [canvasId]: canvas, ...rest } = canvases;\n return rest;\n });\n }, []);\n\n const context = useMemo(() => {\n return {\n canvases,\n registerCanvas,\n unregisterCanvas,\n };\n }, [canvases, registerCanvas, unregisterCanvas]);\n\n return (\n {children}\n );\n}\n","import { ReactNode, useRef } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useTools from \"./useTools\";\n\nexport default function CanvasInteractions({\n children,\n}: {\n children: ReactNode;\n}) {\n const ref = useRef(null);\n const {\n activeCanvas,\n bringForward,\n sendBackward,\n duplicate,\n deleteSelection,\n addImages,\n undo,\n redo,\n } = useTools();\n const { canvas, notifyChange, setDrawingMode } = useCanvas(activeCanvas);\n\n const nudge = async ({ top = 0, left = 0 } = {}) => {\n const objects = canvas.getActiveObjects();\n for (const object of objects) {\n object.top = (object.top ?? 0) + top;\n object.left = (object.left ?? 0) + left;\n }\n notifyChange();\n };\n\n return (\n {\n event.preventDefault();\n if (ref.current) {\n ref.current.focus();\n }\n const { items } = event.dataTransfer;\n const images = Array.from(items).filter(\n (item) => item.kind === \"file\" && item.type.match(/^image\\//)\n );\n const imageUrls = await Promise.all(\n images\n .map(async (droppedImageFile) => {\n const file = droppedImageFile.getAsFile();\n if (!file) {\n throw new Error(\"Not a file.\");\n }\n const reader = new FileReader();\n const imageUrl = await new Promise((resolve, reject) => {\n reader.onload = async (event) => {\n if (event.target && typeof event.target.result === \"string\") {\n resolve(event.target.result);\n } else {\n reject(new Error(\"Failed to load image data.\"));\n }\n };\n reader.readAsDataURL(file);\n });\n return imageUrl;\n })\n .filter(Boolean)\n );\n\n await addImages(imageUrls);\n }}\n onKeyDown={async (event) => {\n const target = event.target as HTMLElement;\n if (target.nodeName === \"INPUT\" || target.nodeName === \"TEXTAREA\") {\n return;\n }\n if (event.ctrlKey || event.metaKey) {\n switch (event.key) {\n case \"z\":\n if (event.altKey) {\n return;\n } else if (event.shiftKey) {\n event.preventDefault();\n redo();\n return;\n } else {\n event.preventDefault();\n undo();\n return;\n }\n case \"y\":\n if (event.altKey || event.shiftKey) {\n return;\n } else {\n event.preventDefault();\n redo();\n return;\n }\n }\n }\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return;\n }\n switch (event.key) {\n case \"Backspace\":\n case \"Delete\": {\n event.preventDefault();\n await deleteSelection();\n break;\n }\n case \"ArrowLeft\": {\n event.preventDefault();\n await nudge({ left: -1 });\n break;\n }\n case \"ArrowRight\": {\n event.preventDefault();\n await nudge({ left: 1 });\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n await nudge({ top: -1 });\n break;\n }\n case \"ArrowDown\": {\n event.preventDefault();\n await nudge({ top: 1 });\n break;\n }\n case \"d\": {\n event.preventDefault();\n await duplicate();\n break;\n }\n case \"f\": {\n event.preventDefault();\n await bringForward();\n break;\n }\n case \"b\": {\n event.preventDefault();\n await sendBackward();\n break;\n }\n case \"p\": {\n if (activeCanvas === \"metallic\") {\n event.preventDefault();\n setDrawingMode(true);\n }\n break;\n }\n case \"s\":\n if (activeCanvas === \"color\") {\n event.preventDefault();\n setDrawingMode(false);\n }\n break;\n }\n }}\n >\n {children}\n \n );\n}\n","import useTools from \"./useTools\";\n\nexport default function CanvasToggle() {\n const { activeCanvasType, setActiveCanvasType, hasMetallic } = useTools();\n\n return (\n
\n {\n setActiveCanvasType(\"color\");\n }}\n >\n Color\n \n {hasMetallic ? (\n {\n setActiveCanvasType(\"metallic\");\n }}\n >\n Metallic\n \n ) : null}\n
\n );\n}\n","import getConfig from \"next/config\";\nimport useWarrior from \"./useWarrior\";\nimport { AiTwotoneFolderOpen } from \"react-icons/ai\";\nimport { useRef } from \"react\";\nimport useTools from \"./useTools\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { defaultSkins, customSkins, modelDefaults, materials } =\n publicRuntimeConfig;\n\nexport default function WarriorSelector() {\n const {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n selectedSkin,\n setSelectedSkin,\n setSelectedSkinType,\n actualModel,\n setSelectedAnimation,\n setSkinImageUrls,\n setAnimationPaused,\n } = useWarrior();\n const { selectedMaterialIndex, setSelectedMaterialIndex } = useTools();\n const materialDefs = materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex];\n const fileInputRef = useRef(null);\n\n return (\n
\n
\n \n {\n const parentNode = event.target.selectedOptions[0]\n .parentNode as HTMLElement;\n const newSelectedModel = event.target.value;\n const { modelType } = parentNode.dataset;\n if (!modelType) {\n throw new Error(\"No data-model-type found\");\n }\n const newModelHasSkin =\n defaultSkins[newSelectedModel]?.includes(selectedSkin) ||\n customSkins[newSelectedModel]?.includes(selectedSkin) ||\n false;\n // startTransition(() => {\n setSelectedAnimation(null);\n setAnimationPaused(false);\n setSelectedModelType(modelType);\n setSelectedModel(newSelectedModel);\n setSelectedMaterialIndex(0);\n if (!newModelHasSkin) {\n setSelectedSkin(modelDefaults[newSelectedModel] ?? null);\n setSelectedSkinType(\"default\");\n }\n // });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n {\n const parentNode = event.target.selectedOptions[0]\n .parentNode as HTMLElement;\n const skinType = event.target.value\n ? parentNode.dataset.skinType ?? null\n : null;\n setSelectedSkin(event.target.value || null);\n setSelectedSkinType(skinType);\n }}\n >\n \n {selectedModelType === \"player\" ? (\n <>\n \n {defaultSkins[actualModel]?.map((name: string) => {\n return (\n \n );\n })}\n \n \n {customSkins[actualModel]?.map((name: string) => {\n return (\n \n );\n })}\n \n \n ) : null}\n {selectedModelType === \"weapon\" ||\n selectedModelType === \"vehicle\" ? (\n <>\n {modelDefaults[actualModel] ? (\n \n \n \n ) : null}\n {customSkins[actualModel]?.length ? (\n \n {customSkins[actualModel].map((name: string) => (\n \n ))}\n \n ) : null}\n \n ) : null}\n \n {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }}\n >\n \n \n {\n const imageUrl = await new Promise((resolve, reject) => {\n const inputFile = event.target.files?.[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event) => {\n resolve(event.target?.result as string);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n setSelectedSkin(null);\n setSkinImageUrls({\n [materialDef.file ?? materialDef.name]: imageUrl,\n });\n }}\n type=\"file\"\n accept=\".png, image/png\"\n hidden\n />\n
\n
\n
\n );\n}\n","import { ReactNode, useEffect, useMemo, useState } from \"react\";\nimport getConfig from \"next/config\";\nimport useSettings from \"./useSettings\";\nimport { WarriorContext } from \"./useWarrior\";\nimport type { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { materials, modelDefaults } = publicRuntimeConfig;\nconst baseSkinPath = `https://exogen.github.io/t2-skins/skins`;\n\nexport function getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n}: {\n basePath: string;\n actualModel: string;\n selectedModelType: string;\n selectedSkin: string | null;\n selectedSkinType: string | null;\n}): Record {\n const materialDefs = materials[actualModel];\n switch (selectedModelType) {\n case \"player\":\n switch (selectedSkinType) {\n case \"default\":\n return {\n base: `${basePath}/textures/${selectedSkin}.${actualModel}.png`,\n };\n case \"custom\":\n return { base: `${baseSkinPath}/${selectedSkin}.${actualModel}.png` };\n }\n break;\n case \"weapon\":\n case \"vehicle\":\n return materialDefs.reduce(\n (\n skinImageUrls: Record,\n materialDef: MaterialDefinition\n ) => {\n if (materialDef) {\n switch (selectedSkinType) {\n case \"default\":\n if (materialDef.hasDefault !== false) {\n skinImageUrls[\n materialDef.file ?? materialDef.name\n ] = `${basePath}/textures/${\n materialDef.file ?? materialDef.name\n }.png`;\n }\n break;\n case \"custom\":\n skinImageUrls[\n materialDef.file ?? materialDef.name\n ] = `${baseSkinPath}/${selectedSkin}/${\n materialDef.file ?? materialDef.name\n }.png`;\n break;\n }\n }\n return skinImageUrls;\n },\n {}\n );\n }\n return {};\n}\n\nfunction getModelUrl(\n basePath: string,\n actualModel: string,\n selectedAnimation: string | null\n) {\n switch (actualModel) {\n default:\n return `${basePath}/${actualModel}${\n selectedAnimation ? \".anim\" : \"\"\n }.glb`;\n }\n}\n\nexport default function WarriorProvider({ children }: { children: ReactNode }) {\n const [selectedModel, setSelectedModel] = useState(\"lmale\");\n const [selectedModelType, setSelectedModelType] = useState(\"player\");\n const [selectedSkin, setSelectedSkin] = useState(\n \"Blood Eagle\"\n );\n const [selectedSkinType, setSelectedSkinType] = useState(\n \"default\"\n );\n const [selectedAnimation, setSelectedAnimation] = useState(\n null\n );\n const [animationPaused, setAnimationPaused] = useState(false);\n const { basePath } = useSettings();\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const selectedModelUrl = getModelUrl(\n basePath,\n actualModel,\n selectedAnimation\n );\n\n const [skinImageUrls, setSkinImageUrls] = useState>(\n () =>\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n })\n );\n\n const defaultSkinImageUrls = useMemo(\n () =>\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin: modelDefaults[actualModel],\n selectedSkinType: \"default\",\n }),\n [actualModel, basePath, selectedModelType]\n );\n\n const context = useMemo(() => {\n return {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls,\n };\n }, [\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls,\n ]);\n\n useEffect(() => {\n if (selectedSkin) {\n setSkinImageUrls(\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n })\n );\n }\n }, [\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n ]);\n\n return (\n \n {children}\n \n );\n}\n","import React, { useContext } from \"react\";\n\ninterface EnvironmentContextValue {\n selectedEnvironment: string | null;\n setSelectedEnvironment: (selectedEnvironment: string | null) => void;\n showEnvironment: boolean;\n setShowEnvironment: (showEnvironment: boolean) => void;\n exposure: number;\n setExposure: (exposure: number) => void;\n environmentImageUrl: string | null;\n}\n\nconst EnvironmentContext = React.createContext(\n null\n);\nEnvironmentContext.displayName = \"EnvironmentContext\";\n\nexport { EnvironmentContext };\n\nexport default function useEnvironment() {\n const context = useContext(EnvironmentContext);\n if (!context) {\n throw new Error(\"No EnvironmentContext.Provider\");\n }\n return context;\n}\n","import React, { useContext } from \"react\";\n\nexport type SkinImages = {\n colorImageUrl?: string;\n metallicImageUrl?: string;\n};\n\nexport type MaterialSkins = Record;\n\ninterface SkinContextValue {\n materialSkins: MaterialSkins;\n getSkinImages: (materialFile: string) => SkinImages;\n setSkinImages: (materialFile: string, skinImages: SkinImages) => void;\n getColorImageUrl: (materialFile: string) => string | undefined;\n setColorImageUrl: (materialFile: string, colorImageUrl: string) => void;\n getMetallicImageUrl: (materialFile: string) => string | undefined;\n setMetallicImageUrl: (materialFile: string, colorImageUrl: string) => void;\n}\n\nconst SkinContext = React.createContext(null);\nSkinContext.displayName = \"SkinContext\";\n\nexport { SkinContext };\n\nexport default function useSkin() {\n const context = useContext(SkinContext);\n if (!context) {\n throw new Error(\"No SkinContext.Provider\");\n }\n return context;\n}\n","import { useEffect } from \"react\";\nimport type { ModelViewerElement } from \"@google/model-viewer\";\nimport useSettings from \"./useSettings\";\nimport useSkin from \"./useSkin\";\nimport useModelViewer from \"./useModelViewer\";\n\n// const secondaryMaterialTextures: Record = {\n// disc: [\"textures/discshield2\"],\n// };\n\nexport type ModelMaterial = NonNullable<\n ModelViewerElement[\"model\"]\n>[\"materials\"][number];\n\nexport type MaterialDefinition = {\n index?: number;\n name: string;\n label?: string;\n file?: string;\n hasDefault?: boolean;\n size?: [number, number];\n hidden?: boolean;\n selectable?: boolean;\n alphaMode?: \"BLEND\" | \"MASK\" | \"OPAQUE\";\n alphaCutoff?: number;\n baseColorFactor?: [number, number, number, number];\n emissiveFactor?: [number, number, number];\n emissiveTexture?: boolean;\n metallicFactor?: number;\n roughnessFactor?: number;\n};\n\nfunction useTexture({\n material,\n materialDef,\n textureType,\n imageUrl,\n}: {\n material: ModelMaterial;\n materialDef?: MaterialDefinition;\n textureType: \"baseColorTexture\" | \"metallicRoughnessTexture\";\n imageUrl?: string;\n}) {\n const { modelViewer } = useModelViewer();\n const { basePath } = useSettings();\n\n useEffect(() => {\n let stale = false;\n\n const updateTexture = async () => {\n if (!materialDef || materialDef.hidden) {\n if (textureType === \"metallicRoughnessTexture\") {\n return;\n } else {\n material.setAlphaMode(\"BLEND\");\n material.pbrMetallicRoughness.setBaseColorFactor([0, 0, 0, 0]);\n }\n } else {\n const {\n alphaMode,\n alphaCutoff,\n baseColorFactor,\n emissiveFactor,\n emissiveTexture = false,\n metallicFactor = 1,\n roughnessFactor = 1,\n } = materialDef;\n let textureUrl = imageUrl ?? `${basePath}/white.png`;\n switch (textureType) {\n case \"baseColorTexture\":\n if (baseColorFactor) {\n material.pbrMetallicRoughness.setBaseColorFactor(baseColorFactor);\n }\n if (alphaMode) {\n material.setAlphaMode(alphaMode);\n }\n if (alphaCutoff) {\n material.setAlphaCutoff(alphaCutoff);\n }\n if (emissiveFactor) {\n material.setEmissiveFactor(emissiveFactor);\n }\n break;\n case \"metallicRoughnessTexture\":\n material.pbrMetallicRoughness.setMetallicFactor(metallicFactor);\n material.pbrMetallicRoughness.setRoughnessFactor(roughnessFactor);\n if (metallicFactor === 0 && roughnessFactor === 1) {\n textureUrl = `${basePath}/green.png`;\n }\n }\n const texture = await modelViewer.createTexture(textureUrl);\n if (!stale) {\n material.pbrMetallicRoughness[textureType].setTexture(texture);\n if (textureType === \"baseColorTexture\" && emissiveTexture) {\n material.emissiveTexture.setTexture(texture);\n }\n }\n }\n };\n\n updateTexture();\n\n return () => {\n stale = true;\n };\n }, [basePath, modelViewer, material, materialDef, textureType, imageUrl]);\n}\n\ninterface MaterialProps {\n material: ModelMaterial;\n materialDef?: MaterialDefinition;\n}\n\nexport default function Material({ material, materialDef }: MaterialProps) {\n const { getSkinImages } = useSkin();\n const { colorImageUrl, metallicImageUrl } =\n getSkinImages(materialDef?.file ?? material.name) ?? {};\n\n useTexture({\n material,\n materialDef,\n textureType: \"baseColorTexture\",\n imageUrl: colorImageUrl,\n });\n useTexture({\n material,\n materialDef,\n textureType: \"metallicRoughnessTexture\",\n imageUrl: metallicImageUrl,\n });\n\n return null;\n}\n","import getConfig from \"next/config\";\nimport Material, { MaterialDefinition } from \"./Material\";\nimport useModelViewer from \"./useModelViewer\";\nimport useWarrior from \"./useWarrior\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function Materials() {\n const { actualModel } = useWarrior();\n const { model } = useModelViewer();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n <>\n {model.materials.map((material, i) => {\n const materialDef =\n materialDefs.find((materialDef) => materialDef.index === i) ??\n materialDefs[i];\n return (\n \n );\n })}\n \n );\n}\n","import dynamic from \"next/dynamic\";\nimport getConfig from \"next/config\";\nimport useEnvironment from \"./useEnvironment\";\nimport useWarrior from \"./useWarrior\";\nimport Materials from \"./Materials\";\n\nconst ModelViewer = dynamic(() => import(\"./ModelViewer\"), { ssr: false });\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { cameraOverrides } = publicRuntimeConfig;\n\nexport default function WarriorViewer() {\n const {\n selectedModel,\n selectedModelUrl,\n selectedModelType,\n selectedAnimation,\n animationPaused,\n } = useWarrior();\n const { environmentImageUrl, showEnvironment, exposure } = useEnvironment();\n\n return (\n \n \n \n );\n}\n","import useEnvironment from \"./useEnvironment\";\n\nexport default function EnvironmentSelector() {\n const { selectedEnvironment, setSelectedEnvironment } = useEnvironment();\n\n return (\n <>\n \n {\n setSelectedEnvironment(event.target.value || null);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { ImBrightnessContrast } from \"react-icons/im\";\nimport useEnvironment from \"./useEnvironment\";\n\nexport default function EnvironmentExposure() {\n const { exposure, setExposure } = useEnvironment();\n\n return (\n <>\n \n {\n setExposure(parseFloat(event.target.value));\n }}\n />\n \n );\n}\n","import { useMemo } from \"react\";\nimport getConfig from \"next/config\";\nimport { IoMdPlay, IoMdPause } from \"react-icons/io\";\nimport useWarrior from \"./useWarrior\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { animations, animationLabels, animationLabelOverrides } =\n publicRuntimeConfig;\n\nexport default function AnimationSelector() {\n const {\n actualModel,\n selectedModelType,\n selectedAnimation,\n setSelectedAnimation,\n animationPaused,\n setAnimationPaused,\n } = useWarrior();\n\n const animationList = useMemo(\n () => [\n ...(selectedModelType === \"player\" ? animations.global : []),\n ...(animations[actualModel] ?? []),\n ],\n [actualModel, selectedModelType]\n );\n\n return (\n <>\n \n
\n {\n setSelectedAnimation(event.target.value || null);\n setAnimationPaused(false);\n }}\n >\n \n {animationList.map((animationName) => {\n const label =\n animationLabelOverrides[actualModel]?.[animationName] ??\n animationLabels[animationName];\n return (\n \n );\n })}\n \n {\n setAnimationPaused((animationPaused) => !animationPaused);\n }}\n >\n {animationPaused || !selectedAnimation ? : }\n \n
\n \n );\n}\n","import { ReactNode, useMemo, useState } from \"react\";\nimport { EnvironmentContext } from \"./useEnvironment\";\nimport useSettings from \"./useSettings\";\n\nexport default function EnvironmentProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const [selectedEnvironment, setSelectedEnvironment] = useState(\n null\n );\n const [showEnvironment, setShowEnvironment] = useState(false);\n const [exposure, setExposure] = useState(1);\n const { basePath } = useSettings();\n\n const context = useMemo(() => {\n const environmentImageUrl = selectedEnvironment\n ? `${basePath}/${selectedEnvironment}`\n : null;\n return {\n selectedEnvironment,\n setSelectedEnvironment,\n showEnvironment,\n setShowEnvironment,\n exposure,\n setExposure,\n environmentImageUrl,\n };\n }, [basePath, selectedEnvironment, showEnvironment, exposure]);\n\n return (\n \n {children}\n \n );\n}\n","import { ReactNode, useMemo, useState } from \"react\";\nimport { SkinContext, MaterialSkins, SkinImages } from \"./useSkin\";\n\nexport default function SkinProvider({ children }: { children: ReactNode }) {\n const [materialSkins, setMaterialSkins] = useState({});\n\n const setters = useMemo(\n () => ({\n setSkinImages(materialFile: string, skinImages: SkinImages) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: skinImages,\n };\n });\n },\n setColorImageUrl(materialFile: string, colorImageUrl: string) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n colorImageUrl,\n },\n };\n });\n },\n setMetallicImageUrl(materialFile: string, metallicImageUrl: string) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n metallicImageUrl,\n },\n };\n });\n },\n }),\n []\n );\n\n const context = useMemo(() => {\n return {\n materialSkins,\n getSkinImages(materialFile: string) {\n return materialSkins[materialFile];\n },\n getColorImageUrl(materialFile: string) {\n return materialSkins[materialFile].colorImageUrl;\n },\n getMetallicImageUrl(materialFile: string) {\n return materialSkins[materialFile].metallicImageUrl;\n },\n ...setters,\n };\n }, [materialSkins, setters]);\n\n return (\n {children}\n );\n}\n","import getConfig from \"next/config\";\nimport useTools from \"./useTools\";\nimport useWarrior from \"./useWarrior\";\nimport { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function MaterialSelector() {\n const { actualModel } = useWarrior();\n const { selectedMaterialIndex, setSelectedMaterialIndex } = useTools();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n {\n setSelectedMaterialIndex(parseInt(event.target.value, 10));\n }}\n >\n {materialDefs.map((materialDef, i) =>\n materialDef &&\n !materialDef.hidden &&\n materialDef.selectable !== false ? (\n \n ) : null\n )}\n \n );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useSettings from \"./useSettings\";\nimport useTools from \"./useTools\";\nimport { fabric } from \"fabric\";\nimport { createFabricImage } from \"./fabricUtils\";\n\ntype JSONSnapshot = ReturnType;\n\nfunction updateObjectControlOptions() {\n fabric.Object.prototype.set({\n transparentCorners: false,\n borderColor: \"#8afff1\",\n cornerSize: 9,\n cornerStyle: \"circle\",\n cornerColor: \"#8afff1\",\n cornerStrokeColor: \"#1c9f7c\",\n strokeWidth: 10,\n perPixelTargetFind: true,\n });\n}\n\nexport interface CanvasProps {\n canvasId: string;\n canvasType: \"color\" | \"metallic\";\n onChange: (canvas: fabric.Canvas) => void;\n baseImageUrl: string | null;\n textureSize: [number, number];\n defaultDrawingMode?: boolean;\n}\n\nexport default function Canvas({\n canvasId,\n onChange,\n baseImageUrl,\n textureSize,\n defaultDrawingMode = false,\n}: CanvasProps) {\n const canvasElementRef = useRef(null);\n const [canvas, setCanvas] = useState(null);\n const { activeCanvas } = useTools();\n const { canvasPadding } = useSettings();\n const { registerCanvas, unregisterCanvas } = useCanvas();\n const [isDrawingMode, setDrawingMode] = useState(defaultDrawingMode);\n const handleChangeRef = useRef();\n const trackChanges = useRef(true);\n const [undoHistory, setUndoHistory] = useState(() => []);\n const [redoHistory, setRedoHistory] = useState(() => []);\n\n const canUndo = undoHistory.length > 1;\n const canRedo = redoHistory.length > 0;\n\n const handleChange: CanvasProps[\"onChange\"] = useCallback((canvas) => {\n const handleChange = handleChangeRef.current;\n if (handleChange) {\n handleChange(canvas);\n }\n }, []);\n\n const undo = useCallback(async () => {\n if (!canvas) {\n return;\n }\n if (undoHistory.length > 1) {\n const [restoreState, currentState] = undoHistory.slice(-2);\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(restoreState, () => {\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory) => undoHistory.slice(0, -1));\n setRedoHistory((redoHistory) => [currentState, ...redoHistory]);\n }\n }, [canvas, undoHistory]);\n\n const redo = useCallback(() => {\n if (!canvas) {\n return;\n }\n if (redoHistory.length > 0) {\n const nextState = redoHistory[0];\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(nextState, () => {\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory) => [...undoHistory, nextState]);\n setRedoHistory((redoHistory) => redoHistory.slice(1));\n }\n }, [canvas, redoHistory]);\n\n useEffect(() => {\n handleChangeRef.current = onChange;\n }, [onChange]);\n\n const isActive = activeCanvas === canvasId;\n\n useEffect(() => {\n const options = {\n preserveObjectStacking: true,\n targetFindTolerance: 2,\n };\n updateObjectControlOptions();\n\n const canvas = new fabric.Canvas(canvasElementRef.current, options);\n\n let isSnapshotting = false;\n let changeTimer: ReturnType;\n\n const handleChangeWithCanvasArg = () => {\n handleChange(canvas);\n };\n\n const handleRender = () => {\n if (isSnapshotting) {\n return;\n }\n if (!trackChanges.current) {\n return;\n }\n clearTimeout(changeTimer);\n changeTimer = setTimeout(() => {\n const snapshot = snapshotCanvas();\n setUndoHistory((history) => [...history.slice(-5), snapshot]);\n setRedoHistory([]);\n }, 150);\n };\n\n const snapshotCanvas = () => {\n isSnapshotting = true;\n const snapshot = canvas.toJSON([\n \"lockMovementX\",\n \"lockMovementY\",\n \"lockRotation\",\n \"lockScalingX\",\n \"lockScalingY\",\n \"selectable\",\n \"hoverCursor\",\n \"moveCursor\",\n ]);\n isSnapshotting = false;\n return snapshot;\n };\n\n canvas.on(\"object:modified\", handleChangeWithCanvasArg);\n canvas.on(\"object:added\", handleChangeWithCanvasArg);\n canvas.on(\"object:removed\", handleChangeWithCanvasArg);\n canvas.on(\"after:render\", handleRender);\n\n setCanvas(canvas);\n\n return () => {\n clearTimeout(changeTimer);\n setCanvas(null);\n canvas.dispose();\n };\n }, [handleChange]);\n\n useEffect(() => {\n if (canvas) {\n canvas.isDrawingMode = isDrawingMode;\n }\n }, [canvas, isDrawingMode]);\n\n useEffect(() => {\n if (canvas && isActive) {\n canvas.calcOffset();\n }\n }, [canvas, isActive]);\n\n useEffect(() => {\n if (canvas) {\n registerCanvas(canvasId, {\n canvas,\n notifyChange: () => {\n canvas.renderAll();\n handleChange(canvas);\n },\n undo,\n redo,\n canUndo,\n canRedo,\n isDrawingMode,\n setDrawingMode,\n });\n return () => {\n unregisterCanvas(canvasId);\n };\n }\n }, [\n canvas,\n registerCanvas,\n unregisterCanvas,\n canvasId,\n handleChange,\n isDrawingMode,\n setDrawingMode,\n undo,\n redo,\n canUndo,\n canRedo,\n ]);\n\n useEffect(() => {\n if (canvas && textureSize) {\n trackChanges.current = false;\n canvas.clear();\n if (baseImageUrl) {\n let stale = false;\n const addImage = async () => {\n const image = await createFabricImage(baseImageUrl);\n if (!stale) {\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n image.selectable = false;\n image.lockMovementX = true;\n image.lockMovementY = true;\n image.lockScalingX = true;\n image.lockScalingY = true;\n image.lockRotation = true;\n image.hoverCursor = \"default\";\n image.moveCursor = \"default\";\n const [expectedWidth, expectedHeight] = textureSize;\n const scaleX =\n image.width === expectedWidth ? 1 : expectedWidth / image.width;\n const scaleY =\n image.height === expectedHeight\n ? 1\n : expectedHeight / image.height;\n if (scaleX !== 1 || scaleY !== 1) {\n image.scaleX = scaleX;\n image.scaleY = scaleY;\n }\n canvas.centerObject(image);\n canvas.add(image);\n }\n trackChanges.current = true;\n canvas.requestRenderAll();\n };\n\n addImage();\n\n return () => {\n stale = true;\n };\n }\n }\n }, [canvas, baseImageUrl, textureSize]);\n\n return (\n
\n \n
\n );\n}\n","import React, { useContext } from \"react\";\n\ninterface ImageLoaderContextValue {\n loadImage: (url: string) => Promise;\n}\n\nexport const ImageLoaderContext =\n React.createContext(null);\nImageLoaderContext.displayName = \"ImageLoaderContext\";\n\nexport default function useImageLoader() {\n const context = useContext(ImageLoaderContext);\n if (!context) {\n throw new Error(\"ImageLoaderContext.Provider not found!\");\n }\n return context;\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport Canvas, { CanvasProps } from \"./Canvas\";\nimport useSettings from \"./useSettings\";\nimport useSkin from \"./useSkin\";\nimport type { MaterialDefinition } from \"./Material\";\nimport useWarrior from \"./useWarrior\";\nimport useImageWorker from \"./useImageWorker\";\nimport useImageLoader from \"./useImageLoader\";\n\nconst defaultTextureSize = [512, 512] as [number, number];\n\nexport default function ColorCanvas({\n materialDef,\n}: {\n materialDef: MaterialDefinition;\n}) {\n const { skinImageUrls, defaultSkinImageUrls } = useWarrior();\n const skinImageUrl = skinImageUrls[materialDef.file ?? materialDef.name];\n const defaultSkinImageUrl =\n defaultSkinImageUrls[materialDef.file ?? materialDef.name];\n const { setColorImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [noAlphaImageUrl, setNoAlphaImageUrl] = useState(null);\n const { removeAlphaFromArrayBuffer } = useImageWorker();\n const { loadImage } = useImageLoader();\n\n const textureSize = useMemo(\n () => materialDef.size ?? defaultTextureSize,\n [materialDef]\n );\n\n const handleChange = useCallback(\n async (canvas) => {\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n setColorImageUrl(materialDef.file ?? materialDef.name, imageUrl);\n },\n [textureSize, canvasPadding, setColorImageUrl, materialDef]\n );\n\n useEffect(() => {\n if (skinImageUrl) {\n let stale = false;\n\n const generateImageUrl = async () => {\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await removeAlphaFromArrayBuffer(arrayBuffer);\n if (!stale) {\n setNoAlphaImageUrl(outputImageUrl);\n }\n };\n\n generateImageUrl();\n\n return () => {\n stale = true;\n };\n } else {\n setNoAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n removeAlphaFromArrayBuffer,\n loadImage,\n ]);\n\n const canvasId = `${materialDef.name}:color`;\n\n return textureSize ? (\n \n ) : null;\n}\n","import { useCallback, useEffect, useRef, useMemo, useState } from \"react\";\nimport Canvas, { CanvasProps } from \"./Canvas\";\nimport useImageWorker from \"./useImageWorker\";\nimport useSettings from \"./useSettings\";\nimport type { MaterialDefinition } from \"./Material\";\nimport useSkin from \"./useSkin\";\nimport useWarrior from \"./useWarrior\";\nimport useImageLoader from \"./useImageLoader\";\n\nconst defaultTextureSize = [512, 512] as [number, number];\n\nexport default function MetallicCanvas({\n materialDef,\n}: {\n materialDef: MaterialDefinition;\n}) {\n const { skinImageUrls, defaultSkinImageUrls } = useWarrior();\n const skinImageUrl = skinImageUrls[materialDef.file ?? materialDef.name];\n const defaultSkinImageUrl =\n defaultSkinImageUrls[materialDef.file ?? materialDef.name];\n const { setMetallicImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [alphaImageUrl, setAlphaImageUrl] = useState(null);\n const runningChangeHandlers = useRef(0);\n const {\n convertGrayscaleImageUrlToMetallicRoughness,\n convertArrayBufferAlphaToGrayscale,\n } = useImageWorker();\n const { loadImage } = useImageLoader();\n\n const textureSize = useMemo(\n () => materialDef.size ?? defaultTextureSize,\n [materialDef]\n );\n\n const handleChange = useCallback(\n async (canvas) => {\n runningChangeHandlers.current += 1;\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n let outputImageUrl;\n try {\n outputImageUrl = await convertGrayscaleImageUrlToMetallicRoughness(\n imageUrl\n );\n } finally {\n runningChangeHandlers.current -= 1;\n }\n if (runningChangeHandlers.current === 0) {\n setMetallicImageUrl(\n materialDef.file ?? materialDef.name,\n outputImageUrl\n );\n }\n },\n [\n textureSize,\n canvasPadding,\n setMetallicImageUrl,\n convertGrayscaleImageUrlToMetallicRoughness,\n materialDef,\n ]\n );\n\n useEffect(() => {\n if (skinImageUrl) {\n let stale = false;\n\n const generateImageUrl = async () => {\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await convertArrayBufferAlphaToGrayscale(\n arrayBuffer\n );\n if (!stale) {\n setAlphaImageUrl(outputImageUrl);\n }\n };\n\n generateImageUrl();\n\n return () => {\n stale = true;\n };\n } else {\n setAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n textureSize,\n convertArrayBufferAlphaToGrayscale,\n loadImage,\n ]);\n\n const canvasId = `${materialDef.name}:metallic`;\n\n return textureSize ? (\n \n ) : null;\n}\n","import React from \"react\";\nimport getConfig from \"next/config\";\nimport ColorCanvas from \"./ColorCanvas\";\nimport MetallicCanvas from \"./MetallicCanvas\";\nimport useWarrior from \"./useWarrior\";\nimport { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function MaterialCanvases() {\n const { actualModel } = useWarrior();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n <>\n {materialDefs.map((materialDef) => {\n if (!materialDef) {\n return null;\n }\n const hasMetallic = !(\n materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1\n );\n return (\n \n \n {hasMetallic ? : null}\n \n );\n })}\n \n );\n}\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { ReactNode, useMemo } from \"react\";\nimport { ImageLoaderContext } from \"./useImageLoader\";\nimport { imageUrlToArrayBuffer } from \"./imageUtils\";\n\nexport default function ImageLoaderProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const queryClient = useQueryClient();\n const context = useMemo(() => {\n return {\n async loadImage(imageUrl: string) {\n if (imageUrl.startsWith(\"data:\")) {\n return imageUrlToArrayBuffer(imageUrl);\n } else {\n const arrayBuffer = await queryClient.fetchQuery({\n queryKey: [imageUrl],\n });\n return arrayBuffer;\n }\n },\n };\n }, [queryClient]);\n\n return (\n \n {children}\n \n );\n}\n","import Head from \"next/head\";\nimport CanvasTools from \"../CanvasTools\";\nimport ToolsProvider from \"../ToolsProvider\";\nimport CanvasBackdrop from \"../CanvasBackdrop\";\nimport CanvasProvider from \"../CanvasProvider\";\nimport CanvasInteractions from \"../CanvasInteractions\";\nimport CanvasToggle from \"../CanvasToggle\";\nimport WarriorSelector from \"../WarriorSelector\";\nimport WarriorProvider from \"../WarriorProvider\";\nimport WarriorViewer from \"../WarriorViewer\";\nimport EnvironmentSelector from \"../EnvironmentSelector\";\nimport EnvironmentExposure from \"../EnvironmentExposure\";\nimport AnimationSelector from \"../AnimationSelector\";\nimport EnvironmentProvider from \"../EnvironmentProvider\";\nimport SkinProvider from \"../SkinProvider\";\nimport MaterialSelector from \"../MaterialSelector\";\nimport MaterialCanvases from \"../MaterialCanvases\";\nimport ImageLoaderProvider from \"../ImageLoaderProvider\";\nimport {\n QueryClient,\n QueryClientProvider,\n QueryKey,\n} from \"@tanstack/react-query\";\nimport { imageUrlToArrayBuffer } from \"../imageUtils\";\n\nasync function imageFetcher({ queryKey }: { queryKey: QueryKey }) {\n const [imageUrl] = queryKey as [string];\n return imageUrlToArrayBuffer(imageUrl);\n}\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryFn: imageFetcher,\n staleTime: Infinity,\n cacheTime: 60000,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n },\n});\n\nexport default function HomePage() {\n return (\n <>\n \n T2 Model Viewer & Skinner\n \n \n
\n \n \n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n
\n
\n \n \n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n );\n}\n","import React, { useContext } from \"react\";\nimport { ModelViewerElement } from \"@google/model-viewer\";\n\nexport const ModelViewerContext = React.createContext<{\n modelViewer: ModelViewerElement;\n model: NonNullable;\n isLoaded: boolean;\n} | null>(null);\nModelViewerContext.displayName = \"ModelViewerContext\";\n\nexport default function useModelViewer() {\n const context = useContext(ModelViewerContext);\n if (!context) {\n throw new Error(\"No ModelViewerContext.Provider\");\n }\n return context;\n}\n","/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */\n\nvar fabric = fabric || { version: '5.2.1' };\nif (typeof exports !== 'undefined') {\n exports.fabric = fabric;\n}\n/* _AMD_START_ */\nelse if (typeof define === 'function' && define.amd) {\n define([], function() { return fabric; });\n}\n/* _AMD_END_ */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (document instanceof (typeof HTMLDocument !== 'undefined' ? HTMLDocument : Document)) {\n fabric.document = document;\n }\n else {\n fabric.document = document.implementation.createHTMLDocument('');\n }\n fabric.window = window;\n}\nelse {\n // assume we're running under node.js when document/window are not present\n var jsdom = require('jsdom');\n var virtualWindow = new jsdom.JSDOM(\n decodeURIComponent('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E'),\n {\n features: {\n FetchExternalResources: ['img']\n },\n resources: 'usable'\n }).window;\n fabric.document = virtualWindow.document;\n fabric.jsdomImplForWrapper = require('jsdom/lib/jsdom/living/generated/utils').implForWrapper;\n fabric.nodeCanvas = require('jsdom/lib/jsdom/utils').Canvas;\n fabric.window = virtualWindow;\n DOMParser = fabric.window.DOMParser;\n}\n\n/**\n * True when in environment that supports touch events\n * @type boolean\n */\nfabric.isTouchSupported = 'ontouchstart' in fabric.window || 'ontouchstart' in fabric.document ||\n (fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0);\n\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */\nfabric.isLikelyNode = typeof Buffer !== 'undefined' &&\n typeof window === 'undefined';\n\n\n\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */\nfabric.DPI = 96;\nfabric.reNum = '(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[eE][-+]?\\\\d+)?)';\nfabric.commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)';\nfabric.rePathCommand = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:[eE][-+]?\\d+)?)/ig;\nfabric.reNonWord = /[ \\n\\.,;!\\?\\-]/;\nfabric.fontPaths = { };\nfabric.iMatrix = [1, 0, 0, 1, 0, 0];\nfabric.svgNS = 'http://www.w3.org/2000/svg';\n\n/**\n * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.perfLimitSizeTotal = 2097152;\n\n/**\n * Pixel limit for cache canvases width or height. IE fixes the maximum at 5000\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.maxCacheSideLimit = 4096;\n\n/**\n * Lowest pixel limit for cache canvases, set at 256PX\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.minCacheSideLimit = 256;\n\n/**\n * Cache Object for widths of chars in text rendering.\n */\nfabric.charWidthsCache = { };\n\n/**\n * if webgl is enabled and available, textureSize will determine the size\n * of the canvas backend\n * @since 2.0.0\n * @type Number\n * @default\n */\nfabric.textureSize = 2048;\n\n/**\n * When 'true', style information is not retained when copy/pasting text, making\n * pasted text use destination style.\n * Defaults to 'false'.\n * @type Boolean\n * @default\n */\nfabric.disableStyleCopyPaste = false;\n\n/**\n * Enable webgl for filtering picture is available\n * A filtering backend will be initialized, this will both take memory and\n * time since a default 2048x2048 canvas will be created for the gl context\n * @since 2.0.0\n * @type Boolean\n * @default\n */\nfabric.enableGLFiltering = true;\n\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */\nfabric.devicePixelRatio = fabric.window.devicePixelRatio ||\n fabric.window.webkitDevicePixelRatio ||\n fabric.window.mozDevicePixelRatio ||\n 1;\n/**\n * Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,\n * which is unitless and not rendered equally across browsers.\n *\n * Values that work quite well (as of October 2017) are:\n * - Chrome: 1.5\n * - Edge: 1.75\n * - Firefox: 0.9\n * - Safari: 0.95\n *\n * @since 2.0.0\n * @type Number\n * @default 1\n */\nfabric.browserShadowBlurConstant = 1;\n\n/**\n * This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.arcToSegmentsCache = { };\n\n/**\n * This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.\n * It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing\n * you do not get any speed benefit and you get a big object in memory.\n * The object was a private variable before, while now is appended to the lib so that you have access to it and you\n * can eventually clear it.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.boundsOfCurveCache = { };\n\n/**\n * If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better\n * @default true\n */\nfabric.cachesBoundsOfCurve = true;\n\n/**\n * Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on\n * Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true\n * this has to be set before instantiating the filtering backend ( before filtering the first image )\n * @type Boolean\n * @default false\n */\nfabric.forceGLPutImageData = false;\n\nfabric.initFilterBackend = function() {\n if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {\n console.log('max texture size: ' + fabric.maxTextureSize);\n return (new fabric.WebglFilterBackend({ tileSize: fabric.textureSize }));\n }\n else if (fabric.Canvas2dFilterBackend) {\n return (new fabric.Canvas2dFilterBackend());\n }\n};\n(function() {\n\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */\n function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n var eventListener = this.__eventListeners[eventName];\n if (handler) {\n eventListener[eventListener.indexOf(handler)] = false;\n }\n else {\n fabric.util.array.fill(eventListener, false);\n }\n }\n\n /**\n * Observes specified event\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */\n function on(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = { };\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n this.on(prop, eventName[prop]);\n }\n }\n else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n\n function _once(eventName, handler) {\n var _handler = function () {\n handler.apply(this, arguments);\n this.off(eventName, _handler);\n }.bind(this);\n this.on(eventName, _handler);\n }\n\n function once(eventName, handler) {\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n _once.call(this, prop, eventName[prop]);\n }\n }\n else {\n _once.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */\n function off(eventName, handler) {\n if (!this.__eventListeners) {\n return this;\n }\n\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n for (eventName in this.__eventListeners) {\n _removeEventListener.call(this, eventName);\n }\n }\n // one object with key/value pairs was passed\n else if (arguments.length === 1 && typeof arguments[0] === 'object') {\n for (var prop in eventName) {\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n }\n else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Fires event with an optional options object\n * @memberOf fabric.Observable\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */\n function fire(eventName, options) {\n if (!this.__eventListeners) {\n return this;\n }\n\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return this;\n }\n\n for (var i = 0, len = listenersForEvent.length; i < len; i++) {\n listenersForEvent[i] && listenersForEvent[i].call(this, options || { });\n }\n this.__eventListeners[eventName] = listenersForEvent.filter(function(value) {\n return value !== false;\n });\n return this;\n }\n\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#events}\n * @see {@link http://fabricjs.com/events|Events demo}\n */\n fabric.Observable = {\n fire: fire,\n on: on,\n once: once,\n off: off,\n };\n})();\n/**\n * @namespace fabric.Collection\n */\nfabric.Collection = {\n\n _objects: [],\n\n /**\n * Adds objects to collection, Canvas or Group, then renders canvas\n * (if `renderOnAddRemove` is not `false`).\n * in case of Group no changes to bounding box are made.\n * Objects should be instances of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the add method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n add: function () {\n this._objects.push.apply(this._objects, arguments);\n if (this._onObjectAdded) {\n for (var i = 0, length = arguments.length; i < length; i++) {\n this._onObjectAdded(arguments[i]);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the insertAt method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */\n insertAt: function (object, index, nonSplicing) {\n var objects = this._objects;\n if (nonSplicing) {\n objects[index] = object;\n }\n else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded && this._onObjectAdded(object);\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n remove: function() {\n var objects = this._objects,\n index, somethingRemoved = false;\n\n for (var i = 0, length = arguments.length; i < length; i++) {\n index = objects.indexOf(arguments[i]);\n\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n somethingRemoved = true;\n objects.splice(index, 1);\n this._onObjectRemoved && this._onObjectRemoved(arguments[i]);\n }\n }\n\n this.renderOnAddRemove && somethingRemoved && this.requestRenderAll();\n return this;\n },\n\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n * @chainable\n */\n forEachObject: function(callback, context) {\n var objects = this.getObjects();\n for (var i = 0, len = objects.length; i < len; i++) {\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * since 2.3.5 this method return always a COPY of the array;\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */\n getObjects: function(type) {\n if (typeof type === 'undefined') {\n return this._objects.concat();\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */\n item: function (index) {\n return this._objects[index];\n },\n\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */\n isEmpty: function () {\n return this._objects.length === 0;\n },\n\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */\n size: function() {\n return this._objects.length;\n },\n\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @param {Boolean} [deep=false] `true` to check all descendants, `false` to check only `_objects`\n * @return {Boolean} `true` if collection contains an object\n */\n contains: function (object, deep) {\n if (this._objects.indexOf(object) > -1) {\n return true;\n }\n else if (deep) {\n return this._objects.some(function (obj) {\n return typeof obj.contains === 'function' && obj.contains(object, true);\n });\n }\n return false;\n },\n\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */\n complexity: function () {\n return this._objects.reduce(function (memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n/**\n * @namespace fabric.CommonMethods\n */\nfabric.CommonMethods = {\n\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */\n _setOptions: function(options) {\n for (var prop in options) {\n this.set(prop, options[prop]);\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Gradient to\n */\n _initGradient: function(filler, property) {\n if (filler && filler.colorStops && !(filler instanceof fabric.Gradient)) {\n this.set(property, new fabric.Gradient(filler));\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Pattern to\n * @param {Function} [callback] callback to invoke after pattern load\n */\n _initPattern: function(filler, property, callback) {\n if (filler && filler.source && !(filler instanceof fabric.Pattern)) {\n this.set(property, new fabric.Pattern(filler, callback));\n }\n else {\n callback && callback();\n }\n },\n\n /**\n * @private\n */\n _setObject: function(obj) {\n for (var prop in obj) {\n this._set(prop, obj[prop]);\n }\n },\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n set: function(key, value) {\n if (typeof key === 'object') {\n this._setObject(key);\n }\n else {\n this._set(key, value);\n }\n return this;\n },\n\n _set: function(key, value) {\n this[key] = value;\n },\n\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n * @return {fabric.Object} thisArg\n * @chainable\n */\n toggle: function(property) {\n var value = this.get(property);\n if (typeof value === 'boolean') {\n this.set(property, !value);\n }\n return this;\n },\n\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */\n get: function(property) {\n return this[property];\n }\n};\n(function(global) {\n\n var sqrt = Math.sqrt,\n atan2 = Math.atan2,\n pow = Math.pow,\n PiBy180 = Math.PI / 180,\n PiBy2 = Math.PI / 2;\n\n /**\n * @namespace fabric.util\n */\n fabric.util = {\n\n /**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n cos: function(angle) {\n if (angle === 0) { return 1; }\n if (angle < 0) {\n // cos(a) = cos(-a)\n angle = -angle;\n }\n var angleSlice = angle / PiBy2;\n switch (angleSlice) {\n case 1: case 3: return 0;\n case 2: return -1;\n }\n return Math.cos(angle);\n },\n\n /**\n * Calculate the sin of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n sin: function(angle) {\n if (angle === 0) { return 0; }\n var angleSlice = angle / PiBy2, sign = 1;\n if (angle < 0) {\n // sin(-a) = -sin(a)\n sign = -1;\n }\n switch (angleSlice) {\n case 1: return sign;\n case 2: return 0;\n case 3: return -sign;\n }\n return Math.sin(angle);\n },\n\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {*} value\n * @return {Array} original array\n */\n removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */\n getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */\n degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */\n radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */\n rotatePoint: function(point, origin, radians) {\n var newPoint = new fabric.Point(point.x - origin.x, point.y - origin.y),\n v = fabric.util.rotateVector(newPoint, radians);\n return new fabric.Point(v.x, v.y).addEquals(origin);\n },\n\n /**\n * Rotates `vector` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {Object} vector The vector to rotate (x and y)\n * @param {Number} radians The radians of the angle for the rotation\n * @return {Object} The new rotated point\n */\n rotateVector: function(vector, radians) {\n var sin = fabric.util.sin(radians),\n cos = fabric.util.cos(radians),\n rx = vector.x * cos - vector.y * sin,\n ry = vector.x * sin + vector.y * cos;\n return {\n x: rx,\n y: ry\n };\n },\n\n /**\n * Creates a vetor from points represented as a point\n * @static\n * @memberOf fabric.util\n *\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n *\n * @param {Point} from\n * @param {Point} to\n * @returns {Point} vector\n */\n createVector: function (from, to) {\n return new fabric.Point(to.x - from.x, to.y - from.y);\n },\n\n /**\n * Calculates angle between 2 vectors using dot product\n * @static\n * @memberOf fabric.util\n * @param {Point} a\n * @param {Point} b\n * @returns the angle in radian between the vectors\n */\n calcAngleBetweenVectors: function (a, b) {\n return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y)));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} v\n * @returns {Point} vector representing the unit vector of pointing to the direction of `v`\n */\n getHatVector: function (v) {\n return new fabric.Point(v.x, v.y).multiply(1 / Math.hypot(v.x, v.y));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} A\n * @param {Point} B\n * @param {Point} C\n * @returns {{ vector: Point, angle: number }} vector representing the bisector of A and A's angle\n */\n getBisector: function (A, B, C) {\n var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C);\n var alpha = fabric.util.calcAngleBetweenVectors(AB, AC);\n // check if alpha is relative to AB->BC\n var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC);\n var phi = alpha * (ro === 0 ? 1 : -1) / 2;\n return {\n vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)),\n angle: alpha\n };\n },\n\n /**\n * Project stroke width on points returning 2 projections for each point as follows:\n * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke.\n * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector.\n * - `round`: same as `bevel`\n * Used to calculate object's bounding box\n * @static\n * @memberOf fabric.util\n * @param {Point[]} points\n * @param {Object} options\n * @param {number} options.strokeWidth\n * @param {'miter'|'bevel'|'round'} options.strokeLineJoin\n * @param {number} options.strokeMiterLimit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit\n * @param {boolean} options.strokeUniform\n * @param {number} options.scaleX\n * @param {number} options.scaleY\n * @param {boolean} [openPath] whether the shape is open or not, affects the calculations of the first and last points\n * @returns {fabric.Point[]} array of size 2n/4n of all suspected points\n */\n projectStrokeOnPoints: function (points, options, openPath) {\n var coords = [], s = options.strokeWidth / 2,\n strokeUniformScalar = options.strokeUniform ?\n new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1),\n getStrokeHatVector = function (v) {\n var scalar = s / (Math.hypot(v.x, v.y));\n return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y);\n };\n if (points.length <= 1) {return coords;}\n points.forEach(function (p, index) {\n var A = new fabric.Point(p.x, p.y), B, C;\n if (index === 0) {\n C = points[index + 1];\n B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1];\n }\n else if (index === points.length - 1) {\n B = points[index - 1];\n C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0];\n }\n else {\n B = points[index - 1];\n C = points[index + 1];\n }\n var bisector = fabric.util.getBisector(A, B, C),\n bisectorVector = bisector.vector,\n alpha = bisector.angle,\n scalar,\n miterVector;\n if (options.strokeLineJoin === 'miter') {\n scalar = -s / Math.sin(alpha / 2);\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) {\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n return;\n }\n }\n scalar = -s * Math.SQRT2;\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n });\n return coords;\n },\n\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */\n transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y,\n t[1] * p.x + t[3] * p.y\n );\n }\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y + t[4],\n t[1] * p.x + t[3] * p.y + t[5]\n );\n },\n\n /**\n * Returns coordinates of points's bounding rectangle (left, top, width, height)\n * @param {Array} points 4 points array\n * @param {Array} [transform] an array of 6 numbers representing a 2x3 transform matrix\n * @return {Object} Object with left, top, width, height properties\n */\n makeBoundingBoxFromPoints: function(points, transform) {\n if (transform) {\n for (var i = 0; i < points.length; i++) {\n points[i] = fabric.util.transformPoint(points[i], transform);\n }\n }\n var xPoints = [points[0].x, points[1].x, points[2].x, points[3].x],\n minX = fabric.util.array.min(xPoints),\n maxX = fabric.util.array.max(xPoints),\n width = maxX - minX,\n yPoints = [points[0].y, points[1].y, points[2].y, points[3].y],\n minY = fabric.util.array.min(yPoints),\n maxY = fabric.util.array.max(yPoints),\n height = maxY - minY;\n\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */\n invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]),\n r = [a * t[3], -a * t[1], -a * t[2], a * t[0]],\n o = fabric.util.transformPoint({ x: t[4], y: t[5] }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */\n toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @param {Number} fontSize\n * @return {Number|String}\n */\n parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value),\n number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch (unit[0]) {\n case 'mm':\n return number * fabric.DPI / 25.4;\n\n case 'cm':\n return number * fabric.DPI / 2.54;\n\n case 'in':\n return number * fabric.DPI;\n\n case 'pt':\n return number * fabric.DPI / 72; // or * 4 / 3\n\n case 'pc':\n return number * fabric.DPI / 72 * 12; // or * 16\n\n case 'em':\n return number * fontSize;\n\n default:\n return number;\n }\n },\n\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */\n falseFunction: function() {\n return false;\n },\n\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */\n getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n\n /**\n * Returns array of attributes for given svg that fabric parses\n * @memberOf fabric.util\n * @param {String} type Type of svg element (eg. 'circle')\n * @return {Array} string names of supported attributes\n */\n getSvgAttributes: function(type) {\n var attributes = [\n 'instantiated_by_use',\n 'style',\n 'id',\n 'class'\n ];\n switch (type) {\n case 'linearGradient':\n attributes = attributes.concat(['x1', 'y1', 'x2', 'y2', 'gradientUnits', 'gradientTransform']);\n break;\n case 'radialGradient':\n attributes = attributes.concat(['gradientUnits', 'gradientTransform', 'cx', 'cy', 'r', 'fx', 'fy', 'fr']);\n break;\n case 'stop':\n attributes = attributes.concat(['offset', 'stop-color', 'stop-opacity']);\n break;\n }\n return attributes;\n },\n\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */\n resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n\n var parts = namespace.split('.'),\n len = parts.length, i,\n obj = global || fabric.window;\n\n for (i = 0; i < len; ++i) {\n obj = obj[parts[i]];\n }\n\n return obj;\n },\n\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {*} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */\n loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n\n var img = fabric.util.createImage();\n\n /** @ignore */\n var onLoadCallback = function () {\n callback && callback.call(context, img, false);\n img = img.onload = img.onerror = null;\n };\n\n img.onload = onLoadCallback;\n /** @ignore */\n img.onerror = function() {\n fabric.log('Error loading ' + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n // crossOrigin null is the same as not set.\n if (url.indexOf('data') !== 0 &&\n crossOrigin !== undefined &&\n crossOrigin !== null) {\n img.crossOrigin = crossOrigin;\n }\n\n // IE10 / IE11-Fix: SVG contents from data: URI\n // will only be available if the IMG is present\n // in the DOM (and visible)\n if (url.substring(0,14) === 'data:image/svg') {\n img.onload = null;\n fabric.util.loadImageInDom(img, onLoadCallback);\n }\n\n img.src = url;\n },\n\n /**\n * Attaches SVG image with data: URL to the dom\n * @memberOf fabric.util\n * @param {Object} img Image object with data:image/svg src\n * @param {Function} callback Callback; invoked with loaded image\n * @return {Object} DOM element (div containing the SVG image)\n */\n loadImageInDom: function(img, onLoadCallback) {\n var div = fabric.document.createElement('div');\n div.style.width = div.style.height = '1px';\n div.style.left = div.style.top = '-100%';\n div.style.position = 'absolute';\n div.appendChild(img);\n fabric.document.querySelector('body').appendChild(div);\n /**\n * Wrap in function to:\n * 1. Call existing callback\n * 2. Cleanup DOM\n */\n img.onload = function () {\n onLoadCallback();\n div.parentNode.removeChild(div);\n div = null;\n };\n },\n\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */\n enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [];\n\n var enlivenedObjects = [],\n numLoadedObjects = 0,\n numTotalObjects = objects.length;\n\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects.filter(function(obj) {\n // filter out undefined objects (objects that gave error)\n return obj;\n }));\n }\n }\n\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n\n objects.forEach(function (o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n klass.fromObject(o, function (obj, error) {\n error || (enlivenedObjects[index] = obj);\n reviver && reviver(o, obj, error);\n onLoaded();\n });\n });\n },\n\n /**\n * Creates corresponding fabric instances residing in an object, e.g. `clipPath`\n * @see {@link fabric.Object.ENLIVEN_PROPS}\n * @param {Object} object\n * @param {Object} [context] assign enlived props to this object (pass null to skip this)\n * @param {(objects:fabric.Object[]) => void} callback\n */\n enlivenObjectEnlivables: function (object, context, callback) {\n var enlivenProps = fabric.Object.ENLIVEN_PROPS.filter(function (key) { return !!object[key]; });\n fabric.util.enlivenObjects(enlivenProps.map(function (key) { return object[key]; }), function (enlivedProps) {\n var objects = {};\n enlivenProps.forEach(function (key, index) {\n objects[key] = enlivedProps[index];\n context && (context[key] = enlivedProps[index]);\n });\n callback && callback(objects);\n });\n },\n\n /**\n * Create and wait for loading of patterns\n * @static\n * @memberOf fabric.util\n * @param {Array} patterns Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * called after each fabric object created.\n */\n enlivenPatterns: function(patterns, callback) {\n patterns = patterns || [];\n\n function onLoaded() {\n if (++numLoadedPatterns === numPatterns) {\n callback && callback(enlivenedPatterns);\n }\n }\n\n var enlivenedPatterns = [],\n numLoadedPatterns = 0,\n numPatterns = patterns.length;\n\n if (!numPatterns) {\n callback && callback(enlivenedPatterns);\n return;\n }\n\n patterns.forEach(function (p, index) {\n if (p && p.source) {\n new fabric.Pattern(p, function(pattern) {\n enlivenedPatterns[index] = pattern;\n onLoaded();\n });\n }\n else {\n enlivenedPatterns[index] = p;\n onLoaded();\n }\n });\n },\n\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @param {String} path Value to set sourcePath to\n * @return {fabric.Object|fabric.Group}\n */\n groupSVGElements: function(elements, options, path) {\n var object;\n if (elements && elements.length === 1) {\n return elements[0];\n }\n if (options) {\n if (options.width && options.height) {\n options.centerPoint = {\n x: options.width / 2,\n y: options.height / 2\n };\n }\n else {\n delete options.width;\n delete options.height;\n }\n }\n object = new fabric.Group(elements, options);\n if (typeof path !== 'undefined') {\n object.sourcePath = path;\n }\n return object;\n },\n\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Properties names to include\n */\n populateWithProperties: function(source, destination, properties) {\n if (properties && Array.isArray(properties)) {\n for (var i = 0, len = properties.length; i < len; i++) {\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n\n /**\n * Creates canvas element\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n createCanvasElement: function() {\n return fabric.document.createElement('canvas');\n },\n\n /**\n * Creates a canvas element that is a copy of another and is also painted\n * @param {CanvasElement} canvas to copy size and content of\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n copyCanvasElement: function(canvas) {\n var newCanvas = fabric.util.createCanvasElement();\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n newCanvas.getContext('2d').drawImage(canvas, 0, 0);\n return newCanvas;\n },\n\n /**\n * since 2.6.0 moved from canvas instance to utility.\n * @param {CanvasElement} canvasEl to copy size and content of\n * @param {String} format 'jpeg' or 'png', in some browsers 'webp' is ok too\n * @param {Number} quality <= 1 and > 0\n * @static\n * @memberOf fabric.util\n * @return {String} data url\n */\n toDataURL: function(canvasEl, format, quality) {\n return canvasEl.toDataURL('image/' + format, quality);\n },\n\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */\n createImage: function() {\n return fabric.document.createElement('img');\n },\n\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @param {Boolean} is2x2 flag to multiply matrices as 2x2 matrices\n * @return {Array} The product of the two transform matrices\n */\n multiplyTransformMatrices: function(a, b, is2x2) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n is2x2 ? 0 : a[0] * b[4] + a[2] * b[5] + a[4],\n is2x2 ? 0 : a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n\n /**\n * Decomposes standard 2x3 matrix into transform components\n * @static\n * @memberOf fabric.util\n * @param {Array} a transformMatrix\n * @return {Object} Components of transform\n */\n qrDecompose: function(a) {\n var angle = atan2(a[1], a[0]),\n denom = pow(a[0], 2) + pow(a[1], 2),\n scaleX = sqrt(denom),\n scaleY = (a[0] * a[3] - a[2] * a[1]) / scaleX,\n skewX = atan2(a[0] * a[2] + a[1] * a [3], denom);\n return {\n angle: angle / PiBy180,\n scaleX: scaleX,\n scaleY: scaleY,\n skewX: skewX / PiBy180,\n skewY: 0,\n translateX: a[4],\n translateY: a[5]\n };\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle] angle in degrees\n * @return {Number[]} transform matrix\n */\n calcRotateMatrix: function(options) {\n if (!options.angle) {\n return fabric.iMatrix.concat();\n }\n var theta = fabric.util.degreesToRadians(options.angle),\n cos = fabric.util.cos(theta),\n sin = fabric.util.sin(theta);\n return [cos, sin, -sin, cos, 0, 0];\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet.\n * is called DimensionsTransformMatrix because those properties are the one that influence\n * the size of the resulting box of the object.\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewY]\n * @return {Number[]} transform matrix\n */\n calcDimensionsMatrix: function(options) {\n var scaleX = typeof options.scaleX === 'undefined' ? 1 : options.scaleX,\n scaleY = typeof options.scaleY === 'undefined' ? 1 : options.scaleY,\n scaleMatrix = [\n options.flipX ? -scaleX : scaleX,\n 0,\n 0,\n options.flipY ? -scaleY : scaleY,\n 0,\n 0],\n multiply = fabric.util.multiplyTransformMatrices,\n degreesToRadians = fabric.util.degreesToRadians;\n if (options.skewX) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, 0, Math.tan(degreesToRadians(options.skewX)), 1],\n true);\n }\n if (options.skewY) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, Math.tan(degreesToRadians(options.skewY)), 0, 1],\n true);\n }\n return scaleMatrix;\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle]\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewX]\n * @param {Number} [options.translateX]\n * @param {Number} [options.translateY]\n * @return {Number[]} transform matrix\n */\n composeMatrix: function(options) {\n var matrix = [1, 0, 0, 1, options.translateX || 0, options.translateY || 0],\n multiply = fabric.util.multiplyTransformMatrices;\n if (options.angle) {\n matrix = multiply(matrix, fabric.util.calcRotateMatrix(options));\n }\n if (options.scaleX !== 1 || options.scaleY !== 1 ||\n options.skewX || options.skewY || options.flipX || options.flipY) {\n matrix = multiply(matrix, fabric.util.calcDimensionsMatrix(options));\n }\n return matrix;\n },\n\n /**\n * reset an object transform state to neutral. Top and left are not accounted for\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to transform\n */\n resetObjectTransform: function (target) {\n target.scaleX = 1;\n target.scaleY = 1;\n target.skewX = 0;\n target.skewY = 0;\n target.flipX = false;\n target.flipY = false;\n target.rotate(0);\n },\n\n /**\n * Extract Object transform values\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to read from\n * @return {Object} Components of transform\n */\n saveObjectTransform: function (target) {\n return {\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n angle: target.angle,\n left: target.left,\n flipX: target.flipX,\n flipY: target.flipY,\n top: target.top\n };\n },\n\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */\n isTransparent: function(ctx, x, y, tolerance) {\n\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n }\n else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n }\n else {\n y = 0;\n }\n }\n\n var _isTransparent = true, i, temp,\n imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1),\n l = imageData.data.length;\n\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for (i = 3; i < l; i += 4) {\n temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n\n imageData = null;\n\n return _isTransparent;\n },\n\n /**\n * Parse preserveAspectRatio attribute from element\n * @param {string} attribute to be parsed\n * @return {Object} an object containing align and meetOrSlice attribute\n */\n parsePreserveAspectRatioAttribute: function(attribute) {\n var meetOrSlice = 'meet', alignX = 'Mid', alignY = 'Mid',\n aspectRatioAttrs = attribute.split(' '), align;\n\n if (aspectRatioAttrs && aspectRatioAttrs.length) {\n meetOrSlice = aspectRatioAttrs.pop();\n if (meetOrSlice !== 'meet' && meetOrSlice !== 'slice') {\n align = meetOrSlice;\n meetOrSlice = 'meet';\n }\n else if (aspectRatioAttrs.length) {\n align = aspectRatioAttrs.pop();\n }\n }\n //divide align in alignX and alignY\n alignX = align !== 'none' ? align.slice(1, 4) : 'none';\n alignY = align !== 'none' ? align.slice(5, 8) : 'none';\n return {\n meetOrSlice: meetOrSlice,\n alignX: alignX,\n alignY: alignY\n };\n },\n\n /**\n * Clear char widths cache for the given font family or all the cache if no\n * fontFamily is specified.\n * Use it if you know you are loading fonts in a lazy way and you are not waiting\n * for custom fonts to load properly when adding text objects to the canvas.\n * If a text object is added when its own font is not loaded yet, you will get wrong\n * measurement and so wrong bounding boxes.\n * After the font cache is cleared, either change the textObject text content or call\n * initDimensions() to trigger a recalculation\n * @memberOf fabric.util\n * @param {String} [fontFamily] font family to clear\n */\n clearFabricFontCache: function(fontFamily) {\n fontFamily = (fontFamily || '').toLowerCase();\n if (!fontFamily) {\n fabric.charWidthsCache = { };\n }\n else if (fabric.charWidthsCache[fontFamily]) {\n delete fabric.charWidthsCache[fontFamily];\n }\n },\n\n /**\n * Given current aspect ratio, determines the max width and height that can\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Number} ar aspect ratio\n * @param {Number} maximumArea Maximum area you want to achieve\n * @return {Object.x} Limited dimensions by X\n * @return {Object.y} Limited dimensions by Y\n */\n limitDimsByArea: function(ar, maximumArea) {\n var roughWidth = Math.sqrt(maximumArea * ar),\n perfLimitSizeY = Math.floor(maximumArea / roughWidth);\n return { x: Math.floor(roughWidth), y: perfLimitSizeY };\n },\n\n capValue: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Finds the scale for the object source to fit inside the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to fit into destination\n */\n findScaleToFit: function(source, destination) {\n return Math.min(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * Finds the scale for the object source to cover entirely the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to cover destination\n */\n findScaleToCover: function(source, destination) {\n return Math.max(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * given an array of 6 number returns something like `\"matrix(...numbers)\"`\n * @memberOf fabric.util\n * @param {Array} transform an array with 6 numbers\n * @return {String} transform matrix for svg\n * @return {Object.y} Limited dimensions by Y\n */\n matrixToSVG: function(transform) {\n return 'matrix(' + transform.map(function(value) {\n return fabric.util.toFixed(value, fabric.Object.NUM_FRACTION_DIGITS);\n }).join(' ') + ')';\n },\n\n /**\n * given an object and a transform, apply the inverse transform to the object,\n * this is equivalent to remove from that object that transformation, so that\n * added in a space with the removed transform, the object will be the same as before.\n * Removing from an object a transform that scale by 2 is like scaling it by 1/2.\n * Removing from an object a transfrom that rotate by 30deg is like rotating by 30deg\n * in the opposite direction.\n * This util is used to add objects inside transformed groups or nested groups.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n removeTransformFromObject: function(object, transform) {\n var inverted = fabric.util.invertTransform(transform),\n finalTransform = fabric.util.multiplyTransformMatrices(inverted, object.calcOwnMatrix());\n fabric.util.applyTransformToObject(object, finalTransform);\n },\n\n /**\n * given an object and a transform, apply the transform to the object.\n * this is equivalent to change the space where the object is drawn.\n * Adding to an object a transform that scale by 2 is like scaling it by 2.\n * This is used when removing an object from an active selection for example.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n addTransformToObject: function(object, transform) {\n fabric.util.applyTransformToObject(\n object,\n fabric.util.multiplyTransformMatrices(transform, object.calcOwnMatrix())\n );\n },\n\n /**\n * discard an object transform state and apply the one from the matrix.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n applyTransformToObject: function(object, transform) {\n var options = fabric.util.qrDecompose(transform),\n center = new fabric.Point(options.translateX, options.translateY);\n object.flipX = false;\n object.flipY = false;\n object.set('scaleX', options.scaleX);\n object.set('scaleY', options.scaleY);\n object.skewX = options.skewX;\n object.skewY = options.skewY;\n object.angle = options.angle;\n object.setPositionByOrigin(center, 'center', 'center');\n },\n\n /**\n * given a width and height, return the size of the bounding box\n * that can contains the box with width/height with applied transform\n * described in options.\n * Use to calculate the boxes around objects for controls.\n * @memberOf fabric.util\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Number} options.scaleX\n * @param {Number} options.scaleY\n * @param {Number} options.skewX\n * @param {Number} options.skewY\n * @return {Object.x} width of containing\n * @return {Object.y} height of containing\n */\n sizeAfterTransform: function(width, height, options) {\n var dimX = width / 2, dimY = height / 2,\n points = [\n {\n x: -dimX,\n y: -dimY\n },\n {\n x: dimX,\n y: -dimY\n },\n {\n x: -dimX,\n y: dimY\n },\n {\n x: dimX,\n y: dimY\n }],\n transformMatrix = fabric.util.calcDimensionsMatrix(options),\n bbox = fabric.util.makeBoundingBoxFromPoints(points, transformMatrix);\n return {\n x: bbox.width,\n y: bbox.height,\n };\n },\n\n /**\n * Merges 2 clip paths into one visually equal clip path\n *\n * **IMPORTANT**:\\\n * Does **NOT** clone the arguments, clone them proir if necessary.\n *\n * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.\n * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.\n *\n * In order to handle the `inverted` property we follow logic described in the following cases:\\\n * **(1)** both clip paths are inverted - the clip paths pass the inverted prop to the wrapper and loose it themselves.\\\n * **(2)** one is inverted and the other isn't - the wrapper shouldn't become inverted and the inverted clip path must clip the non inverted one to produce an identical visual effect.\\\n * **(3)** both clip paths are not inverted - wrapper and clip paths remain unchanged.\n *\n * @memberOf fabric.util\n * @param {fabric.Object} c1\n * @param {fabric.Object} c2\n * @returns {fabric.Object} merged clip path\n */\n mergeClipPaths: function (c1, c2) {\n var a = c1, b = c2;\n if (a.inverted && !b.inverted) {\n // case (2)\n a = c2;\n b = c1;\n }\n // `b` becomes `a`'s clip path so we transform `b` to `a` coordinate plane\n fabric.util.applyTransformToObject(\n b,\n fabric.util.multiplyTransformMatrices(\n fabric.util.invertTransform(a.calcTransformMatrix()),\n b.calcTransformMatrix()\n )\n );\n // assign the `inverted` prop to the wrapping group\n var inverted = a.inverted && b.inverted;\n if (inverted) {\n // case (1)\n a.inverted = b.inverted = false;\n }\n return new fabric.Group([a], { clipPath: b, inverted: inverted });\n },\n\n /**\n * @memberOf fabric.util\n * @param {Object} prevStyle first style to compare\n * @param {Object} thisStyle second style to compare\n * @param {boolean} forTextSpans whether to check overline, underline, and line-through properties\n * @return {boolean} true if the style changed\n */\n hasStyleChanged: function(prevStyle, thisStyle, forTextSpans) {\n forTextSpans = forTextSpans || false;\n return (prevStyle.fill !== thisStyle.fill ||\n prevStyle.stroke !== thisStyle.stroke ||\n prevStyle.strokeWidth !== thisStyle.strokeWidth ||\n prevStyle.fontSize !== thisStyle.fontSize ||\n prevStyle.fontFamily !== thisStyle.fontFamily ||\n prevStyle.fontWeight !== thisStyle.fontWeight ||\n prevStyle.fontStyle !== thisStyle.fontStyle ||\n prevStyle.deltaY !== thisStyle.deltaY) ||\n (forTextSpans &&\n (prevStyle.overline !== thisStyle.overline ||\n prevStyle.underline !== thisStyle.underline ||\n prevStyle.linethrough !== thisStyle.linethrough));\n },\n\n /**\n * Returns the array form of a text object's inline styles property with styles grouped in ranges\n * rather than per character. This format is less verbose, and is better suited for storage\n * so it is used in serialization (not during runtime).\n * @memberOf fabric.util\n * @param {object} styles per character styles for a text object\n * @param {String} text the text string that the styles are applied to\n * @return {{start: number, end: number, style: object}[]}\n */\n stylesToArray: function(styles, text) {\n // clone style structure to prevent mutation\n var styles = fabric.util.object.clone(styles, true),\n textLines = text.split('\\n'),\n charIndex = -1, prevStyle = {}, stylesArray = [];\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n if (!styles[i]) {\n //no styles exist for this line, so add the line's length to the charIndex total\n charIndex += textLines[i].length;\n continue;\n }\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n var thisStyle = styles[i][c];\n //check if style exists for this character\n if (thisStyle) {\n var styleChanged = fabric.util.hasStyleChanged(prevStyle, thisStyle, true);\n if (styleChanged) {\n stylesArray.push({\n start: charIndex,\n end: charIndex + 1,\n style: thisStyle\n });\n }\n else {\n //if style is the same as previous character, increase end index\n stylesArray[stylesArray.length - 1].end++;\n }\n }\n prevStyle = thisStyle || {};\n }\n }\n return stylesArray;\n },\n\n /**\n * Returns the object form of the styles property with styles that are assigned per\n * character rather than grouped by range. This format is more verbose, and is\n * only used during runtime (not for serialization/storage)\n * @memberOf fabric.util\n * @param {Array} styles the serialized form of a text object's styles\n * @param {String} text the text string that the styles are applied to\n * @return {Object}\n */\n stylesFromArray: function(styles, text) {\n if (!Array.isArray(styles)) {\n return styles;\n }\n var textLines = text.split('\\n'),\n charIndex = -1, styleIndex = 0, stylesObject = {};\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n //check if there's a style collection that includes the current character\n if (styles[styleIndex]\n && styles[styleIndex].start <= charIndex\n && charIndex < styles[styleIndex].end) {\n //create object for line index if it doesn't exist\n stylesObject[i] = stylesObject[i] || {};\n //assign a style at this character's index\n stylesObject[i][c] = Object.assign({}, styles[styleIndex].style);\n //if character is at the end of the current style collection, move to the next\n if (charIndex === styles[styleIndex].end - 1) {\n styleIndex++;\n }\n }\n }\n }\n return stylesObject;\n }\n };\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n var _join = Array.prototype.join,\n commandLengths = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7\n },\n repeatedCommands = {\n m: 'l',\n M: 'L'\n };\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var costh2 = fabric.util.cos(th2),\n sinth2 = fabric.util.sin(th2),\n costh3 = fabric.util.cos(th3),\n sinth3 = fabric.util.sin(th3),\n toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1,\n toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1,\n cp1X = fromX + mT * ( -cosTh * rx * sinth2 - sinTh * ry * costh2),\n cp1Y = fromY + mT * ( -sinTh * rx * sinth2 + cosTh * ry * costh2),\n cp2X = toX + mT * ( cosTh * rx * sinth3 + sinTh * ry * costh3),\n cp2Y = toY + mT * ( sinTh * rx * sinth3 - cosTh * ry * costh3);\n\n return ['C',\n cp1X, cp1Y,\n cp2X, cp2Y,\n toX, toY\n ];\n }\n\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */\n function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var PI = Math.PI, th = rotateX * PI / 180,\n sinTh = fabric.util.sin(th),\n cosTh = fabric.util.cos(th),\n fromX = 0, fromY = 0;\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5,\n py = -cosTh * toY * 0.5 + sinTh * toX * 0.5,\n rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px,\n pl = rx2 * ry2 - rx2 * py2 - ry2 * px2,\n root = 0;\n\n if (pl < 0) {\n var s = Math.sqrt(1 - pl / (rx2 * ry2));\n rx *= s;\n ry *= s;\n }\n else {\n root = (large === sweep ? -1.0 : 1.0) *\n Math.sqrt( pl / (rx2 * py2 + ry2 * px2));\n }\n\n var cx = root * rx * py / ry,\n cy = -root * ry * px / rx,\n cx1 = cosTh * cx - sinTh * cy + toX * 0.5,\n cy1 = sinTh * cx + cosTh * cy + toY * 0.5,\n mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry),\n dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n }\n else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)),\n result = [], mDelta = dtheta / segments,\n mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2),\n th3 = mTheta + mDelta;\n\n for (var i = 0; i < segments; i++) {\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][5];\n fromY = result[i][6];\n mTheta = th3;\n th3 += mDelta;\n }\n return result;\n }\n\n /*\n * Private\n */\n function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux),\n tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n }\n else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of bezier\n * @param {Number} y3\n */\n // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n // TODO: can we normalize this with the starting points set at 0 and then translated the bbox?\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString;\n if (fabric.cachesBoundsOfCurve) {\n argsString = _join.call(arguments);\n if (fabric.boundsOfCurveCache[argsString]) {\n return fabric.boundsOfCurveCache[argsString];\n }\n }\n\n var sqrt = Math.sqrt,\n min = Math.min, max = Math.max,\n abs = Math.abs, tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n\n for (var i = 0; i < 2; ++i) {\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length, jlen = j, mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n x = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[0][j] = x;\n\n y = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n bounds[1][j] = y;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n if (fabric.cachesBoundsOfCurve) {\n fabric.boundsOfCurveCache[argsString] = result;\n }\n return result;\n }\n\n /**\n * Converts arc to a bunch of bezier curves\n * @param {Number} fx starting point x\n * @param {Number} fy starting point y\n * @param {Array} coords Arc command\n */\n function fromArcToBeziers(fx, fy, coords) {\n var rx = coords[1],\n ry = coords[2],\n rot = coords[3],\n large = coords[4],\n sweep = coords[5],\n tx = coords[6],\n ty = coords[7],\n segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n\n for (var i = 0, len = segsNorm.length; i < len; i++) {\n segsNorm[i][1] += fx;\n segsNorm[i][2] += fy;\n segsNorm[i][3] += fx;\n segsNorm[i][4] += fy;\n segsNorm[i][5] += fx;\n segsNorm[i][6] += fy;\n }\n return segsNorm;\n };\n\n /**\n * This function take a parsed SVG path and make it simpler for fabricJS logic.\n * simplification consist of: only UPPERCASE absolute commands ( relative converted to absolute )\n * S converted in C, T converted in Q, A converted in C.\n * @param {Array} path the array of commands of a parsed svg path for fabric.Path\n * @return {Array} the simplified array of commands of a parsed svg path for fabric.Path\n */\n function makePathSimpler(path) {\n // x and y represent the last point of the path. the previous command point.\n // we add them to each relative command to make it an absolute comment.\n // we also swap the v V h H with L, because are easier to transform.\n var x = 0, y = 0, len = path.length,\n // x1 and y1 represent the last point of the subpath. the subpath is started with\n // m or M command. When a z or Z command is drawn, x and y need to be resetted to\n // the last x1 and y1.\n x1 = 0, y1 = 0, current, i, converted,\n // previous will host the letter of the previous command, to handle S and T.\n // controlX and controlY will host the previous reflected control point\n destinationPath = [], previous, controlX, controlY;\n for (i = 0; i < len; ++i) {\n converted = false;\n current = path[i].slice(0);\n switch (current[0]) { // first letter\n case 'l': // lineto, relative\n current[0] = 'L';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'L':\n x = current[1];\n y = current[2];\n break;\n case 'h': // horizontal lineto, relative\n current[1] += x;\n // falls through\n case 'H':\n current[0] = 'L';\n current[2] = y;\n x = current[1];\n break;\n case 'v': // vertical lineto, relative\n current[1] += y;\n // falls through\n case 'V':\n current[0] = 'L';\n y = current[1];\n current[1] = x;\n current[2] = y;\n break;\n case 'm': // moveTo, relative\n current[0] = 'M';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'M':\n x = current[1];\n y = current[2];\n x1 = current[1];\n y1 = current[2];\n break;\n case 'c': // bezierCurveTo, relative\n current[0] = 'C';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n current[5] += x;\n current[6] += y;\n // falls through\n case 'C':\n controlX = current[3];\n controlY = current[4];\n x = current[5];\n y = current[6];\n break;\n case 's': // shorthand cubic bezierCurveTo, relative\n current[0] = 'S';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'S':\n // would be sScC but since we are swapping sSc for C, we check just that.\n if (previous === 'C') {\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a C, c, S, or s,\n // the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n x = current[3];\n y = current[4];\n current[0] = 'C';\n current[5] = current[3];\n current[6] = current[4];\n current[3] = current[1];\n current[4] = current[2];\n current[1] = controlX;\n current[2] = controlY;\n // current[3] and current[4] are NOW the second control point.\n // we keep it for the next reflection.\n controlX = current[3];\n controlY = current[4];\n break;\n case 'q': // quadraticCurveTo, relative\n current[0] = 'Q';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'Q':\n controlX = current[1];\n controlY = current[2];\n x = current[3];\n y = current[4];\n break;\n case 't': // shorthand quadraticCurveTo, relative\n current[0] = 'T';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'T':\n if (previous === 'Q') {\n // calculate reflection of previous control point\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n current[0] = 'Q';\n x = current[1];\n y = current[2];\n current[1] = controlX;\n current[2] = controlY;\n current[3] = x;\n current[4] = y;\n break;\n case 'a':\n current[0] = 'A';\n current[6] += x;\n current[7] += y;\n // falls through\n case 'A':\n converted = true;\n destinationPath = destinationPath.concat(fromArcToBeziers(x, y, current));\n x = current[6];\n y = current[7];\n break;\n case 'z':\n case 'Z':\n x = x1;\n y = y1;\n break;\n default:\n }\n if (!converted) {\n destinationPath.push(current);\n }\n previous = current[0];\n }\n return destinationPath;\n };\n\n /**\n * Calc length from point x1,y1 to x2,y2\n * @param {Number} x1 starting point x\n * @param {Number} y1 starting point y\n * @param {Number} x2 starting point x\n * @param {Number} y2 starting point y\n * @return {Number} length of segment\n */\n function calcLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n\n // functions for the Cubic beizer\n // taken from: https://github.com/konvajs/konva/blob/7.0.5/src/shapes/Path.ts#L350\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n\n function getPointOnCubicBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var c1 = CB1(pct), c2 = CB2(pct), c3 = CB3(pct), c4 = CB4(pct);\n return {\n x: p4x * c1 + p3x * c2 + p2x * c3 + p1x * c4,\n y: p4y * c1 + p3y * c2 + p2y * c3 + p1y * c4\n };\n };\n }\n\n function getTangentCubicIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (3 * invT * invT * (p2x - p1x)) + (6 * invT * pct * (p3x - p2x)) +\n (3 * pct * pct * (p4x - p3x)),\n tangentY = (3 * invT * invT * (p2y - p1y)) + (6 * invT * pct * (p3y - p2y)) +\n (3 * pct * pct * (p4y - p3y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n function QB1(t) {\n return t * t;\n }\n\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n\n function getPointOnQuadraticBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var c1 = QB1(pct), c2 = QB2(pct), c3 = QB3(pct);\n return {\n x: p3x * c1 + p2x * c2 + p1x * c3,\n y: p3y * c1 + p2y * c2 + p1y * c3\n };\n };\n }\n\n function getTangentQuadraticIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (2 * invT * (p2x - p1x)) + (2 * pct * (p3x - p2x)),\n tangentY = (2 * invT * (p2y - p1y)) + (2 * pct * (p3y - p2y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n\n // this will run over a path segment ( a cubic or quadratic segment) and approximate it\n // with 100 segemnts. This will good enough to calculate the length of the curve\n function pathIterator(iterator, x1, y1) {\n var tempP = { x: x1, y: y1 }, p, tmpLen = 0, perc;\n for (perc = 1; perc <= 100; perc += 1) {\n p = iterator(perc / 100);\n tmpLen += calcLineLength(tempP.x, tempP.y, p.x, p.y);\n tempP = p;\n }\n return tmpLen;\n }\n\n /**\n * Given a pathInfo, and a distance in pixels, find the percentage from 0 to 1\n * that correspond to that pixels run over the path.\n * The percentage will be then used to find the correct point on the canvas for the path.\n * @param {Array} segInfo fabricJS collection of information on a parsed path\n * @param {Number} distance from starting point, in pixels.\n * @return {Object} info object with x and y ( the point on canvas ) and angle, the tangent on that point;\n */\n function findPercentageForDistance(segInfo, distance) {\n var perc = 0, tmpLen = 0, iterator = segInfo.iterator, tempP = { x: segInfo.x, y: segInfo.y },\n p, nextLen, nextStep = 0.01, angleFinder = segInfo.angleFinder, lastPerc;\n // nextStep > 0.0001 covers 0.00015625 that 1/64th of 1/100\n // the path\n while (tmpLen < distance && nextStep > 0.0001) {\n p = iterator(perc);\n lastPerc = perc;\n nextLen = calcLineLength(tempP.x, tempP.y, p.x, p.y);\n // compare tmpLen each cycle with distance, decide next perc to test.\n if ((nextLen + tmpLen) > distance) {\n // we discard this step and we make smaller steps.\n perc -= nextStep;\n nextStep /= 2;\n }\n else {\n tempP = p;\n perc += nextStep;\n tmpLen += nextLen;\n }\n }\n p.angle = angleFinder(lastPerc);\n return p;\n }\n\n /**\n * Run over a parsed and simplifed path and extrac some informations.\n * informations are length of each command and starting point\n * @param {Array} path fabricJS parsed path commands\n * @return {Array} path commands informations\n */\n function getPathSegmentsInfo(path) {\n var totalLength = 0, len = path.length, current,\n //x2 and y2 are the coords of segment start\n //x1 and y1 are the coords of the current point\n x1 = 0, y1 = 0, x2 = 0, y2 = 0, info = [], iterator, tempInfo, angleFinder;\n for (var i = 0; i < len; i++) {\n current = path[i];\n tempInfo = {\n x: x1,\n y: y1,\n command: current[0],\n };\n switch (current[0]) { //first letter\n case 'M':\n tempInfo.length = 0;\n x2 = x1 = current[1];\n y2 = y1 = current[2];\n break;\n case 'L':\n tempInfo.length = calcLineLength(x1, y1, current[1], current[2]);\n x1 = current[1];\n y1 = current[2];\n break;\n case 'C':\n iterator = getPointOnCubicBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n angleFinder = getTangentCubicIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[5];\n y1 = current[6];\n break;\n case 'Q':\n iterator = getPointOnQuadraticBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n angleFinder = getTangentQuadraticIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[3];\n y1 = current[4];\n break;\n case 'Z':\n case 'z':\n // we add those in order to ease calculations later\n tempInfo.destX = x2;\n tempInfo.destY = y2;\n tempInfo.length = calcLineLength(x1, y1, x2, y2);\n x1 = x2;\n y1 = y2;\n break;\n }\n totalLength += tempInfo.length;\n info.push(tempInfo);\n }\n info.push({ length: totalLength, x: x1, y: y1 });\n return info;\n }\n\n function getPointOnPath(path, distance, infos) {\n if (!infos) {\n infos = getPathSegmentsInfo(path);\n }\n var i = 0;\n while ((distance - infos[i].length > 0) && i < (infos.length - 2)) {\n distance -= infos[i].length;\n i++;\n }\n // var distance = infos[infos.length - 1] * perc;\n var segInfo = infos[i], segPercent = distance / segInfo.length,\n command = segInfo.command, segment = path[i], info;\n\n switch (command) {\n case 'M':\n return { x: segInfo.x, y: segInfo.y, angle: 0 };\n case 'Z':\n case 'z':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segInfo.destX, segInfo.destY),\n segPercent\n );\n info.angle = Math.atan2(segInfo.destY - segInfo.y, segInfo.destX - segInfo.x);\n return info;\n case 'L':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segment[1], segment[2]),\n segPercent\n );\n info.angle = Math.atan2(segment[2] - segInfo.y, segment[1] - segInfo.x);\n return info;\n case 'C':\n return findPercentageForDistance(segInfo, distance);\n case 'Q':\n return findPercentageForDistance(segInfo, distance);\n }\n }\n\n /**\n *\n * @param {string} pathString\n * @return {(string|number)[][]} An array of SVG path commands\n * @example Usage\n * parsePath('M 3 4 Q 3 5 2 1 4 0 Q 9 12 2 1 4 0') === [\n * ['M', 3, 4],\n * ['Q', 3, 5, 2, 1, 4, 0],\n * ['Q', 9, 12, 2, 1, 4, 0],\n * ];\n *\n */\n function parsePath(pathString) {\n var result = [],\n coords = [],\n currentPath,\n parsed,\n re = fabric.rePathCommand,\n rNumber = '[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\\\\s*',\n rNumberCommaWsp = '(' + rNumber + ')' + fabric.commaWsp,\n rFlagCommaWsp = '([01])' + fabric.commaWsp + '?',\n rArcSeq = rNumberCommaWsp + '?' + rNumberCommaWsp + '?' + rNumberCommaWsp + rFlagCommaWsp + rFlagCommaWsp +\n rNumberCommaWsp + '?(' + rNumber + ')',\n regArcArgumentSequence = new RegExp(rArcSeq, 'g'),\n match,\n coordsStr,\n // one of commands (m,M,l,L,q,Q,c,C,etc.) followed by non-command characters (i.e. command values)\n path;\n if (!pathString || !pathString.match) {\n return result;\n }\n path = pathString.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi);\n\n for (var i = 0, coordsParsed, len = path.length; i < len; i++) {\n currentPath = path[i];\n\n coordsStr = currentPath.slice(1).trim();\n coords.length = 0;\n\n var command = currentPath.charAt(0);\n coordsParsed = [command];\n\n if (command.toLowerCase() === 'a') {\n // arcs have special flags that apparently don't require spaces so handle special\n for (var args; (args = regArcArgumentSequence.exec(coordsStr));) {\n for (var j = 1; j < args.length; j++) {\n coords.push(args[j]);\n }\n }\n }\n else {\n while ((match = re.exec(coordsStr))) {\n coords.push(match[0]);\n }\n }\n\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n coordsParsed.push(parsed);\n }\n }\n\n var commandLength = commandLengths[command.toLowerCase()],\n repeatedCommand = repeatedCommands[command] || command;\n\n if (coordsParsed.length - 1 > commandLength) {\n for (var k = 1, klen = coordsParsed.length; k < klen; k += commandLength) {\n result.push([command].concat(coordsParsed.slice(k, k + commandLength)));\n command = repeatedCommand;\n }\n }\n else {\n result.push(coordsParsed);\n }\n }\n\n return result;\n };\n\n /**\n *\n * Converts points to a smooth SVG path\n * @param {{ x: number,y: number }[]} points Array of points\n * @param {number} [correction] Apply a correction to the path (usually we use `width / 1000`). If value is undefined 0 is used as the correction value.\n * @return {(string|number)[][]} An array of SVG path commands\n */\n function getSmoothPathFromPoints(points, correction) {\n var path = [], i,\n p1 = new fabric.Point(points[0].x, points[0].y),\n p2 = new fabric.Point(points[1].x, points[1].y),\n len = points.length, multSignX = 1, multSignY = 0, manyPoints = len > 2;\n correction = correction || 0;\n\n if (manyPoints) {\n multSignX = points[2].x < p2.x ? -1 : points[2].x === p2.x ? 0 : 1;\n multSignY = points[2].y < p2.y ? -1 : points[2].y === p2.y ? 0 : 1;\n }\n path.push(['M', p1.x - multSignX * correction, p1.y - multSignY * correction]);\n for (i = 1; i < len; i++) {\n if (!p1.eq(p2)) {\n var midPoint = p1.midPointFrom(p2);\n // p1 is our bezier control point\n // midpoint is our endpoint\n // start point is p(i-1) value.\n path.push(['Q', p1.x, p1.y, midPoint.x, midPoint.y]);\n }\n p1 = points[i];\n if ((i + 1) < points.length) {\n p2 = points[i + 1];\n }\n }\n if (manyPoints) {\n multSignX = p1.x > points[i - 2].x ? 1 : p1.x === points[i - 2].x ? 0 : -1;\n multSignY = p1.y > points[i - 2].y ? 1 : p1.y === points[i - 2].y ? 0 : -1;\n }\n path.push(['L', p1.x + multSignX * correction, p1.y + multSignY * correction]);\n return path;\n }\n /**\n * Transform a path by transforming each segment.\n * it has to be a simplified path or it won't work.\n * WARNING: this depends from pathOffset for correct operation\n * @param {Array} path fabricJS parsed and simplified path commands\n * @param {Array} transform matrix that represent the transformation\n * @param {Object} [pathOffset] the fabric.Path pathOffset\n * @param {Number} pathOffset.x\n * @param {Number} pathOffset.y\n * @returns {Array} the transformed path\n */\n function transformPath(path, transform, pathOffset) {\n if (pathOffset) {\n transform = fabric.util.multiplyTransformMatrices(\n transform,\n [1, 0, 0, 1, -pathOffset.x, -pathOffset.y]\n );\n }\n return path.map(function(pathSegment) {\n var newSegment = pathSegment.slice(0), point = {};\n for (var i = 1; i < pathSegment.length - 1; i += 2) {\n point.x = pathSegment[i];\n point.y = pathSegment[i + 1];\n point = fabric.util.transformPoint(point, transform);\n newSegment[i] = point.x;\n newSegment[i + 1] = point.y;\n }\n return newSegment;\n });\n }\n\n /**\n * Join path commands to go back to svg format\n * @param {Array} pathData fabricJS parsed path commands\n * @return {String} joined path 'M 0 0 L 20 30'\n */\n fabric.util.joinPath = function(pathData) {\n return pathData.map(function (segment) { return segment.join(' '); }).join(' ');\n };\n fabric.util.parsePath = parsePath;\n fabric.util.makePathSimpler = makePathSimpler;\n fabric.util.getSmoothPathFromPoints = getSmoothPathFromPoints;\n fabric.util.getPathSegmentsInfo = getPathSegmentsInfo;\n fabric.util.getBoundsOfCurve = getBoundsOfCurve;\n fabric.util.getPointOnPath = getPointOnPath;\n fabric.util.transformPath = transformPath;\n})();\n(function() {\n\n var slice = Array.prototype.slice;\n\n /**\n * Invokes method on all items in a given array\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} method Name of a method to invoke\n * @return {Array}\n */\n function invoke(array, method) {\n var args = slice.call(arguments, 2), result = [];\n for (var i = 0, len = array.length; i < len; i++) {\n result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);\n }\n return result;\n }\n\n /**\n * Finds maximum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */\n function max(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 >= value2;\n });\n }\n\n /**\n * Finds minimum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */\n function min(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 < value2;\n });\n }\n\n /**\n * @private\n */\n function fill(array, value) {\n var k = array.length;\n while (k--) {\n array[k] = value;\n }\n return array;\n }\n\n /**\n * @private\n */\n function find(array, byProperty, condition) {\n if (!array || array.length === 0) {\n return;\n }\n\n var i = array.length - 1,\n result = byProperty ? array[i][byProperty] : array[i];\n if (byProperty) {\n while (i--) {\n if (condition(array[i][byProperty], result)) {\n result = array[i][byProperty];\n }\n }\n }\n else {\n while (i--) {\n if (condition(array[i], result)) {\n result = array[i];\n }\n }\n }\n return result;\n }\n\n /**\n * @namespace fabric.util.array\n */\n fabric.util.array = {\n fill: fill,\n invoke: invoke,\n min: min,\n max: max\n };\n\n})();\n(function() {\n /**\n * Copies all enumerable properties of one js object to another\n * this does not and cannot compete with generic utils.\n * Does not clone or extend fabric.Object subclasses.\n * This is mostly for internal use and has extra handling for fabricJS objects\n * it skips the canvas and group properties in deep cloning.\n * @memberOf fabric.util.object\n * @param {Object} destination Where to copy to\n * @param {Object} source Where to copy from\n * @param {Boolean} [deep] Whether to extend nested objects\n * @return {Object}\n */\n\n function extend(destination, source, deep) {\n // JScript DontEnum bug is not taken care of\n // the deep clone is for internal use, is not meant to avoid\n // javascript traps or cloning html element or self referenced objects.\n if (deep) {\n if (!fabric.isLikelyNode && source instanceof Element) {\n // avoid cloning deep images, canvases,\n destination = source;\n }\n else if (source instanceof Array) {\n destination = [];\n for (var i = 0, len = source.length; i < len; i++) {\n destination[i] = extend({ }, source[i], deep);\n }\n }\n else if (source && typeof source === 'object') {\n for (var property in source) {\n if (property === 'canvas' || property === 'group') {\n // we do not want to clone this props at all.\n // we want to keep the keys in the copy\n destination[property] = null;\n }\n else if (source.hasOwnProperty(property)) {\n destination[property] = extend({ }, source[property], deep);\n }\n }\n }\n else {\n // this sounds odd for an extend but is ok for recursive use\n destination = source;\n }\n }\n else {\n for (var property in source) {\n destination[property] = source[property];\n }\n }\n return destination;\n }\n\n /**\n * Creates an empty object and copies all enumerable properties of another object to it\n * This method is mostly for internal use, and not intended for duplicating shapes in canvas. \n * @memberOf fabric.util.object\n * @param {Object} object Object to clone\n * @param {Boolean} [deep] Whether to clone nested objects\n * @return {Object}\n */\n\n //TODO: this function return an empty object if you try to clone null\n function clone(object, deep) {\n return extend({ }, object, deep);\n }\n\n /** @namespace fabric.util.object */\n fabric.util.object = {\n extend: extend,\n clone: clone\n };\n fabric.util.object.extend(fabric.util, fabric.Observable);\n})();\n(function() {\n\n /**\n * Camelizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to camelize\n * @return {String} Camelized version of a string\n */\n function camelize(string) {\n return string.replace(/-+(.)?/g, function(match, character) {\n return character ? character.toUpperCase() : '';\n });\n }\n\n /**\n * Capitalizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to capitalize\n * @param {Boolean} [firstLetterOnly] If true only first letter is capitalized\n * and other letters stay untouched, if false first letter is capitalized\n * and other letters are converted to lowercase.\n * @return {String} Capitalized version of a string\n */\n function capitalize(string, firstLetterOnly) {\n return string.charAt(0).toUpperCase() +\n (firstLetterOnly ? string.slice(1) : string.slice(1).toLowerCase());\n }\n\n /**\n * Escapes XML in a string\n * @memberOf fabric.util.string\n * @param {String} string String to escape\n * @return {String} Escaped version of a string\n */\n function escapeXml(string) {\n return string.replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n }\n\n /**\n * Divide a string in the user perceived single units\n * @memberOf fabric.util.string\n * @param {String} textstring String to escape\n * @return {Array} array containing the graphemes\n */\n function graphemeSplit(textstring) {\n var i = 0, chr, graphemes = [];\n for (i = 0, chr; i < textstring.length; i++) {\n if ((chr = getWholeChar(textstring, i)) === false) {\n continue;\n }\n graphemes.push(chr);\n }\n return graphemes;\n }\n\n // taken from mdn in the charAt doc page.\n function getWholeChar(str, i) {\n var code = str.charCodeAt(i);\n\n if (isNaN(code)) {\n return ''; // Position not found\n }\n if (code < 0xD800 || code > 0xDFFF) {\n return str.charAt(i);\n }\n\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 <= code && code <= 0xDBFF) {\n if (str.length <= (i + 1)) {\n throw 'High surrogate without following low surrogate';\n }\n var next = str.charCodeAt(i + 1);\n if (0xDC00 > next || next > 0xDFFF) {\n throw 'High surrogate without following low surrogate';\n }\n return str.charAt(i) + str.charAt(i + 1);\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw 'Low surrogate without preceding high surrogate';\n }\n var prev = str.charCodeAt(i - 1);\n\n // (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 > prev || prev > 0xDBFF) {\n throw 'Low surrogate without preceding high surrogate';\n }\n // We can pass over low surrogates now as the second component\n // in a pair which we have already processed\n return false;\n }\n\n\n /**\n * String utilities\n * @namespace fabric.util.string\n */\n fabric.util.string = {\n camelize: camelize,\n capitalize: capitalize,\n escapeXml: escapeXml,\n graphemeSplit: graphemeSplit\n };\n})();\n(function() {\n\n var slice = Array.prototype.slice, emptyFunction = function() { },\n\n IS_DONTENUM_BUGGY = (function() {\n for (var p in { toString: 1 }) {\n if (p === 'toString') {\n return false;\n }\n }\n return true;\n })(),\n\n /** @ignore */\n addMethods = function(klass, source, parent) {\n for (var property in source) {\n\n if (property in klass.prototype &&\n typeof klass.prototype[property] === 'function' &&\n (source[property] + '').indexOf('callSuper') > -1) {\n\n klass.prototype[property] = (function(property) {\n return function() {\n\n var superclass = this.constructor.superclass;\n this.constructor.superclass = parent;\n var returnValue = source[property].apply(this, arguments);\n this.constructor.superclass = superclass;\n\n if (property !== 'initialize') {\n return returnValue;\n }\n };\n })(property);\n }\n else {\n klass.prototype[property] = source[property];\n }\n\n if (IS_DONTENUM_BUGGY) {\n if (source.toString !== Object.prototype.toString) {\n klass.prototype.toString = source.toString;\n }\n if (source.valueOf !== Object.prototype.valueOf) {\n klass.prototype.valueOf = source.valueOf;\n }\n }\n }\n };\n\n function Subclass() { }\n\n function callSuper(methodName) {\n var parentMethod = null,\n _this = this;\n\n // climb prototype chain to find method not equal to callee's method\n while (_this.constructor.superclass) {\n var superClassMethod = _this.constructor.superclass.prototype[methodName];\n if (_this[methodName] !== superClassMethod) {\n parentMethod = superClassMethod;\n break;\n }\n // eslint-disable-next-line\n _this = _this.constructor.superclass.prototype;\n }\n\n if (!parentMethod) {\n return console.log('tried to callSuper ' + methodName + ', method not found in prototype chain', this);\n }\n\n return (arguments.length > 1)\n ? parentMethod.apply(this, slice.call(arguments, 1))\n : parentMethod.call(this);\n }\n\n /**\n * Helper for creation of \"classes\".\n * @memberOf fabric.util\n * @param {Function} [parent] optional \"Class\" to inherit from\n * @param {Object} [properties] Properties shared by all instances of this class\n * (be careful modifying objects defined here as this would affect all instances)\n */\n function createClass() {\n var parent = null,\n properties = slice.call(arguments, 0);\n\n if (typeof properties[0] === 'function') {\n parent = properties.shift();\n }\n function klass() {\n this.initialize.apply(this, arguments);\n }\n\n klass.superclass = parent;\n klass.subclasses = [];\n\n if (parent) {\n Subclass.prototype = parent.prototype;\n klass.prototype = new Subclass();\n parent.subclasses.push(klass);\n }\n for (var i = 0, length = properties.length; i < length; i++) {\n addMethods(klass, properties[i], parent);\n }\n if (!klass.prototype.initialize) {\n klass.prototype.initialize = emptyFunction;\n }\n klass.prototype.constructor = klass;\n klass.prototype.callSuper = callSuper;\n return klass;\n }\n\n fabric.util.createClass = createClass;\n})();\n(function () {\n // since ie11 can use addEventListener but they do not support options, i need to check\n var couldUseAttachEvent = !!fabric.document.createElement('div').attachEvent,\n touchEvents = ['touchstart', 'touchmove', 'touchend'];\n /**\n * Adds an event listener to an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.addListener = function(element, eventName, handler, options) {\n element && element.addEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n\n /**\n * Removes an event listener from an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.removeListener = function(element, eventName, handler, options) {\n element && element.removeEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n\n function getTouchInfo(event) {\n var touchProp = event.changedTouches;\n if (touchProp && touchProp[0]) {\n return touchProp[0];\n }\n return event;\n }\n\n fabric.util.getPointer = function(event) {\n var element = event.target,\n scroll = fabric.util.getScrollLeftTop(element),\n _evt = getTouchInfo(event);\n return {\n x: _evt.clientX + scroll.left,\n y: _evt.clientY + scroll.top\n };\n };\n\n fabric.util.isTouchEvent = function(event) {\n return touchEvents.indexOf(event.type) > -1 || event.pointerType === 'touch';\n };\n})();\n(function () {\n\n /**\n * Cross-browser wrapper for setting element's style\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {HTMLElement} Element that was passed as a first argument\n */\n function setStyle(element, styles) {\n var elementStyle = element.style;\n if (!elementStyle) {\n return element;\n }\n if (typeof styles === 'string') {\n element.style.cssText += ';' + styles;\n return styles.indexOf('opacity') > -1\n ? setOpacity(element, styles.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1])\n : element;\n }\n for (var property in styles) {\n if (property === 'opacity') {\n setOpacity(element, styles[property]);\n }\n else {\n var normalizedProperty = (property === 'float' || property === 'cssFloat')\n ? (typeof elementStyle.styleFloat === 'undefined' ? 'cssFloat' : 'styleFloat')\n : property;\n elementStyle.setProperty(normalizedProperty, styles[property]);\n }\n }\n return element;\n }\n\n var parseEl = fabric.document.createElement('div'),\n supportsOpacity = typeof parseEl.style.opacity === 'string',\n supportsFilters = typeof parseEl.style.filter === 'string',\n reOpacity = /alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/,\n\n /** @ignore */\n setOpacity = function (element) { return element; };\n\n if (supportsOpacity) {\n /** @ignore */\n setOpacity = function(element, value) {\n element.style.opacity = value;\n return element;\n };\n }\n else if (supportsFilters) {\n /** @ignore */\n setOpacity = function(element, value) {\n var es = element.style;\n if (element.currentStyle && !element.currentStyle.hasLayout) {\n es.zoom = 1;\n }\n if (reOpacity.test(es.filter)) {\n value = value >= 0.9999 ? '' : ('alpha(opacity=' + (value * 100) + ')');\n es.filter = es.filter.replace(reOpacity, value);\n }\n else {\n es.filter += ' alpha(opacity=' + (value * 100) + ')';\n }\n return element;\n };\n }\n\n fabric.util.setStyle = setStyle;\n\n})();\n(function() {\n\n var _slice = Array.prototype.slice;\n\n /**\n * Takes id and returns an element with that id (if one exists in a document)\n * @memberOf fabric.util\n * @param {String|HTMLElement} id\n * @return {HTMLElement|null}\n */\n function getById(id) {\n return typeof id === 'string' ? fabric.document.getElementById(id) : id;\n }\n\n var sliceCanConvertNodelists,\n /**\n * Converts an array-like object (e.g. arguments or NodeList) to an array\n * @memberOf fabric.util\n * @param {Object} arrayLike\n * @return {Array}\n */\n toArray = function(arrayLike) {\n return _slice.call(arrayLike, 0);\n };\n\n try {\n sliceCanConvertNodelists = toArray(fabric.document.childNodes) instanceof Array;\n }\n catch (err) { }\n\n if (!sliceCanConvertNodelists) {\n toArray = function(arrayLike) {\n var arr = new Array(arrayLike.length), i = arrayLike.length;\n while (i--) {\n arr[i] = arrayLike[i];\n }\n return arr;\n };\n }\n\n /**\n * Creates specified element with specified attributes\n * @memberOf fabric.util\n * @param {String} tagName Type of an element to create\n * @param {Object} [attributes] Attributes to set on an element\n * @return {HTMLElement} Newly created element\n */\n function makeElement(tagName, attributes) {\n var el = fabric.document.createElement(tagName);\n for (var prop in attributes) {\n if (prop === 'class') {\n el.className = attributes[prop];\n }\n else if (prop === 'for') {\n el.htmlFor = attributes[prop];\n }\n else {\n el.setAttribute(prop, attributes[prop]);\n }\n }\n return el;\n }\n\n /**\n * Adds class to an element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to add class to\n * @param {String} className Class to add to an element\n */\n function addClass(element, className) {\n if (element && (' ' + element.className + ' ').indexOf(' ' + className + ' ') === -1) {\n element.className += (element.className ? ' ' : '') + className;\n }\n }\n\n /**\n * Wraps element with another element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to wrap\n * @param {HTMLElement|String} wrapper Element to wrap with\n * @param {Object} [attributes] Attributes to set on a wrapper\n * @return {HTMLElement} wrapper\n */\n function wrapElement(element, wrapper, attributes) {\n if (typeof wrapper === 'string') {\n wrapper = makeElement(wrapper, attributes);\n }\n if (element.parentNode) {\n element.parentNode.replaceChild(wrapper, element);\n }\n wrapper.appendChild(element);\n return wrapper;\n }\n\n /**\n * Returns element scroll offsets\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to operate on\n * @return {Object} Object with left/top values\n */\n function getScrollLeftTop(element) {\n\n var left = 0,\n top = 0,\n docElement = fabric.document.documentElement,\n body = fabric.document.body || {\n scrollLeft: 0, scrollTop: 0\n };\n\n // While loop checks (and then sets element to) .parentNode OR .host\n // to account for ShadowDOM. We still want to traverse up out of ShadowDOM,\n // but the .parentNode of a root ShadowDOM node will always be null, instead\n // it should be accessed through .host. See http://stackoverflow.com/a/24765528/4383938\n while (element && (element.parentNode || element.host)) {\n\n // Set element to element parent, or 'host' in case of ShadowDOM\n element = element.parentNode || element.host;\n\n if (element === fabric.document) {\n left = body.scrollLeft || docElement.scrollLeft || 0;\n top = body.scrollTop || docElement.scrollTop || 0;\n }\n else {\n left += element.scrollLeft || 0;\n top += element.scrollTop || 0;\n }\n\n if (element.nodeType === 1 && element.style.position === 'fixed') {\n break;\n }\n }\n\n return { left: left, top: top };\n }\n\n /**\n * Returns offset for a given element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get offset for\n * @return {Object} Object with \"left\" and \"top\" properties\n */\n function getElementOffset(element) {\n var docElem,\n doc = element && element.ownerDocument,\n box = { left: 0, top: 0 },\n offset = { left: 0, top: 0 },\n scrollLeftTop,\n offsetAttributes = {\n borderLeftWidth: 'left',\n borderTopWidth: 'top',\n paddingLeft: 'left',\n paddingTop: 'top'\n };\n\n if (!doc) {\n return offset;\n }\n\n for (var attr in offsetAttributes) {\n offset[offsetAttributes[attr]] += parseInt(getElementStyle(element, attr), 10) || 0;\n }\n\n docElem = doc.documentElement;\n if ( typeof element.getBoundingClientRect !== 'undefined' ) {\n box = element.getBoundingClientRect();\n }\n\n scrollLeftTop = getScrollLeftTop(element);\n\n return {\n left: box.left + scrollLeftTop.left - (docElem.clientLeft || 0) + offset.left,\n top: box.top + scrollLeftTop.top - (docElem.clientTop || 0) + offset.top\n };\n }\n\n /**\n * Returns style attribute value of a given element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get style attribute for\n * @param {String} attr Style attribute to get for element\n * @return {String} Style attribute value of the given element.\n */\n var getElementStyle;\n if (fabric.document.defaultView && fabric.document.defaultView.getComputedStyle) {\n getElementStyle = function(element, attr) {\n var style = fabric.document.defaultView.getComputedStyle(element, null);\n return style ? style[attr] : undefined;\n };\n }\n else {\n getElementStyle = function(element, attr) {\n var value = element.style[attr];\n if (!value && element.currentStyle) {\n value = element.currentStyle[attr];\n }\n return value;\n };\n }\n\n (function () {\n var style = fabric.document.documentElement.style,\n selectProp = 'userSelect' in style\n ? 'userSelect'\n : 'MozUserSelect' in style\n ? 'MozUserSelect'\n : 'WebkitUserSelect' in style\n ? 'WebkitUserSelect'\n : 'KhtmlUserSelect' in style\n ? 'KhtmlUserSelect'\n : '';\n\n /**\n * Makes element unselectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make unselectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementUnselectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = fabric.util.falseFunction;\n }\n if (selectProp) {\n element.style[selectProp] = 'none';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = 'on';\n }\n return element;\n }\n\n /**\n * Makes element selectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make selectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementSelectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = null;\n }\n if (selectProp) {\n element.style[selectProp] = '';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = '';\n }\n return element;\n }\n\n fabric.util.makeElementUnselectable = makeElementUnselectable;\n fabric.util.makeElementSelectable = makeElementSelectable;\n })();\n\n function getNodeCanvas(element) {\n var impl = fabric.jsdomImplForWrapper(element);\n return impl._canvas || impl._image;\n };\n\n function cleanUpJsdomNode(element) {\n if (!fabric.isLikelyNode) {\n return;\n }\n var impl = fabric.jsdomImplForWrapper(element);\n if (impl) {\n impl._image = null;\n impl._canvas = null;\n // unsure if necessary\n impl._currentSrc = null;\n impl._attributes = null;\n impl._classList = null;\n }\n }\n\n function setImageSmoothing(ctx, value) {\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled || ctx.webkitImageSmoothingEnabled\n || ctx.mozImageSmoothingEnabled || ctx.msImageSmoothingEnabled || ctx.oImageSmoothingEnabled;\n ctx.imageSmoothingEnabled = value;\n }\n\n /**\n * setImageSmoothing sets the context imageSmoothingEnabled property.\n * Used by canvas and by ImageObject.\n * @memberOf fabric.util\n * @since 4.0.0\n * @param {HTMLRenderingContext2D} ctx to set on\n * @param {Boolean} value true or false\n */\n fabric.util.setImageSmoothing = setImageSmoothing;\n fabric.util.getById = getById;\n fabric.util.toArray = toArray;\n fabric.util.addClass = addClass;\n fabric.util.makeElement = makeElement;\n fabric.util.wrapElement = wrapElement;\n fabric.util.getScrollLeftTop = getScrollLeftTop;\n fabric.util.getElementOffset = getElementOffset;\n fabric.util.getNodeCanvas = getNodeCanvas;\n fabric.util.cleanUpJsdomNode = cleanUpJsdomNode;\n\n})();\n(function() {\n\n function addParamToUrl(url, param) {\n return url + (/\\?/.test(url) ? '&' : '?') + param;\n }\n\n function emptyFn() { }\n\n /**\n * Cross-browser abstraction for sending XMLHttpRequest\n * @memberOf fabric.util\n * @param {String} url URL to send XMLHttpRequest to\n * @param {Object} [options] Options object\n * @param {String} [options.method=\"GET\"]\n * @param {String} [options.parameters] parameters to append to url in GET or in body\n * @param {String} [options.body] body to send with POST or PUT request\n * @param {Function} options.onComplete Callback to invoke when request is completed\n * @return {XMLHttpRequest} request\n */\n function request(url, options) {\n options || (options = { });\n\n var method = options.method ? options.method.toUpperCase() : 'GET',\n onComplete = options.onComplete || function() { },\n xhr = new fabric.window.XMLHttpRequest(),\n body = options.body || options.parameters;\n\n /** @ignore */\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n onComplete(xhr);\n xhr.onreadystatechange = emptyFn;\n }\n };\n\n if (method === 'GET') {\n body = null;\n if (typeof options.parameters === 'string') {\n url = addParamToUrl(url, options.parameters);\n }\n }\n\n xhr.open(method, url, true);\n\n if (method === 'POST' || method === 'PUT') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n\n xhr.send(body);\n return xhr;\n }\n\n fabric.util.request = request;\n})();\n/**\n * Wrapper around `console.log` (when available)\n * @param {*} [values] Values to log\n */\nfabric.log = console.log;\n\n/**\n * Wrapper around `console.warn` (when available)\n * @param {*} [values] Values to log as a warning\n */\nfabric.warn = console.warn;\n(function () {\n\n var extend = fabric.util.object.extend,\n clone = fabric.util.object.clone;\n\n /**\n * @typedef {Object} AnimationOptions\n * Animation of a value or list of values.\n * When using lists, think of something like this:\n * fabric.util.animate({\n * startValue: [1, 2, 3],\n * endValue: [2, 4, 6],\n * onChange: function([a, b, c]) {\n * canvas.zoomToPoint({x: b, y: c}, a)\n * canvas.renderAll()\n * }\n * });\n * @example\n * @property {Function} [onChange] Callback; invoked on every value change\n * @property {Function} [onComplete] Callback; invoked when value change is completed\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * var animationOptions = { startValue: 0, endValue: 1, byValue: 0.25 }\n * var animationOptions = { startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] }\n * @property {number | number[]} [startValue=0] Starting value\n * @property {number | number[]} [endValue=100] Ending value\n * @property {number | number[]} [byValue=100] Value to modify the property by\n * @property {Function} [easing] Easing function\n * @property {Number} [duration=500] Duration of change (in ms)\n * @property {Function} [abort] Additional function with logic. If returns true, animation aborts.\n *\n * @typedef {() => void} CancelFunction\n *\n * @typedef {Object} AnimationCurrentState\n * @property {number | number[]} currentValue value in range [`startValue`, `endValue`]\n * @property {number} completionRate value in range [0, 1]\n * @property {number} durationRate value in range [0, 1]\n *\n * @typedef {(AnimationOptions & AnimationCurrentState & { cancel: CancelFunction }} AnimationContext\n */\n\n /**\n * Array holding all running animations\n * @memberof fabric\n * @type {AnimationContext[]}\n */\n var RUNNING_ANIMATIONS = [];\n fabric.util.object.extend(RUNNING_ANIMATIONS, {\n\n /**\n * cancel all running animations at the next requestAnimFrame\n * @returns {AnimationContext[]}\n */\n cancelAll: function () {\n var animations = this.splice(0);\n animations.forEach(function (animation) {\n animation.cancel();\n });\n return animations;\n },\n\n /**\n * cancel all running animations attached to canvas at the next requestAnimFrame\n * @param {fabric.Canvas} canvas\n * @returns {AnimationContext[]}\n */\n cancelByCanvas: function (canvas) {\n if (!canvas) {\n return [];\n }\n var cancelled = this.filter(function (animation) {\n return typeof animation.target === 'object' && animation.target.canvas === canvas;\n });\n cancelled.forEach(function (animation) {\n animation.cancel();\n });\n return cancelled;\n },\n\n /**\n * cancel all running animations for target at the next requestAnimFrame\n * @param {*} target\n * @returns {AnimationContext[]}\n */\n cancelByTarget: function (target) {\n var cancelled = this.findAnimationsByTarget(target);\n cancelled.forEach(function (animation) {\n animation.cancel();\n });\n return cancelled;\n },\n\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {number}\n */\n findAnimationIndex: function (cancelFunc) {\n return this.indexOf(this.findAnimation(cancelFunc));\n },\n\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {AnimationContext | undefined} animation's options object\n */\n findAnimation: function (cancelFunc) {\n return this.find(function (animation) {\n return animation.cancel === cancelFunc;\n });\n },\n\n /**\n *\n * @param {*} target the object that is assigned to the target property of the animation context\n * @returns {AnimationContext[]} array of animation options object associated with target\n */\n findAnimationsByTarget: function (target) {\n if (!target) {\n return [];\n }\n return this.filter(function (animation) {\n return animation.target === target;\n });\n }\n });\n\n function noop() {\n return false;\n }\n\n function defaultEasing(t, b, c, d) {\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n }\n\n /**\n * Changes value from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {AnimationOptions} [options] Animation options\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * fabric.util.animate({ startValue: 0, endValue: 1, byValue: 0.25 })\n * fabric.util.animate({ startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] })\n * @returns {CancelFunction} cancel function\n */\n function animate(options) {\n options || (options = {});\n var cancel = false,\n context,\n removeFromRegistry = function () {\n var index = fabric.runningAnimations.indexOf(context);\n return index > -1 && fabric.runningAnimations.splice(index, 1)[0];\n };\n\n context = extend(clone(options), {\n cancel: function () {\n cancel = true;\n return removeFromRegistry();\n },\n currentValue: 'startValue' in options ? options.startValue : 0,\n completionRate: 0,\n durationRate: 0\n });\n fabric.runningAnimations.push(context);\n\n requestAnimFrame(function(timestamp) {\n var start = timestamp || +new Date(),\n duration = options.duration || 500,\n finish = start + duration, time,\n onChange = options.onChange || noop,\n abort = options.abort || noop,\n onComplete = options.onComplete || noop,\n easing = options.easing || defaultEasing,\n isMany = 'startValue' in options ? options.startValue.length > 0 : false,\n startValue = 'startValue' in options ? options.startValue : 0,\n endValue = 'endValue' in options ? options.endValue : 100,\n byValue = options.byValue || (isMany ? startValue.map(function(value, i) {\n return endValue[i] - startValue[i];\n }) : endValue - startValue);\n\n options.onStart && options.onStart();\n\n (function tick(ticktime) {\n time = ticktime || +new Date();\n var currentTime = time > finish ? duration : (time - start),\n timePerc = currentTime / duration,\n current = isMany ? startValue.map(function(_value, i) {\n return easing(currentTime, startValue[i], byValue[i], duration);\n }) : easing(currentTime, startValue, byValue, duration),\n valuePerc = isMany ? Math.abs((current[0] - startValue[0]) / byValue[0])\n : Math.abs((current - startValue) / byValue);\n // update context\n context.currentValue = isMany ? current.slice() : current;\n context.completionRate = valuePerc;\n context.durationRate = timePerc;\n if (cancel) {\n return;\n }\n if (abort(current, valuePerc, timePerc)) {\n removeFromRegistry();\n return;\n }\n if (time > finish) {\n // update context\n context.currentValue = isMany ? endValue.slice() : endValue;\n context.completionRate = 1;\n context.durationRate = 1;\n // execute callbacks\n onChange(isMany ? endValue.slice() : endValue, 1, 1);\n onComplete(endValue, 1, 1);\n removeFromRegistry();\n return;\n }\n else {\n onChange(current, valuePerc, timePerc);\n requestAnimFrame(tick);\n }\n })(start);\n });\n\n return context.cancel;\n }\n\n var _requestAnimFrame = fabric.window.requestAnimationFrame ||\n fabric.window.webkitRequestAnimationFrame ||\n fabric.window.mozRequestAnimationFrame ||\n fabric.window.oRequestAnimationFrame ||\n fabric.window.msRequestAnimationFrame ||\n function(callback) {\n return fabric.window.setTimeout(callback, 1000 / 60);\n };\n\n var _cancelAnimFrame = fabric.window.cancelAnimationFrame || fabric.window.clearTimeout;\n\n /**\n * requestAnimationFrame polyfill based on http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * In order to get a precise start time, `requestAnimFrame` should be called as an entry into the method\n * @memberOf fabric.util\n * @param {Function} callback Callback to invoke\n * @param {DOMElement} element optional Element to associate with animation\n */\n function requestAnimFrame() {\n return _requestAnimFrame.apply(fabric.window, arguments);\n }\n\n function cancelAnimFrame() {\n return _cancelAnimFrame.apply(fabric.window, arguments);\n }\n\n fabric.util.animate = animate;\n fabric.util.requestAnimFrame = requestAnimFrame;\n fabric.util.cancelAnimFrame = cancelAnimFrame;\n fabric.runningAnimations = RUNNING_ANIMATIONS;\n})();\n(function() {\n // Calculate an in-between color. Returns a \"rgba()\" string.\n // Credit: Edwin Martin \n // http://www.bitstorm.org/jquery/color-animation/jquery.animate-colors.js\n function calculateColor(begin, end, pos) {\n var color = 'rgba('\n + parseInt((begin[0] + pos * (end[0] - begin[0])), 10) + ','\n + parseInt((begin[1] + pos * (end[1] - begin[1])), 10) + ','\n + parseInt((begin[2] + pos * (end[2] - begin[2])), 10);\n\n color += ',' + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1);\n color += ')';\n return color;\n }\n\n /**\n * Changes the color from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {String} fromColor The starting color in hex or rgb(a) format.\n * @param {String} toColor The starting color in hex or rgb(a) format.\n * @param {Number} [duration] Duration of change (in ms).\n * @param {Object} [options] Animation options\n * @param {Function} [options.onChange] Callback; invoked on every value change\n * @param {Function} [options.onComplete] Callback; invoked when value change is completed\n * @param {Function} [options.colorEasing] Easing function. Note that this function only take two arguments (currentTime, duration). Thus the regular animation easing functions cannot be used.\n * @param {Function} [options.abort] Additional function with logic. If returns true, onComplete is called.\n * @returns {Function} abort function\n */\n function animateColor(fromColor, toColor, duration, options) {\n var startColor = new fabric.Color(fromColor).getSource(),\n endColor = new fabric.Color(toColor).getSource(),\n originalOnComplete = options.onComplete,\n originalOnChange = options.onChange;\n options = options || {};\n\n return fabric.util.animate(fabric.util.object.extend(options, {\n duration: duration || 500,\n startValue: startColor,\n endValue: endColor,\n byValue: endColor,\n easing: function (currentTime, startValue, byValue, duration) {\n var posValue = options.colorEasing\n ? options.colorEasing(currentTime, duration)\n : 1 - Math.cos(currentTime / duration * (Math.PI / 2));\n return calculateColor(startValue, byValue, posValue);\n },\n // has to take in account for color restoring;\n onComplete: function(current, valuePerc, timePerc) {\n if (originalOnComplete) {\n return originalOnComplete(\n calculateColor(endColor, endColor, 0),\n valuePerc,\n timePerc\n );\n }\n },\n onChange: function(current, valuePerc, timePerc) {\n if (originalOnChange) {\n if (Array.isArray(current)) {\n return originalOnChange(\n calculateColor(current, current, 0),\n valuePerc,\n timePerc\n );\n }\n originalOnChange(current, valuePerc, timePerc);\n }\n }\n }));\n }\n\n fabric.util.animateColor = animateColor;\n\n})();\n(function(global) {\n\n 'use strict';\n\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Point) {\n fabric.warn('fabric.Point is already defined');\n return;\n }\n\n fabric.Point = Point;\n\n /**\n * Point class\n * @class fabric.Point\n * @memberOf fabric\n * @constructor\n * @param {Number} x\n * @param {Number} y\n * @return {fabric.Point} thisArg\n */\n function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n\n Point.prototype = /** @lends fabric.Point.prototype */ {\n\n type: 'point',\n\n constructor: Point,\n\n /**\n * Adds another point to this one and returns another one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point instance with added values\n */\n add: function (that) {\n return new Point(this.x + that.x, this.y + that.y);\n },\n\n /**\n * Adds another point to this one\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */\n addEquals: function (that) {\n this.x += that.x;\n this.y += that.y;\n return this;\n },\n\n /**\n * Adds value to this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point} new Point with added value\n */\n scalarAdd: function (scalar) {\n return new Point(this.x + scalar, this.y + scalar);\n },\n\n /**\n * Adds value to this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n scalarAddEquals: function (scalar) {\n this.x += scalar;\n this.y += scalar;\n return this;\n },\n\n /**\n * Subtracts another point from this point and returns a new one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point object with subtracted values\n */\n subtract: function (that) {\n return new Point(this.x - that.x, this.y - that.y);\n },\n\n /**\n * Subtracts another point from this point\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */\n subtractEquals: function (that) {\n this.x -= that.x;\n this.y -= that.y;\n return this;\n },\n\n /**\n * Subtracts value from this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n scalarSubtract: function (scalar) {\n return new Point(this.x - scalar, this.y - scalar);\n },\n\n /**\n * Subtracts value from this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n scalarSubtractEquals: function (scalar) {\n this.x -= scalar;\n this.y -= scalar;\n return this;\n },\n\n /**\n * Multiplies this point by a value and returns a new one\n * TODO: rename in scalarMultiply in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n multiply: function (scalar) {\n return new Point(this.x * scalar, this.y * scalar);\n },\n\n /**\n * Multiplies this point by a value\n * TODO: rename in scalarMultiplyEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n multiplyEquals: function (scalar) {\n this.x *= scalar;\n this.y *= scalar;\n return this;\n },\n\n /**\n * Divides this point by a value and returns a new one\n * TODO: rename in scalarDivide in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n divide: function (scalar) {\n return new Point(this.x / scalar, this.y / scalar);\n },\n\n /**\n * Divides this point by a value\n * TODO: rename in scalarDivideEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n divideEquals: function (scalar) {\n this.x /= scalar;\n this.y /= scalar;\n return this;\n },\n\n /**\n * Returns true if this point is equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n eq: function (that) {\n return (this.x === that.x && this.y === that.y);\n },\n\n /**\n * Returns true if this point is less than another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n lt: function (that) {\n return (this.x < that.x && this.y < that.y);\n },\n\n /**\n * Returns true if this point is less than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n lte: function (that) {\n return (this.x <= that.x && this.y <= that.y);\n },\n\n /**\n\n * Returns true if this point is greater another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n gt: function (that) {\n return (this.x > that.x && this.y > that.y);\n },\n\n /**\n * Returns true if this point is greater than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n gte: function (that) {\n return (this.x >= that.x && this.y >= that.y);\n },\n\n /**\n * Returns new point which is the result of linear interpolation with this one and another one\n * @param {fabric.Point} that\n * @param {Number} t , position of interpolation, between 0 and 1 default 0.5\n * @return {fabric.Point}\n */\n lerp: function (that, t) {\n if (typeof t === 'undefined') {\n t = 0.5;\n }\n t = Math.max(Math.min(1, t), 0);\n return new Point(this.x + (that.x - this.x) * t, this.y + (that.y - this.y) * t);\n },\n\n /**\n * Returns distance from this point and another one\n * @param {fabric.Point} that\n * @return {Number}\n */\n distanceFrom: function (that) {\n var dx = this.x - that.x,\n dy = this.y - that.y;\n return Math.sqrt(dx * dx + dy * dy);\n },\n\n /**\n * Returns the point between this point and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n midPointFrom: function (that) {\n return this.lerp(that);\n },\n\n /**\n * Returns a new point which is the min of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n min: function (that) {\n return new Point(Math.min(this.x, that.x), Math.min(this.y, that.y));\n },\n\n /**\n * Returns a new point which is the max of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n max: function (that) {\n return new Point(Math.max(this.x, that.x), Math.max(this.y, that.y));\n },\n\n /**\n * Returns string representation of this point\n * @return {String}\n */\n toString: function () {\n return this.x + ',' + this.y;\n },\n\n /**\n * Sets x/y of this point\n * @param {Number} x\n * @param {Number} y\n * @chainable\n */\n setXY: function (x, y) {\n this.x = x;\n this.y = y;\n return this;\n },\n\n /**\n * Sets x of this point\n * @param {Number} x\n * @chainable\n */\n setX: function (x) {\n this.x = x;\n return this;\n },\n\n /**\n * Sets y of this point\n * @param {Number} y\n * @chainable\n */\n setY: function (y) {\n this.y = y;\n return this;\n },\n\n /**\n * Sets x/y of this point from another point\n * @param {fabric.Point} that\n * @chainable\n */\n setFromPoint: function (that) {\n this.x = that.x;\n this.y = that.y;\n return this;\n },\n\n /**\n * Swaps x/y of this point and another point\n * @param {fabric.Point} that\n */\n swap: function (that) {\n var x = this.x,\n y = this.y;\n this.x = that.x;\n this.y = that.y;\n that.x = x;\n that.y = y;\n },\n\n /**\n * return a cloned instance of the point\n * @return {fabric.Point}\n */\n clone: function () {\n return new Point(this.x, this.y);\n }\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Intersection) {\n fabric.warn('fabric.Intersection is already defined');\n return;\n }\n\n /**\n * Intersection class\n * @class fabric.Intersection\n * @memberOf fabric\n * @constructor\n */\n function Intersection(status) {\n this.status = status;\n this.points = [];\n }\n\n fabric.Intersection = Intersection;\n\n fabric.Intersection.prototype = /** @lends fabric.Intersection.prototype */ {\n\n constructor: Intersection,\n\n /**\n * Appends a point to intersection\n * @param {fabric.Point} point\n * @return {fabric.Intersection} thisArg\n * @chainable\n */\n appendPoint: function (point) {\n this.points.push(point);\n return this;\n },\n\n /**\n * Appends points to intersection\n * @param {Array} points\n * @return {fabric.Intersection} thisArg\n * @chainable\n */\n appendPoints: function (points) {\n this.points = this.points.concat(points);\n return this;\n }\n };\n\n /**\n * Checks if one line intersects another\n * TODO: rename in intersectSegmentSegment\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {fabric.Point} b1\n * @param {fabric.Point} b2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectLineLine = function (a1, a2, b1, b2) {\n var result,\n uaT = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x),\n ubT = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x),\n uB = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n if (uB !== 0) {\n var ua = uaT / uB,\n ub = ubT / uB;\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n result = new Intersection('Intersection');\n result.appendPoint(new fabric.Point(a1.x + ua * (a2.x - a1.x), a1.y + ua * (a2.y - a1.y)));\n }\n else {\n result = new Intersection();\n }\n }\n else {\n if (uaT === 0 || ubT === 0) {\n result = new Intersection('Coincident');\n }\n else {\n result = new Intersection('Parallel');\n }\n }\n return result;\n };\n\n /**\n * Checks if line intersects polygon\n * TODO: rename in intersectSegmentPolygon\n * fix detection of coincident\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {Array} points\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectLinePolygon = function(a1, a2, points) {\n var result = new Intersection(),\n length = points.length,\n b1, b2, inter, i;\n\n for (i = 0; i < length; i++) {\n b1 = points[i];\n b2 = points[(i + 1) % length];\n inter = Intersection.intersectLineLine(a1, a2, b1, b2);\n\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n /**\n * Checks if polygon intersects another polygon\n * @static\n * @param {Array} points1\n * @param {Array} points2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectPolygonPolygon = function (points1, points2) {\n var result = new Intersection(),\n length = points1.length, i;\n\n for (i = 0; i < length; i++) {\n var a1 = points1[i],\n a2 = points1[(i + 1) % length],\n inter = Intersection.intersectLinePolygon(a1, a2, points2);\n\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n /**\n * Checks if polygon intersects rectangle\n * @static\n * @param {Array} points\n * @param {fabric.Point} r1\n * @param {fabric.Point} r2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectPolygonRectangle = function (points, r1, r2) {\n var min = r1.min(r2),\n max = r1.max(r2),\n topRight = new fabric.Point(max.x, min.y),\n bottomLeft = new fabric.Point(min.x, max.y),\n inter1 = Intersection.intersectLinePolygon(min, topRight, points),\n inter2 = Intersection.intersectLinePolygon(topRight, max, points),\n inter3 = Intersection.intersectLinePolygon(max, bottomLeft, points),\n inter4 = Intersection.intersectLinePolygon(bottomLeft, min, points),\n result = new Intersection();\n\n result.appendPoints(inter1.points);\n result.appendPoints(inter2.points);\n result.appendPoints(inter3.points);\n result.appendPoints(inter4.points);\n\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Color) {\n fabric.warn('fabric.Color is already defined.');\n return;\n }\n\n /**\n * Color class\n * The purpose of {@link fabric.Color} is to abstract and encapsulate common color operations;\n * {@link fabric.Color} is a constructor and creates instances of {@link fabric.Color} objects.\n *\n * @class fabric.Color\n * @param {String} color optional in hex or rgb(a) or hsl format or from known color list\n * @return {fabric.Color} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2/#colors}\n */\n function Color(color) {\n if (!color) {\n this.setSource([0, 0, 0, 1]);\n }\n else {\n this._tryParsingColor(color);\n }\n }\n\n fabric.Color = Color;\n\n fabric.Color.prototype = /** @lends fabric.Color.prototype */ {\n\n /**\n * @private\n * @param {String|Array} color Color value to parse\n */\n _tryParsingColor: function(color) {\n var source;\n\n if (color in Color.colorNameMap) {\n color = Color.colorNameMap[color];\n }\n\n if (color === 'transparent') {\n source = [255, 255, 255, 0];\n }\n\n if (!source) {\n source = Color.sourceFromHex(color);\n }\n if (!source) {\n source = Color.sourceFromRgb(color);\n }\n if (!source) {\n source = Color.sourceFromHsl(color);\n }\n if (!source) {\n //if color is not recognize let's make black as canvas does\n source = [0, 0, 0, 1];\n }\n if (source) {\n this.setSource(source);\n }\n },\n\n /**\n * Adapted from https://github.com/mjijackson\n * @private\n * @param {Number} r Red color value\n * @param {Number} g Green color value\n * @param {Number} b Blue color value\n * @return {Array} Hsl color\n */\n _rgbToHsl: function(r, g, b) {\n r /= 255; g /= 255; b /= 255;\n\n var h, s, l,\n max = fabric.util.array.max([r, g, b]),\n min = fabric.util.array.min([r, g, b]);\n\n l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return [\n Math.round(h * 360),\n Math.round(s * 100),\n Math.round(l * 100)\n ];\n },\n\n /**\n * Returns source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @return {Array}\n */\n getSource: function() {\n return this._source;\n },\n\n /**\n * Sets source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @param {Array} source\n */\n setSource: function(source) {\n this._source = source;\n },\n\n /**\n * Returns color representation in RGB format\n * @return {String} ex: rgb(0-255,0-255,0-255)\n */\n toRgb: function() {\n var source = this.getSource();\n return 'rgb(' + source[0] + ',' + source[1] + ',' + source[2] + ')';\n },\n\n /**\n * Returns color representation in RGBA format\n * @return {String} ex: rgba(0-255,0-255,0-255,0-1)\n */\n toRgba: function() {\n var source = this.getSource();\n return 'rgba(' + source[0] + ',' + source[1] + ',' + source[2] + ',' + source[3] + ')';\n },\n\n /**\n * Returns color representation in HSL format\n * @return {String} ex: hsl(0-360,0%-100%,0%-100%)\n */\n toHsl: function() {\n var source = this.getSource(),\n hsl = this._rgbToHsl(source[0], source[1], source[2]);\n\n return 'hsl(' + hsl[0] + ',' + hsl[1] + '%,' + hsl[2] + '%)';\n },\n\n /**\n * Returns color representation in HSLA format\n * @return {String} ex: hsla(0-360,0%-100%,0%-100%,0-1)\n */\n toHsla: function() {\n var source = this.getSource(),\n hsl = this._rgbToHsl(source[0], source[1], source[2]);\n\n return 'hsla(' + hsl[0] + ',' + hsl[1] + '%,' + hsl[2] + '%,' + source[3] + ')';\n },\n\n /**\n * Returns color representation in HEX format\n * @return {String} ex: FF5555\n */\n toHex: function() {\n var source = this.getSource(), r, g, b;\n\n r = source[0].toString(16);\n r = (r.length === 1) ? ('0' + r) : r;\n\n g = source[1].toString(16);\n g = (g.length === 1) ? ('0' + g) : g;\n\n b = source[2].toString(16);\n b = (b.length === 1) ? ('0' + b) : b;\n\n return r.toUpperCase() + g.toUpperCase() + b.toUpperCase();\n },\n\n /**\n * Returns color representation in HEXA format\n * @return {String} ex: FF5555CC\n */\n toHexa: function() {\n var source = this.getSource(), a;\n\n a = Math.round(source[3] * 255);\n a = a.toString(16);\n a = (a.length === 1) ? ('0' + a) : a;\n\n return this.toHex() + a.toUpperCase();\n },\n\n /**\n * Gets value of alpha channel for this color\n * @return {Number} 0-1\n */\n getAlpha: function() {\n return this.getSource()[3];\n },\n\n /**\n * Sets value of alpha channel for this color\n * @param {Number} alpha Alpha value 0-1\n * @return {fabric.Color} thisArg\n */\n setAlpha: function(alpha) {\n var source = this.getSource();\n source[3] = alpha;\n this.setSource(source);\n return this;\n },\n\n /**\n * Transforms color to its grayscale representation\n * @return {fabric.Color} thisArg\n */\n toGrayscale: function() {\n var source = this.getSource(),\n average = parseInt((source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), 10),\n currentAlpha = source[3];\n this.setSource([average, average, average, currentAlpha]);\n return this;\n },\n\n /**\n * Transforms color to its black and white representation\n * @param {Number} threshold\n * @return {fabric.Color} thisArg\n */\n toBlackWhite: function(threshold) {\n var source = this.getSource(),\n average = (source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0),\n currentAlpha = source[3];\n\n threshold = threshold || 127;\n\n average = (Number(average) < Number(threshold)) ? 0 : 255;\n this.setSource([average, average, average, currentAlpha]);\n return this;\n },\n\n /**\n * Overlays color with another color\n * @param {String|fabric.Color} otherColor\n * @return {fabric.Color} thisArg\n */\n overlayWith: function(otherColor) {\n if (!(otherColor instanceof Color)) {\n otherColor = new Color(otherColor);\n }\n\n var result = [],\n alpha = this.getAlpha(),\n otherAlpha = 0.5,\n source = this.getSource(),\n otherSource = otherColor.getSource(), i;\n\n for (i = 0; i < 3; i++) {\n result.push(Math.round((source[i] * (1 - otherAlpha)) + (otherSource[i] * otherAlpha)));\n }\n\n result[3] = alpha;\n this.setSource(result);\n return this;\n }\n };\n\n /**\n * Regex matching color in RGB or RGBA formats (ex: rgb(0, 0, 0), rgba(255, 100, 10, 0.5), rgba( 255 , 100 , 10 , 0.5 ), rgb(1,1,1), rgba(100%, 60%, 10%, 0.5))\n * @static\n * @field\n * @memberOf fabric.Color\n */\n // eslint-disable-next-line max-len\n fabric.Color.reRGBa = /^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*(?:\\s*,\\s*((?:\\d*\\.?\\d+)?)\\s*)?\\)$/i;\n\n /**\n * Regex matching color in HSL or HSLA formats (ex: hsl(200, 80%, 10%), hsla(300, 50%, 80%, 0.5), hsla( 300 , 50% , 80% , 0.5 ))\n * @static\n * @field\n * @memberOf fabric.Color\n */\n fabric.Color.reHSLa = /^hsla?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3}\\%)\\s*,\\s*(\\d{1,3}\\%)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/i;\n\n /**\n * Regex matching color in HEX format (ex: #FF5544CC, #FF5555, 010155, aff)\n * @static\n * @field\n * @memberOf fabric.Color\n */\n fabric.Color.reHex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n\n /**\n * Map of the 148 color names with HEX code\n * @static\n * @field\n * @memberOf fabric.Color\n * @see: https://www.w3.org/TR/css3-color/#svg-color\n */\n fabric.Color.colorNameMap = {\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgrey: '#A9A9A9',\n darkgreen: '#006400',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n grey: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgrey: '#D3D3D3',\n lightgreen: '#90EE90',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32'\n };\n\n /**\n * @private\n * @param {Number} p\n * @param {Number} q\n * @param {Number} t\n * @return {Number}\n */\n function hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n\n /**\n * Returns new color object, when given a color in RGB format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255)\n * @return {fabric.Color}\n */\n fabric.Color.fromRgb = function(color) {\n return Color.fromSource(Color.sourceFromRgb(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in RGB or RGBA format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255), rgb(0%-100%,0%-100%,0%-100%)\n * @return {Array} source\n */\n fabric.Color.sourceFromRgb = function(color) {\n var match = color.match(Color.reRGBa);\n if (match) {\n var r = parseInt(match[1], 10) / (/%$/.test(match[1]) ? 100 : 1) * (/%$/.test(match[1]) ? 255 : 1),\n g = parseInt(match[2], 10) / (/%$/.test(match[2]) ? 100 : 1) * (/%$/.test(match[2]) ? 255 : 1),\n b = parseInt(match[3], 10) / (/%$/.test(match[3]) ? 100 : 1) * (/%$/.test(match[3]) ? 255 : 1);\n\n return [\n parseInt(r, 10),\n parseInt(g, 10),\n parseInt(b, 10),\n match[4] ? parseFloat(match[4]) : 1\n ];\n }\n };\n\n /**\n * Returns new color object, when given a color in RGBA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */\n fabric.Color.fromRgba = Color.fromRgb;\n\n /**\n * Returns new color object, when given a color in HSL format\n * @param {String} color Color value ex: hsl(0-260,0%-100%,0%-100%)\n * @memberOf fabric.Color\n * @return {fabric.Color}\n */\n fabric.Color.fromHsl = function(color) {\n return Color.fromSource(Color.sourceFromHsl(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HSL or HSLA format.\n * Adapted from https://github.com/mjijackson\n * @memberOf fabric.Color\n * @param {String} color Color value ex: hsl(0-360,0%-100%,0%-100%) or hsla(0-360,0%-100%,0%-100%, 0-1)\n * @return {Array} source\n * @see http://http://www.w3.org/TR/css3-color/#hsl-color\n */\n fabric.Color.sourceFromHsl = function(color) {\n var match = color.match(Color.reHSLa);\n if (!match) {\n return;\n }\n\n var h = (((parseFloat(match[1]) % 360) + 360) % 360) / 360,\n s = parseFloat(match[2]) / (/%$/.test(match[2]) ? 100 : 1),\n l = parseFloat(match[3]) / (/%$/.test(match[3]) ? 100 : 1),\n r, g, b;\n\n if (s === 0) {\n r = g = b = l;\n }\n else {\n var q = l <= 0.5 ? l * (s + 1) : l + s - l * s,\n p = l * 2 - q;\n\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [\n Math.round(r * 255),\n Math.round(g * 255),\n Math.round(b * 255),\n match[4] ? parseFloat(match[4]) : 1\n ];\n };\n\n /**\n * Returns new color object, when given a color in HSLA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */\n fabric.Color.fromHsla = Color.fromHsl;\n\n /**\n * Returns new color object, when given a color in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color Color value ex: FF5555\n * @return {fabric.Color}\n */\n fabric.Color.fromHex = function(color) {\n return Color.fromSource(Color.sourceFromHex(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color ex: FF5555 or FF5544CC (RGBa)\n * @return {Array} source\n */\n fabric.Color.sourceFromHex = function(color) {\n if (color.match(Color.reHex)) {\n var value = color.slice(color.indexOf('#') + 1),\n isShortNotation = (value.length === 3 || value.length === 4),\n isRGBa = (value.length === 8 || value.length === 4),\n r = isShortNotation ? (value.charAt(0) + value.charAt(0)) : value.substring(0, 2),\n g = isShortNotation ? (value.charAt(1) + value.charAt(1)) : value.substring(2, 4),\n b = isShortNotation ? (value.charAt(2) + value.charAt(2)) : value.substring(4, 6),\n a = isRGBa ? (isShortNotation ? (value.charAt(3) + value.charAt(3)) : value.substring(6, 8)) : 'FF';\n\n return [\n parseInt(r, 16),\n parseInt(g, 16),\n parseInt(b, 16),\n parseFloat((parseInt(a, 16) / 255).toFixed(2))\n ];\n }\n };\n\n /**\n * Returns new color object, when given color in array representation (ex: [200, 100, 100, 0.5])\n * @static\n * @memberOf fabric.Color\n * @param {Array} source\n * @return {fabric.Color}\n */\n fabric.Color.fromSource = function(source) {\n var oColor = new Color();\n oColor.setSource(source);\n return oColor;\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n scaleMap = ['e', 'se', 's', 'sw', 'w', 'nw', 'n', 'ne', 'e'],\n skewMap = ['ns', 'nesw', 'ew', 'nwse'],\n controls = {},\n LEFT = 'left', TOP = 'top', RIGHT = 'right', BOTTOM = 'bottom', CENTER = 'center',\n opposite = {\n top: BOTTOM,\n bottom: TOP,\n left: RIGHT,\n right: LEFT,\n center: CENTER,\n }, radiansToDegrees = fabric.util.radiansToDegrees,\n sign = (Math.sign || function(x) { return ((x > 0) - (x < 0)) || +x; });\n\n /**\n * Combine control position and object angle to find the control direction compared\n * to the object center.\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n * @param {fabric.Control} control the control class\n * @return {Number} 0 - 7 a quadrant number\n */\n function findCornerQuadrant(fabricObject, control) {\n var cornerAngle = fabricObject.angle + radiansToDegrees(Math.atan2(control.y, control.x)) + 360;\n return Math.round((cornerAngle % 360) / 45);\n }\n\n function fireEvent(eventName, options) {\n var target = options.transform.target,\n canvas = target.canvas,\n canvasOptions = fabric.util.object.clone(options);\n canvasOptions.target = target;\n canvas && canvas.fire('object:' + eventName, canvasOptions);\n target.fire(eventName, options);\n }\n\n /**\n * Inspect event and fabricObject properties to understand if the scaling action\n * @param {Event} eventData from the user action\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @return {Boolean} true if scale is proportional\n */\n function scaleIsProportional(eventData, fabricObject) {\n var canvas = fabricObject.canvas, uniScaleKey = canvas.uniScaleKey,\n uniformIsToggled = eventData[uniScaleKey];\n return (canvas.uniformScaling && !uniformIsToggled) ||\n (!canvas.uniformScaling && uniformIsToggled);\n }\n\n /**\n * Checks if transform is centered\n * @param {Object} transform transform data\n * @return {Boolean} true if transform is centered\n */\n function isTransformCentered(transform) {\n return transform.originX === CENTER && transform.originY === CENTER;\n }\n\n /**\n * Inspect fabricObject to understand if the current scaling action is allowed\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @param {String} by 'x' or 'y' or ''\n * @param {Boolean} scaleProportionally true if we are trying to scale proportionally\n * @return {Boolean} true if scaling is not allowed at current conditions\n */\n function scalingIsForbidden(fabricObject, by, scaleProportionally) {\n var lockX = fabricObject.lockScalingX, lockY = fabricObject.lockScalingY;\n if (lockX && lockY) {\n return true;\n }\n if (!by && (lockX || lockY) && scaleProportionally) {\n return true;\n }\n if (lockX && by === 'x') {\n return true;\n }\n if (lockY && by === 'y') {\n return true;\n }\n return false;\n }\n\n /**\n * return the correct cursor style for the scale action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function scaleCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = 'not-allowed',\n scaleProportionally = scaleIsProportional(eventData, fabricObject),\n by = '';\n if (control.x !== 0 && control.y === 0) {\n by = 'x';\n }\n else if (control.x === 0 && control.y !== 0) {\n by = 'y';\n }\n if (scalingIsForbidden(fabricObject, by, scaleProportionally)) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control);\n return scaleMap[n] + '-resize';\n }\n\n /**\n * return the correct cursor style for the skew action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function skewCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = 'not-allowed';\n if (control.x !== 0 && fabricObject.lockSkewingY) {\n return notAllowed;\n }\n if (control.y !== 0 && fabricObject.lockSkewingX) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control) % 4;\n return skewMap[n] + '-resize';\n }\n\n /**\n * Combine skew and scale style handlers to cover fabric standard use case\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function scaleSkewCursorStyleHandler(eventData, control, fabricObject) {\n if (eventData[fabricObject.canvas.altActionKey]) {\n return controls.skewCursorStyleHandler(eventData, control, fabricObject);\n }\n return controls.scaleCursorStyleHandler(eventData, control, fabricObject);\n }\n\n /**\n * Inspect event, control and fabricObject to return the correct action name\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} an action name\n */\n function scaleOrSkewActionName(eventData, control, fabricObject) {\n var isAlternative = eventData[fabricObject.canvas.altActionKey];\n if (control.x === 0) {\n // then is scaleY or skewX\n return isAlternative ? 'skewX' : 'scaleY';\n }\n if (control.y === 0) {\n // then is scaleY or skewX\n return isAlternative ? 'skewY' : 'scaleX';\n }\n }\n\n /**\n * Find the correct style for the control that is used for rotation.\n * this function is very simple and it just take care of not-allowed or standard cursor\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function rotationStyleHandler(eventData, control, fabricObject) {\n if (fabricObject.lockRotation) {\n return 'not-allowed';\n }\n return control.cursorStyle;\n }\n\n function commonEventInfo(eventData, transform, x, y) {\n return {\n e: eventData,\n transform: transform,\n pointer: {\n x: x,\n y: y,\n }\n };\n }\n\n /**\n * Wrap an action handler with saving/restoring object position on the transform.\n * this is the code that permits to objects to keep their position while transforming.\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */\n function wrapWithFixedAnchor(actionHandler) {\n return function(eventData, transform, x, y) {\n var target = transform.target, centerPoint = target.getCenterPoint(),\n constraint = target.translateToOriginPoint(centerPoint, transform.originX, transform.originY),\n actionPerformed = actionHandler(eventData, transform, x, y);\n target.setPositionByOrigin(constraint, transform.originX, transform.originY);\n return actionPerformed;\n };\n }\n\n /**\n * Wrap an action handler with firing an event if the action is performed\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */\n function wrapWithFireEvent(eventName, actionHandler) {\n return function(eventData, transform, x, y) {\n var actionPerformed = actionHandler(eventData, transform, x, y);\n if (actionPerformed) {\n fireEvent(eventName, commonEventInfo(eventData, transform, x, y));\n }\n return actionPerformed;\n };\n }\n\n /**\n * Transforms a point described by x and y in a distance from the top left corner of the object\n * bounding box.\n * @param {Object} transform\n * @param {String} originX\n * @param {String} originY\n * @param {number} x\n * @param {number} y\n * @return {Fabric.Point} the normalized point\n */\n function getLocalPoint(transform, originX, originY, x, y) {\n var target = transform.target,\n control = target.controls[transform.corner],\n zoom = target.canvas.getZoom(),\n padding = target.padding / zoom,\n localPoint = target.toLocalPoint(new fabric.Point(x, y), originX, originY);\n if (localPoint.x >= padding) {\n localPoint.x -= padding;\n }\n if (localPoint.x <= -padding) {\n localPoint.x += padding;\n }\n if (localPoint.y >= padding) {\n localPoint.y -= padding;\n }\n if (localPoint.y <= padding) {\n localPoint.y += padding;\n }\n localPoint.x -= control.offsetX;\n localPoint.y -= control.offsetY;\n return localPoint;\n }\n\n /**\n * Detect if the fabric object is flipped on one side.\n * @param {fabric.Object} target\n * @return {Boolean} true if one flip, but not two.\n */\n function targetHasOneFlip(target) {\n return target.flipX !== target.flipY;\n }\n\n /**\n * Utility function to compensate the scale factor when skew is applied on both axes\n * @private\n */\n function compensateScaleForSkew(target, oppositeSkew, scaleToCompensate, axis, reference) {\n if (target[oppositeSkew] !== 0) {\n var newDim = target._getTransformedDimensions()[axis];\n var newValue = reference / newDim * target[scaleToCompensate];\n target.set(scaleToCompensate, newValue);\n }\n }\n\n /**\n * Action handler for skewing on the X axis\n * @private\n */\n function skewObjectX(eventData, transform, x, y) {\n var target = transform.target,\n // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(0, target.skewY),\n localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.x * 2) - dimNoSkew.x,\n currentSkew = target.skewX, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n }\n else {\n newSkew = radiansToDegrees(\n Math.atan2((totalSkewSize / target.scaleX), (dimNoSkew.y / target.scaleY))\n );\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().y;\n target.set('skewX', newSkew);\n compensateScaleForSkew(target, 'skewY', 'scaleY', 'y', dimBeforeSkewing);\n }\n return hasSkewed;\n }\n\n /**\n * Action handler for skewing on the Y axis\n * @private\n */\n function skewObjectY(eventData, transform, x, y) {\n var target = transform.target,\n // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(target.skewX, 0),\n localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.y * 2) - dimNoSkew.y,\n currentSkew = target.skewY, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n }\n else {\n newSkew = radiansToDegrees(\n Math.atan2((totalSkewSize / target.scaleY), (dimNoSkew.x / target.scaleX))\n );\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().x;\n target.set('skewY', newSkew);\n compensateScaleForSkew(target, 'skewX', 'scaleX', 'x', dimBeforeSkewing);\n }\n return hasSkewed;\n }\n\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function skewHandlerX(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewX > 0 and originY bottom we anchor on right\n // if skewX > 0 and originY top we anchor on left\n // if skewX < 0 and originY bottom we anchor on left\n // if skewX < 0 and originY top we anchor on right\n // if skewX is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewX, originX, originY = transform.originY;\n if (target.lockSkewingX) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.x > 0) {\n // we are pulling right, anchor left;\n originX = LEFT;\n }\n else {\n // we are pulling right, anchor right\n originX = RIGHT;\n }\n }\n else {\n if (currentSkew > 0) {\n originX = originY === TOP ? LEFT : RIGHT;\n }\n if (currentSkew < 0) {\n originX = originY === TOP ? RIGHT : LEFT;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originX = originX === LEFT ? RIGHT : LEFT;\n }\n }\n\n // once we have the origin, we find the anchor point\n transform.originX = originX;\n var finalHandler = wrapWithFireEvent('skewing', wrapWithFixedAnchor(skewObjectX));\n return finalHandler(eventData, transform, x, y);\n }\n\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function skewHandlerY(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewY > 0 and originX left we anchor on top\n // if skewY > 0 and originX right we anchor on bottom\n // if skewY < 0 and originX left we anchor on bottom\n // if skewY < 0 and originX right we anchor on top\n // if skewY is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewY, originY, originX = transform.originX;\n if (target.lockSkewingY) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.y > 0) {\n // we are pulling down, anchor up;\n originY = TOP;\n }\n else {\n // we are pulling up, anchor down\n originY = BOTTOM;\n }\n }\n else {\n if (currentSkew > 0) {\n originY = originX === LEFT ? TOP : BOTTOM;\n }\n if (currentSkew < 0) {\n originY = originX === LEFT ? BOTTOM : TOP;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originY = originY === TOP ? BOTTOM : TOP;\n }\n }\n\n // once we have the origin, we find the anchor point\n transform.originY = originY;\n var finalHandler = wrapWithFireEvent('skewing', wrapWithFixedAnchor(skewObjectY));\n return finalHandler(eventData, transform, x, y);\n }\n\n /**\n * Action handler for rotation and snapping, without anchor point.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n * @private\n */\n function rotationWithSnapping(eventData, transform, x, y) {\n var t = transform,\n target = t.target,\n pivotPoint = target.translateToOriginPoint(target.getCenterPoint(), t.originX, t.originY);\n\n if (target.lockRotation) {\n return false;\n }\n\n var lastAngle = Math.atan2(t.ey - pivotPoint.y, t.ex - pivotPoint.x),\n curAngle = Math.atan2(y - pivotPoint.y, x - pivotPoint.x),\n angle = radiansToDegrees(curAngle - lastAngle + t.theta),\n hasRotated = true;\n\n if (target.snapAngle > 0) {\n var snapAngle = target.snapAngle,\n snapThreshold = target.snapThreshold || snapAngle,\n rightAngleLocked = Math.ceil(angle / snapAngle) * snapAngle,\n leftAngleLocked = Math.floor(angle / snapAngle) * snapAngle;\n\n if (Math.abs(angle - leftAngleLocked) < snapThreshold) {\n angle = leftAngleLocked;\n }\n else if (Math.abs(angle - rightAngleLocked) < snapThreshold) {\n angle = rightAngleLocked;\n }\n }\n\n // normalize angle to positive value\n if (angle < 0) {\n angle = 360 + angle;\n }\n angle %= 360;\n\n hasRotated = target.angle !== angle;\n target.angle = angle;\n return hasRotated;\n }\n\n /**\n * Basic scaling logic, reused with different constrain for scaling X,Y, freely or equally.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @param {Object} options additional information for scaling\n * @param {String} options.by 'x', 'y', 'equally' or '' to indicate type of scaling\n * @return {Boolean} true if some change happened\n * @private\n */\n function scaleObject(eventData, transform, x, y, options) {\n options = options || {};\n var target = transform.target,\n lockScalingX = target.lockScalingX, lockScalingY = target.lockScalingY,\n by = options.by, newPoint, scaleX, scaleY, dim,\n scaleProportionally = scaleIsProportional(eventData, target),\n forbidScaling = scalingIsForbidden(target, by, scaleProportionally),\n signX, signY, gestureScale = transform.gestureScale;\n\n if (forbidScaling) {\n return false;\n }\n if (gestureScale) {\n scaleX = transform.scaleX * gestureScale;\n scaleY = transform.scaleY * gestureScale;\n }\n else {\n newPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y);\n // use of sign: We use sign to detect change of direction of an action. sign usually change when\n // we cross the origin point with the mouse. So a scale flip for example. There is an issue when scaling\n // by center and scaling using one middle control ( default: mr, mt, ml, mb), the mouse movement can easily\n // cross many time the origin point and flip the object. so we need a way to filter out the noise.\n // This ternary here should be ok to filter out X scaling when we want Y only and vice versa.\n signX = by !== 'y' ? sign(newPoint.x) : 1;\n signY = by !== 'x' ? sign(newPoint.y) : 1;\n if (!transform.signX) {\n transform.signX = signX;\n }\n if (!transform.signY) {\n transform.signY = signY;\n }\n\n if (target.lockScalingFlip &&\n (transform.signX !== signX || transform.signY !== signY)\n ) {\n return false;\n }\n\n dim = target._getTransformedDimensions();\n // missing detection of flip and logic to switch the origin\n if (scaleProportionally && !by) {\n // uniform scaling\n var distance = Math.abs(newPoint.x) + Math.abs(newPoint.y),\n original = transform.original,\n originalDistance = Math.abs(dim.x * original.scaleX / target.scaleX) +\n Math.abs(dim.y * original.scaleY / target.scaleY),\n scale = distance / originalDistance;\n scaleX = original.scaleX * scale;\n scaleY = original.scaleY * scale;\n }\n else {\n scaleX = Math.abs(newPoint.x * target.scaleX / dim.x);\n scaleY = Math.abs(newPoint.y * target.scaleY / dim.y);\n }\n // if we are scaling by center, we need to double the scale\n if (isTransformCentered(transform)) {\n scaleX *= 2;\n scaleY *= 2;\n }\n if (transform.signX !== signX && by !== 'y') {\n transform.originX = opposite[transform.originX];\n scaleX *= -1;\n transform.signX = signX;\n }\n if (transform.signY !== signY && by !== 'x') {\n transform.originY = opposite[transform.originY];\n scaleY *= -1;\n transform.signY = signY;\n }\n }\n // minScale is taken are in the setter.\n var oldScaleX = target.scaleX, oldScaleY = target.scaleY;\n if (!by) {\n !lockScalingX && target.set('scaleX', scaleX);\n !lockScalingY && target.set('scaleY', scaleY);\n }\n else {\n // forbidden cases already handled on top here.\n by === 'x' && target.set('scaleX', scaleX);\n by === 'y' && target.set('scaleY', scaleY);\n }\n return oldScaleX !== target.scaleX || oldScaleY !== target.scaleY;\n }\n\n /**\n * Generic scaling logic, to scale from corners either equally or freely.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectFromCorner(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y);\n }\n\n /**\n * Scaling logic for the X axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectX(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y , { by: 'x' });\n }\n\n /**\n * Scaling logic for the Y axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectY(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y , { by: 'y' });\n }\n\n /**\n * Composed action handler to either scale Y or skew X\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scalingYOrSkewingX(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerX(eventData, transform, x, y);\n }\n return controls.scalingY(eventData, transform, x, y);\n }\n\n /**\n * Composed action handler to either scale X or skew Y\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scalingXOrSkewingY(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerY(eventData, transform, x, y);\n }\n return controls.scalingX(eventData, transform, x, y);\n }\n\n /**\n * Action handler to change textbox width\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function changeWidth(eventData, transform, x, y) {\n var target = transform.target, localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n strokePadding = target.strokeWidth / (target.strokeUniform ? target.scaleX : 1),\n multiplier = isTransformCentered(transform) ? 2 : 1,\n oldWidth = target.width,\n newWidth = Math.abs(localPoint.x * multiplier / target.scaleX) - strokePadding;\n target.set('width', Math.max(newWidth, 0));\n return oldWidth !== newWidth;\n }\n\n /**\n * Action handler\n * @private\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if the translation occurred\n */\n function dragHandler(eventData, transform, x, y) {\n var target = transform.target,\n newLeft = x - transform.offsetX,\n newTop = y - transform.offsetY,\n moveX = !target.get('lockMovementX') && target.left !== newLeft,\n moveY = !target.get('lockMovementY') && target.top !== newTop;\n moveX && target.set('left', newLeft);\n moveY && target.set('top', newTop);\n if (moveX || moveY) {\n fireEvent('moving', commonEventInfo(eventData, transform, x, y));\n }\n return moveX || moveY;\n }\n\n controls.scaleCursorStyleHandler = scaleCursorStyleHandler;\n controls.skewCursorStyleHandler = skewCursorStyleHandler;\n controls.scaleSkewCursorStyleHandler = scaleSkewCursorStyleHandler;\n controls.rotationWithSnapping = wrapWithFireEvent('rotating', wrapWithFixedAnchor(rotationWithSnapping));\n controls.scalingEqually = wrapWithFireEvent('scaling', wrapWithFixedAnchor( scaleObjectFromCorner));\n controls.scalingX = wrapWithFireEvent('scaling', wrapWithFixedAnchor(scaleObjectX));\n controls.scalingY = wrapWithFireEvent('scaling', wrapWithFixedAnchor(scaleObjectY));\n controls.scalingYOrSkewingX = scalingYOrSkewingX;\n controls.scalingXOrSkewingY = scalingXOrSkewingY;\n controls.changeWidth = wrapWithFireEvent('resizing', wrapWithFixedAnchor(changeWidth));\n controls.skewHandlerX = skewHandlerX;\n controls.skewHandlerY = skewHandlerY;\n controls.dragHandler = dragHandler;\n controls.scaleOrSkewActionName = scaleOrSkewActionName;\n controls.rotationStyleHandler = rotationStyleHandler;\n controls.fireEvent = fireEvent;\n controls.wrapWithFixedAnchor = wrapWithFixedAnchor;\n controls.wrapWithFireEvent = wrapWithFireEvent;\n controls.getLocalPoint = getLocalPoint;\n fabric.controlsUtils = controls;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n degreesToRadians = fabric.util.degreesToRadians,\n controls = fabric.controlsUtils;\n\n /**\n * Render a round control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */\n function renderCircleControl (ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize,\n ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize,\n transparentCorners = typeof styleOverride.transparentCorners !== 'undefined' ?\n styleOverride.transparentCorners : fabricObject.transparentCorners,\n methodName = transparentCorners ? 'stroke' : 'fill',\n stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor),\n myLeft = left,\n myTop = top, size;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // as soon as fabric react v5, remove ie11, use proper ellipse code.\n if (xSize > ySize) {\n size = xSize;\n ctx.scale(1.0, ySize / xSize);\n myTop = top * xSize / ySize;\n }\n else if (ySize > xSize) {\n size = ySize;\n ctx.scale(xSize / ySize, 1.0);\n myLeft = left * ySize / xSize;\n }\n else {\n size = xSize;\n }\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.arc(myLeft, myTop, size / 2, 0, 2 * Math.PI, false);\n ctx[methodName]();\n if (stroke) {\n ctx.stroke();\n }\n ctx.restore();\n }\n\n /**\n * Render a square control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */\n function renderSquareControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize,\n ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize,\n transparentCorners = typeof styleOverride.transparentCorners !== 'undefined' ?\n styleOverride.transparentCorners : fabricObject.transparentCorners,\n methodName = transparentCorners ? 'stroke' : 'fill',\n stroke = !transparentCorners && (\n styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor\n ), xSizeBy2 = xSize / 2, ySizeBy2 = ySize / 2;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.translate(left, top);\n ctx.rotate(degreesToRadians(fabricObject.angle));\n // this does not work, and fixed with ( && ) does not make sense.\n // to have real transparent corners we need the controls on upperCanvas\n // transparentCorners || ctx.clearRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n ctx[methodName + 'Rect'](-xSizeBy2, -ySizeBy2, xSize, ySize);\n if (stroke) {\n ctx.strokeRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n }\n ctx.restore();\n }\n\n controls.renderCircleControl = renderCircleControl;\n controls.renderSquareControl = renderSquareControl;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n function Control(options) {\n for (var i in options) {\n this[i] = options[i];\n }\n }\n\n fabric.Control = Control;\n\n fabric.Control.prototype = /** @lends fabric.Control.prototype */ {\n\n /**\n * keep track of control visibility.\n * mainly for backward compatibility.\n * if you do not want to see a control, you can remove it\n * from the controlset.\n * @type {Boolean}\n * @default true\n */\n visible: true,\n\n /**\n * Name of the action that the control will likely execute.\n * This is optional. FabricJS uses to identify what the user is doing for some\n * extra optimizations. If you are writing a custom control and you want to know\n * somewhere else in the code what is going on, you can use this string here.\n * you can also provide a custom getActionName if your control run multiple actions\n * depending on some external state.\n * default to scale since is the most common, used on 4 corners by default\n * @type {String}\n * @default 'scale'\n */\n actionName: 'scale',\n\n /**\n * Drawing angle of the control.\n * NOT used for now, but name marked as needed for internal logic\n * example: to reuse the same drawing function for different rotated controls\n * @type {Number}\n * @default 0\n */\n angle: 0,\n\n /**\n * Relative position of the control. X\n * 0,0 is the center of the Object, while -0.5 (left) or 0.5 (right) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n x: 0,\n\n /**\n * Relative position of the control. Y\n * 0,0 is the center of the Object, while -0.5 (top) or 0.5 (bottom) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n y: 0,\n\n /**\n * Horizontal offset of the control from the defined position. In pixels\n * Positive offset moves the control to the right, negative to the left.\n * It used when you want to have position of control that does not scale with\n * the bounding box. Example: rotation control is placed at x:0, y: 0.5 on\n * the boundindbox, with an offset of 30 pixels vertically. Those 30 pixels will\n * stay 30 pixels no matter how the object is big. Another example is having 2\n * controls in the corner, that stay in the same position when the object scale.\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n offsetX: 0,\n\n /**\n * Vertical offset of the control from the defined position. In pixels\n * Positive offset moves the control to the bottom, negative to the top.\n * @type {Number}\n * @default 0\n */\n offsetY: 0,\n\n /**\n * Sets the length of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n sizeX: null,\n\n /**\n * Sets the height of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n sizeY: null,\n\n /**\n * Sets the length of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n touchSizeX: null,\n\n /**\n * Sets the height of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n touchSizeY: null,\n\n /**\n * Css cursor style to display when the control is hovered.\n * if the method `cursorStyleHandler` is provided, this property is ignored.\n * @type {String}\n * @default 'crosshair'\n */\n cursorStyle: 'crosshair',\n\n /**\n * If controls has an offsetY or offsetX, draw a line that connects\n * the control to the bounding box\n * @type {Boolean}\n * @default false\n */\n withConnection: false,\n\n /**\n * The control actionHandler, provide one to handle action ( control being moved )\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n actionHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * The control handler for mouse down, provide one to handle mouse down on control\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n mouseDownHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * The control mouseUpHandler, provide one to handle an effect on mouse up.\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n mouseUpHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * Returns control actionHandler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getActionHandler: function(/* eventData, fabricObject, control */) {\n return this.actionHandler;\n },\n\n /**\n * Returns control mouseDown handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getMouseDownHandler: function(/* eventData, fabricObject, control */) {\n return this.mouseDownHandler;\n },\n\n /**\n * Returns control mouseUp handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getMouseUpHandler: function(/* eventData, fabricObject, control */) {\n return this.mouseUpHandler;\n },\n\n /**\n * Returns control cursorStyle for css using cursorStyle. If you need a more elaborate\n * function you can pass one in the constructor\n * the cursorStyle property\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */\n cursorStyleHandler: function(eventData, control /* fabricObject */) {\n return control.cursorStyle;\n },\n\n /**\n * Returns the action name. The basic implementation just return the actionName property.\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */\n getActionName: function(eventData, control /* fabricObject */) {\n return control.actionName;\n },\n\n /**\n * Returns controls visibility\n * @param {fabric.Object} object on which the control is displayed\n * @param {String} controlKey key where the control is memorized on the\n * @return {Boolean}\n */\n getVisibility: function(fabricObject, controlKey) {\n var objectVisibility = fabricObject._controlsVisibility;\n if (objectVisibility && typeof objectVisibility[controlKey] !== 'undefined') {\n return objectVisibility[controlKey];\n }\n return this.visible;\n },\n\n /**\n * Sets controls visibility\n * @param {Boolean} visibility for the object\n * @return {Void}\n */\n setVisibility: function(visibility /* name, fabricObject */) {\n this.visible = visibility;\n },\n\n\n positionHandler: function(dim, finalMatrix /*, fabricObject, currentControl */) {\n var point = fabric.util.transformPoint({\n x: this.x * dim.x + this.offsetX,\n y: this.y * dim.y + this.offsetY }, finalMatrix);\n return point;\n },\n\n /**\n * Returns the coords for this control based on object values.\n * @param {Number} objectAngle angle from the fabric object holding the control\n * @param {Number} objectCornerSize cornerSize from the fabric object holding the control (or touchCornerSize if\n * isTouch is true)\n * @param {Number} centerX x coordinate where the control center should be\n * @param {Number} centerY y coordinate where the control center should be\n * @param {boolean} isTouch true if touch corner, false if normal corner\n */\n calcCornerCoords: function(objectAngle, objectCornerSize, centerX, centerY, isTouch) {\n var cosHalfOffset,\n sinHalfOffset,\n cosHalfOffsetComp,\n sinHalfOffsetComp,\n xSize = (isTouch) ? this.touchSizeX : this.sizeX,\n ySize = (isTouch) ? this.touchSizeY : this.sizeY;\n if (xSize && ySize && xSize !== ySize) {\n // handle rectangular corners\n var controlTriangleAngle = Math.atan2(ySize, xSize);\n var cornerHypotenuse = Math.sqrt(xSize * xSize + ySize * ySize) / 2;\n var newTheta = controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n var newThetaComp = Math.PI / 2 - controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n cosHalfOffset = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = cornerHypotenuse * fabric.util.sin(newTheta);\n // use complementary angle for two corners\n cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newThetaComp);\n sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newThetaComp);\n }\n else {\n // handle square corners\n // use default object corner size unless size is defined\n var cornerSize = (xSize && ySize) ? xSize : objectCornerSize;\n /* 0.7071067812 stands for sqrt(2)/2 */\n cornerHypotenuse = cornerSize * 0.7071067812;\n // complementary angles are equal since they're both 45 degrees\n var newTheta = fabric.util.degreesToRadians(45 - objectAngle);\n cosHalfOffset = cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newTheta);\n }\n\n return {\n tl: {\n x: centerX - sinHalfOffsetComp,\n y: centerY - cosHalfOffsetComp,\n },\n tr: {\n x: centerX + cosHalfOffset,\n y: centerY - sinHalfOffset,\n },\n bl: {\n x: centerX - cosHalfOffset,\n y: centerY + sinHalfOffset,\n },\n br: {\n x: centerX + sinHalfOffsetComp,\n y: centerY + cosHalfOffsetComp,\n },\n };\n },\n\n /**\n * Render function for the control.\n * When this function runs the context is unscaled. unrotate. Just retina scaled.\n * all the functions will have to translate to the point left,top before starting Drawing\n * if they want to draw a control where the position is detected.\n * left and top are the result of the positionHandler function\n * @param {RenderingContext2D} ctx the context where the control will be drawn\n * @param {Number} left position of the canvas where we are about to render the control.\n * @param {Number} top position of the canvas where we are about to render the control.\n * @param {Object} styleOverride\n * @param {fabric.Object} fabricObject the object where the control is about to be rendered\n */\n render: function(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n switch (styleOverride.cornerStyle || fabricObject.cornerStyle) {\n case 'circle':\n fabric.controlsUtils.renderCircleControl.call(this, ctx, left, top, styleOverride, fabricObject);\n break;\n default:\n fabric.controlsUtils.renderSquareControl.call(this, ctx, left, top, styleOverride, fabricObject);\n }\n },\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function () {\n\n 'use strict';\n\n if (fabric.StaticCanvas) {\n fabric.warn('fabric.StaticCanvas is already defined.');\n return;\n }\n\n // aliases for faster resolution\n var extend = fabric.util.object.extend,\n getElementOffset = fabric.util.getElementOffset,\n removeFromArray = fabric.util.removeFromArray,\n toFixed = fabric.util.toFixed,\n transformPoint = fabric.util.transformPoint,\n invertTransform = fabric.util.invertTransform,\n getNodeCanvas = fabric.util.getNodeCanvas,\n createCanvasElement = fabric.util.createCanvasElement,\n\n CANVAS_INIT_ERROR = new Error('Could not initialize `canvas` element');\n\n /**\n * Static canvas class\n * @class fabric.StaticCanvas\n * @mixes fabric.Collection\n * @mixes fabric.Observable\n * @see {@link http://fabricjs.com/static_canvas|StaticCanvas demo}\n * @see {@link fabric.StaticCanvas#initialize} for constructor definition\n * @fires before:render\n * @fires after:render\n * @fires canvas:cleared\n * @fires object:added\n * @fires object:removed\n */\n fabric.StaticCanvas = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(el, options) {\n options || (options = { });\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n },\n\n /**\n * Background color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setBackgroundColor}.\n * @type {(String|fabric.Pattern)}\n * @default\n */\n backgroundColor: '',\n\n /**\n * Background image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as background, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */\n backgroundImage: null,\n\n /**\n * Overlay color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setOverlayColor}\n * @since 1.3.9\n * @type {(String|fabric.Pattern)}\n * @default\n */\n overlayColor: '',\n\n /**\n * Overlay image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as overlay, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */\n overlayImage: null,\n\n /**\n * Indicates whether toObject/toDatalessObject should include default values\n * if set to false, takes precedence over the object value.\n * @type Boolean\n * @default\n */\n includeDefaultValues: true,\n\n /**\n * Indicates whether objects' state should be saved\n * @type Boolean\n * @default\n */\n stateful: false,\n\n /**\n * Indicates whether {@link fabric.Collection.add}, {@link fabric.Collection.insertAt} and {@link fabric.Collection.remove},\n * {@link fabric.StaticCanvas.moveTo}, {@link fabric.StaticCanvas.clear} and many more, should also re-render canvas.\n * Disabling this option will not give a performance boost when adding/removing a lot of objects to/from canvas at once\n * since the renders are quequed and executed one per frame.\n * Disabling is suggested anyway and managing the renders of the app manually is not a big effort ( canvas.requestRenderAll() )\n * Left default to true to do not break documentation and old app, fiddles.\n * @type Boolean\n * @default\n */\n renderOnAddRemove: true,\n\n /**\n * Indicates whether object controls (borders/controls) are rendered above overlay image\n * @type Boolean\n * @default\n */\n controlsAboveOverlay: false,\n\n /**\n * Indicates whether the browser can be scrolled when using a touchscreen and dragging on the canvas\n * @type Boolean\n * @default\n */\n allowTouchScrolling: false,\n\n /**\n * Indicates whether this canvas will use image smoothing, this is on by default in browsers\n * @type Boolean\n * @default\n */\n imageSmoothingEnabled: true,\n\n /**\n * The transformation (a Canvas 2D API transform matrix) which focuses the viewport\n * @type Array\n * @example Default transform\n * canvas.viewportTransform = [1, 0, 0, 1, 0, 0];\n * @example Scale by 70% and translate toward bottom-right by 50, without skewing\n * canvas.viewportTransform = [0.7, 0, 0, 0.7, 50, 50];\n * @default\n */\n viewportTransform: fabric.iMatrix.concat(),\n\n /**\n * if set to false background image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n backgroundVpt: true,\n\n /**\n * if set to false overlya image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n overlayVpt: true,\n\n /**\n * When true, canvas is scaled by devicePixelRatio for better rendering on retina screens\n * @type Boolean\n * @default\n */\n enableRetinaScaling: true,\n\n /**\n * Describe canvas element extension over design\n * properties are tl,tr,bl,br.\n * if canvas is not zoomed/panned those points are the four corner of canvas\n * if canvas is viewportTransformed you those points indicate the extension\n * of canvas element in plain untrasformed coordinates\n * The coordinates get updated with @method calcViewportBoundaries.\n * @memberOf fabric.StaticCanvas.prototype\n */\n vptCoords: { },\n\n /**\n * Based on vptCoords and object.aCoords, skip rendering of objects that\n * are not included in current viewport.\n * May greatly help in applications with crowded canvas and use of zoom/pan\n * If One of the corner of the bounding box of the object is on the canvas\n * the objects get rendered.\n * @memberOf fabric.StaticCanvas.prototype\n * @type Boolean\n * @default\n */\n skipOffscreen: true,\n\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the canvas has rendered, and the context is placed in the\n * top left corner of the canvas.\n * clipPath will clip away controls, if you do not want this to happen use controlsAboveOverlay = true\n * @type fabric.Object\n */\n clipPath: undefined,\n\n /**\n * @private\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n */\n _initStatic: function(el, options) {\n var cb = this.requestRenderAllBound;\n this._objects = [];\n this._createLowerCanvas(el);\n this._initOptions(options);\n // only initialize retina scaling once\n if (!this.interactive) {\n this._initRetinaScaling();\n }\n\n if (options.overlayImage) {\n this.setOverlayImage(options.overlayImage, cb);\n }\n if (options.backgroundImage) {\n this.setBackgroundImage(options.backgroundImage, cb);\n }\n if (options.backgroundColor) {\n this.setBackgroundColor(options.backgroundColor, cb);\n }\n if (options.overlayColor) {\n this.setOverlayColor(options.overlayColor, cb);\n }\n this.calcOffset();\n },\n\n /**\n * @private\n */\n _isRetinaScaling: function() {\n return (fabric.devicePixelRatio > 1 && this.enableRetinaScaling);\n },\n\n /**\n * @private\n * @return {Number} retinaScaling if applied, otherwise 1;\n */\n getRetinaScaling: function() {\n return this._isRetinaScaling() ? Math.max(1, fabric.devicePixelRatio) : 1;\n },\n\n /**\n * @private\n */\n _initRetinaScaling: function() {\n if (!this._isRetinaScaling()) {\n return;\n }\n var scaleRatio = fabric.devicePixelRatio;\n this.__initRetinaScaling(scaleRatio, this.lowerCanvasEl, this.contextContainer);\n if (this.upperCanvasEl) {\n this.__initRetinaScaling(scaleRatio, this.upperCanvasEl, this.contextTop);\n }\n },\n\n __initRetinaScaling: function(scaleRatio, canvas, context) {\n canvas.setAttribute('width', this.width * scaleRatio);\n canvas.setAttribute('height', this.height * scaleRatio);\n context.scale(scaleRatio, scaleRatio);\n },\n\n\n /**\n * Calculates canvas element offset relative to the document\n * This method is also attached as \"resize\" event handler of window\n * @return {fabric.Canvas} instance\n * @chainable\n */\n calcOffset: function () {\n this._offset = getElementOffset(this.lowerCanvasEl);\n return this;\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#overlayImage|overlay image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set overlay to\n * @param {Function} callback callback to invoke when image is loaded and set as an overlay\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|overlay image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/MnzHT/|jsFiddle demo}\n * @example Normal overlayImage with left/top = 0\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage with different properties\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched overlayImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/jail_cell_bars.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched overlayImage #2 - width/height correspond to canvas width/height\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage loaded from cross-origin\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */\n setOverlayImage: function (image, callback, options) {\n return this.__setBgOverlayImage('overlayImage', image, callback, options);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#backgroundImage|background image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set background to\n * @param {Function} callback Callback to invoke when image is loaded and set as background\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|background image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/djnr8o7a/28/|jsFiddle demo}\n * @example Normal backgroundImage with left/top = 0\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage with different properties\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched backgroundImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/honey_im_subtle.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setBackgroundImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched backgroundImage #2 - width/height correspond to canvas width/height\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage loaded from cross-origin\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */\n // TODO: fix stretched examples\n setBackgroundImage: function (image, callback, options) {\n return this.__setBgOverlayImage('backgroundImage', image, callback, options);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#overlayColor|foreground color} for this canvas\n * @param {(String|fabric.Pattern)} overlayColor Color or pattern to set foreground color to\n * @param {Function} callback Callback to invoke when foreground color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/pB55h/|jsFiddle demo}\n * @example Normal overlayColor - color value\n * canvas.setOverlayColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor with repeat and offset\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */\n setOverlayColor: function(overlayColor, callback) {\n return this.__setBgOverlayColor('overlayColor', overlayColor, callback);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#backgroundColor|background color} for this canvas\n * @param {(String|fabric.Pattern)} backgroundColor Color or pattern to set background color to\n * @param {Function} callback Callback to invoke when background color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/hXzvk/|jsFiddle demo}\n * @example Normal backgroundColor - color value\n * canvas.setBackgroundColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor with repeat and offset\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */\n setBackgroundColor: function(backgroundColor, callback) {\n return this.__setBgOverlayColor('backgroundColor', backgroundColor, callback);\n },\n\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundImage|backgroundImage}\n * or {@link fabric.StaticCanvas#overlayImage|overlayImage})\n * @param {(fabric.Image|String|null)} image fabric.Image instance, URL of an image or null to set background or overlay to\n * @param {Function} callback Callback to invoke when image is loaded and set as background or overlay. The first argument is the created image, the second argument is a flag indicating whether an error occurred or not.\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|image}.\n */\n __setBgOverlayImage: function(property, image, callback, options) {\n if (typeof image === 'string') {\n fabric.util.loadImage(image, function(img, isError) {\n if (img) {\n var instance = new fabric.Image(img, options);\n this[property] = instance;\n instance.canvas = this;\n }\n callback && callback(img, isError);\n }, this, options && options.crossOrigin);\n }\n else {\n options && image.setOptions(options);\n this[property] = image;\n image && (image.canvas = this);\n callback && callback(image, false);\n }\n\n return this;\n },\n\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundColor|backgroundColor}\n * or {@link fabric.StaticCanvas#overlayColor|overlayColor})\n * @param {(Object|String|null)} color Object with pattern information, color value or null\n * @param {Function} [callback] Callback is invoked when color is set\n */\n __setBgOverlayColor: function(property, color, callback) {\n this[property] = color;\n this._initGradient(color, property);\n this._initPattern(color, property, callback);\n return this;\n },\n\n /**\n * @private\n */\n _createCanvasElement: function() {\n var element = createCanvasElement();\n if (!element) {\n throw CANVAS_INIT_ERROR;\n }\n if (!element.style) {\n element.style = { };\n }\n if (typeof element.getContext === 'undefined') {\n throw CANVAS_INIT_ERROR;\n }\n return element;\n },\n\n /**\n * @private\n * @param {Object} [options] Options object\n */\n _initOptions: function (options) {\n var lowerCanvasEl = this.lowerCanvasEl;\n this._setOptions(options);\n\n this.width = this.width || parseInt(lowerCanvasEl.width, 10) || 0;\n this.height = this.height || parseInt(lowerCanvasEl.height, 10) || 0;\n\n if (!this.lowerCanvasEl.style) {\n return;\n }\n\n lowerCanvasEl.width = this.width;\n lowerCanvasEl.height = this.height;\n\n lowerCanvasEl.style.width = this.width + 'px';\n lowerCanvasEl.style.height = this.height + 'px';\n\n this.viewportTransform = this.viewportTransform.slice();\n },\n\n /**\n * Creates a bottom canvas\n * @private\n * @param {HTMLElement} [canvasEl]\n */\n _createLowerCanvas: function (canvasEl) {\n // canvasEl === 'HTMLCanvasElement' does not work on jsdom/node\n if (canvasEl && canvasEl.getContext) {\n this.lowerCanvasEl = canvasEl;\n }\n else {\n this.lowerCanvasEl = fabric.util.getById(canvasEl) || this._createCanvasElement();\n }\n\n fabric.util.addClass(this.lowerCanvasEl, 'lower-canvas');\n this._originalCanvasStyle = this.lowerCanvasEl.style;\n if (this.interactive) {\n this._applyCanvasStyle(this.lowerCanvasEl);\n }\n\n this.contextContainer = this.lowerCanvasEl.getContext('2d');\n },\n\n /**\n * Returns canvas width (in px)\n * @return {Number}\n */\n getWidth: function () {\n return this.width;\n },\n\n /**\n * Returns canvas height (in px)\n * @return {Number}\n */\n getHeight: function () {\n return this.height;\n },\n\n /**\n * Sets width of this canvas instance\n * @param {Number|String} value Value to set width to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setWidth: function (value, options) {\n return this.setDimensions({ width: value }, options);\n },\n\n /**\n * Sets height of this canvas instance\n * @param {Number|String} value Value to set height to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setHeight: function (value, options) {\n return this.setDimensions({ height: value }, options);\n },\n\n /**\n * Sets dimensions (width, height) of this canvas instance. when options.cssOnly flag active you should also supply the unit of measure (px/%/em)\n * @param {Object} dimensions Object with width/height properties\n * @param {Number|String} [dimensions.width] Width of canvas element\n * @param {Number|String} [dimensions.height] Height of canvas element\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n setDimensions: function (dimensions, options) {\n var cssValue;\n\n options = options || {};\n\n for (var prop in dimensions) {\n cssValue = dimensions[prop];\n\n if (!options.cssOnly) {\n this._setBackstoreDimension(prop, dimensions[prop]);\n cssValue += 'px';\n this.hasLostContext = true;\n }\n\n if (!options.backstoreOnly) {\n this._setCssDimension(prop, cssValue);\n }\n }\n if (this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._setBrushStyles(this.contextTop);\n }\n this._initRetinaScaling();\n this.calcOffset();\n\n if (!options.cssOnly) {\n this.requestRenderAll();\n }\n\n return this;\n },\n\n /**\n * Helper for setting width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {Number} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n _setBackstoreDimension: function (prop, value) {\n this.lowerCanvasEl[prop] = value;\n\n if (this.upperCanvasEl) {\n this.upperCanvasEl[prop] = value;\n }\n\n if (this.cacheCanvasEl) {\n this.cacheCanvasEl[prop] = value;\n }\n\n this[prop] = value;\n\n return this;\n },\n\n /**\n * Helper for setting css width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {String} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n _setCssDimension: function (prop, value) {\n this.lowerCanvasEl.style[prop] = value;\n\n if (this.upperCanvasEl) {\n this.upperCanvasEl.style[prop] = value;\n }\n\n if (this.wrapperEl) {\n this.wrapperEl.style[prop] = value;\n }\n\n return this;\n },\n\n /**\n * Returns canvas zoom level\n * @return {Number}\n */\n getZoom: function () {\n return this.viewportTransform[0];\n },\n\n /**\n * Sets viewport transformation of this canvas instance\n * @param {Array} vpt a Canvas 2D API transform matrix\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setViewportTransform: function (vpt) {\n var activeObject = this._activeObject,\n backgroundObject = this.backgroundImage,\n overlayObject = this.overlayImage,\n object, i, len;\n this.viewportTransform = vpt;\n for (i = 0, len = this._objects.length; i < len; i++) {\n object = this._objects[i];\n object.group || object.setCoords(true);\n }\n if (activeObject) {\n activeObject.setCoords();\n }\n if (backgroundObject) {\n backgroundObject.setCoords(true);\n }\n if (overlayObject) {\n overlayObject.setCoords(true);\n }\n this.calcViewportBoundaries();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Sets zoom level of this canvas instance, the zoom centered around point\n * meaning that following zoom to point with the same point will have the visual\n * effect of the zoom originating from that point. The point won't move.\n * It has nothing to do with canvas center or visual center of the viewport.\n * @param {fabric.Point} point to zoom with respect to\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n zoomToPoint: function (point, value) {\n // TODO: just change the scale, preserve other transformations\n var before = point, vpt = this.viewportTransform.slice(0);\n point = transformPoint(point, invertTransform(this.viewportTransform));\n vpt[0] = value;\n vpt[3] = value;\n var after = transformPoint(point, vpt);\n vpt[4] += before.x - after.x;\n vpt[5] += before.y - after.y;\n return this.setViewportTransform(vpt);\n },\n\n /**\n * Sets zoom level of this canvas instance\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setZoom: function (value) {\n this.zoomToPoint(new fabric.Point(0, 0), value);\n return this;\n },\n\n /**\n * Pan viewport so as to place point at top left corner of canvas\n * @param {fabric.Point} point to move to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n absolutePan: function (point) {\n var vpt = this.viewportTransform.slice(0);\n vpt[4] = -point.x;\n vpt[5] = -point.y;\n return this.setViewportTransform(vpt);\n },\n\n /**\n * Pans viewpoint relatively\n * @param {fabric.Point} point (position vector) to move by\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n relativePan: function (point) {\n return this.absolutePan(new fabric.Point(\n -point.x - this.viewportTransform[4],\n -point.y - this.viewportTransform[5]\n ));\n },\n\n /**\n * Returns <canvas> element corresponding to this instance\n * @return {HTMLCanvasElement}\n */\n getElement: function () {\n return this.lowerCanvasEl;\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was added\n */\n _onObjectAdded: function(obj) {\n this.stateful && obj.setupState();\n obj._set('canvas', this);\n obj.setCoords();\n this.fire('object:added', { target: obj });\n obj.fire('added');\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */\n _onObjectRemoved: function(obj) {\n this.fire('object:removed', { target: obj });\n obj.fire('removed');\n delete obj.canvas;\n },\n\n /**\n * Clears specified context of canvas element\n * @param {CanvasRenderingContext2D} ctx Context to clear\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clearContext: function(ctx) {\n ctx.clearRect(0, 0, this.width, this.height);\n return this;\n },\n\n /**\n * Returns context of canvas where objects are drawn\n * @return {CanvasRenderingContext2D}\n */\n getContext: function () {\n return this.contextContainer;\n },\n\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clear: function () {\n this.remove.apply(this, this.getObjects());\n this.backgroundImage = null;\n this.overlayImage = null;\n this.backgroundColor = '';\n this.overlayColor = '';\n if (this._hasITextHandlers) {\n this.off('mouse:up', this._mouseUpITextHandler);\n this._iTextInstances = null;\n this._hasITextHandlers = false;\n }\n this.clearContext(this.contextContainer);\n this.fire('canvas:cleared');\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Renders the canvas\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAll: function () {\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._objects);\n return this;\n },\n\n /**\n * Function created to be instance bound at initialization\n * used in requestAnimationFrame rendering\n * Let the fabricJS call it. If you call it manually you could have more\n * animationFrame stacking on to of each other\n * for an imperative rendering, use canvas.renderAll\n * @private\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAndReset: function() {\n this.isRendering = 0;\n this.renderAll();\n },\n\n /**\n * Append a renderAll request to next animation frame.\n * unless one is already in progress, in that case nothing is done\n * a boolean flag will avoid appending more.\n * @return {fabric.Canvas} instance\n * @chainable\n */\n requestRenderAll: function () {\n if (!this.isRendering) {\n this.isRendering = fabric.util.requestAnimFrame(this.renderAndResetBound);\n }\n return this;\n },\n\n /**\n * Calculate the position of the 4 corner of canvas with current viewportTransform.\n * helps to determinate when an object is in the current rendering viewport using\n * object absolute coordinates ( aCoords )\n * @return {Object} points.tl\n * @chainable\n */\n calcViewportBoundaries: function() {\n var points = { }, width = this.width, height = this.height,\n iVpt = invertTransform(this.viewportTransform);\n points.tl = transformPoint({ x: 0, y: 0 }, iVpt);\n points.br = transformPoint({ x: width, y: height }, iVpt);\n points.tr = new fabric.Point(points.br.x, points.tl.y);\n points.bl = new fabric.Point(points.tl.x, points.br.y);\n this.vptCoords = points;\n return points;\n },\n\n cancelRequestedRender: function() {\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n },\n\n /**\n * Renders background, objects, overlay and controls.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Array} objects to render\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderCanvas: function(ctx, objects) {\n var v = this.viewportTransform, path = this.clipPath;\n this.cancelRequestedRender();\n this.calcViewportBoundaries();\n this.clearContext(ctx);\n fabric.util.setImageSmoothing(ctx, this.imageSmoothingEnabled);\n this.fire('before:render', { ctx: ctx, });\n this._renderBackground(ctx);\n\n ctx.save();\n //apply viewport transform once for all rendering process\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n this._renderObjects(ctx, objects);\n ctx.restore();\n if (!this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n if (path) {\n path.canvas = this;\n // needed to setup a couple of variables\n path.shouldCache();\n path._transformDone = true;\n path.renderCache({ forClipping: true });\n this.drawClipPathOnCanvas(ctx);\n }\n this._renderOverlay(ctx);\n if (this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n this.fire('after:render', { ctx: ctx, });\n },\n\n /**\n * Paint the cached clipPath on the lowerCanvasEl\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawClipPathOnCanvas: function(ctx) {\n var v = this.viewportTransform, path = this.clipPath;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4;\n ctx.globalCompositeOperation = 'destination-in';\n path.transform(ctx);\n ctx.scale(1 / path.zoomX, 1 / path.zoomY);\n ctx.drawImage(path._cacheCanvas, -path.cacheTranslationX, -path.cacheTranslationY);\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} objects to render\n */\n _renderObjects: function(ctx, objects) {\n var i, len;\n for (i = 0, len = objects.length; i < len; ++i) {\n objects[i] && objects[i].render(ctx);\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {string} property 'background' or 'overlay'\n */\n _renderBackgroundOrOverlay: function(ctx, property) {\n var fill = this[property + 'Color'], object = this[property + 'Image'],\n v = this.viewportTransform, needsVpt = this[property + 'Vpt'];\n if (!fill && !object) {\n return;\n }\n if (fill) {\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.width, 0);\n ctx.lineTo(this.width, this.height);\n ctx.lineTo(0, this.height);\n ctx.closePath();\n ctx.fillStyle = fill.toLive\n ? fill.toLive(ctx, this)\n : fill;\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n ctx.transform(1, 0, 0, 1, fill.offsetX || 0, fill.offsetY || 0);\n var m = fill.gradientTransform || fill.patternTransform;\n m && ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n ctx.fill();\n ctx.restore();\n }\n if (object) {\n ctx.save();\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n object.render(ctx);\n ctx.restore();\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderBackground: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, 'background');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderOverlay: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, 'overlay');\n },\n\n /**\n * Returns coordinates of a center of canvas.\n * Returned value is an object with top and left properties\n * @return {Object} object with \"top\" and \"left\" number values\n * @deprecated migrate to `getCenterPoint`\n */\n getCenter: function () {\n return {\n top: this.height / 2,\n left: this.width / 2\n };\n },\n\n /**\n * Returns coordinates of a center of canvas.\n * @return {fabric.Point} \n */\n getCenterPoint: function () {\n return new fabric.Point(this.width / 2, this.height / 2);\n },\n\n /**\n * Centers object horizontally in the canvas\n * @param {fabric.Object} object Object to center horizontally\n * @return {fabric.Canvas} thisArg\n */\n centerObjectH: function (object) {\n return this._centerObject(object, new fabric.Point(this.getCenterPoint().x, object.getCenterPoint().y));\n },\n\n /**\n * Centers object vertically in the canvas\n * @param {fabric.Object} object Object to center vertically\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n centerObjectV: function (object) {\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, this.getCenterPoint().y));\n },\n\n /**\n * Centers object vertically and horizontally in the canvas\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n centerObject: function(object) {\n var center = this.getCenterPoint();\n return this._centerObject(object, center);\n },\n\n /**\n * Centers object vertically and horizontally in the viewport\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObject: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, vpCenter);\n },\n\n /**\n * Centers object horizontally in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObjectH: function(object) {\n var vpCenter = this.getVpCenter();\n this._centerObject(object, new fabric.Point(vpCenter.x, object.getCenterPoint().y));\n return this;\n },\n\n /**\n * Centers object Vertically in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObjectV: function(object) {\n var vpCenter = this.getVpCenter();\n\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, vpCenter.y));\n },\n\n /**\n * Calculate the point in canvas that correspond to the center of actual viewport.\n * @return {fabric.Point} vpCenter, viewport center\n * @chainable\n */\n getVpCenter: function() {\n var center = this.getCenterPoint(),\n iVpt = invertTransform(this.viewportTransform);\n return transformPoint(center, iVpt);\n },\n\n /**\n * @private\n * @param {fabric.Object} object Object to center\n * @param {fabric.Point} center Center point\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n _centerObject: function(object, center) {\n object.setPositionByOrigin(center, 'center', 'center');\n object.setCoords();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Returns dataless JSON representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {String} json string\n */\n toDatalessJSON: function (propertiesToInclude) {\n return this.toDatalessObject(propertiesToInclude);\n },\n\n /**\n * Returns object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function (propertiesToInclude) {\n return this._toObjectMethod('toObject', propertiesToInclude);\n },\n\n /**\n * Returns dataless object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function (propertiesToInclude) {\n return this._toObjectMethod('toDatalessObject', propertiesToInclude);\n },\n\n /**\n * @private\n */\n _toObjectMethod: function (methodName, propertiesToInclude) {\n\n var clipPath = this.clipPath, data = {\n version: fabric.version,\n objects: this._toObjects(methodName, propertiesToInclude),\n };\n if (clipPath && !clipPath.excludeFromExport) {\n data.clipPath = this._toObject(this.clipPath, methodName, propertiesToInclude);\n }\n extend(data, this.__serializeBgOverlay(methodName, propertiesToInclude));\n\n fabric.util.populateWithProperties(this, data, propertiesToInclude);\n\n return data;\n },\n\n /**\n * @private\n */\n _toObjects: function(methodName, propertiesToInclude) {\n return this._objects.filter(function(object) {\n return !object.excludeFromExport;\n }).map(function(instance) {\n return this._toObject(instance, methodName, propertiesToInclude);\n }, this);\n },\n\n /**\n * @private\n */\n _toObject: function(instance, methodName, propertiesToInclude) {\n var originalValue;\n\n if (!this.includeDefaultValues) {\n originalValue = instance.includeDefaultValues;\n instance.includeDefaultValues = false;\n }\n\n var object = instance[methodName](propertiesToInclude);\n if (!this.includeDefaultValues) {\n instance.includeDefaultValues = originalValue;\n }\n return object;\n },\n\n /**\n * @private\n */\n __serializeBgOverlay: function(methodName, propertiesToInclude) {\n var data = {}, bgImage = this.backgroundImage, overlayImage = this.overlayImage,\n bgColor = this.backgroundColor, overlayColor = this.overlayColor;\n\n if (bgColor && bgColor.toObject) {\n if (!bgColor.excludeFromExport) {\n data.background = bgColor.toObject(propertiesToInclude);\n }\n }\n else if (bgColor) {\n data.background = bgColor;\n }\n\n if (overlayColor && overlayColor.toObject) {\n if (!overlayColor.excludeFromExport) {\n data.overlay = overlayColor.toObject(propertiesToInclude);\n }\n }\n else if (overlayColor) {\n data.overlay = overlayColor;\n }\n\n if (bgImage && !bgImage.excludeFromExport) {\n data.backgroundImage = this._toObject(bgImage, methodName, propertiesToInclude);\n }\n if (overlayImage && !overlayImage.excludeFromExport) {\n data.overlayImage = this._toObject(overlayImage, methodName, propertiesToInclude);\n }\n\n return data;\n },\n\n \n\n /**\n * Moves an object or the objects of a multiple selection\n * to the bottom of the stack of drawn objects\n * @param {fabric.Object} object Object to send to back\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n sendToBack: function (object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, objs;\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = objs.length; i--;) {\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.unshift(obj);\n }\n }\n else {\n removeFromArray(this._objects, object);\n this._objects.unshift(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Moves an object or the objects of a multiple selection\n * to the top of the stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n bringToFront: function (object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, objs;\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = 0; i < objs.length; i++) {\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.push(obj);\n }\n }\n else {\n removeFromArray(this._objects, object);\n this._objects.push(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Moves an object or a selection down in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in behind\n * the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n sendBackwards: function (object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, idx, newIdx, objs, objsMoved = 0;\n\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = 0; i < objs.length; i++) {\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx > 0 + objsMoved) {\n newIdx = idx - 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n }\n else {\n idx = this._objects.indexOf(object);\n if (idx !== 0) {\n // if object is not on the bottom of stack\n newIdx = this._findNewLowerIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * @private\n */\n _findNewLowerIndex: function(object, idx, intersecting) {\n var newIdx, i;\n\n if (intersecting) {\n newIdx = idx;\n\n // traverse down the stack looking for the nearest intersecting object\n for (i = idx - 1; i >= 0; --i) {\n\n var isIntersecting = object.intersectsWithObject(this._objects[i]) ||\n object.isContainedWithinObject(this._objects[i]) ||\n this._objects[i].isContainedWithinObject(object);\n\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n }\n else {\n newIdx = idx - 1;\n }\n\n return newIdx;\n },\n\n /**\n * Moves an object or a selection up in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in front\n * of the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n bringForward: function (object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, idx, newIdx, objs, objsMoved = 0;\n\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = objs.length; i--;) {\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx < this._objects.length - 1 - objsMoved) {\n newIdx = idx + 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n }\n else {\n idx = this._objects.indexOf(object);\n if (idx !== this._objects.length - 1) {\n // if object is not on top of stack (last item in an array)\n newIdx = this._findNewUpperIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * @private\n */\n _findNewUpperIndex: function(object, idx, intersecting) {\n var newIdx, i, len;\n\n if (intersecting) {\n newIdx = idx;\n\n // traverse up the stack looking for the nearest intersecting object\n for (i = idx + 1, len = this._objects.length; i < len; ++i) {\n\n var isIntersecting = object.intersectsWithObject(this._objects[i]) ||\n object.isContainedWithinObject(this._objects[i]) ||\n this._objects[i].isContainedWithinObject(object);\n\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n }\n else {\n newIdx = idx + 1;\n }\n\n return newIdx;\n },\n\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @param {Number} index Position to move to\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n moveTo: function (object, index) {\n removeFromArray(this._objects, object);\n this._objects.splice(index, 0, object);\n return this.renderOnAddRemove && this.requestRenderAll();\n },\n\n /**\n * Clears a canvas element and dispose objects\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n dispose: function () {\n // cancel eventually ongoing renders\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n if (this.backgroundImage && this.backgroundImage.dispose) {\n this.backgroundImage.dispose();\n }\n this.backgroundImage = null;\n if (this.overlayImage && this.overlayImage.dispose) {\n this.overlayImage.dispose();\n }\n this.overlayImage = null;\n this._iTextInstances = null;\n this.contextContainer = null;\n // restore canvas style\n this.lowerCanvasEl.classList.remove('lower-canvas');\n fabric.util.setStyle(this.lowerCanvasEl, this._originalCanvasStyle);\n delete this._originalCanvasStyle;\n // restore canvas size to original size in case retina scaling was applied\n this.lowerCanvasEl.setAttribute('width', this.width);\n this.lowerCanvasEl.setAttribute('height', this.height);\n fabric.util.cleanUpJsdomNode(this.lowerCanvasEl);\n this.lowerCanvasEl = undefined;\n return this;\n },\n\n /**\n * Returns a string representation of an instance\n * @return {String} string representation of an instance\n */\n toString: function () {\n return '#';\n }\n });\n\n extend(fabric.StaticCanvas.prototype, fabric.Observable);\n extend(fabric.StaticCanvas.prototype, fabric.Collection);\n extend(fabric.StaticCanvas.prototype, fabric.DataURLExporter);\n\n extend(fabric.StaticCanvas, /** @lends fabric.StaticCanvas */ {\n\n /**\n * @static\n * @type String\n * @default\n */\n EMPTY_JSON: '{\"objects\": [], \"background\": \"white\"}',\n\n /**\n * Provides a way to check support of some of the canvas methods\n * (either those of HTMLCanvasElement itself, or rendering context)\n *\n * @param {String} methodName Method to check support for;\n * Could be one of \"setLineDash\"\n * @return {Boolean | null} `true` if method is supported (or at least exists),\n * `null` if canvas element or context can not be initialized\n */\n supports: function (methodName) {\n var el = createCanvasElement();\n\n if (!el || !el.getContext) {\n return null;\n }\n\n var ctx = el.getContext('2d');\n if (!ctx) {\n return null;\n }\n\n switch (methodName) {\n\n case 'setLineDash':\n return typeof ctx.setLineDash !== 'undefined';\n\n default:\n return null;\n }\n }\n });\n\n /**\n * Returns Object representation of canvas\n * this alias is provided because if you call JSON.stringify on an instance,\n * the toJSON object will be invoked if it exists.\n * Having a toJSON method means you can do JSON.stringify(myCanvas)\n * @function\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON compatible object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#serialization}\n * @see {@link http://jsfiddle.net/fabricjs/pec86/|jsFiddle demo}\n * @example JSON without additional properties\n * var json = canvas.toJSON();\n * @example JSON with additional properties included\n * var json = canvas.toJSON(['lockMovementX', 'lockMovementY', 'lockRotation', 'lockScalingX', 'lockScalingY']);\n * @example JSON without default values\n * canvas.includeDefaultValues = false;\n * var json = canvas.toJSON();\n */\n fabric.StaticCanvas.prototype.toJSON = fabric.StaticCanvas.prototype.toObject;\n\n if (fabric.isLikelyNode) {\n fabric.StaticCanvas.prototype.createPNGStream = function() {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createPNGStream();\n };\n fabric.StaticCanvas.prototype.createJPEGStream = function(opts) {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createJPEGStream(opts);\n };\n }\n})();\n/**\n * BaseBrush class\n * @class fabric.BaseBrush\n * @see {@link http://fabricjs.com/freedrawing|Freedrawing demo}\n */\nfabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype */ {\n\n /**\n * Color of a brush\n * @type String\n * @default\n */\n color: 'rgb(0, 0, 0)',\n\n /**\n * Width of a brush, has to be a Number, no string literals\n * @type Number\n * @default\n */\n width: 1,\n\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property replaces \"shadowColor\" (String), \"shadowOffsetX\" (Number),\n * \"shadowOffsetY\" (Number) and \"shadowBlur\" (Number) since v1.2.12\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * Line endings style of a brush (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */\n strokeLineCap: 'round',\n\n /**\n * Corner style of a brush (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */\n strokeLineJoin: 'round',\n\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of a brush's\n * @type Number\n * @default\n */\n strokeMiterLimit: 10,\n\n /**\n * Stroke Dash Array.\n * @type Array\n * @default\n */\n strokeDashArray: null,\n\n /**\n * When `true`, the free drawing is limited to the whiteboard size. Default to false.\n * @type Boolean\n * @default false\n */\n\n limitedToCanvasSize: false,\n\n\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function (ctx) {\n ctx.strokeStyle = this.color;\n ctx.lineWidth = this.width;\n ctx.lineCap = this.strokeLineCap;\n ctx.miterLimit = this.strokeMiterLimit;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.setLineDash(this.strokeDashArray || []);\n },\n\n /**\n * Sets the transformation on given context\n * @param {RenderingContext2d} ctx context to render on\n * @private\n */\n _saveAndTransform: function(ctx) {\n var v = this.canvas.viewportTransform;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n },\n\n /**\n * Sets brush shadow styles\n * @private\n */\n _setShadow: function() {\n if (!this.shadow) {\n return;\n }\n\n var canvas = this.canvas,\n shadow = this.shadow,\n ctx = canvas.contextTop,\n zoom = canvas.getZoom();\n if (canvas && canvas._isRetinaScaling()) {\n zoom *= fabric.devicePixelRatio;\n }\n\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * zoom;\n ctx.shadowOffsetX = shadow.offsetX * zoom;\n ctx.shadowOffsetY = shadow.offsetY * zoom;\n },\n\n needsFullRender: function() {\n var color = new fabric.Color(this.color);\n return color.getAlpha() < 1 || !!this.shadow;\n },\n\n /**\n * Removes brush shadow styles\n * @private\n */\n _resetShadow: function() {\n var ctx = this.canvas.contextTop;\n\n ctx.shadowColor = '';\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n\n /**\n * Check is pointer is outside canvas boundaries\n * @param {Object} pointer\n * @private\n */\n _isOutSideCanvas: function(pointer) {\n return pointer.x < 0 || pointer.x > this.canvas.getWidth() || pointer.y < 0 || pointer.y > this.canvas.getHeight();\n }\n});\n(function() {\n /**\n * PencilBrush class\n * @class fabric.PencilBrush\n * @extends fabric.BaseBrush\n */\n fabric.PencilBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.PencilBrush.prototype */ {\n\n /**\n * Discard points that are less than `decimate` pixel distant from each other\n * @type Number\n * @default 0.4\n */\n decimate: 0.4,\n\n /**\n * Draws a straight line between last recorded point to current pointer\n * Used for `shift` functionality\n *\n * @type boolean\n * @default false\n */\n drawStraightLine: false,\n\n /**\n * The event modifier key that makes the brush draw a straight line.\n * If `null` or 'none' or any other string that is not a modifier key the feature is disabled.\n * @type {'altKey' | 'shiftKey' | 'ctrlKey' | 'none' | undefined | null}\n */\n straightLineKey: 'shiftKey',\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.PencilBrush} Instance of a pencil brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this._points = [];\n },\n\n needsFullRender: function () {\n return this.callSuper('needsFullRender') || this._hasStraightLine;\n },\n\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */\n _drawSegment: function (ctx, p1, p2) {\n var midPoint = p1.midPointFrom(p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n return midPoint;\n },\n\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */\n onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n this._render();\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this._captureDrawingPath(pointer) && this._points.length > 1) {\n if (this.needsFullRender()) {\n // redraw curve\n // clear top canvas\n this.canvas.clearContext(this.canvas.contextTop);\n this._render();\n }\n else {\n var points = this._points, length = points.length, ctx = this.canvas.contextTop;\n // draw the curve update\n this._saveAndTransform(ctx);\n if (this.oldEnd) {\n ctx.beginPath();\n ctx.moveTo(this.oldEnd.x, this.oldEnd.y);\n }\n this.oldEnd = this._drawSegment(ctx, points[length - 2], points[length - 1], true);\n ctx.stroke();\n ctx.restore();\n }\n }\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function(options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return true;\n }\n this.drawStraightLine = false;\n this.oldEnd = undefined;\n this._finalizeAndAddPath();\n return false;\n },\n\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */\n _prepareForDrawing: function(pointer) {\n\n var p = new fabric.Point(pointer.x, pointer.y);\n\n this._reset();\n this._addPoint(p);\n this.canvas.contextTop.moveTo(p.x, p.y);\n },\n\n /**\n * @private\n * @param {fabric.Point} point Point to be added to points array\n */\n _addPoint: function(point) {\n if (this._points.length > 1 && point.eq(this._points[this._points.length - 1])) {\n return false;\n }\n if (this.drawStraightLine && this._points.length > 1) {\n this._hasStraightLine = true;\n this._points.pop();\n }\n this._points.push(point);\n return true;\n },\n\n /**\n * Clear points array and set contextTop canvas style.\n * @private\n */\n _reset: function() {\n this._points = [];\n this._setBrushStyles(this.canvas.contextTop);\n this._setShadow();\n this._hasStraightLine = false;\n },\n\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */\n _captureDrawingPath: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y);\n return this._addPoint(pointerPoint);\n },\n\n /**\n * Draw a smooth path on the topCanvas using quadraticCurveTo\n * @private\n * @param {CanvasRenderingContext2D} [ctx]\n */\n _render: function(ctx) {\n var i, len,\n p1 = this._points[0],\n p2 = this._points[1];\n ctx = ctx || this.canvas.contextTop;\n this._saveAndTransform(ctx);\n ctx.beginPath();\n //if we only have 2 points in the path and they are the same\n //it means that the user only clicked the canvas without moving the mouse\n //then we should be drawing a dot. A path isn't drawn between two identical dots\n //that's why we set them apart a bit\n if (this._points.length === 2 && p1.x === p2.x && p1.y === p2.y) {\n var width = this.width / 1000;\n p1 = new fabric.Point(p1.x, p1.y);\n p2 = new fabric.Point(p2.x, p2.y);\n p1.x -= width;\n p2.x += width;\n }\n ctx.moveTo(p1.x, p1.y);\n\n for (i = 1, len = this._points.length; i < len; i++) {\n // we pick the point between pi + 1 & pi + 2 as the\n // end point and p1 as our control point.\n this._drawSegment(ctx, p1, p2);\n p1 = this._points[i];\n p2 = this._points[i + 1];\n }\n // Draw last line as a straight line while\n // we wait for the next point to be able to calculate\n // the bezier control point\n ctx.lineTo(p1.x, p1.y);\n ctx.stroke();\n ctx.restore();\n },\n\n /**\n * Converts points to SVG path\n * @param {Array} points Array of points\n * @return {(string|number)[][]} SVG path commands\n */\n convertPointsToSVGPath: function (points) {\n var correction = this.width / 1000;\n return fabric.util.getSmoothPathFromPoints(points, correction);\n },\n\n /**\n * @private\n * @param {(string|number)[][]} pathData SVG path commands\n * @returns {boolean}\n */\n _isEmptySVGPath: function (pathData) {\n var pathString = fabric.util.joinPath(pathData);\n return pathString === 'M 0 0 Q 0 0 0 0 L 0 0';\n },\n\n /**\n * Creates fabric.Path object to add on canvas\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n */\n createPath: function(pathData) {\n var path = new fabric.Path(pathData, {\n fill: null,\n stroke: this.color,\n strokeWidth: this.width,\n strokeLineCap: this.strokeLineCap,\n strokeMiterLimit: this.strokeMiterLimit,\n strokeLineJoin: this.strokeLineJoin,\n strokeDashArray: this.strokeDashArray,\n });\n if (this.shadow) {\n this.shadow.affectStroke = true;\n path.shadow = new fabric.Shadow(this.shadow);\n }\n\n return path;\n },\n\n /**\n * Decimate points array with the decimate value\n */\n decimatePoints: function(points, distance) {\n if (points.length <= 2) {\n return points;\n }\n var zoom = this.canvas.getZoom(), adjustedDistance = Math.pow(distance / zoom, 2),\n i, l = points.length - 1, lastPoint = points[0], newPoints = [lastPoint],\n cDistance;\n for (i = 1; i < l - 1; i++) {\n cDistance = Math.pow(lastPoint.x - points[i].x, 2) + Math.pow(lastPoint.y - points[i].y, 2);\n if (cDistance >= adjustedDistance) {\n lastPoint = points[i];\n newPoints.push(lastPoint);\n }\n }\n /**\n * Add the last point from the original line to the end of the array.\n * This ensures decimate doesn't delete the last point on the line, and ensures the line is > 1 point.\n */\n newPoints.push(points[l]);\n return newPoints;\n },\n\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to the fabric canvas.\n */\n _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n var pathData = this.convertPointsToSVGPath(this._points);\n if (this._isEmptySVGPath(pathData)) {\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n this.canvas.requestRenderAll();\n return;\n }\n\n var path = this.createPath(pathData);\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.fire('before:path:created', { path: path });\n this.canvas.add(path);\n this.canvas.requestRenderAll();\n path.setCoords();\n this._resetShadow();\n\n\n // fire event 'path' created\n this.canvas.fire('path:created', { path: path });\n }\n });\n})();\n/**\n * CircleBrush class\n * @class fabric.CircleBrush\n */\nfabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.CircleBrush.prototype */ {\n\n /**\n * Width of a brush\n * @type Number\n * @default\n */\n width: 10,\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.CircleBrush} Instance of a circle brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this.points = [];\n },\n\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */\n drawDot: function(pointer) {\n var point = this.addPoint(pointer),\n ctx = this.canvas.contextTop;\n this._saveAndTransform(ctx);\n this.dot(ctx, point);\n ctx.restore();\n },\n\n dot: function(ctx, point) {\n ctx.fillStyle = point.fill;\n ctx.beginPath();\n ctx.arc(point.x, point.y, point.radius, 0, Math.PI * 2, false);\n ctx.closePath();\n ctx.fill();\n },\n\n /**\n * Invoked on mouse down\n */\n onMouseDown: function(pointer) {\n this.points.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.drawDot(pointer);\n },\n\n /**\n * Render the full state of the brush\n * @private\n */\n _render: function() {\n var ctx = this.canvas.contextTop, i, len,\n points = this.points;\n this._saveAndTransform(ctx);\n for (i = 0, len = points.length; i < len; i++) {\n this.dot(ctx, points[i]);\n }\n ctx.restore();\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this.needsFullRender()) {\n this.canvas.clearContext(this.canvas.contextTop);\n this.addPoint(pointer);\n this._render();\n }\n else {\n this.drawDot(pointer);\n }\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove, i, len;\n this.canvas.renderOnAddRemove = false;\n\n var circles = [];\n\n for (i = 0, len = this.points.length; i < len; i++) {\n var point = this.points[i],\n circle = new fabric.Circle({\n radius: point.radius,\n left: point.x,\n top: point.y,\n originX: 'center',\n originY: 'center',\n fill: point.fill\n });\n\n this.shadow && (circle.shadow = new fabric.Shadow(this.shadow));\n\n circles.push(circle);\n }\n var group = new fabric.Group(circles);\n group.canvas = this.canvas;\n\n this.canvas.fire('before:path:created', { path: group });\n this.canvas.add(group);\n this.canvas.fire('path:created', { path: group });\n\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n\n /**\n * @param {Object} pointer\n * @return {fabric.Point} Just added pointer point\n */\n addPoint: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y),\n\n circleRadius = fabric.util.getRandomInt(\n Math.max(0, this.width - 20), this.width + 20) / 2,\n\n circleColor = new fabric.Color(this.color)\n .setAlpha(fabric.util.getRandomInt(0, 100) / 100)\n .toRgba();\n\n pointerPoint.radius = circleRadius;\n pointerPoint.fill = circleColor;\n\n this.points.push(pointerPoint);\n\n return pointerPoint;\n }\n});\n/**\n * SprayBrush class\n * @class fabric.SprayBrush\n */\nfabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric.SprayBrush.prototype */ {\n\n /**\n * Width of a spray\n * @type Number\n * @default\n */\n width: 10,\n\n /**\n * Density of a spray (number of dots per chunk)\n * @type Number\n * @default\n */\n density: 20,\n\n /**\n * Width of spray dots\n * @type Number\n * @default\n */\n dotWidth: 1,\n\n /**\n * Width variance of spray dots\n * @type Number\n * @default\n */\n dotWidthVariance: 1,\n\n /**\n * Whether opacity of a dot should be random\n * @type Boolean\n * @default\n */\n randomOpacity: false,\n\n /**\n * Whether overlapping dots (rectangles) should be removed (for performance reasons)\n * @type Boolean\n * @default\n */\n optimizeOverlapping: true,\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.SprayBrush} Instance of a spray brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this.sprayChunks = [];\n },\n\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */\n onMouseDown: function(pointer) {\n this.sprayChunks.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;\n this.canvas.renderOnAddRemove = false;\n\n var rects = [];\n\n for (var i = 0, ilen = this.sprayChunks.length; i < ilen; i++) {\n var sprayChunk = this.sprayChunks[i];\n\n for (var j = 0, jlen = sprayChunk.length; j < jlen; j++) {\n\n var rect = new fabric.Rect({\n width: sprayChunk[j].width,\n height: sprayChunk[j].width,\n left: sprayChunk[j].x + 1,\n top: sprayChunk[j].y + 1,\n originX: 'center',\n originY: 'center',\n fill: this.color\n });\n rects.push(rect);\n }\n }\n\n if (this.optimizeOverlapping) {\n rects = this._getOptimizedRects(rects);\n }\n\n var group = new fabric.Group(rects);\n this.shadow && group.set('shadow', new fabric.Shadow(this.shadow));\n this.canvas.fire('before:path:created', { path: group });\n this.canvas.add(group);\n this.canvas.fire('path:created', { path: group });\n\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n\n /**\n * @private\n * @param {Array} rects\n */\n _getOptimizedRects: function(rects) {\n\n // avoid creating duplicate rects at the same coordinates\n var uniqueRects = { }, key, i, len;\n\n for (i = 0, len = rects.length; i < len; i++) {\n key = rects[i].left + '' + rects[i].top;\n if (!uniqueRects[key]) {\n uniqueRects[key] = rects[i];\n }\n }\n var uniqueRectsArray = [];\n for (key in uniqueRects) {\n uniqueRectsArray.push(uniqueRects[key]);\n }\n\n return uniqueRectsArray;\n },\n\n /**\n * Render new chunk of spray brush\n */\n render: function(sprayChunk) {\n var ctx = this.canvas.contextTop, i, len;\n ctx.fillStyle = this.color;\n\n this._saveAndTransform(ctx);\n\n for (i = 0, len = sprayChunk.length; i < len; i++) {\n var point = sprayChunk[i];\n if (typeof point.opacity !== 'undefined') {\n ctx.globalAlpha = point.opacity;\n }\n ctx.fillRect(point.x, point.y, point.width, point.width);\n }\n ctx.restore();\n },\n\n /**\n * Render all spray chunks\n */\n _render: function() {\n var ctx = this.canvas.contextTop, i, ilen;\n ctx.fillStyle = this.color;\n\n this._saveAndTransform(ctx);\n\n for (i = 0, ilen = this.sprayChunks.length; i < ilen; i++) {\n this.render(this.sprayChunks[i]);\n }\n ctx.restore();\n },\n\n /**\n * @param {Object} pointer\n */\n addSprayChunk: function(pointer) {\n this.sprayChunkPoints = [];\n\n var x, y, width, radius = this.width / 2, i;\n\n for (i = 0; i < this.density; i++) {\n\n x = fabric.util.getRandomInt(pointer.x - radius, pointer.x + radius);\n y = fabric.util.getRandomInt(pointer.y - radius, pointer.y + radius);\n\n if (this.dotWidthVariance) {\n width = fabric.util.getRandomInt(\n // bottom clamp width to 1\n Math.max(1, this.dotWidth - this.dotWidthVariance),\n this.dotWidth + this.dotWidthVariance);\n }\n else {\n width = this.dotWidth;\n }\n\n var point = new fabric.Point(x, y);\n point.width = width;\n\n if (this.randomOpacity) {\n point.opacity = fabric.util.getRandomInt(0, 100) / 100;\n }\n\n this.sprayChunkPoints.push(point);\n }\n\n this.sprayChunks.push(this.sprayChunkPoints);\n }\n});\n/**\n * PatternBrush class\n * @class fabric.PatternBrush\n * @extends fabric.BaseBrush\n */\nfabric.PatternBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.PatternBrush.prototype */ {\n\n getPatternSrc: function() {\n\n var dotWidth = 20,\n dotDistance = 5,\n patternCanvas = fabric.util.createCanvasElement(),\n patternCtx = patternCanvas.getContext('2d');\n\n patternCanvas.width = patternCanvas.height = dotWidth + dotDistance;\n\n patternCtx.fillStyle = this.color;\n patternCtx.beginPath();\n patternCtx.arc(dotWidth / 2, dotWidth / 2, dotWidth / 2, 0, Math.PI * 2, false);\n patternCtx.closePath();\n patternCtx.fill();\n\n return patternCanvas;\n },\n\n getPatternSrcFunction: function() {\n return String(this.getPatternSrc).replace('this.color', '\"' + this.color + '\"');\n },\n\n /**\n * Creates \"pattern\" instance property\n * @param {CanvasRenderingContext2D} ctx\n */\n getPattern: function(ctx) {\n return ctx.createPattern(this.source || this.getPatternSrc(), 'repeat');\n },\n\n /**\n * Sets brush styles\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function(ctx) {\n this.callSuper('_setBrushStyles', ctx);\n ctx.strokeStyle = this.getPattern(ctx);\n },\n\n /**\n * Creates path\n */\n createPath: function(pathData) {\n var path = this.callSuper('createPath', pathData),\n topLeft = path._getLeftTopCoords().scalarAdd(path.strokeWidth / 2);\n\n path.stroke = new fabric.Pattern({\n source: this.source || this.getPatternSrcFunction(),\n offsetX: -topLeft.x,\n offsetY: -topLeft.y\n });\n return path;\n }\n});\n(function() {\n\n var getPointer = fabric.util.getPointer,\n degreesToRadians = fabric.util.degreesToRadians,\n isTouchEvent = fabric.util.isTouchEvent;\n\n /**\n * Canvas class\n * @class fabric.Canvas\n * @extends fabric.StaticCanvas\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#canvas}\n * @see {@link fabric.Canvas#initialize} for constructor definition\n *\n * @fires object:modified at the end of a transform or any change when statefull is true\n * @fires object:rotating while an object is being rotated from the control\n * @fires object:scaling while an object is being scaled by controls\n * @fires object:moving while an object is being dragged\n * @fires object:skewing while an object is being skewed from the controls\n *\n * @fires before:transform before a transform is is started\n * @fires before:selection:cleared\n * @fires selection:cleared\n * @fires selection:updated\n * @fires selection:created\n *\n * @fires path:created after a drawing operation ends and the path is added\n * @fires mouse:down\n * @fires mouse:move\n * @fires mouse:up\n * @fires mouse:down:before on mouse down, before the inner fabric logic runs\n * @fires mouse:move:before on mouse move, before the inner fabric logic runs\n * @fires mouse:up:before on mouse up, before the inner fabric logic runs\n * @fires mouse:over\n * @fires mouse:out\n * @fires mouse:dblclick whenever a native dbl click event fires on the canvas.\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop:before before drop event. same native event. This is added to handle edge cases\n * @fires drop\n * @fires after:render at the end of the render process, receives the context in the callback\n * @fires before:render at start the render process, receives the context in the callback\n *\n */\n fabric.Canvas = fabric.util.createClass(fabric.StaticCanvas, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(el, options) {\n options || (options = { });\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n this._initInteractive();\n this._createCacheCanvas();\n },\n\n /**\n * When true, objects can be transformed by one side (unproportionally)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @default\n * @since fabric 4.0 // changed name and default value\n */\n uniformScaling: true,\n\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type String\n * @default\n */\n uniScaleKey: 'shiftKey',\n\n /**\n * When true, objects use center point as the origin of scale transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredScaling: false,\n\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredRotation: false,\n\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */\n centeredKey: 'altKey',\n\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */\n altActionKey: 'shiftKey',\n\n /**\n * Indicates that canvas is interactive. This property should not be changed.\n * @type Boolean\n * @default\n */\n interactive: true,\n\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n * @default\n */\n selection: true,\n\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type String|Array\n * @default\n */\n selectionKey: 'shiftKey',\n\n /**\n * Indicates which key enable alternative selection\n * in case of target overlapping with active object\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|String\n * @default\n */\n altSelectionKey: null,\n\n /**\n * Color of selection\n * @type String\n * @default\n */\n selectionColor: 'rgba(100, 100, 255, 0.3)', // blue\n\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */\n selectionDashArray: [],\n\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n * @default\n */\n selectionBorderColor: 'rgba(255, 255, 255, 0.3)',\n\n /**\n * Width of a line used in object/group selection\n * @type Number\n * @default\n */\n selectionLineWidth: 1,\n\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n * @default\n */\n selectionFullyContained: false,\n\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type String\n * @default\n */\n hoverCursor: 'move',\n\n /**\n * Default cursor value used when moving an object on canvas\n * @type String\n * @default\n */\n moveCursor: 'move',\n\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default\n */\n defaultCursor: 'default',\n\n /**\n * Cursor value used during free drawing\n * @type String\n * @default\n */\n freeDrawingCursor: 'crosshair',\n\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default\n */\n notAllowedCursor: 'not-allowed',\n\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @default\n */\n containerClass: 'canvas-container',\n\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n * @default\n */\n perPixelTargetFind: false,\n\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n * @default\n */\n targetFindTolerance: 0,\n\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n * @default\n */\n skipTargetFind: false,\n\n /**\n * When true, mouse events on canvas (mousedown/mousemove/mouseup) result in free drawing.\n * After mousedown, mousemove creates a shape,\n * and then mouseup finalizes it and adds an instance of `fabric.Path` onto canvas.\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-4#free_drawing}\n * @type Boolean\n * @default\n */\n isDrawingMode: false,\n\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default\n */\n preserveObjectStacking: false,\n\n /**\n * Indicates the angle that an object will lock to while rotating.\n * @type Number\n * @since 1.6.7\n * @default\n */\n snapAngle: 0,\n\n /**\n * Indicates the distance from the snapAngle the rotation will lock to the snapAngle.\n * When `null`, the snapThreshold will default to the snapAngle.\n * @type null|Number\n * @since 1.6.7\n * @default\n */\n snapThreshold: null,\n\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n * @default\n */\n stopContextMenu: false,\n\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n * @default\n */\n fireRightClick: false,\n\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n * @default\n */\n fireMiddleClick: false,\n\n /**\n * Keep track of the subTargets for Mouse Events\n * @type fabric.Object[]\n */\n targets: [],\n\n /**\n * When the option is enabled, PointerEvent is used instead of MouseEvent.\n * @type Boolean\n * @default\n */\n enablePointerEvents: false,\n\n /**\n * Keep track of the hovered target\n * @type fabric.Object\n * @private\n */\n _hoveredTarget: null,\n\n /**\n * hold the list of nested targets hovered\n * @type fabric.Object[]\n * @private\n */\n _hoveredTargets: [],\n\n /**\n * @private\n */\n _initInteractive: function() {\n this._currentTransform = null;\n this._groupSelector = null;\n this._initWrapperElement();\n this._createUpperCanvas();\n this._initEventListeners();\n\n this._initRetinaScaling();\n\n this.freeDrawingBrush = fabric.PencilBrush && new fabric.PencilBrush(this);\n\n this.calcOffset();\n },\n\n /**\n * Divides objects in two groups, one to render immediately\n * and one to render as activeGroup.\n * @return {Array} objects to render immediately and pushes the other in the activeGroup.\n */\n _chooseObjectsToRender: function() {\n var activeObjects = this.getActiveObjects(),\n object, objsToRender, activeGroupObjects;\n\n if (activeObjects.length > 0 && !this.preserveObjectStacking) {\n objsToRender = [];\n activeGroupObjects = [];\n for (var i = 0, length = this._objects.length; i < length; i++) {\n object = this._objects[i];\n if (activeObjects.indexOf(object) === -1 ) {\n objsToRender.push(object);\n }\n else {\n activeGroupObjects.push(object);\n }\n }\n if (activeObjects.length > 1) {\n this._activeObject._objects = activeGroupObjects;\n }\n objsToRender.push.apply(objsToRender, activeGroupObjects);\n }\n else {\n objsToRender = this._objects;\n }\n return objsToRender;\n },\n\n /**\n * Renders both the top canvas and the secondary container canvas.\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAll: function () {\n if (this.contextTopDirty && !this._groupSelector && !this.isDrawingMode) {\n this.clearContext(this.contextTop);\n this.contextTopDirty = false;\n }\n if (this.hasLostContext) {\n this.renderTopLayer(this.contextTop);\n this.hasLostContext = false;\n }\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._chooseObjectsToRender());\n return this;\n },\n\n renderTopLayer: function(ctx) {\n ctx.save();\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._render();\n this.contextTopDirty = true;\n }\n // we render the top context - last object\n if (this.selection && this._groupSelector) {\n this._drawSelection(ctx);\n this.contextTopDirty = true;\n }\n ctx.restore();\n },\n\n /**\n * Method to render only the top canvas.\n * Also used to render the group selection box.\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n renderTop: function () {\n var ctx = this.contextTop;\n this.clearContext(ctx);\n this.renderTopLayer(ctx);\n this.fire('after:render');\n return this;\n },\n\n /**\n * @private\n */\n _normalizePointer: function (object, pointer) {\n var m = object.calcTransformMatrix(),\n invertedM = fabric.util.invertTransform(m),\n vptPointer = this.restorePointerVpt(pointer);\n return fabric.util.transformPoint(vptPointer, invertedM);\n },\n\n /**\n * Returns true if object is transparent at a certain location\n * @param {fabric.Object} target Object to check\n * @param {Number} x Left coordinate\n * @param {Number} y Top coordinate\n * @return {Boolean}\n */\n isTargetTransparent: function (target, x, y) {\n // in case the target is the activeObject, we cannot execute this optimization\n // because we need to draw controls too.\n if (target.shouldCache() && target._cacheCanvas && target !== this._activeObject) {\n var normalizedPointer = this._normalizePointer(target, {x: x, y: y}),\n targetRelativeX = Math.max(target.cacheTranslationX + (normalizedPointer.x * target.zoomX), 0),\n targetRelativeY = Math.max(target.cacheTranslationY + (normalizedPointer.y * target.zoomY), 0);\n\n var isTransparent = fabric.util.isTransparent(\n target._cacheContext, Math.round(targetRelativeX), Math.round(targetRelativeY), this.targetFindTolerance);\n\n return isTransparent;\n }\n\n var ctx = this.contextCache,\n originalColor = target.selectionBackgroundColor, v = this.viewportTransform;\n\n target.selectionBackgroundColor = '';\n\n this.clearContext(ctx);\n\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n target.render(ctx);\n ctx.restore();\n\n target.selectionBackgroundColor = originalColor;\n\n var isTransparent = fabric.util.isTransparent(\n ctx, x, y, this.targetFindTolerance);\n\n return isTransparent;\n },\n\n /**\n * takes an event and determines if selection key has been pressed\n * @private\n * @param {Event} e Event object\n */\n _isSelectionKeyPressed: function(e) {\n var selectionKeyPressed = false;\n\n if (Array.isArray(this.selectionKey)) {\n selectionKeyPressed = !!this.selectionKey.find(function(key) { return e[key] === true; });\n }\n else {\n selectionKeyPressed = e[this.selectionKey];\n }\n\n return selectionKeyPressed;\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _shouldClearSelection: function (e, target) {\n var activeObjects = this.getActiveObjects(),\n activeObject = this._activeObject;\n\n return (\n !target\n ||\n (target &&\n activeObject &&\n activeObjects.length > 1 &&\n activeObjects.indexOf(target) === -1 &&\n activeObject !== target &&\n !this._isSelectionKeyPressed(e))\n ||\n (target && !target.evented)\n ||\n (target &&\n !target.selectable &&\n activeObject &&\n activeObject !== target)\n );\n },\n\n /**\n * centeredScaling from object can't override centeredScaling from canvas.\n * this should be fixed, since object setting should take precedence over canvas.\n * also this should be something that will be migrated in the control properties.\n * as ability to define the origin of the transformation that the control provide.\n * @private\n * @param {fabric.Object} target\n * @param {String} action\n * @param {Boolean} altKey\n */\n _shouldCenterTransform: function (target, action, altKey) {\n if (!target) {\n return;\n }\n\n var centerTransform;\n\n if (action === 'scale' || action === 'scaleX' || action === 'scaleY' || action === 'resizing') {\n centerTransform = this.centeredScaling || target.centeredScaling;\n }\n else if (action === 'rotate') {\n centerTransform = this.centeredRotation || target.centeredRotation;\n }\n\n return centerTransform ? !altKey : altKey;\n },\n\n /**\n * should disappear before release 4.0\n * @private\n */\n _getOriginFromCorner: function(target, corner) {\n var origin = {\n x: target.originX,\n y: target.originY\n };\n\n if (corner === 'ml' || corner === 'tl' || corner === 'bl') {\n origin.x = 'right';\n }\n else if (corner === 'mr' || corner === 'tr' || corner === 'br') {\n origin.x = 'left';\n }\n\n if (corner === 'tl' || corner === 'mt' || corner === 'tr') {\n origin.y = 'bottom';\n }\n else if (corner === 'bl' || corner === 'mb' || corner === 'br') {\n origin.y = 'top';\n }\n return origin;\n },\n\n /**\n * @private\n * @param {Boolean} alreadySelected true if target is already selected\n * @param {String} corner a string representing the corner ml, mr, tl ...\n * @param {Event} e Event object\n * @param {fabric.Object} [target] inserted back to help overriding. Unused\n */\n _getActionFromCorner: function(alreadySelected, corner, e, target) {\n if (!corner || !alreadySelected) {\n return 'drag';\n }\n var control = target.controls[corner];\n return control.getActionName(e, control, target);\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _setupCurrentTransform: function (e, target, alreadySelected) {\n if (!target) {\n return;\n }\n\n var pointer = this.getPointer(e), corner = target.__corner,\n control = target.controls[corner],\n actionHandler = (alreadySelected && corner) ?\n control.getActionHandler(e, target, control) : fabric.controlsUtils.dragHandler,\n action = this._getActionFromCorner(alreadySelected, corner, e, target),\n origin = this._getOriginFromCorner(target, corner),\n altKey = e[this.centeredKey],\n transform = {\n target: target,\n action: action,\n actionHandler: actionHandler,\n corner: corner,\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n // used by transation\n offsetX: pointer.x - target.left,\n offsetY: pointer.y - target.top,\n originX: origin.x,\n originY: origin.y,\n ex: pointer.x,\n ey: pointer.y,\n lastX: pointer.x,\n lastY: pointer.y,\n // unsure they are useful anymore.\n // left: target.left,\n // top: target.top,\n theta: degreesToRadians(target.angle),\n // end of unsure\n width: target.width * target.scaleX,\n shiftKey: e.shiftKey,\n altKey: altKey,\n original: fabric.util.saveObjectTransform(target),\n };\n\n if (this._shouldCenterTransform(target, action, altKey)) {\n transform.originX = 'center';\n transform.originY = 'center';\n }\n transform.original.originX = origin.x;\n transform.original.originY = origin.y;\n this._currentTransform = transform;\n this._beforeTransform(e);\n },\n\n /**\n * Set the cursor type of the canvas element\n * @param {String} value Cursor type of the canvas element.\n * @see http://www.w3.org/TR/css3-ui/#cursor\n */\n setCursor: function (value) {\n this.upperCanvasEl.style.cursor = value;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx to draw the selection on\n */\n _drawSelection: function (ctx) {\n var selector = this._groupSelector,\n viewportStart = new fabric.Point(selector.ex, selector.ey),\n start = fabric.util.transformPoint(viewportStart, this.viewportTransform),\n viewportExtent = new fabric.Point(selector.ex + selector.left, selector.ey + selector.top),\n extent = fabric.util.transformPoint(viewportExtent, this.viewportTransform),\n minX = Math.min(start.x, extent.x),\n minY = Math.min(start.y, extent.y),\n maxX = Math.max(start.x, extent.x),\n maxY = Math.max(start.y, extent.y),\n strokeOffset = this.selectionLineWidth / 2;\n\n if (this.selectionColor) {\n ctx.fillStyle = this.selectionColor;\n ctx.fillRect(minX, minY, maxX - minX, maxY - minY);\n }\n\n if (!this.selectionLineWidth || !this.selectionBorderColor) {\n return;\n }\n ctx.lineWidth = this.selectionLineWidth;\n ctx.strokeStyle = this.selectionBorderColor;\n\n minX += strokeOffset;\n minY += strokeOffset;\n maxX -= strokeOffset;\n maxY -= strokeOffset;\n // selection border\n fabric.Object.prototype._setLineDash.call(this, ctx, this.selectionDashArray);\n ctx.strokeRect(minX, minY, maxX - minX, maxY - minY);\n },\n\n /**\n * Method that determines what object we are clicking on\n * the skipGroup parameter is for internal use, is needed for shift+click action\n * 11/09/2018 TODO: would be cool if findTarget could discern between being a full target\n * or the outside part of the corner.\n * @param {Event} e mouse event\n * @param {Boolean} skipGroup when true, activeGroup is skipped and only objects are traversed through\n * @return {fabric.Object} the target found\n */\n findTarget: function (e, skipGroup) {\n if (this.skipTargetFind) {\n return;\n }\n\n var ignoreZoom = true,\n pointer = this.getPointer(e, ignoreZoom),\n activeObject = this._activeObject,\n aObjects = this.getActiveObjects(),\n activeTarget, activeTargetSubs,\n isTouch = isTouchEvent(e),\n shouldLookForActive = (aObjects.length > 1 && !skipGroup) || aObjects.length === 1;\n\n // first check current group (if one exists)\n // active group does not check sub targets like normal groups.\n // if active group just exits.\n this.targets = [];\n\n // if we hit the corner of an activeObject, let's return that.\n if (shouldLookForActive && activeObject._findTargetCorner(pointer, isTouch)) {\n return activeObject;\n }\n if (aObjects.length > 1 && !skipGroup && activeObject === this._searchPossibleTargets([activeObject], pointer)) {\n return activeObject;\n }\n if (aObjects.length === 1 &&\n activeObject === this._searchPossibleTargets([activeObject], pointer)) {\n if (!this.preserveObjectStacking) {\n return activeObject;\n }\n else {\n activeTarget = activeObject;\n activeTargetSubs = this.targets;\n this.targets = [];\n }\n }\n var target = this._searchPossibleTargets(this._objects, pointer);\n if (e[this.altSelectionKey] && target && activeTarget && target !== activeTarget) {\n target = activeTarget;\n this.targets = activeTargetSubs;\n }\n return target;\n },\n\n /**\n * Checks point is inside the object.\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @param {fabric.Object} obj Object to test against\n * @param {Object} [globalPointer] x,y object of point coordinates relative to canvas used to search per pixel target.\n * @return {Boolean} true if point is contained within an area of given object\n * @private\n */\n _checkTarget: function(pointer, obj, globalPointer) {\n if (obj &&\n obj.visible &&\n obj.evented &&\n // http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/u32.html\n // http://idav.ucdavis.edu/~okreylos/TAship/Spring2000/PointInPolygon.html\n obj.containsPoint(pointer)\n ) {\n if ((this.perPixelTargetFind || obj.perPixelTargetFind) && !obj.isEditing) {\n var isTransparent = this.isTargetTransparent(obj, globalPointer.x, globalPointer.y);\n if (!isTransparent) {\n return true;\n }\n }\n else {\n return true;\n }\n }\n },\n\n /**\n * Function used to search inside objects an object that contains pointer in bounding box or that contains pointerOnCanvas when painted\n * @param {Array} [objects] objects array to look into\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @return {fabric.Object} object that contains pointer\n * @private\n */\n _searchPossibleTargets: function(objects, pointer) {\n // Cache all targets where their bounding box contains point.\n var target, i = objects.length, subTarget;\n // Do not check for currently grouped objects, since we check the parent group itself.\n // until we call this function specifically to search inside the activeGroup\n while (i--) {\n var objToCheck = objects[i];\n var pointerToUse = objToCheck.group ?\n this._normalizePointer(objToCheck.group, pointer) : pointer;\n if (this._checkTarget(pointerToUse, objToCheck, pointer)) {\n target = objects[i];\n if (target.subTargetCheck && target instanceof fabric.Group) {\n subTarget = this._searchPossibleTargets(target._objects, pointer);\n subTarget && this.targets.push(subTarget);\n }\n break;\n }\n }\n return target;\n },\n\n /**\n * Returns pointer coordinates without the effect of the viewport\n * @param {Object} pointer with \"x\" and \"y\" number values\n * @return {Object} object with \"x\" and \"y\" number values\n */\n restorePointerVpt: function(pointer) {\n return fabric.util.transformPoint(\n pointer,\n fabric.util.invertTransform(this.viewportTransform)\n );\n },\n\n /**\n * Returns pointer coordinates relative to canvas.\n * Can return coordinates with or without viewportTransform.\n * ignoreZoom false gives back coordinates that represent\n * the point clicked on canvas element.\n * ignoreZoom true gives back coordinates after being processed\n * by the viewportTransform ( sort of coordinates of what is displayed\n * on the canvas where you are clicking.\n * ignoreZoom true = HTMLElement coordinates relative to top,left\n * ignoreZoom false, default = fabric space coordinates, the same used for shape position\n * To interact with your shapes top and left you want to use ignoreZoom true\n * most of the time, while ignoreZoom false will give you coordinates\n * compatible with the object.oCoords system.\n * of the time.\n * @param {Event} e\n * @param {Boolean} ignoreZoom\n * @return {Object} object with \"x\" and \"y\" number values\n */\n getPointer: function (e, ignoreZoom) {\n // return cached values if we are in the event processing chain\n if (this._absolutePointer && !ignoreZoom) {\n return this._absolutePointer;\n }\n if (this._pointer && ignoreZoom) {\n return this._pointer;\n }\n\n var pointer = getPointer(e),\n upperCanvasEl = this.upperCanvasEl,\n bounds = upperCanvasEl.getBoundingClientRect(),\n boundsWidth = bounds.width || 0,\n boundsHeight = bounds.height || 0,\n cssScale;\n\n if (!boundsWidth || !boundsHeight ) {\n if ('top' in bounds && 'bottom' in bounds) {\n boundsHeight = Math.abs( bounds.top - bounds.bottom );\n }\n if ('right' in bounds && 'left' in bounds) {\n boundsWidth = Math.abs( bounds.right - bounds.left );\n }\n }\n\n this.calcOffset();\n pointer.x = pointer.x - this._offset.left;\n pointer.y = pointer.y - this._offset.top;\n if (!ignoreZoom) {\n pointer = this.restorePointerVpt(pointer);\n }\n\n var retinaScaling = this.getRetinaScaling();\n if (retinaScaling !== 1) {\n pointer.x /= retinaScaling;\n pointer.y /= retinaScaling;\n }\n\n if (boundsWidth === 0 || boundsHeight === 0) {\n // If bounds are not available (i.e. not visible), do not apply scale.\n cssScale = { width: 1, height: 1 };\n }\n else {\n cssScale = {\n width: upperCanvasEl.width / boundsWidth,\n height: upperCanvasEl.height / boundsHeight\n };\n }\n\n return {\n x: pointer.x * cssScale.width,\n y: pointer.y * cssScale.height\n };\n },\n\n /**\n * @private\n * @throws {CANVAS_INIT_ERROR} If canvas can not be initialized\n */\n _createUpperCanvas: function () {\n var lowerCanvasClass = this.lowerCanvasEl.className.replace(/\\s*lower-canvas\\s*/, ''),\n lowerCanvasEl = this.lowerCanvasEl, upperCanvasEl = this.upperCanvasEl;\n\n // there is no need to create a new upperCanvas element if we have already one.\n if (upperCanvasEl) {\n upperCanvasEl.className = '';\n }\n else {\n upperCanvasEl = this._createCanvasElement();\n this.upperCanvasEl = upperCanvasEl;\n }\n fabric.util.addClass(upperCanvasEl, 'upper-canvas ' + lowerCanvasClass);\n\n this.wrapperEl.appendChild(upperCanvasEl);\n\n this._copyCanvasStyle(lowerCanvasEl, upperCanvasEl);\n this._applyCanvasStyle(upperCanvasEl);\n this.contextTop = upperCanvasEl.getContext('2d');\n },\n\n /**\n * Returns context of top canvas where interactions are drawn\n * @returns {CanvasRenderingContext2D}\n */\n getTopContext: function () {\n return this.contextTop;\n },\n\n /**\n * @private\n */\n _createCacheCanvas: function () {\n this.cacheCanvasEl = this._createCanvasElement();\n this.cacheCanvasEl.setAttribute('width', this.width);\n this.cacheCanvasEl.setAttribute('height', this.height);\n this.contextCache = this.cacheCanvasEl.getContext('2d');\n },\n\n /**\n * @private\n */\n _initWrapperElement: function () {\n this.wrapperEl = fabric.util.wrapElement(this.lowerCanvasEl, 'div', {\n 'class': this.containerClass\n });\n fabric.util.setStyle(this.wrapperEl, {\n width: this.width + 'px',\n height: this.height + 'px',\n position: 'relative'\n });\n fabric.util.makeElementUnselectable(this.wrapperEl);\n },\n\n /**\n * @private\n * @param {HTMLElement} element canvas element to apply styles on\n */\n _applyCanvasStyle: function (element) {\n var width = this.width || element.width,\n height = this.height || element.height;\n\n fabric.util.setStyle(element, {\n position: 'absolute',\n width: width + 'px',\n height: height + 'px',\n left: 0,\n top: 0,\n 'touch-action': this.allowTouchScrolling ? 'manipulation' : 'none',\n '-ms-touch-action': this.allowTouchScrolling ? 'manipulation' : 'none'\n });\n element.width = width;\n element.height = height;\n fabric.util.makeElementUnselectable(element);\n },\n\n /**\n * Copy the entire inline style from one element (fromEl) to another (toEl)\n * @private\n * @param {Element} fromEl Element style is copied from\n * @param {Element} toEl Element copied style is applied to\n */\n _copyCanvasStyle: function (fromEl, toEl) {\n toEl.style.cssText = fromEl.style.cssText;\n },\n\n /**\n * Returns context of canvas where object selection is drawn\n * @return {CanvasRenderingContext2D}\n */\n getSelectionContext: function() {\n return this.contextTop;\n },\n\n /**\n * Returns <canvas> element on which object selection is drawn\n * @return {HTMLCanvasElement}\n */\n getSelectionElement: function () {\n return this.upperCanvasEl;\n },\n\n /**\n * Returns currently active object\n * @return {fabric.Object} active object\n */\n getActiveObject: function () {\n return this._activeObject;\n },\n\n /**\n * Returns an array with the current selected objects\n * @return {fabric.Object} active object\n */\n getActiveObjects: function () {\n var active = this._activeObject;\n if (active) {\n if (active.type === 'activeSelection' && active._objects) {\n return active._objects.slice(0);\n }\n else {\n return [active];\n }\n }\n return [];\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */\n _onObjectRemoved: function(obj) {\n // removing active object should fire \"selection:cleared\" events\n if (obj === this._activeObject) {\n this.fire('before:selection:cleared', { target: obj });\n this._discardActiveObject();\n this.fire('selection:cleared', { target: obj });\n obj.fire('deselected');\n }\n if (obj === this._hoveredTarget){\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n this.callSuper('_onObjectRemoved', obj);\n },\n\n /**\n * @private\n * Compares the old activeObject with the current one and fires correct events\n * @param {fabric.Object} obj old activeObject\n */\n _fireSelectionEvents: function(oldObjects, e) {\n var somethingChanged = false, objects = this.getActiveObjects(),\n added = [], removed = [];\n oldObjects.forEach(function(oldObject) {\n if (objects.indexOf(oldObject) === -1) {\n somethingChanged = true;\n oldObject.fire('deselected', {\n e: e,\n target: oldObject\n });\n removed.push(oldObject);\n }\n });\n objects.forEach(function(object) {\n if (oldObjects.indexOf(object) === -1) {\n somethingChanged = true;\n object.fire('selected', {\n e: e,\n target: object\n });\n added.push(object);\n }\n });\n if (oldObjects.length > 0 && objects.length > 0) {\n somethingChanged && this.fire('selection:updated', {\n e: e,\n selected: added,\n deselected: removed,\n });\n }\n else if (objects.length > 0) {\n this.fire('selection:created', {\n e: e,\n selected: added,\n });\n }\n else if (oldObjects.length > 0) {\n this.fire('selection:cleared', {\n e: e,\n deselected: removed,\n });\n }\n },\n\n /**\n * Sets given object as the only active object on canvas\n * @param {fabric.Object} object Object to set as an active one\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n setActiveObject: function (object, e) {\n var currentActives = this.getActiveObjects();\n this._setActiveObject(object, e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to setActiveObject but without firing\n * any event. There is commitment to have this stay this way.\n * This is the functional part of setActiveObject.\n * @private\n * @param {Object} object to set as active\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {Boolean} true if the selection happened\n */\n _setActiveObject: function(object, e) {\n if (this._activeObject === object) {\n return false;\n }\n if (!this._discardActiveObject(e, object)) {\n return false;\n }\n if (object.onSelect({ e: e })) {\n return false;\n }\n this._activeObject = object;\n return true;\n },\n\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to discardActiveObject but without firing\n * any events. There is commitment to have this stay this way.\n * This is the functional part of discardActiveObject.\n * @param {Event} [e] Event (passed along when firing \"object:deselected\")\n * @param {Object} object to set as active\n * @return {Boolean} true if the selection happened\n * @private\n */\n _discardActiveObject: function(e, object) {\n var obj = this._activeObject;\n if (obj) {\n // onDeselect return TRUE to cancel selection;\n if (obj.onDeselect({ e: e, object: object })) {\n return false;\n }\n this._activeObject = null;\n }\n return true;\n },\n\n /**\n * Discards currently active object and fire events. If the function is called by fabric\n * as a consequence of a mouse event, the event is passed as a parameter and\n * sent to the fire function for the custom events. When used as a method the\n * e param does not have any application.\n * @param {event} e\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n discardActiveObject: function (e) {\n var currentActives = this.getActiveObjects(), activeObject = this.getActiveObject();\n if (currentActives.length) {\n this.fire('before:selection:cleared', { target: activeObject, e: e });\n }\n this._discardActiveObject(e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n\n /**\n * Clears a canvas element and removes all event listeners\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n dispose: function () {\n var wrapper = this.wrapperEl;\n this.removeListeners();\n wrapper.removeChild(this.upperCanvasEl);\n wrapper.removeChild(this.lowerCanvasEl);\n this.contextCache = null;\n this.contextTop = null;\n ['upperCanvasEl', 'cacheCanvasEl'].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n if (wrapper.parentNode) {\n wrapper.parentNode.replaceChild(this.lowerCanvasEl, this.wrapperEl);\n }\n delete this.wrapperEl;\n fabric.StaticCanvas.prototype.dispose.call(this);\n return this;\n },\n\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clear: function () {\n // this.discardActiveGroup();\n this.discardActiveObject();\n this.clearContext(this.contextTop);\n return this.callSuper('clear');\n },\n\n /**\n * Draws objects' controls (borders/controls)\n * @param {CanvasRenderingContext2D} ctx Context to render controls on\n */\n drawControls: function(ctx) {\n var activeObject = this._activeObject;\n\n if (activeObject) {\n activeObject._renderControls(ctx);\n }\n },\n\n /**\n * @private\n */\n _toObject: function(instance, methodName, propertiesToInclude) {\n //If the object is part of the current selection group, it should\n //be transformed appropriately\n //i.e. it should be serialised as it would appear if the selection group\n //were to be destroyed.\n var originalProperties = this._realizeGroupTransformOnObject(instance),\n object = this.callSuper('_toObject', instance, methodName, propertiesToInclude);\n //Undo the damage we did by changing all of its properties\n this._unwindGroupTransformOnObject(instance, originalProperties);\n return object;\n },\n\n /**\n * Realises an object's group transformation on it\n * @private\n * @param {fabric.Object} [instance] the object to transform (gets mutated)\n * @returns the original values of instance which were changed\n */\n _realizeGroupTransformOnObject: function(instance) {\n if (instance.group && instance.group.type === 'activeSelection' && this._activeObject === instance.group) {\n var layoutProps = ['angle', 'flipX', 'flipY', 'left', 'scaleX', 'scaleY', 'skewX', 'skewY', 'top'];\n //Copy all the positionally relevant properties across now\n var originalValues = {};\n layoutProps.forEach(function(prop) {\n originalValues[prop] = instance[prop];\n });\n fabric.util.addTransformToObject(instance, this._activeObject.calcOwnMatrix());\n return originalValues;\n }\n else {\n return null;\n }\n },\n\n /**\n * Restores the changed properties of instance\n * @private\n * @param {fabric.Object} [instance] the object to un-transform (gets mutated)\n * @param {Object} [originalValues] the original values of instance, as returned by _realizeGroupTransformOnObject\n */\n _unwindGroupTransformOnObject: function(instance, originalValues) {\n if (originalValues) {\n instance.set(originalValues);\n }\n },\n\n /**\n * @private\n */\n _setSVGObject: function(markup, instance, reviver) {\n //If the object is in a selection group, simulate what would happen to that\n //object when the group is deselected\n var originalProperties = this._realizeGroupTransformOnObject(instance);\n this.callSuper('_setSVGObject', markup, instance, reviver);\n this._unwindGroupTransformOnObject(instance, originalProperties);\n },\n\n setViewportTransform: function (vpt) {\n if (this.renderOnAddRemove && this._activeObject && this._activeObject.isEditing) {\n this._activeObject.clearContextTop();\n }\n fabric.StaticCanvas.prototype.setViewportTransform.call(this, vpt);\n }\n });\n\n // copying static properties manually to work around Opera's bug,\n // where \"prototype\" property is enumerable and overrides existing prototype\n for (var prop in fabric.StaticCanvas) {\n if (prop !== 'prototype') {\n fabric.Canvas[prop] = fabric.StaticCanvas[prop];\n }\n }\n})();\n(function() {\n\n var addListener = fabric.util.addListener,\n removeListener = fabric.util.removeListener,\n RIGHT_CLICK = 3, MIDDLE_CLICK = 2, LEFT_CLICK = 1,\n addEventOptions = { passive: false };\n\n function checkClick(e, value) {\n return e.button && (e.button === value - 1);\n }\n\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * Contains the id of the touch event that owns the fabric transform\n * @type Number\n * @private\n */\n mainTouchId: null,\n\n /**\n * Adds mouse listeners to canvas\n * @private\n */\n _initEventListeners: function () {\n // in case we initialized the class twice. This should not happen normally\n // but in some kind of applications where the canvas element may be changed\n // this is a workaround to having double listeners.\n this.removeListeners();\n this._bindEvents();\n this.addOrRemove(addListener, 'add');\n },\n\n /**\n * return an event prefix pointer or mouse.\n * @private\n */\n _getEventPrefix: function () {\n return this.enablePointerEvents ? 'pointer' : 'mouse';\n },\n\n addOrRemove: function(functor, eventjsFunctor) {\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n functor(fabric.window, 'resize', this._onResize);\n functor(canvasElement, eventTypePrefix + 'down', this._onMouseDown);\n functor(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n functor(canvasElement, eventTypePrefix + 'out', this._onMouseOut);\n functor(canvasElement, eventTypePrefix + 'enter', this._onMouseEnter);\n functor(canvasElement, 'wheel', this._onMouseWheel);\n functor(canvasElement, 'contextmenu', this._onContextMenu);\n functor(canvasElement, 'dblclick', this._onDoubleClick);\n functor(canvasElement, 'dragover', this._onDragOver);\n functor(canvasElement, 'dragenter', this._onDragEnter);\n functor(canvasElement, 'dragleave', this._onDragLeave);\n functor(canvasElement, 'drop', this._onDrop);\n if (!this.enablePointerEvents) {\n functor(canvasElement, 'touchstart', this._onTouchStart, addEventOptions);\n }\n if (typeof eventjs !== 'undefined' && eventjsFunctor in eventjs) {\n eventjs[eventjsFunctor](canvasElement, 'gesture', this._onGesture);\n eventjs[eventjsFunctor](canvasElement, 'drag', this._onDrag);\n eventjs[eventjsFunctor](canvasElement, 'orientation', this._onOrientationChange);\n eventjs[eventjsFunctor](canvasElement, 'shake', this._onShake);\n eventjs[eventjsFunctor](canvasElement, 'longpress', this._onLongPress);\n }\n },\n\n /**\n * Removes all event listeners\n */\n removeListeners: function() {\n this.addOrRemove(removeListener, 'remove');\n // if you dispose on a mouseDown, before mouse up, you need to clean document to...\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n removeListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n removeListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n },\n\n /**\n * @private\n */\n _bindEvents: function() {\n if (this.eventsBound) {\n // for any reason we pass here twice we do not want to bind events twice.\n return;\n }\n this._onMouseDown = this._onMouseDown.bind(this);\n this._onTouchStart = this._onTouchStart.bind(this);\n this._onMouseMove = this._onMouseMove.bind(this);\n this._onMouseUp = this._onMouseUp.bind(this);\n this._onTouchEnd = this._onTouchEnd.bind(this);\n this._onResize = this._onResize.bind(this);\n this._onGesture = this._onGesture.bind(this);\n this._onDrag = this._onDrag.bind(this);\n this._onShake = this._onShake.bind(this);\n this._onLongPress = this._onLongPress.bind(this);\n this._onOrientationChange = this._onOrientationChange.bind(this);\n this._onMouseWheel = this._onMouseWheel.bind(this);\n this._onMouseOut = this._onMouseOut.bind(this);\n this._onMouseEnter = this._onMouseEnter.bind(this);\n this._onContextMenu = this._onContextMenu.bind(this);\n this._onDoubleClick = this._onDoubleClick.bind(this);\n this._onDragOver = this._onDragOver.bind(this);\n this._onDragEnter = this._simpleEventHandler.bind(this, 'dragenter');\n this._onDragLeave = this._simpleEventHandler.bind(this, 'dragleave');\n this._onDrop = this._onDrop.bind(this);\n this.eventsBound = true;\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js gesture\n * @param {Event} [self] Inner Event object\n */\n _onGesture: function(e, self) {\n this.__onTransformGesture && this.__onTransformGesture(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js drag\n * @param {Event} [self] Inner Event object\n */\n _onDrag: function(e, self) {\n this.__onDrag && this.__onDrag(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on wheel event\n */\n _onMouseWheel: function(e) {\n this.__onMouseWheel(e);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseOut: function(e) {\n var target = this._hoveredTarget;\n this.fire('mouse:out', { target: target, e: e });\n this._hoveredTarget = null;\n target && target.fire('mouseout', { e: e });\n\n var _this = this;\n this._hoveredTargets.forEach(function(_target){\n _this.fire('mouse:out', { target: target, e: e });\n _target && target.fire('mouseout', { e: e });\n });\n this._hoveredTargets = [];\n\n if (this._iTextInstances) {\n this._iTextInstances.forEach(function(obj) {\n if (obj.isEditing) {\n obj.hiddenTextarea.focus();\n }\n });\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseenter\n */\n _onMouseEnter: function(e) {\n // This find target and consequent 'mouse:over' is used to\n // clear old instances on hovered target.\n // calling findTarget has the side effect of killing target.__corner.\n // as a short term fix we are not firing this if we are currently transforming.\n // as a long term fix we need to separate the action of finding a target with the\n // side effects we added to it.\n if (!this._currentTransform && !this.findTarget(e)) {\n this.fire('mouse:over', { target: null, e: e });\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js orientation change\n * @param {Event} [self] Inner Event object\n */\n _onOrientationChange: function(e, self) {\n this.__onOrientationChange && this.__onOrientationChange(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */\n _onShake: function(e, self) {\n this.__onShake && this.__onShake(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */\n _onLongPress: function(e, self) {\n this.__onLongPress && this.__onLongPress(e, self);\n },\n\n /**\n * prevent default to allow drop event to be fired\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */\n _onDragOver: function(e) {\n e.preventDefault();\n var target = this._simpleEventHandler('dragover', e);\n this._fireEnterLeaveEvents(target, e);\n },\n\n /**\n * `drop:before` is a an event that allow you to schedule logic\n * before the `drop` event. Prefer `drop` event always, but if you need\n * to run some drop-disabling logic on an event, since there is no way\n * to handle event handlers ordering, use `drop:before`\n * @param {Event} e\n */\n _onDrop: function (e) {\n this._simpleEventHandler('drop:before', e);\n return this._simpleEventHandler('drop', e);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onContextMenu: function (e) {\n if (this.stopContextMenu) {\n e.stopPropagation();\n e.preventDefault();\n }\n return false;\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onDoubleClick: function (e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'dblclick');\n this._resetTransformEventData(e);\n },\n\n /**\n * Return a the id of an event.\n * returns either the pointerId or the identifier or 0 for the mouse event\n * @private\n * @param {Event} evt Event object\n */\n getPointerId: function(evt) {\n var changedTouches = evt.changedTouches;\n\n if (changedTouches) {\n return changedTouches[0] && changedTouches[0].identifier;\n }\n\n if (this.enablePointerEvents) {\n return evt.pointerId;\n }\n\n return -1;\n },\n\n /**\n * Determines if an event has the id of the event that is considered main\n * @private\n * @param {evt} event Event object\n */\n _isMainEvent: function(evt) {\n if (evt.isPrimary === true) {\n return true;\n }\n if (evt.isPrimary === false) {\n return false;\n }\n if (evt.type === 'touchend' && evt.touches.length === 0) {\n return true;\n }\n if (evt.changedTouches) {\n return evt.changedTouches[0].identifier === this.mainTouchId;\n }\n return true;\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchStart: function(e) {\n e.preventDefault();\n if (this.mainTouchId === null) {\n this.mainTouchId = this.getPointerId(e);\n }\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n addListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n addListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n // Unbind mousedown to prevent double triggers from touch devices\n removeListener(canvasElement, eventTypePrefix + 'down', this._onMouseDown);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDown: function (e) {\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n removeListener(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n addListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n addListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchEnd: function(e) {\n if (e.touches.length > 0) {\n // if there are still touches stop here\n return;\n }\n this.__onMouseUp(e);\n this._resetTransformEventData();\n this.mainTouchId = null;\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n var _this = this;\n if (this._willAddMouseDown) {\n clearTimeout(this._willAddMouseDown);\n }\n this._willAddMouseDown = setTimeout(function() {\n // Wait 400ms before rebinding mousedown to prevent double triggers\n // from touch devices\n addListener(_this.upperCanvasEl, eventTypePrefix + 'down', _this._onMouseDown);\n _this._willAddMouseDown = 0;\n }, 400);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUp: function (e) {\n this.__onMouseUp(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n if (this._isMainEvent(e)) {\n removeListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n removeListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n addListener(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMove: function (e) {\n !this.allowTouchScrolling && e.preventDefault && e.preventDefault();\n this.__onMouseMove(e);\n },\n\n /**\n * @private\n */\n _onResize: function () {\n this.calcOffset();\n },\n\n /**\n * Decides whether the canvas should be redrawn in mouseup and mousedown events.\n * @private\n * @param {Object} target\n */\n _shouldRender: function(target) {\n var activeObject = this._activeObject;\n\n if (\n !!activeObject !== !!target ||\n (activeObject && target && (activeObject !== target))\n ) {\n // this covers: switch of target, from target to no target, selection of target\n // multiSelection with key and mouse\n return true;\n }\n else if (activeObject && activeObject.isEditing) {\n // if we mouse up/down over a editing textbox a cursor change,\n // there is no need to re render\n return false;\n }\n return false;\n },\n\n /**\n * Method that defines the actions when mouse is released on canvas.\n * The method resets the currentTransform parameters, store the image corner\n * position in the image object and render the canvas on top.\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n __onMouseUp: function (e) {\n var target, transform = this._currentTransform,\n groupSelector = this._groupSelector, shouldRender = false,\n isClick = (!groupSelector || (groupSelector.left === 0 && groupSelector.top === 0));\n this._cacheTransformEventData(e);\n target = this._target;\n this._handleEvent(e, 'up:before');\n // if right/middle click just fire events and return\n // target undefined will make the _handleEvent search the target\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, 'up', RIGHT_CLICK, isClick);\n }\n return;\n }\n\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, 'up', MIDDLE_CLICK, isClick);\n }\n this._resetTransformEventData();\n return;\n }\n\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this._onMouseUpInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n if (transform) {\n this._finalizeCurrentTransform(e);\n shouldRender = transform.actionPerformed;\n }\n if (!isClick) {\n var targetWasActive = target === this._activeObject;\n this._maybeGroupObjects(e);\n if (!shouldRender) {\n shouldRender = (\n this._shouldRender(target) ||\n (!targetWasActive && target === this._activeObject)\n );\n }\n }\n var corner, pointer;\n if (target) {\n corner = target._findTargetCorner(\n this.getPointer(e, true),\n fabric.util.isTouchEvent(e)\n );\n if (target.selectable && target !== this._activeObject && target.activeOn === 'up') {\n this.setActiveObject(target, e);\n shouldRender = true;\n }\n else {\n var control = target.controls[corner],\n mouseUpHandler = control && control.getMouseUpHandler(e, target, control);\n if (mouseUpHandler) {\n pointer = this.getPointer(e);\n mouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n }\n target.isMoving = false;\n }\n // if we are ending up a transform on a different control or a new object\n // fire the original mouse up from the corner that started the transform\n if (transform && (transform.target !== target || transform.corner !== corner)) {\n var originalControl = transform.target && transform.target.controls[transform.corner],\n originalMouseUpHandler = originalControl && originalControl.getMouseUpHandler(e, target, control);\n pointer = pointer || this.getPointer(e);\n originalMouseUpHandler && originalMouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n this._setCursorFromEvent(e, target);\n this._handleEvent(e, 'up', LEFT_CLICK, isClick);\n this._groupSelector = null;\n this._currentTransform = null;\n // reset the target information about which corner is selected\n target && (target.__corner = 0);\n if (shouldRender) {\n this.requestRenderAll();\n }\n else if (!isClick) {\n this.renderTop();\n }\n },\n\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @return {Fabric.Object} target return the the target found, for internal reasons.\n */\n _simpleEventHandler: function(eventType, e) {\n var target = this.findTarget(e),\n targets = this.targets,\n options = {\n e: e,\n target: target,\n subTargets: targets,\n };\n this.fire(eventType, options);\n target && target.fire(eventType, options);\n if (!targets) {\n return target;\n }\n for (var i = 0; i < targets.length; i++) {\n targets[i].fire(eventType, options);\n }\n return target;\n },\n\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @param {fabric.Object} targetObj receiving event\n * @param {Number} [button] button used in the event 1 = left, 2 = middle, 3 = right\n * @param {Boolean} isClick for left button only, indicates that the mouse up happened without move.\n */\n _handleEvent: function(e, eventType, button, isClick) {\n var target = this._target,\n targets = this.targets || [],\n options = {\n e: e,\n target: target,\n subTargets: targets,\n button: button || LEFT_CLICK,\n isClick: isClick || false,\n pointer: this._pointer,\n absolutePointer: this._absolutePointer,\n transform: this._currentTransform\n };\n if (eventType === 'up') {\n options.currentTarget = this.findTarget(e);\n options.currentSubTargets = this.targets;\n }\n this.fire('mouse:' + eventType, options);\n target && target.fire('mouse' + eventType, options);\n for (var i = 0; i < targets.length; i++) {\n targets[i].fire('mouse' + eventType, options);\n }\n },\n\n /**\n * @private\n * @param {Event} e send the mouse event that generate the finalize down, so it can be used in the event\n */\n _finalizeCurrentTransform: function(e) {\n\n var transform = this._currentTransform,\n target = transform.target,\n options = {\n e: e,\n target: target,\n transform: transform,\n action: transform.action,\n };\n\n if (target._scaling) {\n target._scaling = false;\n }\n\n target.setCoords();\n\n if (transform.actionPerformed || (this.stateful && target.hasStateChanged())) {\n this._fire('modified', options);\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDownInDrawingMode: function(e) {\n this._isCurrentlyDrawing = true;\n if (this.getActiveObject()) {\n this.discardActiveObject(e).requestRenderAll();\n }\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseDown(pointer, { e: e, pointer: pointer });\n this._handleEvent(e, 'down');\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMoveInDrawingMode: function(e) {\n if (this._isCurrentlyDrawing) {\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseMove(pointer, { e: e, pointer: pointer });\n }\n this.setCursor(this.freeDrawingCursor);\n this._handleEvent(e, 'move');\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUpInDrawingMode: function(e) {\n var pointer = this.getPointer(e);\n this._isCurrentlyDrawing = this.freeDrawingBrush.onMouseUp({ e: e, pointer: pointer });\n this._handleEvent(e, 'up');\n },\n\n /**\n * Method that defines the actions when mouse is clicked on canvas.\n * The method inits the currentTransform parameters and renders all the\n * canvas so the current image can be placed on the top canvas and the rest\n * in on the container one.\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n __onMouseDown: function (e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'down:before');\n var target = this._target;\n // if right click just fire events\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, 'down', RIGHT_CLICK);\n }\n return;\n }\n\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, 'down', MIDDLE_CLICK);\n }\n return;\n }\n\n if (this.isDrawingMode) {\n this._onMouseDownInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n // ignore if some object is being transformed at this moment\n if (this._currentTransform) {\n return;\n }\n\n var pointer = this._pointer;\n // save pointer for check in __onMouseUp event\n this._previousPointer = pointer;\n var shouldRender = this._shouldRender(target),\n shouldGroup = this._shouldGroup(e, target);\n if (this._shouldClearSelection(e, target)) {\n this.discardActiveObject(e);\n }\n else if (shouldGroup) {\n this._handleGrouping(e, target);\n target = this._activeObject;\n }\n\n if (this.selection && (!target ||\n (!target.selectable && !target.isEditing && target !== this._activeObject))) {\n this._groupSelector = {\n ex: this._absolutePointer.x,\n ey: this._absolutePointer.y,\n top: 0,\n left: 0\n };\n }\n\n if (target) {\n var alreadySelected = target === this._activeObject;\n if (target.selectable && target.activeOn === 'down') {\n this.setActiveObject(target, e);\n }\n var corner = target._findTargetCorner(\n this.getPointer(e, true),\n fabric.util.isTouchEvent(e)\n );\n target.__corner = corner;\n if (target === this._activeObject && (corner || !shouldGroup)) {\n this._setupCurrentTransform(e, target, alreadySelected);\n var control = target.controls[corner],\n pointer = this.getPointer(e),\n mouseDownHandler = control && control.getMouseDownHandler(e, target, control);\n if (mouseDownHandler) {\n mouseDownHandler(e, this._currentTransform, pointer.x, pointer.y);\n }\n }\n }\n this._handleEvent(e, 'down');\n // we must renderAll so that we update the visuals\n (shouldRender || shouldGroup) && this.requestRenderAll();\n },\n\n /**\n * reset cache form common information needed during event processing\n * @private\n */\n _resetTransformEventData: function() {\n this._target = null;\n this._pointer = null;\n this._absolutePointer = null;\n },\n\n /**\n * Cache common information needed during event processing\n * @private\n * @param {Event} e Event object fired on event\n */\n _cacheTransformEventData: function(e) {\n // reset in order to avoid stale caching\n this._resetTransformEventData();\n this._pointer = this.getPointer(e, true);\n this._absolutePointer = this.restorePointerVpt(this._pointer);\n this._target = this._currentTransform ? this._currentTransform.target : this.findTarget(e) || null;\n },\n\n /**\n * @private\n */\n _beforeTransform: function(e) {\n var t = this._currentTransform;\n this.stateful && t.target.saveState();\n this.fire('before:transform', {\n e: e,\n transform: t,\n });\n },\n\n /**\n * Method that defines the actions when mouse is hovering the canvas.\n * The currentTransform parameter will define whether the user is rotating/scaling/translating\n * an image or neither of them (only hovering). A group selection is also possible and would cancel\n * all any other type of action.\n * In case of an image transformation only the top canvas will be rendered.\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n __onMouseMove: function (e) {\n this._handleEvent(e, 'move:before');\n this._cacheTransformEventData(e);\n var target, pointer;\n\n if (this.isDrawingMode) {\n this._onMouseMoveInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n var groupSelector = this._groupSelector;\n\n // We initially clicked in an empty area, so we draw a box for multiple selection\n if (groupSelector) {\n pointer = this._absolutePointer;\n\n groupSelector.left = pointer.x - groupSelector.ex;\n groupSelector.top = pointer.y - groupSelector.ey;\n\n this.renderTop();\n }\n else if (!this._currentTransform) {\n target = this.findTarget(e) || null;\n this._setCursorFromEvent(e, target);\n this._fireOverOutEvents(target, e);\n }\n else {\n this._transformObject(e);\n }\n this._handleEvent(e, 'move');\n this._resetTransformEventData();\n },\n\n /**\n * Manage the mouseout, mouseover events for the fabric object on the canvas\n * @param {Fabric.Object} target the target where the target from the mousemove event\n * @param {Event} e Event object fired on mousemove\n * @private\n */\n _fireOverOutEvents: function(target, e) {\n var _hoveredTarget = this._hoveredTarget,\n _hoveredTargets = this._hoveredTargets, targets = this.targets,\n length = Math.max(_hoveredTargets.length, targets.length);\n\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _hoveredTarget,\n evtOut: 'mouseout',\n canvasEvtOut: 'mouse:out',\n evtIn: 'mouseover',\n canvasEvtIn: 'mouse:over',\n });\n for (var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: 'mouseout',\n evtIn: 'mouseover',\n });\n }\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n },\n\n /**\n * Manage the dragEnter, dragLeave events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the onDrag event\n * @param {Event} e Event object fired on ondrag\n * @private\n */\n _fireEnterLeaveEvents: function(target, e) {\n var _draggedoverTarget = this._draggedoverTarget,\n _hoveredTargets = this._hoveredTargets, targets = this.targets,\n length = Math.max(_hoveredTargets.length, targets.length);\n\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _draggedoverTarget,\n evtOut: 'dragleave',\n evtIn: 'dragenter',\n });\n for (var i = 0; i < length; i++) {\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: 'dragleave',\n evtIn: 'dragenter',\n });\n }\n this._draggedoverTarget = target;\n },\n\n /**\n * Manage the synthetic in/out events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the supported events\n * @param {Event} e Event object fired\n * @param {Object} config configuration for the function to work\n * @param {String} config.targetName property on the canvas where the old target is stored\n * @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out\n * @param {String} config.evtOut name of the event to fire for out\n * @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in\n * @param {String} config.evtIn name of the event to fire for in\n * @private\n */\n fireSyntheticInOutEvents: function(target, e, config) {\n var inOpt, outOpt, oldTarget = config.oldTarget, outFires, inFires,\n targetChanged = oldTarget !== target, canvasEvtIn = config.canvasEvtIn, canvasEvtOut = config.canvasEvtOut;\n if (targetChanged) {\n inOpt = { e: e, target: target, previousTarget: oldTarget };\n outOpt = { e: e, target: oldTarget, nextTarget: target };\n }\n inFires = target && targetChanged;\n outFires = oldTarget && targetChanged;\n if (outFires) {\n canvasEvtOut && this.fire(canvasEvtOut, outOpt);\n oldTarget.fire(config.evtOut, outOpt);\n }\n if (inFires) {\n canvasEvtIn && this.fire(canvasEvtIn, inOpt);\n target.fire(config.evtIn, inOpt);\n }\n },\n\n /**\n * Method that defines actions when an Event Mouse Wheel\n * @param {Event} e Event object fired on mouseup\n */\n __onMouseWheel: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'wheel');\n this._resetTransformEventData();\n },\n\n /**\n * @private\n * @param {Event} e Event fired on mousemove\n */\n _transformObject: function(e) {\n var pointer = this.getPointer(e),\n transform = this._currentTransform;\n\n transform.reset = false;\n transform.shiftKey = e.shiftKey;\n transform.altKey = e[this.centeredKey];\n\n this._performTransformAction(e, transform, pointer);\n transform.actionPerformed && this.requestRenderAll();\n },\n\n /**\n * @private\n */\n _performTransformAction: function(e, transform, pointer) {\n var x = pointer.x,\n y = pointer.y,\n action = transform.action,\n actionPerformed = false,\n actionHandler = transform.actionHandler;\n // this object could be created from the function in the control handlers\n\n\n if (actionHandler) {\n actionPerformed = actionHandler(e, transform, x, y);\n }\n if (action === 'drag' && actionPerformed) {\n transform.target.isMoving = true;\n this.setCursor(transform.target.moveCursor || this.moveCursor);\n }\n transform.actionPerformed = transform.actionPerformed || actionPerformed;\n },\n\n /**\n * @private\n */\n _fire: fabric.controlsUtils.fireEvent,\n\n /**\n * Sets the cursor depending on where the canvas is being hovered.\n * Note: very buggy in Opera\n * @param {Event} e Event object\n * @param {Object} target Object that the mouse is hovering, if so.\n */\n _setCursorFromEvent: function (e, target) {\n if (!target) {\n this.setCursor(this.defaultCursor);\n return false;\n }\n var hoverCursor = target.hoverCursor || this.hoverCursor,\n activeSelection = this._activeObject && this._activeObject.type === 'activeSelection' ?\n this._activeObject : null,\n // only show proper corner when group selection is not active\n corner = (!activeSelection || !activeSelection.contains(target))\n // here we call findTargetCorner always with undefined for the touch parameter.\n // we assume that if you are using a cursor you do not need to interact with\n // the bigger touch area.\n && target._findTargetCorner(this.getPointer(e, true));\n\n if (!corner) {\n if (target.subTargetCheck){\n // hoverCursor should come from top-most subTarget,\n // so we walk the array backwards\n this.targets.concat().reverse().map(function(_target){\n hoverCursor = _target.hoverCursor || hoverCursor;\n });\n }\n this.setCursor(hoverCursor);\n }\n else {\n this.setCursor(this.getCornerCursor(corner, target, e));\n }\n },\n\n /**\n * @private\n */\n getCornerCursor: function(corner, target, e) {\n var control = target.controls[corner];\n return control.cursorStyleHandler(e, control, target);\n }\n });\n})();\n(function() {\n\n var min = Math.min,\n max = Math.max;\n\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n * @return {Boolean}\n */\n _shouldGroup: function(e, target) {\n var activeObject = this._activeObject;\n return activeObject && this._isSelectionKeyPressed(e) && target && target.selectable && this.selection &&\n (activeObject !== target || activeObject.type === 'activeSelection') && !target.onSelect({ e: e });\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _handleGrouping: function (e, target) {\n var activeObject = this._activeObject;\n // avoid multi select when shift click on a corner\n if (activeObject.__corner) {\n return;\n }\n if (target === activeObject) {\n // if it's a group, find target again, using activeGroup objects\n target = this.findTarget(e, true);\n // if even object is not found or we are on activeObjectCorner, bail out\n if (!target || !target.selectable) {\n return;\n }\n }\n if (activeObject && activeObject.type === 'activeSelection') {\n this._updateActiveSelection(target, e);\n }\n else {\n this._createActiveSelection(target, e);\n }\n },\n\n /**\n * @private\n */\n _updateActiveSelection: function(target, e) {\n var activeSelection = this._activeObject,\n currentActiveObjects = activeSelection._objects.slice(0);\n if (activeSelection.contains(target)) {\n activeSelection.removeWithUpdate(target);\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n if (activeSelection.size() === 1) {\n // activate last remaining object\n this._setActiveObject(activeSelection.item(0), e);\n }\n }\n else {\n activeSelection.addWithUpdate(target);\n this._hoveredTarget = activeSelection;\n this._hoveredTargets = this.targets.concat();\n }\n this._fireSelectionEvents(currentActiveObjects, e);\n },\n\n /**\n * @private\n */\n _createActiveSelection: function(target, e) {\n var currentActives = this.getActiveObjects(), group = this._createGroup(target);\n this._hoveredTarget = group;\n // ISSUE 4115: should we consider subTargets here?\n // this._hoveredTargets = [];\n // this._hoveredTargets = this.targets.concat();\n this._setActiveObject(group, e);\n this._fireSelectionEvents(currentActives, e);\n },\n\n /**\n * @private\n * @param {Object} target\n */\n _createGroup: function(target) {\n var objects = this._objects,\n isActiveLower = objects.indexOf(this._activeObject) < objects.indexOf(target),\n groupObjects = isActiveLower\n ? [this._activeObject, target]\n : [target, this._activeObject];\n this._activeObject.isEditing && this._activeObject.exitEditing();\n return new fabric.ActiveSelection(groupObjects, {\n canvas: this\n });\n },\n\n /**\n * @private\n * @param {Event} e mouse event\n */\n _groupSelectedObjects: function (e) {\n\n var group = this._collectObjects(e),\n aGroup;\n\n // do not create group for 1 element only\n if (group.length === 1) {\n this.setActiveObject(group[0], e);\n }\n else if (group.length > 1) {\n aGroup = new fabric.ActiveSelection(group.reverse(), {\n canvas: this\n });\n this.setActiveObject(aGroup, e);\n }\n },\n\n /**\n * @private\n */\n _collectObjects: function(e) {\n var group = [],\n currentObject,\n x1 = this._groupSelector.ex,\n y1 = this._groupSelector.ey,\n x2 = x1 + this._groupSelector.left,\n y2 = y1 + this._groupSelector.top,\n selectionX1Y1 = new fabric.Point(min(x1, x2), min(y1, y2)),\n selectionX2Y2 = new fabric.Point(max(x1, x2), max(y1, y2)),\n allowIntersect = !this.selectionFullyContained,\n isClick = x1 === x2 && y1 === y2;\n // we iterate reverse order to collect top first in case of click.\n for (var i = this._objects.length; i--; ) {\n currentObject = this._objects[i];\n\n if (!currentObject || !currentObject.selectable || !currentObject.visible) {\n continue;\n }\n\n if ((allowIntersect && currentObject.intersectsWithRect(selectionX1Y1, selectionX2Y2, true)) ||\n currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2, true) ||\n (allowIntersect && currentObject.containsPoint(selectionX1Y1, null, true)) ||\n (allowIntersect && currentObject.containsPoint(selectionX2Y2, null, true))\n ) {\n group.push(currentObject);\n // only add one object if it's a click\n if (isClick) {\n break;\n }\n }\n }\n\n if (group.length > 1) {\n group = group.filter(function(object) {\n return !object.onSelect({ e: e });\n });\n }\n\n return group;\n },\n\n /**\n * @private\n */\n _maybeGroupObjects: function(e) {\n if (this.selection && this._groupSelector) {\n this._groupSelectedObjects(e);\n }\n this.setCursor(this.defaultCursor);\n // clear selection and current transformation\n this._groupSelector = null;\n }\n });\n\n})();\n(function () {\n fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Exports canvas element to a dataurl image. Note that when multiplier is used, cropping is scaled appropriately\n * @param {Object} [options] Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by, to have consistent\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 2.0.0\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n * @see {@link http://jsfiddle.net/fabricjs/NfZVb/|jsFiddle demo}\n * @example Generate jpeg dataURL with lower quality\n * var dataURL = canvas.toDataURL({\n * format: 'jpeg',\n * quality: 0.8\n * });\n * @example Generate cropped png dataURL (clipping of canvas)\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * left: 100,\n * top: 100,\n * width: 200,\n * height: 200\n * });\n * @example Generate double scaled png dataURL\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * multiplier: 2\n * });\n */\n toDataURL: function (options) {\n options || (options = { });\n\n var format = options.format || 'png',\n quality = options.quality || 1,\n multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? this.getRetinaScaling() : 1),\n canvasEl = this.toCanvasElement(multiplier, options);\n return fabric.util.toDataURL(canvasEl, format, quality);\n },\n\n /**\n * Create a new HTMLCanvas element painted with the current canvas content.\n * No need to resize the actual one or repaint it.\n * Will transfer object ownership to a new canvas, paint it, and set everything back.\n * This is an intermediary step used to get to a dataUrl but also it is useful to\n * create quick image copies of a canvas without passing for the dataUrl string\n * @param {Number} [multiplier] a zoom factor.\n * @param {Object} [cropping] Cropping informations\n * @param {Number} [cropping.left] Cropping left offset.\n * @param {Number} [cropping.top] Cropping top offset.\n * @param {Number} [cropping.width] Cropping width.\n * @param {Number} [cropping.height] Cropping height.\n */\n toCanvasElement: function(multiplier, cropping) {\n multiplier = multiplier || 1;\n cropping = cropping || { };\n var scaledWidth = (cropping.width || this.width) * multiplier,\n scaledHeight = (cropping.height || this.height) * multiplier,\n zoom = this.getZoom(),\n originalWidth = this.width,\n originalHeight = this.height,\n newZoom = zoom * multiplier,\n vp = this.viewportTransform,\n translateX = (vp[4] - (cropping.left || 0)) * multiplier,\n translateY = (vp[5] - (cropping.top || 0)) * multiplier,\n originalInteractive = this.interactive,\n newVp = [newZoom, 0, 0, newZoom, translateX, translateY],\n originalRetina = this.enableRetinaScaling,\n canvasEl = fabric.util.createCanvasElement(),\n originalContextTop = this.contextTop;\n canvasEl.width = scaledWidth;\n canvasEl.height = scaledHeight;\n this.contextTop = null;\n this.enableRetinaScaling = false;\n this.interactive = false;\n this.viewportTransform = newVp;\n this.width = scaledWidth;\n this.height = scaledHeight;\n this.calcViewportBoundaries();\n this.renderCanvas(canvasEl.getContext('2d'), this._objects);\n this.viewportTransform = vp;\n this.width = originalWidth;\n this.height = originalHeight;\n this.calcViewportBoundaries();\n this.interactive = originalInteractive;\n this.enableRetinaScaling = originalRetina;\n this.contextTop = originalContextTop;\n return canvasEl;\n },\n });\n\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Populates canvas with data from the specified JSON.\n * JSON format must conform to the one of {@link fabric.Canvas#toJSON}\n * @param {String|Object} json JSON string or object\n * @param {Function} callback Callback, invoked when json is parsed\n * and corresponding objects (e.g: {@link fabric.Image})\n * are initialized\n * @param {Function} [reviver] Method for further parsing of JSON elements, called after each fabric object created.\n * @return {fabric.Canvas} instance\n * @chainable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#deserialization}\n * @see {@link http://jsfiddle.net/fabricjs/fmgXt/|jsFiddle demo}\n * @example loadFromJSON\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas));\n * @example loadFromJSON with reviver\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas), function(o, object) {\n * // `o` = json object\n * // `object` = fabric.Object instance\n * // ... do some stuff ...\n * });\n */\n loadFromJSON: function (json, callback, reviver) {\n if (!json) {\n return;\n }\n\n // serialize if it wasn't already\n var serialized = (typeof json === 'string')\n ? JSON.parse(json)\n : fabric.util.object.clone(json);\n\n var _this = this,\n clipPath = serialized.clipPath,\n renderOnAddRemove = this.renderOnAddRemove;\n\n this.renderOnAddRemove = false;\n\n delete serialized.clipPath;\n\n this._enlivenObjects(serialized.objects, function (enlivenedObjects) {\n _this.clear();\n _this._setBgOverlay(serialized, function () {\n if (clipPath) {\n _this._enlivenObjects([clipPath], function (enlivenedCanvasClip) {\n _this.clipPath = enlivenedCanvasClip[0];\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n });\n }\n else {\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n }\n });\n }, reviver);\n return this;\n },\n\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Array} restored canvas objects\n * @param {Function} cached renderOnAddRemove callback\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */\n __setupCanvas: function(serialized, enlivenedObjects, renderOnAddRemove, callback) {\n var _this = this;\n enlivenedObjects.forEach(function(obj, index) {\n // we splice the array just in case some custom classes restored from JSON\n // will add more object to canvas at canvas init.\n _this.insertAt(obj, index);\n });\n this.renderOnAddRemove = renderOnAddRemove;\n // remove parts i cannot set as options\n delete serialized.objects;\n delete serialized.backgroundImage;\n delete serialized.overlayImage;\n delete serialized.background;\n delete serialized.overlay;\n // this._initOptions does too many things to just\n // call it. Normally loading an Object from JSON\n // create the Object instance. Here the Canvas is\n // already an instance and we are just loading things over it\n this._setOptions(serialized);\n this.renderAll();\n callback && callback();\n },\n\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */\n _setBgOverlay: function(serialized, callback) {\n var loaded = {\n backgroundColor: false,\n overlayColor: false,\n backgroundImage: false,\n overlayImage: false\n };\n\n if (!serialized.backgroundImage && !serialized.overlayImage && !serialized.background && !serialized.overlay) {\n callback && callback();\n return;\n }\n\n var cbIfLoaded = function () {\n if (loaded.backgroundImage && loaded.overlayImage && loaded.backgroundColor && loaded.overlayColor) {\n callback && callback();\n }\n };\n\n this.__setBgOverlay('backgroundImage', serialized.backgroundImage, loaded, cbIfLoaded);\n this.__setBgOverlay('overlayImage', serialized.overlayImage, loaded, cbIfLoaded);\n this.__setBgOverlay('backgroundColor', serialized.background, loaded, cbIfLoaded);\n this.__setBgOverlay('overlayColor', serialized.overlay, loaded, cbIfLoaded);\n },\n\n /**\n * @private\n * @param {String} property Property to set (backgroundImage, overlayImage, backgroundColor, overlayColor)\n * @param {(Object|String)} value Value to set\n * @param {Object} loaded Set loaded property to true if property is set\n * @param {Object} callback Callback function to invoke after property is set\n */\n __setBgOverlay: function(property, value, loaded, callback) {\n var _this = this;\n\n if (!value) {\n loaded[property] = true;\n callback && callback();\n return;\n }\n\n if (property === 'backgroundImage' || property === 'overlayImage') {\n fabric.util.enlivenObjects([value], function(enlivedObject){\n _this[property] = enlivedObject[0];\n loaded[property] = true;\n callback && callback();\n });\n }\n else {\n this['set' + fabric.util.string.capitalize(property, true)](value, function() {\n loaded[property] = true;\n callback && callback();\n });\n }\n },\n\n /**\n * @private\n * @param {Array} objects\n * @param {Function} callback\n * @param {Function} [reviver]\n */\n _enlivenObjects: function (objects, callback, reviver) {\n if (!objects || objects.length === 0) {\n callback && callback([]);\n return;\n }\n\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, null, reviver);\n },\n\n /**\n * @private\n * @param {String} format\n * @param {Function} callback\n */\n _toDataURL: function (format, callback) {\n this.clone(function (clone) {\n callback(clone.toDataURL(format));\n });\n },\n\n /**\n * @private\n * @param {String} format\n * @param {Number} multiplier\n * @param {Function} callback\n */\n _toDataURLWithMultiplier: function (format, multiplier, callback) {\n this.clone(function (clone) {\n callback(clone.toDataURLWithMultiplier(format, multiplier));\n });\n },\n\n /**\n * Clones canvas instance\n * @param {Object} [callback] Receives cloned instance as a first argument\n * @param {Array} [properties] Array of properties to include in the cloned canvas and children\n */\n clone: function (callback, properties) {\n var data = JSON.stringify(this.toJSON(properties));\n this.cloneWithoutData(function(clone) {\n clone.loadFromJSON(data, function() {\n callback && callback(clone);\n });\n });\n },\n\n /**\n * Clones canvas instance without cloning existing data.\n * This essentially copies canvas dimensions, clipping properties, etc.\n * but leaves data empty (so that you can populate it with your own)\n * @param {Object} [callback] Receives cloned instance as a first argument\n */\n cloneWithoutData: function(callback) {\n var el = fabric.util.createCanvasElement();\n\n el.width = this.width;\n el.height = this.height;\n\n var clone = new fabric.Canvas(el);\n if (this.backgroundImage) {\n clone.setBackgroundImage(this.backgroundImage.src, function() {\n clone.renderAll();\n callback && callback(clone);\n });\n clone.backgroundImageOpacity = this.backgroundImageOpacity;\n clone.backgroundImageStretch = this.backgroundImageStretch;\n }\n else {\n callback && callback(clone);\n }\n }\n});\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n clone = fabric.util.object.clone,\n toFixed = fabric.util.toFixed,\n capitalize = fabric.util.string.capitalize,\n degreesToRadians = fabric.util.degreesToRadians,\n objectCaching = !fabric.isLikelyNode,\n ALIASING_LIMIT = 2;\n\n if (fabric.Object) {\n return;\n }\n\n /**\n * Root object class from which all 2d shape classes inherit from\n * @class fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#objects}\n * @see {@link fabric.Object#initialize} for constructor definition\n *\n * @fires added\n * @fires removed\n *\n * @fires selected\n * @fires deselected\n * @fires modified\n * @fires modified\n * @fires moved\n * @fires scaled\n * @fires rotated\n * @fires skewed\n *\n * @fires rotating\n * @fires scaling\n * @fires moving\n * @fires skewing\n *\n * @fires mousedown\n * @fires mouseup\n * @fires mouseover\n * @fires mouseout\n * @fires mousewheel\n * @fires mousedblclick\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop\n */\n fabric.Object = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.Object.prototype */ {\n\n /**\n * Type of an object (rect, circle, path, etc.).\n * Note that this property is meant to be read-only and not meant to be modified.\n * If you modify, certain parts of Fabric (such as JSON loading) won't work correctly.\n * @type String\n * @default\n */\n type: 'object',\n\n /**\n * Horizontal origin of transformation of an object (one of \"left\", \"right\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */\n originX: 'left',\n\n /**\n * Vertical origin of transformation of an object (one of \"top\", \"bottom\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */\n originY: 'top',\n\n /**\n * Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom}\n * @type Number\n * @default\n */\n top: 0,\n\n /**\n * Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right}\n * @type Number\n * @default\n */\n left: 0,\n\n /**\n * Object width\n * @type Number\n * @default\n */\n width: 0,\n\n /**\n * Object height\n * @type Number\n * @default\n */\n height: 0,\n\n /**\n * Object scale factor (horizontal)\n * @type Number\n * @default\n */\n scaleX: 1,\n\n /**\n * Object scale factor (vertical)\n * @type Number\n * @default\n */\n scaleY: 1,\n\n /**\n * When true, an object is rendered as flipped horizontally\n * @type Boolean\n * @default\n */\n flipX: false,\n\n /**\n * When true, an object is rendered as flipped vertically\n * @type Boolean\n * @default\n */\n flipY: false,\n\n /**\n * Opacity of an object\n * @type Number\n * @default\n */\n opacity: 1,\n\n /**\n * Angle of rotation of an object (in degrees)\n * @type Number\n * @default\n */\n angle: 0,\n\n /**\n * Angle of skew on x axes of an object (in degrees)\n * @type Number\n * @default\n */\n skewX: 0,\n\n /**\n * Angle of skew on y axes of an object (in degrees)\n * @type Number\n * @default\n */\n skewY: 0,\n\n /**\n * Size of object's controlling corners (in pixels)\n * @type Number\n * @default\n */\n cornerSize: 13,\n\n /**\n * Size of object's controlling corners when touch interaction is detected\n * @type Number\n * @default\n */\n touchCornerSize: 24,\n\n /**\n * When true, object's controlling corners are rendered as transparent inside (i.e. stroke instead of fill)\n * @type Boolean\n * @default\n */\n transparentCorners: true,\n\n /**\n * Default cursor value used when hovering over this object on canvas\n * @type String\n * @default\n */\n hoverCursor: null,\n\n /**\n * Default cursor value used when moving this object on canvas\n * @type String\n * @default\n */\n moveCursor: null,\n\n /**\n * Padding between object and its controlling borders (in pixels)\n * @type Number\n * @default\n */\n padding: 0,\n\n /**\n * Color of controlling borders of an object (when it's active)\n * @type String\n * @default\n */\n borderColor: 'rgb(178,204,255)',\n\n /**\n * Array specifying dash pattern of an object's borders (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */\n borderDashArray: null,\n\n /**\n * Color of controlling corners of an object (when it's active)\n * @type String\n * @default\n */\n cornerColor: 'rgb(178,204,255)',\n\n /**\n * Color of controlling corners of an object (when it's active and transparentCorners false)\n * @since 1.6.2\n * @type String\n * @default\n */\n cornerStrokeColor: null,\n\n /**\n * Specify style of control, 'rect' or 'circle'\n * @since 1.6.2\n * @type String\n */\n cornerStyle: 'rect',\n\n /**\n * Array specifying dash pattern of an object's control (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */\n cornerDashArray: null,\n\n /**\n * When true, this object will use center point as the origin of transformation\n * when being scaled via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredScaling: false,\n\n /**\n * When true, this object will use center point as the origin of transformation\n * when being rotated via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredRotation: true,\n\n /**\n * Color of object's fill\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n fill: 'rgb(0,0,0)',\n\n /**\n * Fill rule used to fill an object\n * accepted values are nonzero, evenodd\n * Backwards incompatibility note: This property was used for setting globalCompositeOperation until v1.4.12 (use `fabric.Object#globalCompositeOperation` instead)\n * @type String\n * @default\n */\n fillRule: 'nonzero',\n\n /**\n * Composite rule used for canvas globalCompositeOperation\n * @type String\n * @default\n */\n globalCompositeOperation: 'source-over',\n\n /**\n * Background color of an object.\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n backgroundColor: '',\n\n /**\n * Selection Background color of an object. colored layer behind the object when it is active.\n * does not mix good with globalCompositeOperation methods.\n * @type String\n * @default\n */\n selectionBackgroundColor: '',\n\n /**\n * When defined, an object is rendered via stroke and this property specifies its color\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n stroke: null,\n\n /**\n * Width of a stroke used to render this object\n * @type Number\n * @default\n */\n strokeWidth: 1,\n\n /**\n * Array specifying dash pattern of an object's stroke (stroke must be defined)\n * @type Array\n */\n strokeDashArray: null,\n\n /**\n * Line offset of an object's stroke\n * @type Number\n * @default\n */\n strokeDashOffset: 0,\n\n /**\n * Line endings style of an object's stroke (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */\n strokeLineCap: 'butt',\n\n /**\n * Corner style of an object's stroke (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */\n strokeLineJoin: 'miter',\n\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of an object's stroke\n * @type Number\n * @default\n */\n strokeMiterLimit: 4,\n\n /**\n * Shadow object representing shadow of this shape\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * Opacity of object's controlling borders when object is active and moving\n * @type Number\n * @default\n */\n borderOpacityWhenMoving: 0.4,\n\n /**\n * Scale factor of object's controlling borders\n * bigger number will make a thicker border\n * border is 1, so this is basically a border thickness\n * since there is no way to change the border itself.\n * @type Number\n * @default\n */\n borderScaleFactor: 1,\n\n /**\n * Minimum allowed scale value of an object\n * @type Number\n * @default\n */\n minScaleLimit: 0,\n\n /**\n * When set to `false`, an object can not be selected for modification (using either point-click-based or group-based selection).\n * But events still fire on it.\n * @type Boolean\n * @default\n */\n selectable: true,\n\n /**\n * When set to `false`, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4\n * @type Boolean\n * @default\n */\n evented: true,\n\n /**\n * When set to `false`, an object is not rendered on canvas\n * @type Boolean\n * @default\n */\n visible: true,\n\n /**\n * When set to `false`, object's controls are not displayed and can not be used to manipulate object\n * @type Boolean\n * @default\n */\n hasControls: true,\n\n /**\n * When set to `false`, object's controlling borders are not rendered\n * @type Boolean\n * @default\n */\n hasBorders: true,\n\n /**\n * When set to `true`, objects are \"found\" on canvas on per-pixel basis rather than according to bounding box\n * @type Boolean\n * @default\n */\n perPixelTargetFind: false,\n\n /**\n * When `false`, default object's values are not included in its serialization\n * @type Boolean\n * @default\n */\n includeDefaultValues: true,\n\n /**\n * When `true`, object horizontal movement is locked\n * @type Boolean\n * @default\n */\n lockMovementX: false,\n\n /**\n * When `true`, object vertical movement is locked\n * @type Boolean\n * @default\n */\n lockMovementY: false,\n\n /**\n * When `true`, object rotation is locked\n * @type Boolean\n * @default\n */\n lockRotation: false,\n\n /**\n * When `true`, object horizontal scaling is locked\n * @type Boolean\n * @default\n */\n lockScalingX: false,\n\n /**\n * When `true`, object vertical scaling is locked\n * @type Boolean\n * @default\n */\n lockScalingY: false,\n\n /**\n * When `true`, object horizontal skewing is locked\n * @type Boolean\n * @default\n */\n lockSkewingX: false,\n\n /**\n * When `true`, object vertical skewing is locked\n * @type Boolean\n * @default\n */\n lockSkewingY: false,\n\n /**\n * When `true`, object cannot be flipped by scaling into negative values\n * @type Boolean\n * @default\n */\n lockScalingFlip: false,\n\n /**\n * When `true`, object is not exported in OBJECT/JSON\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n excludeFromExport: false,\n\n /**\n * When `true`, object is cached on an additional canvas.\n * When `false`, object is not cached unless necessary ( clipPath )\n * default to true\n * @since 1.7.0\n * @type Boolean\n * @default true\n */\n objectCaching: objectCaching,\n\n /**\n * When `true`, object properties are checked for cache invalidation. In some particular\n * situation you may want this to be disabled ( spray brush, very big, groups)\n * or if your application does not allow you to modify properties for groups child you want\n * to disable it for groups.\n * default to false\n * since 1.7.0\n * @type Boolean\n * @default false\n */\n statefullCache: false,\n\n /**\n * When `true`, cache does not get updated during scaling. The picture will get blocky if scaled\n * too much and will be redrawn with correct details at the end of scaling.\n * this setting is performance and application dependant.\n * default to true\n * since 1.7.0\n * @type Boolean\n * @default true\n */\n noScaleCache: true,\n\n /**\n * When `false`, the stoke width will scale with the object.\n * When `true`, the stroke will always match the exact pixel size entered for stroke width.\n * this Property does not work on Text classes or drawing call that uses strokeText,fillText methods\n * default to false\n * @since 2.6.0\n * @type Boolean\n * @default false\n * @type Boolean\n * @default false\n */\n strokeUniform: false,\n\n /**\n * When set to `true`, object's cache will be rerendered next render call.\n * since 1.7.0\n * @type Boolean\n * @default true\n */\n dirty: true,\n\n /**\n * keeps the value of the last hovered corner during mouse move.\n * 0 is no corner, or 'mt', 'ml', 'mtr' etc..\n * It should be private, but there is no harm in using it as\n * a read-only property.\n * @type number|string|any\n * @default 0\n */\n __corner: 0,\n\n /**\n * Determines if the fill or the stroke is drawn first (one of \"fill\" or \"stroke\")\n * @type String\n * @default\n */\n paintFirst: 'fill',\n\n /**\n * When 'down', object is set to active on mousedown/touchstart\n * When 'up', object is set to active on mouseup/touchend\n * Experimental. Let's see if this breaks anything before supporting officially\n * @private\n * since 4.4.0\n * @type String\n * @default 'down'\n */\n activeOn: 'down',\n\n /**\n * List of properties to consider when checking if state\n * of an object is changed (fabric.Object#hasStateChanged)\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: (\n 'top left width height scaleX scaleY flipX flipY originX originY transformMatrix ' +\n 'stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit ' +\n 'angle opacity fill globalCompositeOperation shadow visible backgroundColor ' +\n 'skewX skewY fillRule paintFirst clipPath strokeUniform'\n ).split(' '),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */\n cacheProperties: (\n 'fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform' +\n ' strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath'\n ).split(' '),\n\n /**\n * List of properties to consider for animating colors.\n * @type Array\n */\n colorProperties: (\n 'fill stroke backgroundColor'\n ).split(' '),\n\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the object has rendered, and the context is placed in the center\n * of the object cacheCanvas.\n * If you want 0,0 of a clipPath to align with an object center, use clipPath.originX/Y to 'center'\n * @type fabric.Object\n */\n clipPath: undefined,\n\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will make the object clip to the outside of the clipPath\n * since 2.4.0\n * @type boolean\n * @default false\n */\n inverted: false,\n\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will have its top and left relative to canvas, and will\n * not be influenced by the object transform. This will make the clipPath relative\n * to the canvas, but clipping just a particular object.\n * WARNING this is beta, this feature may change or be renamed.\n * since 2.4.0\n * @type boolean\n * @default false\n */\n absolutePositioned: false,\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n\n /**\n * Create a the canvas used to keep the cached copy of the object\n * @private\n */\n _createCacheCanvas: function() {\n this._cacheProperties = {};\n this._cacheCanvas = fabric.util.createCanvasElement();\n this._cacheContext = this._cacheCanvas.getContext('2d');\n this._updateCacheCanvas();\n // if canvas gets created, is empty, so dirty.\n this.dirty = true;\n },\n\n /**\n * Limit the cache dimensions so that X * Y do not cross fabric.perfLimitSizeTotal\n * and each side do not cross fabric.cacheSideLimit\n * those numbers are configurable so that you can get as much detail as you want\n * making bargain with performances.\n * @param {Object} dims\n * @param {Object} dims.width width of canvas\n * @param {Object} dims.height height of canvas\n * @param {Object} dims.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @param {Object} dims.zoomY zoomY zoom value to unscale the canvas before drawing cache\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _limitCacheSize: function(dims) {\n var perfLimitSizeTotal = fabric.perfLimitSizeTotal,\n width = dims.width, height = dims.height,\n max = fabric.maxCacheSideLimit, min = fabric.minCacheSideLimit;\n if (width <= max && height <= max && width * height <= perfLimitSizeTotal) {\n if (width < min) {\n dims.width = min;\n }\n if (height < min) {\n dims.height = min;\n }\n return dims;\n }\n var ar = width / height, limitedDims = fabric.util.limitDimsByArea(ar, perfLimitSizeTotal),\n capValue = fabric.util.capValue,\n x = capValue(min, limitedDims.x, max),\n y = capValue(min, limitedDims.y, max);\n if (width > x) {\n dims.zoomX /= width / x;\n dims.width = x;\n dims.capped = true;\n }\n if (height > y) {\n dims.zoomY /= height / y;\n dims.height = y;\n dims.capped = true;\n }\n return dims;\n },\n\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @return {Object}.x width of object to be cached\n * @return {Object}.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _getCacheCanvasDimensions: function() {\n var objectScale = this.getTotalObjectScaling(),\n // caculate dimensions without skewing\n dim = this._getTransformedDimensions(0, 0),\n neededX = dim.x * objectScale.scaleX / this.scaleX,\n neededY = dim.y * objectScale.scaleY / this.scaleY;\n return {\n // for sure this ALIASING_LIMIT is slightly creating problem\n // in situation in which the cache canvas gets an upper limit\n // also objectScale contains already scaleX and scaleY\n width: neededX + ALIASING_LIMIT,\n height: neededY + ALIASING_LIMIT,\n zoomX: objectScale.scaleX,\n zoomY: objectScale.scaleY,\n x: neededX,\n y: neededY\n };\n },\n\n /**\n * Update width and height of the canvas for cache\n * returns true or false if canvas needed resize.\n * @private\n * @return {Boolean} true if the canvas has been resized\n */\n _updateCacheCanvas: function() {\n var targetCanvas = this.canvas;\n if (this.noScaleCache && targetCanvas && targetCanvas._currentTransform) {\n var target = targetCanvas._currentTransform.target,\n action = targetCanvas._currentTransform.action;\n if (this === target && action.slice && action.slice(0, 5) === 'scale') {\n return false;\n }\n }\n var canvas = this._cacheCanvas,\n dims = this._limitCacheSize(this._getCacheCanvasDimensions()),\n minCacheSize = fabric.minCacheSideLimit,\n width = dims.width, height = dims.height, drawingWidth, drawingHeight,\n zoomX = dims.zoomX, zoomY = dims.zoomY,\n dimensionsChanged = width !== this.cacheWidth || height !== this.cacheHeight,\n zoomChanged = this.zoomX !== zoomX || this.zoomY !== zoomY,\n shouldRedraw = dimensionsChanged || zoomChanged,\n additionalWidth = 0, additionalHeight = 0, shouldResizeCanvas = false;\n if (dimensionsChanged) {\n var canvasWidth = this._cacheCanvas.width,\n canvasHeight = this._cacheCanvas.height,\n sizeGrowing = width > canvasWidth || height > canvasHeight,\n sizeShrinking = (width < canvasWidth * 0.9 || height < canvasHeight * 0.9) &&\n canvasWidth > minCacheSize && canvasHeight > minCacheSize;\n shouldResizeCanvas = sizeGrowing || sizeShrinking;\n if (sizeGrowing && !dims.capped && (width > minCacheSize || height > minCacheSize)) {\n additionalWidth = width * 0.1;\n additionalHeight = height * 0.1;\n }\n }\n if (this instanceof fabric.Text && this.path) {\n shouldRedraw = true;\n shouldResizeCanvas = true;\n additionalWidth += this.getHeightOfLine(0) * this.zoomX;\n additionalHeight += this.getHeightOfLine(0) * this.zoomY;\n }\n if (shouldRedraw) {\n if (shouldResizeCanvas) {\n canvas.width = Math.ceil(width + additionalWidth);\n canvas.height = Math.ceil(height + additionalHeight);\n }\n else {\n this._cacheContext.setTransform(1, 0, 0, 1, 0, 0);\n this._cacheContext.clearRect(0, 0, canvas.width, canvas.height);\n }\n drawingWidth = dims.x / 2;\n drawingHeight = dims.y / 2;\n this.cacheTranslationX = Math.round(canvas.width / 2 - drawingWidth) + drawingWidth;\n this.cacheTranslationY = Math.round(canvas.height / 2 - drawingHeight) + drawingHeight;\n this.cacheWidth = width;\n this.cacheHeight = height;\n this._cacheContext.translate(this.cacheTranslationX, this.cacheTranslationY);\n this._cacheContext.scale(zoomX, zoomY);\n this.zoomX = zoomX;\n this.zoomY = zoomY;\n return true;\n }\n return false;\n },\n\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */\n setOptions: function(options) {\n this._setOptions(options);\n this._initGradient(options.fill, 'fill');\n this._initGradient(options.stroke, 'stroke');\n this._initPattern(options.fill, 'fill');\n this._initPattern(options.stroke, 'stroke');\n },\n\n /**\n * Transforms context when rendering an object\n * @param {CanvasRenderingContext2D} ctx Context\n */\n transform: function(ctx) {\n var needFullTransform = (this.group && !this.group._transformDone) ||\n (this.group && this.canvas && ctx === this.canvas.contextTop);\n var m = this.calcTransformMatrix(!needFullTransform);\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n },\n\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var NUM_FRACTION_DIGITS = fabric.Object.NUM_FRACTION_DIGITS,\n\n object = {\n type: this.type,\n version: fabric.version,\n originX: this.originX,\n originY: this.originY,\n left: toFixed(this.left, NUM_FRACTION_DIGITS),\n top: toFixed(this.top, NUM_FRACTION_DIGITS),\n width: toFixed(this.width, NUM_FRACTION_DIGITS),\n height: toFixed(this.height, NUM_FRACTION_DIGITS),\n fill: (this.fill && this.fill.toObject) ? this.fill.toObject() : this.fill,\n stroke: (this.stroke && this.stroke.toObject) ? this.stroke.toObject() : this.stroke,\n strokeWidth: toFixed(this.strokeWidth, NUM_FRACTION_DIGITS),\n strokeDashArray: this.strokeDashArray ? this.strokeDashArray.concat() : this.strokeDashArray,\n strokeLineCap: this.strokeLineCap,\n strokeDashOffset: this.strokeDashOffset,\n strokeLineJoin: this.strokeLineJoin,\n strokeUniform: this.strokeUniform,\n strokeMiterLimit: toFixed(this.strokeMiterLimit, NUM_FRACTION_DIGITS),\n scaleX: toFixed(this.scaleX, NUM_FRACTION_DIGITS),\n scaleY: toFixed(this.scaleY, NUM_FRACTION_DIGITS),\n angle: toFixed(this.angle, NUM_FRACTION_DIGITS),\n flipX: this.flipX,\n flipY: this.flipY,\n opacity: toFixed(this.opacity, NUM_FRACTION_DIGITS),\n shadow: (this.shadow && this.shadow.toObject) ? this.shadow.toObject() : this.shadow,\n visible: this.visible,\n backgroundColor: this.backgroundColor,\n fillRule: this.fillRule,\n paintFirst: this.paintFirst,\n globalCompositeOperation: this.globalCompositeOperation,\n skewX: toFixed(this.skewX, NUM_FRACTION_DIGITS),\n skewY: toFixed(this.skewY, NUM_FRACTION_DIGITS),\n };\n\n if (this.clipPath && !this.clipPath.excludeFromExport) {\n object.clipPath = this.clipPath.toObject(propertiesToInclude);\n object.clipPath.inverted = this.clipPath.inverted;\n object.clipPath.absolutePositioned = this.clipPath.absolutePositioned;\n }\n\n fabric.util.populateWithProperties(this, object, propertiesToInclude);\n if (!this.includeDefaultValues) {\n object = this._removeDefaultValues(object);\n }\n\n return object;\n },\n\n /**\n * Returns (dataless) object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n // will be overwritten by subclasses\n return this.toObject(propertiesToInclude);\n },\n\n /**\n * @private\n * @param {Object} object\n */\n _removeDefaultValues: function(object) {\n var prototype = fabric.util.getKlass(object.type).prototype,\n stateProperties = prototype.stateProperties;\n stateProperties.forEach(function(prop) {\n if (prop === 'left' || prop === 'top') {\n return;\n }\n if (object[prop] === prototype[prop]) {\n delete object[prop];\n }\n // basically a check for [] === []\n if (Array.isArray(object[prop]) && Array.isArray(prototype[prop])\n && object[prop].length === 0 && prototype[prop].length === 0) {\n delete object[prop];\n }\n });\n\n return object;\n },\n\n /**\n * Returns a string representation of an instance\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Return the object scale factor counting also the group scaling\n * @return {Object} object with scaleX and scaleY properties\n */\n getObjectScaling: function() {\n // if the object is a top level one, on the canvas, we go for simple aritmetic\n // otherwise the complex method with angles will return approximations and decimals\n // and will likely kill the cache when not needed\n // https://github.com/fabricjs/fabric.js/issues/7157\n if (!this.group) {\n return {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n };\n }\n // if we are inside a group total zoom calculation is complex, we defer to generic matrices\n var options = fabric.util.qrDecompose(this.calcTransformMatrix());\n return { scaleX: Math.abs(options.scaleX), scaleY: Math.abs(options.scaleY) };\n },\n\n /**\n * Return the object scale factor counting also the group scaling, zoom and retina\n * @return {Object} object with scaleX and scaleY properties\n */\n getTotalObjectScaling: function() {\n var scale = this.getObjectScaling(), scaleX = scale.scaleX, scaleY = scale.scaleY;\n if (this.canvas) {\n var zoom = this.canvas.getZoom();\n var retina = this.canvas.getRetinaScaling();\n scaleX *= zoom * retina;\n scaleY *= zoom * retina;\n }\n return { scaleX: scaleX, scaleY: scaleY };\n },\n\n /**\n * Return the object opacity counting also the group property\n * @return {Number}\n */\n getObjectOpacity: function() {\n var opacity = this.opacity;\n if (this.group) {\n opacity *= this.group.getObjectOpacity();\n }\n return opacity;\n },\n\n /**\n * @private\n * @param {String} key\n * @param {*} value\n * @return {fabric.Object} thisArg\n */\n _set: function(key, value) {\n var shouldConstrainValue = (key === 'scaleX' || key === 'scaleY'),\n isChanged = this[key] !== value, groupNeedsUpdate = false;\n\n if (shouldConstrainValue) {\n value = this._constrainScale(value);\n }\n if (key === 'scaleX' && value < 0) {\n this.flipX = !this.flipX;\n value *= -1;\n }\n else if (key === 'scaleY' && value < 0) {\n this.flipY = !this.flipY;\n value *= -1;\n }\n else if (key === 'shadow' && value && !(value instanceof fabric.Shadow)) {\n value = new fabric.Shadow(value);\n }\n else if (key === 'dirty' && this.group) {\n this.group.set('dirty', value);\n }\n\n this[key] = value;\n\n if (isChanged) {\n groupNeedsUpdate = this.group && this.group.isOnACache();\n if (this.cacheProperties.indexOf(key) > -1) {\n this.dirty = true;\n groupNeedsUpdate && this.group.set('dirty', true);\n }\n else if (groupNeedsUpdate && this.stateProperties.indexOf(key) > -1) {\n this.group.set('dirty', true);\n }\n }\n return this;\n },\n\n /**\n * This callback function is called by the parent group of an object every\n * time a non-delegated property changes on the group. It is passed the key\n * and value as parameters. Not adding in this function's signature to avoid\n * Travis build error about unused variables.\n */\n setOnGroup: function() {\n // implemented by sub-classes, as needed.\n },\n\n /**\n * Retrieves viewportTransform from Object's canvas if possible\n * @method getViewportTransform\n * @memberOf fabric.Object.prototype\n * @return {Array}\n */\n getViewportTransform: function() {\n if (this.canvas && this.canvas.viewportTransform) {\n return this.canvas.viewportTransform;\n }\n return fabric.iMatrix.concat();\n },\n\n /*\n * @private\n * return if the object would be visible in rendering\n * @memberOf fabric.Object.prototype\n * @return {Boolean}\n */\n isNotVisible: function() {\n return this.opacity === 0 ||\n (!this.width && !this.height && this.strokeWidth === 0) ||\n !this.visible;\n },\n\n /**\n * Renders an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n render: function(ctx) {\n // do not render if width/height are zeros or object is not visible\n if (this.isNotVisible()) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n ctx.save();\n this._setupCompositeOperation(ctx);\n this.drawSelectionBackground(ctx);\n this.transform(ctx);\n this._setOpacity(ctx);\n this._setShadow(ctx, this);\n if (this.shouldCache()) {\n this.renderCache();\n this.drawCacheOnCanvas(ctx);\n }\n else {\n this._removeCacheCanvas();\n this.dirty = false;\n this.drawObject(ctx);\n if (this.objectCaching && this.statefullCache) {\n this.saveState({ propertySet: 'cacheProperties' });\n }\n }\n ctx.restore();\n },\n\n renderCache: function(options) {\n options = options || {};\n if (!this._cacheCanvas || !this._cacheContext) {\n this._createCacheCanvas();\n }\n if (this.isCacheDirty()) {\n this.statefullCache && this.saveState({ propertySet: 'cacheProperties' });\n this.drawObject(this._cacheContext, options.forClipping);\n this.dirty = false;\n }\n },\n\n /**\n * Remove cacheCanvas and its dimensions from the objects\n */\n _removeCacheCanvas: function() {\n this._cacheCanvas = null;\n this._cacheContext = null;\n this.cacheWidth = 0;\n this.cacheHeight = 0;\n },\n\n /**\n * return true if the object will draw a stroke\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when stroke happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the stroke is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasStroke: function() {\n return this.stroke && this.stroke !== 'transparent' && this.strokeWidth !== 0;\n },\n\n /**\n * return true if the object will draw a fill\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when fill happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the fill is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasFill: function() {\n return this.fill && this.fill !== 'transparent';\n },\n\n /**\n * When set to `true`, force the object to have its own cache, even if it is inside a group\n * it may be needed when your object behave in a particular way on the cache and always needs\n * its own isolated canvas to render correctly.\n * Created to be overridden\n * since 1.7.12\n * @returns Boolean\n */\n needsItsOwnCache: function() {\n if (this.paintFirst === 'stroke' &&\n this.hasFill() && this.hasStroke() && typeof this.shadow === 'object') {\n return true;\n }\n if (this.clipPath) {\n return true;\n }\n return false;\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * Read as: cache if is needed, or if the feature is enabled but we are not already caching.\n * @return {Boolean}\n */\n shouldCache: function() {\n this.ownCaching = this.needsItsOwnCache() || (\n this.objectCaching &&\n (!this.group || !this.group.isOnACache())\n );\n return this.ownCaching;\n },\n\n /**\n * Check if this object or a child object will cast a shadow\n * used by Group.shouldCache to know if child has a shadow recursively\n * @return {Boolean}\n */\n willDrawShadow: function() {\n return !!this.shadow && (this.shadow.offsetX !== 0 || this.shadow.offsetY !== 0);\n },\n\n /**\n * Execute the drawing operation for an object clipPath\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Object} clipPath\n */\n drawClipPathOnCache: function(ctx, clipPath) {\n ctx.save();\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4\n if (clipPath.inverted) {\n ctx.globalCompositeOperation = 'destination-out';\n }\n else {\n ctx.globalCompositeOperation = 'destination-in';\n }\n //ctx.scale(1 / 2, 1 / 2);\n if (clipPath.absolutePositioned) {\n var m = fabric.util.invertTransform(this.calcTransformMatrix());\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n clipPath.transform(ctx);\n ctx.scale(1 / clipPath.zoomX, 1 / clipPath.zoomY);\n ctx.drawImage(clipPath._cacheCanvas, -clipPath.cacheTranslationX, -clipPath.cacheTranslationY);\n ctx.restore();\n },\n\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawObject: function(ctx, forClipping) {\n var originalFill = this.fill, originalStroke = this.stroke;\n if (forClipping) {\n this.fill = 'black';\n this.stroke = '';\n this._setClippingProperties(ctx);\n }\n else {\n this._renderBackground(ctx);\n }\n this._render(ctx);\n this._drawClipPath(ctx, this.clipPath);\n this.fill = originalFill;\n this.stroke = originalStroke;\n },\n\n /**\n * Prepare clipPath state and cache and draw it on instance's cache\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */\n _drawClipPath: function (ctx, clipPath) {\n if (!clipPath) { return; }\n // needed to setup a couple of variables\n // path canvas gets overridden with this one.\n // TODO find a better solution?\n clipPath.canvas = this.canvas;\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({ forClipping: true });\n this.drawClipPathOnCache(ctx, clipPath);\n },\n\n /**\n * Paint the cached copy of the object on the target context.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawCacheOnCanvas: function(ctx) {\n ctx.scale(1 / this.zoomX, 1 / this.zoomY);\n ctx.drawImage(this._cacheCanvas, -this.cacheTranslationX, -this.cacheTranslationY);\n },\n\n /**\n * Check if cache is dirty\n * @param {Boolean} skipCanvas skip canvas checks because this object is painted\n * on parent canvas.\n */\n isCacheDirty: function(skipCanvas) {\n if (this.isNotVisible()) {\n return false;\n }\n if (this._cacheCanvas && this._cacheContext && !skipCanvas && this._updateCacheCanvas()) {\n // in this case the context is already cleared.\n return true;\n }\n else {\n if (this.dirty ||\n (this.clipPath && this.clipPath.absolutePositioned) ||\n (this.statefullCache && this.hasStateChanged('cacheProperties'))\n ) {\n if (this._cacheCanvas && this._cacheContext && !skipCanvas) {\n var width = this.cacheWidth / this.zoomX;\n var height = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-width / 2, -height / 2, width, height);\n }\n return true;\n }\n }\n return false;\n },\n\n /**\n * Draws a background for the object big as its untransformed dimensions\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderBackground: function(ctx) {\n if (!this.backgroundColor) {\n return;\n }\n var dim = this._getNonTransformedDimensions();\n ctx.fillStyle = this.backgroundColor;\n\n ctx.fillRect(\n -dim.x / 2,\n -dim.y / 2,\n dim.x,\n dim.y\n );\n // if there is background color no other shadows\n // should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setOpacity: function(ctx) {\n if (this.group && !this.group._transformDone) {\n ctx.globalAlpha = this.getObjectOpacity();\n }\n else {\n ctx.globalAlpha *= this.opacity;\n }\n },\n\n _setStrokeStyles: function(ctx, decl) {\n var stroke = decl.stroke;\n if (stroke) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = decl.strokeLineCap;\n ctx.lineDashOffset = decl.strokeDashOffset;\n ctx.lineJoin = decl.strokeLineJoin;\n ctx.miterLimit = decl.strokeMiterLimit;\n if (stroke.toLive) {\n if (stroke.gradientUnits === 'percentage' || stroke.gradientTransform || stroke.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n this._applyPatternForTransformedGradient(ctx, stroke);\n }\n else {\n // is a simple gradient or pattern\n ctx.strokeStyle = stroke.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, stroke);\n }\n }\n else {\n // is a color\n ctx.strokeStyle = decl.stroke;\n }\n }\n },\n\n _setFillStyles: function(ctx, decl) {\n var fill = decl.fill;\n if (fill) {\n if (fill.toLive) {\n ctx.fillStyle = fill.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, decl.fill);\n }\n else {\n ctx.fillStyle = fill;\n }\n }\n },\n\n _setClippingProperties: function(ctx) {\n ctx.globalAlpha = 1;\n ctx.strokeStyle = 'transparent';\n ctx.fillStyle = '#000000';\n },\n\n /**\n * @private\n * Sets line dash\n * @param {CanvasRenderingContext2D} ctx Context to set the dash line on\n * @param {Array} dashArray array representing dashes\n */\n _setLineDash: function(ctx, dashArray) {\n if (!dashArray || dashArray.length === 0) {\n return;\n }\n // Spec requires the concatenation of two copies the dash list when the number of elements is odd\n if (1 & dashArray.length) {\n dashArray.push.apply(dashArray, dashArray);\n }\n ctx.setLineDash(dashArray);\n },\n\n /**\n * Renders controls and borders for the object\n * the context here is not transformed\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n */\n _renderControls: function(ctx, styleOverride) {\n var vpt = this.getViewportTransform(),\n matrix = this.calcTransformMatrix(),\n options, drawBorders, drawControls;\n styleOverride = styleOverride || { };\n drawBorders = typeof styleOverride.hasBorders !== 'undefined' ? styleOverride.hasBorders : this.hasBorders;\n drawControls = typeof styleOverride.hasControls !== 'undefined' ? styleOverride.hasControls : this.hasControls;\n matrix = fabric.util.multiplyTransformMatrices(vpt, matrix);\n options = fabric.util.qrDecompose(matrix);\n ctx.save();\n ctx.translate(options.translateX, options.translateY);\n ctx.lineWidth = 1 * this.borderScaleFactor;\n if (!this.group) {\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n }\n if (this.flipX) {\n options.angle -= 180;\n }\n ctx.rotate(degreesToRadians(this.group ? options.angle : this.angle));\n if (styleOverride.forActiveSelection || this.group) {\n drawBorders && this.drawBordersInGroup(ctx, options, styleOverride);\n }\n else {\n drawBorders && this.drawBorders(ctx, styleOverride);\n }\n drawControls && this.drawControls(ctx, styleOverride);\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n\n var shadow = this.shadow, canvas = this.canvas, scaling,\n multX = (canvas && canvas.viewportTransform[0]) || 1,\n multY = (canvas && canvas.viewportTransform[3]) || 1;\n if (shadow.nonScaling) {\n scaling = { scaleX: 1, scaleY: 1 };\n }\n else {\n scaling = this.getObjectScaling();\n }\n if (canvas && canvas._isRetinaScaling()) {\n multX *= fabric.devicePixelRatio;\n multY *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * fabric.browserShadowBlurConstant *\n (multX + multY) * (scaling.scaleX + scaling.scaleY) / 4;\n ctx.shadowOffsetX = shadow.offsetX * multX * scaling.scaleX;\n ctx.shadowOffsetY = shadow.offsetY * multY * scaling.scaleY;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _removeShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n\n ctx.shadowColor = '';\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} filler fabric.Pattern or fabric.Gradient\n * @return {Object} offset.offsetX offset for text rendering\n * @return {Object} offset.offsetY offset for text rendering\n */\n _applyPatternGradientTransform: function(ctx, filler) {\n if (!filler || !filler.toLive) {\n return { offsetX: 0, offsetY: 0 };\n }\n var t = filler.gradientTransform || filler.patternTransform;\n var offsetX = -this.width / 2 + filler.offsetX || 0,\n offsetY = -this.height / 2 + filler.offsetY || 0;\n\n if (filler.gradientUnits === 'percentage') {\n ctx.transform(this.width, 0, 0, this.height, offsetX, offsetY);\n }\n else {\n ctx.transform(1, 0, 0, 1, offsetX, offsetY);\n }\n if (t) {\n ctx.transform(t[0], t[1], t[2], t[3], t[4], t[5]);\n }\n return { offsetX: offsetX, offsetY: offsetY };\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderPaintInOrder: function(ctx) {\n if (this.paintFirst === 'stroke') {\n this._renderStroke(ctx);\n this._renderFill(ctx);\n }\n else {\n this._renderFill(ctx);\n this._renderStroke(ctx);\n }\n },\n\n /**\n * @private\n * function that actually render something on the context.\n * empty here to allow Obects to work on tests to benchmark fabric functionalites\n * not related to rendering\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(/* ctx */) {\n\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderFill: function(ctx) {\n if (!this.fill) {\n return;\n }\n\n ctx.save();\n this._setFillStyles(ctx, this);\n if (this.fillRule === 'evenodd') {\n ctx.fill('evenodd');\n }\n else {\n ctx.fill();\n }\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderStroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n\n ctx.save();\n if (this.strokeUniform && this.group) {\n var scaling = this.getObjectScaling();\n ctx.scale(1 / scaling.scaleX, 1 / scaling.scaleY);\n }\n else if (this.strokeUniform) {\n ctx.scale(1 / this.scaleX, 1 / this.scaleY);\n }\n this._setLineDash(ctx, this.strokeDashArray);\n this._setStrokeStyles(ctx, this);\n ctx.stroke();\n ctx.restore();\n },\n\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drwabacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Gradient} filler a fabric gradient instance\n */\n _applyPatternForTransformedGradient: function(ctx, filler) {\n var dims = this._limitCacheSize(this._getCacheCanvasDimensions()),\n pCanvas = fabric.util.createCanvasElement(), pCtx, retinaScaling = this.canvas.getRetinaScaling(),\n width = dims.x / this.scaleX / retinaScaling, height = dims.y / this.scaleY / retinaScaling;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext('2d');\n pCtx.beginPath(); pCtx.moveTo(0, 0); pCtx.lineTo(width, 0); pCtx.lineTo(width, height);\n pCtx.lineTo(0, height); pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.scale(\n dims.zoomX / this.scaleX / retinaScaling,\n dims.zoomY / this.scaleY / retinaScaling\n );\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fillStyle = filler.toLive(ctx);\n pCtx.fill();\n ctx.translate(-this.width / 2 - this.strokeWidth / 2, -this.height / 2 - this.strokeWidth / 2);\n ctx.scale(\n retinaScaling * this.scaleX / dims.zoomX,\n retinaScaling * this.scaleY / dims.zoomY\n );\n ctx.strokeStyle = pCtx.createPattern(pCanvas, 'no-repeat');\n },\n\n /**\n * This function is an helper for svg import. it returns the center of the object in the svg\n * untransformed coordinates\n * @private\n * @return {Object} center point from element coordinates\n */\n _findCenterFromElement: function() {\n return { x: this.left + this.width / 2, y: this.top + this.height / 2 };\n },\n\n /**\n * This function is an helper for svg import. it decompose the transformMatrix\n * and assign properties to object.\n * untransformed coordinates\n * @private\n * @chainable\n */\n _assignTransformMatrixProps: function() {\n if (this.transformMatrix) {\n var options = fabric.util.qrDecompose(this.transformMatrix);\n this.flipX = false;\n this.flipY = false;\n this.set('scaleX', options.scaleX);\n this.set('scaleY', options.scaleY);\n this.angle = options.angle;\n this.skewX = options.skewX;\n this.skewY = 0;\n }\n },\n\n /**\n * This function is an helper for svg import. it removes the transform matrix\n * and set to object properties that fabricjs can handle\n * @private\n * @param {Object} preserveAspectRatioOptions\n * @return {thisArg}\n */\n _removeTransformMatrix: function(preserveAspectRatioOptions) {\n var center = this._findCenterFromElement();\n if (this.transformMatrix) {\n this._assignTransformMatrixProps();\n center = fabric.util.transformPoint(center, this.transformMatrix);\n }\n this.transformMatrix = null;\n if (preserveAspectRatioOptions) {\n this.scaleX *= preserveAspectRatioOptions.scaleX;\n this.scaleY *= preserveAspectRatioOptions.scaleY;\n this.cropX = preserveAspectRatioOptions.cropX;\n this.cropY = preserveAspectRatioOptions.cropY;\n center.x += preserveAspectRatioOptions.offsetLeft;\n center.y += preserveAspectRatioOptions.offsetTop;\n this.width = preserveAspectRatioOptions.width;\n this.height = preserveAspectRatioOptions.height;\n }\n this.setPositionByOrigin(center, 'center', 'center');\n },\n\n /**\n * Clones an instance, using a callback method will work for every object.\n * @param {Function} callback Callback is invoked with a clone as a first argument\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n */\n clone: function(callback, propertiesToInclude) {\n var objectForm = this.toObject(propertiesToInclude);\n if (this.constructor.fromObject) {\n this.constructor.fromObject(objectForm, callback);\n }\n else {\n fabric.Object._fromObject('Object', objectForm, callback);\n }\n },\n\n /**\n * Creates an instance of fabric.Image out of an object\n * makes use of toCanvasElement.\n * Once this method was based on toDataUrl and loadImage, so it also had a quality\n * and format option. toCanvasElement is faster and produce no loss of quality.\n * If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it.\n * toCanvasElement and then toBlob from the obtained canvas is also a good option.\n * This method is sync now, but still support the callback because we did not want to break.\n * When fabricJS 5.0 will be planned, this will probably be changed to not have a callback.\n * @param {Function} callback callback, invoked with an instance as a first argument\n * @param {Object} [options] for clone as image, passed to toDataURL\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {fabric.Object} thisArg\n */\n cloneAsImage: function(callback, options) {\n var canvasEl = this.toCanvasElement(options);\n if (callback) {\n callback(new fabric.Image(canvasEl));\n }\n return this;\n },\n\n /**\n * Converts an object into a HTMLCanvas element\n * @param {Object} options Options object\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {HTMLCanvasElement} Returns DOM element with the fabric.Object\n */\n toCanvasElement: function(options) {\n options || (options = { });\n\n var utils = fabric.util, origParams = utils.saveObjectTransform(this),\n originalGroup = this.group,\n originalShadow = this.shadow, abs = Math.abs,\n multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? fabric.devicePixelRatio : 1);\n delete this.group;\n if (options.withoutTransform) {\n utils.resetObjectTransform(this);\n }\n if (options.withoutShadow) {\n this.shadow = null;\n }\n\n var el = fabric.util.createCanvasElement(),\n // skip canvas zoom and calculate with setCoords now.\n boundingRect = this.getBoundingRect(true, true),\n shadow = this.shadow, scaling,\n shadowOffset = { x: 0, y: 0 }, shadowBlur,\n width, height;\n\n if (shadow) {\n shadowBlur = shadow.blur;\n if (shadow.nonScaling) {\n scaling = { scaleX: 1, scaleY: 1 };\n }\n else {\n scaling = this.getObjectScaling();\n }\n // consider non scaling shadow.\n shadowOffset.x = 2 * Math.round(abs(shadow.offsetX) + shadowBlur) * (abs(scaling.scaleX));\n shadowOffset.y = 2 * Math.round(abs(shadow.offsetY) + shadowBlur) * (abs(scaling.scaleY));\n }\n width = boundingRect.width + shadowOffset.x;\n height = boundingRect.height + shadowOffset.y;\n // if the current width/height is not an integer\n // we need to make it so.\n el.width = Math.ceil(width);\n el.height = Math.ceil(height);\n var canvas = new fabric.StaticCanvas(el, {\n enableRetinaScaling: false,\n renderOnAddRemove: false,\n skipOffscreen: false,\n });\n if (options.format === 'jpeg') {\n canvas.backgroundColor = '#fff';\n }\n this.setPositionByOrigin(new fabric.Point(canvas.width / 2, canvas.height / 2), 'center', 'center');\n\n var originalCanvas = this.canvas;\n canvas.add(this);\n var canvasEl = canvas.toCanvasElement(multiplier || 1, options);\n this.shadow = originalShadow;\n this.set('canvas', originalCanvas);\n if (originalGroup) {\n this.group = originalGroup;\n }\n this.set(origParams).setCoords();\n // canvas.dispose will call image.dispose that will nullify the elements\n // since this canvas is a simple element for the process, we remove references\n // to objects in this way in order to avoid object trashing.\n canvas._objects = [];\n canvas.dispose();\n canvas = null;\n\n return canvasEl;\n },\n\n /**\n * Converts an object into a data-url-like string\n * @param {Object} options Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n */\n toDataURL: function(options) {\n options || (options = { });\n return fabric.util.toDataURL(this.toCanvasElement(options), options.format || 'png', options.quality || 1);\n },\n\n /**\n * Returns true if specified type is identical to the type of an instance\n * @param {String} type Type to check against\n * @return {Boolean}\n */\n isType: function(type) {\n return arguments.length > 1 ? Array.from(arguments).includes(this.type) : this.type === type;\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance (is 1 unless subclassed)\n */\n complexity: function() {\n return 1;\n },\n\n /**\n * Returns a JSON representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON\n */\n toJSON: function(propertiesToInclude) {\n // delegate, not alias\n return this.toObject(propertiesToInclude);\n },\n\n /**\n * Sets \"angle\" of an instance with centered rotation\n * @param {Number} angle Angle value (in degrees)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n rotate: function(angle) {\n var shouldCenterOrigin = (this.originX !== 'center' || this.originY !== 'center') && this.centeredRotation;\n\n if (shouldCenterOrigin) {\n this._setOriginToCenter();\n }\n\n this.set('angle', angle);\n\n if (shouldCenterOrigin) {\n this._resetOrigin();\n }\n\n return this;\n },\n\n /**\n * Centers object horizontally on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n centerH: function () {\n this.canvas && this.canvas.centerObjectH(this);\n return this;\n },\n\n /**\n * Centers object horizontally on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenterH: function () {\n this.canvas && this.canvas.viewportCenterObjectH(this);\n return this;\n },\n\n /**\n * Centers object vertically on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n centerV: function () {\n this.canvas && this.canvas.centerObjectV(this);\n return this;\n },\n\n /**\n * Centers object vertically on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenterV: function () {\n this.canvas && this.canvas.viewportCenterObjectV(this);\n return this;\n },\n\n /**\n * Centers object vertically and horizontally on canvas to which is was added last\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n center: function () {\n this.canvas && this.canvas.centerObject(this);\n return this;\n },\n\n /**\n * Centers object on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenter: function () {\n this.canvas && this.canvas.viewportCenterObject(this);\n return this;\n },\n\n /**\n * Returns coordinates of a pointer relative to an object\n * @param {Event} e Event to operate upon\n * @param {Object} [pointer] Pointer to operate upon (instead of event)\n * @return {Object} Coordinates of a pointer (x, y)\n */\n getLocalPointer: function(e, pointer) {\n pointer = pointer || this.canvas.getPointer(e);\n var pClicked = new fabric.Point(pointer.x, pointer.y),\n objectLeftTop = this._getLeftTopCoords();\n if (this.angle) {\n pClicked = fabric.util.rotatePoint(\n pClicked, objectLeftTop, degreesToRadians(-this.angle));\n }\n return {\n x: pClicked.x - objectLeftTop.x,\n y: pClicked.y - objectLeftTop.y\n };\n },\n\n /**\n * Sets canvas globalCompositeOperation for specific object\n * custom composition operation for the particular object can be specified using globalCompositeOperation property\n * @param {CanvasRenderingContext2D} ctx Rendering canvas context\n */\n _setupCompositeOperation: function (ctx) {\n if (this.globalCompositeOperation) {\n ctx.globalCompositeOperation = this.globalCompositeOperation;\n }\n },\n\n /**\n * cancel instance's running animations\n * override if necessary to dispose artifacts such as `clipPath`\n */\n dispose: function () {\n if (fabric.runningAnimations) {\n fabric.runningAnimations.cancelByTarget(this);\n }\n }\n });\n\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Object);\n\n extend(fabric.Object.prototype, fabric.Observable);\n\n /**\n * Defines the number of fraction digits to use when serializing object values.\n * You can use it to increase/decrease precision of such values like left, top, scaleX, scaleY, etc.\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type Number\n */\n fabric.Object.NUM_FRACTION_DIGITS = 2;\n\n /**\n * Defines which properties should be enlivened from the object passed to {@link fabric.Object._fromObject}\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type string[]\n */\n fabric.Object.ENLIVEN_PROPS = ['clipPath'];\n\n fabric.Object._fromObject = function(className, object, callback, extraParam) {\n var klass = fabric[className];\n object = clone(object, true);\n fabric.util.enlivenPatterns([object.fill, object.stroke], function(patterns) {\n if (typeof patterns[0] !== 'undefined') {\n object.fill = patterns[0];\n }\n if (typeof patterns[1] !== 'undefined') {\n object.stroke = patterns[1];\n }\n fabric.util.enlivenObjectEnlivables(object, object, function () {\n var instance = extraParam ? new klass(object[extraParam], object) : new klass(object);\n callback && callback(instance);\n });\n });\n };\n\n /**\n * Unique id used internally when creating SVG elements\n * @static\n * @memberOf fabric.Object\n * @type Number\n */\n fabric.Object.__uid = 0;\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n\n var degreesToRadians = fabric.util.degreesToRadians,\n originXOffset = {\n left: -0.5,\n center: 0,\n right: 0.5\n },\n originYOffset = {\n top: -0.5,\n center: 0,\n bottom: 0.5\n };\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Translates the coordinates from a set of origin to another (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} fromOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} fromOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @param {String} toOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} toOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToGivenOrigin: function(point, fromOriginX, fromOriginY, toOriginX, toOriginY) {\n var x = point.x,\n y = point.y,\n offsetX, offsetY, dim;\n\n if (typeof fromOriginX === 'string') {\n fromOriginX = originXOffset[fromOriginX];\n }\n else {\n fromOriginX -= 0.5;\n }\n\n if (typeof toOriginX === 'string') {\n toOriginX = originXOffset[toOriginX];\n }\n else {\n toOriginX -= 0.5;\n }\n\n offsetX = toOriginX - fromOriginX;\n\n if (typeof fromOriginY === 'string') {\n fromOriginY = originYOffset[fromOriginY];\n }\n else {\n fromOriginY -= 0.5;\n }\n\n if (typeof toOriginY === 'string') {\n toOriginY = originYOffset[toOriginY];\n }\n else {\n toOriginY -= 0.5;\n }\n\n offsetY = toOriginY - fromOriginY;\n\n if (offsetX || offsetY) {\n dim = this._getTransformedDimensions();\n x = point.x + offsetX * dim.x;\n y = point.y + offsetY * dim.y;\n }\n\n return new fabric.Point(x, y);\n },\n\n /**\n * Translates the coordinates from origin to center coordinates (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToCenterPoint: function(point, originX, originY) {\n var p = this.translateToGivenOrigin(point, originX, originY, 'center', 'center');\n if (this.angle) {\n return fabric.util.rotatePoint(p, point, degreesToRadians(this.angle));\n }\n return p;\n },\n\n /**\n * Translates the coordinates from center to origin coordinates (based on the object's dimensions)\n * @param {fabric.Point} center The point which corresponds to center of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToOriginPoint: function(center, originX, originY) {\n var p = this.translateToGivenOrigin(center, 'center', 'center', originX, originY);\n if (this.angle) {\n return fabric.util.rotatePoint(p, center, degreesToRadians(this.angle));\n }\n return p;\n },\n\n /**\n * Returns the real center coordinates of the object\n * @return {fabric.Point}\n */\n getCenterPoint: function() {\n var leftTop = new fabric.Point(this.left, this.top);\n return this.translateToCenterPoint(leftTop, this.originX, this.originY);\n },\n\n /**\n * Returns the coordinates of the object based on center coordinates\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @return {fabric.Point}\n */\n // getOriginPoint: function(center) {\n // return this.translateToOriginPoint(center, this.originX, this.originY);\n // },\n\n /**\n * Returns the coordinates of the object as if it has a different origin\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n getPointByOrigin: function(originX, originY) {\n var center = this.getCenterPoint();\n return this.translateToOriginPoint(center, originX, originY);\n },\n\n /**\n * Returns the point in local coordinates\n * @param {fabric.Point} point The point relative to the global coordinate system\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n toLocalPoint: function(point, originX, originY) {\n var center = this.getCenterPoint(),\n p, p2;\n\n if (typeof originX !== 'undefined' && typeof originY !== 'undefined' ) {\n p = this.translateToGivenOrigin(center, 'center', 'center', originX, originY);\n }\n else {\n p = new fabric.Point(this.left, this.top);\n }\n\n p2 = new fabric.Point(point.x, point.y);\n if (this.angle) {\n p2 = fabric.util.rotatePoint(p2, center, -degreesToRadians(this.angle));\n }\n return p2.subtractEquals(p);\n },\n\n /**\n * Returns the point in global coordinates\n * @param {fabric.Point} The point relative to the local coordinate system\n * @return {fabric.Point}\n */\n // toGlobalPoint: function(point) {\n // return fabric.util.rotatePoint(point, this.getCenterPoint(), degreesToRadians(this.angle)).addEquals(new fabric.Point(this.left, this.top));\n // },\n\n /**\n * Sets the position of the object taking into consideration the object's origin\n * @param {fabric.Point} pos The new position of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {void}\n */\n setPositionByOrigin: function(pos, originX, originY) {\n var center = this.translateToCenterPoint(pos, originX, originY),\n position = this.translateToOriginPoint(center, this.originX, this.originY);\n this.set('left', position.x);\n this.set('top', position.y);\n },\n\n /**\n * @param {String} to One of 'left', 'center', 'right'\n */\n adjustPosition: function(to) {\n var angle = degreesToRadians(this.angle),\n hypotFull = this.getScaledWidth(),\n xFull = fabric.util.cos(angle) * hypotFull,\n yFull = fabric.util.sin(angle) * hypotFull,\n offsetFrom, offsetTo;\n\n //TODO: this function does not consider mixed situation like top, center.\n if (typeof this.originX === 'string') {\n offsetFrom = originXOffset[this.originX];\n }\n else {\n offsetFrom = this.originX - 0.5;\n }\n if (typeof to === 'string') {\n offsetTo = originXOffset[to];\n }\n else {\n offsetTo = to - 0.5;\n }\n this.left += xFull * (offsetTo - offsetFrom);\n this.top += yFull * (offsetTo - offsetFrom);\n this.setCoords();\n this.originX = to;\n },\n\n /**\n * Sets the origin/position of the object to it's center point\n * @private\n * @return {void}\n */\n _setOriginToCenter: function() {\n this._originalOriginX = this.originX;\n this._originalOriginY = this.originY;\n\n var center = this.getCenterPoint();\n\n this.originX = 'center';\n this.originY = 'center';\n\n this.left = center.x;\n this.top = center.y;\n },\n\n /**\n * Resets the origin/position of the object to it's original origin\n * @private\n * @return {void}\n */\n _resetOrigin: function() {\n var originPoint = this.translateToOriginPoint(\n this.getCenterPoint(),\n this._originalOriginX,\n this._originalOriginY);\n\n this.originX = this._originalOriginX;\n this.originY = this._originalOriginY;\n\n this.left = originPoint.x;\n this.top = originPoint.y;\n\n this._originalOriginX = null;\n this._originalOriginY = null;\n },\n\n /**\n * @private\n */\n _getLeftTopCoords: function() {\n return this.translateToOriginPoint(this.getCenterPoint(), 'left', 'top');\n },\n });\n\n})();\n(function() {\n\n function arrayFromCoords(coords) {\n return [\n new fabric.Point(coords.tl.x, coords.tl.y),\n new fabric.Point(coords.tr.x, coords.tr.y),\n new fabric.Point(coords.br.x, coords.br.y),\n new fabric.Point(coords.bl.x, coords.bl.y)\n ];\n }\n\n var util = fabric.util,\n degreesToRadians = util.degreesToRadians,\n multiplyMatrices = util.multiplyTransformMatrices,\n transformPoint = util.transformPoint;\n\n util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Describe object's corner position in canvas element coordinates.\n * properties are depending on control keys and padding the main controls.\n * each property is an object with x, y and corner.\n * The `corner` property contains in a similar manner the 4 points of the\n * interactive area of the corner.\n * The coordinates depends from the controls positionHandler and are used\n * to draw and locate controls\n * @memberOf fabric.Object.prototype\n */\n oCoords: null,\n\n /**\n * Describe object's corner position in canvas object absolute coordinates\n * properties are tl,tr,bl,br and describe the four main corner.\n * each property is an object with x, y, instance of Fabric.Point.\n * The coordinates depends from this properties: width, height, scaleX, scaleY\n * skewX, skewY, angle, strokeWidth, top, left.\n * Those coordinates are useful to understand where an object is. They get updated\n * with oCoords but they do not need to be updated when zoom or panning change.\n * The coordinates get updated with @method setCoords.\n * You can calculate them without updating with @method calcACoords();\n * @memberOf fabric.Object.prototype\n */\n aCoords: null,\n\n /**\n * Describe object's corner position in canvas element coordinates.\n * includes padding. Used of object detection.\n * set and refreshed with setCoords.\n * @memberOf fabric.Object.prototype\n */\n lineCoords: null,\n\n /**\n * storage for object transform matrix\n */\n ownMatrixCache: null,\n\n /**\n * storage for object full transform matrix\n */\n matrixCache: null,\n\n /**\n * custom controls interface\n * controls are added by default_controls.js\n */\n controls: { },\n\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * @param {Boolean} absolute will return aCoords if true or lineCoords\n * @return {Object} {tl, tr, br, bl} points\n */\n _getCoords: function(absolute, calculate) {\n if (calculate) {\n return (absolute ? this.calcACoords() : this.calcLineCoords());\n }\n if (!this.aCoords || !this.lineCoords) {\n this.setCoords(true);\n }\n return (absolute ? this.aCoords : this.lineCoords);\n },\n\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * The coords are returned in an array.\n * @return {Array} [tl, tr, br, bl] of points\n */\n getCoords: function(absolute, calculate) {\n return arrayFromCoords(this._getCoords(absolute, calculate));\n },\n\n /**\n * Checks if object intersects with an area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with an area formed by 2 points\n */\n intersectsWithRect: function(pointTL, pointBR, absolute, calculate) {\n var coords = this.getCoords(absolute, calculate),\n intersection = fabric.Intersection.intersectPolygonRectangle(\n coords,\n pointTL,\n pointBR\n );\n return intersection.status === 'Intersection';\n },\n\n /**\n * Checks if object intersects with another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with another object\n */\n intersectsWithObject: function(other, absolute, calculate) {\n var intersection = fabric.Intersection.intersectPolygonPolygon(\n this.getCoords(absolute, calculate),\n other.getCoords(absolute, calculate)\n );\n\n return intersection.status === 'Intersection'\n || other.isContainedWithinObject(this, absolute, calculate)\n || this.isContainedWithinObject(other, absolute, calculate);\n },\n\n /**\n * Checks if object is fully contained within area of another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area of another object\n */\n isContainedWithinObject: function(other, absolute, calculate) {\n var points = this.getCoords(absolute, calculate),\n otherCoords = absolute ? other.aCoords : other.lineCoords,\n i = 0, lines = other._getImageLines(otherCoords);\n for (; i < 4; i++) {\n if (!other.containsPoint(points[i], lines)) {\n return false;\n }\n }\n return true;\n },\n\n /**\n * Checks if object is fully contained within area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area formed by 2 points\n */\n isContainedWithinRect: function(pointTL, pointBR, absolute, calculate) {\n var boundingRect = this.getBoundingRect(absolute, calculate);\n\n return (\n boundingRect.left >= pointTL.x &&\n boundingRect.left + boundingRect.width <= pointBR.x &&\n boundingRect.top >= pointTL.y &&\n boundingRect.top + boundingRect.height <= pointBR.y\n );\n },\n\n /**\n * Checks if point is inside the object\n * @param {fabric.Point} point Point to check against\n * @param {Object} [lines] object returned from @method _getImageLines\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if point is inside the object\n */\n containsPoint: function(point, lines, absolute, calculate) {\n var coords = this._getCoords(absolute, calculate),\n lines = lines || this._getImageLines(coords),\n xPoints = this._findCrossPoints(point, lines);\n // if xPoints is odd then point is inside the object\n return (xPoints !== 0 && xPoints % 2 === 1);\n },\n\n /**\n * Checks if object is contained within the canvas with current viewportTransform\n * the check is done stopping at first point that appears on screen\n * @param {Boolean} [calculate] use coordinates of current position instead of .aCoords\n * @return {Boolean} true if object is fully or partially contained within canvas\n */\n isOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n var points = this.getCoords(true, calculate);\n // if some point is on screen, the object is on screen.\n if (points.some(function(point) {\n return point.x <= pointBR.x && point.x >= pointTL.x &&\n point.y <= pointBR.y && point.y >= pointTL.y;\n })) {\n return true;\n }\n // no points on screen, check intersection with absolute coordinates\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n return this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n\n /**\n * Checks if the object contains the midpoint between canvas extremities\n * Does not make sense outside the context of isOnScreen and isPartiallyOnScreen\n * @private\n * @param {Fabric.Point} pointTL Top Left point\n * @param {Fabric.Point} pointBR Top Right point\n * @param {Boolean} calculate use coordinates of current position instead of .oCoords\n * @return {Boolean} true if the object contains the point\n */\n _containsCenterOfCanvas: function(pointTL, pointBR, calculate) {\n // worst case scenario the object is so big that contains the screen\n var centerPoint = { x: (pointTL.x + pointBR.x) / 2, y: (pointTL.y + pointBR.y) / 2 };\n if (this.containsPoint(centerPoint, null, true, calculate)) {\n return true;\n }\n return false;\n },\n\n /**\n * Checks if object is partially contained within the canvas with current viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is partially contained within canvas\n */\n isPartiallyOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n var allPointsAreOutside = this.getCoords(true, calculate).every(function(point) {\n return (point.x >= pointBR.x || point.x <= pointTL.x) &&\n (point.y >= pointBR.y || point.y <= pointTL.y);\n });\n return allPointsAreOutside && this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n\n /**\n * Method that returns an object with the object edges in it, given the coordinates of the corners\n * @private\n * @param {Object} oCoords Coordinates of the object corners\n */\n _getImageLines: function(oCoords) {\n\n var lines = {\n topline: {\n o: oCoords.tl,\n d: oCoords.tr\n },\n rightline: {\n o: oCoords.tr,\n d: oCoords.br\n },\n bottomline: {\n o: oCoords.br,\n d: oCoords.bl\n },\n leftline: {\n o: oCoords.bl,\n d: oCoords.tl\n }\n };\n\n // // debugging\n // if (this.canvas.contextTop) {\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n // }\n\n return lines;\n },\n\n /**\n * Helper method to determine how many cross points are between the 4 object edges\n * and the horizontal line determined by a point on canvas\n * @private\n * @param {fabric.Point} point Point to check\n * @param {Object} lines Coordinates of the object being evaluated\n */\n // remove yi, not used but left code here just in case.\n _findCrossPoints: function(point, lines) {\n var b1, b2, a1, a2, xi, // yi,\n xcount = 0,\n iLine;\n\n for (var lineKey in lines) {\n iLine = lines[lineKey];\n // optimisation 1: line below point. no cross\n if ((iLine.o.y < point.y) && (iLine.d.y < point.y)) {\n continue;\n }\n // optimisation 2: line above point. no cross\n if ((iLine.o.y >= point.y) && (iLine.d.y >= point.y)) {\n continue;\n }\n // optimisation 3: vertical line case\n if ((iLine.o.x === iLine.d.x) && (iLine.o.x >= point.x)) {\n xi = iLine.o.x;\n // yi = point.y;\n }\n // calculate the intersection point\n else {\n b1 = 0;\n b2 = (iLine.d.y - iLine.o.y) / (iLine.d.x - iLine.o.x);\n a1 = point.y - b1 * point.x;\n a2 = iLine.o.y - b2 * iLine.o.x;\n\n xi = -(a1 - a2) / (b1 - b2);\n // yi = a1 + b1 * xi;\n }\n // dont count xi < point.x cases\n if (xi >= point.x) {\n xcount += 1;\n }\n // optimisation 4: specific for square images\n if (xcount === 2) {\n break;\n }\n }\n return xcount;\n },\n\n /**\n * Returns coordinates of object's bounding rectangle (left, top, width, height)\n * the box is intended as aligned to axis of canvas.\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords / .aCoords\n * @return {Object} Object with left, top, width, height properties\n */\n getBoundingRect: function(absolute, calculate) {\n var coords = this.getCoords(absolute, calculate);\n return util.makeBoundingBoxFromPoints(coords);\n },\n\n /**\n * Returns width of an object's bounding box counting transformations\n * before 2.0 it was named getWidth();\n * @return {Number} width value\n */\n getScaledWidth: function() {\n return this._getTransformedDimensions().x;\n },\n\n /**\n * Returns height of an object bounding box counting transformations\n * before 2.0 it was named getHeight();\n * @return {Number} height value\n */\n getScaledHeight: function() {\n return this._getTransformedDimensions().y;\n },\n\n /**\n * Makes sure the scale is valid and modifies it if necessary\n * @private\n * @param {Number} value\n * @return {Number}\n */\n _constrainScale: function(value) {\n if (Math.abs(value) < this.minScaleLimit) {\n if (value < 0) {\n return -this.minScaleLimit;\n }\n else {\n return this.minScaleLimit;\n }\n }\n else if (value === 0) {\n return 0.0001;\n }\n return value;\n },\n\n /**\n * Scales an object (equally by x and y)\n * @param {Number} value Scale factor\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scale: function(value) {\n this._set('scaleX', value);\n this._set('scaleY', value);\n return this.setCoords();\n },\n\n /**\n * Scales an object to a given width, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New width value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scaleToWidth: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).width / this.getScaledWidth();\n return this.scale(value / this.width / boundingRectFactor);\n },\n\n /**\n * Scales an object to a given height, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New height value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scaleToHeight: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).height / this.getScaledHeight();\n return this.scale(value / this.height / boundingRectFactor);\n },\n\n calcLineCoords: function() {\n var vpt = this.getViewportTransform(),\n padding = this.padding, angle = degreesToRadians(this.angle),\n cos = util.cos(angle), sin = util.sin(angle),\n cosP = cos * padding, sinP = sin * padding, cosPSinP = cosP + sinP,\n cosPMinusSinP = cosP - sinP, aCoords = this.calcACoords();\n\n var lineCoords = {\n tl: transformPoint(aCoords.tl, vpt),\n tr: transformPoint(aCoords.tr, vpt),\n bl: transformPoint(aCoords.bl, vpt),\n br: transformPoint(aCoords.br, vpt),\n };\n\n if (padding) {\n lineCoords.tl.x -= cosPMinusSinP;\n lineCoords.tl.y -= cosPSinP;\n lineCoords.tr.x += cosPSinP;\n lineCoords.tr.y -= cosPMinusSinP;\n lineCoords.bl.x -= cosPSinP;\n lineCoords.bl.y += cosPMinusSinP;\n lineCoords.br.x += cosPMinusSinP;\n lineCoords.br.y += cosPSinP;\n }\n\n return lineCoords;\n },\n\n calcOCoords: function() {\n var rotateMatrix = this._calcRotateMatrix(),\n translateMatrix = this._calcTranslateMatrix(),\n vpt = this.getViewportTransform(),\n startMatrix = multiplyMatrices(vpt, translateMatrix),\n finalMatrix = multiplyMatrices(startMatrix, rotateMatrix),\n finalMatrix = multiplyMatrices(finalMatrix, [1 / vpt[0], 0, 0, 1 / vpt[3], 0, 0]),\n dim = this._calculateCurrentDimensions(),\n coords = {};\n this.forEachControl(function(control, key, fabricObject) {\n coords[key] = control.positionHandler(dim, finalMatrix, fabricObject);\n });\n\n // debug code\n // var canvas = this.canvas;\n // setTimeout(function() {\n // canvas.contextTop.clearRect(0, 0, 700, 700);\n // canvas.contextTop.fillStyle = 'green';\n // Object.keys(coords).forEach(function(key) {\n // var control = coords[key];\n // canvas.contextTop.fillRect(control.x, control.y, 3, 3);\n // });\n // }, 50);\n return coords;\n },\n\n calcACoords: function() {\n var rotateMatrix = this._calcRotateMatrix(),\n translateMatrix = this._calcTranslateMatrix(),\n finalMatrix = multiplyMatrices(translateMatrix, rotateMatrix),\n dim = this._getTransformedDimensions(),\n w = dim.x / 2, h = dim.y / 2;\n return {\n // corners\n tl: transformPoint({ x: -w, y: -h }, finalMatrix),\n tr: transformPoint({ x: w, y: -h }, finalMatrix),\n bl: transformPoint({ x: -w, y: h }, finalMatrix),\n br: transformPoint({ x: w, y: h }, finalMatrix)\n };\n },\n\n /**\n * Sets corner and controls position coordinates based on current angle, width and height, left and top.\n * oCoords are used to find the corners\n * aCoords are used to quickly find an object on the canvas\n * lineCoords are used to quickly find object during pointer events.\n * See {@link https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords} and {@link http://fabricjs.com/fabric-gotchas}\n *\n * @param {Boolean} [skipCorners] skip calculation of oCoords.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setCoords: function(skipCorners) {\n this.aCoords = this.calcACoords();\n // in case we are in a group, for how the inner group target check works,\n // lineCoords are exactly aCoords. Since the vpt gets absorbed by the normalized pointer.\n this.lineCoords = this.group ? this.aCoords : this.calcLineCoords();\n if (skipCorners) {\n return this;\n }\n // set coordinates of the draggable boxes in the corners used to scale/rotate the image\n this.oCoords = this.calcOCoords();\n this._setCornerCoords && this._setCornerCoords();\n return this;\n },\n\n /**\n * calculate rotation matrix of an object\n * @return {Array} rotation matrix for the object\n */\n _calcRotateMatrix: function() {\n return util.calcRotateMatrix(this);\n },\n\n /**\n * calculate the translation matrix for an object transform\n * @return {Array} rotation matrix for the object\n */\n _calcTranslateMatrix: function() {\n var center = this.getCenterPoint();\n return [1, 0, 0, 1, center.x, center.y];\n },\n\n transformMatrixKey: function(skipGroup) {\n var sep = '_', prefix = '';\n if (!skipGroup && this.group) {\n prefix = this.group.transformMatrixKey(skipGroup) + sep;\n };\n return prefix + this.top + sep + this.left + sep + this.scaleX + sep + this.scaleY +\n sep + this.skewX + sep + this.skewY + sep + this.angle + sep + this.originX + sep + this.originY +\n sep + this.width + sep + this.height + sep + this.strokeWidth + this.flipX + this.flipY;\n },\n\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties.\n * @param {Boolean} [skipGroup] return transform matrix for object not counting parent transformations\n * There are some situation in which this is useful to avoid the fake rotation.\n * @return {Array} transform matrix for the object\n */\n calcTransformMatrix: function(skipGroup) {\n var matrix = this.calcOwnMatrix();\n if (skipGroup || !this.group) {\n return matrix;\n }\n var key = this.transformMatrixKey(skipGroup), cache = this.matrixCache || (this.matrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n if (this.group) {\n matrix = multiplyMatrices(this.group.calcTransformMatrix(false), matrix);\n }\n cache.key = key;\n cache.value = matrix;\n return matrix;\n },\n\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties, this matrix does not include the group transformation\n * @return {Array} transform matrix for the object\n */\n calcOwnMatrix: function() {\n var key = this.transformMatrixKey(true), cache = this.ownMatrixCache || (this.ownMatrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n var tMatrix = this._calcTranslateMatrix(),\n options = {\n angle: this.angle,\n translateX: tMatrix[4],\n translateY: tMatrix[5],\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: this.skewX,\n skewY: this.skewY,\n flipX: this.flipX,\n flipY: this.flipY,\n };\n cache.key = key;\n cache.value = util.composeMatrix(options);\n return cache.value;\n },\n\n /*\n * Calculate object dimensions from its properties\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */\n _getNonTransformedDimensions: function() {\n var strokeWidth = this.strokeWidth,\n w = this.width + strokeWidth,\n h = this.height + strokeWidth;\n return { x: w, y: h };\n },\n\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param {Number} skewX, a value to override current skewX\n * @param {Number} skewY, a value to override current skewY\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */\n _getTransformedDimensions: function(skewX, skewY) {\n if (typeof skewX === 'undefined') {\n skewX = this.skewX;\n }\n if (typeof skewY === 'undefined') {\n skewY = this.skewY;\n }\n var dimensions, dimX, dimY,\n noSkew = skewX === 0 && skewY === 0;\n\n if (this.strokeUniform) {\n dimX = this.width;\n dimY = this.height;\n }\n else {\n dimensions = this._getNonTransformedDimensions();\n dimX = dimensions.x;\n dimY = dimensions.y;\n }\n if (noSkew) {\n return this._finalizeDimensions(dimX * this.scaleX, dimY * this.scaleY);\n }\n var bbox = util.sizeAfterTransform(dimX, dimY, {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: skewX,\n skewY: skewY,\n });\n return this._finalizeDimensions(bbox.x, bbox.y);\n },\n\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param Number width width of the bbox\n * @param Number height height of the bbox\n * @private\n * @return {Object} .x finalized width dimension\n * @return {Object} .y finalized height dimension\n */\n _finalizeDimensions: function(width, height) {\n return this.strokeUniform ?\n { x: width + this.strokeWidth, y: height + this.strokeWidth }\n :\n { x: width, y: height };\n },\n\n /*\n * Calculate object dimensions for controls box, including padding and canvas zoom.\n * and active selection\n * private\n */\n _calculateCurrentDimensions: function() {\n var vpt = this.getViewportTransform(),\n dim = this._getTransformedDimensions(),\n p = transformPoint(dim, vpt, true);\n return p.scalarAdd(2 * this.padding);\n },\n });\n})();\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Moves an object to the bottom of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */\n sendToBack: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendToBack.call(this.group, this);\n }\n else if (this.canvas) {\n this.canvas.sendToBack(this);\n }\n return this;\n },\n\n /**\n * Moves an object to the top of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */\n bringToFront: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringToFront.call(this.group, this);\n }\n else if (this.canvas) {\n this.canvas.bringToFront(this);\n }\n return this;\n },\n\n /**\n * Moves an object down in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n sendBackwards: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendBackwards.call(this.group, this, intersecting);\n }\n else if (this.canvas) {\n this.canvas.sendBackwards(this, intersecting);\n }\n return this;\n },\n\n /**\n * Moves an object up in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n bringForward: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringForward.call(this.group, this, intersecting);\n }\n else if (this.canvas) {\n this.canvas.bringForward(this, intersecting);\n }\n return this;\n },\n\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {Number} index New position of object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n moveTo: function(index) {\n if (this.group && this.group.type !== 'activeSelection') {\n fabric.StaticCanvas.prototype.moveTo.call(this.group, this, index);\n }\n else if (this.canvas) {\n this.canvas.moveTo(this, index);\n }\n return this;\n }\n});\n\n(function() {\n\n var extend = fabric.util.object.extend,\n originalSet = 'stateProperties';\n\n /*\n Depends on `stateProperties`\n */\n function saveProps(origin, destination, props) {\n var tmpObj = { }, deep = true;\n props.forEach(function(prop) {\n tmpObj[prop] = origin[prop];\n });\n\n extend(origin[destination], tmpObj, deep);\n }\n\n function _isEqual(origValue, currentValue, firstPass) {\n if (origValue === currentValue) {\n // if the objects are identical, return\n return true;\n }\n else if (Array.isArray(origValue)) {\n if (!Array.isArray(currentValue) || origValue.length !== currentValue.length) {\n return false;\n }\n for (var i = 0, len = origValue.length; i < len; i++) {\n if (!_isEqual(origValue[i], currentValue[i])) {\n return false;\n }\n }\n return true;\n }\n else if (origValue && typeof origValue === 'object') {\n var keys = Object.keys(origValue), key;\n if (!currentValue ||\n typeof currentValue !== 'object' ||\n (!firstPass && keys.length !== Object.keys(currentValue).length)\n ) {\n return false;\n }\n for (var i = 0, len = keys.length; i < len; i++) {\n key = keys[i];\n // since clipPath is in the statefull cache list and the clipPath objects\n // would be iterated as an object, this would lead to possible infinite recursion\n // we do not want to compare those.\n if (key === 'canvas' || key === 'group') {\n continue;\n }\n if (!_isEqual(origValue[key], currentValue[key])) {\n return false;\n }\n }\n return true;\n }\n }\n\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Returns true if object state (one of its state properties) was changed\n * @param {String} [propertySet] optional name for the set of property we want to save\n * @return {Boolean} true if instance' state has changed since `{@link fabric.Object#saveState}` was called\n */\n hasStateChanged: function(propertySet) {\n propertySet = propertySet || originalSet;\n var dashedPropertySet = '_' + propertySet;\n if (Object.keys(this[dashedPropertySet]).length < this[propertySet].length) {\n return true;\n }\n return !_isEqual(this[dashedPropertySet], this, true);\n },\n\n /**\n * Saves state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */\n saveState: function(options) {\n var propertySet = options && options.propertySet || originalSet,\n destination = '_' + propertySet;\n if (!this[destination]) {\n return this.setupState(options);\n }\n saveProps(this, destination, this[propertySet]);\n if (options && options.stateProperties) {\n saveProps(this, destination, options.stateProperties);\n }\n return this;\n },\n\n /**\n * Setups state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */\n setupState: function(options) {\n options = options || { };\n var propertySet = options.propertySet || originalSet;\n options.propertySet = propertySet;\n this['_' + propertySet] = { };\n this.saveState(options);\n return this;\n }\n });\n})();\n(function() {\n\n var degreesToRadians = fabric.util.degreesToRadians;\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Determines which corner has been clicked\n * @private\n * @param {Object} pointer The pointer indicating the mouse position\n * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found\n */\n _findTargetCorner: function(pointer, forTouch) {\n // objects in group, anykind, are not self modificable,\n // must not return an hovered corner.\n if (!this.hasControls || this.group || (!this.canvas || this.canvas._activeObject !== this)) {\n return false;\n }\n\n var ex = pointer.x,\n ey = pointer.y,\n xPoints,\n lines, keys = Object.keys(this.oCoords),\n j = keys.length - 1, i;\n this.__corner = 0;\n\n // cycle in reverse order so we pick first the one on top\n for (; j >= 0; j--) {\n i = keys[j];\n if (!this.isControlVisible(i)) {\n continue;\n }\n\n lines = this._getImageLines(forTouch ? this.oCoords[i].touchCorner : this.oCoords[i].corner);\n // // debugging\n //\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n\n xPoints = this._findCrossPoints({ x: ex, y: ey }, lines);\n if (xPoints !== 0 && xPoints % 2 === 1) {\n this.__corner = i;\n return i;\n }\n }\n return false;\n },\n\n /**\n * Calls a function for each control. The function gets called,\n * with the control, the object that is calling the iterator and the control's key\n * @param {Function} fn function to iterate over the controls over\n */\n forEachControl: function(fn) {\n for (var i in this.controls) {\n fn(this.controls[i], i, this);\n };\n },\n\n /**\n * Sets the coordinates of the draggable boxes in the corners of\n * the image used to scale/rotate it.\n * note: if we would switch to ROUND corner area, all of this would disappear.\n * everything would resolve to a single point and a pythagorean theorem for the distance\n * @private\n */\n _setCornerCoords: function() {\n var coords = this.oCoords;\n\n for (var control in coords) {\n var controlObject = this.controls[control];\n coords[control].corner = controlObject.calcCornerCoords(\n this.angle, this.cornerSize, coords[control].x, coords[control].y, false);\n coords[control].touchCorner = controlObject.calcCornerCoords(\n this.angle, this.touchCornerSize, coords[control].x, coords[control].y, true);\n }\n },\n\n /**\n * Draws a colored layer behind the object, inside its selection borders.\n * Requires public options: padding, selectionBackgroundColor\n * this function is called when the context is transformed\n * has checks to be skipped when the object is on a staticCanvas\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawSelectionBackground: function(ctx) {\n if (!this.selectionBackgroundColor ||\n (this.canvas && !this.canvas.interactive) ||\n (this.canvas && this.canvas._activeObject !== this)\n ) {\n return this;\n }\n ctx.save();\n var center = this.getCenterPoint(), wh = this._calculateCurrentDimensions(),\n vpt = this.canvas.viewportTransform;\n ctx.translate(center.x, center.y);\n ctx.scale(1 / vpt[0], 1 / vpt[3]);\n ctx.rotate(degreesToRadians(this.angle));\n ctx.fillStyle = this.selectionBackgroundColor;\n ctx.fillRect(-wh.x / 2, -wh.y / 2, wh.x, wh.y);\n ctx.restore();\n return this;\n },\n\n /**\n * Draws borders of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawBorders: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n var wh = this._calculateCurrentDimensions(),\n strokeWidth = this.borderScaleFactor,\n width = wh.x + strokeWidth,\n height = wh.y + strokeWidth,\n hasControls = typeof styleOverride.hasControls !== 'undefined' ?\n styleOverride.hasControls : this.hasControls,\n shouldStroke = false;\n\n ctx.save();\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n\n ctx.strokeRect(\n -width / 2,\n -height / 2,\n width,\n height\n );\n\n if (hasControls) {\n ctx.beginPath();\n this.forEachControl(function(control, key, fabricObject) {\n // in this moment, the ctx is centered on the object.\n // width and height of the above function are the size of the bbox.\n if (control.withConnection && control.getVisibility(fabricObject, key)) {\n // reset movement for each control\n shouldStroke = true;\n ctx.moveTo(control.x * width, control.y * height);\n ctx.lineTo(\n control.x * width + control.offsetX,\n control.y * height + control.offsetY\n );\n }\n });\n if (shouldStroke) {\n ctx.stroke();\n }\n }\n ctx.restore();\n return this;\n },\n\n /**\n * Draws borders of an object's bounding box when it is inside a group.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {object} options object representing current object parameters\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawBordersInGroup: function(ctx, options, styleOverride) {\n styleOverride = styleOverride || {};\n var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options),\n strokeWidth = this.strokeWidth,\n strokeUniform = this.strokeUniform,\n borderScaleFactor = this.borderScaleFactor,\n width =\n bbox.x + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleX) + borderScaleFactor,\n height =\n bbox.y + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleY) + borderScaleFactor;\n ctx.save();\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n ctx.strokeRect(\n -width / 2,\n -height / 2,\n width,\n height\n );\n\n ctx.restore();\n return this;\n },\n\n /**\n * Draws corners of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: cornerSize, padding\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawControls: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n ctx.save();\n var retinaScaling = this.canvas.getRetinaScaling(), matrix, p;\n ctx.setTransform(retinaScaling, 0, 0, retinaScaling, 0, 0);\n ctx.strokeStyle = ctx.fillStyle = styleOverride.cornerColor || this.cornerColor;\n if (!this.transparentCorners) {\n ctx.strokeStyle = styleOverride.cornerStrokeColor || this.cornerStrokeColor;\n }\n this._setLineDash(ctx, styleOverride.cornerDashArray || this.cornerDashArray);\n this.setCoords();\n if (this.group) {\n // fabricJS does not really support drawing controls inside groups,\n // this piece of code here helps having at least the control in places.\n // If an application needs to show some objects as selected because of some UI state\n // can still call Object._renderControls() on any object they desire, independently of groups.\n // using no padding, circular controls and hiding the rotating cursor is higly suggested,\n matrix = this.group.calcTransformMatrix();\n }\n this.forEachControl(function(control, key, fabricObject) {\n p = fabricObject.oCoords[key];\n if (control.getVisibility(fabricObject, key)) {\n if (matrix) {\n p = fabric.util.transformPoint(p, matrix);\n }\n control.render(ctx, p.x, p.y, styleOverride, fabricObject);\n }\n });\n ctx.restore();\n\n return this;\n },\n\n /**\n * Returns true if the specified control is visible, false otherwise.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @returns {Boolean} true if the specified control is visible, false otherwise\n */\n isControlVisible: function(controlKey) {\n return this.controls[controlKey] && this.controls[controlKey].getVisibility(this, controlKey);\n },\n\n /**\n * Sets the visibility of the specified control.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @param {Boolean} visible true to set the specified control visible, false otherwise\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setControlVisible: function(controlKey, visible) {\n if (!this._controlsVisibility) {\n this._controlsVisibility = {};\n }\n this._controlsVisibility[controlKey] = visible;\n return this;\n },\n\n /**\n * Sets the visibility state of object controls.\n * @param {Object} [options] Options object\n * @param {Boolean} [options.bl] true to enable the bottom-left control, false to disable it\n * @param {Boolean} [options.br] true to enable the bottom-right control, false to disable it\n * @param {Boolean} [options.mb] true to enable the middle-bottom control, false to disable it\n * @param {Boolean} [options.ml] true to enable the middle-left control, false to disable it\n * @param {Boolean} [options.mr] true to enable the middle-right control, false to disable it\n * @param {Boolean} [options.mt] true to enable the middle-top control, false to disable it\n * @param {Boolean} [options.tl] true to enable the top-left control, false to disable it\n * @param {Boolean} [options.tr] true to enable the top-right control, false to disable it\n * @param {Boolean} [options.mtr] true to enable the middle-top-rotate control, false to disable it\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setControlsVisibility: function(options) {\n options || (options = { });\n\n for (var p in options) {\n this.setControlVisible(p, options[p]);\n }\n return this;\n },\n\n\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to deselect this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */\n onDeselect: function() {\n // implemented by sub-classes, as needed.\n },\n\n\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to select this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */\n onSelect: function() {\n // implemented by sub-classes, as needed.\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Animation duration (in ms) for fx* methods\n * @type Number\n * @default\n */\n FX_DURATION: 500,\n\n /**\n * Centers object horizontally with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxCenterObjectH: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.left,\n endValue: this.getCenterPoint().x,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('left', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n\n /**\n * Centers object vertically with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxCenterObjectV: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.top,\n endValue: this.getCenterPoint().y,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('top', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n\n /**\n * Same as `fabric.Canvas#remove` but animated\n * @param {fabric.Object} object Object to remove\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxRemove: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.opacity,\n endValue: 0,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('opacity', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function () {\n _this.remove(object);\n onComplete();\n }\n });\n }\n});\n\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Animates object's properties\n * @param {String|Object} property Property to animate (if string) or properties to animate (if object)\n * @param {Number|Object} value Value to animate property to (if string was given first) or options object\n * @return {fabric.Object} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#animation}\n * @return {fabric.AnimationContext | fabric.AnimationContext[]} animation context (or an array if passed multiple properties)\n *\n * As object — multiple properties\n *\n * object.animate({ left: ..., top: ... });\n * object.animate({ left: ..., top: ... }, { duration: ... });\n *\n * As string — one property\n *\n * object.animate('left', ...);\n * object.animate('left', { duration: ... });\n *\n */\n animate: function () {\n if (arguments[0] && typeof arguments[0] === 'object') {\n var propsToAnimate = [], prop, skipCallbacks, out = [];\n for (prop in arguments[0]) {\n propsToAnimate.push(prop);\n }\n for (var i = 0, len = propsToAnimate.length; i < len; i++) {\n prop = propsToAnimate[i];\n skipCallbacks = i !== len - 1;\n out.push(this._animate(prop, arguments[0][prop], arguments[1], skipCallbacks));\n }\n return out;\n }\n else {\n return this._animate.apply(this, arguments);\n }\n },\n\n /**\n * @private\n * @param {String} property Property to animate\n * @param {String} to Value to animate to\n * @param {Object} [options] Options object\n * @param {Boolean} [skipCallbacks] When true, callbacks like onchange and oncomplete are not invoked\n */\n _animate: function(property, to, options, skipCallbacks) {\n var _this = this, propPair;\n\n to = to.toString();\n\n if (!options) {\n options = { };\n }\n else {\n options = fabric.util.object.clone(options);\n }\n\n if (~property.indexOf('.')) {\n propPair = property.split('.');\n }\n\n var propIsColor =\n _this.colorProperties.indexOf(property) > -1 ||\n (propPair && _this.colorProperties.indexOf(propPair[1]) > -1);\n\n var currentValue = propPair\n ? this.get(propPair[0])[propPair[1]]\n : this.get(property);\n\n if (!('from' in options)) {\n options.from = currentValue;\n }\n\n if (!propIsColor) {\n if (~to.indexOf('=')) {\n to = currentValue + parseFloat(to.replace('=', ''));\n }\n else {\n to = parseFloat(to);\n }\n }\n\n var _options = {\n target: this,\n startValue: options.from,\n endValue: to,\n byValue: options.by,\n easing: options.easing,\n duration: options.duration,\n abort: options.abort && function(value, valueProgress, timeProgress) {\n return options.abort.call(_this, value, valueProgress, timeProgress);\n },\n onChange: function (value, valueProgress, timeProgress) {\n if (propPair) {\n _this[propPair[0]][propPair[1]] = value;\n }\n else {\n _this.set(property, value);\n }\n if (skipCallbacks) {\n return;\n }\n options.onChange && options.onChange(value, valueProgress, timeProgress);\n },\n onComplete: function (value, valueProgress, timeProgress) {\n if (skipCallbacks) {\n return;\n }\n\n _this.setCoords();\n options.onComplete && options.onComplete(value, valueProgress, timeProgress);\n }\n };\n\n if (propIsColor) {\n return fabric.util.animateColor(_options.startValue, _options.endValue, _options.duration, _options);\n }\n else {\n return fabric.util.animate(_options);\n }\n }\n});\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend;\n\n if (fabric.Rect) {\n fabric.warn('fabric.Rect is already defined');\n return;\n }\n\n /**\n * Rectangle class\n * @class fabric.Rect\n * @extends fabric.Object\n * @return {fabric.Rect} thisArg\n * @see {@link fabric.Rect#initialize} for constructor definition\n */\n fabric.Rect = fabric.util.createClass(fabric.Object, /** @lends fabric.Rect.prototype */ {\n\n /**\n * List of properties to consider when checking if state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat('rx', 'ry'),\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'rect',\n\n /**\n * Horizontal border radius\n * @type Number\n * @default\n */\n rx: 0,\n\n /**\n * Vertical border radius\n * @type Number\n * @default\n */\n ry: 0,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('rx', 'ry'),\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n this._initRxRy();\n },\n\n /**\n * Initializes rx/ry attributes\n * @private\n */\n _initRxRy: function() {\n if (this.rx && !this.ry) {\n this.ry = this.rx;\n }\n else if (this.ry && !this.rx) {\n this.rx = this.ry;\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n\n // 1x1 case (used in spray brush) optimization was removed because\n // with caching and higher zoom level this makes more damage than help\n\n var rx = this.rx ? Math.min(this.rx, this.width / 2) : 0,\n ry = this.ry ? Math.min(this.ry, this.height / 2) : 0,\n w = this.width,\n h = this.height,\n x = -this.width / 2,\n y = -this.height / 2,\n isRounded = rx !== 0 || ry !== 0,\n /* \"magic number\" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */\n k = 1 - 0.5522847498;\n ctx.beginPath();\n\n ctx.moveTo(x + rx, y);\n\n ctx.lineTo(x + w - rx, y);\n isRounded && ctx.bezierCurveTo(x + w - k * rx, y, x + w, y + k * ry, x + w, y + ry);\n\n ctx.lineTo(x + w, y + h - ry);\n isRounded && ctx.bezierCurveTo(x + w, y + h - k * ry, x + w - k * rx, y + h, x + w - rx, y + h);\n\n ctx.lineTo(x + rx, y + h);\n isRounded && ctx.bezierCurveTo(x + k * rx, y + h, x, y + h - k * ry, x, y + h - ry);\n\n ctx.lineTo(x, y + ry);\n isRounded && ctx.bezierCurveTo(x, y + k * ry, x + k * rx, y, x + rx, y);\n\n ctx.closePath();\n\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return this.callSuper('toObject', ['rx', 'ry'].concat(propertiesToInclude));\n },\n\n \n });\n\n \n\n /**\n * Returns {@link fabric.Rect} instance from an object representation\n * @static\n * @memberOf fabric.Rect\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Rect instance is created\n */\n fabric.Rect.fromObject = function(object, callback) {\n return fabric.Object._fromObject('Rect', object, callback);\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n min = fabric.util.array.min,\n max = fabric.util.array.max,\n toFixed = fabric.util.toFixed,\n projectStrokeOnPoints = fabric.util.projectStrokeOnPoints;\n\n if (fabric.Polyline) {\n fabric.warn('fabric.Polyline is already defined');\n return;\n }\n\n /**\n * Polyline class\n * @class fabric.Polyline\n * @extends fabric.Object\n * @see {@link fabric.Polyline#initialize} for constructor definition\n */\n fabric.Polyline = fabric.util.createClass(fabric.Object, /** @lends fabric.Polyline.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'polyline',\n\n /**\n * Points array\n * @type Array\n * @default\n */\n points: null,\n\n /**\n * WARNING: Feature in progress\n * Calculate the exact bounding box taking in account strokeWidth on acute angles\n * this will be turned to true by default on fabric 6.0\n * maybe will be left in as an optimization since calculations may be slow\n * @deprecated\n * @type Boolean\n * @default false\n */\n exactBoundingBox: false,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('points'),\n\n /**\n * Constructor\n * @param {Array} points Array of points (where each point is an object with x and y)\n * @param {Object} [options] Options object\n * @return {fabric.Polyline} thisArg\n * @example\n * var poly = new fabric.Polyline([\n * { x: 10, y: 10 },\n * { x: 50, y: 30 },\n * { x: 40, y: 70 },\n * { x: 60, y: 50 },\n * { x: 100, y: 150 },\n * { x: 40, y: 100 }\n * ], {\n * stroke: 'red',\n * left: 100,\n * top: 100\n * });\n */\n initialize: function(points, options) {\n options = options || {};\n this.points = points || [];\n this.callSuper('initialize', options);\n this._setPositionDimensions(options);\n },\n\n /**\n * @private\n */\n _projectStrokeOnPoints: function () {\n return projectStrokeOnPoints(this.points, this, true);\n },\n\n _setPositionDimensions: function(options) {\n var calcDim = this._calcDimensions(options), correctLeftTop,\n correctSize = this.exactBoundingBox ? this.strokeWidth : 0;\n this.width = calcDim.width - correctSize;\n this.height = calcDim.height - correctSize;\n if (!options.fromSVG) {\n correctLeftTop = this.translateToGivenOrigin(\n {\n // this looks bad, but is one way to keep it optional for now.\n x: calcDim.left - this.strokeWidth / 2 + correctSize / 2,\n y: calcDim.top - this.strokeWidth / 2 + correctSize / 2\n },\n 'left',\n 'top',\n this.originX,\n this.originY\n );\n }\n if (typeof options.left === 'undefined') {\n this.left = options.fromSVG ? calcDim.left : correctLeftTop.x;\n }\n if (typeof options.top === 'undefined') {\n this.top = options.fromSVG ? calcDim.top : correctLeftTop.y;\n }\n this.pathOffset = {\n x: calcDim.left + this.width / 2 + correctSize / 2,\n y: calcDim.top + this.height / 2 + correctSize / 2\n };\n },\n\n /**\n * Calculate the polygon min and max point from points array,\n * returning an object with left, top, width, height to measure the\n * polygon size\n * @return {Object} object.left X coordinate of the polygon leftmost point\n * @return {Object} object.top Y coordinate of the polygon topmost point\n * @return {Object} object.width distance between X coordinates of the polygon leftmost and rightmost point\n * @return {Object} object.height distance between Y coordinates of the polygon topmost and bottommost point\n * @private\n */\n _calcDimensions: function() {\n\n var points = this.exactBoundingBox ? this._projectStrokeOnPoints() : this.points,\n minX = min(points, 'x') || 0,\n minY = min(points, 'y') || 0,\n maxX = max(points, 'x') || 0,\n maxY = max(points, 'y') || 0,\n width = (maxX - minX),\n height = (maxY - minY);\n\n return {\n left: minX,\n top: minY,\n width: width,\n height: height,\n };\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return extend(this.callSuper('toObject', propertiesToInclude), {\n points: this.points.concat()\n });\n },\n\n \n\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n commonRender: function(ctx) {\n var point, len = this.points.length,\n x = this.pathOffset.x,\n y = this.pathOffset.y;\n\n if (!len || isNaN(this.points[len - 1].y)) {\n // do not draw if no points or odd points\n // NaN comes from parseFloat of a empty string in parser\n return false;\n }\n ctx.beginPath();\n ctx.moveTo(this.points[0].x - x, this.points[0].y - y);\n for (var i = 0; i < len; i++) {\n point = this.points[i];\n ctx.lineTo(point.x - x, point.y - y);\n }\n return true;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n if (!this.commonRender(ctx)) {\n return;\n }\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance\n */\n complexity: function() {\n return this.get('points').length;\n }\n });\n\n \n\n /**\n * Returns fabric.Polyline instance from an object representation\n * @static\n * @memberOf fabric.Polyline\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */\n fabric.Polyline.fromObject = function(object, callback) {\n return fabric.Object._fromObject('Polyline', object, callback, 'points');\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n min = fabric.util.array.min,\n max = fabric.util.array.max,\n extend = fabric.util.object.extend,\n clone = fabric.util.object.clone,\n toFixed = fabric.util.toFixed;\n\n if (fabric.Path) {\n fabric.warn('fabric.Path is already defined');\n return;\n }\n\n /**\n * Path class\n * @class fabric.Path\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#path_and_pathgroup}\n * @see {@link fabric.Path#initialize} for constructor definition\n */\n fabric.Path = fabric.util.createClass(fabric.Object, /** @lends fabric.Path.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'path',\n\n /**\n * Array of path points\n * @type Array\n * @default\n */\n path: null,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('path', 'fillRule'),\n\n stateProperties: fabric.Object.prototype.stateProperties.concat('path'),\n\n /**\n * Constructor\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n * @return {fabric.Path} thisArg\n */\n initialize: function (path, options) {\n options = clone(options || {});\n delete options.path;\n this.callSuper('initialize', options);\n this._setPath(path || [], options);\n },\n\n /**\n * @private\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n */\n _setPath: function (path, options) {\n this.path = fabric.util.makePathSimpler(\n Array.isArray(path) ? path : fabric.util.parsePath(path)\n );\n\n fabric.Polyline.prototype._setPositionDimensions.call(this, options || {});\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */\n _renderPathCommands: function(ctx) {\n var current, // current instruction\n subpathStartX = 0,\n subpathStartY = 0,\n x = 0, // current x\n y = 0, // current y\n controlX = 0, // current control point x\n controlY = 0, // current control point y\n l = -this.pathOffset.x,\n t = -this.pathOffset.y;\n\n ctx.beginPath();\n\n for (var i = 0, len = this.path.length; i < len; ++i) {\n\n current = this.path[i];\n\n switch (current[0]) { // first letter\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n ctx.lineTo(x + l, y + t);\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n ctx.moveTo(x + l, y + t);\n break;\n\n case 'C': // bezierCurveTo, absolute\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n ctx.bezierCurveTo(\n current[1] + l,\n current[2] + t,\n controlX + l,\n controlY + t,\n x + l,\n y + t\n );\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n ctx.quadraticCurveTo(\n current[1] + l,\n current[2] + t,\n current[3] + l,\n current[4] + t\n );\n x = current[3];\n y = current[4];\n controlX = current[1];\n controlY = current[2];\n break;\n\n case 'z':\n case 'Z':\n x = subpathStartX;\n y = subpathStartY;\n ctx.closePath();\n break;\n }\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */\n _render: function(ctx) {\n this._renderPathCommands(ctx);\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} string representation of an instance\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return extend(this.callSuper('toObject', propertiesToInclude), {\n path: this.path.map(function(item) { return item.slice(); }),\n });\n },\n\n /**\n * Returns dataless object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n var o = this.toObject(['sourcePath'].concat(propertiesToInclude));\n if (o.sourcePath) {\n delete o.path;\n }\n return o;\n },\n\n \n\n /**\n * Returns number representation of an instance complexity\n * @return {Number} complexity of this instance\n */\n complexity: function() {\n return this.path.length;\n },\n\n /**\n * @private\n */\n _calcDimensions: function() {\n\n var aX = [],\n aY = [],\n current, // current instruction\n subpathStartX = 0,\n subpathStartY = 0,\n x = 0, // current x\n y = 0, // current y\n bounds;\n\n for (var i = 0, len = this.path.length; i < len; ++i) {\n\n current = this.path[i];\n\n switch (current[0]) { // first letter\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n bounds = [];\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n bounds = [];\n break;\n\n case 'C': // bezierCurveTo, absolute\n bounds = fabric.util.getBoundsOfCurve(x, y,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n x = current[5];\n y = current[6];\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n bounds = fabric.util.getBoundsOfCurve(x, y,\n current[1],\n current[2],\n current[1],\n current[2],\n current[3],\n current[4]\n );\n x = current[3];\n y = current[4];\n break;\n\n case 'z':\n case 'Z':\n x = subpathStartX;\n y = subpathStartY;\n break;\n }\n bounds.forEach(function (point) {\n aX.push(point.x);\n aY.push(point.y);\n });\n aX.push(x);\n aY.push(y);\n }\n\n var minX = min(aX) || 0,\n minY = min(aY) || 0,\n maxX = max(aX) || 0,\n maxY = max(aY) || 0,\n deltaX = maxX - minX,\n deltaY = maxY - minY;\n\n return {\n left: minX,\n top: minY,\n width: deltaX,\n height: deltaY\n };\n }\n });\n\n /**\n * Creates an instance of fabric.Path from an object\n * @static\n * @memberOf fabric.Path\n * @param {Object} object\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */\n fabric.Path.fromObject = function(object, callback) {\n if (typeof object.sourcePath === 'string') {\n var pathUrl = object.sourcePath;\n fabric.loadSVGFromURL(pathUrl, function (elements) {\n var path = elements[0];\n path.setOptions(object);\n callback && callback(path);\n });\n }\n else {\n fabric.Object._fromObject('Path', object, callback, 'path');\n }\n };\n\n \n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n min = fabric.util.array.min,\n max = fabric.util.array.max;\n\n if (fabric.Group) {\n return;\n }\n\n /**\n * Group class\n * @class fabric.Group\n * @extends fabric.Object\n * @mixes fabric.Collection\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.Group#initialize} for constructor definition\n */\n fabric.Group = fabric.util.createClass(fabric.Object, fabric.Collection, /** @lends fabric.Group.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'group',\n\n /**\n * Width of stroke\n * @type Number\n * @default\n */\n strokeWidth: 0,\n\n /**\n * Indicates if click, mouseover, mouseout events & hoverCursor should also check for subtargets\n * @type Boolean\n * @default\n */\n subTargetCheck: false,\n\n /**\n * Groups are container, do not render anything on theyr own, ence no cache properties\n * @type Array\n * @default\n */\n cacheProperties: [],\n\n /**\n * setOnGroup is a method used for TextBox that is no more used since 2.0.0 The behavior is still\n * available setting this boolean to true.\n * @type Boolean\n * @since 2.0.0\n * @default\n */\n useSetOnGroup: false,\n\n /**\n * Constructor\n * @param {Object} objects Group objects\n * @param {Object} [options] Options object\n * @param {Boolean} [isAlreadyGrouped] if true, objects have been grouped already.\n * @return {Object} thisArg\n */\n initialize: function(objects, options, isAlreadyGrouped) {\n options = options || {};\n this._objects = [];\n // if objects enclosed in a group have been grouped already,\n // we cannot change properties of objects.\n // Thus we need to set options to group without objects,\n isAlreadyGrouped && this.callSuper('initialize', options);\n this._objects = objects || [];\n for (var i = this._objects.length; i--; ) {\n this._objects[i].group = this;\n }\n\n if (!isAlreadyGrouped) {\n var center = options && options.centerPoint;\n // we want to set origins before calculating the bounding box.\n // so that the topleft can be set with that in mind.\n // if specific top and left are passed, are overwritten later\n // with the callSuper('initialize', options)\n if (options.originX !== undefined) {\n this.originX = options.originX;\n }\n if (options.originY !== undefined) {\n this.originY = options.originY;\n }\n // if coming from svg i do not want to calc bounds.\n // i assume width and height are passed along options\n center || this._calcBounds();\n this._updateObjectsCoords(center);\n delete options.centerPoint;\n this.callSuper('initialize', options);\n }\n else {\n this._updateObjectsACoords();\n }\n\n this.setCoords();\n },\n\n /**\n * @private\n */\n _updateObjectsACoords: function() {\n var skipControls = true;\n for (var i = this._objects.length; i--; ){\n this._objects[i].setCoords(skipControls);\n }\n },\n\n /**\n * @private\n * @param {Boolean} [skipCoordsChange] if true, coordinates of objects enclosed in a group do not change\n */\n _updateObjectsCoords: function(center) {\n var center = center || this.getCenterPoint();\n for (var i = this._objects.length; i--; ){\n this._updateObjectCoords(this._objects[i], center);\n }\n },\n\n /**\n * @private\n * @param {Object} object\n * @param {fabric.Point} center, current center of group.\n */\n _updateObjectCoords: function(object, center) {\n var objectLeft = object.left,\n objectTop = object.top,\n skipControls = true;\n\n object.set({\n left: objectLeft - center.x,\n top: objectTop - center.y\n });\n object.group = this;\n object.setCoords(skipControls);\n },\n\n /**\n * Returns string represenation of a group\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Adds an object to a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */\n addWithUpdate: function(object) {\n var nested = !!this.group;\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n if (object) {\n if (nested) {\n // if this group is inside another group, we need to pre transform the object\n fabric.util.removeTransformFromObject(object, this.group.calcTransformMatrix());\n }\n this._objects.push(object);\n object.group = this;\n object._set('canvas', this.canvas);\n }\n this._calcBounds();\n this._updateObjectsCoords();\n this.dirty = true;\n if (nested) {\n this.group.addWithUpdate();\n }\n else {\n this.setCoords();\n }\n return this;\n },\n\n /**\n * Removes an object from a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */\n removeWithUpdate: function(object) {\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n\n this.remove(object);\n this._calcBounds();\n this._updateObjectsCoords();\n this.setCoords();\n this.dirty = true;\n return this;\n },\n\n /**\n * @private\n */\n _onObjectAdded: function(object) {\n this.dirty = true;\n object.group = this;\n object._set('canvas', this.canvas);\n },\n\n /**\n * @private\n */\n _onObjectRemoved: function(object) {\n this.dirty = true;\n delete object.group;\n },\n\n /**\n * @private\n */\n _set: function(key, value) {\n var i = this._objects.length;\n if (this.useSetOnGroup) {\n while (i--) {\n this._objects[i].setOnGroup(key, value);\n }\n }\n if (key === 'canvas') {\n while (i--) {\n this._objects[i]._set(key, value);\n }\n }\n fabric.Object.prototype._set.call(this, key, value);\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var _includeDefaultValues = this.includeDefaultValues;\n var objsToObject = this._objects\n .filter(function (obj) {\n return !obj.excludeFromExport;\n })\n .map(function (obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n var obj = fabric.Object.prototype.toObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n\n /**\n * Returns object representation of an instance, in dataless mode.\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n var objsToObject, sourcePath = this.sourcePath;\n if (sourcePath) {\n objsToObject = sourcePath;\n }\n else {\n var _includeDefaultValues = this.includeDefaultValues;\n objsToObject = this._objects.map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toDatalessObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n }\n var obj = fabric.Object.prototype.toDatalessObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n\n /**\n * Renders instance on a given context\n * @param {CanvasRenderingContext2D} ctx context to render instance on\n */\n render: function(ctx) {\n this._transformDone = true;\n this.callSuper('render', ctx);\n this._transformDone = false;\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group is already cached.\n * @return {Boolean}\n */\n shouldCache: function() {\n var ownCache = fabric.Object.prototype.shouldCache.call(this);\n if (ownCache) {\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].willDrawShadow()) {\n this.ownCaching = false;\n return false;\n }\n }\n }\n return ownCache;\n },\n\n /**\n * Check if this object or a child object will cast a shadow\n * @return {Boolean}\n */\n willDrawShadow: function() {\n if (fabric.Object.prototype.willDrawShadow.call(this)) {\n return true;\n }\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].willDrawShadow()) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */\n isOnACache: function() {\n return this.ownCaching || (this.group && this.group.isOnACache());\n },\n\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawObject: function(ctx) {\n for (var i = 0, len = this._objects.length; i < len; i++) {\n this._objects[i].render(ctx);\n }\n this._drawClipPath(ctx, this.clipPath);\n },\n\n /**\n * Check if cache is dirty\n */\n isCacheDirty: function(skipCanvas) {\n if (this.callSuper('isCacheDirty', skipCanvas)) {\n return true;\n }\n if (!this.statefullCache) {\n return false;\n }\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].isCacheDirty(true)) {\n if (this._cacheCanvas) {\n // if this group has not a cache canvas there is nothing to clean\n var x = this.cacheWidth / this.zoomX, y = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-x / 2, -y / 2, x, y);\n }\n return true;\n }\n }\n return false;\n },\n\n /**\n * Restores original state of each of group objects (original state is that which was before group was created).\n * if the nested boolean is true, the original state will be restored just for the\n * first group and not for all the group chain\n * @private\n * @param {Boolean} nested tell the function to restore object state up to the parent group and not more\n * @return {fabric.Group} thisArg\n * @chainable\n */\n _restoreObjectsState: function() {\n var groupMatrix = this.calcOwnMatrix();\n this._objects.forEach(function(object) {\n // instead of using _this = this;\n fabric.util.addTransformToObject(object, groupMatrix);\n delete object.group;\n object.setCoords();\n });\n return this;\n },\n\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */\n destroy: function() {\n // when group is destroyed objects needs to get a repaint to be eventually\n // displayed on canvas.\n this._objects.forEach(function(object) {\n object.set('dirty', true);\n });\n return this._restoreObjectsState();\n },\n\n dispose: function () {\n this.callSuper('dispose');\n this.forEachObject(function (object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n },\n\n /**\n * make a group an active selection, remove the group from canvas\n * the group has to be on canvas for this to work.\n * @return {fabric.ActiveSelection} thisArg\n * @chainable\n */\n toActiveSelection: function() {\n if (!this.canvas) {\n return;\n }\n var objects = this._objects, canvas = this.canvas;\n this._objects = [];\n var options = this.toObject();\n delete options.objects;\n var activeSelection = new fabric.ActiveSelection([]);\n activeSelection.set(options);\n activeSelection.type = 'activeSelection';\n canvas.remove(this);\n objects.forEach(function(object) {\n object.group = activeSelection;\n object.dirty = true;\n canvas.add(object);\n });\n activeSelection.canvas = canvas;\n activeSelection._objects = objects;\n canvas._activeObject = activeSelection;\n activeSelection.setCoords();\n return activeSelection;\n },\n\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */\n ungroupOnCanvas: function() {\n return this._restoreObjectsState();\n },\n\n /**\n * Sets coordinates of all objects inside group\n * @return {fabric.Group} thisArg\n * @chainable\n */\n setObjectsCoords: function() {\n var skipControls = true;\n this.forEachObject(function(object) {\n object.setCoords(skipControls);\n });\n return this;\n },\n\n /**\n * @private\n */\n _calcBounds: function(onlyWidthHeight) {\n var aX = [],\n aY = [],\n o, prop, coords,\n props = ['tr', 'br', 'bl', 'tl'],\n i = 0, iLen = this._objects.length,\n j, jLen = props.length;\n\n for ( ; i < iLen; ++i) {\n o = this._objects[i];\n coords = o.calcACoords();\n for (j = 0; j < jLen; j++) {\n prop = props[j];\n aX.push(coords[prop].x);\n aY.push(coords[prop].y);\n }\n o.aCoords = coords;\n }\n\n this._getBounds(aX, aY, onlyWidthHeight);\n },\n\n /**\n * @private\n */\n _getBounds: function(aX, aY, onlyWidthHeight) {\n var minXY = new fabric.Point(min(aX), min(aY)),\n maxXY = new fabric.Point(max(aX), max(aY)),\n top = minXY.y || 0, left = minXY.x || 0,\n width = (maxXY.x - minXY.x) || 0,\n height = (maxXY.y - minXY.y) || 0;\n this.width = width;\n this.height = height;\n if (!onlyWidthHeight) {\n // the bounding box always finds the topleft most corner.\n // whatever is the group origin, we set up here the left/top position.\n this.setPositionByOrigin({ x: left, y: top }, 'left', 'top');\n }\n },\n\n \n });\n\n /**\n * Returns {@link fabric.Group} instance from an object representation\n * @static\n * @memberOf fabric.Group\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an group instance is created\n */\n fabric.Group.fromObject = function(object, callback) {\n var objects = object.objects,\n options = fabric.util.object.clone(object, true);\n delete options.objects;\n if (typeof objects === 'string') {\n // it has to be an url or something went wrong.\n fabric.loadSVGFromURL(objects, function (elements) {\n var group = fabric.util.groupSVGElements(elements, object, objects);\n group.set(options);\n callback && callback(group);\n });\n return;\n }\n fabric.util.enlivenObjects(objects, function (enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function () {\n callback && callback(new fabric.Group(enlivenedObjects, options, true));\n });\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.ActiveSelection) {\n return;\n }\n\n /**\n * Group class\n * @class fabric.ActiveSelection\n * @extends fabric.Group\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.ActiveSelection#initialize} for constructor definition\n */\n fabric.ActiveSelection = fabric.util.createClass(fabric.Group, /** @lends fabric.ActiveSelection.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'activeSelection',\n\n /**\n * Constructor\n * @param {Object} objects ActiveSelection objects\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(objects, options) {\n options = options || {};\n this._objects = objects || [];\n for (var i = this._objects.length; i--; ) {\n this._objects[i].group = this;\n }\n\n if (options.originX) {\n this.originX = options.originX;\n }\n if (options.originY) {\n this.originY = options.originY;\n }\n this._calcBounds();\n this._updateObjectsCoords();\n fabric.Object.prototype.initialize.call(this, options);\n this.setCoords();\n },\n\n /**\n * Change te activeSelection to a normal group,\n * High level function that automatically adds it to canvas as\n * active object. no events fired.\n * @since 2.0.0\n * @return {fabric.Group}\n */\n toGroup: function() {\n var objects = this._objects.concat();\n this._objects = [];\n var options = fabric.Object.prototype.toObject.call(this);\n var newGroup = new fabric.Group([]);\n delete options.type;\n newGroup.set(options);\n objects.forEach(function(object) {\n object.canvas.remove(object);\n object.group = newGroup;\n });\n newGroup._objects = objects;\n if (!this.canvas) {\n return newGroup;\n }\n var canvas = this.canvas;\n canvas.add(newGroup);\n canvas._activeObject = newGroup;\n newGroup.setCoords();\n return newGroup;\n },\n\n /**\n * If returns true, deselection is cancelled.\n * @since 2.0.0\n * @return {Boolean} [cancel]\n */\n onDeselect: function() {\n this.destroy();\n return false;\n },\n\n /**\n * Returns string representation of a group\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * @return {Boolean}\n */\n shouldCache: function() {\n return false;\n },\n\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */\n isOnACache: function() {\n return false;\n },\n\n /**\n * Renders controls and borders for the object\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n * @param {Object} [childrenOverride] properties to override the children overrides\n */\n _renderControls: function(ctx, styleOverride, childrenOverride) {\n ctx.save();\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n this.callSuper('_renderControls', ctx, styleOverride);\n childrenOverride = childrenOverride || { };\n if (typeof childrenOverride.hasControls === 'undefined') {\n childrenOverride.hasControls = false;\n }\n childrenOverride.forActiveSelection = true;\n for (var i = 0, len = this._objects.length; i < len; i++) {\n this._objects[i]._renderControls(ctx, childrenOverride);\n }\n ctx.restore();\n },\n });\n\n /**\n * Returns {@link fabric.ActiveSelection} instance from an object representation\n * @static\n * @memberOf fabric.ActiveSelection\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an ActiveSelection instance is created\n */\n fabric.ActiveSelection.fromObject = function(object, callback) {\n fabric.util.enlivenObjects(object.objects, function(enlivenedObjects) {\n delete object.objects;\n callback && callback(new fabric.ActiveSelection(enlivenedObjects, object, true));\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var extend = fabric.util.object.extend;\n\n if (!global.fabric) {\n global.fabric = { };\n }\n\n if (global.fabric.Image) {\n fabric.warn('fabric.Image is already defined.');\n return;\n }\n\n /**\n * Image class\n * @class fabric.Image\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#images}\n * @see {@link fabric.Image#initialize} for constructor definition\n */\n fabric.Image = fabric.util.createClass(fabric.Object, /** @lends fabric.Image.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'image',\n\n /**\n * Width of a stroke.\n * For image quality a stroke multiple of 2 gives better results.\n * @type Number\n * @default\n */\n strokeWidth: 0,\n\n /**\n * When calling {@link fabric.Image.getSrc}, return value from element src with `element.getAttribute('src')`.\n * This allows for relative urls as image src.\n * @since 2.7.0\n * @type Boolean\n * @default\n */\n srcFromAttribute: false,\n\n /**\n * private\n * contains last value of scaleX to detect\n * if the Image got resized after the last Render\n * @type Number\n */\n _lastScaleX: 1,\n\n /**\n * private\n * contains last value of scaleY to detect\n * if the Image got resized after the last Render\n * @type Number\n */\n _lastScaleY: 1,\n\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */\n _filterScalingX: 1,\n\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */\n _filterScalingY: 1,\n\n /**\n * minimum scale factor under which any resizeFilter is triggered to resize the image\n * 0 will disable the automatic resize. 1 will trigger automatically always.\n * number bigger than 1 are not implemented yet.\n * @type Number\n */\n minimumScaleTrigger: 0.5,\n\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat('cropX', 'cropY'),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('cropX', 'cropY'),\n\n /**\n * key used to retrieve the texture representing this image\n * @since 2.0.0\n * @type String\n * @default\n */\n cacheKey: '',\n\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */\n cropX: 0,\n\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */\n cropY: 0,\n\n /**\n * Indicates whether this canvas will use image smoothing when painting this image.\n * Also influence if the cacheCanvas for this image uses imageSmoothing\n * @since 4.0.0-beta.11\n * @type Boolean\n * @default\n */\n imageSmoothing: true,\n\n /**\n * Constructor\n * Image can be initialized with any canvas drawable or a string.\n * The string should be a url and will be loaded as an image.\n * Canvas and Image element work out of the box, while videos require extra code to work.\n * Please check video element events for seeking.\n * @param {HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | String} element Image element\n * @param {Object} [options] Options object\n * @param {function} [callback] callback function to call after eventual filters applied.\n * @return {fabric.Image} thisArg\n */\n initialize: function(element, options) {\n options || (options = { });\n this.filters = [];\n this.cacheKey = 'texture' + fabric.Object.__uid++;\n this.callSuper('initialize', options);\n this._initElement(element, options);\n },\n\n /**\n * Returns image element which this instance if based on\n * @return {HTMLImageElement} Image element\n */\n getElement: function() {\n return this._element || {};\n },\n\n /**\n * Sets image element for this instance to a specified one.\n * If filters defined they are applied to new image.\n * You might need to call `canvas.renderAll` and `object.setCoords` after replacing, to render new image and update controls area.\n * @param {HTMLImageElement} element\n * @param {Object} [options] Options object\n * @return {fabric.Image} thisArg\n * @chainable\n */\n setElement: function(element, options) {\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + '_filtered');\n this._element = element;\n this._originalElement = element;\n this._initConfig(options);\n if (this.filters.length !== 0) {\n this.applyFilters();\n }\n // resizeFilters work on the already filtered copy.\n // we need to apply resizeFilters AFTER normal filters.\n // applyResizeFilters is run more often than normal filters\n // and is triggered by user interactions rather than dev code\n if (this.resizeFilter) {\n this.applyResizeFilters();\n }\n return this;\n },\n\n /**\n * Delete a single texture if in webgl mode\n */\n removeTexture: function(key) {\n var backend = fabric.filterBackend;\n if (backend && backend.evictCachesForKey) {\n backend.evictCachesForKey(key);\n }\n },\n\n /**\n * Delete textures, reference to elements and eventually JSDOM cleanup\n */\n dispose: function () {\n this.callSuper('dispose');\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + '_filtered');\n this._cacheContext = undefined;\n ['_originalElement', '_element', '_filteredEl', '_cacheCanvas'].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n },\n\n /**\n * Get the crossOrigin value (of the corresponding image element)\n */\n getCrossOrigin: function() {\n return this._originalElement && (this._originalElement.crossOrigin || null);\n },\n\n /**\n * Returns original size of an image\n * @return {Object} Object with \"width\" and \"height\" properties\n */\n getOriginalSize: function() {\n var element = this.getElement();\n return {\n width: element.naturalWidth || element.width,\n height: element.naturalHeight || element.height\n };\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _stroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n var w = this.width / 2, h = this.height / 2;\n ctx.beginPath();\n ctx.moveTo(-w, -h);\n ctx.lineTo(w, -h);\n ctx.lineTo(w, h);\n ctx.lineTo(-w, h);\n ctx.lineTo(-w, -h);\n ctx.closePath();\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var filters = [];\n\n this.filters.forEach(function(filterObj) {\n if (filterObj) {\n filters.push(filterObj.toObject());\n }\n });\n var object = extend(\n this.callSuper(\n 'toObject',\n ['cropX', 'cropY'].concat(propertiesToInclude)\n ), {\n src: this.getSrc(),\n crossOrigin: this.getCrossOrigin(),\n filters: filters,\n });\n if (this.resizeFilter) {\n object.resizeFilter = this.resizeFilter.toObject();\n }\n return object;\n },\n\n /**\n * Returns true if an image has crop applied, inspecting values of cropX,cropY,width,height.\n * @return {Boolean}\n */\n hasCrop: function() {\n return this.cropX || this.cropY || this.width < this._element.width || this.height < this._element.height;\n },\n\n \n\n /**\n * Returns source of an image\n * @param {Boolean} filtered indicates if the src is needed for svg\n * @return {String} Source of an image\n */\n getSrc: function(filtered) {\n var element = filtered ? this._element : this._originalElement;\n if (element) {\n if (element.toDataURL) {\n return element.toDataURL();\n }\n\n if (this.srcFromAttribute) {\n return element.getAttribute('src');\n }\n else {\n return element.src;\n }\n }\n else {\n return this.src || '';\n }\n },\n\n /**\n * Sets source of an image\n * @param {String} src Source string (URL)\n * @param {Function} [callback] Callback is invoked when image has been loaded (and all filters have been applied)\n * @param {Object} [options] Options object\n * @param {String} [options.crossOrigin] crossOrigin value (one of \"\", \"anonymous\", \"use-credentials\")\n * @see https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes\n * @return {fabric.Image} thisArg\n * @chainable\n */\n setSrc: function(src, callback, options) {\n fabric.util.loadImage(src, function(img, isError) {\n this.setElement(img, options);\n this._setWidthHeight();\n callback && callback(this, isError);\n }, this, options && options.crossOrigin);\n return this;\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} String representation of an instance\n */\n toString: function() {\n return '#';\n },\n\n applyResizeFilters: function() {\n var filter = this.resizeFilter,\n minimumScale = this.minimumScaleTrigger,\n objectScale = this.getTotalObjectScaling(),\n scaleX = objectScale.scaleX,\n scaleY = objectScale.scaleY,\n elementToFilter = this._filteredEl || this._originalElement;\n if (this.group) {\n this.set('dirty', true);\n }\n if (!filter || (scaleX > minimumScale && scaleY > minimumScale)) {\n this._element = elementToFilter;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n this._lastScaleX = scaleX;\n this._lastScaleY = scaleY;\n return;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n var canvasEl = fabric.util.createCanvasElement(),\n cacheKey = this._filteredEl ? (this.cacheKey + '_filtered') : this.cacheKey,\n sourceWidth = elementToFilter.width, sourceHeight = elementToFilter.height;\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._lastScaleX = filter.scaleX = scaleX;\n this._lastScaleY = filter.scaleY = scaleY;\n fabric.filterBackend.applyFilters(\n [filter], elementToFilter, sourceWidth, sourceHeight, this._element, cacheKey);\n this._filterScalingX = canvasEl.width / this._originalElement.width;\n this._filterScalingY = canvasEl.height / this._originalElement.height;\n },\n\n /**\n * Applies filters assigned to this image (from \"filters\" array) or from filter param\n * @method applyFilters\n * @param {Array} filters to be applied\n * @param {Boolean} forResizing specify if the filter operation is a resize operation\n * @return {thisArg} return the fabric.Image object\n * @chainable\n */\n applyFilters: function(filters) {\n\n filters = filters || this.filters || [];\n filters = filters.filter(function(filter) { return filter && !filter.isNeutralState(); });\n this.set('dirty', true);\n\n // needs to clear out or WEBGL will not resize correctly\n this.removeTexture(this.cacheKey + '_filtered');\n\n if (filters.length === 0) {\n this._element = this._originalElement;\n this._filteredEl = null;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n return this;\n }\n\n var imgElement = this._originalElement,\n sourceWidth = imgElement.naturalWidth || imgElement.width,\n sourceHeight = imgElement.naturalHeight || imgElement.height;\n\n if (this._element === this._originalElement) {\n // if the element is the same we need to create a new element\n var canvasEl = fabric.util.createCanvasElement();\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._filteredEl = canvasEl;\n }\n else {\n // clear the existing element to get new filter data\n // also dereference the eventual resized _element\n this._element = this._filteredEl;\n this._filteredEl.getContext('2d').clearRect(0, 0, sourceWidth, sourceHeight);\n // we also need to resize again at next renderAll, so remove saved _lastScaleX/Y\n this._lastScaleX = 1;\n this._lastScaleY = 1;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n fabric.filterBackend.applyFilters(\n filters, this._originalElement, sourceWidth, sourceHeight, this._element, this.cacheKey);\n if (this._originalElement.width !== this._element.width ||\n this._originalElement.height !== this._element.height) {\n this._filterScalingX = this._element.width / this._originalElement.width;\n this._filterScalingY = this._element.height / this._originalElement.height;\n }\n return this;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n if (this.isMoving !== true && this.resizeFilter && this._needsResize()) {\n this.applyResizeFilters();\n }\n this._stroke(ctx);\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Paint the cached copy of the object on the target context.\n * it will set the imageSmoothing for the draw operation\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawCacheOnCanvas: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n fabric.Object.prototype.drawCacheOnCanvas.call(this, ctx);\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * This is the special image version where we would like to avoid caching where possible.\n * Essentially images do not benefit from caching. They may require caching, and in that\n * case we do it. Also caching an image usually ends in a loss of details.\n * A full performance audit should be done.\n * @return {Boolean}\n */\n shouldCache: function() {\n return this.needsItsOwnCache();\n },\n\n _renderFill: function(ctx) {\n var elementToDraw = this._element;\n if (!elementToDraw) {\n return;\n }\n var scaleX = this._filterScalingX, scaleY = this._filterScalingY,\n w = this.width, h = this.height, min = Math.min, max = Math.max,\n // crop values cannot be lesser than 0.\n cropX = max(this.cropX, 0), cropY = max(this.cropY, 0),\n elWidth = elementToDraw.naturalWidth || elementToDraw.width,\n elHeight = elementToDraw.naturalHeight || elementToDraw.height,\n sX = cropX * scaleX,\n sY = cropY * scaleY,\n // the width height cannot exceed element width/height, starting from the crop offset.\n sW = min(w * scaleX, elWidth - sX),\n sH = min(h * scaleY, elHeight - sY),\n x = -w / 2, y = -h / 2,\n maxDestW = min(w, elWidth / scaleX - cropX),\n maxDestH = min(h, elHeight / scaleY - cropY);\n\n elementToDraw && ctx.drawImage(elementToDraw, sX, sY, sW, sH, x, y, maxDestW, maxDestH);\n },\n\n /**\n * needed to check if image needs resize\n * @private\n */\n _needsResize: function() {\n var scale = this.getTotalObjectScaling();\n return (scale.scaleX !== this._lastScaleX || scale.scaleY !== this._lastScaleY);\n },\n\n /**\n * @private\n */\n _resetWidthHeight: function() {\n this.set(this.getOriginalSize());\n },\n\n /**\n * The Image class's initialization method. This method is automatically\n * called by the constructor.\n * @private\n * @param {HTMLImageElement|String} element The element representing the image\n * @param {Object} [options] Options object\n */\n _initElement: function(element, options) {\n this.setElement(fabric.util.getById(element), options);\n fabric.util.addClass(this.getElement(), fabric.Image.CSS_CANVAS);\n },\n\n /**\n * @private\n * @param {Object} [options] Options object\n */\n _initConfig: function(options) {\n options || (options = { });\n this.setOptions(options);\n this._setWidthHeight(options);\n },\n\n /**\n * @private\n * @param {Array} filters to be initialized\n * @param {Function} callback Callback to invoke when all fabric.Image.filters instances are created\n */\n _initFilters: function(filters, callback) {\n if (filters && filters.length) {\n fabric.util.enlivenObjects(filters, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, 'fabric.Image.filters');\n }\n else {\n callback && callback();\n }\n },\n\n /**\n * @private\n * Set the width and the height of the image object, using the element or the\n * options.\n * @param {Object} [options] Object with width/height properties\n */\n _setWidthHeight: function(options) {\n options || (options = { });\n var el = this.getElement();\n this.width = options.width || el.naturalWidth || el.width || 0;\n this.height = options.height || el.naturalHeight || el.height || 0;\n },\n\n /**\n * Calculate offset for center and scale factor for the image in order to respect\n * the preserveAspectRatio attribute\n * @private\n * @return {Object}\n */\n parsePreserveAspectRatioAttribute: function() {\n var pAR = fabric.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio || ''),\n rWidth = this._element.width, rHeight = this._element.height,\n scaleX = 1, scaleY = 1, offsetLeft = 0, offsetTop = 0, cropX = 0, cropY = 0,\n offset, pWidth = this.width, pHeight = this.height, parsedAttributes = { width: pWidth, height: pHeight };\n if (pAR && (pAR.alignX !== 'none' || pAR.alignY !== 'none')) {\n if (pAR.meetOrSlice === 'meet') {\n scaleX = scaleY = fabric.util.findScaleToFit(this._element, parsedAttributes);\n offset = (pWidth - rWidth * scaleX) / 2;\n if (pAR.alignX === 'Min') {\n offsetLeft = -offset;\n }\n if (pAR.alignX === 'Max') {\n offsetLeft = offset;\n }\n offset = (pHeight - rHeight * scaleY) / 2;\n if (pAR.alignY === 'Min') {\n offsetTop = -offset;\n }\n if (pAR.alignY === 'Max') {\n offsetTop = offset;\n }\n }\n if (pAR.meetOrSlice === 'slice') {\n scaleX = scaleY = fabric.util.findScaleToCover(this._element, parsedAttributes);\n offset = rWidth - pWidth / scaleX;\n if (pAR.alignX === 'Mid') {\n cropX = offset / 2;\n }\n if (pAR.alignX === 'Max') {\n cropX = offset;\n }\n offset = rHeight - pHeight / scaleY;\n if (pAR.alignY === 'Mid') {\n cropY = offset / 2;\n }\n if (pAR.alignY === 'Max') {\n cropY = offset;\n }\n rWidth = pWidth / scaleX;\n rHeight = pHeight / scaleY;\n }\n }\n else {\n scaleX = pWidth / rWidth;\n scaleY = pHeight / rHeight;\n }\n return {\n width: rWidth,\n height: rHeight,\n scaleX: scaleX,\n scaleY: scaleY,\n offsetLeft: offsetLeft,\n offsetTop: offsetTop,\n cropX: cropX,\n cropY: cropY\n };\n }\n });\n\n /**\n * Default CSS class name for canvas\n * @static\n * @type String\n * @default\n */\n fabric.Image.CSS_CANVAS = 'canvas-img';\n\n /**\n * Alias for getSrc\n * @static\n */\n fabric.Image.prototype.getSvgSrc = fabric.Image.prototype.getSrc;\n\n /**\n * Creates an instance of fabric.Image from its object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} callback Callback to invoke when an image instance is created\n */\n fabric.Image.fromObject = function(_object, callback) {\n var object = fabric.util.object.clone(_object);\n fabric.util.loadImage(object.src, function(img, isError) {\n if (isError) {\n callback && callback(null, true);\n return;\n }\n fabric.Image.prototype._initFilters.call(object, object.filters, function(filters) {\n object.filters = filters || [];\n fabric.Image.prototype._initFilters.call(object, [object.resizeFilter], function(resizeFilters) {\n object.resizeFilter = resizeFilters[0];\n fabric.util.enlivenObjectEnlivables(object, object, function () {\n var image = new fabric.Image(img, object);\n callback(image, false);\n });\n });\n });\n }, null, object.crossOrigin);\n };\n\n /**\n * Creates an instance of fabric.Image from an URL string\n * @static\n * @param {String} url URL to create an image from\n * @param {Function} [callback] Callback to invoke when image is created (newly created image is passed as a first argument). Second argument is a boolean indicating if an error occurred or not.\n * @param {Object} [imgOptions] Options object\n */\n fabric.Image.fromURL = function(url, callback, imgOptions) {\n fabric.util.loadImage(url, function(img, isError) {\n callback && callback(new fabric.Image(img, imgOptions), isError);\n }, null, imgOptions && imgOptions.crossOrigin);\n };\n\n \n\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n\n 'use strict';\n\n /**\n * Tests if webgl supports certain precision\n * @param {WebGL} Canvas WebGL context to test on\n * @param {String} Precision to test can be any of following: 'lowp', 'mediump', 'highp'\n * @returns {Boolean} Whether the user's browser WebGL supports given precision.\n */\n function testPrecision(gl, precision){\n var fragmentSource = 'precision ' + precision + ' float;\\nvoid main(){}';\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n return false;\n }\n return true;\n }\n\n /**\n * Indicate whether this filtering backend is supported by the user's browser.\n * @param {Number} tileSize check if the tileSize is supported\n * @returns {Boolean} Whether the user's browser supports WebGL.\n */\n fabric.isWebglSupported = function(tileSize) {\n if (fabric.isLikelyNode) {\n return false;\n }\n tileSize = tileSize || fabric.WebglFilterBackend.prototype.tileSize;\n var canvas = document.createElement('canvas');\n var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');\n var isSupported = false;\n // eslint-disable-next-line\n if (gl) {\n fabric.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);\n isSupported = fabric.maxTextureSize >= tileSize;\n var precisions = ['highp', 'mediump', 'lowp'];\n for (var i = 0; i < 3; i++){\n if (testPrecision(gl, precisions[i])){\n fabric.webGlPrecision = precisions[i];\n break;\n };\n }\n }\n this.isSupported = isSupported;\n return isSupported;\n };\n\n fabric.WebglFilterBackend = WebglFilterBackend;\n\n /**\n * WebGL filter backend.\n */\n function WebglFilterBackend(options) {\n if (options && options.tileSize) {\n this.tileSize = options.tileSize;\n }\n this.setupGLContext(this.tileSize, this.tileSize);\n this.captureGPUInfo();\n };\n\n WebglFilterBackend.prototype = /** @lends fabric.WebglFilterBackend.prototype */ {\n\n tileSize: 2048,\n\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/\n resources: {\n\n },\n\n /**\n * Setup a WebGL context suitable for filtering, and bind any needed event handlers.\n */\n setupGLContext: function(width, height) {\n this.dispose();\n this.createWebGLCanvas(width, height);\n // eslint-disable-next-line\n this.aPosition = new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]);\n this.chooseFastestCopyGLTo2DMethod(width, height);\n },\n\n /**\n * Pick a method to copy data from GL context to 2d canvas. In some browsers using\n * putImageData is faster than drawImage for that specific operation.\n */\n chooseFastestCopyGLTo2DMethod: function(width, height) {\n var canMeasurePerf = typeof window.performance !== 'undefined', canUseImageData;\n try {\n new ImageData(1, 1);\n canUseImageData = true;\n }\n catch (e) {\n canUseImageData = false;\n }\n // eslint-disable-next-line no-undef\n var canUseArrayBuffer = typeof ArrayBuffer !== 'undefined';\n // eslint-disable-next-line no-undef\n var canUseUint8Clamped = typeof Uint8ClampedArray !== 'undefined';\n\n if (!(canMeasurePerf && canUseImageData && canUseArrayBuffer && canUseUint8Clamped)) {\n return;\n }\n\n var targetCanvas = fabric.util.createCanvasElement();\n // eslint-disable-next-line no-undef\n var imageBuffer = new ArrayBuffer(width * height * 4);\n if (fabric.forceGLPutImageData) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n return;\n }\n var testContext = {\n imageBuffer: imageBuffer,\n destinationWidth: width,\n destinationHeight: height,\n targetCanvas: targetCanvas\n };\n var startTime, drawImageTime, putImageDataTime;\n targetCanvas.width = width;\n targetCanvas.height = height;\n\n startTime = window.performance.now();\n copyGLTo2DDrawImage.call(testContext, this.gl, testContext);\n drawImageTime = window.performance.now() - startTime;\n\n startTime = window.performance.now();\n copyGLTo2DPutImageData.call(testContext, this.gl, testContext);\n putImageDataTime = window.performance.now() - startTime;\n\n if (drawImageTime > putImageDataTime) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n }\n else {\n this.copyGLTo2D = copyGLTo2DDrawImage;\n }\n },\n\n /**\n * Create a canvas element and associated WebGL context and attaches them as\n * class properties to the GLFilterBackend class.\n */\n createWebGLCanvas: function(width, height) {\n var canvas = fabric.util.createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n var glOptions = {\n alpha: true,\n premultipliedAlpha: false,\n depth: false,\n stencil: false,\n antialias: false\n },\n gl = canvas.getContext('webgl', glOptions);\n if (!gl) {\n gl = canvas.getContext('experimental-webgl', glOptions);\n }\n if (!gl) {\n return;\n }\n gl.clearColor(0, 0, 0, 0);\n // this canvas can fire webglcontextlost and webglcontextrestored\n this.canvas = canvas;\n this.gl = gl;\n },\n\n /**\n * Attempts to apply the requested filters to the source provided, drawing the filtered output\n * to the provided target canvas.\n *\n * @param {Array} filters The filters to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} source The source to be filtered.\n * @param {Number} width The width of the source input.\n * @param {Number} height The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n * @param {String|undefined} cacheKey A key used to cache resources related to the source. If\n * omitted, caching will be skipped.\n */\n applyFilters: function(filters, source, width, height, targetCanvas, cacheKey) {\n var gl = this.gl;\n var cachedTexture;\n if (cacheKey) {\n cachedTexture = this.getCachedTexture(cacheKey, source);\n }\n var pipelineState = {\n originalWidth: source.width || source.originalWidth,\n originalHeight: source.height || source.originalHeight,\n sourceWidth: width,\n sourceHeight: height,\n destinationWidth: width,\n destinationHeight: height,\n context: gl,\n sourceTexture: this.createTexture(gl, width, height, !cachedTexture && source),\n targetTexture: this.createTexture(gl, width, height),\n originalTexture: cachedTexture ||\n this.createTexture(gl, width, height, !cachedTexture && source),\n passes: filters.length,\n webgl: true,\n aPosition: this.aPosition,\n programCache: this.programCache,\n pass: 0,\n filterBackend: this,\n targetCanvas: targetCanvas\n };\n var tempFbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, tempFbo);\n filters.forEach(function(filter) { filter && filter.applyTo(pipelineState); });\n resizeCanvasIfNeeded(pipelineState);\n this.copyGLTo2D(gl, pipelineState);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.deleteTexture(pipelineState.sourceTexture);\n gl.deleteTexture(pipelineState.targetTexture);\n gl.deleteFramebuffer(tempFbo);\n targetCanvas.getContext('2d').setTransform(1, 0, 0, 1, 0, 0);\n return pipelineState;\n },\n\n /**\n * Detach event listeners, remove references, and clean up caches.\n */\n dispose: function() {\n if (this.canvas) {\n this.canvas = null;\n this.gl = null;\n }\n this.clearWebGLCaches();\n },\n\n /**\n * Wipe out WebGL-related caches.\n */\n clearWebGLCaches: function() {\n this.programCache = {};\n this.textureCache = {};\n },\n\n /**\n * Create a WebGL texture object.\n *\n * Accepts specific dimensions to initialize the texture to or a source image.\n *\n * @param {WebGLRenderingContext} gl The GL context to use for creating the texture.\n * @param {Number} width The width to initialize the texture at.\n * @param {Number} height The height to initialize the texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source for the texture data.\n * @returns {WebGLTexture}\n */\n createTexture: function(gl, width, height, textureImageSource) {\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n if (textureImageSource) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, textureImageSource);\n }\n else {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n }\n return texture;\n },\n\n /**\n * Can be optionally used to get a texture from the cache array\n *\n * If an existing texture is not found, a new texture is created and cached.\n *\n * @param {String} uniqueId A cache key to use to find an existing texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source to use to create the\n * texture cache entry if one does not already exist.\n */\n getCachedTexture: function(uniqueId, textureImageSource) {\n if (this.textureCache[uniqueId]) {\n return this.textureCache[uniqueId];\n }\n else {\n var texture = this.createTexture(\n this.gl, textureImageSource.width, textureImageSource.height, textureImageSource);\n this.textureCache[uniqueId] = texture;\n return texture;\n }\n },\n\n /**\n * Clear out cached resources related to a source image that has been\n * filtered previously.\n *\n * @param {String} cacheKey The cache key provided when the source image was filtered.\n */\n evictCachesForKey: function(cacheKey) {\n if (this.textureCache[cacheKey]) {\n this.gl.deleteTexture(this.textureCache[cacheKey]);\n delete this.textureCache[cacheKey];\n }\n },\n\n copyGLTo2D: copyGLTo2DDrawImage,\n\n /**\n * Attempt to extract GPU information strings from a WebGL context.\n *\n * Useful information when debugging or blacklisting specific GPUs.\n *\n * @returns {Object} A GPU info object with renderer and vendor strings.\n */\n captureGPUInfo: function() {\n if (this.gpuInfo) {\n return this.gpuInfo;\n }\n var gl = this.gl, gpuInfo = { renderer: '', vendor: '' };\n if (!gl) {\n return gpuInfo;\n }\n var ext = gl.getExtension('WEBGL_debug_renderer_info');\n if (ext) {\n var renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);\n var vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);\n if (renderer) {\n gpuInfo.renderer = renderer.toLowerCase();\n }\n if (vendor) {\n gpuInfo.vendor = vendor.toLowerCase();\n }\n }\n this.gpuInfo = gpuInfo;\n return gpuInfo;\n },\n };\n})();\n\nfunction resizeCanvasIfNeeded(pipelineState) {\n var targetCanvas = pipelineState.targetCanvas,\n width = targetCanvas.width, height = targetCanvas.height,\n dWidth = pipelineState.destinationWidth,\n dHeight = pipelineState.destinationHeight;\n\n if (width !== dWidth || height !== dHeight) {\n targetCanvas.width = dWidth;\n targetCanvas.height = dHeight;\n }\n}\n\n/**\n * Copy an input WebGL canvas on to an output 2D canvas.\n *\n * The WebGL canvas is assumed to be upside down, with the top-left pixel of the\n * desired output image appearing in the bottom-left corner of the WebGL canvas.\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */\nfunction copyGLTo2DDrawImage(gl, pipelineState) {\n var glCanvas = gl.canvas, targetCanvas = pipelineState.targetCanvas,\n ctx = targetCanvas.getContext('2d');\n ctx.translate(0, targetCanvas.height); // move it down again\n ctx.scale(1, -1); // vertical flip\n // where is my image on the big glcanvas?\n var sourceY = glCanvas.height - targetCanvas.height;\n ctx.drawImage(glCanvas, 0, sourceY, targetCanvas.width, targetCanvas.height, 0, 0,\n targetCanvas.width, targetCanvas.height);\n}\n\n/**\n * Copy an input WebGL canvas on to an output 2D canvas using 2d canvas' putImageData\n * API. Measurably faster than using ctx.drawImage in Firefox (version 54 on OSX Sierra).\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */\nfunction copyGLTo2DPutImageData(gl, pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext('2d'),\n dWidth = pipelineState.destinationWidth,\n dHeight = pipelineState.destinationHeight,\n numBytes = dWidth * dHeight * 4;\n\n // eslint-disable-next-line no-undef\n var u8 = new Uint8Array(this.imageBuffer, 0, numBytes);\n // eslint-disable-next-line no-undef\n var u8Clamped = new Uint8ClampedArray(this.imageBuffer, 0, numBytes);\n\n gl.readPixels(0, 0, dWidth, dHeight, gl.RGBA, gl.UNSIGNED_BYTE, u8);\n var imgData = new ImageData(u8Clamped, dWidth, dHeight);\n ctx.putImageData(imgData, 0, 0);\n}\n(function() {\n\n 'use strict';\n\n var noop = function() {};\n\n fabric.Canvas2dFilterBackend = Canvas2dFilterBackend;\n\n /**\n * Canvas 2D filter backend.\n */\n function Canvas2dFilterBackend() {};\n\n Canvas2dFilterBackend.prototype = /** @lends fabric.Canvas2dFilterBackend.prototype */ {\n evictCachesForKey: noop,\n dispose: noop,\n clearWebGLCaches: noop,\n\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/\n resources: {\n\n },\n\n /**\n * Apply a set of filters against a source image and draw the filtered output\n * to the provided destination canvas.\n *\n * @param {EnhancedFilter} filters The filter to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} sourceElement The source to be filtered.\n * @param {Number} sourceWidth The width of the source input.\n * @param {Number} sourceHeight The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n */\n applyFilters: function(filters, sourceElement, sourceWidth, sourceHeight, targetCanvas) {\n var ctx = targetCanvas.getContext('2d');\n ctx.drawImage(sourceElement, 0, 0, sourceWidth, sourceHeight);\n var imageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var originalImageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var pipelineState = {\n sourceWidth: sourceWidth,\n sourceHeight: sourceHeight,\n imageData: imageData,\n originalEl: sourceElement,\n originalImageData: originalImageData,\n canvasEl: targetCanvas,\n ctx: ctx,\n filterBackend: this,\n };\n filters.forEach(function(filter) { filter.applyTo(pipelineState); });\n if (pipelineState.imageData.width !== sourceWidth || pipelineState.imageData.height !== sourceHeight) {\n targetCanvas.width = pipelineState.imageData.width;\n targetCanvas.height = pipelineState.imageData.height;\n }\n ctx.putImageData(pipelineState.imageData, 0, 0);\n return pipelineState;\n },\n\n };\n})();\n/**\n * @namespace fabric.Image.filters\n * @memberOf fabric.Image\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#image_filters}\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n */\nfabric.Image = fabric.Image || { };\nfabric.Image.filters = fabric.Image.filters || { };\n\n/**\n * Root filter class from which all filter classes inherit from\n * @class fabric.Image.filters.BaseFilter\n * @memberOf fabric.Image.filters\n */\nfabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Image.filters.BaseFilter.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'BaseFilter',\n\n /**\n * Array of attributes to send with buffers. do not modify\n * @private\n */\n\n vertexSource: 'attribute vec2 aPosition;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vTexCoord = aPosition;\\n' +\n 'gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n' +\n '}',\n\n fragmentSource: 'precision highp float;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'void main() {\\n' +\n 'gl_FragColor = texture2D(uTexture, vTexCoord);\\n' +\n '}',\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n\n /**\n * Sets filter's properties from options\n * @param {Object} [options] Options object\n */\n setOptions: function(options) {\n for (var prop in options) {\n this[prop] = options[prop];\n }\n },\n\n /**\n * Compile this filter's shader program.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context to use for shader compilation.\n * @param {String} fragmentSource fragmentShader source for compilation\n * @param {String} vertexSource vertexShader source for compilation\n */\n createProgram: function(gl, fragmentSource, vertexSource) {\n fragmentSource = fragmentSource || this.fragmentSource;\n vertexSource = vertexSource || this.vertexSource;\n if (fabric.webGlPrecision !== 'highp'){\n fragmentSource = fragmentSource.replace(\n /precision highp float/g,\n 'precision ' + fabric.webGlPrecision + ' float'\n );\n }\n var vertexShader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(vertexShader, vertexSource);\n gl.compileShader(vertexShader);\n if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Vertex shader compile error for ' + this.type + ': ' +\n gl.getShaderInfoLog(vertexShader)\n );\n }\n\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Fragment shader compile error for ' + this.type + ': ' +\n gl.getShaderInfoLog(fragmentShader)\n );\n }\n\n var program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Shader link error for \"${this.type}\" ' +\n gl.getProgramInfoLog(program)\n );\n }\n\n var attributeLocations = this.getAttributeLocations(gl, program);\n var uniformLocations = this.getUniformLocations(gl, program) || { };\n uniformLocations.uStepW = gl.getUniformLocation(program, 'uStepW');\n uniformLocations.uStepH = gl.getUniformLocation(program, 'uStepH');\n return {\n program: program,\n attributeLocations: attributeLocations,\n uniformLocations: uniformLocations\n };\n },\n\n /**\n * Return a map of attribute names to WebGLAttributeLocation objects.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take attribute locations.\n * @returns {Object} A map of attribute names to attribute locations.\n */\n getAttributeLocations: function(gl, program) {\n return {\n aPosition: gl.getAttribLocation(program, 'aPosition'),\n };\n },\n\n /**\n * Return a map of uniform names to WebGLUniformLocation objects.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take uniform locations.\n * @returns {Object} A map of uniform names to uniform locations.\n */\n getUniformLocations: function (/* gl, program */) {\n // in case i do not need any special uniform i need to return an empty object\n return { };\n },\n\n /**\n * Send attribute data from this filter to its shader program on the GPU.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} attributeLocations A map of shader attribute names to their locations.\n */\n sendAttributeData: function(gl, attributeLocations, aPositionData) {\n var attributeLocation = attributeLocations.aPosition;\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.enableVertexAttribArray(attributeLocation);\n gl.vertexAttribPointer(attributeLocation, 2, gl.FLOAT, false, 0, 0);\n gl.bufferData(gl.ARRAY_BUFFER, aPositionData, gl.STATIC_DRAW);\n },\n\n _setupFrameBuffer: function(options) {\n var gl = options.context, width, height;\n if (options.passes > 1) {\n width = options.destinationWidth;\n height = options.destinationHeight;\n if (options.sourceWidth !== width || options.sourceHeight !== height) {\n gl.deleteTexture(options.targetTexture);\n options.targetTexture = options.filterBackend.createTexture(gl, width, height);\n }\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D,\n options.targetTexture, 0);\n }\n else {\n // draw last filter on canvas and not to framebuffer.\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.finish();\n }\n },\n\n _swapTextures: function(options) {\n options.passes--;\n options.pass++;\n var temp = options.targetTexture;\n options.targetTexture = options.sourceTexture;\n options.sourceTexture = temp;\n },\n\n /**\n * Generic isNeutral implementation for one parameter based filters.\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )\n * @param {Object} options\n **/\n isNeutralState: function(/* options */) {\n var main = this.mainParameter,\n _class = fabric.Image.filters[this.type].prototype;\n if (main) {\n if (Array.isArray(_class[main])) {\n for (var i = _class[main].length; i--;) {\n if (this[main][i] !== _class[main][i]) {\n return false;\n }\n }\n return true;\n }\n else {\n return _class[main] === this[main];\n }\n }\n else {\n return false;\n }\n },\n\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n if (options.webgl) {\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n if (!options.programCache.hasOwnProperty(this.type)) {\n options.programCache[this.type] = this.createProgram(options.context);\n }\n return options.programCache[this.type];\n },\n\n /**\n * Apply this filter using webgl.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.originalTexture The texture of the original input image.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyToWebGL: function(options) {\n var gl = options.context;\n var shader = this.retrieveShader(options);\n if (options.pass === 0 && options.originalTexture) {\n gl.bindTexture(gl.TEXTURE_2D, options.originalTexture);\n }\n else {\n gl.bindTexture(gl.TEXTURE_2D, options.sourceTexture);\n }\n gl.useProgram(shader.program);\n this.sendAttributeData(gl, shader.attributeLocations, options.aPosition);\n\n gl.uniform1f(shader.uniformLocations.uStepW, 1 / options.sourceWidth);\n gl.uniform1f(shader.uniformLocations.uStepH, 1 / options.sourceHeight);\n\n this.sendUniformData(gl, shader.uniformLocations);\n gl.viewport(0, 0, options.destinationWidth, options.destinationHeight);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n },\n\n bindAdditionalTexture: function(gl, texture, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n // reset active texture to 0 as usual\n gl.activeTexture(gl.TEXTURE0);\n },\n\n unbindAdditionalTexture: function(gl, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.activeTexture(gl.TEXTURE0);\n },\n\n getMainParameter: function() {\n return this[this.mainParameter];\n },\n\n setMainParameter: function(value) {\n this[this.mainParameter] = value;\n },\n\n /**\n * Send uniform data from this filter to its shader program on the GPU.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} uniformLocations A map of shader uniform names to their locations.\n */\n sendUniformData: function(/* gl, uniformLocations */) {\n // Intentionally left blank. Override me in subclasses.\n },\n\n /**\n * If needed by a 2d filter, this functions can create an helper canvas to be used\n * remember that options.targetCanvas is available for use till end of chain.\n */\n createHelpLayer: function(options) {\n if (!options.helpLayer) {\n var helpLayer = document.createElement('canvas');\n helpLayer.width = options.sourceWidth;\n helpLayer.height = options.sourceHeight;\n options.helpLayer = helpLayer;\n }\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n var object = { type: this.type }, mainP = this.mainParameter;\n if (mainP) {\n object[mainP] = this[mainP];\n }\n return object;\n },\n\n /**\n * Returns a JSON representation of an instance\n * @return {Object} JSON\n */\n toJSON: function() {\n // delegate, not alias\n return this.toObject();\n }\n});\n\nfabric.Image.filters.BaseFilter.fromObject = function(object, callback) {\n var filter = new fabric.Image.filters[object.type](object);\n callback && callback(filter);\n return filter;\n};\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Color Matrix filter class\n * @class fabric.Image.filters.ColorMatrix\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.ColorMatrix#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://www.webwasp.co.uk/tutorials/219/Color_Matrix_Filter.php}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl}\n * @example Kodachrome filter\n * var filter = new fabric.Image.filters.ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.ColorMatrix = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'ColorMatrix',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'uniform mat4 uColorMatrix;\\n' +\n 'uniform vec4 uConstants;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color *= uColorMatrix;\\n' +\n 'color += uConstants;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n matrix: [\n 1, 0, 0, 0, 0,\n 0, 1, 0, 0, 0,\n 0, 0, 1, 0, 0,\n 0, 0, 0, 1, 0\n ],\n\n mainParameter: 'matrix',\n\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */\n colorsOnly: true,\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n // create a new array instead mutating the prototype with push\n this.matrix = this.matrix.slice(0);\n },\n\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n iLen = data.length,\n m = this.matrix,\n r, g, b, a, i, colorsOnly = this.colorsOnly;\n\n for (i = 0; i < iLen; i += 4) {\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n }\n else {\n a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] = r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uColorMatrix: gl.getUniformLocation(program, 'uColorMatrix'),\n uConstants: gl.getUniformLocation(program, 'uConstants'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var m = this.matrix,\n matrix = [\n m[0], m[1], m[2], m[3],\n m[5], m[6], m[7], m[8],\n m[10], m[11], m[12], m[13],\n m[15], m[16], m[17], m[18]\n ],\n constants = [m[4], m[9], m[14], m[19]];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] function to invoke after filter creation\n * @return {fabric.Image.filters.ColorMatrix} Instance of fabric.Image.filters.ColorMatrix\n */\n fabric.Image.filters.ColorMatrix.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Brightness filter class\n * @class fabric.Image.filters.Brightness\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Brightness#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Brightness({\n * brightness: 0.05\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Brightness = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Brightness',\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uBrightness;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color.rgb += uBrightness;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Brightness value, from -1 to 1.\n * translated to -255 to 255 for 2d\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Number} brightness\n * @default\n */\n brightness: 0,\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'brightness',\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.brightness === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, i, len = data.length,\n brightness = Math.round(this.brightness * 255);\n for (i = 0; i < len; i += 4) {\n data[i] = data[i] + brightness;\n data[i + 1] = data[i + 1] + brightness;\n data[i + 2] = data[i + 2] + brightness;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uBrightness: gl.getUniformLocation(program, 'uBrightness'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBrightness, this.brightness);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Brightness} Instance of fabric.Image.filters.Brightness\n */\n fabric.Image.filters.Brightness.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Adapted from html5rocks article\n * @class fabric.Image.filters.Convolute\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Convolute#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example Sharpen filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 0, -1, 0,\n * -1, 5, -1,\n * 0, -1, 0 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Blur filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter with opaqueness\n * var filter = new fabric.Image.filters.Convolute({\n * opaque: true,\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Convolute = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Convolute',\n\n /*\n * Opaque value (true/false)\n */\n opaque: false,\n\n /*\n * matrix for the filter, max 9x9\n */\n matrix: [0, 0, 0, 0, 1, 0, 0, 0, 0],\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: {\n Convolute_3_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[9];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 3.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 3.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_3_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[9];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 3.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 3.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_5_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[25];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 5.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 5.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_5_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[25];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 5.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 5.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_7_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[49];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 7.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 7.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_7_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[49];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 7.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 7.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_9_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[81];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 9.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 9.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_9_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[81];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 9.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 9.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n },\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Convolute.prototype\n * @param {Object} [options] Options object\n * @param {Boolean} [options.opaque=false] Opaque value (true/false)\n * @param {Array} [options.matrix] Filter matrix\n */\n\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var size = Math.sqrt(this.matrix.length);\n var cacheKey = this.type + '_' + size + '_' + (this.opaque ? 1 : 0);\n var shaderSource = this.fragmentSource[cacheKey];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n weights = this.matrix,\n side = Math.round(Math.sqrt(weights.length)),\n halfSide = Math.floor(side / 2),\n sw = imageData.width,\n sh = imageData.height,\n output = options.ctx.createImageData(sw, sh),\n dst = output.data,\n // go through the destination image pixels\n alphaFac = this.opaque ? 1 : 0,\n r, g, b, a, dstOff,\n scx, scy, srcOff, wt,\n x, y, cx, cy;\n\n for (y = 0; y < sh; y++) {\n for (x = 0; x < sw; x++) {\n dstOff = (y * sw + x) * 4;\n // calculate the weighed sum of the source image pixels that\n // fall under the convolution matrix\n r = 0; g = 0; b = 0; a = 0;\n\n for (cy = 0; cy < side; cy++) {\n for (cx = 0; cx < side; cx++) {\n scy = y + cy - halfSide;\n scx = x + cx - halfSide;\n\n // eslint-disable-next-line max-depth\n if (scy < 0 || scy >= sh || scx < 0 || scx >= sw) {\n continue;\n }\n\n srcOff = (scy * sw + scx) * 4;\n wt = weights[cy * side + cx];\n\n r += data[srcOff] * wt;\n g += data[srcOff + 1] * wt;\n b += data[srcOff + 2] * wt;\n // eslint-disable-next-line max-depth\n if (!alphaFac) {\n a += data[srcOff + 3] * wt;\n }\n }\n }\n dst[dstOff] = r;\n dst[dstOff + 1] = g;\n dst[dstOff + 2] = b;\n if (!alphaFac) {\n dst[dstOff + 3] = a;\n }\n else {\n dst[dstOff + 3] = data[dstOff + 3];\n }\n }\n }\n options.imageData = output;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uMatrix: gl.getUniformLocation(program, 'uMatrix'),\n uOpaque: gl.getUniformLocation(program, 'uOpaque'),\n uHalfSize: gl.getUniformLocation(program, 'uHalfSize'),\n uSize: gl.getUniformLocation(program, 'uSize'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1fv(uniformLocations.uMatrix, this.matrix);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n opaque: this.opaque,\n matrix: this.matrix\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Convolute} Instance of fabric.Image.filters.Convolute\n */\n fabric.Image.filters.Convolute.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Grayscale image filter class\n * @class fabric.Image.filters.Grayscale\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Grayscale();\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Grayscale',\n\n fragmentSource: {\n average: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = (color.r + color.b + color.g) / 3.0;\\n' +\n 'gl_FragColor = vec4(average, average, average, color.a);\\n' +\n '}',\n lightness: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uMode;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 col = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n' +\n 'gl_FragColor = vec4(average, average, average, col.a);\\n' +\n '}',\n luminosity: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uMode;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 col = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n' +\n 'gl_FragColor = vec4(average, average, average, col.a);\\n' +\n '}',\n },\n\n\n /**\n * Grayscale mode, between 'average', 'lightness', 'luminosity'\n * @param {String} type\n * @default\n */\n mode: 'average',\n\n mainParameter: 'mode',\n\n /**\n * Apply the Grayscale operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n len = data.length, value,\n mode = this.mode;\n for (i = 0; i < len; i += 4) {\n if (mode === 'average') {\n value = (data[i] + data[i + 1] + data[i + 2]) / 3;\n }\n else if (mode === 'lightness') {\n value = (Math.min(data[i], data[i + 1], data[i + 2]) +\n Math.max(data[i], data[i + 1], data[i + 2])) / 2;\n }\n else if (mode === 'luminosity') {\n value = 0.21 * data[i] + 0.72 * data[i + 1] + 0.07 * data[i + 2];\n }\n data[i] = value;\n data[i + 1] = value;\n data[i + 2] = value;\n }\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var shaderSource = this.fragmentSource[this.mode];\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uMode: gl.getUniformLocation(program, 'uMode'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n // default average mode.\n var mode = 1;\n gl.uniform1i(uniformLocations.uMode, mode);\n },\n\n /**\n * Grayscale filter isNeutralState implementation\n * The filter is never neutral\n * on the image\n **/\n isNeutralState: function() {\n return false;\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Grayscale} Instance of fabric.Image.filters.Grayscale\n */\n fabric.Image.filters.Grayscale.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Invert filter class\n * @class fabric.Image.filters.Invert\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Invert();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */\n filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Invert',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uInvert;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'if (uInvert == 1) {\\n' +\n 'gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n' +\n '} else {\\n' +\n 'gl_FragColor = color;\\n' +\n '}\\n' +\n '}',\n\n /**\n * Filter invert. if false, does nothing\n * @param {Boolean} invert\n * @default\n */\n invert: true,\n\n mainParameter: 'invert',\n\n /**\n * Apply the Invert operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n len = data.length;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n },\n\n /**\n * Invert filter isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/\n isNeutralState: function() {\n return !this.invert;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uInvert: gl.getUniformLocation(program, 'uInvert'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1i(uniformLocations.uInvert, this.invert);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Invert} Instance of fabric.Image.filters.Invert\n */\n fabric.Image.filters.Invert.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Noise filter class\n * @class fabric.Image.filters.Noise\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Noise#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Noise({\n * noise: 700\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Noise = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Noise',\n\n /**\n * Fragment source for the noise program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uStepH;\\n' +\n 'uniform float uNoise;\\n' +\n 'uniform float uSeed;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'float rand(vec2 co, float seed, float vScale) {\\n' +\n 'return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n' +\n '}\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'noise',\n\n /**\n * Noise value, from\n * @param {Number} noise\n * @default\n */\n noise: 0,\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.noise === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, i, len = data.length,\n noise = this.noise, rand;\n\n for (i = 0, len = data.length; i < len; i += 4) {\n\n rand = (0.5 - Math.random()) * noise;\n\n data[i] += rand;\n data[i + 1] += rand;\n data[i + 2] += rand;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uNoise: gl.getUniformLocation(program, 'uNoise'),\n uSeed: gl.getUniformLocation(program, 'uSeed'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uNoise, this.noise / 255);\n gl.uniform1f(uniformLocations.uSeed, Math.random());\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n noise: this.noise\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Noise} Instance of fabric.Image.filters.Noise\n */\n fabric.Image.filters.Noise.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Pixelate filter class\n * @class fabric.Image.filters.Pixelate\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Pixelate#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Pixelate({\n * blocksize: 8\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Pixelate = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Pixelate',\n\n blocksize: 4,\n\n mainParameter: 'blocksize',\n\n /**\n * Fragment source for the Pixelate program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uBlocksize;\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'float blockW = uBlocksize * uStepW;\\n' +\n 'float blockH = uBlocksize * uStepW;\\n' +\n 'int posX = int(vTexCoord.x / blockW);\\n' +\n 'int posY = int(vTexCoord.y / blockH);\\n' +\n 'float fposX = float(posX);\\n' +\n 'float fposY = float(posY);\\n' +\n 'vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n' +\n 'vec4 color = texture2D(uTexture, squareCoords);\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Apply the Pixelate operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n iLen = imageData.height,\n jLen = imageData.width,\n index, i, j, r, g, b, a,\n _i, _j, _iLen, _jLen;\n\n for (i = 0; i < iLen; i += this.blocksize) {\n for (j = 0; j < jLen; j += this.blocksize) {\n\n index = (i * 4) * jLen + (j * 4);\n\n r = data[index];\n g = data[index + 1];\n b = data[index + 2];\n a = data[index + 3];\n\n _iLen = Math.min(i + this.blocksize, iLen);\n _jLen = Math.min(j + this.blocksize, jLen);\n for (_i = i; _i < _iLen; _i++) {\n for (_j = j; _j < _jLen; _j++) {\n index = (_i * 4) * jLen + (_j * 4);\n data[index] = r;\n data[index + 1] = g;\n data[index + 2] = b;\n data[index + 3] = a;\n }\n }\n }\n }\n },\n\n /**\n * Indicate when the filter is not gonna apply changes to the image\n **/\n isNeutralState: function() {\n return this.blocksize === 1;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uBlocksize: gl.getUniformLocation(program, 'uBlocksize'),\n uStepW: gl.getUniformLocation(program, 'uStepW'),\n uStepH: gl.getUniformLocation(program, 'uStepH'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBlocksize, this.blocksize);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Pixelate} Instance of fabric.Image.filters.Pixelate\n */\n fabric.Image.filters.Pixelate.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Remove white filter class\n * @class fabric.Image.filters.RemoveColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.RemoveColor#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.RemoveColor({\n * threshold: 0.2,\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.RemoveColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.RemoveColor.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'RemoveColor',\n\n /**\n * Color to remove, in any format understood by fabric.Color.\n * @param {String} type\n * @default\n */\n color: '#FFFFFF',\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec4 uLow;\\n' +\n 'uniform vec4 uHigh;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'gl_FragColor = texture2D(uTexture, vTexCoord);\\n' +\n 'if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n' +\n 'gl_FragColor.a = 0.0;\\n' +\n '}\\n' +\n '}',\n\n /**\n * distance to actual color, as value up or down from each r,g,b\n * between 0 and 1\n **/\n distance: 0.02,\n\n /**\n * For color to remove inside distance, use alpha channel for a smoother deletion\n * NOT IMPLEMENTED YET\n **/\n useAlpha: false,\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.RemoveWhite.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.color=#RRGGBB] Threshold value\n * @param {Number} [options.distance=10] Distance value\n */\n\n /**\n * Applies filter to canvas element\n * @param {Object} canvasEl Canvas element to apply filter to\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n distance = this.distance * 255,\n r, g, b,\n source = new fabric.Color(this.color).getSource(),\n lowC = [\n source[0] - distance,\n source[1] - distance,\n source[2] - distance,\n ],\n highC = [\n source[0] + distance,\n source[1] + distance,\n source[2] + distance,\n ];\n\n\n for (i = 0; i < data.length; i += 4) {\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n\n if (r > lowC[0] &&\n g > lowC[1] &&\n b > lowC[2] &&\n r < highC[0] &&\n g < highC[1] &&\n b < highC[2]) {\n data[i + 3] = 0;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uLow: gl.getUniformLocation(program, 'uLow'),\n uHigh: gl.getUniformLocation(program, 'uHigh'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource(),\n distance = parseFloat(this.distance),\n lowC = [\n 0 + source[0] / 255 - distance,\n 0 + source[1] / 255 - distance,\n 0 + source[2] / 255 - distance,\n 1\n ],\n highC = [\n source[0] / 255 + distance,\n source[1] / 255 + distance,\n source[2] / 255 + distance,\n 1\n ];\n gl.uniform4fv(uniformLocations.uLow, lowC);\n gl.uniform4fv(uniformLocations.uHigh, highC);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n color: this.color,\n distance: this.distance\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.RemoveColor} Instance of fabric.Image.filters.RemoveWhite\n */\n fabric.Image.filters.RemoveColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n var matrices = {\n Brownie: [\n 0.59970,0.34553,-0.27082,0,0.186,\n -0.03770,0.86095,0.15059,0,-0.1449,\n 0.24113,-0.07441,0.44972,0,-0.02965,\n 0,0,0,1,0\n ],\n Vintage: [\n 0.62793,0.32021,-0.03965,0,0.03784,\n 0.02578,0.64411,0.03259,0,0.02926,\n 0.04660,-0.08512,0.52416,0,0.02023,\n 0,0,0,1,0\n ],\n Kodachrome: [\n 1.12855,-0.39673,-0.03992,0,0.24991,\n -0.16404,1.08352,-0.05498,0,0.09698,\n -0.16786,-0.56034,1.60148,0,0.13972,\n 0,0,0,1,0\n ],\n Technicolor: [\n 1.91252,-0.85453,-0.09155,0,0.04624,\n -0.30878,1.76589,-0.10601,0,-0.27589,\n -0.23110,-0.75018,1.84759,0,0.12137,\n 0,0,0,1,0\n ],\n Polaroid: [\n 1.438,-0.062,-0.062,0,0,\n -0.122,1.378,-0.122,0,0,\n -0.016,-0.016,1.483,0,0,\n 0,0,0,1,0\n ],\n Sepia: [\n 0.393, 0.769, 0.189, 0, 0,\n 0.349, 0.686, 0.168, 0, 0,\n 0.272, 0.534, 0.131, 0, 0,\n 0, 0, 0, 1, 0\n ],\n BlackWhite: [\n 1.5, 1.5, 1.5, 0, -1,\n 1.5, 1.5, 1.5, 0, -1,\n 1.5, 1.5, 1.5, 0, -1,\n 0, 0, 0, 1, 0,\n ]\n };\n\n for (var key in matrices) {\n filters[key] = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.Sepia.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: key,\n\n /**\n * Colormatrix for the effect\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n matrix: matrices[key],\n\n /**\n * Lock the matrix export for this kind of static, parameter less filters.\n */\n mainParameter: false,\n /**\n * Lock the colormatrix on the color part, skipping alpha\n */\n colorsOnly: true,\n\n });\n fabric.Image.filters[key].fromObject = fabric.Image.filters.BaseFilter.fromObject;\n }\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n 'use strict';\n\n var fabric = global.fabric,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Color Blend filter class\n * @class fabric.Image.filter.BlendColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n\n filters.BlendColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */ {\n type: 'BlendColor',\n\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n * @type String\n * @default\n **/\n color: '#F95C63',\n\n /**\n * Blend mode for the filter: one of multiply, add, diff, screen, subtract,\n * darken, lighten, overlay, exclusion, tint.\n * @type String\n * @default\n **/\n mode: 'multiply',\n\n /**\n * alpha value. represent the strength of the blend color operation.\n * @type Number\n * @default\n **/\n alpha: 1,\n\n /**\n * Fragment source for the Multiply program\n */\n fragmentSource: {\n multiply: 'gl_FragColor.rgb *= uColor.rgb;\\n',\n screen: 'gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n',\n add: 'gl_FragColor.rgb += uColor.rgb;\\n',\n diff: 'gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n',\n subtract: 'gl_FragColor.rgb -= uColor.rgb;\\n',\n lighten: 'gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n',\n darken: 'gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n',\n exclusion: 'gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n',\n overlay: 'if (uColor.r < 0.5) {\\n' +\n 'gl_FragColor.r *= 2.0 * uColor.r;\\n' +\n '} else {\\n' +\n 'gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n' +\n '}\\n' +\n 'if (uColor.g < 0.5) {\\n' +\n 'gl_FragColor.g *= 2.0 * uColor.g;\\n' +\n '} else {\\n' +\n 'gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n' +\n '}\\n' +\n 'if (uColor.b < 0.5) {\\n' +\n 'gl_FragColor.b *= 2.0 * uColor.b;\\n' +\n '} else {\\n' +\n 'gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n' +\n '}\\n',\n tint: 'gl_FragColor.rgb *= (1.0 - uColor.a);\\n' +\n 'gl_FragColor.rgb += uColor.rgb;\\n',\n },\n\n /**\n * build the fragment source for the filters, joining the common part with\n * the specific one.\n * @param {String} mode the mode of the filter, a key of this.fragmentSource\n * @return {String} the source to be compiled\n * @private\n */\n buildSource: function(mode) {\n return 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'gl_FragColor = color;\\n' +\n 'if (color.a > 0.0) {\\n' +\n this.fragmentSource[mode] +\n '}\\n' +\n '}';\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode, shaderSource;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n shaderSource = this.buildSource(this.mode);\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, iLen = data.length,\n tr, tg, tb,\n r, g, b,\n source, alpha1 = 1 - this.alpha;\n\n source = new fabric.Color(this.color).getSource();\n tr = source[0] * this.alpha;\n tg = source[1] * this.alpha;\n tb = source[2] * this.alpha;\n\n for (var i = 0; i < iLen; i += 4) {\n\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n\n switch (this.mode) {\n case 'multiply':\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n break;\n case 'screen':\n data[i] = 255 - (255 - r) * (255 - tr) / 255;\n data[i + 1] = 255 - (255 - g) * (255 - tg) / 255;\n data[i + 2] = 255 - (255 - b) * (255 - tb) / 255;\n break;\n case 'add':\n data[i] = r + tr;\n data[i + 1] = g + tg;\n data[i + 2] = b + tb;\n break;\n case 'diff':\n case 'difference':\n data[i] = Math.abs(r - tr);\n data[i + 1] = Math.abs(g - tg);\n data[i + 2] = Math.abs(b - tb);\n break;\n case 'subtract':\n data[i] = r - tr;\n data[i + 1] = g - tg;\n data[i + 2] = b - tb;\n break;\n case 'darken':\n data[i] = Math.min(r, tr);\n data[i + 1] = Math.min(g, tg);\n data[i + 2] = Math.min(b, tb);\n break;\n case 'lighten':\n data[i] = Math.max(r, tr);\n data[i + 1] = Math.max(g, tg);\n data[i + 2] = Math.max(b, tb);\n break;\n case 'overlay':\n data[i] = tr < 128 ? (2 * r * tr / 255) : (255 - 2 * (255 - r) * (255 - tr) / 255);\n data[i + 1] = tg < 128 ? (2 * g * tg / 255) : (255 - 2 * (255 - g) * (255 - tg) / 255);\n data[i + 2] = tb < 128 ? (2 * b * tb / 255) : (255 - 2 * (255 - b) * (255 - tb) / 255);\n break;\n case 'exclusion':\n data[i] = tr + r - ((2 * tr * r) / 255);\n data[i + 1] = tg + g - ((2 * tg * g) / 255);\n data[i + 2] = tb + b - ((2 * tb * b) / 255);\n break;\n case 'tint':\n data[i] = tr + r * alpha1;\n data[i + 1] = tg + g * alpha1;\n data[i + 2] = tb + b * alpha1;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uColor: gl.getUniformLocation(program, 'uColor'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource();\n source[0] = this.alpha * source[0] / 255;\n source[1] = this.alpha * source[1] / 255;\n source[2] = this.alpha * source[2] / 255;\n source[3] = this.alpha;\n gl.uniform4fv(uniformLocations.uColor, source);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n color: this.color,\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.BlendColor} Instance of fabric.Image.filters.BlendColor\n */\n fabric.Image.filters.BlendColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n 'use strict';\n\n var fabric = global.fabric,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Image Blend filter class\n * @class fabric.Image.filter.BlendImage\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n\n filters.BlendImage = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.BlendImage.prototype */ {\n type: 'BlendImage',\n\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n **/\n image: null,\n\n /**\n * Blend mode for the filter (one of \"multiply\", \"mask\")\n * @type String\n * @default\n **/\n mode: 'multiply',\n\n /**\n * alpha value. represent the strength of the blend image operation.\n * not implemented.\n **/\n alpha: 1,\n\n vertexSource: 'attribute vec2 aPosition;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'uniform mat3 uTransformMatrix;\\n' +\n 'void main() {\\n' +\n 'vTexCoord = aPosition;\\n' +\n 'vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n' +\n 'gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n' +\n '}',\n\n /**\n * Fragment source for the Multiply program\n */\n fragmentSource: {\n multiply: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform sampler2D uImage;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec4 color2 = texture2D(uImage, vTexCoord2);\\n' +\n 'color.rgba *= color2.rgba;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n mask: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform sampler2D uImage;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec4 color2 = texture2D(uImage, vTexCoord2);\\n' +\n 'color.a = color2.a;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode;\n var shaderSource = this.fragmentSource[this.mode];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n applyToWebGL: function(options) {\n // load texture to blend.\n var gl = options.context,\n texture = this.createTexture(options.filterBackend, this.image);\n this.bindAdditionalTexture(gl, texture, gl.TEXTURE1);\n this.callSuper('applyToWebGL', options);\n this.unbindAdditionalTexture(gl, gl.TEXTURE1);\n },\n\n createTexture: function(backend, image) {\n return backend.getCachedTexture(image.cacheKey, image._element);\n },\n\n /**\n * Calculate a transformMatrix to adapt the image to blend over\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n calculateMatrix: function() {\n var image = this.image,\n width = image._element.width,\n height = image._element.height;\n return [\n 1 / image.scaleX, 0, 0,\n 0, 1 / image.scaleY, 0,\n -image.left / width, -image.top / height, 1\n ];\n },\n\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n resources = options.filterBackend.resources,\n data = imageData.data, iLen = data.length,\n width = imageData.width,\n height = imageData.height,\n tr, tg, tb, ta,\n r, g, b, a,\n canvas1, context, image = this.image, blendData;\n\n if (!resources.blendImage) {\n resources.blendImage = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blendImage;\n context = canvas1.getContext('2d');\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas1.width = width;\n canvas1.height = height;\n }\n else {\n context.clearRect(0, 0, width, height);\n }\n context.setTransform(image.scaleX, 0, 0, image.scaleY, image.left, image.top);\n context.drawImage(image._element, 0, 0, width, height);\n blendData = context.getImageData(0, 0, width, height).data;\n for (var i = 0; i < iLen; i += 4) {\n\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n\n tr = blendData[i];\n tg = blendData[i + 1];\n tb = blendData[i + 2];\n ta = blendData[i + 3];\n\n switch (this.mode) {\n case 'multiply':\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n data[i + 3] = a * ta / 255;\n break;\n case 'mask':\n data[i + 3] = ta;\n break;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uTransformMatrix: gl.getUniformLocation(program, 'uTransformMatrix'),\n uImage: gl.getUniformLocation(program, 'uImage'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var matrix = this.calculateMatrix();\n gl.uniform1i(uniformLocations.uImage, 1); // texture unit 1.\n gl.uniformMatrix3fv(uniformLocations.uTransformMatrix, false, matrix);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n image: this.image && this.image.toObject(),\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} callback to be invoked after filter creation\n * @return {fabric.Image.filters.BlendImage} Instance of fabric.Image.filters.BlendImage\n */\n fabric.Image.filters.BlendImage.fromObject = function(object, callback) {\n fabric.Image.fromObject(object.image, function(image) {\n var options = fabric.util.object.clone(object);\n options.image = image;\n callback(new fabric.Image.filters.BlendImage(options));\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }), pow = Math.pow, floor = Math.floor,\n sqrt = Math.sqrt, abs = Math.abs, round = Math.round, sin = Math.sin,\n ceil = Math.ceil,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Resize image filter class\n * @class fabric.Image.filters.Resize\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Resize();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */\n filters.Resize = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Resize',\n\n /**\n * Resize type\n * for webgl resizeType is just lanczos, for canvas2d can be:\n * bilinear, hermite, sliceHack, lanczos.\n * @param {String} resizeType\n * @default\n */\n resizeType: 'hermite',\n\n /**\n * Scale factor for resizing, x axis\n * @param {Number} scaleX\n * @default\n */\n scaleX: 1,\n\n /**\n * Scale factor for resizing, y axis\n * @param {Number} scaleY\n * @default\n */\n scaleY: 1,\n\n /**\n * LanczosLobes parameter for lanczos filter, valid for resizeType lanczos\n * @param {Number} lanczosLobes\n * @default\n */\n lanczosLobes: 3,\n\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uDelta: gl.getUniformLocation(program, 'uDelta'),\n uTaps: gl.getUniformLocation(program, 'uTaps'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform2fv(uniformLocations.uDelta, this.horizontal ? [1 / this.width, 0] : [0, 1 / this.height]);\n gl.uniform1fv(uniformLocations.uTaps, this.taps);\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var filterWindow = this.getFilterWindow(), cacheKey = this.type + '_' + filterWindow;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var fragmentShader = this.generateShader(filterWindow);\n options.programCache[cacheKey] = this.createProgram(options.context, fragmentShader);\n }\n return options.programCache[cacheKey];\n },\n\n getFilterWindow: function() {\n var scale = this.tempScale;\n return Math.ceil(this.lanczosLobes / scale);\n },\n\n getTaps: function() {\n var lobeFunction = this.lanczosCreate(this.lanczosLobes), scale = this.tempScale,\n filterWindow = this.getFilterWindow(), taps = new Array(filterWindow);\n for (var i = 1; i <= filterWindow; i++) {\n taps[i - 1] = lobeFunction(i * scale);\n }\n return taps;\n },\n\n /**\n * Generate vertex and shader sources from the necessary steps numbers\n * @param {Number} filterWindow\n */\n generateShader: function(filterWindow) {\n var offsets = new Array(filterWindow),\n fragmentShader = this.fragmentSourceTOP, filterWindow;\n\n for (var i = 1; i <= filterWindow; i++) {\n offsets[i - 1] = i + '.0 * uDelta';\n }\n\n fragmentShader += 'uniform float uTaps[' + filterWindow + '];\\n';\n fragmentShader += 'void main() {\\n';\n fragmentShader += ' vec4 color = texture2D(uTexture, vTexCoord);\\n';\n fragmentShader += ' float sum = 1.0;\\n';\n\n offsets.forEach(function(offset, i) {\n fragmentShader += ' color += texture2D(uTexture, vTexCoord + ' + offset + ') * uTaps[' + i + '];\\n';\n fragmentShader += ' color += texture2D(uTexture, vTexCoord - ' + offset + ') * uTaps[' + i + '];\\n';\n fragmentShader += ' sum += 2.0 * uTaps[' + i + '];\\n';\n });\n fragmentShader += ' gl_FragColor = color / sum;\\n';\n fragmentShader += '}';\n return fragmentShader;\n },\n\n fragmentSourceTOP: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec2 uDelta;\\n' +\n 'varying vec2 vTexCoord;\\n',\n\n /**\n * Apply the resize filter to the image\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n if (options.webgl) {\n options.passes++;\n this.width = options.sourceWidth;\n this.horizontal = true;\n this.dW = Math.round(this.width * this.scaleX);\n this.dH = options.sourceHeight;\n this.tempScale = this.dW / this.width;\n this.taps = this.getTaps();\n options.destinationWidth = this.dW;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceWidth = options.destinationWidth;\n\n this.height = options.sourceHeight;\n this.horizontal = false;\n this.dH = Math.round(this.height * this.scaleY);\n this.tempScale = this.dH / this.height;\n this.taps = this.getTaps();\n options.destinationHeight = this.dH;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceHeight = options.destinationHeight;\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n isNeutralState: function() {\n return this.scaleX === 1 && this.scaleY === 1;\n },\n\n lanczosCreate: function(lobes) {\n return function(x) {\n if (x >= lobes || x <= -lobes) {\n return 0.0;\n }\n if (x < 1.19209290E-07 && x > -1.19209290E-07) {\n return 1.0;\n }\n x *= Math.PI;\n var xx = x / lobes;\n return (sin(x) / x) * sin(xx) / xx;\n };\n },\n\n /**\n * Applies filter to canvas element\n * @memberOf fabric.Image.filters.Resize.prototype\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} scaleX\n * @param {Number} scaleY\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n scaleX = this.scaleX,\n scaleY = this.scaleY;\n\n this.rcpScaleX = 1 / scaleX;\n this.rcpScaleY = 1 / scaleY;\n\n var oW = imageData.width, oH = imageData.height,\n dW = round(oW * scaleX), dH = round(oH * scaleY),\n newData;\n\n if (this.resizeType === 'sliceHack') {\n newData = this.sliceByTwo(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'hermite') {\n newData = this.hermiteFastResize(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'bilinear') {\n newData = this.bilinearFiltering(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'lanczos') {\n newData = this.lanczosResize(options, oW, oH, dW, dH);\n }\n options.imageData = newData;\n },\n\n /**\n * Filter sliceByTwo\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n sliceByTwo: function(options, oW, oH, dW, dH) {\n var imageData = options.imageData,\n mult = 0.5, doneW = false, doneH = false, stepW = oW * mult,\n stepH = oH * mult, resources = fabric.filterBackend.resources,\n tmpCanvas, ctx, sX = 0, sY = 0, dX = oW, dY = 0;\n if (!resources.sliceByTwo) {\n resources.sliceByTwo = document.createElement('canvas');\n }\n tmpCanvas = resources.sliceByTwo;\n if (tmpCanvas.width < oW * 1.5 || tmpCanvas.height < oH) {\n tmpCanvas.width = oW * 1.5;\n tmpCanvas.height = oH;\n }\n ctx = tmpCanvas.getContext('2d');\n ctx.clearRect(0, 0, oW * 1.5, oH);\n ctx.putImageData(imageData, 0, 0);\n\n dW = floor(dW);\n dH = floor(dH);\n\n while (!doneW || !doneH) {\n oW = stepW;\n oH = stepH;\n if (dW < floor(stepW * mult)) {\n stepW = floor(stepW * mult);\n }\n else {\n stepW = dW;\n doneW = true;\n }\n if (dH < floor(stepH * mult)) {\n stepH = floor(stepH * mult);\n }\n else {\n stepH = dH;\n doneH = true;\n }\n ctx.drawImage(tmpCanvas, sX, sY, oW, oH, dX, dY, stepW, stepH);\n sX = dX;\n sY = dY;\n dY += stepH;\n }\n return ctx.getImageData(sX, sY, dW, dH);\n },\n\n /**\n * Filter lanczosResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n lanczosResize: function(options, oW, oH, dW, dH) {\n\n function process(u) {\n var v, i, weight, idx, a, red, green,\n blue, alpha, fX, fY;\n center.x = (u + 0.5) * ratioX;\n icenter.x = floor(center.x);\n for (v = 0; v < dH; v++) {\n center.y = (v + 0.5) * ratioY;\n icenter.y = floor(center.y);\n a = 0; red = 0; green = 0; blue = 0; alpha = 0;\n for (i = icenter.x - range2X; i <= icenter.x + range2X; i++) {\n if (i < 0 || i >= oW) {\n continue;\n }\n fX = floor(1000 * abs(i - center.x));\n if (!cacheLanc[fX]) {\n cacheLanc[fX] = { };\n }\n for (var j = icenter.y - range2Y; j <= icenter.y + range2Y; j++) {\n if (j < 0 || j >= oH) {\n continue;\n }\n fY = floor(1000 * abs(j - center.y));\n if (!cacheLanc[fX][fY]) {\n cacheLanc[fX][fY] = lanczos(sqrt(pow(fX * rcpRatioX, 2) + pow(fY * rcpRatioY, 2)) / 1000);\n }\n weight = cacheLanc[fX][fY];\n if (weight > 0) {\n idx = (j * oW + i) * 4;\n a += weight;\n red += weight * srcData[idx];\n green += weight * srcData[idx + 1];\n blue += weight * srcData[idx + 2];\n alpha += weight * srcData[idx + 3];\n }\n }\n }\n idx = (v * dW + u) * 4;\n destData[idx] = red / a;\n destData[idx + 1] = green / a;\n destData[idx + 2] = blue / a;\n destData[idx + 3] = alpha / a;\n }\n\n if (++u < dW) {\n return process(u);\n }\n else {\n return destImg;\n }\n }\n\n var srcData = options.imageData.data,\n destImg = options.ctx.createImageData(dW, dH),\n destData = destImg.data,\n lanczos = this.lanczosCreate(this.lanczosLobes),\n ratioX = this.rcpScaleX, ratioY = this.rcpScaleY,\n rcpRatioX = 2 / this.rcpScaleX, rcpRatioY = 2 / this.rcpScaleY,\n range2X = ceil(ratioX * this.lanczosLobes / 2),\n range2Y = ceil(ratioY * this.lanczosLobes / 2),\n cacheLanc = { }, center = { }, icenter = { };\n\n return process(0);\n },\n\n /**\n * bilinearFiltering\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n bilinearFiltering: function(options, oW, oH, dW, dH) {\n var a, b, c, d, x, y, i, j, xDiff, yDiff, chnl,\n color, offset = 0, origPix, ratioX = this.rcpScaleX,\n ratioY = this.rcpScaleY,\n w4 = 4 * (oW - 1), img = options.imageData,\n pixels = img.data, destImage = options.ctx.createImageData(dW, dH),\n destPixels = destImage.data;\n for (i = 0; i < dH; i++) {\n for (j = 0; j < dW; j++) {\n x = floor(ratioX * j);\n y = floor(ratioY * i);\n xDiff = ratioX * j - x;\n yDiff = ratioY * i - y;\n origPix = 4 * (y * oW + x);\n\n for (chnl = 0; chnl < 4; chnl++) {\n a = pixels[origPix + chnl];\n b = pixels[origPix + 4 + chnl];\n c = pixels[origPix + w4 + chnl];\n d = pixels[origPix + w4 + 4 + chnl];\n color = a * (1 - xDiff) * (1 - yDiff) + b * xDiff * (1 - yDiff) +\n c * yDiff * (1 - xDiff) + d * xDiff * yDiff;\n destPixels[offset++] = color;\n }\n }\n }\n return destImage;\n },\n\n /**\n * hermiteFastResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n hermiteFastResize: function(options, oW, oH, dW, dH) {\n var ratioW = this.rcpScaleX, ratioH = this.rcpScaleY,\n ratioWHalf = ceil(ratioW / 2),\n ratioHHalf = ceil(ratioH / 2),\n img = options.imageData, data = img.data,\n img2 = options.ctx.createImageData(dW, dH), data2 = img2.data;\n for (var j = 0; j < dH; j++) {\n for (var i = 0; i < dW; i++) {\n var x2 = (i + j * dW) * 4, weight = 0, weights = 0, weightsAlpha = 0,\n gxR = 0, gxG = 0, gxB = 0, gxA = 0, centerY = (j + 0.5) * ratioH;\n for (var yy = floor(j * ratioH); yy < (j + 1) * ratioH; yy++) {\n var dy = abs(centerY - (yy + 0.5)) / ratioHHalf,\n centerX = (i + 0.5) * ratioW, w0 = dy * dy;\n for (var xx = floor(i * ratioW); xx < (i + 1) * ratioW; xx++) {\n var dx = abs(centerX - (xx + 0.5)) / ratioWHalf,\n w = sqrt(w0 + dx * dx);\n /* eslint-disable max-depth */\n if (w > 1 && w < -1) {\n continue;\n }\n //hermite filter\n weight = 2 * w * w * w - 3 * w * w + 1;\n if (weight > 0) {\n dx = 4 * (xx + yy * oW);\n //alpha\n gxA += weight * data[dx + 3];\n weightsAlpha += weight;\n //colors\n if (data[dx + 3] < 255) {\n weight = weight * data[dx + 3] / 250;\n }\n gxR += weight * data[dx];\n gxG += weight * data[dx + 1];\n gxB += weight * data[dx + 2];\n weights += weight;\n }\n /* eslint-enable max-depth */\n }\n }\n data2[x2] = gxR / weights;\n data2[x2 + 1] = gxG / weights;\n data2[x2 + 2] = gxB / weights;\n data2[x2 + 3] = gxA / weightsAlpha;\n }\n }\n return img2;\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n resizeType: this.resizeType,\n lanczosLobes: this.lanczosLobes\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Resize} Instance of fabric.Image.filters.Resize\n */\n fabric.Image.filters.Resize.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Contrast filter class\n * @class fabric.Image.filters.Contrast\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Contrast#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Contrast({\n * contrast: 0.25\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Contrast = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Contrast.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Contrast',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uContrast;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n' +\n 'color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * contrast value, range from -1 to 1.\n * @param {Number} contrast\n * @default 0\n */\n contrast: 0,\n\n mainParameter: 'contrast',\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Contrast.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.contrast=0] Value to contrast the image up (-1...1)\n */\n\n /**\n * Apply the Contrast operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n if (this.contrast === 0) {\n return;\n }\n var imageData = options.imageData, i, len,\n data = imageData.data, len = data.length,\n contrast = Math.floor(this.contrast * 255),\n contrastF = 259 * (contrast + 255) / (255 * (259 - contrast));\n\n for (i = 0; i < len; i += 4) {\n data[i] = contrastF * (data[i] - 128) + 128;\n data[i + 1] = contrastF * (data[i + 1] - 128) + 128;\n data[i + 2] = contrastF * (data[i + 2] - 128) + 128;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uContrast: gl.getUniformLocation(program, 'uContrast'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uContrast, this.contrast);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Contrast} Instance of fabric.Image.filters.Contrast\n */\n fabric.Image.filters.Contrast.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Saturate filter class\n * @class fabric.Image.filters.Saturation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Saturation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Saturation({\n * saturation: 1\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Saturation = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Saturation.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Saturation',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uSaturation;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float rgMax = max(color.r, color.g);\\n' +\n 'float rgbMax = max(rgMax, color.b);\\n' +\n 'color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n' +\n 'color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n' +\n 'color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Saturation value, from -1 to 1.\n * Increases/decreases the color saturation.\n * A value of 0 has no effect.\n * \n * @param {Number} saturation\n * @default\n */\n saturation: 0,\n\n mainParameter: 'saturation',\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Saturate.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.saturate=0] Value to saturate the image (-1...1)\n */\n\n /**\n * Apply the Saturation operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.saturation === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, len = data.length,\n adjust = -this.saturation, i, max;\n\n for (i = 0; i < len; i += 4) {\n max = Math.max(data[i], data[i + 1], data[i + 2]);\n data[i] += max !== data[i] ? (max - data[i]) * adjust : 0;\n data[i + 1] += max !== data[i + 1] ? (max - data[i + 1]) * adjust : 0;\n data[i + 2] += max !== data[i + 2] ? (max - data[i + 2]) * adjust : 0;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uSaturation: gl.getUniformLocation(program, 'uSaturation'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uSaturation, -this.saturation);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Saturation} Instance of fabric.Image.filters.Saturate\n */\n fabric.Image.filters.Saturation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Blur filter class\n * @class fabric.Image.filters.Blur\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Blur#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Blur({\n * blur: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Blur = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blur.prototype */ {\n\n type: 'Blur',\n\n /*\n'gl_FragColor = vec4(0.0);',\n'gl_FragColor += texture2D(texture, vTexCoord + -7 * uDelta)*0.0044299121055113265;',\n'gl_FragColor += texture2D(texture, vTexCoord + -6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + -5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + -4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + -3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + -2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + -1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord )*0.159576912161;',\n'gl_FragColor += texture2D(texture, vTexCoord + 1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord + 2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + 3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + 4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + 5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + 6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + 7 * uDelta)*0.0044299121055113265;',\n*/\n\n /* eslint-disable max-len */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec2 uDelta;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'const float nSamples = 15.0;\\n' +\n 'vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n' +\n 'float random(vec3 scale) {\\n' +\n /* use the fragment position for a different seed per-pixel */\n 'return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n' +\n '}\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0.0);\\n' +\n 'float total = 0.0;\\n' +\n 'float offset = random(v3offset);\\n' +\n 'for (float t = -nSamples; t <= nSamples; t++) {\\n' +\n 'float percent = (t + offset - 0.5) / nSamples;\\n' +\n 'float weight = 1.0 - abs(percent);\\n' +\n 'color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\\n' +\n 'total += weight;\\n' +\n '}\\n' +\n 'gl_FragColor = color / total;\\n' +\n '}',\n /* eslint-enable max-len */\n\n /**\n * blur value, in percentage of image dimensions.\n * specific to keep the image blur constant at different resolutions\n * range between 0 and 1.\n * @type Number\n * @default\n */\n blur: 0,\n\n mainParameter: 'blur',\n\n applyTo: function(options) {\n if (options.webgl) {\n // this aspectRatio is used to give the same blur to vertical and horizontal\n this.aspectRatio = options.sourceWidth / options.sourceHeight;\n options.passes++;\n this._setupFrameBuffer(options);\n this.horizontal = true;\n this.applyToWebGL(options);\n this._swapTextures(options);\n this._setupFrameBuffer(options);\n this.horizontal = false;\n this.applyToWebGL(options);\n this._swapTextures(options);\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n applyTo2d: function(options) {\n // paint canvasEl with current image data.\n //options.ctx.putImageData(options.imageData, 0, 0);\n options.imageData = this.simpleBlur(options);\n },\n\n simpleBlur: function(options) {\n var resources = options.filterBackend.resources, canvas1, canvas2,\n width = options.imageData.width,\n height = options.imageData.height;\n\n if (!resources.blurLayer1) {\n resources.blurLayer1 = fabric.util.createCanvasElement();\n resources.blurLayer2 = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blurLayer1;\n canvas2 = resources.blurLayer2;\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas2.width = canvas1.width = width;\n canvas2.height = canvas1.height = height;\n }\n var ctx1 = canvas1.getContext('2d'),\n ctx2 = canvas2.getContext('2d'),\n nSamples = 15,\n random, percent, j, i,\n blur = this.blur * 0.06 * 0.5;\n\n // load first canvas\n ctx1.putImageData(options.imageData, 0, 0);\n ctx2.clearRect(0, 0, width, height);\n\n for (i = -nSamples; i <= nSamples; i++) {\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * width + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, j, random);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n for (i = -nSamples; i <= nSamples; i++) {\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * height + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, random, j);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n options.ctx.drawImage(canvas1, 0, 0);\n var newImageData = options.ctx.getImageData(0, 0, canvas1.width, canvas1.height);\n ctx1.globalAlpha = 1;\n ctx1.clearRect(0, 0, canvas1.width, canvas1.height);\n return newImageData;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n delta: gl.getUniformLocation(program, 'uDelta'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var delta = this.chooseRightDelta();\n gl.uniform2fv(uniformLocations.delta, delta);\n },\n\n /**\n * choose right value of image percentage to blur with\n * @returns {Array} a numeric array with delta values\n */\n chooseRightDelta: function() {\n var blurScale = 1, delta = [0, 0], blur;\n if (this.horizontal) {\n if (this.aspectRatio > 1) {\n // image is wide, i want to shrink radius horizontal\n blurScale = 1 / this.aspectRatio;\n }\n }\n else {\n if (this.aspectRatio < 1) {\n // image is tall, i want to shrink radius vertical\n blurScale = this.aspectRatio;\n }\n }\n blur = blurScale * this.blur * 0.12;\n if (this.horizontal) {\n delta[0] = blur;\n }\n else {\n delta[1] = blur;\n }\n return delta;\n },\n });\n\n /**\n * Deserialize a JSON definition of a BlurFilter into a concrete instance.\n */\n filters.Blur.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Gamma filter class\n * @class fabric.Image.filters.Gamma\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Gamma#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Gamma({\n * gamma: [1, 0.5, 2.1]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Gamma = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Gamma.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Gamma',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec3 uGamma;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec3 correction = (1.0 / uGamma);\\n' +\n 'color.r = pow(color.r, correction.r);\\n' +\n 'color.g = pow(color.g, correction.g);\\n' +\n 'color.b = pow(color.b, correction.b);\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.rgb *= color.a;\\n' +\n '}',\n\n /**\n * Gamma array value, from 0.01 to 2.2.\n * @param {Array} gamma\n * @default\n */\n gamma: [1, 1, 1],\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'gamma',\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.gamma = [1, 1, 1];\n filters.BaseFilter.prototype.initialize.call(this, options);\n },\n\n /**\n * Apply the Gamma operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data,\n gamma = this.gamma, len = data.length,\n rInv = 1 / gamma[0], gInv = 1 / gamma[1],\n bInv = 1 / gamma[2], i;\n\n if (!this.rVals) {\n // eslint-disable-next-line\n this.rVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.gVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.bVals = new Uint8Array(256);\n }\n\n // This is an optimization - pre-compute a look-up table for each color channel\n // instead of performing these pow calls for each pixel in the image.\n for (i = 0, len = 256; i < len; i++) {\n this.rVals[i] = Math.pow(i / 255, rInv) * 255;\n this.gVals[i] = Math.pow(i / 255, gInv) * 255;\n this.bVals[i] = Math.pow(i / 255, bInv) * 255;\n }\n for (i = 0, len = data.length; i < len; i += 4) {\n data[i] = this.rVals[data[i]];\n data[i + 1] = this.gVals[data[i + 1]];\n data[i + 2] = this.bVals[data[i + 2]];\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uGamma: gl.getUniformLocation(program, 'uGamma'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform3fv(uniformLocations.uGamma, this.gamma);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Gamma} Instance of fabric.Image.filters.Gamma\n */\n fabric.Image.filters.Gamma.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * A container class that knows how to apply a sequence of filters to an input image.\n */\n filters.Composed = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Composed.prototype */ {\n\n type: 'Composed',\n\n /**\n * A non sparse array of filters to apply\n */\n subFilters: [],\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n // create a new array instead mutating the prototype with push\n this.subFilters = this.subFilters.slice(0);\n },\n\n /**\n * Apply this container's filters to the input image provided.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be applied.\n */\n applyTo: function(options) {\n options.passes += this.subFilters.length - 1;\n this.subFilters.forEach(function(filter) {\n filter.applyTo(options);\n });\n },\n\n /**\n * Serialize this filter into JSON.\n *\n * @returns {Object} A JSON representation of this filter.\n */\n toObject: function() {\n return fabric.util.object.extend(this.callSuper('toObject'), {\n subFilters: this.subFilters.map(function(filter) { return filter.toObject(); }),\n });\n },\n\n isNeutralState: function() {\n return !this.subFilters.some(function(filter) { return !filter.isNeutralState(); });\n }\n });\n\n /**\n * Deserialize a JSON definition of a ComposedFilter into a concrete instance.\n */\n fabric.Image.filters.Composed.fromObject = function(object, callback) {\n var filters = object.subFilters || [],\n subFilters = filters.map(function(filter) {\n return new fabric.Image.filters[filter.type](filter);\n }),\n instance = new fabric.Image.filters.Composed({ subFilters: subFilters });\n callback && callback(instance);\n return instance;\n };\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * HueRotation filter class\n * @class fabric.Image.filters.HueRotation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.HueRotation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.HueRotation({\n * rotation: -0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.HueRotation = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.HueRotation.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'HueRotation',\n\n /**\n * HueRotation value, from -1 to 1.\n * the unit is radians\n * @param {Number} myParameter\n * @default\n */\n rotation: 0,\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'rotation',\n\n calculateMatrix: function() {\n var rad = this.rotation * Math.PI, cos = fabric.util.cos(rad), sin = fabric.util.sin(rad),\n aThird = 1 / 3, aThirdSqtSin = Math.sqrt(aThird) * sin, OneMinusCos = 1 - cos;\n this.matrix = [\n 1, 0, 0, 0, 0,\n 0, 1, 0, 0, 0,\n 0, 0, 1, 0, 0,\n 0, 0, 0, 1, 0\n ];\n this.matrix[0] = cos + OneMinusCos / 3;\n this.matrix[1] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[2] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[5] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[6] = cos + aThird * OneMinusCos;\n this.matrix[7] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[10] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[11] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[12] = cos + aThird * OneMinusCos;\n },\n\n /**\n * HueRotation isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/\n isNeutralState: function(options) {\n this.calculateMatrix();\n return filters.BaseFilter.prototype.isNeutralState.call(this, options);\n },\n\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n this.calculateMatrix();\n filters.BaseFilter.prototype.applyTo.call(this, options);\n },\n\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.HueRotation} Instance of fabric.Image.filters.HueRotation\n */\n fabric.Image.filters.HueRotation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n clone = fabric.util.object.clone;\n\n if (fabric.Text) {\n fabric.warn('fabric.Text is already defined');\n return;\n }\n\n var additionalProps =\n ('fontFamily fontWeight fontSize text underline overline linethrough' +\n ' textAlign fontStyle lineHeight textBackgroundColor charSpacing styles' +\n ' direction path pathStartOffset pathSide pathAlign').split(' ');\n\n /**\n * Text class\n * @class fabric.Text\n * @extends fabric.Object\n * @return {fabric.Text} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#text}\n * @see {@link fabric.Text#initialize} for constructor definition\n */\n fabric.Text = fabric.util.createClass(fabric.Object, /** @lends fabric.Text.prototype */ {\n\n /**\n * Properties which when set cause object to change dimensions\n * @type Array\n * @private\n */\n _dimensionAffectingProps: [\n 'fontSize',\n 'fontWeight',\n 'fontFamily',\n 'fontStyle',\n 'lineHeight',\n 'text',\n 'charSpacing',\n 'textAlign',\n 'styles',\n 'path',\n 'pathStartOffset',\n 'pathSide',\n 'pathAlign'\n ],\n\n /**\n * @private\n */\n _reNewline: /\\r?\\n/,\n\n /**\n * Use this regular expression to filter for whitespaces that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reSpacesAndTabs: /[ \\t\\r]/g,\n\n /**\n * Use this regular expression to filter for whitespace that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reSpaceAndTab: /[ \\t\\r]/,\n\n /**\n * Use this regular expression to filter consecutive groups of non spaces.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reWords: /\\S+/g,\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'text',\n\n /**\n * Font size (in pixels)\n * @type Number\n * @default\n */\n fontSize: 40,\n\n /**\n * Font weight (e.g. bold, normal, 400, 600, 800)\n * @type {(Number|String)}\n * @default\n */\n fontWeight: 'normal',\n\n /**\n * Font family\n * @type String\n * @default\n */\n fontFamily: 'Times New Roman',\n\n /**\n * Text decoration underline.\n * @type Boolean\n * @default\n */\n underline: false,\n\n /**\n * Text decoration overline.\n * @type Boolean\n * @default\n */\n overline: false,\n\n /**\n * Text decoration linethrough.\n * @type Boolean\n * @default\n */\n linethrough: false,\n\n /**\n * Text alignment. Possible values: \"left\", \"center\", \"right\", \"justify\",\n * \"justify-left\", \"justify-center\" or \"justify-right\".\n * @type String\n * @default\n */\n textAlign: 'left',\n\n /**\n * Font style . Possible values: \"\", \"normal\", \"italic\" or \"oblique\".\n * @type String\n * @default\n */\n fontStyle: 'normal',\n\n /**\n * Line height\n * @type Number\n * @default\n */\n lineHeight: 1.16,\n\n /**\n * Superscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */\n superscript: {\n size: 0.60, // fontSize factor\n baseline: -0.35 // baseline-shift factor (upwards)\n },\n\n /**\n * Subscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */\n subscript: {\n size: 0.60, // fontSize factor\n baseline: 0.11 // baseline-shift factor (downwards)\n },\n\n /**\n * Background color of text lines\n * @type String\n * @default\n */\n textBackgroundColor: '',\n\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat(additionalProps),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * @type Array\n */\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(additionalProps),\n\n /**\n * When defined, an object is rendered via stroke and this property specifies its color.\n * Backwards incompatibility note: This property was named \"strokeStyle\" until v1.1.6\n * @type String\n * @default\n */\n stroke: null,\n\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property was named \"textShadow\" (String) until v1.2.11\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * fabric.Path that the text should follow.\n * since 4.6.0 the path will be drawn automatically.\n * if you want to make the path visible, give it a stroke and strokeWidth or fill value\n * if you want it to be hidden, assign visible = false to the path.\n * This feature is in BETA, and SVG import/export is not yet supported.\n * @type fabric.Path\n * @example\n * var textPath = new fabric.Text('Text on a path', {\n * top: 150,\n * left: 150,\n * textAlign: 'center',\n * charSpacing: -50,\n * path: new fabric.Path('M 0 0 C 50 -100 150 -100 200 0', {\n * strokeWidth: 1,\n * visible: false\n * }),\n * pathSide: 'left',\n * pathStartOffset: 0\n * });\n * @default\n */\n path: null,\n\n /**\n * Offset amount for text path starting position\n * Only used when text has a path\n * @type Number\n * @default\n */\n pathStartOffset: 0,\n\n /**\n * Which side of the path the text should be drawn on.\n * Only used when text has a path\n * @type {String} 'left|right'\n * @default\n */\n pathSide: 'left',\n\n /**\n * How text is aligned to the path. This property determines\n * the perpendicular position of each character relative to the path.\n * (one of \"baseline\", \"center\", \"ascender\", \"descender\")\n * This feature is in BETA, and its behavior may change\n * @type String\n * @default\n */\n pathAlign: 'baseline',\n\n /**\n * @private\n */\n _fontSizeFraction: 0.222,\n\n /**\n * @private\n */\n offsets: {\n underline: 0.10,\n linethrough: -0.315,\n overline: -0.88\n },\n\n /**\n * Text Line proportion to font Size (in pixels)\n * @type Number\n * @default\n */\n _fontSizeMult: 1.13,\n\n /**\n * additional space between characters\n * expressed in thousands of em unit\n * @type Number\n * @default\n */\n charSpacing: 0,\n\n /**\n * Object containing character styles - top-level properties -> line numbers,\n * 2nd-level properties - character numbers\n * @type Object\n * @default\n */\n styles: null,\n\n /**\n * Reference to a context to measure text char or couple of chars\n * the cacheContext of the canvas will be used or a freshly created one if the object is not on canvas\n * once created it will be referenced on fabric._measuringContext to avoid creating a canvas for every\n * text object created.\n * @type {CanvasRenderingContext2D}\n * @default\n */\n _measuringContext: null,\n\n /**\n * Baseline shift, styles only, keep at 0 for the main text object\n * @type {Number}\n * @default\n */\n deltaY: 0,\n\n /**\n * WARNING: EXPERIMENTAL. NOT SUPPORTED YET\n * determine the direction of the text.\n * This has to be set manually together with textAlign and originX for proper\n * experience.\n * some interesting link for the future\n * https://www.w3.org/International/questions/qa-bidi-unicode-controls\n * @since 4.5.0\n * @type {String} 'ltr|rtl'\n * @default\n */\n direction: 'ltr',\n\n /**\n * Array of properties that define a style unit (of 'styles').\n * @type {Array}\n * @default\n */\n _styleProperties: [\n 'stroke',\n 'strokeWidth',\n 'fill',\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'fontStyle',\n 'underline',\n 'overline',\n 'linethrough',\n 'deltaY',\n 'textBackgroundColor',\n ],\n\n /**\n * contains characters bounding boxes\n */\n __charBounds: [],\n\n /**\n * use this size when measuring text. To avoid IE11 rounding errors\n * @type {Number}\n * @default\n * @readonly\n * @private\n */\n CACHE_FONT_SIZE: 400,\n\n /**\n * contains the min text width to avoid getting 0\n * @type {Number}\n * @default\n */\n MIN_TEXT_WIDTH: 2,\n\n /**\n * Constructor\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */\n initialize: function(text, options) {\n this.styles = options ? (options.styles || { }) : { };\n this.text = text;\n this.__skipDimension = true;\n this.callSuper('initialize', options);\n if (this.path) {\n this.setPathInfo();\n }\n this.__skipDimension = false;\n this.initDimensions();\n this.setCoords();\n this.setupState({ propertySet: '_dimensionAffectingProps' });\n },\n\n /**\n * If text has a path, it will add the extra information needed\n * for path and text calculations\n * @return {fabric.Text} thisArg\n */\n setPathInfo: function() {\n var path = this.path;\n if (path) {\n path.segmentsInfo = fabric.util.getPathSegmentsInfo(path.path);\n }\n },\n\n /**\n * Return a context for measurement of text string.\n * if created it gets stored for reuse\n * this is for internal use, please do not use it\n * @private\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */\n getMeasuringContext: function() {\n // if we did not return we have to measure something.\n if (!fabric._measuringContext) {\n fabric._measuringContext = this.canvas && this.canvas.contextCache ||\n fabric.util.createCanvasElement().getContext('2d');\n }\n return fabric._measuringContext;\n },\n\n /**\n * @private\n * Divides text into lines of text and lines of graphemes.\n */\n _splitText: function() {\n var newLines = this._splitTextIntoLines(this.text);\n this.textLines = newLines.lines;\n this._textLines = newLines.graphemeLines;\n this._unwrappedTextLines = newLines._unwrappedLines;\n this._text = newLines.graphemeText;\n return newLines;\n },\n\n /**\n * Initialize or update text dimensions.\n * Updates this.width and this.height with the proper values.\n * Does not return dimensions.\n */\n initDimensions: function() {\n if (this.__skipDimension) {\n return;\n }\n this._splitText();\n this._clearCache();\n if (this.path) {\n this.width = this.path.width;\n this.height = this.path.height;\n }\n else {\n this.width = this.calcTextWidth() || this.cursorWidth || this.MIN_TEXT_WIDTH;\n this.height = this.calcTextHeight();\n }\n if (this.textAlign.indexOf('justify') !== -1) {\n // once text is measured we need to make space fatter to make justified text.\n this.enlargeSpaces();\n }\n this.saveState({ propertySet: '_dimensionAffectingProps' });\n },\n\n /**\n * Enlarge space boxes and shift the others\n */\n enlargeSpaces: function() {\n var diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n if (this.textAlign !== 'justify' && (i === len - 1 || this.isEndOfWrapping(i))) {\n continue;\n }\n accumulatedSpace = 0;\n line = this._textLines[i];\n currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {\n numberOfSpaces = spaces.length;\n diffSpace = (this.width - currentLineWidth) / numberOfSpaces;\n for (var j = 0, jlen = line.length; j <= jlen; j++) {\n charBound = this.__charBounds[i][j];\n if (this._reSpaceAndTab.test(line[j])) {\n charBound.width += diffSpace;\n charBound.kernedWidth += diffSpace;\n charBound.left += accumulatedSpace;\n accumulatedSpace += diffSpace;\n }\n else {\n charBound.left += accumulatedSpace;\n }\n }\n }\n }\n },\n\n /**\n * Detect if the text line is ended with an hard break\n * text and itext do not have wrapping, return false\n * @return {Boolean}\n */\n isEndOfWrapping: function(lineIndex) {\n return lineIndex === this._textLines.length - 1;\n },\n\n /**\n * Detect if a line has a linebreak and so we need to account for it when moving\n * and counting style.\n * It return always for text and Itext.\n * @return Number\n */\n missingNewlineOffset: function() {\n return 1;\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} String representation of text object\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @param {Object} dim.x width of object to be cached\n * @param {Object} dim.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _getCacheCanvasDimensions: function() {\n var dims = this.callSuper('_getCacheCanvasDimensions');\n var fontSize = this.fontSize;\n dims.width += fontSize * dims.zoomX;\n dims.height += fontSize * dims.zoomY;\n return dims;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n var path = this.path;\n path && !path.isNotVisible() && path._render(ctx);\n this._setTextStyles(ctx);\n this._renderTextLinesBackground(ctx);\n this._renderTextDecoration(ctx, 'underline');\n this._renderText(ctx);\n this._renderTextDecoration(ctx, 'overline');\n this._renderTextDecoration(ctx, 'linethrough');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderText: function(ctx) {\n if (this.paintFirst === 'stroke') {\n this._renderTextStroke(ctx);\n this._renderTextFill(ctx);\n }\n else {\n this._renderTextFill(ctx);\n this._renderTextStroke(ctx);\n }\n },\n\n /**\n * Set the font parameter of the context with the object properties or with charStyle\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [charStyle] object with font style properties\n * @param {String} [charStyle.fontFamily] Font Family\n * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )\n * @param {String} [charStyle.fontWeight] Font weight\n * @param {String} [charStyle.fontStyle] Font style (italic|normal)\n */\n _setTextStyles: function(ctx, charStyle, forMeasuring) {\n ctx.textBaseline = 'alphabetical';\n if (this.path) {\n switch (this.pathAlign) {\n case 'center':\n ctx.textBaseline = 'middle';\n break;\n case 'ascender':\n ctx.textBaseline = 'top';\n break;\n case 'descender':\n ctx.textBaseline = 'bottom';\n break;\n }\n }\n ctx.font = this._getFontDeclaration(charStyle, forMeasuring);\n },\n\n /**\n * calculate and return the text Width measuring each line.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @return {Number} Maximum width of fabric.Text object\n */\n calcTextWidth: function() {\n var maxWidth = this.getLineWidth(0);\n\n for (var i = 1, len = this._textLines.length; i < len; i++) {\n var currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth > maxWidth) {\n maxWidth = currentLineWidth;\n }\n }\n return maxWidth;\n },\n\n /**\n * @private\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} line Text to render\n * @param {Number} left Left position of text\n * @param {Number} top Top position of text\n * @param {Number} lineIndex Index of a line in a text\n */\n _renderTextLine: function(method, ctx, line, left, top, lineIndex) {\n this._renderChars(method, ctx, line, left, top, lineIndex);\n },\n\n /**\n * Renders the text background for lines, taking care of style\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextLinesBackground: function(ctx) {\n if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {\n return;\n }\n var heightOfLine,\n lineLeftOffset, originalFill = ctx.fillStyle,\n line, lastColor,\n leftOffset = this._getLeftOffset(),\n lineTopOffset = this._getTopOffset(),\n boxStart = 0, boxWidth = 0, charBox, currentColor, path = this.path,\n drawStart;\n\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n heightOfLine = this.getHeightOfLine(i);\n if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor', i)) {\n lineTopOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n lineLeftOffset = this._getLineLeftOffset(i);\n boxWidth = 0;\n boxStart = 0;\n lastColor = this.getValueOfPropertyAt(i, 0, 'textBackgroundColor');\n for (var j = 0, jlen = line.length; j < jlen; j++) {\n charBox = this.__charBounds[i][j];\n currentColor = this.getValueOfPropertyAt(i, j, 'textBackgroundColor');\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillStyle = currentColor;\n currentColor && ctx.fillRect(\n -charBox.width / 2,\n -heightOfLine / this.lineHeight * (1 - this._fontSizeFraction),\n charBox.width,\n heightOfLine / this.lineHeight\n );\n ctx.restore();\n }\n else if (currentColor !== lastColor) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = lastColor;\n lastColor && ctx.fillRect(\n drawStart,\n lineTopOffset,\n boxWidth,\n heightOfLine / this.lineHeight\n );\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastColor = currentColor;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n }\n if (currentColor && !path) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentColor;\n ctx.fillRect(\n drawStart,\n lineTopOffset,\n boxWidth,\n heightOfLine / this.lineHeight\n );\n }\n lineTopOffset += heightOfLine;\n }\n ctx.fillStyle = originalFill;\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * @private\n * @param {Object} decl style declaration for cache\n * @param {String} decl.fontFamily fontFamily\n * @param {String} decl.fontStyle fontStyle\n * @param {String} decl.fontWeight fontWeight\n * @return {Object} reference to cache\n */\n getFontCache: function(decl) {\n var fontFamily = decl.fontFamily.toLowerCase();\n if (!fabric.charWidthsCache[fontFamily]) {\n fabric.charWidthsCache[fontFamily] = { };\n }\n var cache = fabric.charWidthsCache[fontFamily],\n cacheProp = decl.fontStyle.toLowerCase() + '_' + (decl.fontWeight + '').toLowerCase();\n if (!cache[cacheProp]) {\n cache[cacheProp] = { };\n }\n return cache[cacheProp];\n },\n\n /**\n * measure and return the width of a single character.\n * possibly overridden to accommodate different measure logic or\n * to hook some external lib for character measurement\n * @private\n * @param {String} _char, char to be measured\n * @param {Object} charStyle style of char to be measured\n * @param {String} [previousChar] previous char\n * @param {Object} [prevCharStyle] style of previous char\n */\n _measureChar: function(_char, charStyle, previousChar, prevCharStyle) {\n // first i try to return from cache\n var fontCache = this.getFontCache(charStyle), fontDeclaration = this._getFontDeclaration(charStyle),\n previousFontDeclaration = this._getFontDeclaration(prevCharStyle), couple = previousChar + _char,\n stylesAreEqual = fontDeclaration === previousFontDeclaration, width, coupleWidth, previousWidth,\n fontMultiplier = charStyle.fontSize / this.CACHE_FONT_SIZE, kernedWidth;\n\n if (previousChar && fontCache[previousChar] !== undefined) {\n previousWidth = fontCache[previousChar];\n }\n if (fontCache[_char] !== undefined) {\n kernedWidth = width = fontCache[_char];\n }\n if (stylesAreEqual && fontCache[couple] !== undefined) {\n coupleWidth = fontCache[couple];\n kernedWidth = coupleWidth - previousWidth;\n }\n if (width === undefined || previousWidth === undefined || coupleWidth === undefined) {\n var ctx = this.getMeasuringContext();\n // send a TRUE to specify measuring font size CACHE_FONT_SIZE\n this._setTextStyles(ctx, charStyle, true);\n }\n if (width === undefined) {\n kernedWidth = width = ctx.measureText(_char).width;\n fontCache[_char] = width;\n }\n if (previousWidth === undefined && stylesAreEqual && previousChar) {\n previousWidth = ctx.measureText(previousChar).width;\n fontCache[previousChar] = previousWidth;\n }\n if (stylesAreEqual && coupleWidth === undefined) {\n // we can measure the kerning couple and subtract the width of the previous character\n coupleWidth = ctx.measureText(couple).width;\n fontCache[couple] = coupleWidth;\n kernedWidth = coupleWidth - previousWidth;\n }\n return { width: width * fontMultiplier, kernedWidth: kernedWidth * fontMultiplier };\n },\n\n /**\n * Computes height of character at given position\n * @param {Number} line the line index number\n * @param {Number} _char the character index number\n * @return {Number} fontSize of the character\n */\n getHeightOfChar: function(line, _char) {\n return this.getValueOfPropertyAt(line, _char, 'fontSize');\n },\n\n /**\n * measure a text line measuring all characters.\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */\n measureLine: function(lineIndex) {\n var lineInfo = this._measureLine(lineIndex);\n if (this.charSpacing !== 0) {\n lineInfo.width -= this._getWidthOfCharSpacing();\n }\n if (lineInfo.width < 0) {\n lineInfo.width = 0;\n }\n return lineInfo;\n },\n\n /**\n * measure every grapheme of a line, populating __charBounds\n * @param {Number} lineIndex\n * @return {Object} object.width total width of characters\n * @return {Object} object.widthOfSpaces length of chars that match this._reSpacesAndTabs\n */\n _measureLine: function(lineIndex) {\n var width = 0, i, grapheme, line = this._textLines[lineIndex], prevGrapheme,\n graphemeInfo, numOfSpaces = 0, lineBounds = new Array(line.length),\n positionInPath = 0, startingPoint, totalPathLength, path = this.path,\n reverse = this.pathSide === 'right';\n\n this.__charBounds[lineIndex] = lineBounds;\n for (i = 0; i < line.length; i++) {\n grapheme = line[i];\n graphemeInfo = this._getGraphemeBox(grapheme, lineIndex, i, prevGrapheme);\n lineBounds[i] = graphemeInfo;\n width += graphemeInfo.kernedWidth;\n prevGrapheme = grapheme;\n }\n // this latest bound box represent the last character of the line\n // to simplify cursor handling in interactive mode.\n lineBounds[i] = {\n left: graphemeInfo ? graphemeInfo.left + graphemeInfo.width : 0,\n width: 0,\n kernedWidth: 0,\n height: this.fontSize\n };\n if (path) {\n totalPathLength = path.segmentsInfo[path.segmentsInfo.length - 1].length;\n startingPoint = fabric.util.getPointOnPath(path.path, 0, path.segmentsInfo);\n startingPoint.x += path.pathOffset.x;\n startingPoint.y += path.pathOffset.y;\n switch (this.textAlign) {\n case 'left':\n positionInPath = reverse ? (totalPathLength - width) : 0;\n break;\n case 'center':\n positionInPath = (totalPathLength - width) / 2;\n break;\n case 'right':\n positionInPath = reverse ? 0 : (totalPathLength - width);\n break;\n //todo - add support for justify\n }\n positionInPath += this.pathStartOffset * (reverse ? -1 : 1);\n for (i = reverse ? line.length - 1 : 0;\n reverse ? i >= 0 : i < line.length;\n reverse ? i-- : i++) {\n graphemeInfo = lineBounds[i];\n if (positionInPath > totalPathLength) {\n positionInPath %= totalPathLength;\n }\n else if (positionInPath < 0) {\n positionInPath += totalPathLength;\n }\n // it would probably much faster to send all the grapheme position for a line\n // and calculate path position/angle at once.\n this._setGraphemeOnPath(positionInPath, graphemeInfo, startingPoint);\n positionInPath += graphemeInfo.kernedWidth;\n }\n }\n return { width: width, numOfSpaces: numOfSpaces };\n },\n\n /**\n * Calculate the angle and the left,top position of the char that follow a path.\n * It appends it to graphemeInfo to be reused later at rendering\n * @private\n * @param {Number} positionInPath to be measured\n * @param {Object} graphemeInfo current grapheme box information\n * @param {Object} startingPoint position of the point\n */\n _setGraphemeOnPath: function(positionInPath, graphemeInfo, startingPoint) {\n var centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,\n path = this.path;\n\n // we are at currentPositionOnPath. we want to know what point on the path is.\n var info = fabric.util.getPointOnPath(path.path, centerPosition, path.segmentsInfo);\n graphemeInfo.renderLeft = info.x - startingPoint.x;\n graphemeInfo.renderTop = info.y - startingPoint.y;\n graphemeInfo.angle = info.angle + (this.pathSide === 'right' ? Math.PI : 0);\n },\n\n /**\n * Measure and return the info of a single grapheme.\n * needs the the info of previous graphemes already filled\n * @private\n * @param {String} grapheme to be measured\n * @param {Number} lineIndex index of the line where the char is\n * @param {Number} charIndex position in the line\n * @param {String} [prevGrapheme] character preceding the one to be measured\n */\n _getGraphemeBox: function(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {\n var style = this.getCompleteStyleDeclaration(lineIndex, charIndex),\n prevStyle = prevGrapheme ? this.getCompleteStyleDeclaration(lineIndex, charIndex - 1) : { },\n info = this._measureChar(grapheme, style, prevGrapheme, prevStyle),\n kernedWidth = info.kernedWidth,\n width = info.width, charSpacing;\n\n if (this.charSpacing !== 0) {\n charSpacing = this._getWidthOfCharSpacing();\n width += charSpacing;\n kernedWidth += charSpacing;\n }\n\n var box = {\n width: width,\n left: 0,\n height: style.fontSize,\n kernedWidth: kernedWidth,\n deltaY: style.deltaY,\n };\n if (charIndex > 0 && !skipLeft) {\n var previousBox = this.__charBounds[lineIndex][charIndex - 1];\n box.left = previousBox.left + previousBox.width + info.kernedWidth - info.width;\n }\n return box;\n },\n\n /**\n * Calculate height of line at 'lineIndex'\n * @param {Number} lineIndex index of line to calculate\n * @return {Number}\n */\n getHeightOfLine: function(lineIndex) {\n if (this.__lineHeights[lineIndex]) {\n return this.__lineHeights[lineIndex];\n }\n\n var line = this._textLines[lineIndex],\n // char 0 is measured before the line cycle because it nneds to char\n // emptylines\n maxHeight = this.getHeightOfChar(lineIndex, 0);\n for (var i = 1, len = line.length; i < len; i++) {\n maxHeight = Math.max(this.getHeightOfChar(lineIndex, i), maxHeight);\n }\n\n return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;\n },\n\n /**\n * Calculate text box height\n */\n calcTextHeight: function() {\n var lineHeight, height = 0;\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n lineHeight = this.getHeightOfLine(i);\n height += (i === len - 1 ? lineHeight / this.lineHeight : lineHeight);\n }\n return height;\n },\n\n /**\n * @private\n * @return {Number} Left offset\n */\n _getLeftOffset: function() {\n return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;\n },\n\n /**\n * @private\n * @return {Number} Top offset\n */\n _getTopOffset: function() {\n return -this.height / 2;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n */\n _renderTextCommon: function(ctx, method) {\n ctx.save();\n var lineHeights = 0, left = this._getLeftOffset(), top = this._getTopOffset();\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n var heightOfLine = this.getHeightOfLine(i),\n maxHeight = heightOfLine / this.lineHeight,\n leftOffset = this._getLineLeftOffset(i);\n this._renderTextLine(\n method,\n ctx,\n this._textLines[i],\n left + leftOffset,\n top + lineHeights + maxHeight,\n i\n );\n lineHeights += heightOfLine;\n }\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextFill: function(ctx) {\n if (!this.fill && !this.styleHas('fill')) {\n return;\n }\n\n this._renderTextCommon(ctx, 'fillText');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextStroke: function(ctx) {\n if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {\n return;\n }\n\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n\n ctx.save();\n this._setLineDash(ctx, this.strokeDashArray);\n ctx.beginPath();\n this._renderTextCommon(ctx, 'strokeText');\n ctx.closePath();\n ctx.restore();\n },\n\n /**\n * @private\n * @param {String} method fillText or strokeText.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} line Content of the line, splitted in an array by grapheme\n * @param {Number} left\n * @param {Number} top\n * @param {Number} lineIndex\n */\n _renderChars: function(method, ctx, line, left, top, lineIndex) {\n // set proper line offset\n var lineHeight = this.getHeightOfLine(lineIndex),\n isJustify = this.textAlign.indexOf('justify') !== -1,\n actualStyle,\n nextStyle,\n charsToRender = '',\n charBox,\n boxWidth = 0,\n timeToRender,\n path = this.path,\n shortCut = !isJustify && this.charSpacing === 0 && this.isEmptyStyles(lineIndex) && !path,\n isLtr = this.direction === 'ltr', sign = this.direction === 'ltr' ? 1 : -1,\n drawingLeft, currentDirection = ctx.canvas.getAttribute('dir');\n ctx.save();\n if (currentDirection !== this.direction) {\n ctx.canvas.setAttribute('dir', isLtr ? 'ltr' : 'rtl');\n ctx.direction = isLtr ? 'ltr' : 'rtl';\n ctx.textAlign = isLtr ? 'left' : 'right';\n }\n top -= lineHeight * this._fontSizeFraction / this.lineHeight;\n if (shortCut) {\n // render all the line in one pass without checking\n // drawingLeft = isLtr ? left : left - this.getLineWidth(lineIndex);\n this._renderChar(method, ctx, lineIndex, 0, line.join(''), left, top, lineHeight);\n ctx.restore();\n return;\n }\n for (var i = 0, len = line.length - 1; i <= len; i++) {\n timeToRender = i === len || this.charSpacing || path;\n charsToRender += line[i];\n charBox = this.__charBounds[lineIndex][i];\n if (boxWidth === 0) {\n left += sign * (charBox.kernedWidth - charBox.width);\n boxWidth += charBox.width;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n if (isJustify && !timeToRender) {\n if (this._reSpaceAndTab.test(line[i])) {\n timeToRender = true;\n }\n }\n if (!timeToRender) {\n // if we have charSpacing, we render char by char\n actualStyle = actualStyle || this.getCompleteStyleDeclaration(lineIndex, i);\n nextStyle = this.getCompleteStyleDeclaration(lineIndex, i + 1);\n timeToRender = fabric.util.hasStyleChanged(actualStyle, nextStyle, false);\n }\n if (timeToRender) {\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n this._renderChar(method, ctx, lineIndex, i, charsToRender, -boxWidth / 2, 0, lineHeight);\n ctx.restore();\n }\n else {\n drawingLeft = left;\n this._renderChar(method, ctx, lineIndex, i, charsToRender, drawingLeft, top, lineHeight);\n }\n charsToRender = '';\n actualStyle = nextStyle;\n left += sign * boxWidth;\n boxWidth = 0;\n }\n }\n ctx.restore();\n },\n\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {fabric.Gradient} filler a fabric gradient instance\n * @return {CanvasPattern} a pattern to use as fill/stroke style\n */\n _applyPatternGradientTransformText: function(filler) {\n var pCanvas = fabric.util.createCanvasElement(), pCtx,\n // TODO: verify compatibility with strokeUniform\n width = this.width + this.strokeWidth, height = this.height + this.strokeWidth;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext('2d');\n pCtx.beginPath(); pCtx.moveTo(0, 0); pCtx.lineTo(width, 0); pCtx.lineTo(width, height);\n pCtx.lineTo(0, height); pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.fillStyle = filler.toLive(pCtx);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fill();\n return pCtx.createPattern(pCanvas, 'no-repeat');\n },\n\n handleFiller: function(ctx, property, filler) {\n var offsetX, offsetY;\n if (filler.toLive) {\n if (filler.gradientUnits === 'percentage' || filler.gradientTransform || filler.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n offsetX = -this.width / 2;\n offsetY = -this.height / 2;\n ctx.translate(offsetX, offsetY);\n ctx[property] = this._applyPatternGradientTransformText(filler);\n return { offsetX: offsetX, offsetY: offsetY };\n }\n else {\n // is a simple gradient or pattern\n ctx[property] = filler.toLive(ctx, this);\n return this._applyPatternGradientTransform(ctx, filler);\n }\n }\n else {\n // is a color\n ctx[property] = filler;\n }\n return { offsetX: 0, offsetY: 0 };\n },\n\n _setStrokeStyles: function(ctx, decl) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = this.strokeLineCap;\n ctx.lineDashOffset = this.strokeDashOffset;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.miterLimit = this.strokeMiterLimit;\n return this.handleFiller(ctx, 'strokeStyle', decl.stroke);\n },\n\n _setFillStyles: function(ctx, decl) {\n return this.handleFiller(ctx, 'fillStyle', decl.fill);\n },\n\n /**\n * @private\n * @param {String} method\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {String} _char\n * @param {Number} left Left coordinate\n * @param {Number} top Top coordinate\n * @param {Number} lineHeight Height of the line\n */\n _renderChar: function(method, ctx, lineIndex, charIndex, _char, left, top) {\n var decl = this._getStyleDeclaration(lineIndex, charIndex),\n fullDecl = this.getCompleteStyleDeclaration(lineIndex, charIndex),\n shouldFill = method === 'fillText' && fullDecl.fill,\n shouldStroke = method === 'strokeText' && fullDecl.stroke && fullDecl.strokeWidth,\n fillOffsets, strokeOffsets;\n\n if (!shouldStroke && !shouldFill) {\n return;\n }\n ctx.save();\n\n shouldFill && (fillOffsets = this._setFillStyles(ctx, fullDecl));\n shouldStroke && (strokeOffsets = this._setStrokeStyles(ctx, fullDecl));\n\n ctx.font = this._getFontDeclaration(fullDecl);\n\n\n if (decl && decl.textBackgroundColor) {\n this._removeShadow(ctx);\n }\n if (decl && decl.deltaY) {\n top += decl.deltaY;\n }\n shouldFill && ctx.fillText(_char, left - fillOffsets.offsetX, top - fillOffsets.offsetY);\n shouldStroke && ctx.strokeText(_char, left - strokeOffsets.offsetX, top - strokeOffsets.offsetY);\n ctx.restore();\n },\n\n /**\n * Turns the character into a 'superior figure' (i.e. 'superscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n setSuperscript: function(start, end) {\n return this._setScript(start, end, this.superscript);\n },\n\n /**\n * Turns the character into an 'inferior figure' (i.e. 'subscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n setSubscript: function(start, end) {\n return this._setScript(start, end, this.subscript);\n },\n\n /**\n * Applies 'schema' at given position\n * @private\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @param {Number} schema\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n _setScript: function(start, end, schema) {\n var loc = this.get2DCursorLocation(start, true),\n fontSize = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, 'fontSize'),\n dy = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, 'deltaY'),\n style = { fontSize: fontSize * schema.size, deltaY: dy + fontSize * schema.baseline };\n this.setSelectionStyles(style, start, end);\n return this;\n },\n\n /**\n * @private\n * @param {Number} lineIndex index text line\n * @return {Number} Line left offset\n */\n _getLineLeftOffset: function(lineIndex) {\n var lineWidth = this.getLineWidth(lineIndex),\n lineDiff = this.width - lineWidth, textAlign = this.textAlign, direction = this.direction,\n isEndOfWrapping, leftOffset = 0, isEndOfWrapping = this.isEndOfWrapping(lineIndex);\n if (textAlign === 'justify'\n || (textAlign === 'justify-center' && !isEndOfWrapping)\n || (textAlign === 'justify-right' && !isEndOfWrapping)\n || (textAlign === 'justify-left' && !isEndOfWrapping)\n ) {\n return 0;\n }\n if (textAlign === 'center') {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === 'right') {\n leftOffset = lineDiff;\n }\n if (textAlign === 'justify-center') {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === 'justify-right') {\n leftOffset = lineDiff;\n }\n if (direction === 'rtl') {\n leftOffset -= lineDiff;\n }\n return leftOffset;\n },\n\n /**\n * @private\n */\n _clearCache: function() {\n this.__lineWidths = [];\n this.__lineHeights = [];\n this.__charBounds = [];\n },\n\n /**\n * @private\n */\n _shouldClearDimensionCache: function() {\n var shouldClear = this._forceClearCache;\n shouldClear || (shouldClear = this.hasStateChanged('_dimensionAffectingProps'));\n if (shouldClear) {\n this.dirty = true;\n this._forceClearCache = false;\n }\n return shouldClear;\n },\n\n /**\n * Measure a single line given its index. Used to calculate the initial\n * text bounding box. The values are calculated and stored in __lineWidths cache.\n * @private\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */\n getLineWidth: function(lineIndex) {\n if (this.__lineWidths[lineIndex] !== undefined) {\n return this.__lineWidths[lineIndex];\n }\n\n var lineInfo = this.measureLine(lineIndex);\n var width = lineInfo.width;\n this.__lineWidths[lineIndex] = width;\n return width;\n },\n\n _getWidthOfCharSpacing: function() {\n if (this.charSpacing !== 0) {\n return this.fontSize * this.charSpacing / 1000;\n }\n return 0;\n },\n\n /**\n * Retrieves the value of property at given character position\n * @param {Number} lineIndex the line number\n * @param {Number} charIndex the character number\n * @param {String} property the property name\n * @returns the value of 'property'\n */\n getValueOfPropertyAt: function(lineIndex, charIndex, property) {\n var charStyle = this._getStyleDeclaration(lineIndex, charIndex);\n if (charStyle && typeof charStyle[property] !== 'undefined') {\n return charStyle[property];\n }\n return this[property];\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextDecoration: function(ctx, type) {\n if (!this[type] && !this.styleHas(type)) {\n return;\n }\n var heightOfLine, size, _size,\n lineLeftOffset, dy, _dy,\n line, lastDecoration,\n leftOffset = this._getLeftOffset(),\n topOffset = this._getTopOffset(), top,\n boxStart, boxWidth, charBox, currentDecoration,\n maxHeight, currentFill, lastFill, path = this.path,\n charSpacing = this._getWidthOfCharSpacing(),\n offsetY = this.offsets[type];\n\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n heightOfLine = this.getHeightOfLine(i);\n if (!this[type] && !this.styleHas(type, i)) {\n topOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n maxHeight = heightOfLine / this.lineHeight;\n lineLeftOffset = this._getLineLeftOffset(i);\n boxStart = 0;\n boxWidth = 0;\n lastDecoration = this.getValueOfPropertyAt(i, 0, type);\n lastFill = this.getValueOfPropertyAt(i, 0, 'fill');\n top = topOffset + maxHeight * (1 - this._fontSizeFraction);\n size = this.getHeightOfChar(i, 0);\n dy = this.getValueOfPropertyAt(i, 0, 'deltaY');\n for (var j = 0, jlen = line.length; j < jlen; j++) {\n charBox = this.__charBounds[i][j];\n currentDecoration = this.getValueOfPropertyAt(i, j, type);\n currentFill = this.getValueOfPropertyAt(i, j, 'fill');\n _size = this.getHeightOfChar(i, j);\n _dy = this.getValueOfPropertyAt(i, j, 'deltaY');\n if (path && currentDecoration && currentFill) {\n ctx.save();\n ctx.fillStyle = lastFill;\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillRect(\n -charBox.kernedWidth / 2,\n offsetY * _size + _dy,\n charBox.kernedWidth,\n this.fontSize / 15\n );\n ctx.restore();\n }\n else if (\n (currentDecoration !== lastDecoration || currentFill !== lastFill || _size !== size || _dy !== dy)\n && boxWidth > 0\n ) {\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n if (lastDecoration && lastFill) {\n ctx.fillStyle = lastFill;\n ctx.fillRect(\n drawStart,\n top + offsetY * size + dy,\n boxWidth,\n this.fontSize / 15\n );\n }\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastDecoration = currentDecoration;\n lastFill = currentFill;\n size = _size;\n dy = _dy;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n }\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentFill;\n currentDecoration && currentFill && ctx.fillRect(\n drawStart,\n top + offsetY * size + dy,\n boxWidth - charSpacing,\n this.fontSize / 15\n );\n topOffset += heightOfLine;\n }\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * return font declaration string for canvas context\n * @param {Object} [styleObject] object\n * @returns {String} font declaration formatted for canvas context.\n */\n _getFontDeclaration: function(styleObject, forMeasuring) {\n var style = styleObject || this, family = this.fontFamily,\n fontIsGeneric = fabric.Text.genericFonts.indexOf(family.toLowerCase()) > -1;\n var fontFamily = family === undefined ||\n family.indexOf('\\'') > -1 || family.indexOf(',') > -1 ||\n family.indexOf('\"') > -1 || fontIsGeneric\n ? style.fontFamily : '\"' + style.fontFamily + '\"';\n return [\n // node-canvas needs \"weight style\", while browsers need \"style weight\"\n // verify if this can be fixed in JSDOM\n (fabric.isLikelyNode ? style.fontWeight : style.fontStyle),\n (fabric.isLikelyNode ? style.fontStyle : style.fontWeight),\n forMeasuring ? this.CACHE_FONT_SIZE + 'px' : style.fontSize + 'px',\n fontFamily\n ].join(' ');\n },\n\n /**\n * Renders text instance on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n render: function(ctx) {\n // do not render if object is not visible\n if (!this.visible) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n if (this._shouldClearDimensionCache()) {\n this.initDimensions();\n }\n this.callSuper('render', ctx);\n },\n\n /**\n * Returns the text as an array of lines.\n * @param {String} text text to split\n * @returns {Array} Lines in the text\n */\n _splitTextIntoLines: function(text) {\n var lines = text.split(this._reNewline),\n newLines = new Array(lines.length),\n newLine = ['\\n'],\n newText = [];\n for (var i = 0; i < lines.length; i++) {\n newLines[i] = fabric.util.string.graphemeSplit(lines[i]);\n newText = newText.concat(newLines[i], newLine);\n }\n newText.pop();\n return { _unwrappedLines: newLines, lines: lines, graphemeText: newText, graphemeLines: newLines };\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var allProperties = additionalProps.concat(propertiesToInclude);\n var obj = this.callSuper('toObject', allProperties);\n obj.styles = fabric.util.stylesToArray(this.styles, this.text);\n if (obj.path) {\n obj.path = this.path.toObject();\n }\n return obj;\n },\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n set: function(key, value) {\n this.callSuper('set', key, value);\n var needsDims = false;\n var isAddingPath = false;\n if (typeof key === 'object') {\n for (var _key in key) {\n if (_key === 'path') {\n this.setPathInfo();\n }\n needsDims = needsDims || this._dimensionAffectingProps.indexOf(_key) !== -1;\n isAddingPath = isAddingPath || _key === 'path';\n }\n }\n else {\n needsDims = this._dimensionAffectingProps.indexOf(key) !== -1;\n isAddingPath = key === 'path';\n }\n if (isAddingPath) {\n this.setPathInfo();\n }\n if (needsDims) {\n this.initDimensions();\n this.setCoords();\n }\n return this;\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity\n */\n complexity: function() {\n return 1;\n }\n });\n\n \n\n /**\n * Returns fabric.Text instance from an object representation\n * @static\n * @memberOf fabric.Text\n * @param {Object} object plain js Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Text instance is created\n */\n fabric.Text.fromObject = function(object, callback) {\n var objectCopy = clone(object), path = object.path;\n delete objectCopy.path;\n return fabric.Object._fromObject('Text', objectCopy, function(textInstance) {\n textInstance.styles = fabric.util.stylesFromArray(object.styles, object.text);\n if (path) {\n fabric.Object._fromObject('Path', path, function(pathInstance) {\n textInstance.set('path', pathInstance);\n callback(textInstance);\n }, 'path');\n }\n else {\n callback(textInstance);\n }\n }, 'text');\n };\n\n fabric.Text.genericFonts = ['sans-serif', 'serif', 'cursive', 'fantasy', 'monospace'];\n\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Text);\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n fabric.util.object.extend(fabric.Text.prototype, /** @lends fabric.Text.prototype */ {\n /**\n * Returns true if object has no styling or no styling in a line\n * @param {Number} lineIndex , lineIndex is on wrapped lines.\n * @return {Boolean}\n */\n isEmptyStyles: function(lineIndex) {\n if (!this.styles) {\n return true;\n }\n if (typeof lineIndex !== 'undefined' && !this.styles[lineIndex]) {\n return true;\n }\n var obj = typeof lineIndex === 'undefined' ? this.styles : { line: this.styles[lineIndex] };\n for (var p1 in obj) {\n for (var p2 in obj[p1]) {\n // eslint-disable-next-line no-unused-vars\n for (var p3 in obj[p1][p2]) {\n return false;\n }\n }\n }\n return true;\n },\n\n /**\n * Returns true if object has a style property or has it ina specified line\n * This function is used to detect if a text will use a particular property or not.\n * @param {String} property to check for\n * @param {Number} lineIndex to check the style on\n * @return {Boolean}\n */\n styleHas: function(property, lineIndex) {\n if (!this.styles || !property || property === '') {\n return false;\n }\n if (typeof lineIndex !== 'undefined' && !this.styles[lineIndex]) {\n return false;\n }\n var obj = typeof lineIndex === 'undefined' ? this.styles : { 0: this.styles[lineIndex] };\n // eslint-disable-next-line\n for (var p1 in obj) {\n // eslint-disable-next-line\n for (var p2 in obj[p1]) {\n if (typeof obj[p1][p2][property] !== 'undefined') {\n return true;\n }\n }\n }\n return false;\n },\n\n /**\n * Check if characters in a text have a value for a property\n * whose value matches the textbox's value for that property. If so,\n * the character-level property is deleted. If the character\n * has no other properties, then it is also deleted. Finally,\n * if the line containing that character has no other characters\n * then it also is deleted.\n *\n * @param {string} property The property to compare between characters and text.\n */\n cleanStyle: function(property) {\n if (!this.styles || !property || property === '') {\n return false;\n }\n var obj = this.styles, stylesCount = 0, letterCount, stylePropertyValue,\n allStyleObjectPropertiesMatch = true, graphemeCount = 0, styleObject;\n // eslint-disable-next-line\n for (var p1 in obj) {\n letterCount = 0;\n // eslint-disable-next-line\n for (var p2 in obj[p1]) {\n var styleObject = obj[p1][p2],\n stylePropertyHasBeenSet = styleObject.hasOwnProperty(property);\n\n stylesCount++;\n\n if (stylePropertyHasBeenSet) {\n if (!stylePropertyValue) {\n stylePropertyValue = styleObject[property];\n }\n else if (styleObject[property] !== stylePropertyValue) {\n allStyleObjectPropertiesMatch = false;\n }\n\n if (styleObject[property] === this[property]) {\n delete styleObject[property];\n }\n }\n else {\n allStyleObjectPropertiesMatch = false;\n }\n\n if (Object.keys(styleObject).length !== 0) {\n letterCount++;\n }\n else {\n delete obj[p1][p2];\n }\n }\n\n if (letterCount === 0) {\n delete obj[p1];\n }\n }\n // if every grapheme has the same style set then\n // delete those styles and set it on the parent\n for (var i = 0; i < this._textLines.length; i++) {\n graphemeCount += this._textLines[i].length;\n }\n if (allStyleObjectPropertiesMatch && stylesCount === graphemeCount) {\n this[property] = stylePropertyValue;\n this.removeStyle(property);\n }\n },\n\n /**\n * Remove a style property or properties from all individual character styles\n * in a text object. Deletes the character style object if it contains no other style\n * props. Deletes a line style object if it contains no other character styles.\n *\n * @param {String} props The property to remove from character styles.\n */\n removeStyle: function(property) {\n if (!this.styles || !property || property === '') {\n return;\n }\n var obj = this.styles, line, lineNum, charNum;\n for (lineNum in obj) {\n line = obj[lineNum];\n for (charNum in line) {\n delete line[charNum][property];\n if (Object.keys(line[charNum]).length === 0) {\n delete line[charNum];\n }\n }\n if (Object.keys(line).length === 0) {\n delete obj[lineNum];\n }\n }\n },\n\n /**\n * @private\n */\n _extendStyles: function(index, styles) {\n var loc = this.get2DCursorLocation(index);\n\n if (!this._getLineStyle(loc.lineIndex)) {\n this._setLineStyle(loc.lineIndex);\n }\n\n if (!this._getStyleDeclaration(loc.lineIndex, loc.charIndex)) {\n this._setStyleDeclaration(loc.lineIndex, loc.charIndex, {});\n }\n\n fabric.util.object.extend(this._getStyleDeclaration(loc.lineIndex, loc.charIndex), styles);\n },\n\n /**\n * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)\n * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.\n * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.\n */\n get2DCursorLocation: function(selectionStart, skipWrapping) {\n if (typeof selectionStart === 'undefined') {\n selectionStart = this.selectionStart;\n }\n var lines = skipWrapping ? this._unwrappedTextLines : this._textLines,\n len = lines.length;\n for (var i = 0; i < len; i++) {\n if (selectionStart <= lines[i].length) {\n return {\n lineIndex: i,\n charIndex: selectionStart\n };\n }\n selectionStart -= lines[i].length + this.missingNewlineOffset(i);\n }\n return {\n lineIndex: i - 1,\n charIndex: lines[i - 1].length < selectionStart ? lines[i - 1].length : selectionStart\n };\n },\n\n /**\n * Gets style of a current selection/cursor (at the start position)\n * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @param {Boolean} [complete] get full style or not\n * @return {Array} styles an array with one, zero or more Style objects\n */\n getSelectionStyles: function(startIndex, endIndex, complete) {\n if (typeof startIndex === 'undefined') {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === 'undefined') {\n endIndex = this.selectionEnd || startIndex;\n }\n var styles = [];\n for (var i = startIndex; i < endIndex; i++) {\n styles.push(this.getStyleAtPosition(i, complete));\n }\n return styles;\n },\n\n /**\n * Gets style of a current selection/cursor position\n * @param {Number} position to get styles at\n * @param {Boolean} [complete] full style if true\n * @return {Object} style Style object at a specified index\n * @private\n */\n getStyleAtPosition: function(position, complete) {\n var loc = this.get2DCursorLocation(position),\n style = complete ? this.getCompleteStyleDeclaration(loc.lineIndex, loc.charIndex) :\n this._getStyleDeclaration(loc.lineIndex, loc.charIndex);\n return style || {};\n },\n\n /**\n * Sets style of a current selection, if no selection exist, do not set anything.\n * @param {Object} [styles] Styles object\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @return {fabric.IText} thisArg\n * @chainable\n */\n setSelectionStyles: function(styles, startIndex, endIndex) {\n if (typeof startIndex === 'undefined') {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === 'undefined') {\n endIndex = this.selectionEnd || startIndex;\n }\n for (var i = startIndex; i < endIndex; i++) {\n this._extendStyles(i, styles);\n }\n /* not included in _extendStyles to avoid clearing cache more than once */\n this._forceClearCache = true;\n return this;\n },\n\n /**\n * get the reference, not a clone, of the style object for a given character\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @return {Object} style object\n */\n _getStyleDeclaration: function(lineIndex, charIndex) {\n var lineStyle = this.styles && this.styles[lineIndex];\n if (!lineStyle) {\n return null;\n }\n return lineStyle[charIndex];\n },\n\n /**\n * return a new object that contains all the style property for a character\n * the object returned is newly created\n * @param {Number} lineIndex of the line where the character is\n * @param {Number} charIndex position of the character on the line\n * @return {Object} style object\n */\n getCompleteStyleDeclaration: function(lineIndex, charIndex) {\n var style = this._getStyleDeclaration(lineIndex, charIndex) || { },\n styleObject = { }, prop;\n for (var i = 0; i < this._styleProperties.length; i++) {\n prop = this._styleProperties[i];\n styleObject[prop] = typeof style[prop] === 'undefined' ? this[prop] : style[prop];\n }\n return styleObject;\n },\n\n /**\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {Object} style\n * @private\n */\n _setStyleDeclaration: function(lineIndex, charIndex, style) {\n this.styles[lineIndex][charIndex] = style;\n },\n\n /**\n *\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @private\n */\n _deleteStyleDeclaration: function(lineIndex, charIndex) {\n delete this.styles[lineIndex][charIndex];\n },\n\n /**\n * @param {Number} lineIndex\n * @return {Boolean} if the line exists or not\n * @private\n */\n _getLineStyle: function(lineIndex) {\n return !!this.styles[lineIndex];\n },\n\n /**\n * Set the line style to an empty object so that is initialized\n * @param {Number} lineIndex\n * @private\n */\n _setLineStyle: function(lineIndex) {\n this.styles[lineIndex] = {};\n },\n\n /**\n * @param {Number} lineIndex\n * @private\n */\n _deleteLineStyle: function(lineIndex) {\n delete this.styles[lineIndex];\n }\n });\n})();\n(function() {\n\n var controlsUtils = fabric.controlsUtils,\n scaleSkewStyleHandler = controlsUtils.scaleSkewCursorStyleHandler,\n scaleStyleHandler = controlsUtils.scaleCursorStyleHandler,\n scalingEqually = controlsUtils.scalingEqually,\n scalingYOrSkewingX = controlsUtils.scalingYOrSkewingX,\n scalingXOrSkewingY = controlsUtils.scalingXOrSkewingY,\n scaleOrSkewActionName = controlsUtils.scaleOrSkewActionName,\n objectControls = fabric.Object.prototype.controls;\n\n objectControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mb = new fabric.Control({\n x: 0,\n y: 0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mt = new fabric.Control({\n x: 0,\n y: -0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.tl = new fabric.Control({\n x: -0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.tr = new fabric.Control({\n x: 0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.bl = new fabric.Control({\n x: -0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.br = new fabric.Control({\n x: 0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n actionHandler: controlsUtils.rotationWithSnapping,\n cursorStyleHandler: controlsUtils.rotationStyleHandler,\n offsetY: -40,\n withConnection: true,\n actionName: 'rotate',\n });\n\n if (fabric.Textbox) {\n // this is breaking the prototype inheritance, no time / ideas to fix it.\n // is important to document that if you want to have all objects to have a\n // specific custom control, you have to add it to Object prototype and to Textbox\n // prototype. The controls are shared as references. So changes to control `tr`\n // can still apply to all objects if needed.\n var textBoxControls = fabric.Textbox.prototype.controls = { };\n\n textBoxControls.mtr = objectControls.mtr;\n textBoxControls.tr = objectControls.tr;\n textBoxControls.br = objectControls.br;\n textBoxControls.tl = objectControls.tl;\n textBoxControls.bl = objectControls.bl;\n textBoxControls.mt = objectControls.mt;\n textBoxControls.mb = objectControls.mb;\n\n textBoxControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: 'resizing',\n });\n\n textBoxControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: 'resizing',\n });\n }\n})();\n(function () {\n /** ERASER_START */\n\n /**\n * add `eraser` to enlivened props\n */\n fabric.Object.ENLIVEN_PROPS.push('eraser');\n\n var __drawClipPath = fabric.Object.prototype._drawClipPath;\n var _needsItsOwnCache = fabric.Object.prototype.needsItsOwnCache;\n var _toObject = fabric.Object.prototype.toObject;\n var _getSvgCommons = fabric.Object.prototype.getSvgCommons;\n var __createBaseClipPathSVGMarkup = fabric.Object.prototype._createBaseClipPathSVGMarkup;\n var __createBaseSVGMarkup = fabric.Object.prototype._createBaseSVGMarkup;\n\n fabric.Object.prototype.cacheProperties.push('eraser');\n fabric.Object.prototype.stateProperties.push('eraser');\n\n /**\n * @fires erasing:end\n */\n fabric.util.object.extend(fabric.Object.prototype, {\n /**\n * Indicates whether this object can be erased by {@link fabric.EraserBrush}\n * The `deep` option introduces fine grained control over a group's `erasable` property.\n * When set to `deep` the eraser will erase nested objects if they are erasable, leaving the group and the other objects untouched.\n * When set to `true` the eraser will erase the entire group. Once the group changes the eraser is propagated to its children for proper functionality.\n * When set to `false` the eraser will leave all objects including the group untouched.\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n * @type boolean | 'deep'\n * @default true\n */\n erasable: true,\n\n /**\n * @tutorial {@link http://fabricjs.com/erasing#eraser}\n * @type fabric.Eraser\n */\n eraser: undefined,\n\n /**\n * @override\n * @returns Boolean\n */\n needsItsOwnCache: function () {\n return _needsItsOwnCache.call(this) || !!this.eraser;\n },\n\n /**\n * draw eraser above clip path\n * @override\n * @private\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */\n _drawClipPath: function (ctx, clipPath) {\n __drawClipPath.call(this, ctx, clipPath);\n if (this.eraser) {\n // update eraser size to match instance\n var size = this._getNonTransformedDimensions();\n this.eraser.isType('eraser') && this.eraser.set({\n width: size.x,\n height: size.y\n });\n __drawClipPath.call(this, ctx, this.eraser);\n }\n },\n\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function (propertiesToInclude) {\n var object = _toObject.call(this, ['erasable'].concat(propertiesToInclude));\n if (this.eraser && !this.eraser.excludeFromExport) {\n object.eraser = this.eraser.toObject(propertiesToInclude);\n }\n return object;\n },\n\n \n });\n\n var __restoreObjectsState = fabric.Group.prototype._restoreObjectsState;\n fabric.util.object.extend(fabric.Group.prototype, {\n /**\n * @private\n * @param {fabric.Path} path\n */\n _addEraserPathToObjects: function (path) {\n this._objects.forEach(function (object) {\n fabric.EraserBrush.prototype._addPathToObjectEraser.call(\n fabric.EraserBrush.prototype,\n object,\n path\n );\n });\n },\n\n /**\n * Applies the group's eraser to its objects\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n */\n applyEraserToObjects: function () {\n var _this = this, eraser = this.eraser;\n if (eraser) {\n delete this.eraser;\n var transform = _this.calcTransformMatrix();\n eraser.clone(function (eraser) {\n var clipPath = _this.clipPath;\n eraser.getObjects('path')\n .forEach(function (path) {\n // first we transform the path from the group's coordinate system to the canvas'\n var originalTransform = fabric.util.multiplyTransformMatrices(\n transform,\n path.calcTransformMatrix()\n );\n fabric.util.applyTransformToObject(path, originalTransform);\n if (clipPath) {\n clipPath.clone(function (_clipPath) {\n var eraserPath = fabric.EraserBrush.prototype.applyClipPathToPath.call(\n fabric.EraserBrush.prototype,\n path,\n _clipPath,\n transform\n );\n _this._addEraserPathToObjects(eraserPath);\n }, ['absolutePositioned', 'inverted']);\n }\n else {\n _this._addEraserPathToObjects(path);\n }\n });\n });\n }\n },\n\n /**\n * Propagate the group's eraser to its objects, crucial for proper functionality of the eraser within the group and nested objects.\n * @private\n */\n _restoreObjectsState: function () {\n this.erasable === true && this.applyEraserToObjects();\n return __restoreObjectsState.call(this);\n }\n });\n\n /**\n * An object's Eraser\n * @private\n * @class fabric.Eraser\n * @extends fabric.Group\n * @memberof fabric\n */\n fabric.Eraser = fabric.util.createClass(fabric.Group, {\n /**\n * @readonly\n * @static\n */\n type: 'eraser',\n\n /**\n * @default\n */\n originX: 'center',\n\n /**\n * @default\n */\n originY: 'center',\n\n drawObject: function (ctx) {\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n this.callSuper('drawObject', ctx);\n },\n\n /**\n * eraser should retain size\n * dimensions should not change when paths are added or removed\n * handled by {@link fabric.Object#_drawClipPath}\n * @override\n * @private\n */\n _getBounds: function () {\n // noop\n },\n\n \n });\n\n /**\n * Returns {@link fabric.Eraser} instance from an object representation\n * @static\n * @memberOf fabric.Eraser\n * @param {Object} object Object to create an Eraser from\n * @param {Function} [callback] Callback to invoke when an eraser instance is created\n */\n fabric.Eraser.fromObject = function (object, callback) {\n var objects = object.objects;\n fabric.util.enlivenObjects(objects, function (enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function () {\n callback && callback(new fabric.Eraser(enlivenedObjects, options, true));\n });\n });\n };\n\n var __renderOverlay = fabric.Canvas.prototype._renderOverlay;\n /**\n * @fires erasing:start\n * @fires erasing:end\n */\n fabric.util.object.extend(fabric.Canvas.prototype, {\n /**\n * Used by {@link #renderAll}\n * @returns boolean\n */\n isErasing: function () {\n return (\n this.isDrawingMode &&\n this.freeDrawingBrush &&\n this.freeDrawingBrush.type === 'eraser' &&\n this.freeDrawingBrush._isErasing\n );\n },\n\n /**\n * While erasing the brush clips out the erasing path from canvas\n * so we need to render it on top of canvas every render\n * @param {CanvasRenderingContext2D} ctx\n */\n _renderOverlay: function (ctx) {\n __renderOverlay.call(this, ctx);\n if (this.isErasing() && !this.freeDrawingBrush.inverted) {\n this.freeDrawingBrush._render();\n }\n }\n });\n\n /**\n * EraserBrush class\n * Supports selective erasing meaning that only erasable objects are affected by the eraser brush.\n * Supports **inverted** erasing meaning that the brush can \"undo\" erasing.\n *\n * In order to support selective erasing, the brush clips the entire canvas\n * and then draws all non-erasable objects over the erased path using a pattern brush so to speak (masking).\n * If brush is **inverted** there is no need to clip canvas. The brush draws all erasable objects without their eraser.\n * This achieves the desired effect of seeming to erase or unerase only erasable objects.\n * After erasing is done the created path is added to all intersected objects' `eraser` property.\n *\n * In order to update the EraserBrush call `preparePattern`.\n * It may come in handy when canvas changes during erasing (i.e animations) and you want the eraser to reflect the changes.\n *\n * @tutorial {@link http://fabricjs.com/erasing}\n * @class fabric.EraserBrush\n * @extends fabric.PencilBrush\n * @memberof fabric\n */\n fabric.EraserBrush = fabric.util.createClass(\n fabric.PencilBrush,\n /** @lends fabric.EraserBrush.prototype */ {\n type: 'eraser',\n\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n inverted: false,\n\n /**\n * @private\n */\n _isErasing: false,\n\n /**\n *\n * @private\n * @param {fabric.Object} object\n * @returns boolean\n */\n _isErasable: function (object) {\n return object.erasable !== false;\n },\n\n /**\n * @private\n * This is designed to support erasing a collection with both erasable and non-erasable objects.\n * Iterates over collections to allow nested selective erasing.\n * Prepares the pattern brush that will draw on the top context to achieve the desired visual effect.\n * If brush is **NOT** inverted render all non-erasable objects.\n * If brush is inverted render all erasable objects that have been erased with their clip path inverted.\n * This will render the erased parts as if they were not erased.\n *\n * @param {fabric.Collection} collection\n * @param {CanvasRenderingContext2D} ctx\n * @param {{ visibility: fabric.Object[], eraser: fabric.Object[], collection: fabric.Object[] }} restorationContext\n */\n _prepareCollectionTraversal: function (collection, ctx, restorationContext) {\n collection.forEachObject(function (obj) {\n if (obj.forEachObject && obj.erasable === 'deep') {\n // traverse\n this._prepareCollectionTraversal(obj, ctx, restorationContext);\n }\n else if (!this.inverted && obj.erasable && obj.visible) {\n // render only non-erasable objects\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n else if (this.inverted && obj.visible) {\n // render only erasable objects that were erased\n if (obj.erasable && obj.eraser) {\n obj.eraser.inverted = true;\n obj.dirty = true;\n collection.dirty = true;\n restorationContext.eraser.push(obj);\n restorationContext.collection.push(collection);\n }\n else {\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n }\n }, this);\n },\n\n /**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context, achieving a visual effect of erasing only erasable objects\n * @todo decide how overlay color should behave when `inverted === true`, currently draws over it which is undesirable\n * @private\n */\n preparePattern: function () {\n if (!this._patternCanvas) {\n this._patternCanvas = fabric.util.createCanvasElement();\n }\n var canvas = this._patternCanvas;\n canvas.width = this.canvas.width;\n canvas.height = this.canvas.height;\n var patternCtx = canvas.getContext('2d');\n if (this.canvas._isRetinaScaling()) {\n var retinaScaling = this.canvas.getRetinaScaling();\n this.canvas.__initRetinaScaling(retinaScaling, canvas, patternCtx);\n }\n var backgroundImage = this.canvas.backgroundImage,\n bgErasable = backgroundImage && this._isErasable(backgroundImage),\n overlayImage = this.canvas.overlayImage,\n overlayErasable = overlayImage && this._isErasable(overlayImage);\n if (!this.inverted && ((backgroundImage && !bgErasable) || !!this.canvas.backgroundColor)) {\n if (bgErasable) { this.canvas.backgroundImage = undefined; }\n this.canvas._renderBackground(patternCtx);\n if (bgErasable) { this.canvas.backgroundImage = backgroundImage; }\n }\n else if (this.inverted && (backgroundImage && bgErasable)) {\n var color = this.canvas.backgroundColor;\n this.canvas.backgroundColor = undefined;\n this.canvas._renderBackground(patternCtx);\n this.canvas.backgroundColor = color;\n }\n patternCtx.save();\n patternCtx.transform.apply(patternCtx, this.canvas.viewportTransform);\n var restorationContext = { visibility: [], eraser: [], collection: [] };\n this._prepareCollectionTraversal(this.canvas, patternCtx, restorationContext);\n this.canvas._renderObjects(patternCtx, this.canvas._objects);\n restorationContext.visibility.forEach(function (obj) { obj.visible = true; });\n restorationContext.eraser.forEach(function (obj) {\n obj.eraser.inverted = false;\n obj.dirty = true;\n });\n restorationContext.collection.forEach(function (obj) { obj.dirty = true; });\n patternCtx.restore();\n if (!this.inverted && ((overlayImage && !overlayErasable) || !!this.canvas.overlayColor)) {\n if (overlayErasable) { this.canvas.overlayImage = undefined; }\n __renderOverlay.call(this.canvas, patternCtx);\n if (overlayErasable) { this.canvas.overlayImage = overlayImage; }\n }\n else if (this.inverted && (overlayImage && overlayErasable)) {\n var color = this.canvas.overlayColor;\n this.canvas.overlayColor = undefined;\n __renderOverlay.call(this.canvas, patternCtx);\n this.canvas.overlayColor = color;\n }\n },\n\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function (ctx) {\n this.callSuper('_setBrushStyles', ctx);\n ctx.strokeStyle = 'black';\n },\n\n /**\n * **Customiztion**\n *\n * if you need the eraser to update on each render (i.e animating during erasing) override this method by **adding** the following (performance may suffer):\n * @example\n * ```\n * if(ctx === this.canvas.contextTop) {\n * this.preparePattern();\n * }\n * ```\n *\n * @override fabric.BaseBrush#_saveAndTransform\n * @param {CanvasRenderingContext2D} ctx\n */\n _saveAndTransform: function (ctx) {\n this.callSuper('_saveAndTransform', ctx);\n this._setBrushStyles(ctx);\n ctx.globalCompositeOperation = ctx === this.canvas.getContext() ? 'destination-out' : 'source-over';\n },\n\n /**\n * We indicate {@link fabric.PencilBrush} to repaint itself if necessary\n * @returns\n */\n needsFullRender: function () {\n return true;\n },\n\n /**\n *\n * @param {fabric.Point} pointer\n * @param {fabric.IEvent} options\n * @returns\n */\n onMouseDown: function (pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n\n // prepare for erasing\n this.preparePattern();\n this._isErasing = true;\n this.canvas.fire('erasing:start');\n this._render();\n },\n\n /**\n * Rendering Logic:\n * 1. Use brush to clip canvas by rendering it on top of canvas (unnecessary if `inverted === true`)\n * 2. Render brush with canvas pattern on top context\n *\n */\n _render: function () {\n var ctx;\n if (!this.inverted) {\n // clip canvas\n ctx = this.canvas.getContext();\n this.callSuper('_render', ctx);\n }\n // render brush and mask it with image of non erasables\n ctx = this.canvas.contextTop;\n this.canvas.clearContext(ctx);\n this.callSuper('_render', ctx);\n ctx.save();\n var t = this.canvas.getRetinaScaling(), s = 1 / t;\n ctx.scale(s, s);\n ctx.globalCompositeOperation = 'source-in';\n ctx.drawImage(this._patternCanvas, 0, 0);\n ctx.restore();\n },\n\n /**\n * Creates fabric.Path object\n * @override\n * @private\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n * @returns\n */\n createPath: function (pathData) {\n var path = this.callSuper('createPath', pathData);\n path.globalCompositeOperation = this.inverted ? 'source-over' : 'destination-out';\n path.stroke = this.inverted ? 'white' : 'black';\n return path;\n },\n\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path in canvas coordinate plane\n * @param {fabric.Object} clipPath The clipPath to apply to the path\n * @param {number[]} clipPathContainerTransformMatrix The transform matrix of the object that the clip path belongs to\n * @returns {fabric.Path} path with clip path\n */\n applyClipPathToPath: function (path, clipPath, clipPathContainerTransformMatrix) {\n var pathInvTransform = fabric.util.invertTransform(path.calcTransformMatrix()),\n clipPathTransform = clipPath.calcTransformMatrix(),\n transform = clipPath.absolutePositioned ?\n pathInvTransform :\n fabric.util.multiplyTransformMatrices(\n pathInvTransform,\n clipPathContainerTransformMatrix\n );\n // when passing down a clip path it becomes relative to the parent\n // so we transform it acoordingly and set `absolutePositioned` to false\n clipPath.absolutePositioned = false;\n fabric.util.applyTransformToObject(\n clipPath,\n fabric.util.multiplyTransformMatrices(\n transform,\n clipPathTransform\n )\n );\n // We need to clip `path` with both `clipPath` and it's own clip path if existing (`path.clipPath`)\n // so in turn `path` erases an object only where it overlaps with all it's clip paths, regardless of how many there are.\n // this is done because both clip paths may have nested clip paths of their own (this method walks down a collection => this may reccur),\n // so we can't assign one to the other's clip path property.\n path.clipPath = path.clipPath ? fabric.util.mergeClipPaths(clipPath, path.clipPath) : clipPath;\n return path;\n },\n\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path\n * @param {fabric.Object} object The clipPath to apply to path belongs to object\n * @param {Function} callback Callback to be invoked with the cloned path after applying the clip path\n */\n clonePathWithClipPath: function (path, object, callback) {\n var objTransform = object.calcTransformMatrix();\n var clipPath = object.clipPath;\n var _this = this;\n path.clone(function (_path) {\n clipPath.clone(function (_clipPath) {\n callback(_this.applyClipPathToPath(_path, _clipPath, objTransform));\n }, ['absolutePositioned', 'inverted']);\n });\n },\n\n /**\n * Adds path to object's eraser, walks down object's descendants if necessary\n *\n * @fires erasing:end on object\n * @param {fabric.Object} obj\n * @param {fabric.Path} path\n */\n _addPathToObjectEraser: function (obj, path) {\n var _this = this;\n // object is collection, i.e group\n if (obj.forEachObject && obj.erasable === 'deep') {\n var targets = obj._objects.filter(function (_obj) {\n return _obj.erasable;\n });\n if (targets.length > 0 && obj.clipPath) {\n this.clonePathWithClipPath(path, obj, function (_path) {\n targets.forEach(function (_obj) {\n _this._addPathToObjectEraser(_obj, _path);\n });\n });\n }\n else if (targets.length > 0) {\n targets.forEach(function (_obj) {\n _this._addPathToObjectEraser(_obj, path);\n });\n }\n return;\n }\n // prepare eraser\n var eraser = obj.eraser;\n if (!eraser) {\n eraser = new fabric.Eraser();\n obj.eraser = eraser;\n }\n // clone and add path\n path.clone(function (path) {\n // http://fabricjs.com/using-transformations\n var desiredTransform = fabric.util.multiplyTransformMatrices(\n fabric.util.invertTransform(\n obj.calcTransformMatrix()\n ),\n path.calcTransformMatrix()\n );\n fabric.util.applyTransformToObject(path, desiredTransform);\n eraser.addWithUpdate(path);\n obj.set('dirty', true);\n obj.fire('erasing:end', {\n path: path\n });\n if (obj.group && Array.isArray(_this.__subTargets)) {\n _this.__subTargets.push(obj);\n }\n });\n },\n\n /**\n * Add the eraser path to canvas drawables' clip paths\n *\n * @param {fabric.Canvas} source\n * @param {fabric.Canvas} path\n * @returns {Object} canvas drawables that were erased by the path\n */\n applyEraserToCanvas: function (path) {\n var canvas = this.canvas;\n var drawables = {};\n [\n 'backgroundImage',\n 'overlayImage',\n ].forEach(function (prop) {\n var drawable = canvas[prop];\n if (drawable && drawable.erasable) {\n this._addPathToObjectEraser(drawable, path);\n drawables[prop] = drawable;\n }\n }, this);\n return drawables;\n },\n\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to every intersected erasable object.\n */\n _finalizeAndAddPath: function () {\n var ctx = this.canvas.contextTop, canvas = this.canvas;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n\n // clear\n canvas.clearContext(canvas.contextTop);\n this._isErasing = false;\n\n var pathData = this._points && this._points.length > 1 ?\n this.convertPointsToSVGPath(this._points) :\n null;\n if (!pathData || this._isEmptySVGPath(pathData)) {\n canvas.fire('erasing:end');\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n canvas.requestRenderAll();\n return;\n }\n\n var path = this.createPath(pathData);\n // needed for `intersectsWithObject`\n path.setCoords();\n // commense event sequence\n canvas.fire('before:path:created', { path: path });\n\n // finalize erasing\n var drawables = this.applyEraserToCanvas(path);\n var _this = this;\n this.__subTargets = [];\n var targets = [];\n canvas.forEachObject(function (obj) {\n if (obj.erasable && obj.intersectsWithObject(path, true, true)) {\n _this._addPathToObjectEraser(obj, path);\n targets.push(obj);\n }\n });\n // fire erasing:end\n canvas.fire('erasing:end', {\n path: path,\n targets: targets,\n subTargets: this.__subTargets,\n drawables: drawables\n });\n delete this.__subTargets;\n\n canvas.requestRenderAll();\n this._resetShadow();\n\n // fire event 'path' created\n canvas.fire('path:created', { path: path });\n }\n }\n );\n\n /** ERASER_END */\n})();\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[405],{\n\n/***/ 8312:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return __webpack_require__(1374);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 1374:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ HomePage; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./node_modules/next/head.js\nvar head = __webpack_require__(9008);\nvar head_default = /*#__PURE__*/__webpack_require__.n(head);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n;// CONCATENATED MODULE: ./src/useCanvas.ts\n\nconst CanvasContext = react.createContext(null);\nCanvasContext.displayName = \"CanvasContext\";\n\nfunction useCanvas(canvasId) {\n const context = (0,react.useContext)(CanvasContext);\n if (!context) {\n throw new Error(\"No CanvasContext.Provider\");\n }\n if (typeof canvasId === \"undefined\") {\n return context;\n } else if (canvasId == null) {\n return {};\n } else {\n var _context_canvases_canvasId;\n return (_context_canvases_canvasId = context.canvases[canvasId]) !== null && _context_canvases_canvasId !== void 0 ? _context_canvases_canvasId : {};\n }\n}\n/* harmony default export */ var src_useCanvas = (useCanvas);\n\n;// CONCATENATED MODULE: ./src/useTools.ts\n\nconst ToolsContext = react.createContext(null);\nToolsContext.displayName = \"ToolsContext\";\n\nfunction useTools() {\n const context = (0,react.useContext)(ToolsContext);\n if (!context) {\n throw new Error(\"No ToolsContext.Provider\");\n }\n return context;\n}\n\n// EXTERNAL MODULE: ./node_modules/react-popper/lib/esm/usePopper.js + 55 modules\nvar usePopper = __webpack_require__(5237);\n// EXTERNAL MODULE: ./node_modules/rc-slider/es/index.js + 36 modules\nvar es = __webpack_require__(6863);\n// EXTERNAL MODULE: ./node_modules/react-icons/ri/index.esm.js\nvar index_esm = __webpack_require__(9352);\n// EXTERNAL MODULE: ./node_modules/react-icons/fa/index.esm.js\nvar fa_index_esm = __webpack_require__(9583);\n// EXTERNAL MODULE: ./node_modules/react-icons/go/index.esm.js\nvar go_index_esm = __webpack_require__(6653);\n// EXTERNAL MODULE: ./node_modules/react-icons/gi/index.esm.js\nvar gi_index_esm = __webpack_require__(2585);\n// EXTERNAL MODULE: ./node_modules/react-icons/io/index.esm.js\nvar io_index_esm = __webpack_require__(1649);\n// EXTERNAL MODULE: ./node_modules/react-icons/im/index.esm.js\nvar im_index_esm = __webpack_require__(3990);\n;// CONCATENATED MODULE: ./src/CanvasTools.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nfunction CanvasTools() {\n const nameInputRef = (0,react.useRef)(null);\n const fileInputRef = (0,react.useRef)(null);\n const fileTypeRef = (0,react.useRef)(null);\n const { activeCanvas , backgroundColor , setBackgroundColor , selectedObjects , lockedObjects , lockSelection , unlockSelection , bringForward , sendBackward , duplicate , deleteSelection , undo , redo , canUndo , canRedo , brushColor , setBrushColor , brushSize , setBrushSize , hueRotate , setHueRotate , saturation , setSaturation , brightness , setBrightness , layerMode , setLayerMode , activeCanvasType , addImages , exportSkin } = useTools();\n const { canvas , isDrawingMode , setDrawingMode } = src_useCanvas(activeCanvas);\n const [isMac, setIsMac] = (0,react.useState)(false);\n const commandKeyPrefix = isMac ? \"⌘\" : \"Ctrl \";\n const shiftKeySymbol = \"⇧\";\n // Brush popup\n const [referenceElement, setReferenceElement] = (0,react.useState)(null);\n const [popperElement, setPopperElement] = (0,react.useState)(null);\n const [arrowElement, setArrowElement] = (0,react.useState)(null);\n const [isBrushToolsOpen, setBrushToolsOpen] = (0,react.useState)(false);\n const [isFilterToolsOpen, setFilterToolsOpen] = (0,react.useState)(false);\n const { styles , attributes } = (0,usePopper/* usePopper */.D)(referenceElement, popperElement, {\n modifiers: [\n {\n name: \"arrow\",\n options: {\n element: arrowElement\n }\n },\n {\n name: \"offset\",\n options: {\n offset: [\n 0,\n 10\n ]\n }\n }\n ]\n });\n const isSelectionLocked = selectedObjects.length ? selectedObjects.every((object)=>lockedObjects.has(object)) : false;\n const handleBackgroundColorChange = (event)=>{\n setBackgroundColor(event.target.value);\n };\n (0,react.useEffect)(()=>{\n if (navigator.platform && navigator.platform.startsWith(\"Mac\")) {\n setIsMac(true);\n } else if (navigator.userAgent.match(/\\(Macintosh;/)) {\n setIsMac(true);\n }\n }, []);\n (0,react.useEffect)(()=>{\n if (popperElement) {\n popperElement.focus();\n }\n }, [\n popperElement\n ]);\n var _canvas__objects_length_toLocaleString;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasTools\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasBackgroundColor\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorBlack\",\n value: \"black\",\n checked: backgroundColor === \"black\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorBlack\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"Black\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorMagenta\",\n value: \"magenta\",\n checked: backgroundColor === \"magenta\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorMagenta\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"Magenta\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorWhite\",\n value: \"white\",\n checked: backgroundColor === \"white\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorWhite\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"White\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n activeCanvasType === \"color\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n onChange: async (event)=>{\n const imageUrl = await new Promise((resolve, reject)=>{\n var _event_target_files;\n const inputFile = (_event_target_files = event.target.files) === null || _event_target_files === void 0 ? void 0 : _event_target_files[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event)=>{\n var _event_target;\n resolve((_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.result);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n addImages([\n imageUrl\n ]);\n },\n type: \"file\",\n accept: \".png, image/png\",\n hidden: true\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Add Image\",\n title: \"Add Image\",\n onClick: ()=>{\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImPlus */.yAv, {\n style: {\n fontSize: 14\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n ref: setReferenceElement,\n \"data-active\": isFilterToolsOpen ? \"\" : undefined,\n \"aria-label\": \"Filters\",\n title: \"Filters\",\n onClick: ()=>{\n setFilterToolsOpen((isOpen)=>!isOpen);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImContrast */.J76, {})\n }),\n isFilterToolsOpen ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"BrushToolsPopup\",\n ref: setPopperElement,\n style: styles.popper,\n tabIndex: -1,\n onBlur: (event)=>{\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving = !newFocusElement || !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setFilterToolsOpen(false);\n }\n },\n ...attributes.popper,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Fields\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field ApplyTo\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Layer:\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"ul\", {\n children: selectedObjects.length ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"SelectedLayer\",\n id: \"FilterLayer-SelectedLayer\",\n checked: layerMode === \"SelectedLayer\",\n onChange: ()=>{\n setLayerMode(\"SelectedLayer\");\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n htmlFor: \"FilterLayer-SelectedLayer\",\n children: [\n \"selected (\",\n selectedObjects.length.toLocaleString(),\n \")\"\n ]\n })\n ]\n }) : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"BaseLayer\",\n id: \"FilterLayer-BaseLayer\",\n checked: layerMode === \"BaseLayer\",\n onChange: ()=>{\n setLayerMode(\"BaseLayer\");\n }\n }),\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"FilterLayer-BaseLayer\",\n children: \"base\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"AllLayers\",\n id: \"FilterLayer-AllLayers\",\n checked: layerMode === \"AllLayers\",\n onChange: ()=>{\n setLayerMode(\"AllLayers\");\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n htmlFor: \"FilterLayer-AllLayers\",\n children: [\n \"all (\",\n (_canvas__objects_length_toLocaleString = canvas === null || canvas === void 0 ? void 0 : canvas._objects.length.toLocaleString()) !== null && _canvas__objects_length_toLocaleString !== void 0 ? _canvas__objects_length_toLocaleString : 0,\n \")\"\n ]\n })\n ]\n })\n ]\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Hue:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: hueRotate == null ? \"MULTIPLE VALUES\" : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n Math.round(hueRotate * 180),\n \"\\xb0\"\n ]\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -180,\n max: 180,\n startPoint: 0,\n value: Math.round((hueRotate !== null && hueRotate !== void 0 ? hueRotate : 0) * 180),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setHueRotate(value / 180);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Saturation:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: saturation == null ? \"MULTIPLE VALUES\" : \"\".concat(Math.round(saturation * 100 + 100), \"%\")\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -100,\n max: 100,\n startPoint: 0,\n value: Math.round((saturation !== null && saturation !== void 0 ? saturation : 0) * 100),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setSaturation(value / 100);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Brightness:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: brightness == null ? \"MULTIPLE VALUES\" : \"\".concat(Math.round(brightness * 100 + 100), \"%\")\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -100,\n max: 100,\n startPoint: 0,\n value: Math.round((brightness !== null && brightness !== void 0 ? brightness : 0) * 100),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrightness(value / 100);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"PopupArrow\",\n ref: setArrowElement,\n style: styles.arrow\n })\n ]\n }) : null,\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": isSelectionLocked ? \"Unlock\" : \"Lock\",\n title: isSelectionLocked ? \"Unlock (L)\" : \"Lock (L)\",\n onClick: isSelectionLocked ? unlockSelection : lockSelection,\n \"data-locked\": isSelectionLocked ? \"\" : undefined,\n children: isSelectionLocked ? /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaUnlock */.D5B, {\n style: {\n fontSize: 14\n }\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaLock */.kUi, {\n style: {\n fontSize: 14\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Bring Forward\",\n title: \"Bring Forward (F)\",\n onClick: bringForward,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(go_index_esm/* GoArrowUp */.KhA, {\n style: {\n fontSize: 22\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Send Backward\",\n title: \"Send Backward (B)\",\n onClick: sendBackward,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(go_index_esm/* GoArrowDown */.O9L, {\n style: {\n fontSize: 22\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Duplicate\",\n title: \"Duplicate (D)\",\n onClick: duplicate,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(index_esm/* RiFileCopyFill */.xvH, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Delete\",\n title: \"Delete (Backspace)\",\n onClick: deleteSelection,\n disabled: isSelectionLocked,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaTrashAlt */.AMf, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Undo\",\n title: \"Undo (\".concat(commandKeyPrefix, \"Z)\"),\n onClick: undo,\n disabled: !canUndo,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImUndo2 */.UIL, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Redo\",\n title: \"Redo (\".concat(isMac ? \"\".concat(shiftKeySymbol).concat(commandKeyPrefix, \"Z)\") : \"\".concat(commandKeyPrefix, \" Y\"), \")\"),\n onClick: redo,\n disabled: !canRedo,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImRedo2 */.rks, {})\n })\n ]\n }) : null,\n activeCanvasType === \"metallic\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-active\": isDrawingMode ? undefined : \"\",\n \"aria-label\": \"Select\",\n title: \"Select (S)\",\n onClick: ()=>{\n setDrawingMode(false);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(gi_index_esm/* GiArrowCursor */.Pvc, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n ref: setReferenceElement,\n \"data-active\": isDrawingMode ? \"\" : undefined,\n \"aria-label\": \"Paint\",\n title: \"Paint (P)\",\n onClick: ()=>{\n setDrawingMode(true);\n setBrushToolsOpen((isOpen)=>!isOpen);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdBrush */.VUP, {})\n }),\n isBrushToolsOpen ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"BrushToolsPopup\",\n ref: setPopperElement,\n style: styles.popper,\n tabIndex: -1,\n onBlur: (event)=>{\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving = !newFocusElement || !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setBrushToolsOpen(false);\n }\n },\n ...attributes.popper,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Fields\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Metallic Amount\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: 0,\n max: 255,\n trackStyle: {\n display: \"none\"\n },\n value: brushColor,\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushColor(value);\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"rgb(20, 105, 241)\",\n background: \"rgb(\".concat(brushColor, \", \").concat(brushColor, \", \").concat(brushColor, \")\"),\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"linear-gradient(to right, black 0%, white 100%)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Brush Size\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: 1,\n max: 50,\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n value: brushSize,\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushSize(value);\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"PopupArrow\",\n ref: setArrowElement,\n style: styles.arrow\n })\n ]\n }) : null\n ]\n }) : null\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Export\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: nameInputRef,\n type: \"text\",\n name: \"CustomSkinName\",\n placeholder: \"Skin Name\",\n size: 12\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n const name = nameInputRef.current ? nameInputRef.current.value : \"\";\n const format = fileTypeRef.current ? fileTypeRef.current.value : \".png\";\n exportSkin({\n name,\n format\n });\n },\n children: \"Export\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n ref: fileTypeRef,\n defaultValue: \"vl2\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"png\",\n children: \".png\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vl2\",\n children: \".vl2\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/next/config.js\nvar config = __webpack_require__(1752);\nvar config_default = /*#__PURE__*/__webpack_require__.n(config);\n// EXTERNAL MODULE: ./vendor/fabric/fabric.js\nvar fabric = __webpack_require__(6287);\n;// CONCATENATED MODULE: ./src/useWarrior.ts\n\nconst WarriorContext = react.createContext(null);\nWarriorContext.displayName = \"WarriorContext\";\n\nfunction useWarrior() {\n const context = (0,react.useContext)(WarriorContext);\n if (!context) {\n throw new Error(\"No WarriorContext.Provider\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/fabricUtils.ts\n\nfunction createFabricImage(url) {\n return new Promise((resolve)=>fabric.fabric.Image.fromURL(url, resolve, {\n crossOrigin: \"anonymous\"\n }));\n}\n\n// EXTERNAL MODULE: ./node_modules/comlink/dist/esm/comlink.mjs\nvar comlink = __webpack_require__(4375);\n;// CONCATENATED MODULE: ./node_modules/worker-loader/dist/cjs.js!./src/imageProcessing.worker.ts\nfunction Worker_fn() {\n return new Worker(__webpack_require__.p + \"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js\");\n}\n\n;// CONCATENATED MODULE: ./src/useImageWorker.ts\n\n\n\nfunction useImageWorker() {\n const workerRef = (0,react.useRef)(null);\n const functionsRef = (0,react.useRef)(null);\n const value = (0,react.useMemo)(()=>{\n const getFunctions = ()=>{\n return functionsRef.current;\n };\n return {\n async combineColorAndAlphaImageUrls () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.combineColorAndAlphaImageUrls(...args);\n },\n async removeAlphaFromArrayBuffer () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.removeAlphaFromArrayBuffer(...args);\n },\n async convertArrayBufferAlphaToGrayscale () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.convertArrayBufferAlphaToGrayscale(...args);\n },\n async convertGrayscaleImageUrlToMetallicRoughness () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.convertGrayscaleImageUrlToMetallicRoughness(...args);\n }\n };\n }, []);\n (0,react.useEffect)(()=>{\n const worker = new Worker_fn();\n const functions = comlink/* wrap */.Ud(worker);\n workerRef.current = worker;\n functionsRef.current = functions;\n return ()=>{\n functions[comlink/* releaseProxy */.Yy]();\n worker.terminate();\n };\n }, []);\n return value;\n}\n\n;// CONCATENATED MODULE: ./src/useSettings.ts\nfunction useSettings() {\n return {\n canvasPadding: 64,\n basePath: true ? \"/t2-model-skinner\" : 0\n };\n}\n\n// EXTERNAL MODULE: ./node_modules/pngjs/browser.js\nvar browser = __webpack_require__(7113);\n// EXTERNAL MODULE: ./node_modules/get-stream/index.js\nvar get_stream = __webpack_require__(31);\n;// CONCATENATED MODULE: ./src/imageUtils.ts\n\n\nfunction arrayBufferToBase64(arrayBuffer) {\n let base64 = \"\";\n const encodings = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n const bytes = new Uint8Array(arrayBuffer);\n const byteLength = bytes.byteLength;\n const byteRemainder = byteLength % 3;\n const mainLength = byteLength - byteRemainder;\n let a, b, c, d;\n let chunk;\n // Main loop deals with bytes in chunks of 3\n for(let i = 0; i < mainLength; i = i + 3){\n // Combine the three bytes into a single integer\n chunk = bytes[i] << 16 | bytes[i + 1] << 8 | bytes[i + 2];\n // Use bitmasks to extract 6-bit segments from the triplet\n a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12\n c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6\n d = chunk & 63; // 63 = 2^6 - 1\n // Convert the raw binary segments to the appropriate ASCII encoding\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n }\n // Deal with the remaining bytes and padding\n if (byteRemainder == 1) {\n chunk = bytes[mainLength];\n a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n // Set the 4 least significant bits to zero\n b = (chunk & 3) << 4; // 3 = 2^2 - 1\n base64 += encodings[a] + encodings[b] + \"==\";\n } else if (byteRemainder == 2) {\n chunk = bytes[mainLength] << 8 | bytes[mainLength + 1];\n a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4\n // Set the 2 least significant bits to zero\n c = (chunk & 15) << 2; // 15 = 2^4 - 1\n base64 += encodings[a] + encodings[b] + encodings[c] + \"=\";\n }\n return base64;\n}\nasync function rgbaToArrayBuffer(rgba, param) {\n let { width , height } = param;\n const png = new PNG({\n width,\n height,\n inputHasAlpha: true\n });\n png.data = rgba;\n png.pack();\n const arrayBuffer = await getStream.buffer(png);\n return arrayBuffer;\n}\nfunction arrayBufferToImageUrl(arrayBuffer) {\n const base64 = arrayBufferToBase64(arrayBuffer);\n return \"data:image/png;base64,\".concat(base64);\n}\nasync function imageUrlToArrayBuffer(url) {\n const response = await fetch(url);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return arrayBuffer;\n } else {\n throw new Error(\"Failed to load image URL: \".concat(url));\n }\n}\nasync function arrayBufferToRgba(arrayBuffer) {\n const png = await new Promise((resolve, reject)=>new PNG().parse(arrayBuffer, (err, data)=>{\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n }));\n return {\n rgba: png.data,\n width: png.width,\n height: png.height\n };\n}\nasync function setGrayscaleFromAlpha(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n const alpha = rgba[i + 3];\n rgba[i] = alpha;\n rgba[i + 1] = alpha;\n rgba[i + 2] = alpha;\n rgba[i + 3] = 255;\n }\n}\nasync function setAlphaFromGrayscale(rgba, grayscaleRgba) {\n const length = rgba.length;\n // Modify image to map white pixels on the metallic canvas\n // to the alpha channel.\n for(let i = 0; i < length; i += 4){\n rgba[i + 3] = Math.max(1, grayscaleRgba[i]);\n }\n}\nasync function setAlphaToMax(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n rgba[i + 3] = 255;\n }\n}\nfunction setMetallicFromGrayscale(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n const grayscale = rgba[i];\n // Red meanings nothing, set to 0.\n rgba[i] = 0;\n // Green maps to roughness. We want more metallic to be less rough.\n rgba[i + 1] = grayscale > 0 ? 255 - Math.min(grayscale * 2 + 64, 255) : 255;\n // Blue and alpha values should already be correct.\n rgba[i + 2] = grayscale ? Math.min(grayscale * 1 + 64, 255) : 0;\n }\n}\nasync function imageUrlToRgba(imageUrl) {\n const arrayBuffer = await imageUrlToArrayBuffer(imageUrl);\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n return {\n rgba,\n width,\n height\n };\n}\nasync function rgbaToImageUrl(rgba, param) {\n let { width , height } = param;\n const arrayBuffer = await rgbaToArrayBuffer(rgba, {\n width,\n height\n });\n const imageUrl = arrayBufferToImageUrl(arrayBuffer);\n return imageUrl;\n}\nasync function combineColorAndAlphaImageUrls(param) {\n let { colorImageUrl , metallicImageUrl } = param;\n const [{ rgba , width , height }, { rgba: metallicRgba }] = await Promise.all([\n imageUrlToRgba(colorImageUrl),\n imageUrlToRgba(metallicImageUrl)\n ]);\n setAlphaFromGrayscale(rgba, metallicRgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function removeAlphaFromArrayBuffer(arrayBuffer) {\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n setAlphaToMax(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function convertArrayBufferAlphaToGrayscale(arrayBuffer) {\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n setGrayscaleFromAlpha(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function convertGrayscaleImageUrlToMetallicRoughness(imageUrl) {\n const { rgba , width , height } = await imageUrlToRgba(imageUrl);\n setMetallicFromGrayscale(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\n\n;// CONCATENATED MODULE: ./src/ToolsProvider.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst { publicRuntimeConfig } = config_default()();\nconst { materials } = publicRuntimeConfig;\nfunction lockObject(object) {\n object.lockMovementX = true;\n object.lockMovementY = true;\n object.lockScalingX = true;\n object.lockScalingY = true;\n object.lockRotation = true;\n}\nfunction unlockObject(object) {\n object.lockMovementX = false;\n object.lockMovementY = false;\n object.lockScalingX = false;\n object.lockScalingY = false;\n object.lockRotation = false;\n}\nfunction isActiveSelection(object) {\n return object.type === \"activeSelection\";\n}\nfunction ToolsProvider(param) {\n let { children } = param;\n const { actualModel , selectedModelType } = useWarrior();\n const [selectedMaterialIndex, setSelectedMaterialIndex] = (0,react.useState)(0);\n const materialDefs = materials[actualModel];\n var _materialDefs_selectedMaterialIndex;\n const materialDef = (_materialDefs_selectedMaterialIndex = materialDefs[selectedMaterialIndex]) !== null && _materialDefs_selectedMaterialIndex !== void 0 ? _materialDefs_selectedMaterialIndex : null;\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : [\n 512,\n 512\n ], [\n materialDef\n ]);\n const hasMetallic = !(materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1);\n const [activeCanvasType, setActiveCanvasType] = (0,react.useState)(\"color\");\n if (!hasMetallic && activeCanvasType === \"metallic\") {\n setActiveCanvasType(\"color\");\n }\n const [backgroundColor, setBackgroundColor] = (0,react.useState)(\"magenta\");\n const [lockedObjects, setLockedObjects] = (0,react.useState)(()=>new Set());\n const [brushColor, setBrushColor] = (0,react.useState)(200);\n const [brushSize, setBrushSize] = (0,react.useState)(10);\n const [filterMap, setFilterMap] = (0,react.useState)(()=>new Map());\n const [selectedObjects, setSelectedObjects] = (0,react.useState)(()=>[]);\n const activeCanvas = materialDef ? \"\".concat(materialDef.name, \":\").concat(activeCanvasType) : null;\n const metallicCanvasId = materialDef ? \"\".concat(materialDef.name, \":metallic\") : null;\n const { canvases } = src_useCanvas();\n const { canvas , notifyChange , undo , redo , canUndo , canRedo } = src_useCanvas(activeCanvas);\n const { canvas: metallicCanvas } = src_useCanvas(metallicCanvasId);\n const [isDrawingMode, setDrawingMode] = (0,react.useState)(false);\n const { combineColorAndAlphaImageUrls } = useImageWorker();\n const { canvasPadding } = useSettings();\n const [filterChanges, setFilterChanges] = (0,react.useState)(()=>[]);\n const [layerMode, setLayerMode] = (0,react.useState)(\"BaseLayer\");\n if (selectedObjects.length) {\n if (layerMode !== \"SelectedLayer\") {\n setLayerMode(\"SelectedLayer\");\n }\n } else {\n if (layerMode === \"SelectedLayer\") {\n setLayerMode(\"BaseLayer\");\n }\n }\n const getFilter = (name)=>{\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n var _canvas__objects;\n applyObjects = (_canvas__objects = canvas === null || canvas === void 0 ? void 0 : canvas._objects) !== null && _canvas__objects !== void 0 ? _canvas__objects : [];\n } else if (layerMode === \"BaseLayer\") {\n var _canvas__objects_slice;\n applyObjects = (_canvas__objects_slice = canvas === null || canvas === void 0 ? void 0 : canvas._objects.slice(0, 1)) !== null && _canvas__objects_slice !== void 0 ? _canvas__objects_slice : [];\n }\n if (applyObjects.length) {\n var _filterMap_get, _name;\n const getValue = (i)=>(_name = ((_filterMap_get = filterMap.get(applyObjects[i])) !== null && _filterMap_get !== void 0 ? _filterMap_get : {})[name]) !== null && _name !== void 0 ? _name : 0;\n const firstValue = getValue(0);\n if (applyObjects.slice(1).every((applyObject, i)=>getValue(i + 1) === firstValue)) {\n return firstValue;\n }\n return null;\n } else {\n return 0;\n }\n };\n const hueRotate = getFilter(\"HueRotation\");\n const saturation = getFilter(\"Saturation\");\n const brightness = getFilter(\"Brightness\");\n const setFilter = (0,react.useCallback)((name, value)=>{\n const filterChanges = [];\n const newFilterMap = new Map(filterMap);\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n var _canvas__objects;\n applyObjects = (_canvas__objects = canvas === null || canvas === void 0 ? void 0 : canvas._objects) !== null && _canvas__objects !== void 0 ? _canvas__objects : [];\n } else if (layerMode === \"BaseLayer\") {\n var _canvas__objects_slice;\n applyObjects = (_canvas__objects_slice = canvas === null || canvas === void 0 ? void 0 : canvas._objects.slice(0, 1)) !== null && _canvas__objects_slice !== void 0 ? _canvas__objects_slice : [];\n }\n for (const applyObject of applyObjects){\n var _filterMap_get;\n const existingFilters = (_filterMap_get = filterMap.get(applyObject)) !== null && _filterMap_get !== void 0 ? _filterMap_get : {};\n const newFilters = {\n ...existingFilters,\n [name]: value\n };\n newFilterMap.set(applyObject, newFilters);\n filterChanges.push([\n applyObject,\n newFilters\n ]);\n }\n setFilterMap(newFilterMap);\n setFilterChanges(filterChanges);\n }, [\n canvas,\n layerMode,\n filterMap,\n selectedObjects\n ]);\n const setHueRotate = (0,react.useCallback)((value)=>setFilter(\"HueRotation\", value), [\n setFilter\n ]);\n const setSaturation = (0,react.useCallback)((value)=>setFilter(\"Saturation\", value), [\n setFilter\n ]);\n const setBrightness = (0,react.useCallback)((value)=>setFilter(\"Brightness\", value), [\n setFilter\n ]);\n (0,react.useEffect)(()=>{\n if (!filterChanges.length) {\n return;\n }\n for (const [selectedObject, newFilters] of filterChanges){\n if (selectedObject instanceof fabric.fabric.Image) {\n selectedObject.filters = [];\n for(const key in newFilters){\n var _newFilters_key;\n const filterValue = (_newFilters_key = newFilters[key]) !== null && _newFilters_key !== void 0 ? _newFilters_key : 0;\n if (filterValue !== 0) {\n switch(key){\n case \"HueRotation\":\n selectedObject.filters.push(// @ts-expect-error @types/fabric does not include HueRotation.\n new fabric.fabric.Image.filters.HueRotation({\n rotation: filterValue\n }));\n break;\n case \"Saturation\":\n selectedObject.filters.push(new fabric.fabric.Image.filters.Saturation({\n saturation: filterValue\n }));\n break;\n case \"Brightness\":\n selectedObject.filters.push(new fabric.fabric.Image.filters.Brightness({\n brightness: filterValue\n }));\n break;\n }\n }\n }\n selectedObject.applyFilters();\n }\n }\n setFilterChanges([]);\n if (notifyChange) {\n notifyChange();\n }\n }, [\n filterChanges,\n notifyChange\n ]);\n const lockSelection = (0,react.useCallback)(()=>{\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects)=>{\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects){\n newLockedObjects.add(selectedObject);\n lockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [\n selectedObjects\n ]);\n const unlockSelection = (0,react.useCallback)(()=>{\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects)=>{\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects){\n newLockedObjects.delete(selectedObject);\n unlockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [\n selectedObjects\n ]);\n const bringForward = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n canvas.bringForward(object, true);\n notifyChange();\n }\n }, [\n canvas,\n notifyChange\n ]);\n const sendBackward = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n // Don't allow below base skin.\n if (canvas._objects[0] === object || canvas._objects[1] === object) {\n return;\n }\n canvas.sendBackwards(object, true);\n notifyChange();\n }\n }, [\n canvas,\n notifyChange\n ]);\n const addImages = (0,react.useCallback)(async (imageUrls)=>{\n let lastAddedImage;\n for (const imageUrl of imageUrls){\n const image = await createFabricImage(imageUrl);\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n const widthRatio = image.width / textureSize[0];\n const heightRatio = image.height / textureSize[1];\n if (widthRatio > 1 || heightRatio > 1) {\n let scale;\n if (widthRatio > heightRatio) {\n scale = 1 / widthRatio;\n } else {\n scale = 1 / heightRatio;\n }\n image.scaleX = scale;\n image.scaleY = scale;\n }\n if (activeCanvasType === \"metallic\") {\n if (!image.filters) {\n image.filters = [];\n }\n const grayscaleFilter = new fabric.fabric.Image.filters.Grayscale();\n image.filters.push(grayscaleFilter);\n image.applyFilters();\n }\n setDrawingMode(false);\n canvas.centerObject(image);\n canvas.add(image);\n lastAddedImage = image;\n }\n if (lastAddedImage) {\n canvas.setActiveObject(lastAddedImage);\n }\n }, [\n canvas,\n activeCanvasType,\n textureSize\n ]);\n const duplicate = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n const copy = await new Promise((resolve)=>object.clone(resolve));\n var _copy_top, _copy_left;\n copy.set({\n top: ((_copy_top = copy.top) !== null && _copy_top !== void 0 ? _copy_top : 0) + 20,\n left: ((_copy_left = copy.left) !== null && _copy_left !== void 0 ? _copy_left : 0) + 20,\n evented: true\n });\n if (isActiveSelection(copy)) {\n copy.canvas = canvas;\n copy.forEachObject((object)=>{\n canvas.add(object);\n });\n copy.setCoords();\n }\n canvas.discardActiveObject();\n canvas.add(copy);\n canvas.setActiveObject(copy);\n }\n }, [\n canvas\n ]);\n const deleteSelection = (0,react.useCallback)(async ()=>{\n const objects = canvas.getActiveObjects();\n canvas.discardActiveObject();\n canvas.remove(...objects);\n canvas.requestRenderAll();\n // forceUpdateRef.current();\n }, [\n canvas\n ]);\n const exportSkin = (0,react.useCallback)(async (param)=>{\n let { format , name =\"\" } = param;\n const { savePngFile , saveZipFile , createZipFile } = await Promise.all(/* import() */[__webpack_require__.e(354), __webpack_require__.e(70)]).then(__webpack_require__.bind(__webpack_require__, 8070));\n name = name.trim() || \"MyCustomSkin\";\n const materialExports = await Promise.all(materialDefs.filter((materialDef)=>materialDef && !materialDef.hidden && materialDef.selectable !== false).map(async (materialDef)=>{\n var _canvases_, _canvases_1;\n const colorCanvas = (_canvases_ = canvases[\"\".concat(materialDef.name, \":color\")]) === null || _canvases_ === void 0 ? void 0 : _canvases_.canvas;\n const metallicCanvas = (_canvases_1 = canvases[\"\".concat(materialDef.name, \":metallic\")]) === null || _canvases_1 === void 0 ? void 0 : _canvases_1.canvas;\n var _materialDef_size;\n const textureSize = (_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : [\n 512,\n 512\n ];\n let outputImageUrl;\n const colorImageUrl = colorCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n if (metallicCanvas) {\n const metallicImageUrl = metallicCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n outputImageUrl = await combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl\n });\n } else {\n outputImageUrl = colorImageUrl;\n }\n let filename;\n switch(selectedModelType){\n case \"player\":\n filename = \"\".concat(name, \".\").concat(actualModel, \".png\");\n break;\n case \"weapon\":\n case \"vehicle\":\n if (materialDef) {\n var _materialDef_file;\n filename = \"\".concat((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, \".png\");\n } else if (selectedModelType === \"weapon\") {\n filename = \"weapon_\".concat(actualModel, \".png\");\n } else {\n filename = \"\".concat(actualModel, \".png\");\n }\n }\n return {\n imageUrl: outputImageUrl,\n filename\n };\n }));\n switch(format){\n case \"png\":\n {\n const { imageUrl , filename } = materialExports[selectedMaterialIndex];\n savePngFile(imageUrl, filename);\n break;\n }\n case \"vl2\":\n {\n const files = await Promise.all(materialExports.map(async (materialExport)=>({\n data: await imageUrlToArrayBuffer(materialExport.imageUrl),\n name: materialExport.filename\n })));\n const zip = createZipFile(files);\n const camelCaseName = actualModel.replace(/(?:^([a-z])|_([a-z]))/g, (match, a, b)=>(a || b).toUpperCase());\n let zipFileName = \"\";\n switch(selectedModelType){\n case \"player\":\n zipFileName = \"zPlayerSkin-\".concat(name, \".vl2\");\n break;\n case \"weapon\":\n zipFileName = \"zWeapon\".concat(camelCaseName, \"-\").concat(name, \".vl2\");\n break;\n case \"vehicle\":\n zipFileName = \"z\".concat(camelCaseName, \"-\").concat(name, \".vl2\");\n break;\n }\n await saveZipFile(zip, zipFileName);\n }\n }\n return;\n }, [\n actualModel,\n canvasPadding,\n canvases,\n combineColorAndAlphaImageUrls,\n materialDefs,\n selectedMaterialIndex,\n selectedModelType\n ]);\n const context = (0,react.useMemo)(()=>({\n activeCanvas,\n activeCanvasType,\n setActiveCanvasType,\n backgroundColor,\n setBackgroundColor,\n lockedObjects,\n setLockedObjects,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n setDrawingMode,\n selectedMaterialIndex,\n setSelectedMaterialIndex,\n textureSize,\n hasMetallic\n }), [\n activeCanvas,\n activeCanvasType,\n backgroundColor,\n lockedObjects,\n brushColor,\n brushSize,\n hueRotate,\n saturation,\n brightness,\n layerMode,\n setHueRotate,\n setSaturation,\n setBrightness,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n selectedMaterialIndex,\n textureSize,\n hasMetallic\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n const handleSelectionUpdated = ()=>{\n setSelectedObjects(canvas.getActiveObjects());\n };\n canvas.on(\"selection:cleared\", handleSelectionUpdated);\n canvas.on(\"selection:updated\", handleSelectionUpdated);\n canvas.on(\"selection:created\", handleSelectionUpdated);\n handleSelectionUpdated();\n return ()=>{\n canvas.off(\"selection:cleared\", handleSelectionUpdated);\n canvas.off(\"selection:updated\", handleSelectionUpdated);\n canvas.off(\"selection:created\", handleSelectionUpdated);\n };\n }\n }, [\n canvas\n ]);\n (0,react.useEffect)(()=>{\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.width = brushSize;\n }\n }, [\n metallicCanvas,\n brushSize\n ]);\n (0,react.useEffect)(()=>{\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.color = \"rgb(\".concat(brushColor, \", \").concat(brushColor, \", \").concat(brushColor, \")\");\n }\n }, [\n metallicCanvas,\n brushColor\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ToolsContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasBackdrop.tsx\n\n\n\nfunction CanvasBackdrop() {\n const { backgroundColor , textureSize } = useTools();\n const { canvasPadding } = useSettings();\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasBackdrop\",\n style: {\n backgroundColor,\n top: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n }\n }) : null;\n}\n\n;// CONCATENATED MODULE: ./src/CanvasProvider.tsx\n\n\n\nfunction CanvasProvider(param) {\n let { children } = param;\n const [canvases, setCanvases] = (0,react.useState)({});\n const registerCanvas = (0,react.useCallback)((canvasId, canvasInfo)=>{\n setCanvases((canvases)=>{\n return {\n ...canvases,\n [canvasId]: canvasInfo\n };\n });\n }, []);\n const unregisterCanvas = (0,react.useCallback)((canvasId)=>{\n setCanvases((canvases)=>{\n const { [canvasId]: canvas , ...rest } = canvases;\n return rest;\n });\n }, []);\n const context = (0,react.useMemo)(()=>{\n return {\n canvases,\n registerCanvas,\n unregisterCanvas\n };\n }, [\n canvases,\n registerCanvas,\n unregisterCanvas\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasInteractions.tsx\n\n\n\n\nfunction CanvasInteractions(param) {\n let { children } = param;\n const ref = (0,react.useRef)(null);\n const { activeCanvas , bringForward , sendBackward , duplicate , deleteSelection , addImages , undo , redo } = useTools();\n const { canvas , notifyChange , setDrawingMode } = src_useCanvas(activeCanvas);\n const nudge = async function() {\n let { top =0 , left =0 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const objects = canvas.getActiveObjects();\n for (const object of objects){\n var _object_top;\n object.top = ((_object_top = object.top) !== null && _object_top !== void 0 ? _object_top : 0) + top;\n var _object_left;\n object.left = ((_object_left = object.left) !== null && _object_left !== void 0 ? _object_left : 0) + left;\n }\n notifyChange();\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasInteractions\",\n tabIndex: 0,\n ref: ref,\n onDrop: async (event)=>{\n event.preventDefault();\n if (ref.current) {\n ref.current.focus();\n }\n const { items } = event.dataTransfer;\n const images = Array.from(items).filter((item)=>item.kind === \"file\" && item.type.match(/^image\\//));\n const imageUrls = await Promise.all(images.map(async (droppedImageFile)=>{\n const file = droppedImageFile.getAsFile();\n if (!file) {\n throw new Error(\"Not a file.\");\n }\n const reader = new FileReader();\n const imageUrl = await new Promise((resolve, reject)=>{\n reader.onload = async (event)=>{\n if (event.target && typeof event.target.result === \"string\") {\n resolve(event.target.result);\n } else {\n reject(new Error(\"Failed to load image data.\"));\n }\n };\n reader.readAsDataURL(file);\n });\n return imageUrl;\n }).filter(Boolean));\n await addImages(imageUrls);\n },\n onKeyDown: async (event)=>{\n const target = event.target;\n if (target.nodeName === \"INPUT\" || target.nodeName === \"TEXTAREA\") {\n return;\n }\n if (event.ctrlKey || event.metaKey) {\n switch(event.key){\n case \"z\":\n if (event.altKey) {\n return;\n } else if (event.shiftKey) {\n event.preventDefault();\n redo();\n return;\n } else {\n event.preventDefault();\n undo();\n return;\n }\n case \"y\":\n if (event.altKey || event.shiftKey) {\n return;\n } else {\n event.preventDefault();\n redo();\n return;\n }\n }\n }\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return;\n }\n switch(event.key){\n case \"Backspace\":\n case \"Delete\":\n {\n event.preventDefault();\n await deleteSelection();\n break;\n }\n case \"ArrowLeft\":\n {\n event.preventDefault();\n await nudge({\n left: -1\n });\n break;\n }\n case \"ArrowRight\":\n {\n event.preventDefault();\n await nudge({\n left: 1\n });\n break;\n }\n case \"ArrowUp\":\n {\n event.preventDefault();\n await nudge({\n top: -1\n });\n break;\n }\n case \"ArrowDown\":\n {\n event.preventDefault();\n await nudge({\n top: 1\n });\n break;\n }\n case \"d\":\n {\n event.preventDefault();\n await duplicate();\n break;\n }\n case \"f\":\n {\n event.preventDefault();\n await bringForward();\n break;\n }\n case \"b\":\n {\n event.preventDefault();\n await sendBackward();\n break;\n }\n case \"p\":\n {\n if (activeCanvas === \"metallic\") {\n event.preventDefault();\n setDrawingMode(true);\n }\n break;\n }\n case \"s\":\n if (activeCanvas === \"color\") {\n event.preventDefault();\n setDrawingMode(false);\n }\n break;\n }\n },\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasToggle.tsx\n\n\nfunction CanvasToggle() {\n const { activeCanvasType , setActiveCanvasType , hasMetallic } = useTools();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasToggle\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-selected\": activeCanvasType === \"color\" ? \"\" : undefined,\n onClick: ()=>{\n setActiveCanvasType(\"color\");\n },\n children: \"Color\"\n }),\n hasMetallic ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-selected\": activeCanvasType === \"metallic\" ? \"\" : undefined,\n onClick: ()=>{\n setActiveCanvasType(\"metallic\");\n },\n children: \"Metallic\"\n }) : null\n ]\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/react-icons/ai/index.esm.js\nvar ai_index_esm = __webpack_require__(8193);\n;// CONCATENATED MODULE: ./src/WarriorSelector.tsx\n\n\n\n\n\n\nconst { publicRuntimeConfig: WarriorSelector_publicRuntimeConfig } = config_default()();\nconst { defaultSkins , customSkins , modelDefaults , materials: WarriorSelector_materials } = WarriorSelector_publicRuntimeConfig;\nfunction WarriorSelector() {\n var _defaultSkins_actualModel, _customSkins_actualModel, _customSkins_actualModel1;\n const { selectedModel , setSelectedModel , selectedModelType , setSelectedModelType , selectedSkin , setSelectedSkin , setSelectedSkinType , actualModel , setSelectedAnimation , setSkinImageUrls , setAnimationPaused } = useWarrior();\n const { selectedMaterialIndex , setSelectedMaterialIndex } = useTools();\n const materialDefs = WarriorSelector_materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex];\n const fileInputRef = (0,react.useRef)(null);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Toolbar\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"ModelSelect\",\n children: \"Model\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"ModelSelect\",\n value: selectedModel,\n onChange: (event)=>{\n var _defaultSkins_newSelectedModel, _customSkins_newSelectedModel;\n const parentNode = event.target.selectedOptions[0].parentNode;\n const newSelectedModel = event.target.value;\n const { modelType } = parentNode.dataset;\n if (!modelType) {\n throw new Error(\"No data-model-type found\");\n }\n const newModelHasSkin = ((_defaultSkins_newSelectedModel = defaultSkins[newSelectedModel]) === null || _defaultSkins_newSelectedModel === void 0 ? void 0 : _defaultSkins_newSelectedModel.includes(selectedSkin)) || ((_customSkins_newSelectedModel = customSkins[newSelectedModel]) === null || _customSkins_newSelectedModel === void 0 ? void 0 : _customSkins_newSelectedModel.includes(selectedSkin)) || false;\n // startTransition(() => {\n setSelectedAnimation(null);\n setAnimationPaused(false);\n setSelectedModelType(modelType);\n setSelectedModel(newSelectedModel);\n setSelectedMaterialIndex(0);\n if (!newModelHasSkin) {\n var _modelDefaults_newSelectedModel;\n setSelectedSkin((_modelDefaults_newSelectedModel = modelDefaults[newSelectedModel]) !== null && _modelDefaults_newSelectedModel !== void 0 ? _modelDefaults_newSelectedModel : null);\n setSelectedSkinType(\"default\");\n }\n // });\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Players\",\n \"data-model-type\": \"player\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lmale\",\n children: \"Human Male • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mmale\",\n children: \"Human Male • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hmale\",\n children: \"Human Male • Heavy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lfemale\",\n children: \"Human Female • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mfemale\",\n children: \"Human Female • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hfemale\",\n children: \"Human Female • Heavy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lbioderm\",\n children: \"Bioderm • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mbioderm\",\n children: \"Bioderm • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hbioderm\",\n children: \"Bioderm • Heavy\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Weapons\",\n \"data-model-type\": \"weapon\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"disc\",\n children: \"Disc Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"chaingun\",\n children: \"Chaingun\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"grenade_launcher\",\n children: \"Grenade Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"sniper\",\n children: \"Laser Rifle\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"plasmathrower\",\n children: \"Plasma Cannon\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"energy\",\n children: \"Blaster\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"shocklance\",\n children: \"Shocklance\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"elf\",\n children: \"ELF Projector\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"missile\",\n children: \"Missile Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mortar\",\n children: \"Mortar\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"repair\",\n children: \"Repair Pack\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"targeting\",\n children: \"Targeting Laser\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Vehicles\",\n \"data-model-type\": \"vehicle\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_grav_scout\",\n children: \"Wildcat Grav Cycle\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_grav_tank\",\n children: \"Beowulf Assault Tank\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_land_mpbbase\",\n children: \"Jericho Mobile Point Base\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_air_scout\",\n children: \"Shrike Scout Fighter\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_air_bomber\",\n children: \"Thundersword Bomber\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_air_hapc\",\n children: \"HAVOC Gunship Transport\"\n })\n ]\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"SkinSelect\",\n children: \"Skin\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"SkinSelect\",\n value: selectedSkin !== null && selectedSkin !== void 0 ? selectedSkin : \"\",\n onChange: async (event)=>{\n const parentNode = event.target.selectedOptions[0].parentNode;\n var _parentNode_dataset_skinType;\n const skinType = event.target.value ? (_parentNode_dataset_skinType = parentNode.dataset.skinType) !== null && _parentNode_dataset_skinType !== void 0 ? _parentNode_dataset_skinType : null : null;\n setSelectedSkin(event.target.value || null);\n setSelectedSkinType(skinType);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"Select a skin…\"\n }),\n selectedModelType === \"player\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Default Skins\",\n \"data-skin-type\": \"default\",\n children: (_defaultSkins_actualModel = defaultSkins[actualModel]) === null || _defaultSkins_actualModel === void 0 ? void 0 : _defaultSkins_actualModel.map((name)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name);\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Custom Skins\",\n \"data-skin-type\": \"custom\",\n children: (_customSkins_actualModel = customSkins[actualModel]) === null || _customSkins_actualModel === void 0 ? void 0 : _customSkins_actualModel.map((name)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name);\n })\n })\n ]\n }) : null,\n selectedModelType === \"weapon\" || selectedModelType === \"vehicle\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n modelDefaults[actualModel] ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Default Skins\",\n \"data-skin-type\": \"default\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: modelDefaults[actualModel],\n children: \"Default\"\n })\n }) : null,\n ((_customSkins_actualModel1 = customSkins[actualModel]) === null || _customSkins_actualModel1 === void 0 ? void 0 : _customSkins_actualModel1.length) ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Custom Skins\",\n \"data-skin-type\": \"custom\",\n children: customSkins[actualModel].map((name)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name))\n }) : null\n ]\n }) : null\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Load Skin\",\n title: \"Load a Skin\",\n onClick: ()=>{\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ai_index_esm/* AiTwotoneFolderOpen */.FjK, {\n style: {\n fontSize: 18\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n onChange: async (event)=>{\n const imageUrl = await new Promise((resolve, reject)=>{\n var _event_target_files;\n const inputFile = (_event_target_files = event.target.files) === null || _event_target_files === void 0 ? void 0 : _event_target_files[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event)=>{\n var _event_target;\n resolve((_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.result);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n setSelectedSkin(null);\n var _materialDef_file;\n setSkinImageUrls({\n [(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name]: imageUrl\n });\n },\n type: \"file\",\n accept: \".png, image/png\",\n hidden: true\n })\n ]\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/WarriorProvider.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: WarriorProvider_publicRuntimeConfig } = config_default()();\nconst { materials: WarriorProvider_materials , modelDefaults: WarriorProvider_modelDefaults } = WarriorProvider_publicRuntimeConfig;\nconst baseSkinPath = \"https://exogen.github.io/t2-skins/skins\";\nfunction getSkinImageUrls(param) {\n let { basePath , actualModel , selectedModelType , selectedSkin , selectedSkinType } = param;\n const materialDefs = WarriorProvider_materials[actualModel];\n switch(selectedModelType){\n case \"player\":\n switch(selectedSkinType){\n case \"default\":\n return {\n base: \"\".concat(basePath, \"/textures/\").concat(selectedSkin, \".\").concat(actualModel, \".png\")\n };\n case \"custom\":\n return {\n base: \"\".concat(baseSkinPath, \"/\").concat(selectedSkin, \".\").concat(actualModel, \".png\")\n };\n }\n break;\n case \"weapon\":\n case \"vehicle\":\n return materialDefs.reduce((skinImageUrls, materialDef)=>{\n if (materialDef) {\n switch(selectedSkinType){\n case \"default\":\n if (materialDef.hasDefault !== false) {\n var _materialDef_file, _materialDef_file1;\n skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name] = \"\".concat(basePath, \"/textures/\").concat((_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name, \".png\");\n }\n break;\n case \"custom\":\n var _materialDef_file2, _materialDef_file3;\n skinImageUrls[(_materialDef_file2 = materialDef.file) !== null && _materialDef_file2 !== void 0 ? _materialDef_file2 : materialDef.name] = \"\".concat(baseSkinPath, \"/\").concat(selectedSkin, \"/\").concat((_materialDef_file3 = materialDef.file) !== null && _materialDef_file3 !== void 0 ? _materialDef_file3 : materialDef.name, \".png\");\n break;\n }\n }\n return skinImageUrls;\n }, {});\n }\n return {};\n}\nfunction getModelUrl(basePath, actualModel, selectedAnimation) {\n switch(actualModel){\n default:\n return \"\".concat(basePath, \"/\").concat(actualModel).concat(selectedAnimation ? \".anim\" : \"\", \".glb\");\n }\n}\nfunction WarriorProvider(param) {\n let { children } = param;\n const [selectedModel, setSelectedModel] = (0,react.useState)(\"lmale\");\n const [selectedModelType, setSelectedModelType] = (0,react.useState)(\"player\");\n const [selectedSkin, setSelectedSkin] = (0,react.useState)(\"Blood Eagle\");\n const [selectedSkinType, setSelectedSkinType] = (0,react.useState)(\"default\");\n const [selectedAnimation, setSelectedAnimation] = (0,react.useState)(null);\n const [animationPaused, setAnimationPaused] = (0,react.useState)(false);\n const { basePath } = useSettings();\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const selectedModelUrl = getModelUrl(basePath, actualModel, selectedAnimation);\n const [skinImageUrls, setSkinImageUrls] = (0,react.useState)(()=>getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n }));\n const defaultSkinImageUrls = (0,react.useMemo)(()=>getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin: WarriorProvider_modelDefaults[actualModel],\n selectedSkinType: \"default\"\n }), [\n actualModel,\n basePath,\n selectedModelType\n ]);\n const context = (0,react.useMemo)(()=>{\n return {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls\n };\n }, [\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls\n ]);\n (0,react.useEffect)(()=>{\n if (selectedSkin) {\n setSkinImageUrls(getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n }));\n }\n }, [\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorContext.Provider, {\n value: context,\n children: children\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/next/dynamic.js\nvar dynamic = __webpack_require__(5152);\nvar dynamic_default = /*#__PURE__*/__webpack_require__.n(dynamic);\n;// CONCATENATED MODULE: ./src/useEnvironment.ts\n\nconst EnvironmentContext = react.createContext(null);\nEnvironmentContext.displayName = \"EnvironmentContext\";\n\nfunction useEnvironment() {\n const context = (0,react.useContext)(EnvironmentContext);\n if (!context) {\n throw new Error(\"No EnvironmentContext.Provider\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/useSkin.ts\n\nconst SkinContext = react.createContext(null);\nSkinContext.displayName = \"SkinContext\";\n\nfunction useSkin() {\n const context = (0,react.useContext)(SkinContext);\n if (!context) {\n throw new Error(\"No SkinContext.Provider\");\n }\n return context;\n}\n\n// EXTERNAL MODULE: ./src/useModelViewer.ts\nvar useModelViewer = __webpack_require__(8496);\n;// CONCATENATED MODULE: ./src/Material.tsx\n\n\n\n\nfunction useTexture(param) {\n let { material , materialDef , textureType , imageUrl } = param;\n const { modelViewer } = (0,useModelViewer/* default */.Z)();\n const { basePath } = useSettings();\n (0,react.useEffect)(()=>{\n let stale = false;\n const updateTexture = async ()=>{\n if (!materialDef || materialDef.hidden) {\n if (textureType === \"metallicRoughnessTexture\") {\n return;\n } else {\n material.setAlphaMode(\"BLEND\");\n material.pbrMetallicRoughness.setBaseColorFactor([\n 0,\n 0,\n 0,\n 0\n ]);\n }\n } else {\n const { alphaMode , alphaCutoff , baseColorFactor , emissiveFactor , emissiveTexture =false , metallicFactor =1 , roughnessFactor =1 } = materialDef;\n let textureUrl = imageUrl !== null && imageUrl !== void 0 ? imageUrl : \"\".concat(basePath, \"/white.png\");\n switch(textureType){\n case \"baseColorTexture\":\n if (baseColorFactor) {\n material.pbrMetallicRoughness.setBaseColorFactor(baseColorFactor);\n }\n if (alphaMode) {\n material.setAlphaMode(alphaMode);\n }\n if (alphaCutoff) {\n material.setAlphaCutoff(alphaCutoff);\n }\n if (emissiveFactor) {\n material.setEmissiveFactor(emissiveFactor);\n }\n break;\n case \"metallicRoughnessTexture\":\n material.pbrMetallicRoughness.setMetallicFactor(metallicFactor);\n material.pbrMetallicRoughness.setRoughnessFactor(roughnessFactor);\n if (metallicFactor === 0 && roughnessFactor === 1) {\n textureUrl = \"\".concat(basePath, \"/green.png\");\n }\n }\n const texture = await modelViewer.createTexture(textureUrl);\n if (!stale) {\n material.pbrMetallicRoughness[textureType].setTexture(texture);\n if (textureType === \"baseColorTexture\" && emissiveTexture) {\n material.emissiveTexture.setTexture(texture);\n }\n }\n }\n };\n updateTexture();\n return ()=>{\n stale = true;\n };\n }, [\n basePath,\n modelViewer,\n material,\n materialDef,\n textureType,\n imageUrl\n ]);\n}\nfunction Material(param) {\n let { material , materialDef } = param;\n const { getSkinImages } = useSkin();\n var _materialDef_file, _getSkinImages;\n const { colorImageUrl , metallicImageUrl } = (_getSkinImages = getSkinImages((_materialDef_file = materialDef === null || materialDef === void 0 ? void 0 : materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : material.name)) !== null && _getSkinImages !== void 0 ? _getSkinImages : {};\n useTexture({\n material,\n materialDef,\n textureType: \"baseColorTexture\",\n imageUrl: colorImageUrl\n });\n useTexture({\n material,\n materialDef,\n textureType: \"metallicRoughnessTexture\",\n imageUrl: metallicImageUrl\n });\n return null;\n}\n\n;// CONCATENATED MODULE: ./src/Materials.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: Materials_publicRuntimeConfig } = config_default()();\nconst { materials: Materials_materials } = Materials_publicRuntimeConfig;\nfunction Materials() {\n const { actualModel } = useWarrior();\n const { model } = (0,useModelViewer/* default */.Z)();\n const materialDefs = Materials_materials[actualModel];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {\n children: model.materials.map((material, i)=>{\n var _materialDefs_find;\n const materialDef = (_materialDefs_find = materialDefs.find((materialDef)=>materialDef.index === i)) !== null && _materialDefs_find !== void 0 ? _materialDefs_find : materialDefs[i];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Material, {\n material: material,\n materialDef: materialDef\n }, material.name);\n })\n });\n}\n\n;// CONCATENATED MODULE: ./src/WarriorViewer.tsx\n\n\n\n\n\n\nconst ModelViewer = dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(737), __webpack_require__.e(258), __webpack_require__.e(990)]).then(__webpack_require__.bind(__webpack_require__, 85)), {\n loadableGenerated: {\n webpack: ()=>[\n /*require.resolve*/(85)\n ]\n },\n ssr: false\n});\nconst { publicRuntimeConfig: WarriorViewer_publicRuntimeConfig } = config_default()();\nconst { cameraOverrides } = WarriorViewer_publicRuntimeConfig;\nfunction WarriorViewer() {\n var _cameraOverrides_selectedModel, _cameraOverrides_selectedModel1;\n const { selectedModel , selectedModelUrl , selectedModelType , selectedAnimation , animationPaused } = useWarrior();\n const { environmentImageUrl , showEnvironment , exposure } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ModelViewer, {\n modelUrl: selectedModelUrl,\n environmentImageUrl: environmentImageUrl,\n showEnvironment: showEnvironment,\n animationName: selectedAnimation,\n animationPaused: animationPaused,\n cameraOrbit: selectedModelType === \"weapon\" ? \"315deg 70deg 105%\" : undefined,\n cameraTarget: (_cameraOverrides_selectedModel = cameraOverrides[selectedModel]) === null || _cameraOverrides_selectedModel === void 0 ? void 0 : _cameraOverrides_selectedModel.target,\n fieldOfView: (_cameraOverrides_selectedModel1 = cameraOverrides[selectedModel]) === null || _cameraOverrides_selectedModel1 === void 0 ? void 0 : _cameraOverrides_selectedModel1.fov,\n exposure: exposure,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Materials, {})\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentSelector.tsx\n\n\nfunction EnvironmentSelector() {\n const { selectedEnvironment , setSelectedEnvironment } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"EnvMapSelect\",\n children: \"Environment\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"EnvMapSelect\",\n value: selectedEnvironment !== null && selectedEnvironment !== void 0 ? selectedEnvironment : \"\",\n onChange: (event)=>{\n setSelectedEnvironment(event.target.value || null);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"Default\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"clarens_night_02_1k.hdr\",\n children: \"Clarens Night\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"dry_cracked_lake_1k.hdr\",\n children: \"Dry Cracked Lake\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"fouriesburg_mountain_midday_1k.hdr\",\n children: \"Fouriesburg Mountain\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"goegap_1k.hdr\",\n children: \"Goegap\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hilly_terrain_01_1k.hdr\",\n children: \"Hilly Terrain\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"kloofendal_48d_partly_cloudy_puresky_1k.hdr\",\n children: \"Kloofendal Partly Cloudy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"kloppenheim_06_puresky_1k.hdr\",\n children: \"Kloppenheim\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lilienstein_1k.hdr\",\n children: \"Lilienstein\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"spruit_sunrise_1k_HDR.hdr\",\n children: \"Spruit Sunrise\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"umhlanga_sunrise_1k.hdr\",\n children: \"Umhlanga Sunrise\"\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentExposure.tsx\n\n\n\nfunction EnvironmentExposure() {\n const { exposure , setExposure } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"EnvExposure\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImBrightnessContrast */.MXq, {\n size: 16\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n \"aria-label\": \"Exposure\",\n id: \"EnvExposure\",\n type: \"range\",\n min: 0.2,\n max: 2.2,\n step: 0.1,\n value: exposure,\n onChange: (event)=>{\n setExposure(parseFloat(event.target.value));\n }\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/AnimationSelector.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: AnimationSelector_publicRuntimeConfig } = config_default()();\nconst { animations , animationLabels , animationLabelOverrides } = AnimationSelector_publicRuntimeConfig;\nfunction AnimationSelector() {\n const { actualModel , selectedModelType , selectedAnimation , setSelectedAnimation , animationPaused , setAnimationPaused } = useWarrior();\n var _animations_actualModel;\n const animationList = (0,react.useMemo)(()=>[\n ...selectedModelType === \"player\" ? animations.global : [],\n ...(_animations_actualModel = animations[actualModel]) !== null && _animations_actualModel !== void 0 ? _animations_actualModel : []\n ], [\n actualModel,\n selectedModelType\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Animation\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n value: selectedAnimation !== null && selectedAnimation !== void 0 ? selectedAnimation : \"\",\n onChange: (event)=>{\n setSelectedAnimation(event.target.value || null);\n setAnimationPaused(false);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"None\"\n }),\n animationList.map((animationName)=>{\n var _animationLabelOverrides_actualModel;\n var _animationLabelOverrides_actualModel_animationName;\n const label = (_animationLabelOverrides_actualModel_animationName = (_animationLabelOverrides_actualModel = animationLabelOverrides[actualModel]) === null || _animationLabelOverrides_actualModel === void 0 ? void 0 : _animationLabelOverrides_actualModel[animationName]) !== null && _animationLabelOverrides_actualModel_animationName !== void 0 ? _animationLabelOverrides_actualModel_animationName : animationLabels[animationName];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: animationName,\n children: label !== null && label !== void 0 ? label : animationName\n }, animationName);\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n disabled: !selectedAnimation,\n onClick: ()=>{\n setAnimationPaused((animationPaused)=>!animationPaused);\n },\n children: animationPaused || !selectedAnimation ? /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdPlay */.v$e, {}) : /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdPause */.IWN, {})\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentProvider.tsx\n\n\n\n\nfunction EnvironmentProvider(param) {\n let { children } = param;\n const [selectedEnvironment, setSelectedEnvironment] = (0,react.useState)(null);\n const [showEnvironment, setShowEnvironment] = (0,react.useState)(false);\n const [exposure, setExposure] = (0,react.useState)(1);\n const { basePath } = useSettings();\n const context = (0,react.useMemo)(()=>{\n const environmentImageUrl = selectedEnvironment ? \"\".concat(basePath, \"/\").concat(selectedEnvironment) : null;\n return {\n selectedEnvironment,\n setSelectedEnvironment,\n showEnvironment,\n setShowEnvironment,\n exposure,\n setExposure,\n environmentImageUrl\n };\n }, [\n basePath,\n selectedEnvironment,\n showEnvironment,\n exposure\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/SkinProvider.tsx\n\n\n\nfunction SkinProvider(param) {\n let { children } = param;\n const [materialSkins, setMaterialSkins] = (0,react.useState)({});\n const setters = (0,react.useMemo)(()=>({\n setSkinImages (materialFile, skinImages) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: skinImages\n };\n });\n },\n setColorImageUrl (materialFile, colorImageUrl) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n colorImageUrl\n }\n };\n });\n },\n setMetallicImageUrl (materialFile, metallicImageUrl) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n metallicImageUrl\n }\n };\n });\n }\n }), []);\n const context = (0,react.useMemo)(()=>{\n return {\n materialSkins,\n getSkinImages (materialFile) {\n return materialSkins[materialFile];\n },\n getColorImageUrl (materialFile) {\n return materialSkins[materialFile].colorImageUrl;\n },\n getMetallicImageUrl (materialFile) {\n return materialSkins[materialFile].metallicImageUrl;\n },\n ...setters\n };\n }, [\n materialSkins,\n setters\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(SkinContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/MaterialSelector.tsx\n\n\n\n\nconst { publicRuntimeConfig: MaterialSelector_publicRuntimeConfig } = config_default()();\nconst { materials: MaterialSelector_materials } = MaterialSelector_publicRuntimeConfig;\nfunction MaterialSelector() {\n const { actualModel } = useWarrior();\n const { selectedMaterialIndex , setSelectedMaterialIndex } = useTools();\n const materialDefs = MaterialSelector_materials[actualModel];\n var _materialDef_label;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"select\", {\n value: selectedMaterialIndex,\n onChange: (event)=>{\n setSelectedMaterialIndex(parseInt(event.target.value, 10));\n },\n children: materialDefs.map((materialDef, i)=>materialDef && !materialDef.hidden && materialDef.selectable !== false ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: i,\n children: (_materialDef_label = materialDef.label) !== null && _materialDef_label !== void 0 ? _materialDef_label : materialDef.name\n }, materialDef.name) : null)\n });\n}\n\n;// CONCATENATED MODULE: ./src/Canvas.tsx\n\n\n\n\n\n\n\nfunction updateObjectControlOptions() {\n fabric.fabric.Object.prototype.set({\n transparentCorners: false,\n borderColor: \"#8afff1\",\n cornerSize: 9,\n cornerStyle: \"circle\",\n cornerColor: \"#8afff1\",\n cornerStrokeColor: \"#1c9f7c\",\n strokeWidth: 10,\n perPixelTargetFind: true\n });\n}\nfunction Canvas(param) {\n let { canvasId , onChange , baseImageUrl , textureSize , defaultDrawingMode =false } = param;\n const canvasElementRef = (0,react.useRef)(null);\n const [canvas, setCanvas] = (0,react.useState)(null);\n const { activeCanvas } = useTools();\n const { canvasPadding } = useSettings();\n const { registerCanvas , unregisterCanvas } = src_useCanvas();\n const [isDrawingMode, setDrawingMode] = (0,react.useState)(defaultDrawingMode);\n const handleChangeRef = (0,react.useRef)();\n const trackChanges = (0,react.useRef)(true);\n const [undoHistory, setUndoHistory] = (0,react.useState)(()=>[]);\n const [redoHistory, setRedoHistory] = (0,react.useState)(()=>[]);\n const canUndo = undoHistory.length > 1;\n const canRedo = redoHistory.length > 0;\n const handleChange = (0,react.useCallback)((canvas)=>{\n const handleChange = handleChangeRef.current;\n if (handleChange) {\n handleChange(canvas);\n }\n }, []);\n const undo = (0,react.useCallback)(async ()=>{\n if (!canvas) {\n return;\n }\n if (undoHistory.length > 1) {\n const [restoreState, currentState] = undoHistory.slice(-2);\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(restoreState, ()=>{\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory)=>undoHistory.slice(0, -1));\n setRedoHistory((redoHistory)=>[\n currentState,\n ...redoHistory\n ]);\n }\n }, [\n canvas,\n undoHistory\n ]);\n const redo = (0,react.useCallback)(()=>{\n if (!canvas) {\n return;\n }\n if (redoHistory.length > 0) {\n const nextState = redoHistory[0];\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(nextState, ()=>{\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory)=>[\n ...undoHistory,\n nextState\n ]);\n setRedoHistory((redoHistory)=>redoHistory.slice(1));\n }\n }, [\n canvas,\n redoHistory\n ]);\n (0,react.useEffect)(()=>{\n handleChangeRef.current = onChange;\n }, [\n onChange\n ]);\n const isActive = activeCanvas === canvasId;\n (0,react.useEffect)(()=>{\n const options = {\n preserveObjectStacking: true,\n targetFindTolerance: 2\n };\n updateObjectControlOptions();\n const canvas = new fabric.fabric.Canvas(canvasElementRef.current, options);\n let isSnapshotting = false;\n let changeTimer;\n const handleChangeWithCanvasArg = ()=>{\n handleChange(canvas);\n };\n const handleRender = ()=>{\n if (isSnapshotting) {\n return;\n }\n if (!trackChanges.current) {\n return;\n }\n clearTimeout(changeTimer);\n changeTimer = setTimeout(()=>{\n const snapshot = snapshotCanvas();\n setUndoHistory((history)=>[\n ...history.slice(-5),\n snapshot\n ]);\n setRedoHistory([]);\n }, 150);\n };\n const snapshotCanvas = ()=>{\n isSnapshotting = true;\n const snapshot = canvas.toJSON([\n \"lockMovementX\",\n \"lockMovementY\",\n \"lockRotation\",\n \"lockScalingX\",\n \"lockScalingY\",\n \"selectable\",\n \"hoverCursor\",\n \"moveCursor\"\n ]);\n isSnapshotting = false;\n return snapshot;\n };\n canvas.on(\"object:modified\", handleChangeWithCanvasArg);\n canvas.on(\"object:added\", handleChangeWithCanvasArg);\n canvas.on(\"object:removed\", handleChangeWithCanvasArg);\n canvas.on(\"after:render\", handleRender);\n setCanvas(canvas);\n return ()=>{\n clearTimeout(changeTimer);\n setCanvas(null);\n canvas.dispose();\n };\n }, [\n handleChange\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n canvas.isDrawingMode = isDrawingMode;\n }\n }, [\n canvas,\n isDrawingMode\n ]);\n (0,react.useEffect)(()=>{\n if (canvas && isActive) {\n canvas.calcOffset();\n }\n }, [\n canvas,\n isActive\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n registerCanvas(canvasId, {\n canvas,\n notifyChange: ()=>{\n canvas.renderAll();\n handleChange(canvas);\n },\n undo,\n redo,\n canUndo,\n canRedo,\n isDrawingMode,\n setDrawingMode\n });\n return ()=>{\n unregisterCanvas(canvasId);\n };\n }\n }, [\n canvas,\n registerCanvas,\n unregisterCanvas,\n canvasId,\n handleChange,\n isDrawingMode,\n setDrawingMode,\n undo,\n redo,\n canUndo,\n canRedo\n ]);\n (0,react.useEffect)(()=>{\n if (canvas && textureSize) {\n trackChanges.current = false;\n canvas.clear();\n if (baseImageUrl) {\n let stale = false;\n const addImage = async ()=>{\n const image = await createFabricImage(baseImageUrl);\n if (!stale) {\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n image.selectable = false;\n image.lockMovementX = true;\n image.lockMovementY = true;\n image.lockScalingX = true;\n image.lockScalingY = true;\n image.lockRotation = true;\n image.hoverCursor = \"default\";\n image.moveCursor = \"default\";\n const [expectedWidth, expectedHeight] = textureSize;\n const scaleX = image.width === expectedWidth ? 1 : expectedWidth / image.width;\n const scaleY = image.height === expectedHeight ? 1 : expectedHeight / image.height;\n if (scaleX !== 1 || scaleY !== 1) {\n image.scaleX = scaleX;\n image.scaleY = scaleY;\n }\n canvas.centerObject(image);\n canvas.add(image);\n }\n trackChanges.current = true;\n canvas.requestRenderAll();\n };\n addImage();\n return ()=>{\n stale = true;\n };\n }\n }\n }, [\n canvas,\n baseImageUrl,\n textureSize\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasContainer\",\n \"data-active\": isActive ? \"true\" : \"false\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"canvas\", {\n width: textureSize[0] + canvasPadding * 2,\n height: textureSize[1] + canvasPadding * 2,\n ref: canvasElementRef\n })\n });\n}\n\n;// CONCATENATED MODULE: ./src/useImageLoader.ts\n\nconst ImageLoaderContext = react.createContext(null);\nImageLoaderContext.displayName = \"ImageLoaderContext\";\nfunction useImageLoader() {\n const context = (0,react.useContext)(ImageLoaderContext);\n if (!context) {\n throw new Error(\"ImageLoaderContext.Provider not found!\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/ColorCanvas.tsx\n\n\n\n\n\n\n\n\nconst defaultTextureSize = [\n 512,\n 512\n];\nfunction ColorCanvas(param) {\n let { materialDef } = param;\n const { skinImageUrls , defaultSkinImageUrls } = useWarrior();\n var _materialDef_file;\n const skinImageUrl = skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name];\n var _materialDef_file1;\n const defaultSkinImageUrl = defaultSkinImageUrls[(_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name];\n const { setColorImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [noAlphaImageUrl, setNoAlphaImageUrl] = (0,react.useState)(null);\n const { removeAlphaFromArrayBuffer } = useImageWorker();\n const { loadImage } = useImageLoader();\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : defaultTextureSize, [\n materialDef\n ]);\n const handleChange = (0,react.useCallback)(async (canvas)=>{\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n var _materialDef_file;\n setColorImageUrl((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, imageUrl);\n }, [\n textureSize,\n canvasPadding,\n setColorImageUrl,\n materialDef\n ]);\n (0,react.useEffect)(()=>{\n if (skinImageUrl) {\n let stale = false;\n const generateImageUrl = async ()=>{\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await removeAlphaFromArrayBuffer(arrayBuffer);\n if (!stale) {\n setNoAlphaImageUrl(outputImageUrl);\n }\n };\n generateImageUrl();\n return ()=>{\n stale = true;\n };\n } else {\n setNoAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n removeAlphaFromArrayBuffer,\n loadImage\n ]);\n const canvasId = \"\".concat(materialDef.name, \":color\");\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Canvas, {\n canvasId: canvasId,\n canvasType: \"color\",\n onChange: handleChange,\n baseImageUrl: noAlphaImageUrl,\n textureSize: textureSize\n }, canvasId) : null;\n}\n\n;// CONCATENATED MODULE: ./src/MetallicCanvas.tsx\n\n\n\n\n\n\n\n\nconst MetallicCanvas_defaultTextureSize = [\n 512,\n 512\n];\nfunction MetallicCanvas(param) {\n let { materialDef } = param;\n const { skinImageUrls , defaultSkinImageUrls } = useWarrior();\n var _materialDef_file;\n const skinImageUrl = skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name];\n var _materialDef_file1;\n const defaultSkinImageUrl = defaultSkinImageUrls[(_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name];\n const { setMetallicImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [alphaImageUrl, setAlphaImageUrl] = (0,react.useState)(null);\n const runningChangeHandlers = (0,react.useRef)(0);\n const { convertGrayscaleImageUrlToMetallicRoughness , convertArrayBufferAlphaToGrayscale } = useImageWorker();\n const { loadImage } = useImageLoader();\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : MetallicCanvas_defaultTextureSize, [\n materialDef\n ]);\n const handleChange = (0,react.useCallback)(async (canvas)=>{\n runningChangeHandlers.current += 1;\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n let outputImageUrl;\n try {\n outputImageUrl = await convertGrayscaleImageUrlToMetallicRoughness(imageUrl);\n } finally{\n runningChangeHandlers.current -= 1;\n }\n if (runningChangeHandlers.current === 0) {\n var _materialDef_file;\n setMetallicImageUrl((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, outputImageUrl);\n }\n }, [\n textureSize,\n canvasPadding,\n setMetallicImageUrl,\n convertGrayscaleImageUrlToMetallicRoughness,\n materialDef\n ]);\n (0,react.useEffect)(()=>{\n if (skinImageUrl) {\n let stale = false;\n const generateImageUrl = async ()=>{\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await convertArrayBufferAlphaToGrayscale(arrayBuffer);\n if (!stale) {\n setAlphaImageUrl(outputImageUrl);\n }\n };\n generateImageUrl();\n return ()=>{\n stale = true;\n };\n } else {\n setAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n textureSize,\n convertArrayBufferAlphaToGrayscale,\n loadImage\n ]);\n const canvasId = \"\".concat(materialDef.name, \":metallic\");\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Canvas, {\n canvasId: canvasId,\n canvasType: \"metallic\",\n onChange: handleChange,\n baseImageUrl: alphaImageUrl,\n textureSize: textureSize,\n defaultDrawingMode: true\n }, canvasId) : null;\n}\n\n;// CONCATENATED MODULE: ./src/MaterialCanvases.tsx\n\n\n\n\n\n\nconst { publicRuntimeConfig: MaterialCanvases_publicRuntimeConfig } = config_default()();\nconst { materials: MaterialCanvases_materials } = MaterialCanvases_publicRuntimeConfig;\nfunction MaterialCanvases() {\n const { actualModel } = useWarrior();\n const materialDefs = MaterialCanvases_materials[actualModel];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {\n children: materialDefs.map((materialDef)=>{\n if (!materialDef) {\n return null;\n }\n const hasMetallic = !(materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(react.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(ColorCanvas, {\n materialDef: materialDef\n }),\n hasMetallic ? /*#__PURE__*/ (0,jsx_runtime.jsx)(MetallicCanvas, {\n materialDef: materialDef\n }) : null\n ]\n }, \"\".concat(actualModel, \"-\").concat(materialDef.name));\n })\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\nvar QueryClientProvider = __webpack_require__(5945);\n;// CONCATENATED MODULE: ./src/ImageLoaderProvider.tsx\n\n\n\n\n\nfunction ImageLoaderProvider(param) {\n let { children } = param;\n const queryClient = (0,QueryClientProvider/* useQueryClient */.NL)();\n const context = (0,react.useMemo)(()=>{\n return {\n async loadImage (imageUrl) {\n if (imageUrl.startsWith(\"data:\")) {\n return imageUrlToArrayBuffer(imageUrl);\n } else {\n const arrayBuffer = await queryClient.fetchQuery({\n queryKey: [\n imageUrl\n ]\n });\n return arrayBuffer;\n }\n }\n };\n }, [\n queryClient\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ImageLoaderContext.Provider, {\n value: context,\n children: children\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/@tanstack/query-core/build/lib/queryClient.mjs + 13 modules\nvar queryClient = __webpack_require__(8709);\n;// CONCATENATED MODULE: ./src/pages/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nasync function imageFetcher(param) {\n let { queryKey } = param;\n const [imageUrl] = queryKey;\n return imageUrlToArrayBuffer(imageUrl);\n}\nconst pages_queryClient = new queryClient/* QueryClient */.S({\n defaultOptions: {\n queries: {\n queryFn: imageFetcher,\n staleTime: Infinity,\n cacheTime: 60000,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false\n }\n }\n});\nfunction HomePage() {\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((head_default()), {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"title\", {\n children: \"T2 Model Viewer & Skinner\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(QueryClientProvider/* QueryClientProvider */.aH, {\n client: pages_queryClient,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"main\", {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ImageLoaderProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(SkinProvider, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Viewport\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"ModelTools\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentSelector, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field SliderField\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentExposure, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(AnimationSelector, {})\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorViewer, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ToolsProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(CanvasInteractions, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorSelector, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasViewport\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasSelector\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasToggle, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(MaterialSelector, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasBackdrop, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(MaterialCanvases, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasTools, {})\n ]\n })\n })\n })\n ]\n })\n })\n })\n })\n })\n })\n ]\n });\n}\n\n\n/***/ }),\n\n/***/ 8496:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"K\": function() { return /* binding */ ModelViewerContext; },\n/* harmony export */ \"Z\": function() { return /* binding */ useModelViewer; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7294);\n\nconst ModelViewerContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nModelViewerContext.displayName = \"ModelViewerContext\";\nfunction useModelViewer() {\n const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModelViewerContext);\n if (!context) {\n throw new Error(\"No ModelViewerContext.Provider\");\n }\n return context;\n}\n\n\n/***/ }),\n\n/***/ 6287:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n/* provided dependency */ var Buffer = __webpack_require__(1876)[\"Buffer\"];\n/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */ var fabric = fabric || {\n version: \"5.2.1\"\n};\nif (true) {\n exports.fabric = fabric;\n} else {}\n/* _AMD_END_ */ if (typeof document !== \"undefined\" && \"object\" !== \"undefined\") {\n if (document instanceof (typeof HTMLDocument !== \"undefined\" ? HTMLDocument : Document)) {\n fabric.document = document;\n } else {\n fabric.document = document.implementation.createHTMLDocument(\"\");\n }\n fabric.window = window;\n} else {\n // assume we're running under node.js when document/window are not present\n var jsdom = __webpack_require__(6734);\n var virtualWindow = new jsdom.JSDOM(decodeURIComponent(\"%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E\"), {\n features: {\n FetchExternalResources: [\n \"img\"\n ]\n },\n resources: \"usable\"\n }).window;\n fabric.document = virtualWindow.document;\n fabric.jsdomImplForWrapper = (__webpack_require__(6907).implForWrapper);\n fabric.nodeCanvas = (__webpack_require__(4866).Canvas);\n fabric.window = virtualWindow;\n DOMParser = fabric.window.DOMParser;\n}\n/**\n * True when in environment that supports touch events\n * @type boolean\n */ fabric.isTouchSupported = \"ontouchstart\" in fabric.window || \"ontouchstart\" in fabric.document || fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0;\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */ fabric.isLikelyNode = typeof Buffer !== \"undefined\" && \"object\" === \"undefined\";\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */ fabric.DPI = 96;\nfabric.reNum = \"(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[eE][-+]?\\\\d+)?)\";\nfabric.commaWsp = \"(?:\\\\s+,?\\\\s*|,\\\\s*)\";\nfabric.rePathCommand = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:[eE][-+]?\\d+)?)/ig;\nfabric.reNonWord = /[ \\n\\.,;!\\?\\-]/;\nfabric.fontPaths = {};\nfabric.iMatrix = [\n 1,\n 0,\n 0,\n 1,\n 0,\n 0\n];\nfabric.svgNS = \"http://www.w3.org/2000/svg\";\n/**\n * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.perfLimitSizeTotal = 2097152;\n/**\n * Pixel limit for cache canvases width or height. IE fixes the maximum at 5000\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.maxCacheSideLimit = 4096;\n/**\n * Lowest pixel limit for cache canvases, set at 256PX\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.minCacheSideLimit = 256;\n/**\n * Cache Object for widths of chars in text rendering.\n */ fabric.charWidthsCache = {};\n/**\n * if webgl is enabled and available, textureSize will determine the size\n * of the canvas backend\n * @since 2.0.0\n * @type Number\n * @default\n */ fabric.textureSize = 2048;\n/**\n * When 'true', style information is not retained when copy/pasting text, making\n * pasted text use destination style.\n * Defaults to 'false'.\n * @type Boolean\n * @default\n */ fabric.disableStyleCopyPaste = false;\n/**\n * Enable webgl for filtering picture is available\n * A filtering backend will be initialized, this will both take memory and\n * time since a default 2048x2048 canvas will be created for the gl context\n * @since 2.0.0\n * @type Boolean\n * @default\n */ fabric.enableGLFiltering = true;\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */ fabric.devicePixelRatio = fabric.window.devicePixelRatio || fabric.window.webkitDevicePixelRatio || fabric.window.mozDevicePixelRatio || 1;\n/**\n * Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,\n * which is unitless and not rendered equally across browsers.\n *\n * Values that work quite well (as of October 2017) are:\n * - Chrome: 1.5\n * - Edge: 1.75\n * - Firefox: 0.9\n * - Safari: 0.95\n *\n * @since 2.0.0\n * @type Number\n * @default 1\n */ fabric.browserShadowBlurConstant = 1;\n/**\n * This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.\n * It was an internal variable, is accessible since version 2.3.4\n */ fabric.arcToSegmentsCache = {};\n/**\n * This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.\n * It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing\n * you do not get any speed benefit and you get a big object in memory.\n * The object was a private variable before, while now is appended to the lib so that you have access to it and you\n * can eventually clear it.\n * It was an internal variable, is accessible since version 2.3.4\n */ fabric.boundsOfCurveCache = {};\n/**\n * If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better\n * @default true\n */ fabric.cachesBoundsOfCurve = true;\n/**\n * Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on\n * Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true\n * this has to be set before instantiating the filtering backend ( before filtering the first image )\n * @type Boolean\n * @default false\n */ fabric.forceGLPutImageData = false;\nfabric.initFilterBackend = function() {\n if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {\n console.log(\"max texture size: \" + fabric.maxTextureSize);\n return new fabric.WebglFilterBackend({\n tileSize: fabric.textureSize\n });\n } else if (fabric.Canvas2dFilterBackend) {\n return new fabric.Canvas2dFilterBackend();\n }\n};\n(function() {\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */ function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n var eventListener = this.__eventListeners[eventName];\n if (handler) {\n eventListener[eventListener.indexOf(handler)] = false;\n } else {\n fabric.util.array.fill(eventListener, false);\n }\n }\n /**\n * Observes specified event\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */ function on(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = {};\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for(var prop in eventName){\n this.on(prop, eventName[prop]);\n }\n } else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n function _once(eventName, handler) {\n var _handler = (function() {\n handler.apply(this, arguments);\n this.off(eventName, _handler);\n }).bind(this);\n this.on(eventName, _handler);\n }\n function once(eventName, handler) {\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for(var prop in eventName){\n _once.call(this, prop, eventName[prop]);\n }\n } else {\n _once.call(this, eventName, handler);\n }\n return this;\n }\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */ function off(eventName, handler) {\n if (!this.__eventListeners) {\n return this;\n }\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n for(eventName in this.__eventListeners){\n _removeEventListener.call(this, eventName);\n }\n } else if (arguments.length === 1 && typeof arguments[0] === \"object\") {\n for(var prop in eventName){\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n } else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n /**\n * Fires event with an optional options object\n * @memberOf fabric.Observable\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */ function fire(eventName, options) {\n if (!this.__eventListeners) {\n return this;\n }\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return this;\n }\n for(var i = 0, len = listenersForEvent.length; i < len; i++){\n listenersForEvent[i] && listenersForEvent[i].call(this, options || {});\n }\n this.__eventListeners[eventName] = listenersForEvent.filter(function(value) {\n return value !== false;\n });\n return this;\n }\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#events}\n * @see {@link http://fabricjs.com/events|Events demo}\n */ fabric.Observable = {\n fire: fire,\n on: on,\n once: once,\n off: off\n };\n})();\n/**\n * @namespace fabric.Collection\n */ fabric.Collection = {\n _objects: [],\n /**\n * Adds objects to collection, Canvas or Group, then renders canvas\n * (if `renderOnAddRemove` is not `false`).\n * in case of Group no changes to bounding box are made.\n * Objects should be instances of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the add method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */ add: function() {\n this._objects.push.apply(this._objects, arguments);\n if (this._onObjectAdded) {\n for(var i = 0, length = arguments.length; i < length; i++){\n this._onObjectAdded(arguments[i]);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the insertAt method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */ insertAt: function(object, index, nonSplicing) {\n var objects = this._objects;\n if (nonSplicing) {\n objects[index] = object;\n } else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded && this._onObjectAdded(object);\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */ remove: function() {\n var objects = this._objects, index, somethingRemoved = false;\n for(var i = 0, length = arguments.length; i < length; i++){\n index = objects.indexOf(arguments[i]);\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n somethingRemoved = true;\n objects.splice(index, 1);\n this._onObjectRemoved && this._onObjectRemoved(arguments[i]);\n }\n }\n this.renderOnAddRemove && somethingRemoved && this.requestRenderAll();\n return this;\n },\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n * @chainable\n */ forEachObject: function(callback, context) {\n var objects = this.getObjects();\n for(var i = 0, len = objects.length; i < len; i++){\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * since 2.3.5 this method return always a COPY of the array;\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */ getObjects: function(type) {\n if (typeof type === \"undefined\") {\n return this._objects.concat();\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */ item: function(index) {\n return this._objects[index];\n },\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */ isEmpty: function() {\n return this._objects.length === 0;\n },\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */ size: function() {\n return this._objects.length;\n },\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @param {Boolean} [deep=false] `true` to check all descendants, `false` to check only `_objects`\n * @return {Boolean} `true` if collection contains an object\n */ contains: function(object, deep) {\n if (this._objects.indexOf(object) > -1) {\n return true;\n } else if (deep) {\n return this._objects.some(function(obj) {\n return typeof obj.contains === \"function\" && obj.contains(object, true);\n });\n }\n return false;\n },\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */ complexity: function() {\n return this._objects.reduce(function(memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n/**\n * @namespace fabric.CommonMethods\n */ fabric.CommonMethods = {\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */ _setOptions: function(options) {\n for(var prop in options){\n this.set(prop, options[prop]);\n }\n },\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Gradient to\n */ _initGradient: function(filler, property) {\n if (filler && filler.colorStops && !(filler instanceof fabric.Gradient)) {\n this.set(property, new fabric.Gradient(filler));\n }\n },\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Pattern to\n * @param {Function} [callback] callback to invoke after pattern load\n */ _initPattern: function(filler, property, callback) {\n if (filler && filler.source && !(filler instanceof fabric.Pattern)) {\n this.set(property, new fabric.Pattern(filler, callback));\n } else {\n callback && callback();\n }\n },\n /**\n * @private\n */ _setObject: function(obj) {\n for(var prop in obj){\n this._set(prop, obj[prop]);\n }\n },\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */ set: function(key, value) {\n if (typeof key === \"object\") {\n this._setObject(key);\n } else {\n this._set(key, value);\n }\n return this;\n },\n _set: function(key, value) {\n this[key] = value;\n },\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n * @return {fabric.Object} thisArg\n * @chainable\n */ toggle: function(property) {\n var value = this.get(property);\n if (typeof value === \"boolean\") {\n this.set(property, !value);\n }\n return this;\n },\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */ get: function(property) {\n return this[property];\n }\n};\n(function(global) {\n var sqrt = Math.sqrt, atan2 = Math.atan2, pow = Math.pow, PiBy180 = Math.PI / 180, PiBy2 = Math.PI / 2;\n /**\n * @namespace fabric.util\n */ fabric.util = {\n /**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */ cos: function(angle) {\n if (angle === 0) {\n return 1;\n }\n if (angle < 0) {\n // cos(a) = cos(-a)\n angle = -angle;\n }\n var angleSlice = angle / PiBy2;\n switch(angleSlice){\n case 1:\n case 3:\n return 0;\n case 2:\n return -1;\n }\n return Math.cos(angle);\n },\n /**\n * Calculate the sin of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */ sin: function(angle) {\n if (angle === 0) {\n return 0;\n }\n var angleSlice = angle / PiBy2, sign = 1;\n if (angle < 0) {\n // sin(-a) = -sin(a)\n sign = -1;\n }\n switch(angleSlice){\n case 1:\n return sign;\n case 2:\n return 0;\n case 3:\n return -sign;\n }\n return Math.sin(angle);\n },\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {*} value\n * @return {Array} original array\n */ removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */ getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */ degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */ radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */ rotatePoint: function(point, origin, radians) {\n var newPoint = new fabric.Point(point.x - origin.x, point.y - origin.y), v = fabric.util.rotateVector(newPoint, radians);\n return new fabric.Point(v.x, v.y).addEquals(origin);\n },\n /**\n * Rotates `vector` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {Object} vector The vector to rotate (x and y)\n * @param {Number} radians The radians of the angle for the rotation\n * @return {Object} The new rotated point\n */ rotateVector: function(vector, radians) {\n var sin = fabric.util.sin(radians), cos = fabric.util.cos(radians), rx = vector.x * cos - vector.y * sin, ry = vector.x * sin + vector.y * cos;\n return {\n x: rx,\n y: ry\n };\n },\n /**\n * Creates a vetor from points represented as a point\n * @static\n * @memberOf fabric.util\n *\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n *\n * @param {Point} from\n * @param {Point} to\n * @returns {Point} vector\n */ createVector: function(from, to) {\n return new fabric.Point(to.x - from.x, to.y - from.y);\n },\n /**\n * Calculates angle between 2 vectors using dot product\n * @static\n * @memberOf fabric.util\n * @param {Point} a\n * @param {Point} b\n * @returns the angle in radian between the vectors\n */ calcAngleBetweenVectors: function(a, b) {\n return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y)));\n },\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} v\n * @returns {Point} vector representing the unit vector of pointing to the direction of `v`\n */ getHatVector: function(v) {\n return new fabric.Point(v.x, v.y).multiply(1 / Math.hypot(v.x, v.y));\n },\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} A\n * @param {Point} B\n * @param {Point} C\n * @returns {{ vector: Point, angle: number }} vector representing the bisector of A and A's angle\n */ getBisector: function(A, B, C) {\n var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C);\n var alpha = fabric.util.calcAngleBetweenVectors(AB, AC);\n // check if alpha is relative to AB->BC\n var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC);\n var phi = alpha * (ro === 0 ? 1 : -1) / 2;\n return {\n vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)),\n angle: alpha\n };\n },\n /**\n * Project stroke width on points returning 2 projections for each point as follows:\n * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke.\n * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector.\n * - `round`: same as `bevel`\n * Used to calculate object's bounding box\n * @static\n * @memberOf fabric.util\n * @param {Point[]} points\n * @param {Object} options\n * @param {number} options.strokeWidth\n * @param {'miter'|'bevel'|'round'} options.strokeLineJoin\n * @param {number} options.strokeMiterLimit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit\n * @param {boolean} options.strokeUniform\n * @param {number} options.scaleX\n * @param {number} options.scaleY\n * @param {boolean} [openPath] whether the shape is open or not, affects the calculations of the first and last points\n * @returns {fabric.Point[]} array of size 2n/4n of all suspected points\n */ projectStrokeOnPoints: function(points, options, openPath) {\n var coords = [], s = options.strokeWidth / 2, strokeUniformScalar = options.strokeUniform ? new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1), getStrokeHatVector = function(v) {\n var scalar = s / Math.hypot(v.x, v.y);\n return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y);\n };\n if (points.length <= 1) {\n return coords;\n }\n points.forEach(function(p, index) {\n var A = new fabric.Point(p.x, p.y), B, C;\n if (index === 0) {\n C = points[index + 1];\n B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1];\n } else if (index === points.length - 1) {\n B = points[index - 1];\n C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0];\n } else {\n B = points[index - 1];\n C = points[index + 1];\n }\n var bisector = fabric.util.getBisector(A, B, C), bisectorVector = bisector.vector, alpha = bisector.angle, scalar, miterVector;\n if (options.strokeLineJoin === \"miter\") {\n scalar = -s / Math.sin(alpha / 2);\n miterVector = new fabric.Point(bisectorVector.x * scalar * strokeUniformScalar.x, bisectorVector.y * scalar * strokeUniformScalar.y);\n if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) {\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n return;\n }\n }\n scalar = -s * Math.SQRT2;\n miterVector = new fabric.Point(bisectorVector.x * scalar * strokeUniformScalar.x, bisectorVector.y * scalar * strokeUniformScalar.y);\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n });\n return coords;\n },\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */ transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(t[0] * p.x + t[2] * p.y, t[1] * p.x + t[3] * p.y);\n }\n return new fabric.Point(t[0] * p.x + t[2] * p.y + t[4], t[1] * p.x + t[3] * p.y + t[5]);\n },\n /**\n * Returns coordinates of points's bounding rectangle (left, top, width, height)\n * @param {Array} points 4 points array\n * @param {Array} [transform] an array of 6 numbers representing a 2x3 transform matrix\n * @return {Object} Object with left, top, width, height properties\n */ makeBoundingBoxFromPoints: function(points, transform) {\n if (transform) {\n for(var i = 0; i < points.length; i++){\n points[i] = fabric.util.transformPoint(points[i], transform);\n }\n }\n var xPoints = [\n points[0].x,\n points[1].x,\n points[2].x,\n points[3].x\n ], minX = fabric.util.array.min(xPoints), maxX = fabric.util.array.max(xPoints), width = maxX - minX, yPoints = [\n points[0].y,\n points[1].y,\n points[2].y,\n points[3].y\n ], minY = fabric.util.array.min(yPoints), maxY = fabric.util.array.max(yPoints), height = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */ invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]), r = [\n a * t[3],\n -a * t[1],\n -a * t[2],\n a * t[0]\n ], o = fabric.util.transformPoint({\n x: t[4],\n y: t[5]\n }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */ toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @param {Number} fontSize\n * @return {Number|String}\n */ parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value), number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch(unit[0]){\n case \"mm\":\n return number * fabric.DPI / 25.4;\n case \"cm\":\n return number * fabric.DPI / 2.54;\n case \"in\":\n return number * fabric.DPI;\n case \"pt\":\n return number * fabric.DPI / 72; // or * 4 / 3\n case \"pc\":\n return number * fabric.DPI / 72 * 12; // or * 16\n case \"em\":\n return number * fontSize;\n default:\n return number;\n }\n },\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */ falseFunction: function() {\n return false;\n },\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */ getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n /**\n * Returns array of attributes for given svg that fabric parses\n * @memberOf fabric.util\n * @param {String} type Type of svg element (eg. 'circle')\n * @return {Array} string names of supported attributes\n */ getSvgAttributes: function(type) {\n var attributes = [\n \"instantiated_by_use\",\n \"style\",\n \"id\",\n \"class\"\n ];\n switch(type){\n case \"linearGradient\":\n attributes = attributes.concat([\n \"x1\",\n \"y1\",\n \"x2\",\n \"y2\",\n \"gradientUnits\",\n \"gradientTransform\"\n ]);\n break;\n case \"radialGradient\":\n attributes = attributes.concat([\n \"gradientUnits\",\n \"gradientTransform\",\n \"cx\",\n \"cy\",\n \"r\",\n \"fx\",\n \"fy\",\n \"fr\"\n ]);\n break;\n case \"stop\":\n attributes = attributes.concat([\n \"offset\",\n \"stop-color\",\n \"stop-opacity\"\n ]);\n break;\n }\n return attributes;\n },\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */ resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n var parts = namespace.split(\".\"), len = parts.length, i, obj = global || fabric.window;\n for(i = 0; i < len; ++i){\n obj = obj[parts[i]];\n }\n return obj;\n },\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {*} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */ loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n var img = fabric.util.createImage();\n /** @ignore */ var onLoadCallback = function() {\n callback && callback.call(context, img, false);\n img = img.onload = img.onerror = null;\n };\n img.onload = onLoadCallback;\n /** @ignore */ img.onerror = function() {\n fabric.log(\"Error loading \" + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n // crossOrigin null is the same as not set.\n if (url.indexOf(\"data\") !== 0 && crossOrigin !== undefined && crossOrigin !== null) {\n img.crossOrigin = crossOrigin;\n }\n // IE10 / IE11-Fix: SVG contents from data: URI\n // will only be available if the IMG is present\n // in the DOM (and visible)\n if (url.substring(0, 14) === \"data:image/svg\") {\n img.onload = null;\n fabric.util.loadImageInDom(img, onLoadCallback);\n }\n img.src = url;\n },\n /**\n * Attaches SVG image with data: URL to the dom\n * @memberOf fabric.util\n * @param {Object} img Image object with data:image/svg src\n * @param {Function} callback Callback; invoked with loaded image\n * @return {Object} DOM element (div containing the SVG image)\n */ loadImageInDom: function(img, onLoadCallback) {\n var div = fabric.document.createElement(\"div\");\n div.style.width = div.style.height = \"1px\";\n div.style.left = div.style.top = \"-100%\";\n div.style.position = \"absolute\";\n div.appendChild(img);\n fabric.document.querySelector(\"body\").appendChild(div);\n /**\n * Wrap in function to:\n * 1. Call existing callback\n * 2. Cleanup DOM\n */ img.onload = function() {\n onLoadCallback();\n div.parentNode.removeChild(div);\n div = null;\n };\n },\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */ enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [];\n var enlivenedObjects = [], numLoadedObjects = 0, numTotalObjects = objects.length;\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects.filter(function(obj) {\n // filter out undefined objects (objects that gave error)\n return obj;\n }));\n }\n }\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n objects.forEach(function(o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n klass.fromObject(o, function(obj, error) {\n error || (enlivenedObjects[index] = obj);\n reviver && reviver(o, obj, error);\n onLoaded();\n });\n });\n },\n /**\n * Creates corresponding fabric instances residing in an object, e.g. `clipPath`\n * @see {@link fabric.Object.ENLIVEN_PROPS}\n * @param {Object} object\n * @param {Object} [context] assign enlived props to this object (pass null to skip this)\n * @param {(objects:fabric.Object[]) => void} callback\n */ enlivenObjectEnlivables: function(object, context, callback) {\n var enlivenProps = fabric.Object.ENLIVEN_PROPS.filter(function(key) {\n return !!object[key];\n });\n fabric.util.enlivenObjects(enlivenProps.map(function(key) {\n return object[key];\n }), function(enlivedProps) {\n var objects = {};\n enlivenProps.forEach(function(key, index) {\n objects[key] = enlivedProps[index];\n context && (context[key] = enlivedProps[index]);\n });\n callback && callback(objects);\n });\n },\n /**\n * Create and wait for loading of patterns\n * @static\n * @memberOf fabric.util\n * @param {Array} patterns Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * called after each fabric object created.\n */ enlivenPatterns: function(patterns, callback) {\n patterns = patterns || [];\n function onLoaded() {\n if (++numLoadedPatterns === numPatterns) {\n callback && callback(enlivenedPatterns);\n }\n }\n var enlivenedPatterns = [], numLoadedPatterns = 0, numPatterns = patterns.length;\n if (!numPatterns) {\n callback && callback(enlivenedPatterns);\n return;\n }\n patterns.forEach(function(p, index) {\n if (p && p.source) {\n new fabric.Pattern(p, function(pattern) {\n enlivenedPatterns[index] = pattern;\n onLoaded();\n });\n } else {\n enlivenedPatterns[index] = p;\n onLoaded();\n }\n });\n },\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @param {String} path Value to set sourcePath to\n * @return {fabric.Object|fabric.Group}\n */ groupSVGElements: function(elements, options, path) {\n var object;\n if (elements && elements.length === 1) {\n return elements[0];\n }\n if (options) {\n if (options.width && options.height) {\n options.centerPoint = {\n x: options.width / 2,\n y: options.height / 2\n };\n } else {\n delete options.width;\n delete options.height;\n }\n }\n object = new fabric.Group(elements, options);\n if (typeof path !== \"undefined\") {\n object.sourcePath = path;\n }\n return object;\n },\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Properties names to include\n */ populateWithProperties: function(source, destination, properties) {\n if (properties && Array.isArray(properties)) {\n for(var i = 0, len = properties.length; i < len; i++){\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n /**\n * Creates canvas element\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */ createCanvasElement: function() {\n return fabric.document.createElement(\"canvas\");\n },\n /**\n * Creates a canvas element that is a copy of another and is also painted\n * @param {CanvasElement} canvas to copy size and content of\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */ copyCanvasElement: function(canvas) {\n var newCanvas = fabric.util.createCanvasElement();\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n newCanvas.getContext(\"2d\").drawImage(canvas, 0, 0);\n return newCanvas;\n },\n /**\n * since 2.6.0 moved from canvas instance to utility.\n * @param {CanvasElement} canvasEl to copy size and content of\n * @param {String} format 'jpeg' or 'png', in some browsers 'webp' is ok too\n * @param {Number} quality <= 1 and > 0\n * @static\n * @memberOf fabric.util\n * @return {String} data url\n */ toDataURL: function(canvasEl, format, quality) {\n return canvasEl.toDataURL(\"image/\" + format, quality);\n },\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */ createImage: function() {\n return fabric.document.createElement(\"img\");\n },\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @param {Boolean} is2x2 flag to multiply matrices as 2x2 matrices\n * @return {Array} The product of the two transform matrices\n */ multiplyTransformMatrices: function(a, b, is2x2) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n is2x2 ? 0 : a[0] * b[4] + a[2] * b[5] + a[4],\n is2x2 ? 0 : a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n /**\n * Decomposes standard 2x3 matrix into transform components\n * @static\n * @memberOf fabric.util\n * @param {Array} a transformMatrix\n * @return {Object} Components of transform\n */ qrDecompose: function(a) {\n var angle = atan2(a[1], a[0]), denom = pow(a[0], 2) + pow(a[1], 2), scaleX = sqrt(denom), scaleY = (a[0] * a[3] - a[2] * a[1]) / scaleX, skewX = atan2(a[0] * a[2] + a[1] * a[3], denom);\n return {\n angle: angle / PiBy180,\n scaleX: scaleX,\n scaleY: scaleY,\n skewX: skewX / PiBy180,\n skewY: 0,\n translateX: a[4],\n translateY: a[5]\n };\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle] angle in degrees\n * @return {Number[]} transform matrix\n */ calcRotateMatrix: function(options) {\n if (!options.angle) {\n return fabric.iMatrix.concat();\n }\n var theta = fabric.util.degreesToRadians(options.angle), cos = fabric.util.cos(theta), sin = fabric.util.sin(theta);\n return [\n cos,\n sin,\n -sin,\n cos,\n 0,\n 0\n ];\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet.\n * is called DimensionsTransformMatrix because those properties are the one that influence\n * the size of the resulting box of the object.\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewY]\n * @return {Number[]} transform matrix\n */ calcDimensionsMatrix: function(options) {\n var scaleX = typeof options.scaleX === \"undefined\" ? 1 : options.scaleX, scaleY = typeof options.scaleY === \"undefined\" ? 1 : options.scaleY, scaleMatrix = [\n options.flipX ? -scaleX : scaleX,\n 0,\n 0,\n options.flipY ? -scaleY : scaleY,\n 0,\n 0\n ], multiply = fabric.util.multiplyTransformMatrices, degreesToRadians = fabric.util.degreesToRadians;\n if (options.skewX) {\n scaleMatrix = multiply(scaleMatrix, [\n 1,\n 0,\n Math.tan(degreesToRadians(options.skewX)),\n 1\n ], true);\n }\n if (options.skewY) {\n scaleMatrix = multiply(scaleMatrix, [\n 1,\n Math.tan(degreesToRadians(options.skewY)),\n 0,\n 1\n ], true);\n }\n return scaleMatrix;\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle]\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewX]\n * @param {Number} [options.translateX]\n * @param {Number} [options.translateY]\n * @return {Number[]} transform matrix\n */ composeMatrix: function(options) {\n var matrix = [\n 1,\n 0,\n 0,\n 1,\n options.translateX || 0,\n options.translateY || 0\n ], multiply = fabric.util.multiplyTransformMatrices;\n if (options.angle) {\n matrix = multiply(matrix, fabric.util.calcRotateMatrix(options));\n }\n if (options.scaleX !== 1 || options.scaleY !== 1 || options.skewX || options.skewY || options.flipX || options.flipY) {\n matrix = multiply(matrix, fabric.util.calcDimensionsMatrix(options));\n }\n return matrix;\n },\n /**\n * reset an object transform state to neutral. Top and left are not accounted for\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to transform\n */ resetObjectTransform: function(target) {\n target.scaleX = 1;\n target.scaleY = 1;\n target.skewX = 0;\n target.skewY = 0;\n target.flipX = false;\n target.flipY = false;\n target.rotate(0);\n },\n /**\n * Extract Object transform values\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to read from\n * @return {Object} Components of transform\n */ saveObjectTransform: function(target) {\n return {\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n angle: target.angle,\n left: target.left,\n flipX: target.flipX,\n flipY: target.flipY,\n top: target.top\n };\n },\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */ isTransparent: function(ctx, x, y, tolerance) {\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n } else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n } else {\n y = 0;\n }\n }\n var _isTransparent = true, i, temp, imageData = ctx.getImageData(x, y, tolerance * 2 || 1, tolerance * 2 || 1), l = imageData.data.length;\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for(i = 3; i < l; i += 4){\n temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n imageData = null;\n return _isTransparent;\n },\n /**\n * Parse preserveAspectRatio attribute from element\n * @param {string} attribute to be parsed\n * @return {Object} an object containing align and meetOrSlice attribute\n */ parsePreserveAspectRatioAttribute: function(attribute) {\n var meetOrSlice = \"meet\", alignX = \"Mid\", alignY = \"Mid\", aspectRatioAttrs = attribute.split(\" \"), align;\n if (aspectRatioAttrs && aspectRatioAttrs.length) {\n meetOrSlice = aspectRatioAttrs.pop();\n if (meetOrSlice !== \"meet\" && meetOrSlice !== \"slice\") {\n align = meetOrSlice;\n meetOrSlice = \"meet\";\n } else if (aspectRatioAttrs.length) {\n align = aspectRatioAttrs.pop();\n }\n }\n //divide align in alignX and alignY\n alignX = align !== \"none\" ? align.slice(1, 4) : \"none\";\n alignY = align !== \"none\" ? align.slice(5, 8) : \"none\";\n return {\n meetOrSlice: meetOrSlice,\n alignX: alignX,\n alignY: alignY\n };\n },\n /**\n * Clear char widths cache for the given font family or all the cache if no\n * fontFamily is specified.\n * Use it if you know you are loading fonts in a lazy way and you are not waiting\n * for custom fonts to load properly when adding text objects to the canvas.\n * If a text object is added when its own font is not loaded yet, you will get wrong\n * measurement and so wrong bounding boxes.\n * After the font cache is cleared, either change the textObject text content or call\n * initDimensions() to trigger a recalculation\n * @memberOf fabric.util\n * @param {String} [fontFamily] font family to clear\n */ clearFabricFontCache: function(fontFamily) {\n fontFamily = (fontFamily || \"\").toLowerCase();\n if (!fontFamily) {\n fabric.charWidthsCache = {};\n } else if (fabric.charWidthsCache[fontFamily]) {\n delete fabric.charWidthsCache[fontFamily];\n }\n },\n /**\n * Given current aspect ratio, determines the max width and height that can\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Number} ar aspect ratio\n * @param {Number} maximumArea Maximum area you want to achieve\n * @return {Object.x} Limited dimensions by X\n * @return {Object.y} Limited dimensions by Y\n */ limitDimsByArea: function(ar, maximumArea) {\n var roughWidth = Math.sqrt(maximumArea * ar), perfLimitSizeY = Math.floor(maximumArea / roughWidth);\n return {\n x: Math.floor(roughWidth),\n y: perfLimitSizeY\n };\n },\n capValue: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n /**\n * Finds the scale for the object source to fit inside the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to fit into destination\n */ findScaleToFit: function(source, destination) {\n return Math.min(destination.width / source.width, destination.height / source.height);\n },\n /**\n * Finds the scale for the object source to cover entirely the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to cover destination\n */ findScaleToCover: function(source, destination) {\n return Math.max(destination.width / source.width, destination.height / source.height);\n },\n /**\n * given an array of 6 number returns something like `\"matrix(...numbers)\"`\n * @memberOf fabric.util\n * @param {Array} transform an array with 6 numbers\n * @return {String} transform matrix for svg\n * @return {Object.y} Limited dimensions by Y\n */ matrixToSVG: function(transform) {\n return \"matrix(\" + transform.map(function(value) {\n return fabric.util.toFixed(value, fabric.Object.NUM_FRACTION_DIGITS);\n }).join(\" \") + \")\";\n },\n /**\n * given an object and a transform, apply the inverse transform to the object,\n * this is equivalent to remove from that object that transformation, so that\n * added in a space with the removed transform, the object will be the same as before.\n * Removing from an object a transform that scale by 2 is like scaling it by 1/2.\n * Removing from an object a transfrom that rotate by 30deg is like rotating by 30deg\n * in the opposite direction.\n * This util is used to add objects inside transformed groups or nested groups.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ removeTransformFromObject: function(object, transform) {\n var inverted = fabric.util.invertTransform(transform), finalTransform = fabric.util.multiplyTransformMatrices(inverted, object.calcOwnMatrix());\n fabric.util.applyTransformToObject(object, finalTransform);\n },\n /**\n * given an object and a transform, apply the transform to the object.\n * this is equivalent to change the space where the object is drawn.\n * Adding to an object a transform that scale by 2 is like scaling it by 2.\n * This is used when removing an object from an active selection for example.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ addTransformToObject: function(object, transform) {\n fabric.util.applyTransformToObject(object, fabric.util.multiplyTransformMatrices(transform, object.calcOwnMatrix()));\n },\n /**\n * discard an object transform state and apply the one from the matrix.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ applyTransformToObject: function(object, transform) {\n var options = fabric.util.qrDecompose(transform), center = new fabric.Point(options.translateX, options.translateY);\n object.flipX = false;\n object.flipY = false;\n object.set(\"scaleX\", options.scaleX);\n object.set(\"scaleY\", options.scaleY);\n object.skewX = options.skewX;\n object.skewY = options.skewY;\n object.angle = options.angle;\n object.setPositionByOrigin(center, \"center\", \"center\");\n },\n /**\n * given a width and height, return the size of the bounding box\n * that can contains the box with width/height with applied transform\n * described in options.\n * Use to calculate the boxes around objects for controls.\n * @memberOf fabric.util\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Number} options.scaleX\n * @param {Number} options.scaleY\n * @param {Number} options.skewX\n * @param {Number} options.skewY\n * @return {Object.x} width of containing\n * @return {Object.y} height of containing\n */ sizeAfterTransform: function(width, height, options) {\n var dimX = width / 2, dimY = height / 2, points = [\n {\n x: -dimX,\n y: -dimY\n },\n {\n x: dimX,\n y: -dimY\n },\n {\n x: -dimX,\n y: dimY\n },\n {\n x: dimX,\n y: dimY\n }\n ], transformMatrix = fabric.util.calcDimensionsMatrix(options), bbox = fabric.util.makeBoundingBoxFromPoints(points, transformMatrix);\n return {\n x: bbox.width,\n y: bbox.height\n };\n },\n /**\n * Merges 2 clip paths into one visually equal clip path\n *\n * **IMPORTANT**:\\\n * Does **NOT** clone the arguments, clone them proir if necessary.\n *\n * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.\n * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.\n *\n * In order to handle the `inverted` property we follow logic described in the following cases:\\\n * **(1)** both clip paths are inverted - the clip paths pass the inverted prop to the wrapper and loose it themselves.\\\n * **(2)** one is inverted and the other isn't - the wrapper shouldn't become inverted and the inverted clip path must clip the non inverted one to produce an identical visual effect.\\\n * **(3)** both clip paths are not inverted - wrapper and clip paths remain unchanged.\n *\n * @memberOf fabric.util\n * @param {fabric.Object} c1\n * @param {fabric.Object} c2\n * @returns {fabric.Object} merged clip path\n */ mergeClipPaths: function(c1, c2) {\n var a = c1, b = c2;\n if (a.inverted && !b.inverted) {\n // case (2)\n a = c2;\n b = c1;\n }\n // `b` becomes `a`'s clip path so we transform `b` to `a` coordinate plane\n fabric.util.applyTransformToObject(b, fabric.util.multiplyTransformMatrices(fabric.util.invertTransform(a.calcTransformMatrix()), b.calcTransformMatrix()));\n // assign the `inverted` prop to the wrapping group\n var inverted = a.inverted && b.inverted;\n if (inverted) {\n // case (1)\n a.inverted = b.inverted = false;\n }\n return new fabric.Group([\n a\n ], {\n clipPath: b,\n inverted: inverted\n });\n },\n /**\n * @memberOf fabric.util\n * @param {Object} prevStyle first style to compare\n * @param {Object} thisStyle second style to compare\n * @param {boolean} forTextSpans whether to check overline, underline, and line-through properties\n * @return {boolean} true if the style changed\n */ hasStyleChanged: function(prevStyle, thisStyle, forTextSpans) {\n forTextSpans = forTextSpans || false;\n return prevStyle.fill !== thisStyle.fill || prevStyle.stroke !== thisStyle.stroke || prevStyle.strokeWidth !== thisStyle.strokeWidth || prevStyle.fontSize !== thisStyle.fontSize || prevStyle.fontFamily !== thisStyle.fontFamily || prevStyle.fontWeight !== thisStyle.fontWeight || prevStyle.fontStyle !== thisStyle.fontStyle || prevStyle.deltaY !== thisStyle.deltaY || forTextSpans && (prevStyle.overline !== thisStyle.overline || prevStyle.underline !== thisStyle.underline || prevStyle.linethrough !== thisStyle.linethrough);\n },\n /**\n * Returns the array form of a text object's inline styles property with styles grouped in ranges\n * rather than per character. This format is less verbose, and is better suited for storage\n * so it is used in serialization (not during runtime).\n * @memberOf fabric.util\n * @param {object} styles per character styles for a text object\n * @param {String} text the text string that the styles are applied to\n * @return {{start: number, end: number, style: object}[]}\n */ stylesToArray: function(styles, text) {\n // clone style structure to prevent mutation\n var styles = fabric.util.object.clone(styles, true), textLines = text.split(\"\\n\"), charIndex = -1, prevStyle = {}, stylesArray = [];\n //loop through each textLine\n for(var i = 0; i < textLines.length; i++){\n if (!styles[i]) {\n //no styles exist for this line, so add the line's length to the charIndex total\n charIndex += textLines[i].length;\n continue;\n }\n //loop through each character of the current line\n for(var c = 0; c < textLines[i].length; c++){\n charIndex++;\n var thisStyle = styles[i][c];\n //check if style exists for this character\n if (thisStyle) {\n var styleChanged = fabric.util.hasStyleChanged(prevStyle, thisStyle, true);\n if (styleChanged) {\n stylesArray.push({\n start: charIndex,\n end: charIndex + 1,\n style: thisStyle\n });\n } else {\n //if style is the same as previous character, increase end index\n stylesArray[stylesArray.length - 1].end++;\n }\n }\n prevStyle = thisStyle || {};\n }\n }\n return stylesArray;\n },\n /**\n * Returns the object form of the styles property with styles that are assigned per\n * character rather than grouped by range. This format is more verbose, and is\n * only used during runtime (not for serialization/storage)\n * @memberOf fabric.util\n * @param {Array} styles the serialized form of a text object's styles\n * @param {String} text the text string that the styles are applied to\n * @return {Object}\n */ stylesFromArray: function(styles, text) {\n if (!Array.isArray(styles)) {\n return styles;\n }\n var textLines = text.split(\"\\n\"), charIndex = -1, styleIndex = 0, stylesObject = {};\n //loop through each textLine\n for(var i = 0; i < textLines.length; i++){\n //loop through each character of the current line\n for(var c = 0; c < textLines[i].length; c++){\n charIndex++;\n //check if there's a style collection that includes the current character\n if (styles[styleIndex] && styles[styleIndex].start <= charIndex && charIndex < styles[styleIndex].end) {\n //create object for line index if it doesn't exist\n stylesObject[i] = stylesObject[i] || {};\n //assign a style at this character's index\n stylesObject[i][c] = Object.assign({}, styles[styleIndex].style);\n //if character is at the end of the current style collection, move to the next\n if (charIndex === styles[styleIndex].end - 1) {\n styleIndex++;\n }\n }\n }\n }\n return stylesObject;\n }\n };\n})( true ? exports : 0);\n(function() {\n var _join = Array.prototype.join, commandLengths = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7\n }, repeatedCommands = {\n m: \"l\",\n M: \"L\"\n };\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var costh2 = fabric.util.cos(th2), sinth2 = fabric.util.sin(th2), costh3 = fabric.util.cos(th3), sinth3 = fabric.util.sin(th3), toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1, toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1, cp1X = fromX + mT * (-cosTh * rx * sinth2 - sinTh * ry * costh2), cp1Y = fromY + mT * (-sinTh * rx * sinth2 + cosTh * ry * costh2), cp2X = toX + mT * (cosTh * rx * sinth3 + sinTh * ry * costh3), cp2Y = toY + mT * (sinTh * rx * sinth3 - cosTh * ry * costh3);\n return [\n \"C\",\n cp1X,\n cp1Y,\n cp2X,\n cp2Y,\n toX,\n toY\n ];\n }\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */ function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var PI = Math.PI, th = rotateX * PI / 180, sinTh = fabric.util.sin(th), cosTh = fabric.util.cos(th), fromX = 0, fromY = 0;\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5, py = -cosTh * toY * 0.5 + sinTh * toX * 0.5, rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px, pl = rx2 * ry2 - rx2 * py2 - ry2 * px2, root = 0;\n if (pl < 0) {\n var s = Math.sqrt(1 - pl / (rx2 * ry2));\n rx *= s;\n ry *= s;\n } else {\n root = (large === sweep ? -1.0 : 1.0) * Math.sqrt(pl / (rx2 * py2 + ry2 * px2));\n }\n var cx = root * rx * py / ry, cy = -root * ry * px / rx, cx1 = cosTh * cx - sinTh * cy + toX * 0.5, cy1 = sinTh * cx + cosTh * cy + toY * 0.5, mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry), dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n } else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)), result = [], mDelta = dtheta / segments, mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2), th3 = mTheta + mDelta;\n for(var i = 0; i < segments; i++){\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][5];\n fromY = result[i][6];\n mTheta = th3;\n th3 += mDelta;\n }\n return result;\n }\n /*\n * Private\n */ function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux), tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n } else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of bezier\n * @param {Number} y3\n */ // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n // TODO: can we normalize this with the starting points set at 0 and then translated the bbox?\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString;\n if (fabric.cachesBoundsOfCurve) {\n argsString = _join.call(arguments);\n if (fabric.boundsOfCurveCache[argsString]) {\n return fabric.boundsOfCurveCache[argsString];\n }\n }\n var sqrt = Math.sqrt, min = Math.min, max = Math.max, abs = Math.abs, tvalues = [], bounds = [\n [],\n []\n ], a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n for(var i = 0; i < 2; ++i){\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n var x, y, j = tvalues.length, jlen = j, mt;\n while(j--){\n t = tvalues[j];\n mt = 1 - t;\n x = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[0][j] = x;\n y = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n bounds[1][j] = y;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n if (fabric.cachesBoundsOfCurve) {\n fabric.boundsOfCurveCache[argsString] = result;\n }\n return result;\n }\n /**\n * Converts arc to a bunch of bezier curves\n * @param {Number} fx starting point x\n * @param {Number} fy starting point y\n * @param {Array} coords Arc command\n */ function fromArcToBeziers(fx, fy, coords) {\n var rx = coords[1], ry = coords[2], rot = coords[3], large = coords[4], sweep = coords[5], tx = coords[6], ty = coords[7], segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n for(var i = 0, len = segsNorm.length; i < len; i++){\n segsNorm[i][1] += fx;\n segsNorm[i][2] += fy;\n segsNorm[i][3] += fx;\n segsNorm[i][4] += fy;\n segsNorm[i][5] += fx;\n segsNorm[i][6] += fy;\n }\n return segsNorm;\n }\n ;\n /**\n * This function take a parsed SVG path and make it simpler for fabricJS logic.\n * simplification consist of: only UPPERCASE absolute commands ( relative converted to absolute )\n * S converted in C, T converted in Q, A converted in C.\n * @param {Array} path the array of commands of a parsed svg path for fabric.Path\n * @return {Array} the simplified array of commands of a parsed svg path for fabric.Path\n */ function makePathSimpler(path) {\n // x and y represent the last point of the path. the previous command point.\n // we add them to each relative command to make it an absolute comment.\n // we also swap the v V h H with L, because are easier to transform.\n var x = 0, y = 0, len = path.length, // x1 and y1 represent the last point of the subpath. the subpath is started with\n // m or M command. When a z or Z command is drawn, x and y need to be resetted to\n // the last x1 and y1.\n x1 = 0, y1 = 0, current, i, converted, // previous will host the letter of the previous command, to handle S and T.\n // controlX and controlY will host the previous reflected control point\n destinationPath = [], previous, controlX, controlY;\n for(i = 0; i < len; ++i){\n converted = false;\n current = path[i].slice(0);\n switch(current[0]){\n case \"l\":\n current[0] = \"L\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"L\":\n x = current[1];\n y = current[2];\n break;\n case \"h\":\n current[1] += x;\n // falls through\n case \"H\":\n current[0] = \"L\";\n current[2] = y;\n x = current[1];\n break;\n case \"v\":\n current[1] += y;\n // falls through\n case \"V\":\n current[0] = \"L\";\n y = current[1];\n current[1] = x;\n current[2] = y;\n break;\n case \"m\":\n current[0] = \"M\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"M\":\n x = current[1];\n y = current[2];\n x1 = current[1];\n y1 = current[2];\n break;\n case \"c\":\n current[0] = \"C\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n current[5] += x;\n current[6] += y;\n // falls through\n case \"C\":\n controlX = current[3];\n controlY = current[4];\n x = current[5];\n y = current[6];\n break;\n case \"s\":\n current[0] = \"S\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case \"S\":\n // would be sScC but since we are swapping sSc for C, we check just that.\n if (previous === \"C\") {\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n } else {\n // If there is no previous command or if the previous command was not a C, c, S, or s,\n // the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n x = current[3];\n y = current[4];\n current[0] = \"C\";\n current[5] = current[3];\n current[6] = current[4];\n current[3] = current[1];\n current[4] = current[2];\n current[1] = controlX;\n current[2] = controlY;\n // current[3] and current[4] are NOW the second control point.\n // we keep it for the next reflection.\n controlX = current[3];\n controlY = current[4];\n break;\n case \"q\":\n current[0] = \"Q\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case \"Q\":\n controlX = current[1];\n controlY = current[2];\n x = current[3];\n y = current[4];\n break;\n case \"t\":\n current[0] = \"T\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"T\":\n if (previous === \"Q\") {\n // calculate reflection of previous control point\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n } else {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n current[0] = \"Q\";\n x = current[1];\n y = current[2];\n current[1] = controlX;\n current[2] = controlY;\n current[3] = x;\n current[4] = y;\n break;\n case \"a\":\n current[0] = \"A\";\n current[6] += x;\n current[7] += y;\n // falls through\n case \"A\":\n converted = true;\n destinationPath = destinationPath.concat(fromArcToBeziers(x, y, current));\n x = current[6];\n y = current[7];\n break;\n case \"z\":\n case \"Z\":\n x = x1;\n y = y1;\n break;\n default:\n }\n if (!converted) {\n destinationPath.push(current);\n }\n previous = current[0];\n }\n return destinationPath;\n }\n ;\n /**\n * Calc length from point x1,y1 to x2,y2\n * @param {Number} x1 starting point x\n * @param {Number} y1 starting point y\n * @param {Number} x2 starting point x\n * @param {Number} y2 starting point y\n * @return {Number} length of segment\n */ function calcLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n // functions for the Cubic beizer\n // taken from: https://github.com/konvajs/konva/blob/7.0.5/src/shapes/Path.ts#L350\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n function getPointOnCubicBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var c1 = CB1(pct), c2 = CB2(pct), c3 = CB3(pct), c4 = CB4(pct);\n return {\n x: p4x * c1 + p3x * c2 + p2x * c3 + p1x * c4,\n y: p4y * c1 + p3y * c2 + p2y * c3 + p1y * c4\n };\n };\n }\n function getTangentCubicIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var invT = 1 - pct, tangentX = 3 * invT * invT * (p2x - p1x) + 6 * invT * pct * (p3x - p2x) + 3 * pct * pct * (p4x - p3x), tangentY = 3 * invT * invT * (p2y - p1y) + 6 * invT * pct * (p3y - p2y) + 3 * pct * pct * (p4y - p3y);\n return Math.atan2(tangentY, tangentX);\n };\n }\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n function getPointOnQuadraticBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var c1 = QB1(pct), c2 = QB2(pct), c3 = QB3(pct);\n return {\n x: p3x * c1 + p2x * c2 + p1x * c3,\n y: p3y * c1 + p2y * c2 + p1y * c3\n };\n };\n }\n function getTangentQuadraticIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var invT = 1 - pct, tangentX = 2 * invT * (p2x - p1x) + 2 * pct * (p3x - p2x), tangentY = 2 * invT * (p2y - p1y) + 2 * pct * (p3y - p2y);\n return Math.atan2(tangentY, tangentX);\n };\n }\n // this will run over a path segment ( a cubic or quadratic segment) and approximate it\n // with 100 segemnts. This will good enough to calculate the length of the curve\n function pathIterator(iterator, x1, y1) {\n var tempP = {\n x: x1,\n y: y1\n }, p, tmpLen = 0, perc;\n for(perc = 1; perc <= 100; perc += 1){\n p = iterator(perc / 100);\n tmpLen += calcLineLength(tempP.x, tempP.y, p.x, p.y);\n tempP = p;\n }\n return tmpLen;\n }\n /**\n * Given a pathInfo, and a distance in pixels, find the percentage from 0 to 1\n * that correspond to that pixels run over the path.\n * The percentage will be then used to find the correct point on the canvas for the path.\n * @param {Array} segInfo fabricJS collection of information on a parsed path\n * @param {Number} distance from starting point, in pixels.\n * @return {Object} info object with x and y ( the point on canvas ) and angle, the tangent on that point;\n */ function findPercentageForDistance(segInfo, distance) {\n var perc = 0, tmpLen = 0, iterator = segInfo.iterator, tempP = {\n x: segInfo.x,\n y: segInfo.y\n }, p, nextLen, nextStep = 0.01, angleFinder = segInfo.angleFinder, lastPerc;\n // nextStep > 0.0001 covers 0.00015625 that 1/64th of 1/100\n // the path\n while(tmpLen < distance && nextStep > 0.0001){\n p = iterator(perc);\n lastPerc = perc;\n nextLen = calcLineLength(tempP.x, tempP.y, p.x, p.y);\n // compare tmpLen each cycle with distance, decide next perc to test.\n if (nextLen + tmpLen > distance) {\n // we discard this step and we make smaller steps.\n perc -= nextStep;\n nextStep /= 2;\n } else {\n tempP = p;\n perc += nextStep;\n tmpLen += nextLen;\n }\n }\n p.angle = angleFinder(lastPerc);\n return p;\n }\n /**\n * Run over a parsed and simplifed path and extrac some informations.\n * informations are length of each command and starting point\n * @param {Array} path fabricJS parsed path commands\n * @return {Array} path commands informations\n */ function getPathSegmentsInfo(path) {\n var totalLength = 0, len = path.length, current, //x2 and y2 are the coords of segment start\n //x1 and y1 are the coords of the current point\n x1 = 0, y1 = 0, x2 = 0, y2 = 0, info = [], iterator, tempInfo, angleFinder;\n for(var i = 0; i < len; i++){\n current = path[i];\n tempInfo = {\n x: x1,\n y: y1,\n command: current[0]\n };\n switch(current[0]){\n case \"M\":\n tempInfo.length = 0;\n x2 = x1 = current[1];\n y2 = y1 = current[2];\n break;\n case \"L\":\n tempInfo.length = calcLineLength(x1, y1, current[1], current[2]);\n x1 = current[1];\n y1 = current[2];\n break;\n case \"C\":\n iterator = getPointOnCubicBezierIterator(x1, y1, current[1], current[2], current[3], current[4], current[5], current[6]);\n angleFinder = getTangentCubicIterator(x1, y1, current[1], current[2], current[3], current[4], current[5], current[6]);\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[5];\n y1 = current[6];\n break;\n case \"Q\":\n iterator = getPointOnQuadraticBezierIterator(x1, y1, current[1], current[2], current[3], current[4]);\n angleFinder = getTangentQuadraticIterator(x1, y1, current[1], current[2], current[3], current[4]);\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[3];\n y1 = current[4];\n break;\n case \"Z\":\n case \"z\":\n // we add those in order to ease calculations later\n tempInfo.destX = x2;\n tempInfo.destY = y2;\n tempInfo.length = calcLineLength(x1, y1, x2, y2);\n x1 = x2;\n y1 = y2;\n break;\n }\n totalLength += tempInfo.length;\n info.push(tempInfo);\n }\n info.push({\n length: totalLength,\n x: x1,\n y: y1\n });\n return info;\n }\n function getPointOnPath(path, distance, infos) {\n if (!infos) {\n infos = getPathSegmentsInfo(path);\n }\n var i = 0;\n while(distance - infos[i].length > 0 && i < infos.length - 2){\n distance -= infos[i].length;\n i++;\n }\n // var distance = infos[infos.length - 1] * perc;\n var segInfo = infos[i], segPercent = distance / segInfo.length, command = segInfo.command, segment = path[i], info;\n switch(command){\n case \"M\":\n return {\n x: segInfo.x,\n y: segInfo.y,\n angle: 0\n };\n case \"Z\":\n case \"z\":\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(new fabric.Point(segInfo.destX, segInfo.destY), segPercent);\n info.angle = Math.atan2(segInfo.destY - segInfo.y, segInfo.destX - segInfo.x);\n return info;\n case \"L\":\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(new fabric.Point(segment[1], segment[2]), segPercent);\n info.angle = Math.atan2(segment[2] - segInfo.y, segment[1] - segInfo.x);\n return info;\n case \"C\":\n return findPercentageForDistance(segInfo, distance);\n case \"Q\":\n return findPercentageForDistance(segInfo, distance);\n }\n }\n /**\n *\n * @param {string} pathString\n * @return {(string|number)[][]} An array of SVG path commands\n * @example Usage\n * parsePath('M 3 4 Q 3 5 2 1 4 0 Q 9 12 2 1 4 0') === [\n * ['M', 3, 4],\n * ['Q', 3, 5, 2, 1, 4, 0],\n * ['Q', 9, 12, 2, 1, 4, 0],\n * ];\n *\n */ function parsePath(pathString) {\n var result = [], coords = [], currentPath, parsed, re = fabric.rePathCommand, rNumber = \"[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\\\\s*\", rNumberCommaWsp = \"(\" + rNumber + \")\" + fabric.commaWsp, rFlagCommaWsp = \"([01])\" + fabric.commaWsp + \"?\", rArcSeq = rNumberCommaWsp + \"?\" + rNumberCommaWsp + \"?\" + rNumberCommaWsp + rFlagCommaWsp + rFlagCommaWsp + rNumberCommaWsp + \"?(\" + rNumber + \")\", regArcArgumentSequence = new RegExp(rArcSeq, \"g\"), match, coordsStr, // one of commands (m,M,l,L,q,Q,c,C,etc.) followed by non-command characters (i.e. command values)\n path;\n if (!pathString || !pathString.match) {\n return result;\n }\n path = pathString.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi);\n for(var i = 0, coordsParsed, len = path.length; i < len; i++){\n currentPath = path[i];\n coordsStr = currentPath.slice(1).trim();\n coords.length = 0;\n var command = currentPath.charAt(0);\n coordsParsed = [\n command\n ];\n if (command.toLowerCase() === \"a\") {\n // arcs have special flags that apparently don't require spaces so handle special\n for(var args; args = regArcArgumentSequence.exec(coordsStr);){\n for(var j = 1; j < args.length; j++){\n coords.push(args[j]);\n }\n }\n } else {\n while(match = re.exec(coordsStr)){\n coords.push(match[0]);\n }\n }\n for(var j = 0, jlen = coords.length; j < jlen; j++){\n parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n coordsParsed.push(parsed);\n }\n }\n var commandLength = commandLengths[command.toLowerCase()], repeatedCommand = repeatedCommands[command] || command;\n if (coordsParsed.length - 1 > commandLength) {\n for(var k = 1, klen = coordsParsed.length; k < klen; k += commandLength){\n result.push([\n command\n ].concat(coordsParsed.slice(k, k + commandLength)));\n command = repeatedCommand;\n }\n } else {\n result.push(coordsParsed);\n }\n }\n return result;\n }\n ;\n /**\n *\n * Converts points to a smooth SVG path\n * @param {{ x: number,y: number }[]} points Array of points\n * @param {number} [correction] Apply a correction to the path (usually we use `width / 1000`). If value is undefined 0 is used as the correction value.\n * @return {(string|number)[][]} An array of SVG path commands\n */ function getSmoothPathFromPoints(points, correction) {\n var path = [], i, p1 = new fabric.Point(points[0].x, points[0].y), p2 = new fabric.Point(points[1].x, points[1].y), len = points.length, multSignX = 1, multSignY = 0, manyPoints = len > 2;\n correction = correction || 0;\n if (manyPoints) {\n multSignX = points[2].x < p2.x ? -1 : points[2].x === p2.x ? 0 : 1;\n multSignY = points[2].y < p2.y ? -1 : points[2].y === p2.y ? 0 : 1;\n }\n path.push([\n \"M\",\n p1.x - multSignX * correction,\n p1.y - multSignY * correction\n ]);\n for(i = 1; i < len; i++){\n if (!p1.eq(p2)) {\n var midPoint = p1.midPointFrom(p2);\n // p1 is our bezier control point\n // midpoint is our endpoint\n // start point is p(i-1) value.\n path.push([\n \"Q\",\n p1.x,\n p1.y,\n midPoint.x,\n midPoint.y\n ]);\n }\n p1 = points[i];\n if (i + 1 < points.length) {\n p2 = points[i + 1];\n }\n }\n if (manyPoints) {\n multSignX = p1.x > points[i - 2].x ? 1 : p1.x === points[i - 2].x ? 0 : -1;\n multSignY = p1.y > points[i - 2].y ? 1 : p1.y === points[i - 2].y ? 0 : -1;\n }\n path.push([\n \"L\",\n p1.x + multSignX * correction,\n p1.y + multSignY * correction\n ]);\n return path;\n }\n /**\n * Transform a path by transforming each segment.\n * it has to be a simplified path or it won't work.\n * WARNING: this depends from pathOffset for correct operation\n * @param {Array} path fabricJS parsed and simplified path commands\n * @param {Array} transform matrix that represent the transformation\n * @param {Object} [pathOffset] the fabric.Path pathOffset\n * @param {Number} pathOffset.x\n * @param {Number} pathOffset.y\n * @returns {Array} the transformed path\n */ function transformPath(path, transform, pathOffset) {\n if (pathOffset) {\n transform = fabric.util.multiplyTransformMatrices(transform, [\n 1,\n 0,\n 0,\n 1,\n -pathOffset.x,\n -pathOffset.y\n ]);\n }\n return path.map(function(pathSegment) {\n var newSegment = pathSegment.slice(0), point = {};\n for(var i = 1; i < pathSegment.length - 1; i += 2){\n point.x = pathSegment[i];\n point.y = pathSegment[i + 1];\n point = fabric.util.transformPoint(point, transform);\n newSegment[i] = point.x;\n newSegment[i + 1] = point.y;\n }\n return newSegment;\n });\n }\n /**\n * Join path commands to go back to svg format\n * @param {Array} pathData fabricJS parsed path commands\n * @return {String} joined path 'M 0 0 L 20 30'\n */ fabric.util.joinPath = function(pathData) {\n return pathData.map(function(segment) {\n return segment.join(\" \");\n }).join(\" \");\n };\n fabric.util.parsePath = parsePath;\n fabric.util.makePathSimpler = makePathSimpler;\n fabric.util.getSmoothPathFromPoints = getSmoothPathFromPoints;\n fabric.util.getPathSegmentsInfo = getPathSegmentsInfo;\n fabric.util.getBoundsOfCurve = getBoundsOfCurve;\n fabric.util.getPointOnPath = getPointOnPath;\n fabric.util.transformPath = transformPath;\n})();\n(function() {\n var slice = Array.prototype.slice;\n /**\n * Invokes method on all items in a given array\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} method Name of a method to invoke\n * @return {Array}\n */ function invoke(array, method) {\n var args = slice.call(arguments, 2), result = [];\n for(var i = 0, len = array.length; i < len; i++){\n result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);\n }\n return result;\n }\n /**\n * Finds maximum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */ function max(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 >= value2;\n });\n }\n /**\n * Finds minimum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */ function min(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 < value2;\n });\n }\n /**\n * @private\n */ function fill(array, value) {\n var k = array.length;\n while(k--){\n array[k] = value;\n }\n return array;\n }\n /**\n * @private\n */ function find(array, byProperty, condition) {\n if (!array || array.length === 0) {\n return;\n }\n var i = array.length - 1, result = byProperty ? array[i][byProperty] : array[i];\n if (byProperty) {\n while(i--){\n if (condition(array[i][byProperty], result)) {\n result = array[i][byProperty];\n }\n }\n } else {\n while(i--){\n if (condition(array[i], result)) {\n result = array[i];\n }\n }\n }\n return result;\n }\n /**\n * @namespace fabric.util.array\n */ fabric.util.array = {\n fill: fill,\n invoke: invoke,\n min: min,\n max: max\n };\n})();\n(function() {\n /**\n * Copies all enumerable properties of one js object to another\n * this does not and cannot compete with generic utils.\n * Does not clone or extend fabric.Object subclasses.\n * This is mostly for internal use and has extra handling for fabricJS objects\n * it skips the canvas and group properties in deep cloning.\n * @memberOf fabric.util.object\n * @param {Object} destination Where to copy to\n * @param {Object} source Where to copy from\n * @param {Boolean} [deep] Whether to extend nested objects\n * @return {Object}\n */ function extend(destination, source, deep) {\n // JScript DontEnum bug is not taken care of\n // the deep clone is for internal use, is not meant to avoid\n // javascript traps or cloning html element or self referenced objects.\n if (deep) {\n if (!fabric.isLikelyNode && source instanceof Element) {\n // avoid cloning deep images, canvases,\n destination = source;\n } else if (source instanceof Array) {\n destination = [];\n for(var i = 0, len = source.length; i < len; i++){\n destination[i] = extend({}, source[i], deep);\n }\n } else if (source && typeof source === \"object\") {\n for(var property in source){\n if (property === \"canvas\" || property === \"group\") {\n // we do not want to clone this props at all.\n // we want to keep the keys in the copy\n destination[property] = null;\n } else if (source.hasOwnProperty(property)) {\n destination[property] = extend({}, source[property], deep);\n }\n }\n } else {\n // this sounds odd for an extend but is ok for recursive use\n destination = source;\n }\n } else {\n for(var property in source){\n destination[property] = source[property];\n }\n }\n return destination;\n }\n /**\n * Creates an empty object and copies all enumerable properties of another object to it\n * This method is mostly for internal use, and not intended for duplicating shapes in canvas. \n * @memberOf fabric.util.object\n * @param {Object} object Object to clone\n * @param {Boolean} [deep] Whether to clone nested objects\n * @return {Object}\n */ //TODO: this function return an empty object if you try to clone null\n function clone(object, deep) {\n return extend({}, object, deep);\n }\n /** @namespace fabric.util.object */ fabric.util.object = {\n extend: extend,\n clone: clone\n };\n fabric.util.object.extend(fabric.util, fabric.Observable);\n})();\n(function() {\n /**\n * Camelizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to camelize\n * @return {String} Camelized version of a string\n */ function camelize(string) {\n return string.replace(/-+(.)?/g, function(match, character) {\n return character ? character.toUpperCase() : \"\";\n });\n }\n /**\n * Capitalizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to capitalize\n * @param {Boolean} [firstLetterOnly] If true only first letter is capitalized\n * and other letters stay untouched, if false first letter is capitalized\n * and other letters are converted to lowercase.\n * @return {String} Capitalized version of a string\n */ function capitalize(string, firstLetterOnly) {\n return string.charAt(0).toUpperCase() + (firstLetterOnly ? string.slice(1) : string.slice(1).toLowerCase());\n }\n /**\n * Escapes XML in a string\n * @memberOf fabric.util.string\n * @param {String} string String to escape\n * @return {String} Escaped version of a string\n */ function escapeXml(string) {\n return string.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(//g, \">\");\n }\n /**\n * Divide a string in the user perceived single units\n * @memberOf fabric.util.string\n * @param {String} textstring String to escape\n * @return {Array} array containing the graphemes\n */ function graphemeSplit(textstring) {\n var i = 0, chr, graphemes = [];\n for(i = 0, chr; i < textstring.length; i++){\n if ((chr = getWholeChar(textstring, i)) === false) {\n continue;\n }\n graphemes.push(chr);\n }\n return graphemes;\n }\n // taken from mdn in the charAt doc page.\n function getWholeChar(str, i) {\n var code = str.charCodeAt(i);\n if (isNaN(code)) {\n return \"\"; // Position not found\n }\n if (code < 0xD800 || code > 0xDFFF) {\n return str.charAt(i);\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 <= code && code <= 0xDBFF) {\n if (str.length <= i + 1) {\n throw \"High surrogate without following low surrogate\";\n }\n var next = str.charCodeAt(i + 1);\n if (0xDC00 > next || next > 0xDFFF) {\n throw \"High surrogate without following low surrogate\";\n }\n return str.charAt(i) + str.charAt(i + 1);\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw \"Low surrogate without preceding high surrogate\";\n }\n var prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 > prev || prev > 0xDBFF) {\n throw \"Low surrogate without preceding high surrogate\";\n }\n // We can pass over low surrogates now as the second component\n // in a pair which we have already processed\n return false;\n }\n /**\n * String utilities\n * @namespace fabric.util.string\n */ fabric.util.string = {\n camelize: camelize,\n capitalize: capitalize,\n escapeXml: escapeXml,\n graphemeSplit: graphemeSplit\n };\n})();\n(function() {\n var slice = Array.prototype.slice, emptyFunction = function() {}, IS_DONTENUM_BUGGY = function() {\n for(var p in {\n toString: 1\n }){\n if (p === \"toString\") {\n return false;\n }\n }\n return true;\n }(), /** @ignore */ addMethods = function(klass, source, parent) {\n for(var property in source){\n if (property in klass.prototype && typeof klass.prototype[property] === \"function\" && (source[property] + \"\").indexOf(\"callSuper\") > -1) {\n klass.prototype[property] = function(property) {\n return function() {\n var superclass = this.constructor.superclass;\n this.constructor.superclass = parent;\n var returnValue = source[property].apply(this, arguments);\n this.constructor.superclass = superclass;\n if (property !== \"initialize\") {\n return returnValue;\n }\n };\n }(property);\n } else {\n klass.prototype[property] = source[property];\n }\n if (IS_DONTENUM_BUGGY) {\n if (source.toString !== Object.prototype.toString) {\n klass.prototype.toString = source.toString;\n }\n if (source.valueOf !== Object.prototype.valueOf) {\n klass.prototype.valueOf = source.valueOf;\n }\n }\n }\n };\n function Subclass() {}\n function callSuper(methodName) {\n var parentMethod = null, _this = this;\n // climb prototype chain to find method not equal to callee's method\n while(_this.constructor.superclass){\n var superClassMethod = _this.constructor.superclass.prototype[methodName];\n if (_this[methodName] !== superClassMethod) {\n parentMethod = superClassMethod;\n break;\n }\n // eslint-disable-next-line\n _this = _this.constructor.superclass.prototype;\n }\n if (!parentMethod) {\n return console.log(\"tried to callSuper \" + methodName + \", method not found in prototype chain\", this);\n }\n return arguments.length > 1 ? parentMethod.apply(this, slice.call(arguments, 1)) : parentMethod.call(this);\n }\n /**\n * Helper for creation of \"classes\".\n * @memberOf fabric.util\n * @param {Function} [parent] optional \"Class\" to inherit from\n * @param {Object} [properties] Properties shared by all instances of this class\n * (be careful modifying objects defined here as this would affect all instances)\n */ function createClass() {\n var parent = null, properties = slice.call(arguments, 0);\n if (typeof properties[0] === \"function\") {\n parent = properties.shift();\n }\n function klass() {\n this.initialize.apply(this, arguments);\n }\n klass.superclass = parent;\n klass.subclasses = [];\n if (parent) {\n Subclass.prototype = parent.prototype;\n klass.prototype = new Subclass();\n parent.subclasses.push(klass);\n }\n for(var i = 0, length = properties.length; i < length; i++){\n addMethods(klass, properties[i], parent);\n }\n if (!klass.prototype.initialize) {\n klass.prototype.initialize = emptyFunction;\n }\n klass.prototype.constructor = klass;\n klass.prototype.callSuper = callSuper;\n return klass;\n }\n fabric.util.createClass = createClass;\n})();\n(function() {\n // since ie11 can use addEventListener but they do not support options, i need to check\n var couldUseAttachEvent = !!fabric.document.createElement(\"div\").attachEvent, touchEvents = [\n \"touchstart\",\n \"touchmove\",\n \"touchend\"\n ];\n /**\n * Adds an event listener to an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */ fabric.util.addListener = function(element, eventName, handler, options) {\n element && element.addEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n /**\n * Removes an event listener from an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */ fabric.util.removeListener = function(element, eventName, handler, options) {\n element && element.removeEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n function getTouchInfo(event) {\n var touchProp = event.changedTouches;\n if (touchProp && touchProp[0]) {\n return touchProp[0];\n }\n return event;\n }\n fabric.util.getPointer = function(event) {\n var element = event.target, scroll = fabric.util.getScrollLeftTop(element), _evt = getTouchInfo(event);\n return {\n x: _evt.clientX + scroll.left,\n y: _evt.clientY + scroll.top\n };\n };\n fabric.util.isTouchEvent = function(event) {\n return touchEvents.indexOf(event.type) > -1 || event.pointerType === \"touch\";\n };\n})();\n(function() {\n /**\n * Cross-browser wrapper for setting element's style\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {HTMLElement} Element that was passed as a first argument\n */ function setStyle(element, styles) {\n var elementStyle = element.style;\n if (!elementStyle) {\n return element;\n }\n if (typeof styles === \"string\") {\n element.style.cssText += \";\" + styles;\n return styles.indexOf(\"opacity\") > -1 ? setOpacity(element, styles.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1]) : element;\n }\n for(var property in styles){\n if (property === \"opacity\") {\n setOpacity(element, styles[property]);\n } else {\n var normalizedProperty = property === \"float\" || property === \"cssFloat\" ? typeof elementStyle.styleFloat === \"undefined\" ? \"cssFloat\" : \"styleFloat\" : property;\n elementStyle.setProperty(normalizedProperty, styles[property]);\n }\n }\n return element;\n }\n var parseEl = fabric.document.createElement(\"div\"), supportsOpacity = typeof parseEl.style.opacity === \"string\", supportsFilters = typeof parseEl.style.filter === \"string\", reOpacity = /alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/, /** @ignore */ setOpacity = function(element) {\n return element;\n };\n if (supportsOpacity) {\n /** @ignore */ setOpacity = function(element, value) {\n element.style.opacity = value;\n return element;\n };\n } else if (supportsFilters) {\n /** @ignore */ setOpacity = function(element, value) {\n var es = element.style;\n if (element.currentStyle && !element.currentStyle.hasLayout) {\n es.zoom = 1;\n }\n if (reOpacity.test(es.filter)) {\n value = value >= 0.9999 ? \"\" : \"alpha(opacity=\" + value * 100 + \")\";\n es.filter = es.filter.replace(reOpacity, value);\n } else {\n es.filter += \" alpha(opacity=\" + value * 100 + \")\";\n }\n return element;\n };\n }\n fabric.util.setStyle = setStyle;\n})();\n(function() {\n var _slice = Array.prototype.slice;\n /**\n * Takes id and returns an element with that id (if one exists in a document)\n * @memberOf fabric.util\n * @param {String|HTMLElement} id\n * @return {HTMLElement|null}\n */ function getById(id) {\n return typeof id === \"string\" ? fabric.document.getElementById(id) : id;\n }\n var sliceCanConvertNodelists, /**\n * Converts an array-like object (e.g. arguments or NodeList) to an array\n * @memberOf fabric.util\n * @param {Object} arrayLike\n * @return {Array}\n */ toArray = function(arrayLike) {\n return _slice.call(arrayLike, 0);\n };\n try {\n sliceCanConvertNodelists = toArray(fabric.document.childNodes) instanceof Array;\n } catch (err) {}\n if (!sliceCanConvertNodelists) {\n toArray = function(arrayLike) {\n var arr = new Array(arrayLike.length), i = arrayLike.length;\n while(i--){\n arr[i] = arrayLike[i];\n }\n return arr;\n };\n }\n /**\n * Creates specified element with specified attributes\n * @memberOf fabric.util\n * @param {String} tagName Type of an element to create\n * @param {Object} [attributes] Attributes to set on an element\n * @return {HTMLElement} Newly created element\n */ function makeElement(tagName, attributes) {\n var el = fabric.document.createElement(tagName);\n for(var prop in attributes){\n if (prop === \"class\") {\n el.className = attributes[prop];\n } else if (prop === \"for\") {\n el.htmlFor = attributes[prop];\n } else {\n el.setAttribute(prop, attributes[prop]);\n }\n }\n return el;\n }\n /**\n * Adds class to an element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to add class to\n * @param {String} className Class to add to an element\n */ function addClass(element, className) {\n if (element && (\" \" + element.className + \" \").indexOf(\" \" + className + \" \") === -1) {\n element.className += (element.className ? \" \" : \"\") + className;\n }\n }\n /**\n * Wraps element with another element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to wrap\n * @param {HTMLElement|String} wrapper Element to wrap with\n * @param {Object} [attributes] Attributes to set on a wrapper\n * @return {HTMLElement} wrapper\n */ function wrapElement(element, wrapper, attributes) {\n if (typeof wrapper === \"string\") {\n wrapper = makeElement(wrapper, attributes);\n }\n if (element.parentNode) {\n element.parentNode.replaceChild(wrapper, element);\n }\n wrapper.appendChild(element);\n return wrapper;\n }\n /**\n * Returns element scroll offsets\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to operate on\n * @return {Object} Object with left/top values\n */ function getScrollLeftTop(element) {\n var left = 0, top = 0, docElement = fabric.document.documentElement, body = fabric.document.body || {\n scrollLeft: 0,\n scrollTop: 0\n };\n // While loop checks (and then sets element to) .parentNode OR .host\n // to account for ShadowDOM. We still want to traverse up out of ShadowDOM,\n // but the .parentNode of a root ShadowDOM node will always be null, instead\n // it should be accessed through .host. See http://stackoverflow.com/a/24765528/4383938\n while(element && (element.parentNode || element.host)){\n // Set element to element parent, or 'host' in case of ShadowDOM\n element = element.parentNode || element.host;\n if (element === fabric.document) {\n left = body.scrollLeft || docElement.scrollLeft || 0;\n top = body.scrollTop || docElement.scrollTop || 0;\n } else {\n left += element.scrollLeft || 0;\n top += element.scrollTop || 0;\n }\n if (element.nodeType === 1 && element.style.position === \"fixed\") {\n break;\n }\n }\n return {\n left: left,\n top: top\n };\n }\n /**\n * Returns offset for a given element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get offset for\n * @return {Object} Object with \"left\" and \"top\" properties\n */ function getElementOffset(element) {\n var docElem, doc = element && element.ownerDocument, box = {\n left: 0,\n top: 0\n }, offset = {\n left: 0,\n top: 0\n }, scrollLeftTop, offsetAttributes = {\n borderLeftWidth: \"left\",\n borderTopWidth: \"top\",\n paddingLeft: \"left\",\n paddingTop: \"top\"\n };\n if (!doc) {\n return offset;\n }\n for(var attr in offsetAttributes){\n offset[offsetAttributes[attr]] += parseInt(getElementStyle(element, attr), 10) || 0;\n }\n docElem = doc.documentElement;\n if (typeof element.getBoundingClientRect !== \"undefined\") {\n box = element.getBoundingClientRect();\n }\n scrollLeftTop = getScrollLeftTop(element);\n return {\n left: box.left + scrollLeftTop.left - (docElem.clientLeft || 0) + offset.left,\n top: box.top + scrollLeftTop.top - (docElem.clientTop || 0) + offset.top\n };\n }\n /**\n * Returns style attribute value of a given element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get style attribute for\n * @param {String} attr Style attribute to get for element\n * @return {String} Style attribute value of the given element.\n */ var getElementStyle;\n if (fabric.document.defaultView && fabric.document.defaultView.getComputedStyle) {\n getElementStyle = function(element, attr) {\n var style = fabric.document.defaultView.getComputedStyle(element, null);\n return style ? style[attr] : undefined;\n };\n } else {\n getElementStyle = function(element, attr) {\n var value = element.style[attr];\n if (!value && element.currentStyle) {\n value = element.currentStyle[attr];\n }\n return value;\n };\n }\n (function() {\n var style = fabric.document.documentElement.style, selectProp = \"userSelect\" in style ? \"userSelect\" : \"MozUserSelect\" in style ? \"MozUserSelect\" : \"WebkitUserSelect\" in style ? \"WebkitUserSelect\" : \"KhtmlUserSelect\" in style ? \"KhtmlUserSelect\" : \"\";\n /**\n * Makes element unselectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make unselectable\n * @return {HTMLElement} Element that was passed in\n */ function makeElementUnselectable(element) {\n if (typeof element.onselectstart !== \"undefined\") {\n element.onselectstart = fabric.util.falseFunction;\n }\n if (selectProp) {\n element.style[selectProp] = \"none\";\n } else if (typeof element.unselectable === \"string\") {\n element.unselectable = \"on\";\n }\n return element;\n }\n /**\n * Makes element selectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make selectable\n * @return {HTMLElement} Element that was passed in\n */ function makeElementSelectable(element) {\n if (typeof element.onselectstart !== \"undefined\") {\n element.onselectstart = null;\n }\n if (selectProp) {\n element.style[selectProp] = \"\";\n } else if (typeof element.unselectable === \"string\") {\n element.unselectable = \"\";\n }\n return element;\n }\n fabric.util.makeElementUnselectable = makeElementUnselectable;\n fabric.util.makeElementSelectable = makeElementSelectable;\n })();\n function getNodeCanvas(element) {\n var impl = fabric.jsdomImplForWrapper(element);\n return impl._canvas || impl._image;\n }\n ;\n function cleanUpJsdomNode(element) {\n if (!fabric.isLikelyNode) {\n return;\n }\n var impl = fabric.jsdomImplForWrapper(element);\n if (impl) {\n impl._image = null;\n impl._canvas = null;\n // unsure if necessary\n impl._currentSrc = null;\n impl._attributes = null;\n impl._classList = null;\n }\n }\n function setImageSmoothing(ctx, value) {\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled || ctx.webkitImageSmoothingEnabled || ctx.mozImageSmoothingEnabled || ctx.msImageSmoothingEnabled || ctx.oImageSmoothingEnabled;\n ctx.imageSmoothingEnabled = value;\n }\n /**\n * setImageSmoothing sets the context imageSmoothingEnabled property.\n * Used by canvas and by ImageObject.\n * @memberOf fabric.util\n * @since 4.0.0\n * @param {HTMLRenderingContext2D} ctx to set on\n * @param {Boolean} value true or false\n */ fabric.util.setImageSmoothing = setImageSmoothing;\n fabric.util.getById = getById;\n fabric.util.toArray = toArray;\n fabric.util.addClass = addClass;\n fabric.util.makeElement = makeElement;\n fabric.util.wrapElement = wrapElement;\n fabric.util.getScrollLeftTop = getScrollLeftTop;\n fabric.util.getElementOffset = getElementOffset;\n fabric.util.getNodeCanvas = getNodeCanvas;\n fabric.util.cleanUpJsdomNode = cleanUpJsdomNode;\n})();\n(function() {\n function addParamToUrl(url, param) {\n return url + (/\\?/.test(url) ? \"&\" : \"?\") + param;\n }\n function emptyFn() {}\n /**\n * Cross-browser abstraction for sending XMLHttpRequest\n * @memberOf fabric.util\n * @param {String} url URL to send XMLHttpRequest to\n * @param {Object} [options] Options object\n * @param {String} [options.method=\"GET\"]\n * @param {String} [options.parameters] parameters to append to url in GET or in body\n * @param {String} [options.body] body to send with POST or PUT request\n * @param {Function} options.onComplete Callback to invoke when request is completed\n * @return {XMLHttpRequest} request\n */ function request(url, options) {\n options || (options = {});\n var method = options.method ? options.method.toUpperCase() : \"GET\", onComplete = options.onComplete || function() {}, xhr = new fabric.window.XMLHttpRequest(), body = options.body || options.parameters;\n /** @ignore */ xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n onComplete(xhr);\n xhr.onreadystatechange = emptyFn;\n }\n };\n if (method === \"GET\") {\n body = null;\n if (typeof options.parameters === \"string\") {\n url = addParamToUrl(url, options.parameters);\n }\n }\n xhr.open(method, url, true);\n if (method === \"POST\" || method === \"PUT\") {\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n }\n xhr.send(body);\n return xhr;\n }\n fabric.util.request = request;\n})();\n/**\n * Wrapper around `console.log` (when available)\n * @param {*} [values] Values to log\n */ fabric.log = console.log;\n/**\n * Wrapper around `console.warn` (when available)\n * @param {*} [values] Values to log as a warning\n */ fabric.warn = console.warn;\n(function() {\n var extend = fabric.util.object.extend, clone = fabric.util.object.clone;\n /**\n * @typedef {Object} AnimationOptions\n * Animation of a value or list of values.\n * When using lists, think of something like this:\n * fabric.util.animate({\n * startValue: [1, 2, 3],\n * endValue: [2, 4, 6],\n * onChange: function([a, b, c]) {\n * canvas.zoomToPoint({x: b, y: c}, a)\n * canvas.renderAll()\n * }\n * });\n * @example\n * @property {Function} [onChange] Callback; invoked on every value change\n * @property {Function} [onComplete] Callback; invoked when value change is completed\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * var animationOptions = { startValue: 0, endValue: 1, byValue: 0.25 }\n * var animationOptions = { startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] }\n * @property {number | number[]} [startValue=0] Starting value\n * @property {number | number[]} [endValue=100] Ending value\n * @property {number | number[]} [byValue=100] Value to modify the property by\n * @property {Function} [easing] Easing function\n * @property {Number} [duration=500] Duration of change (in ms)\n * @property {Function} [abort] Additional function with logic. If returns true, animation aborts.\n *\n * @typedef {() => void} CancelFunction\n *\n * @typedef {Object} AnimationCurrentState\n * @property {number | number[]} currentValue value in range [`startValue`, `endValue`]\n * @property {number} completionRate value in range [0, 1]\n * @property {number} durationRate value in range [0, 1]\n *\n * @typedef {(AnimationOptions & AnimationCurrentState & { cancel: CancelFunction }} AnimationContext\n */ /**\n * Array holding all running animations\n * @memberof fabric\n * @type {AnimationContext[]}\n */ var RUNNING_ANIMATIONS = [];\n fabric.util.object.extend(RUNNING_ANIMATIONS, {\n /**\n * cancel all running animations at the next requestAnimFrame\n * @returns {AnimationContext[]}\n */ cancelAll: function() {\n var animations = this.splice(0);\n animations.forEach(function(animation) {\n animation.cancel();\n });\n return animations;\n },\n /**\n * cancel all running animations attached to canvas at the next requestAnimFrame\n * @param {fabric.Canvas} canvas\n * @returns {AnimationContext[]}\n */ cancelByCanvas: function(canvas) {\n if (!canvas) {\n return [];\n }\n var cancelled = this.filter(function(animation) {\n return typeof animation.target === \"object\" && animation.target.canvas === canvas;\n });\n cancelled.forEach(function(animation) {\n animation.cancel();\n });\n return cancelled;\n },\n /**\n * cancel all running animations for target at the next requestAnimFrame\n * @param {*} target\n * @returns {AnimationContext[]}\n */ cancelByTarget: function(target) {\n var cancelled = this.findAnimationsByTarget(target);\n cancelled.forEach(function(animation) {\n animation.cancel();\n });\n return cancelled;\n },\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {number}\n */ findAnimationIndex: function(cancelFunc) {\n return this.indexOf(this.findAnimation(cancelFunc));\n },\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {AnimationContext | undefined} animation's options object\n */ findAnimation: function(cancelFunc) {\n return this.find(function(animation) {\n return animation.cancel === cancelFunc;\n });\n },\n /**\n *\n * @param {*} target the object that is assigned to the target property of the animation context\n * @returns {AnimationContext[]} array of animation options object associated with target\n */ findAnimationsByTarget: function(target) {\n if (!target) {\n return [];\n }\n return this.filter(function(animation) {\n return animation.target === target;\n });\n }\n });\n function noop() {\n return false;\n }\n function defaultEasing(t, b, c, d) {\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n }\n /**\n * Changes value from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {AnimationOptions} [options] Animation options\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * fabric.util.animate({ startValue: 0, endValue: 1, byValue: 0.25 })\n * fabric.util.animate({ startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] })\n * @returns {CancelFunction} cancel function\n */ function animate(options) {\n options || (options = {});\n var cancel = false, context, removeFromRegistry = function() {\n var index = fabric.runningAnimations.indexOf(context);\n return index > -1 && fabric.runningAnimations.splice(index, 1)[0];\n };\n context = extend(clone(options), {\n cancel: function() {\n cancel = true;\n return removeFromRegistry();\n },\n currentValue: \"startValue\" in options ? options.startValue : 0,\n completionRate: 0,\n durationRate: 0\n });\n fabric.runningAnimations.push(context);\n requestAnimFrame(function(timestamp) {\n var start = timestamp || +new Date(), duration = options.duration || 500, finish = start + duration, time, onChange = options.onChange || noop, abort = options.abort || noop, onComplete = options.onComplete || noop, easing = options.easing || defaultEasing, isMany = \"startValue\" in options ? options.startValue.length > 0 : false, startValue = \"startValue\" in options ? options.startValue : 0, endValue = \"endValue\" in options ? options.endValue : 100, byValue = options.byValue || (isMany ? startValue.map(function(value, i) {\n return endValue[i] - startValue[i];\n }) : endValue - startValue);\n options.onStart && options.onStart();\n (function tick(ticktime) {\n time = ticktime || +new Date();\n var currentTime = time > finish ? duration : time - start, timePerc = currentTime / duration, current = isMany ? startValue.map(function(_value, i) {\n return easing(currentTime, startValue[i], byValue[i], duration);\n }) : easing(currentTime, startValue, byValue, duration), valuePerc = isMany ? Math.abs((current[0] - startValue[0]) / byValue[0]) : Math.abs((current - startValue) / byValue);\n // update context\n context.currentValue = isMany ? current.slice() : current;\n context.completionRate = valuePerc;\n context.durationRate = timePerc;\n if (cancel) {\n return;\n }\n if (abort(current, valuePerc, timePerc)) {\n removeFromRegistry();\n return;\n }\n if (time > finish) {\n // update context\n context.currentValue = isMany ? endValue.slice() : endValue;\n context.completionRate = 1;\n context.durationRate = 1;\n // execute callbacks\n onChange(isMany ? endValue.slice() : endValue, 1, 1);\n onComplete(endValue, 1, 1);\n removeFromRegistry();\n return;\n } else {\n onChange(current, valuePerc, timePerc);\n requestAnimFrame(tick);\n }\n })(start);\n });\n return context.cancel;\n }\n var _requestAnimFrame = fabric.window.requestAnimationFrame || fabric.window.webkitRequestAnimationFrame || fabric.window.mozRequestAnimationFrame || fabric.window.oRequestAnimationFrame || fabric.window.msRequestAnimationFrame || function(callback) {\n return fabric.window.setTimeout(callback, 1000 / 60);\n };\n var _cancelAnimFrame = fabric.window.cancelAnimationFrame || fabric.window.clearTimeout;\n /**\n * requestAnimationFrame polyfill based on http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * In order to get a precise start time, `requestAnimFrame` should be called as an entry into the method\n * @memberOf fabric.util\n * @param {Function} callback Callback to invoke\n * @param {DOMElement} element optional Element to associate with animation\n */ function requestAnimFrame() {\n return _requestAnimFrame.apply(fabric.window, arguments);\n }\n function cancelAnimFrame() {\n return _cancelAnimFrame.apply(fabric.window, arguments);\n }\n fabric.util.animate = animate;\n fabric.util.requestAnimFrame = requestAnimFrame;\n fabric.util.cancelAnimFrame = cancelAnimFrame;\n fabric.runningAnimations = RUNNING_ANIMATIONS;\n})();\n(function() {\n // Calculate an in-between color. Returns a \"rgba()\" string.\n // Credit: Edwin Martin \n // http://www.bitstorm.org/jquery/color-animation/jquery.animate-colors.js\n function calculateColor(begin, end, pos) {\n var color = \"rgba(\" + parseInt(begin[0] + pos * (end[0] - begin[0]), 10) + \",\" + parseInt(begin[1] + pos * (end[1] - begin[1]), 10) + \",\" + parseInt(begin[2] + pos * (end[2] - begin[2]), 10);\n color += \",\" + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1);\n color += \")\";\n return color;\n }\n /**\n * Changes the color from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {String} fromColor The starting color in hex or rgb(a) format.\n * @param {String} toColor The starting color in hex or rgb(a) format.\n * @param {Number} [duration] Duration of change (in ms).\n * @param {Object} [options] Animation options\n * @param {Function} [options.onChange] Callback; invoked on every value change\n * @param {Function} [options.onComplete] Callback; invoked when value change is completed\n * @param {Function} [options.colorEasing] Easing function. Note that this function only take two arguments (currentTime, duration). Thus the regular animation easing functions cannot be used.\n * @param {Function} [options.abort] Additional function with logic. If returns true, onComplete is called.\n * @returns {Function} abort function\n */ function animateColor(fromColor, toColor, duration, options) {\n var startColor = new fabric.Color(fromColor).getSource(), endColor = new fabric.Color(toColor).getSource(), originalOnComplete = options.onComplete, originalOnChange = options.onChange;\n options = options || {};\n return fabric.util.animate(fabric.util.object.extend(options, {\n duration: duration || 500,\n startValue: startColor,\n endValue: endColor,\n byValue: endColor,\n easing: function(currentTime, startValue, byValue, duration) {\n var posValue = options.colorEasing ? options.colorEasing(currentTime, duration) : 1 - Math.cos(currentTime / duration * (Math.PI / 2));\n return calculateColor(startValue, byValue, posValue);\n },\n // has to take in account for color restoring;\n onComplete: function(current, valuePerc, timePerc) {\n if (originalOnComplete) {\n return originalOnComplete(calculateColor(endColor, endColor, 0), valuePerc, timePerc);\n }\n },\n onChange: function(current, valuePerc, timePerc) {\n if (originalOnChange) {\n if (Array.isArray(current)) {\n return originalOnChange(calculateColor(current, current, 0), valuePerc, timePerc);\n }\n originalOnChange(current, valuePerc, timePerc);\n }\n }\n }));\n }\n fabric.util.animateColor = animateColor;\n})();\n(function(global) {\n \"use strict\";\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ var fabric = global.fabric || (global.fabric = {});\n if (fabric.Point) {\n fabric.warn(\"fabric.Point is already defined\");\n return;\n }\n fabric.Point = Point;\n /**\n * Point class\n * @class fabric.Point\n * @memberOf fabric\n * @constructor\n * @param {Number} x\n * @param {Number} y\n * @return {fabric.Point} thisArg\n */ function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n Point.prototype = /** @lends fabric.Point.prototype */ {\n type: \"point\",\n constructor: Point,\n /**\n * Adds another point to this one and returns another one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point instance with added values\n */ add: function(that) {\n return new Point(this.x + that.x, this.y + that.y);\n },\n /**\n * Adds another point to this one\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */ addEquals: function(that) {\n this.x += that.x;\n this.y += that.y;\n return this;\n },\n /**\n * Adds value to this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point} new Point with added value\n */ scalarAdd: function(scalar) {\n return new Point(this.x + scalar, this.y + scalar);\n },\n /**\n * Adds value to this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ scalarAddEquals: function(scalar) {\n this.x += scalar;\n this.y += scalar;\n return this;\n },\n /**\n * Subtracts another point from this point and returns a new one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point object with subtracted values\n */ subtract: function(that) {\n return new Point(this.x - that.x, this.y - that.y);\n },\n /**\n * Subtracts another point from this point\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */ subtractEquals: function(that) {\n this.x -= that.x;\n this.y -= that.y;\n return this;\n },\n /**\n * Subtracts value from this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point}\n */ scalarSubtract: function(scalar) {\n return new Point(this.x - scalar, this.y - scalar);\n },\n /**\n * Subtracts value from this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ scalarSubtractEquals: function(scalar) {\n this.x -= scalar;\n this.y -= scalar;\n return this;\n },\n /**\n * Multiplies this point by a value and returns a new one\n * TODO: rename in scalarMultiply in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */ multiply: function(scalar) {\n return new Point(this.x * scalar, this.y * scalar);\n },\n /**\n * Multiplies this point by a value\n * TODO: rename in scalarMultiplyEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ multiplyEquals: function(scalar) {\n this.x *= scalar;\n this.y *= scalar;\n return this;\n },\n /**\n * Divides this point by a value and returns a new one\n * TODO: rename in scalarDivide in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */ divide: function(scalar) {\n return new Point(this.x / scalar, this.y / scalar);\n },\n /**\n * Divides this point by a value\n * TODO: rename in scalarDivideEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ divideEquals: function(scalar) {\n this.x /= scalar;\n this.y /= scalar;\n return this;\n },\n /**\n * Returns true if this point is equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ eq: function(that) {\n return this.x === that.x && this.y === that.y;\n },\n /**\n * Returns true if this point is less than another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ lt: function(that) {\n return this.x < that.x && this.y < that.y;\n },\n /**\n * Returns true if this point is less than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ lte: function(that) {\n return this.x <= that.x && this.y <= that.y;\n },\n /**\n\n * Returns true if this point is greater another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ gt: function(that) {\n return this.x > that.x && this.y > that.y;\n },\n /**\n * Returns true if this point is greater than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ gte: function(that) {\n return this.x >= that.x && this.y >= that.y;\n },\n /**\n * Returns new point which is the result of linear interpolation with this one and another one\n * @param {fabric.Point} that\n * @param {Number} t , position of interpolation, between 0 and 1 default 0.5\n * @return {fabric.Point}\n */ lerp: function(that, t) {\n if (typeof t === \"undefined\") {\n t = 0.5;\n }\n t = Math.max(Math.min(1, t), 0);\n return new Point(this.x + (that.x - this.x) * t, this.y + (that.y - this.y) * t);\n },\n /**\n * Returns distance from this point and another one\n * @param {fabric.Point} that\n * @return {Number}\n */ distanceFrom: function(that) {\n var dx = this.x - that.x, dy = this.y - that.y;\n return Math.sqrt(dx * dx + dy * dy);\n },\n /**\n * Returns the point between this point and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ midPointFrom: function(that) {\n return this.lerp(that);\n },\n /**\n * Returns a new point which is the min of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ min: function(that) {\n return new Point(Math.min(this.x, that.x), Math.min(this.y, that.y));\n },\n /**\n * Returns a new point which is the max of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ max: function(that) {\n return new Point(Math.max(this.x, that.x), Math.max(this.y, that.y));\n },\n /**\n * Returns string representation of this point\n * @return {String}\n */ toString: function() {\n return this.x + \",\" + this.y;\n },\n /**\n * Sets x/y of this point\n * @param {Number} x\n * @param {Number} y\n * @chainable\n */ setXY: function(x, y) {\n this.x = x;\n this.y = y;\n return this;\n },\n /**\n * Sets x of this point\n * @param {Number} x\n * @chainable\n */ setX: function(x) {\n this.x = x;\n return this;\n },\n /**\n * Sets y of this point\n * @param {Number} y\n * @chainable\n */ setY: function(y) {\n this.y = y;\n return this;\n },\n /**\n * Sets x/y of this point from another point\n * @param {fabric.Point} that\n * @chainable\n */ setFromPoint: function(that) {\n this.x = that.x;\n this.y = that.y;\n return this;\n },\n /**\n * Swaps x/y of this point and another point\n * @param {fabric.Point} that\n */ swap: function(that) {\n var x = this.x, y = this.y;\n this.x = that.x;\n this.y = that.y;\n that.x = x;\n that.y = y;\n },\n /**\n * return a cloned instance of the point\n * @return {fabric.Point}\n */ clone: function() {\n return new Point(this.x, this.y);\n }\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ var fabric = global.fabric || (global.fabric = {});\n if (fabric.Intersection) {\n fabric.warn(\"fabric.Intersection is already defined\");\n return;\n }\n /**\n * Intersection class\n * @class fabric.Intersection\n * @memberOf fabric\n * @constructor\n */ function Intersection(status) {\n this.status = status;\n this.points = [];\n }\n fabric.Intersection = Intersection;\n fabric.Intersection.prototype = /** @lends fabric.Intersection.prototype */ {\n constructor: Intersection,\n /**\n * Appends a point to intersection\n * @param {fabric.Point} point\n * @return {fabric.Intersection} thisArg\n * @chainable\n */ appendPoint: function(point) {\n this.points.push(point);\n return this;\n },\n /**\n * Appends points to intersection\n * @param {Array} points\n * @return {fabric.Intersection} thisArg\n * @chainable\n */ appendPoints: function(points) {\n this.points = this.points.concat(points);\n return this;\n }\n };\n /**\n * Checks if one line intersects another\n * TODO: rename in intersectSegmentSegment\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {fabric.Point} b1\n * @param {fabric.Point} b2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectLineLine = function(a1, a2, b1, b2) {\n var result, uaT = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x), ubT = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x), uB = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n if (uB !== 0) {\n var ua = uaT / uB, ub = ubT / uB;\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n result = new Intersection(\"Intersection\");\n result.appendPoint(new fabric.Point(a1.x + ua * (a2.x - a1.x), a1.y + ua * (a2.y - a1.y)));\n } else {\n result = new Intersection();\n }\n } else {\n if (uaT === 0 || ubT === 0) {\n result = new Intersection(\"Coincident\");\n } else {\n result = new Intersection(\"Parallel\");\n }\n }\n return result;\n };\n /**\n * Checks if line intersects polygon\n * TODO: rename in intersectSegmentPolygon\n * fix detection of coincident\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {Array} points\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectLinePolygon = function(a1, a2, points) {\n var result = new Intersection(), length = points.length, b1, b2, inter, i;\n for(i = 0; i < length; i++){\n b1 = points[i];\n b2 = points[(i + 1) % length];\n inter = Intersection.intersectLineLine(a1, a2, b1, b2);\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n /**\n * Checks if polygon intersects another polygon\n * @static\n * @param {Array} points1\n * @param {Array} points2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectPolygonPolygon = function(points1, points2) {\n var result = new Intersection(), length = points1.length, i;\n for(i = 0; i < length; i++){\n var a1 = points1[i], a2 = points1[(i + 1) % length], inter = Intersection.intersectLinePolygon(a1, a2, points2);\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n /**\n * Checks if polygon intersects rectangle\n * @static\n * @param {Array} points\n * @param {fabric.Point} r1\n * @param {fabric.Point} r2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectPolygonRectangle = function(points, r1, r2) {\n var min = r1.min(r2), max = r1.max(r2), topRight = new fabric.Point(max.x, min.y), bottomLeft = new fabric.Point(min.x, max.y), inter1 = Intersection.intersectLinePolygon(min, topRight, points), inter2 = Intersection.intersectLinePolygon(topRight, max, points), inter3 = Intersection.intersectLinePolygon(max, bottomLeft, points), inter4 = Intersection.intersectLinePolygon(bottomLeft, min, points), result = new Intersection();\n result.appendPoints(inter1.points);\n result.appendPoints(inter2.points);\n result.appendPoints(inter3.points);\n result.appendPoints(inter4.points);\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n if (fabric.Color) {\n fabric.warn(\"fabric.Color is already defined.\");\n return;\n }\n /**\n * Color class\n * The purpose of {@link fabric.Color} is to abstract and encapsulate common color operations;\n * {@link fabric.Color} is a constructor and creates instances of {@link fabric.Color} objects.\n *\n * @class fabric.Color\n * @param {String} color optional in hex or rgb(a) or hsl format or from known color list\n * @return {fabric.Color} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2/#colors}\n */ function Color(color) {\n if (!color) {\n this.setSource([\n 0,\n 0,\n 0,\n 1\n ]);\n } else {\n this._tryParsingColor(color);\n }\n }\n fabric.Color = Color;\n fabric.Color.prototype = /** @lends fabric.Color.prototype */ {\n /**\n * @private\n * @param {String|Array} color Color value to parse\n */ _tryParsingColor: function(color) {\n var source;\n if (color in Color.colorNameMap) {\n color = Color.colorNameMap[color];\n }\n if (color === \"transparent\") {\n source = [\n 255,\n 255,\n 255,\n 0\n ];\n }\n if (!source) {\n source = Color.sourceFromHex(color);\n }\n if (!source) {\n source = Color.sourceFromRgb(color);\n }\n if (!source) {\n source = Color.sourceFromHsl(color);\n }\n if (!source) {\n //if color is not recognize let's make black as canvas does\n source = [\n 0,\n 0,\n 0,\n 1\n ];\n }\n if (source) {\n this.setSource(source);\n }\n },\n /**\n * Adapted from https://github.com/mjijackson\n * @private\n * @param {Number} r Red color value\n * @param {Number} g Green color value\n * @param {Number} b Blue color value\n * @return {Array} Hsl color\n */ _rgbToHsl: function(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n var h, s, l, max = fabric.util.array.max([\n r,\n g,\n b\n ]), min = fabric.util.array.min([\n r,\n g,\n b\n ]);\n l = (max + min) / 2;\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max){\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return [\n Math.round(h * 360),\n Math.round(s * 100),\n Math.round(l * 100)\n ];\n },\n /**\n * Returns source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @return {Array}\n */ getSource: function() {\n return this._source;\n },\n /**\n * Sets source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @param {Array} source\n */ setSource: function(source) {\n this._source = source;\n },\n /**\n * Returns color representation in RGB format\n * @return {String} ex: rgb(0-255,0-255,0-255)\n */ toRgb: function() {\n var source = this.getSource();\n return \"rgb(\" + source[0] + \",\" + source[1] + \",\" + source[2] + \")\";\n },\n /**\n * Returns color representation in RGBA format\n * @return {String} ex: rgba(0-255,0-255,0-255,0-1)\n */ toRgba: function() {\n var source = this.getSource();\n return \"rgba(\" + source[0] + \",\" + source[1] + \",\" + source[2] + \",\" + source[3] + \")\";\n },\n /**\n * Returns color representation in HSL format\n * @return {String} ex: hsl(0-360,0%-100%,0%-100%)\n */ toHsl: function() {\n var source = this.getSource(), hsl = this._rgbToHsl(source[0], source[1], source[2]);\n return \"hsl(\" + hsl[0] + \",\" + hsl[1] + \"%,\" + hsl[2] + \"%)\";\n },\n /**\n * Returns color representation in HSLA format\n * @return {String} ex: hsla(0-360,0%-100%,0%-100%,0-1)\n */ toHsla: function() {\n var source = this.getSource(), hsl = this._rgbToHsl(source[0], source[1], source[2]);\n return \"hsla(\" + hsl[0] + \",\" + hsl[1] + \"%,\" + hsl[2] + \"%,\" + source[3] + \")\";\n },\n /**\n * Returns color representation in HEX format\n * @return {String} ex: FF5555\n */ toHex: function() {\n var source = this.getSource(), r, g, b;\n r = source[0].toString(16);\n r = r.length === 1 ? \"0\" + r : r;\n g = source[1].toString(16);\n g = g.length === 1 ? \"0\" + g : g;\n b = source[2].toString(16);\n b = b.length === 1 ? \"0\" + b : b;\n return r.toUpperCase() + g.toUpperCase() + b.toUpperCase();\n },\n /**\n * Returns color representation in HEXA format\n * @return {String} ex: FF5555CC\n */ toHexa: function() {\n var source = this.getSource(), a;\n a = Math.round(source[3] * 255);\n a = a.toString(16);\n a = a.length === 1 ? \"0\" + a : a;\n return this.toHex() + a.toUpperCase();\n },\n /**\n * Gets value of alpha channel for this color\n * @return {Number} 0-1\n */ getAlpha: function() {\n return this.getSource()[3];\n },\n /**\n * Sets value of alpha channel for this color\n * @param {Number} alpha Alpha value 0-1\n * @return {fabric.Color} thisArg\n */ setAlpha: function(alpha) {\n var source = this.getSource();\n source[3] = alpha;\n this.setSource(source);\n return this;\n },\n /**\n * Transforms color to its grayscale representation\n * @return {fabric.Color} thisArg\n */ toGrayscale: function() {\n var source = this.getSource(), average = parseInt((source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), 10), currentAlpha = source[3];\n this.setSource([\n average,\n average,\n average,\n currentAlpha\n ]);\n return this;\n },\n /**\n * Transforms color to its black and white representation\n * @param {Number} threshold\n * @return {fabric.Color} thisArg\n */ toBlackWhite: function(threshold) {\n var source = this.getSource(), average = (source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), currentAlpha = source[3];\n threshold = threshold || 127;\n average = Number(average) < Number(threshold) ? 0 : 255;\n this.setSource([\n average,\n average,\n average,\n currentAlpha\n ]);\n return this;\n },\n /**\n * Overlays color with another color\n * @param {String|fabric.Color} otherColor\n * @return {fabric.Color} thisArg\n */ overlayWith: function(otherColor) {\n if (!(otherColor instanceof Color)) {\n otherColor = new Color(otherColor);\n }\n var result = [], alpha = this.getAlpha(), otherAlpha = 0.5, source = this.getSource(), otherSource = otherColor.getSource(), i;\n for(i = 0; i < 3; i++){\n result.push(Math.round(source[i] * (1 - otherAlpha) + otherSource[i] * otherAlpha));\n }\n result[3] = alpha;\n this.setSource(result);\n return this;\n }\n };\n /**\n * Regex matching color in RGB or RGBA formats (ex: rgb(0, 0, 0), rgba(255, 100, 10, 0.5), rgba( 255 , 100 , 10 , 0.5 ), rgb(1,1,1), rgba(100%, 60%, 10%, 0.5))\n * @static\n * @field\n * @memberOf fabric.Color\n */ // eslint-disable-next-line max-len\n fabric.Color.reRGBa = /^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*(?:\\s*,\\s*((?:\\d*\\.?\\d+)?)\\s*)?\\)$/i;\n /**\n * Regex matching color in HSL or HSLA formats (ex: hsl(200, 80%, 10%), hsla(300, 50%, 80%, 0.5), hsla( 300 , 50% , 80% , 0.5 ))\n * @static\n * @field\n * @memberOf fabric.Color\n */ fabric.Color.reHSLa = /^hsla?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3}\\%)\\s*,\\s*(\\d{1,3}\\%)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/i;\n /**\n * Regex matching color in HEX format (ex: #FF5544CC, #FF5555, 010155, aff)\n * @static\n * @field\n * @memberOf fabric.Color\n */ fabric.Color.reHex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n /**\n * Map of the 148 color names with HEX code\n * @static\n * @field\n * @memberOf fabric.Color\n * @see: https://www.w3.org/TR/css3-color/#svg-color\n */ fabric.Color.colorNameMap = {\n aliceblue: \"#F0F8FF\",\n antiquewhite: \"#FAEBD7\",\n aqua: \"#00FFFF\",\n aquamarine: \"#7FFFD4\",\n azure: \"#F0FFFF\",\n beige: \"#F5F5DC\",\n bisque: \"#FFE4C4\",\n black: \"#000000\",\n blanchedalmond: \"#FFEBCD\",\n blue: \"#0000FF\",\n blueviolet: \"#8A2BE2\",\n brown: \"#A52A2A\",\n burlywood: \"#DEB887\",\n cadetblue: \"#5F9EA0\",\n chartreuse: \"#7FFF00\",\n chocolate: \"#D2691E\",\n coral: \"#FF7F50\",\n cornflowerblue: \"#6495ED\",\n cornsilk: \"#FFF8DC\",\n crimson: \"#DC143C\",\n cyan: \"#00FFFF\",\n darkblue: \"#00008B\",\n darkcyan: \"#008B8B\",\n darkgoldenrod: \"#B8860B\",\n darkgray: \"#A9A9A9\",\n darkgrey: \"#A9A9A9\",\n darkgreen: \"#006400\",\n darkkhaki: \"#BDB76B\",\n darkmagenta: \"#8B008B\",\n darkolivegreen: \"#556B2F\",\n darkorange: \"#FF8C00\",\n darkorchid: \"#9932CC\",\n darkred: \"#8B0000\",\n darksalmon: \"#E9967A\",\n darkseagreen: \"#8FBC8F\",\n darkslateblue: \"#483D8B\",\n darkslategray: \"#2F4F4F\",\n darkslategrey: \"#2F4F4F\",\n darkturquoise: \"#00CED1\",\n darkviolet: \"#9400D3\",\n deeppink: \"#FF1493\",\n deepskyblue: \"#00BFFF\",\n dimgray: \"#696969\",\n dimgrey: \"#696969\",\n dodgerblue: \"#1E90FF\",\n firebrick: \"#B22222\",\n floralwhite: \"#FFFAF0\",\n forestgreen: \"#228B22\",\n fuchsia: \"#FF00FF\",\n gainsboro: \"#DCDCDC\",\n ghostwhite: \"#F8F8FF\",\n gold: \"#FFD700\",\n goldenrod: \"#DAA520\",\n gray: \"#808080\",\n grey: \"#808080\",\n green: \"#008000\",\n greenyellow: \"#ADFF2F\",\n honeydew: \"#F0FFF0\",\n hotpink: \"#FF69B4\",\n indianred: \"#CD5C5C\",\n indigo: \"#4B0082\",\n ivory: \"#FFFFF0\",\n khaki: \"#F0E68C\",\n lavender: \"#E6E6FA\",\n lavenderblush: \"#FFF0F5\",\n lawngreen: \"#7CFC00\",\n lemonchiffon: \"#FFFACD\",\n lightblue: \"#ADD8E6\",\n lightcoral: \"#F08080\",\n lightcyan: \"#E0FFFF\",\n lightgoldenrodyellow: \"#FAFAD2\",\n lightgray: \"#D3D3D3\",\n lightgrey: \"#D3D3D3\",\n lightgreen: \"#90EE90\",\n lightpink: \"#FFB6C1\",\n lightsalmon: \"#FFA07A\",\n lightseagreen: \"#20B2AA\",\n lightskyblue: \"#87CEFA\",\n lightslategray: \"#778899\",\n lightslategrey: \"#778899\",\n lightsteelblue: \"#B0C4DE\",\n lightyellow: \"#FFFFE0\",\n lime: \"#00FF00\",\n limegreen: \"#32CD32\",\n linen: \"#FAF0E6\",\n magenta: \"#FF00FF\",\n maroon: \"#800000\",\n mediumaquamarine: \"#66CDAA\",\n mediumblue: \"#0000CD\",\n mediumorchid: \"#BA55D3\",\n mediumpurple: \"#9370DB\",\n mediumseagreen: \"#3CB371\",\n mediumslateblue: \"#7B68EE\",\n mediumspringgreen: \"#00FA9A\",\n mediumturquoise: \"#48D1CC\",\n mediumvioletred: \"#C71585\",\n midnightblue: \"#191970\",\n mintcream: \"#F5FFFA\",\n mistyrose: \"#FFE4E1\",\n moccasin: \"#FFE4B5\",\n navajowhite: \"#FFDEAD\",\n navy: \"#000080\",\n oldlace: \"#FDF5E6\",\n olive: \"#808000\",\n olivedrab: \"#6B8E23\",\n orange: \"#FFA500\",\n orangered: \"#FF4500\",\n orchid: \"#DA70D6\",\n palegoldenrod: \"#EEE8AA\",\n palegreen: \"#98FB98\",\n paleturquoise: \"#AFEEEE\",\n palevioletred: \"#DB7093\",\n papayawhip: \"#FFEFD5\",\n peachpuff: \"#FFDAB9\",\n peru: \"#CD853F\",\n pink: \"#FFC0CB\",\n plum: \"#DDA0DD\",\n powderblue: \"#B0E0E6\",\n purple: \"#800080\",\n rebeccapurple: \"#663399\",\n red: \"#FF0000\",\n rosybrown: \"#BC8F8F\",\n royalblue: \"#4169E1\",\n saddlebrown: \"#8B4513\",\n salmon: \"#FA8072\",\n sandybrown: \"#F4A460\",\n seagreen: \"#2E8B57\",\n seashell: \"#FFF5EE\",\n sienna: \"#A0522D\",\n silver: \"#C0C0C0\",\n skyblue: \"#87CEEB\",\n slateblue: \"#6A5ACD\",\n slategray: \"#708090\",\n slategrey: \"#708090\",\n snow: \"#FFFAFA\",\n springgreen: \"#00FF7F\",\n steelblue: \"#4682B4\",\n tan: \"#D2B48C\",\n teal: \"#008080\",\n thistle: \"#D8BFD8\",\n tomato: \"#FF6347\",\n turquoise: \"#40E0D0\",\n violet: \"#EE82EE\",\n wheat: \"#F5DEB3\",\n white: \"#FFFFFF\",\n whitesmoke: \"#F5F5F5\",\n yellow: \"#FFFF00\",\n yellowgreen: \"#9ACD32\"\n };\n /**\n * @private\n * @param {Number} p\n * @param {Number} q\n * @param {Number} t\n * @return {Number}\n */ function hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n /**\n * Returns new color object, when given a color in RGB format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255)\n * @return {fabric.Color}\n */ fabric.Color.fromRgb = function(color) {\n return Color.fromSource(Color.sourceFromRgb(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in RGB or RGBA format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255), rgb(0%-100%,0%-100%,0%-100%)\n * @return {Array} source\n */ fabric.Color.sourceFromRgb = function(color) {\n var match = color.match(Color.reRGBa);\n if (match) {\n var r = parseInt(match[1], 10) / (/%$/.test(match[1]) ? 100 : 1) * (/%$/.test(match[1]) ? 255 : 1), g = parseInt(match[2], 10) / (/%$/.test(match[2]) ? 100 : 1) * (/%$/.test(match[2]) ? 255 : 1), b = parseInt(match[3], 10) / (/%$/.test(match[3]) ? 100 : 1) * (/%$/.test(match[3]) ? 255 : 1);\n return [\n parseInt(r, 10),\n parseInt(g, 10),\n parseInt(b, 10),\n match[4] ? parseFloat(match[4]) : 1\n ];\n }\n };\n /**\n * Returns new color object, when given a color in RGBA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */ fabric.Color.fromRgba = Color.fromRgb;\n /**\n * Returns new color object, when given a color in HSL format\n * @param {String} color Color value ex: hsl(0-260,0%-100%,0%-100%)\n * @memberOf fabric.Color\n * @return {fabric.Color}\n */ fabric.Color.fromHsl = function(color) {\n return Color.fromSource(Color.sourceFromHsl(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HSL or HSLA format.\n * Adapted from https://github.com/mjijackson\n * @memberOf fabric.Color\n * @param {String} color Color value ex: hsl(0-360,0%-100%,0%-100%) or hsla(0-360,0%-100%,0%-100%, 0-1)\n * @return {Array} source\n * @see http://http://www.w3.org/TR/css3-color/#hsl-color\n */ fabric.Color.sourceFromHsl = function(color) {\n var match = color.match(Color.reHSLa);\n if (!match) {\n return;\n }\n var h = (parseFloat(match[1]) % 360 + 360) % 360 / 360, s = parseFloat(match[2]) / (/%$/.test(match[2]) ? 100 : 1), l = parseFloat(match[3]) / (/%$/.test(match[3]) ? 100 : 1), r, g, b;\n if (s === 0) {\n r = g = b = l;\n } else {\n var q = l <= 0.5 ? l * (s + 1) : l + s - l * s, p = l * 2 - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return [\n Math.round(r * 255),\n Math.round(g * 255),\n Math.round(b * 255),\n match[4] ? parseFloat(match[4]) : 1\n ];\n };\n /**\n * Returns new color object, when given a color in HSLA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */ fabric.Color.fromHsla = Color.fromHsl;\n /**\n * Returns new color object, when given a color in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color Color value ex: FF5555\n * @return {fabric.Color}\n */ fabric.Color.fromHex = function(color) {\n return Color.fromSource(Color.sourceFromHex(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color ex: FF5555 or FF5544CC (RGBa)\n * @return {Array} source\n */ fabric.Color.sourceFromHex = function(color) {\n if (color.match(Color.reHex)) {\n var value = color.slice(color.indexOf(\"#\") + 1), isShortNotation = value.length === 3 || value.length === 4, isRGBa = value.length === 8 || value.length === 4, r = isShortNotation ? value.charAt(0) + value.charAt(0) : value.substring(0, 2), g = isShortNotation ? value.charAt(1) + value.charAt(1) : value.substring(2, 4), b = isShortNotation ? value.charAt(2) + value.charAt(2) : value.substring(4, 6), a = isRGBa ? isShortNotation ? value.charAt(3) + value.charAt(3) : value.substring(6, 8) : \"FF\";\n return [\n parseInt(r, 16),\n parseInt(g, 16),\n parseInt(b, 16),\n parseFloat((parseInt(a, 16) / 255).toFixed(2))\n ];\n }\n };\n /**\n * Returns new color object, when given color in array representation (ex: [200, 100, 100, 0.5])\n * @static\n * @memberOf fabric.Color\n * @param {Array} source\n * @return {fabric.Color}\n */ fabric.Color.fromSource = function(source) {\n var oColor = new Color();\n oColor.setSource(source);\n return oColor;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), scaleMap = [\n \"e\",\n \"se\",\n \"s\",\n \"sw\",\n \"w\",\n \"nw\",\n \"n\",\n \"ne\",\n \"e\"\n ], skewMap = [\n \"ns\",\n \"nesw\",\n \"ew\",\n \"nwse\"\n ], controls = {}, LEFT = \"left\", TOP = \"top\", RIGHT = \"right\", BOTTOM = \"bottom\", CENTER = \"center\", opposite = {\n top: BOTTOM,\n bottom: TOP,\n left: RIGHT,\n right: LEFT,\n center: CENTER\n }, radiansToDegrees = fabric.util.radiansToDegrees, sign = Math.sign || function(x) {\n return (x > 0) - (x < 0) || +x;\n };\n /**\n * Combine control position and object angle to find the control direction compared\n * to the object center.\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n * @param {fabric.Control} control the control class\n * @return {Number} 0 - 7 a quadrant number\n */ function findCornerQuadrant(fabricObject, control) {\n var cornerAngle = fabricObject.angle + radiansToDegrees(Math.atan2(control.y, control.x)) + 360;\n return Math.round(cornerAngle % 360 / 45);\n }\n function fireEvent(eventName, options) {\n var target = options.transform.target, canvas = target.canvas, canvasOptions = fabric.util.object.clone(options);\n canvasOptions.target = target;\n canvas && canvas.fire(\"object:\" + eventName, canvasOptions);\n target.fire(eventName, options);\n }\n /**\n * Inspect event and fabricObject properties to understand if the scaling action\n * @param {Event} eventData from the user action\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @return {Boolean} true if scale is proportional\n */ function scaleIsProportional(eventData, fabricObject) {\n var canvas = fabricObject.canvas, uniScaleKey = canvas.uniScaleKey, uniformIsToggled = eventData[uniScaleKey];\n return canvas.uniformScaling && !uniformIsToggled || !canvas.uniformScaling && uniformIsToggled;\n }\n /**\n * Checks if transform is centered\n * @param {Object} transform transform data\n * @return {Boolean} true if transform is centered\n */ function isTransformCentered(transform) {\n return transform.originX === CENTER && transform.originY === CENTER;\n }\n /**\n * Inspect fabricObject to understand if the current scaling action is allowed\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @param {String} by 'x' or 'y' or ''\n * @param {Boolean} scaleProportionally true if we are trying to scale proportionally\n * @return {Boolean} true if scaling is not allowed at current conditions\n */ function scalingIsForbidden(fabricObject, by, scaleProportionally) {\n var lockX = fabricObject.lockScalingX, lockY = fabricObject.lockScalingY;\n if (lockX && lockY) {\n return true;\n }\n if (!by && (lockX || lockY) && scaleProportionally) {\n return true;\n }\n if (lockX && by === \"x\") {\n return true;\n }\n if (lockY && by === \"y\") {\n return true;\n }\n return false;\n }\n /**\n * return the correct cursor style for the scale action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function scaleCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = \"not-allowed\", scaleProportionally = scaleIsProportional(eventData, fabricObject), by = \"\";\n if (control.x !== 0 && control.y === 0) {\n by = \"x\";\n } else if (control.x === 0 && control.y !== 0) {\n by = \"y\";\n }\n if (scalingIsForbidden(fabricObject, by, scaleProportionally)) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control);\n return scaleMap[n] + \"-resize\";\n }\n /**\n * return the correct cursor style for the skew action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function skewCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = \"not-allowed\";\n if (control.x !== 0 && fabricObject.lockSkewingY) {\n return notAllowed;\n }\n if (control.y !== 0 && fabricObject.lockSkewingX) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control) % 4;\n return skewMap[n] + \"-resize\";\n }\n /**\n * Combine skew and scale style handlers to cover fabric standard use case\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function scaleSkewCursorStyleHandler(eventData, control, fabricObject) {\n if (eventData[fabricObject.canvas.altActionKey]) {\n return controls.skewCursorStyleHandler(eventData, control, fabricObject);\n }\n return controls.scaleCursorStyleHandler(eventData, control, fabricObject);\n }\n /**\n * Inspect event, control and fabricObject to return the correct action name\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} an action name\n */ function scaleOrSkewActionName(eventData, control, fabricObject) {\n var isAlternative = eventData[fabricObject.canvas.altActionKey];\n if (control.x === 0) {\n // then is scaleY or skewX\n return isAlternative ? \"skewX\" : \"scaleY\";\n }\n if (control.y === 0) {\n // then is scaleY or skewX\n return isAlternative ? \"skewY\" : \"scaleX\";\n }\n }\n /**\n * Find the correct style for the control that is used for rotation.\n * this function is very simple and it just take care of not-allowed or standard cursor\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function rotationStyleHandler(eventData, control, fabricObject) {\n if (fabricObject.lockRotation) {\n return \"not-allowed\";\n }\n return control.cursorStyle;\n }\n function commonEventInfo(eventData, transform, x, y) {\n return {\n e: eventData,\n transform: transform,\n pointer: {\n x: x,\n y: y\n }\n };\n }\n /**\n * Wrap an action handler with saving/restoring object position on the transform.\n * this is the code that permits to objects to keep their position while transforming.\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */ function wrapWithFixedAnchor(actionHandler) {\n return function(eventData, transform, x, y) {\n var target = transform.target, centerPoint = target.getCenterPoint(), constraint = target.translateToOriginPoint(centerPoint, transform.originX, transform.originY), actionPerformed = actionHandler(eventData, transform, x, y);\n target.setPositionByOrigin(constraint, transform.originX, transform.originY);\n return actionPerformed;\n };\n }\n /**\n * Wrap an action handler with firing an event if the action is performed\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */ function wrapWithFireEvent(eventName, actionHandler) {\n return function(eventData, transform, x, y) {\n var actionPerformed = actionHandler(eventData, transform, x, y);\n if (actionPerformed) {\n fireEvent(eventName, commonEventInfo(eventData, transform, x, y));\n }\n return actionPerformed;\n };\n }\n /**\n * Transforms a point described by x and y in a distance from the top left corner of the object\n * bounding box.\n * @param {Object} transform\n * @param {String} originX\n * @param {String} originY\n * @param {number} x\n * @param {number} y\n * @return {Fabric.Point} the normalized point\n */ function getLocalPoint(transform, originX, originY, x, y) {\n var target = transform.target, control = target.controls[transform.corner], zoom = target.canvas.getZoom(), padding = target.padding / zoom, localPoint = target.toLocalPoint(new fabric.Point(x, y), originX, originY);\n if (localPoint.x >= padding) {\n localPoint.x -= padding;\n }\n if (localPoint.x <= -padding) {\n localPoint.x += padding;\n }\n if (localPoint.y >= padding) {\n localPoint.y -= padding;\n }\n if (localPoint.y <= padding) {\n localPoint.y += padding;\n }\n localPoint.x -= control.offsetX;\n localPoint.y -= control.offsetY;\n return localPoint;\n }\n /**\n * Detect if the fabric object is flipped on one side.\n * @param {fabric.Object} target\n * @return {Boolean} true if one flip, but not two.\n */ function targetHasOneFlip(target) {\n return target.flipX !== target.flipY;\n }\n /**\n * Utility function to compensate the scale factor when skew is applied on both axes\n * @private\n */ function compensateScaleForSkew(target, oppositeSkew, scaleToCompensate, axis, reference) {\n if (target[oppositeSkew] !== 0) {\n var newDim = target._getTransformedDimensions()[axis];\n var newValue = reference / newDim * target[scaleToCompensate];\n target.set(scaleToCompensate, newValue);\n }\n }\n /**\n * Action handler for skewing on the X axis\n * @private\n */ function skewObjectX(eventData, transform, x, y) {\n var target = transform.target, // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(0, target.skewY), localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.x * 2) - dimNoSkew.x, currentSkew = target.skewX, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n } else {\n newSkew = radiansToDegrees(Math.atan2(totalSkewSize / target.scaleX, dimNoSkew.y / target.scaleY));\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().y;\n target.set(\"skewX\", newSkew);\n compensateScaleForSkew(target, \"skewY\", \"scaleY\", \"y\", dimBeforeSkewing);\n }\n return hasSkewed;\n }\n /**\n * Action handler for skewing on the Y axis\n * @private\n */ function skewObjectY(eventData, transform, x, y) {\n var target = transform.target, // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(target.skewX, 0), localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.y * 2) - dimNoSkew.y, currentSkew = target.skewY, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n } else {\n newSkew = radiansToDegrees(Math.atan2(totalSkewSize / target.scaleY, dimNoSkew.x / target.scaleX));\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().x;\n target.set(\"skewY\", newSkew);\n compensateScaleForSkew(target, \"skewX\", \"scaleX\", \"x\", dimBeforeSkewing);\n }\n return hasSkewed;\n }\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function skewHandlerX(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewX > 0 and originY bottom we anchor on right\n // if skewX > 0 and originY top we anchor on left\n // if skewX < 0 and originY bottom we anchor on left\n // if skewX < 0 and originY top we anchor on right\n // if skewX is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewX, originX, originY = transform.originY;\n if (target.lockSkewingX) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.x > 0) {\n // we are pulling right, anchor left;\n originX = LEFT;\n } else {\n // we are pulling right, anchor right\n originX = RIGHT;\n }\n } else {\n if (currentSkew > 0) {\n originX = originY === TOP ? LEFT : RIGHT;\n }\n if (currentSkew < 0) {\n originX = originY === TOP ? RIGHT : LEFT;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originX = originX === LEFT ? RIGHT : LEFT;\n }\n }\n // once we have the origin, we find the anchor point\n transform.originX = originX;\n var finalHandler = wrapWithFireEvent(\"skewing\", wrapWithFixedAnchor(skewObjectX));\n return finalHandler(eventData, transform, x, y);\n }\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function skewHandlerY(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewY > 0 and originX left we anchor on top\n // if skewY > 0 and originX right we anchor on bottom\n // if skewY < 0 and originX left we anchor on bottom\n // if skewY < 0 and originX right we anchor on top\n // if skewY is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewY, originY, originX = transform.originX;\n if (target.lockSkewingY) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.y > 0) {\n // we are pulling down, anchor up;\n originY = TOP;\n } else {\n // we are pulling up, anchor down\n originY = BOTTOM;\n }\n } else {\n if (currentSkew > 0) {\n originY = originX === LEFT ? TOP : BOTTOM;\n }\n if (currentSkew < 0) {\n originY = originX === LEFT ? BOTTOM : TOP;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originY = originY === TOP ? BOTTOM : TOP;\n }\n }\n // once we have the origin, we find the anchor point\n transform.originY = originY;\n var finalHandler = wrapWithFireEvent(\"skewing\", wrapWithFixedAnchor(skewObjectY));\n return finalHandler(eventData, transform, x, y);\n }\n /**\n * Action handler for rotation and snapping, without anchor point.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n * @private\n */ function rotationWithSnapping(eventData, transform, x, y) {\n var t = transform, target = t.target, pivotPoint = target.translateToOriginPoint(target.getCenterPoint(), t.originX, t.originY);\n if (target.lockRotation) {\n return false;\n }\n var lastAngle = Math.atan2(t.ey - pivotPoint.y, t.ex - pivotPoint.x), curAngle = Math.atan2(y - pivotPoint.y, x - pivotPoint.x), angle = radiansToDegrees(curAngle - lastAngle + t.theta), hasRotated = true;\n if (target.snapAngle > 0) {\n var snapAngle = target.snapAngle, snapThreshold = target.snapThreshold || snapAngle, rightAngleLocked = Math.ceil(angle / snapAngle) * snapAngle, leftAngleLocked = Math.floor(angle / snapAngle) * snapAngle;\n if (Math.abs(angle - leftAngleLocked) < snapThreshold) {\n angle = leftAngleLocked;\n } else if (Math.abs(angle - rightAngleLocked) < snapThreshold) {\n angle = rightAngleLocked;\n }\n }\n // normalize angle to positive value\n if (angle < 0) {\n angle = 360 + angle;\n }\n angle %= 360;\n hasRotated = target.angle !== angle;\n target.angle = angle;\n return hasRotated;\n }\n /**\n * Basic scaling logic, reused with different constrain for scaling X,Y, freely or equally.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @param {Object} options additional information for scaling\n * @param {String} options.by 'x', 'y', 'equally' or '' to indicate type of scaling\n * @return {Boolean} true if some change happened\n * @private\n */ function scaleObject(eventData, transform, x, y, options) {\n options = options || {};\n var target = transform.target, lockScalingX = target.lockScalingX, lockScalingY = target.lockScalingY, by = options.by, newPoint, scaleX, scaleY, dim, scaleProportionally = scaleIsProportional(eventData, target), forbidScaling = scalingIsForbidden(target, by, scaleProportionally), signX, signY, gestureScale = transform.gestureScale;\n if (forbidScaling) {\n return false;\n }\n if (gestureScale) {\n scaleX = transform.scaleX * gestureScale;\n scaleY = transform.scaleY * gestureScale;\n } else {\n newPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y);\n // use of sign: We use sign to detect change of direction of an action. sign usually change when\n // we cross the origin point with the mouse. So a scale flip for example. There is an issue when scaling\n // by center and scaling using one middle control ( default: mr, mt, ml, mb), the mouse movement can easily\n // cross many time the origin point and flip the object. so we need a way to filter out the noise.\n // This ternary here should be ok to filter out X scaling when we want Y only and vice versa.\n signX = by !== \"y\" ? sign(newPoint.x) : 1;\n signY = by !== \"x\" ? sign(newPoint.y) : 1;\n if (!transform.signX) {\n transform.signX = signX;\n }\n if (!transform.signY) {\n transform.signY = signY;\n }\n if (target.lockScalingFlip && (transform.signX !== signX || transform.signY !== signY)) {\n return false;\n }\n dim = target._getTransformedDimensions();\n // missing detection of flip and logic to switch the origin\n if (scaleProportionally && !by) {\n // uniform scaling\n var distance = Math.abs(newPoint.x) + Math.abs(newPoint.y), original = transform.original, originalDistance = Math.abs(dim.x * original.scaleX / target.scaleX) + Math.abs(dim.y * original.scaleY / target.scaleY), scale = distance / originalDistance;\n scaleX = original.scaleX * scale;\n scaleY = original.scaleY * scale;\n } else {\n scaleX = Math.abs(newPoint.x * target.scaleX / dim.x);\n scaleY = Math.abs(newPoint.y * target.scaleY / dim.y);\n }\n // if we are scaling by center, we need to double the scale\n if (isTransformCentered(transform)) {\n scaleX *= 2;\n scaleY *= 2;\n }\n if (transform.signX !== signX && by !== \"y\") {\n transform.originX = opposite[transform.originX];\n scaleX *= -1;\n transform.signX = signX;\n }\n if (transform.signY !== signY && by !== \"x\") {\n transform.originY = opposite[transform.originY];\n scaleY *= -1;\n transform.signY = signY;\n }\n }\n // minScale is taken are in the setter.\n var oldScaleX = target.scaleX, oldScaleY = target.scaleY;\n if (!by) {\n !lockScalingX && target.set(\"scaleX\", scaleX);\n !lockScalingY && target.set(\"scaleY\", scaleY);\n } else {\n // forbidden cases already handled on top here.\n by === \"x\" && target.set(\"scaleX\", scaleX);\n by === \"y\" && target.set(\"scaleY\", scaleY);\n }\n return oldScaleX !== target.scaleX || oldScaleY !== target.scaleY;\n }\n /**\n * Generic scaling logic, to scale from corners either equally or freely.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectFromCorner(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y);\n }\n /**\n * Scaling logic for the X axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectX(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y, {\n by: \"x\"\n });\n }\n /**\n * Scaling logic for the Y axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectY(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y, {\n by: \"y\"\n });\n }\n /**\n * Composed action handler to either scale Y or skew X\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scalingYOrSkewingX(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerX(eventData, transform, x, y);\n }\n return controls.scalingY(eventData, transform, x, y);\n }\n /**\n * Composed action handler to either scale X or skew Y\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scalingXOrSkewingY(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerY(eventData, transform, x, y);\n }\n return controls.scalingX(eventData, transform, x, y);\n }\n /**\n * Action handler to change textbox width\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function changeWidth(eventData, transform, x, y) {\n var target = transform.target, localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), strokePadding = target.strokeWidth / (target.strokeUniform ? target.scaleX : 1), multiplier = isTransformCentered(transform) ? 2 : 1, oldWidth = target.width, newWidth = Math.abs(localPoint.x * multiplier / target.scaleX) - strokePadding;\n target.set(\"width\", Math.max(newWidth, 0));\n return oldWidth !== newWidth;\n }\n /**\n * Action handler\n * @private\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if the translation occurred\n */ function dragHandler(eventData, transform, x, y) {\n var target = transform.target, newLeft = x - transform.offsetX, newTop = y - transform.offsetY, moveX = !target.get(\"lockMovementX\") && target.left !== newLeft, moveY = !target.get(\"lockMovementY\") && target.top !== newTop;\n moveX && target.set(\"left\", newLeft);\n moveY && target.set(\"top\", newTop);\n if (moveX || moveY) {\n fireEvent(\"moving\", commonEventInfo(eventData, transform, x, y));\n }\n return moveX || moveY;\n }\n controls.scaleCursorStyleHandler = scaleCursorStyleHandler;\n controls.skewCursorStyleHandler = skewCursorStyleHandler;\n controls.scaleSkewCursorStyleHandler = scaleSkewCursorStyleHandler;\n controls.rotationWithSnapping = wrapWithFireEvent(\"rotating\", wrapWithFixedAnchor(rotationWithSnapping));\n controls.scalingEqually = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectFromCorner));\n controls.scalingX = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectX));\n controls.scalingY = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectY));\n controls.scalingYOrSkewingX = scalingYOrSkewingX;\n controls.scalingXOrSkewingY = scalingXOrSkewingY;\n controls.changeWidth = wrapWithFireEvent(\"resizing\", wrapWithFixedAnchor(changeWidth));\n controls.skewHandlerX = skewHandlerX;\n controls.skewHandlerY = skewHandlerY;\n controls.dragHandler = dragHandler;\n controls.scaleOrSkewActionName = scaleOrSkewActionName;\n controls.rotationStyleHandler = rotationStyleHandler;\n controls.fireEvent = fireEvent;\n controls.wrapWithFixedAnchor = wrapWithFixedAnchor;\n controls.wrapWithFireEvent = wrapWithFireEvent;\n controls.getLocalPoint = getLocalPoint;\n fabric.controlsUtils = controls;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), degreesToRadians = fabric.util.degreesToRadians, controls = fabric.controlsUtils;\n /**\n * Render a round control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */ function renderCircleControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize, ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize, transparentCorners = typeof styleOverride.transparentCorners !== \"undefined\" ? styleOverride.transparentCorners : fabricObject.transparentCorners, methodName = transparentCorners ? \"stroke\" : \"fill\", stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor), myLeft = left, myTop = top, size;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // as soon as fabric react v5, remove ie11, use proper ellipse code.\n if (xSize > ySize) {\n size = xSize;\n ctx.scale(1.0, ySize / xSize);\n myTop = top * xSize / ySize;\n } else if (ySize > xSize) {\n size = ySize;\n ctx.scale(xSize / ySize, 1.0);\n myLeft = left * ySize / xSize;\n } else {\n size = xSize;\n }\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.arc(myLeft, myTop, size / 2, 0, 2 * Math.PI, false);\n ctx[methodName]();\n if (stroke) {\n ctx.stroke();\n }\n ctx.restore();\n }\n /**\n * Render a square control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */ function renderSquareControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize, ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize, transparentCorners = typeof styleOverride.transparentCorners !== \"undefined\" ? styleOverride.transparentCorners : fabricObject.transparentCorners, methodName = transparentCorners ? \"stroke\" : \"fill\", stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor), xSizeBy2 = xSize / 2, ySizeBy2 = ySize / 2;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.translate(left, top);\n ctx.rotate(degreesToRadians(fabricObject.angle));\n // this does not work, and fixed with ( && ) does not make sense.\n // to have real transparent corners we need the controls on upperCanvas\n // transparentCorners || ctx.clearRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n ctx[methodName + \"Rect\"](-xSizeBy2, -ySizeBy2, xSize, ySize);\n if (stroke) {\n ctx.strokeRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n }\n ctx.restore();\n }\n controls.renderCircleControl = renderCircleControl;\n controls.renderSquareControl = renderSquareControl;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n function Control(options) {\n for(var i in options){\n this[i] = options[i];\n }\n }\n fabric.Control = Control;\n fabric.Control.prototype = /** @lends fabric.Control.prototype */ {\n /**\n * keep track of control visibility.\n * mainly for backward compatibility.\n * if you do not want to see a control, you can remove it\n * from the controlset.\n * @type {Boolean}\n * @default true\n */ visible: true,\n /**\n * Name of the action that the control will likely execute.\n * This is optional. FabricJS uses to identify what the user is doing for some\n * extra optimizations. If you are writing a custom control and you want to know\n * somewhere else in the code what is going on, you can use this string here.\n * you can also provide a custom getActionName if your control run multiple actions\n * depending on some external state.\n * default to scale since is the most common, used on 4 corners by default\n * @type {String}\n * @default 'scale'\n */ actionName: \"scale\",\n /**\n * Drawing angle of the control.\n * NOT used for now, but name marked as needed for internal logic\n * example: to reuse the same drawing function for different rotated controls\n * @type {Number}\n * @default 0\n */ angle: 0,\n /**\n * Relative position of the control. X\n * 0,0 is the center of the Object, while -0.5 (left) or 0.5 (right) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ x: 0,\n /**\n * Relative position of the control. Y\n * 0,0 is the center of the Object, while -0.5 (top) or 0.5 (bottom) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ y: 0,\n /**\n * Horizontal offset of the control from the defined position. In pixels\n * Positive offset moves the control to the right, negative to the left.\n * It used when you want to have position of control that does not scale with\n * the bounding box. Example: rotation control is placed at x:0, y: 0.5 on\n * the boundindbox, with an offset of 30 pixels vertically. Those 30 pixels will\n * stay 30 pixels no matter how the object is big. Another example is having 2\n * controls in the corner, that stay in the same position when the object scale.\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ offsetX: 0,\n /**\n * Vertical offset of the control from the defined position. In pixels\n * Positive offset moves the control to the bottom, negative to the top.\n * @type {Number}\n * @default 0\n */ offsetY: 0,\n /**\n * Sets the length of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */ sizeX: null,\n /**\n * Sets the height of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */ sizeY: null,\n /**\n * Sets the length of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */ touchSizeX: null,\n /**\n * Sets the height of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */ touchSizeY: null,\n /**\n * Css cursor style to display when the control is hovered.\n * if the method `cursorStyleHandler` is provided, this property is ignored.\n * @type {String}\n * @default 'crosshair'\n */ cursorStyle: \"crosshair\",\n /**\n * If controls has an offsetY or offsetX, draw a line that connects\n * the control to the bounding box\n * @type {Boolean}\n * @default false\n */ withConnection: false,\n /**\n * The control actionHandler, provide one to handle action ( control being moved )\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ actionHandler: function() {},\n /**\n * The control handler for mouse down, provide one to handle mouse down on control\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ mouseDownHandler: function() {},\n /**\n * The control mouseUpHandler, provide one to handle an effect on mouse up.\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ mouseUpHandler: function() {},\n /**\n * Returns control actionHandler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getActionHandler: function() {\n return this.actionHandler;\n },\n /**\n * Returns control mouseDown handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getMouseDownHandler: function() {\n return this.mouseDownHandler;\n },\n /**\n * Returns control mouseUp handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getMouseUpHandler: function() {\n return this.mouseUpHandler;\n },\n /**\n * Returns control cursorStyle for css using cursorStyle. If you need a more elaborate\n * function you can pass one in the constructor\n * the cursorStyle property\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */ cursorStyleHandler: function(eventData, control /* fabricObject */ ) {\n return control.cursorStyle;\n },\n /**\n * Returns the action name. The basic implementation just return the actionName property.\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */ getActionName: function(eventData, control /* fabricObject */ ) {\n return control.actionName;\n },\n /**\n * Returns controls visibility\n * @param {fabric.Object} object on which the control is displayed\n * @param {String} controlKey key where the control is memorized on the\n * @return {Boolean}\n */ getVisibility: function(fabricObject, controlKey) {\n var objectVisibility = fabricObject._controlsVisibility;\n if (objectVisibility && typeof objectVisibility[controlKey] !== \"undefined\") {\n return objectVisibility[controlKey];\n }\n return this.visible;\n },\n /**\n * Sets controls visibility\n * @param {Boolean} visibility for the object\n * @return {Void}\n */ setVisibility: function(visibility /* name, fabricObject */ ) {\n this.visible = visibility;\n },\n positionHandler: function(dim, finalMatrix /*, fabricObject, currentControl */ ) {\n var point = fabric.util.transformPoint({\n x: this.x * dim.x + this.offsetX,\n y: this.y * dim.y + this.offsetY\n }, finalMatrix);\n return point;\n },\n /**\n * Returns the coords for this control based on object values.\n * @param {Number} objectAngle angle from the fabric object holding the control\n * @param {Number} objectCornerSize cornerSize from the fabric object holding the control (or touchCornerSize if\n * isTouch is true)\n * @param {Number} centerX x coordinate where the control center should be\n * @param {Number} centerY y coordinate where the control center should be\n * @param {boolean} isTouch true if touch corner, false if normal corner\n */ calcCornerCoords: function(objectAngle, objectCornerSize, centerX, centerY, isTouch) {\n var cosHalfOffset, sinHalfOffset, cosHalfOffsetComp, sinHalfOffsetComp, xSize = isTouch ? this.touchSizeX : this.sizeX, ySize = isTouch ? this.touchSizeY : this.sizeY;\n if (xSize && ySize && xSize !== ySize) {\n // handle rectangular corners\n var controlTriangleAngle = Math.atan2(ySize, xSize);\n var cornerHypotenuse = Math.sqrt(xSize * xSize + ySize * ySize) / 2;\n var newTheta = controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n var newThetaComp = Math.PI / 2 - controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n cosHalfOffset = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = cornerHypotenuse * fabric.util.sin(newTheta);\n // use complementary angle for two corners\n cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newThetaComp);\n sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newThetaComp);\n } else {\n // handle square corners\n // use default object corner size unless size is defined\n var cornerSize = xSize && ySize ? xSize : objectCornerSize;\n /* 0.7071067812 stands for sqrt(2)/2 */ cornerHypotenuse = cornerSize * 0.7071067812;\n // complementary angles are equal since they're both 45 degrees\n var newTheta = fabric.util.degreesToRadians(45 - objectAngle);\n cosHalfOffset = cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newTheta);\n }\n return {\n tl: {\n x: centerX - sinHalfOffsetComp,\n y: centerY - cosHalfOffsetComp\n },\n tr: {\n x: centerX + cosHalfOffset,\n y: centerY - sinHalfOffset\n },\n bl: {\n x: centerX - cosHalfOffset,\n y: centerY + sinHalfOffset\n },\n br: {\n x: centerX + sinHalfOffsetComp,\n y: centerY + cosHalfOffsetComp\n }\n };\n },\n /**\n * Render function for the control.\n * When this function runs the context is unscaled. unrotate. Just retina scaled.\n * all the functions will have to translate to the point left,top before starting Drawing\n * if they want to draw a control where the position is detected.\n * left and top are the result of the positionHandler function\n * @param {RenderingContext2D} ctx the context where the control will be drawn\n * @param {Number} left position of the canvas where we are about to render the control.\n * @param {Number} top position of the canvas where we are about to render the control.\n * @param {Object} styleOverride\n * @param {fabric.Object} fabricObject the object where the control is about to be rendered\n */ render: function(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n switch(styleOverride.cornerStyle || fabricObject.cornerStyle){\n case \"circle\":\n fabric.controlsUtils.renderCircleControl.call(this, ctx, left, top, styleOverride, fabricObject);\n break;\n default:\n fabric.controlsUtils.renderSquareControl.call(this, ctx, left, top, styleOverride, fabricObject);\n }\n }\n };\n})( true ? exports : 0);\n(function() {\n \"use strict\";\n if (fabric.StaticCanvas) {\n fabric.warn(\"fabric.StaticCanvas is already defined.\");\n return;\n }\n // aliases for faster resolution\n var extend = fabric.util.object.extend, getElementOffset = fabric.util.getElementOffset, removeFromArray = fabric.util.removeFromArray, toFixed = fabric.util.toFixed, transformPoint = fabric.util.transformPoint, invertTransform = fabric.util.invertTransform, getNodeCanvas = fabric.util.getNodeCanvas, createCanvasElement = fabric.util.createCanvasElement, CANVAS_INIT_ERROR = new Error(\"Could not initialize `canvas` element\");\n /**\n * Static canvas class\n * @class fabric.StaticCanvas\n * @mixes fabric.Collection\n * @mixes fabric.Observable\n * @see {@link http://fabricjs.com/static_canvas|StaticCanvas demo}\n * @see {@link fabric.StaticCanvas#initialize} for constructor definition\n * @fires before:render\n * @fires after:render\n * @fires canvas:cleared\n * @fires object:added\n * @fires object:removed\n */ fabric.StaticCanvas = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(el, options) {\n options || (options = {});\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n },\n /**\n * Background color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setBackgroundColor}.\n * @type {(String|fabric.Pattern)}\n * @default\n */ backgroundColor: \"\",\n /**\n * Background image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as background, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */ backgroundImage: null,\n /**\n * Overlay color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setOverlayColor}\n * @since 1.3.9\n * @type {(String|fabric.Pattern)}\n * @default\n */ overlayColor: \"\",\n /**\n * Overlay image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as overlay, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */ overlayImage: null,\n /**\n * Indicates whether toObject/toDatalessObject should include default values\n * if set to false, takes precedence over the object value.\n * @type Boolean\n * @default\n */ includeDefaultValues: true,\n /**\n * Indicates whether objects' state should be saved\n * @type Boolean\n * @default\n */ stateful: false,\n /**\n * Indicates whether {@link fabric.Collection.add}, {@link fabric.Collection.insertAt} and {@link fabric.Collection.remove},\n * {@link fabric.StaticCanvas.moveTo}, {@link fabric.StaticCanvas.clear} and many more, should also re-render canvas.\n * Disabling this option will not give a performance boost when adding/removing a lot of objects to/from canvas at once\n * since the renders are quequed and executed one per frame.\n * Disabling is suggested anyway and managing the renders of the app manually is not a big effort ( canvas.requestRenderAll() )\n * Left default to true to do not break documentation and old app, fiddles.\n * @type Boolean\n * @default\n */ renderOnAddRemove: true,\n /**\n * Indicates whether object controls (borders/controls) are rendered above overlay image\n * @type Boolean\n * @default\n */ controlsAboveOverlay: false,\n /**\n * Indicates whether the browser can be scrolled when using a touchscreen and dragging on the canvas\n * @type Boolean\n * @default\n */ allowTouchScrolling: false,\n /**\n * Indicates whether this canvas will use image smoothing, this is on by default in browsers\n * @type Boolean\n * @default\n */ imageSmoothingEnabled: true,\n /**\n * The transformation (a Canvas 2D API transform matrix) which focuses the viewport\n * @type Array\n * @example Default transform\n * canvas.viewportTransform = [1, 0, 0, 1, 0, 0];\n * @example Scale by 70% and translate toward bottom-right by 50, without skewing\n * canvas.viewportTransform = [0.7, 0, 0, 0.7, 50, 50];\n * @default\n */ viewportTransform: fabric.iMatrix.concat(),\n /**\n * if set to false background image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */ backgroundVpt: true,\n /**\n * if set to false overlya image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */ overlayVpt: true,\n /**\n * When true, canvas is scaled by devicePixelRatio for better rendering on retina screens\n * @type Boolean\n * @default\n */ enableRetinaScaling: true,\n /**\n * Describe canvas element extension over design\n * properties are tl,tr,bl,br.\n * if canvas is not zoomed/panned those points are the four corner of canvas\n * if canvas is viewportTransformed you those points indicate the extension\n * of canvas element in plain untrasformed coordinates\n * The coordinates get updated with @method calcViewportBoundaries.\n * @memberOf fabric.StaticCanvas.prototype\n */ vptCoords: {},\n /**\n * Based on vptCoords and object.aCoords, skip rendering of objects that\n * are not included in current viewport.\n * May greatly help in applications with crowded canvas and use of zoom/pan\n * If One of the corner of the bounding box of the object is on the canvas\n * the objects get rendered.\n * @memberOf fabric.StaticCanvas.prototype\n * @type Boolean\n * @default\n */ skipOffscreen: true,\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the canvas has rendered, and the context is placed in the\n * top left corner of the canvas.\n * clipPath will clip away controls, if you do not want this to happen use controlsAboveOverlay = true\n * @type fabric.Object\n */ clipPath: undefined,\n /**\n * @private\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n */ _initStatic: function(el, options) {\n var cb = this.requestRenderAllBound;\n this._objects = [];\n this._createLowerCanvas(el);\n this._initOptions(options);\n // only initialize retina scaling once\n if (!this.interactive) {\n this._initRetinaScaling();\n }\n if (options.overlayImage) {\n this.setOverlayImage(options.overlayImage, cb);\n }\n if (options.backgroundImage) {\n this.setBackgroundImage(options.backgroundImage, cb);\n }\n if (options.backgroundColor) {\n this.setBackgroundColor(options.backgroundColor, cb);\n }\n if (options.overlayColor) {\n this.setOverlayColor(options.overlayColor, cb);\n }\n this.calcOffset();\n },\n /**\n * @private\n */ _isRetinaScaling: function() {\n return fabric.devicePixelRatio > 1 && this.enableRetinaScaling;\n },\n /**\n * @private\n * @return {Number} retinaScaling if applied, otherwise 1;\n */ getRetinaScaling: function() {\n return this._isRetinaScaling() ? Math.max(1, fabric.devicePixelRatio) : 1;\n },\n /**\n * @private\n */ _initRetinaScaling: function() {\n if (!this._isRetinaScaling()) {\n return;\n }\n var scaleRatio = fabric.devicePixelRatio;\n this.__initRetinaScaling(scaleRatio, this.lowerCanvasEl, this.contextContainer);\n if (this.upperCanvasEl) {\n this.__initRetinaScaling(scaleRatio, this.upperCanvasEl, this.contextTop);\n }\n },\n __initRetinaScaling: function(scaleRatio, canvas, context) {\n canvas.setAttribute(\"width\", this.width * scaleRatio);\n canvas.setAttribute(\"height\", this.height * scaleRatio);\n context.scale(scaleRatio, scaleRatio);\n },\n /**\n * Calculates canvas element offset relative to the document\n * This method is also attached as \"resize\" event handler of window\n * @return {fabric.Canvas} instance\n * @chainable\n */ calcOffset: function() {\n this._offset = getElementOffset(this.lowerCanvasEl);\n return this;\n },\n /**\n * Sets {@link fabric.StaticCanvas#overlayImage|overlay image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set overlay to\n * @param {Function} callback callback to invoke when image is loaded and set as an overlay\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|overlay image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/MnzHT/|jsFiddle demo}\n * @example Normal overlayImage with left/top = 0\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage with different properties\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched overlayImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/jail_cell_bars.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched overlayImage #2 - width/height correspond to canvas width/height\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage loaded from cross-origin\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */ setOverlayImage: function(image, callback, options) {\n return this.__setBgOverlayImage(\"overlayImage\", image, callback, options);\n },\n /**\n * Sets {@link fabric.StaticCanvas#backgroundImage|background image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set background to\n * @param {Function} callback Callback to invoke when image is loaded and set as background\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|background image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/djnr8o7a/28/|jsFiddle demo}\n * @example Normal backgroundImage with left/top = 0\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage with different properties\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched backgroundImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/honey_im_subtle.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setBackgroundImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched backgroundImage #2 - width/height correspond to canvas width/height\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage loaded from cross-origin\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */ // TODO: fix stretched examples\n setBackgroundImage: function(image, callback, options) {\n return this.__setBgOverlayImage(\"backgroundImage\", image, callback, options);\n },\n /**\n * Sets {@link fabric.StaticCanvas#overlayColor|foreground color} for this canvas\n * @param {(String|fabric.Pattern)} overlayColor Color or pattern to set foreground color to\n * @param {Function} callback Callback to invoke when foreground color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/pB55h/|jsFiddle demo}\n * @example Normal overlayColor - color value\n * canvas.setOverlayColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor with repeat and offset\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */ setOverlayColor: function(overlayColor, callback) {\n return this.__setBgOverlayColor(\"overlayColor\", overlayColor, callback);\n },\n /**\n * Sets {@link fabric.StaticCanvas#backgroundColor|background color} for this canvas\n * @param {(String|fabric.Pattern)} backgroundColor Color or pattern to set background color to\n * @param {Function} callback Callback to invoke when background color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/hXzvk/|jsFiddle demo}\n * @example Normal backgroundColor - color value\n * canvas.setBackgroundColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor with repeat and offset\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */ setBackgroundColor: function(backgroundColor, callback) {\n return this.__setBgOverlayColor(\"backgroundColor\", backgroundColor, callback);\n },\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundImage|backgroundImage}\n * or {@link fabric.StaticCanvas#overlayImage|overlayImage})\n * @param {(fabric.Image|String|null)} image fabric.Image instance, URL of an image or null to set background or overlay to\n * @param {Function} callback Callback to invoke when image is loaded and set as background or overlay. The first argument is the created image, the second argument is a flag indicating whether an error occurred or not.\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|image}.\n */ __setBgOverlayImage: function(property, image, callback, options) {\n if (typeof image === \"string\") {\n fabric.util.loadImage(image, function(img, isError) {\n if (img) {\n var instance = new fabric.Image(img, options);\n this[property] = instance;\n instance.canvas = this;\n }\n callback && callback(img, isError);\n }, this, options && options.crossOrigin);\n } else {\n options && image.setOptions(options);\n this[property] = image;\n image && (image.canvas = this);\n callback && callback(image, false);\n }\n return this;\n },\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundColor|backgroundColor}\n * or {@link fabric.StaticCanvas#overlayColor|overlayColor})\n * @param {(Object|String|null)} color Object with pattern information, color value or null\n * @param {Function} [callback] Callback is invoked when color is set\n */ __setBgOverlayColor: function(property, color, callback) {\n this[property] = color;\n this._initGradient(color, property);\n this._initPattern(color, property, callback);\n return this;\n },\n /**\n * @private\n */ _createCanvasElement: function() {\n var element = createCanvasElement();\n if (!element) {\n throw CANVAS_INIT_ERROR;\n }\n if (!element.style) {\n element.style = {};\n }\n if (typeof element.getContext === \"undefined\") {\n throw CANVAS_INIT_ERROR;\n }\n return element;\n },\n /**\n * @private\n * @param {Object} [options] Options object\n */ _initOptions: function(options) {\n var lowerCanvasEl = this.lowerCanvasEl;\n this._setOptions(options);\n this.width = this.width || parseInt(lowerCanvasEl.width, 10) || 0;\n this.height = this.height || parseInt(lowerCanvasEl.height, 10) || 0;\n if (!this.lowerCanvasEl.style) {\n return;\n }\n lowerCanvasEl.width = this.width;\n lowerCanvasEl.height = this.height;\n lowerCanvasEl.style.width = this.width + \"px\";\n lowerCanvasEl.style.height = this.height + \"px\";\n this.viewportTransform = this.viewportTransform.slice();\n },\n /**\n * Creates a bottom canvas\n * @private\n * @param {HTMLElement} [canvasEl]\n */ _createLowerCanvas: function(canvasEl) {\n // canvasEl === 'HTMLCanvasElement' does not work on jsdom/node\n if (canvasEl && canvasEl.getContext) {\n this.lowerCanvasEl = canvasEl;\n } else {\n this.lowerCanvasEl = fabric.util.getById(canvasEl) || this._createCanvasElement();\n }\n fabric.util.addClass(this.lowerCanvasEl, \"lower-canvas\");\n this._originalCanvasStyle = this.lowerCanvasEl.style;\n if (this.interactive) {\n this._applyCanvasStyle(this.lowerCanvasEl);\n }\n this.contextContainer = this.lowerCanvasEl.getContext(\"2d\");\n },\n /**\n * Returns canvas width (in px)\n * @return {Number}\n */ getWidth: function() {\n return this.width;\n },\n /**\n * Returns canvas height (in px)\n * @return {Number}\n */ getHeight: function() {\n return this.height;\n },\n /**\n * Sets width of this canvas instance\n * @param {Number|String} value Value to set width to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setWidth: function(value, options) {\n return this.setDimensions({\n width: value\n }, options);\n },\n /**\n * Sets height of this canvas instance\n * @param {Number|String} value Value to set height to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setHeight: function(value, options) {\n return this.setDimensions({\n height: value\n }, options);\n },\n /**\n * Sets dimensions (width, height) of this canvas instance. when options.cssOnly flag active you should also supply the unit of measure (px/%/em)\n * @param {Object} dimensions Object with width/height properties\n * @param {Number|String} [dimensions.width] Width of canvas element\n * @param {Number|String} [dimensions.height] Height of canvas element\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ setDimensions: function(dimensions, options) {\n var cssValue;\n options = options || {};\n for(var prop in dimensions){\n cssValue = dimensions[prop];\n if (!options.cssOnly) {\n this._setBackstoreDimension(prop, dimensions[prop]);\n cssValue += \"px\";\n this.hasLostContext = true;\n }\n if (!options.backstoreOnly) {\n this._setCssDimension(prop, cssValue);\n }\n }\n if (this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._setBrushStyles(this.contextTop);\n }\n this._initRetinaScaling();\n this.calcOffset();\n if (!options.cssOnly) {\n this.requestRenderAll();\n }\n return this;\n },\n /**\n * Helper for setting width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {Number} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ _setBackstoreDimension: function(prop, value) {\n this.lowerCanvasEl[prop] = value;\n if (this.upperCanvasEl) {\n this.upperCanvasEl[prop] = value;\n }\n if (this.cacheCanvasEl) {\n this.cacheCanvasEl[prop] = value;\n }\n this[prop] = value;\n return this;\n },\n /**\n * Helper for setting css width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {String} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ _setCssDimension: function(prop, value) {\n this.lowerCanvasEl.style[prop] = value;\n if (this.upperCanvasEl) {\n this.upperCanvasEl.style[prop] = value;\n }\n if (this.wrapperEl) {\n this.wrapperEl.style[prop] = value;\n }\n return this;\n },\n /**\n * Returns canvas zoom level\n * @return {Number}\n */ getZoom: function() {\n return this.viewportTransform[0];\n },\n /**\n * Sets viewport transformation of this canvas instance\n * @param {Array} vpt a Canvas 2D API transform matrix\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setViewportTransform: function(vpt) {\n var activeObject = this._activeObject, backgroundObject = this.backgroundImage, overlayObject = this.overlayImage, object, i, len;\n this.viewportTransform = vpt;\n for(i = 0, len = this._objects.length; i < len; i++){\n object = this._objects[i];\n object.group || object.setCoords(true);\n }\n if (activeObject) {\n activeObject.setCoords();\n }\n if (backgroundObject) {\n backgroundObject.setCoords(true);\n }\n if (overlayObject) {\n overlayObject.setCoords(true);\n }\n this.calcViewportBoundaries();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Sets zoom level of this canvas instance, the zoom centered around point\n * meaning that following zoom to point with the same point will have the visual\n * effect of the zoom originating from that point. The point won't move.\n * It has nothing to do with canvas center or visual center of the viewport.\n * @param {fabric.Point} point to zoom with respect to\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */ zoomToPoint: function(point, value) {\n // TODO: just change the scale, preserve other transformations\n var before = point, vpt = this.viewportTransform.slice(0);\n point = transformPoint(point, invertTransform(this.viewportTransform));\n vpt[0] = value;\n vpt[3] = value;\n var after = transformPoint(point, vpt);\n vpt[4] += before.x - after.x;\n vpt[5] += before.y - after.y;\n return this.setViewportTransform(vpt);\n },\n /**\n * Sets zoom level of this canvas instance\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setZoom: function(value) {\n this.zoomToPoint(new fabric.Point(0, 0), value);\n return this;\n },\n /**\n * Pan viewport so as to place point at top left corner of canvas\n * @param {fabric.Point} point to move to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ absolutePan: function(point) {\n var vpt = this.viewportTransform.slice(0);\n vpt[4] = -point.x;\n vpt[5] = -point.y;\n return this.setViewportTransform(vpt);\n },\n /**\n * Pans viewpoint relatively\n * @param {fabric.Point} point (position vector) to move by\n * @return {fabric.Canvas} instance\n * @chainable true\n */ relativePan: function(point) {\n return this.absolutePan(new fabric.Point(-point.x - this.viewportTransform[4], -point.y - this.viewportTransform[5]));\n },\n /**\n * Returns <canvas> element corresponding to this instance\n * @return {HTMLCanvasElement}\n */ getElement: function() {\n return this.lowerCanvasEl;\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was added\n */ _onObjectAdded: function(obj) {\n this.stateful && obj.setupState();\n obj._set(\"canvas\", this);\n obj.setCoords();\n this.fire(\"object:added\", {\n target: obj\n });\n obj.fire(\"added\");\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */ _onObjectRemoved: function(obj) {\n this.fire(\"object:removed\", {\n target: obj\n });\n obj.fire(\"removed\");\n delete obj.canvas;\n },\n /**\n * Clears specified context of canvas element\n * @param {CanvasRenderingContext2D} ctx Context to clear\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clearContext: function(ctx) {\n ctx.clearRect(0, 0, this.width, this.height);\n return this;\n },\n /**\n * Returns context of canvas where objects are drawn\n * @return {CanvasRenderingContext2D}\n */ getContext: function() {\n return this.contextContainer;\n },\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clear: function() {\n this.remove.apply(this, this.getObjects());\n this.backgroundImage = null;\n this.overlayImage = null;\n this.backgroundColor = \"\";\n this.overlayColor = \"\";\n if (this._hasITextHandlers) {\n this.off(\"mouse:up\", this._mouseUpITextHandler);\n this._iTextInstances = null;\n this._hasITextHandlers = false;\n }\n this.clearContext(this.contextContainer);\n this.fire(\"canvas:cleared\");\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Renders the canvas\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAll: function() {\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._objects);\n return this;\n },\n /**\n * Function created to be instance bound at initialization\n * used in requestAnimationFrame rendering\n * Let the fabricJS call it. If you call it manually you could have more\n * animationFrame stacking on to of each other\n * for an imperative rendering, use canvas.renderAll\n * @private\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAndReset: function() {\n this.isRendering = 0;\n this.renderAll();\n },\n /**\n * Append a renderAll request to next animation frame.\n * unless one is already in progress, in that case nothing is done\n * a boolean flag will avoid appending more.\n * @return {fabric.Canvas} instance\n * @chainable\n */ requestRenderAll: function() {\n if (!this.isRendering) {\n this.isRendering = fabric.util.requestAnimFrame(this.renderAndResetBound);\n }\n return this;\n },\n /**\n * Calculate the position of the 4 corner of canvas with current viewportTransform.\n * helps to determinate when an object is in the current rendering viewport using\n * object absolute coordinates ( aCoords )\n * @return {Object} points.tl\n * @chainable\n */ calcViewportBoundaries: function() {\n var points = {}, width = this.width, height = this.height, iVpt = invertTransform(this.viewportTransform);\n points.tl = transformPoint({\n x: 0,\n y: 0\n }, iVpt);\n points.br = transformPoint({\n x: width,\n y: height\n }, iVpt);\n points.tr = new fabric.Point(points.br.x, points.tl.y);\n points.bl = new fabric.Point(points.tl.x, points.br.y);\n this.vptCoords = points;\n return points;\n },\n cancelRequestedRender: function() {\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n },\n /**\n * Renders background, objects, overlay and controls.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Array} objects to render\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderCanvas: function(ctx, objects) {\n var v = this.viewportTransform, path = this.clipPath;\n this.cancelRequestedRender();\n this.calcViewportBoundaries();\n this.clearContext(ctx);\n fabric.util.setImageSmoothing(ctx, this.imageSmoothingEnabled);\n this.fire(\"before:render\", {\n ctx: ctx\n });\n this._renderBackground(ctx);\n ctx.save();\n //apply viewport transform once for all rendering process\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n this._renderObjects(ctx, objects);\n ctx.restore();\n if (!this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n if (path) {\n path.canvas = this;\n // needed to setup a couple of variables\n path.shouldCache();\n path._transformDone = true;\n path.renderCache({\n forClipping: true\n });\n this.drawClipPathOnCanvas(ctx);\n }\n this._renderOverlay(ctx);\n if (this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n this.fire(\"after:render\", {\n ctx: ctx\n });\n },\n /**\n * Paint the cached clipPath on the lowerCanvasEl\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawClipPathOnCanvas: function(ctx) {\n var v = this.viewportTransform, path = this.clipPath;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4;\n ctx.globalCompositeOperation = \"destination-in\";\n path.transform(ctx);\n ctx.scale(1 / path.zoomX, 1 / path.zoomY);\n ctx.drawImage(path._cacheCanvas, -path.cacheTranslationX, -path.cacheTranslationY);\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} objects to render\n */ _renderObjects: function(ctx, objects) {\n var i, len;\n for(i = 0, len = objects.length; i < len; ++i){\n objects[i] && objects[i].render(ctx);\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {string} property 'background' or 'overlay'\n */ _renderBackgroundOrOverlay: function(ctx, property) {\n var fill = this[property + \"Color\"], object = this[property + \"Image\"], v = this.viewportTransform, needsVpt = this[property + \"Vpt\"];\n if (!fill && !object) {\n return;\n }\n if (fill) {\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.width, 0);\n ctx.lineTo(this.width, this.height);\n ctx.lineTo(0, this.height);\n ctx.closePath();\n ctx.fillStyle = fill.toLive ? fill.toLive(ctx, this) : fill;\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n ctx.transform(1, 0, 0, 1, fill.offsetX || 0, fill.offsetY || 0);\n var m = fill.gradientTransform || fill.patternTransform;\n m && ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n ctx.fill();\n ctx.restore();\n }\n if (object) {\n ctx.save();\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n object.render(ctx);\n ctx.restore();\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderBackground: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, \"background\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderOverlay: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, \"overlay\");\n },\n /**\n * Returns coordinates of a center of canvas.\n * Returned value is an object with top and left properties\n * @return {Object} object with \"top\" and \"left\" number values\n * @deprecated migrate to `getCenterPoint`\n */ getCenter: function() {\n return {\n top: this.height / 2,\n left: this.width / 2\n };\n },\n /**\n * Returns coordinates of a center of canvas.\n * @return {fabric.Point} \n */ getCenterPoint: function() {\n return new fabric.Point(this.width / 2, this.height / 2);\n },\n /**\n * Centers object horizontally in the canvas\n * @param {fabric.Object} object Object to center horizontally\n * @return {fabric.Canvas} thisArg\n */ centerObjectH: function(object) {\n return this._centerObject(object, new fabric.Point(this.getCenterPoint().x, object.getCenterPoint().y));\n },\n /**\n * Centers object vertically in the canvas\n * @param {fabric.Object} object Object to center vertically\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ centerObjectV: function(object) {\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, this.getCenterPoint().y));\n },\n /**\n * Centers object vertically and horizontally in the canvas\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ centerObject: function(object) {\n var center = this.getCenterPoint();\n return this._centerObject(object, center);\n },\n /**\n * Centers object vertically and horizontally in the viewport\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObject: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, vpCenter);\n },\n /**\n * Centers object horizontally in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObjectH: function(object) {\n var vpCenter = this.getVpCenter();\n this._centerObject(object, new fabric.Point(vpCenter.x, object.getCenterPoint().y));\n return this;\n },\n /**\n * Centers object Vertically in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObjectV: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, vpCenter.y));\n },\n /**\n * Calculate the point in canvas that correspond to the center of actual viewport.\n * @return {fabric.Point} vpCenter, viewport center\n * @chainable\n */ getVpCenter: function() {\n var center = this.getCenterPoint(), iVpt = invertTransform(this.viewportTransform);\n return transformPoint(center, iVpt);\n },\n /**\n * @private\n * @param {fabric.Object} object Object to center\n * @param {fabric.Point} center Center point\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ _centerObject: function(object, center) {\n object.setPositionByOrigin(center, \"center\", \"center\");\n object.setCoords();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Returns dataless JSON representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {String} json string\n */ toDatalessJSON: function(propertiesToInclude) {\n return this.toDatalessObject(propertiesToInclude);\n },\n /**\n * Returns object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return this._toObjectMethod(\"toObject\", propertiesToInclude);\n },\n /**\n * Returns dataless object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n return this._toObjectMethod(\"toDatalessObject\", propertiesToInclude);\n },\n /**\n * @private\n */ _toObjectMethod: function(methodName, propertiesToInclude) {\n var clipPath = this.clipPath, data = {\n version: fabric.version,\n objects: this._toObjects(methodName, propertiesToInclude)\n };\n if (clipPath && !clipPath.excludeFromExport) {\n data.clipPath = this._toObject(this.clipPath, methodName, propertiesToInclude);\n }\n extend(data, this.__serializeBgOverlay(methodName, propertiesToInclude));\n fabric.util.populateWithProperties(this, data, propertiesToInclude);\n return data;\n },\n /**\n * @private\n */ _toObjects: function(methodName, propertiesToInclude) {\n return this._objects.filter(function(object) {\n return !object.excludeFromExport;\n }).map(function(instance) {\n return this._toObject(instance, methodName, propertiesToInclude);\n }, this);\n },\n /**\n * @private\n */ _toObject: function(instance, methodName, propertiesToInclude) {\n var originalValue;\n if (!this.includeDefaultValues) {\n originalValue = instance.includeDefaultValues;\n instance.includeDefaultValues = false;\n }\n var object = instance[methodName](propertiesToInclude);\n if (!this.includeDefaultValues) {\n instance.includeDefaultValues = originalValue;\n }\n return object;\n },\n /**\n * @private\n */ __serializeBgOverlay: function(methodName, propertiesToInclude) {\n var data = {}, bgImage = this.backgroundImage, overlayImage = this.overlayImage, bgColor = this.backgroundColor, overlayColor = this.overlayColor;\n if (bgColor && bgColor.toObject) {\n if (!bgColor.excludeFromExport) {\n data.background = bgColor.toObject(propertiesToInclude);\n }\n } else if (bgColor) {\n data.background = bgColor;\n }\n if (overlayColor && overlayColor.toObject) {\n if (!overlayColor.excludeFromExport) {\n data.overlay = overlayColor.toObject(propertiesToInclude);\n }\n } else if (overlayColor) {\n data.overlay = overlayColor;\n }\n if (bgImage && !bgImage.excludeFromExport) {\n data.backgroundImage = this._toObject(bgImage, methodName, propertiesToInclude);\n }\n if (overlayImage && !overlayImage.excludeFromExport) {\n data.overlayImage = this._toObject(overlayImage, methodName, propertiesToInclude);\n }\n return data;\n },\n /**\n * Moves an object or the objects of a multiple selection\n * to the bottom of the stack of drawn objects\n * @param {fabric.Object} object Object to send to back\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ sendToBack: function(object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, objs;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = objs.length; i--;){\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.unshift(obj);\n }\n } else {\n removeFromArray(this._objects, object);\n this._objects.unshift(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Moves an object or the objects of a multiple selection\n * to the top of the stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ bringToFront: function(object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, objs;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = 0; i < objs.length; i++){\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.push(obj);\n }\n } else {\n removeFromArray(this._objects, object);\n this._objects.push(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Moves an object or a selection down in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in behind\n * the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ sendBackwards: function(object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, idx, newIdx, objs, objsMoved = 0;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = 0; i < objs.length; i++){\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx > 0 + objsMoved) {\n newIdx = idx - 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n } else {\n idx = this._objects.indexOf(object);\n if (idx !== 0) {\n // if object is not on the bottom of stack\n newIdx = this._findNewLowerIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * @private\n */ _findNewLowerIndex: function(object, idx, intersecting) {\n var newIdx, i;\n if (intersecting) {\n newIdx = idx;\n // traverse down the stack looking for the nearest intersecting object\n for(i = idx - 1; i >= 0; --i){\n var isIntersecting = object.intersectsWithObject(this._objects[i]) || object.isContainedWithinObject(this._objects[i]) || this._objects[i].isContainedWithinObject(object);\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n } else {\n newIdx = idx - 1;\n }\n return newIdx;\n },\n /**\n * Moves an object or a selection up in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in front\n * of the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ bringForward: function(object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, idx, newIdx, objs, objsMoved = 0;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = objs.length; i--;){\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx < this._objects.length - 1 - objsMoved) {\n newIdx = idx + 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n } else {\n idx = this._objects.indexOf(object);\n if (idx !== this._objects.length - 1) {\n // if object is not on top of stack (last item in an array)\n newIdx = this._findNewUpperIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * @private\n */ _findNewUpperIndex: function(object, idx, intersecting) {\n var newIdx, i, len;\n if (intersecting) {\n newIdx = idx;\n // traverse up the stack looking for the nearest intersecting object\n for(i = idx + 1, len = this._objects.length; i < len; ++i){\n var isIntersecting = object.intersectsWithObject(this._objects[i]) || object.isContainedWithinObject(this._objects[i]) || this._objects[i].isContainedWithinObject(object);\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n } else {\n newIdx = idx + 1;\n }\n return newIdx;\n },\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @param {Number} index Position to move to\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ moveTo: function(object, index) {\n removeFromArray(this._objects, object);\n this._objects.splice(index, 0, object);\n return this.renderOnAddRemove && this.requestRenderAll();\n },\n /**\n * Clears a canvas element and dispose objects\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ dispose: function() {\n // cancel eventually ongoing renders\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n if (this.backgroundImage && this.backgroundImage.dispose) {\n this.backgroundImage.dispose();\n }\n this.backgroundImage = null;\n if (this.overlayImage && this.overlayImage.dispose) {\n this.overlayImage.dispose();\n }\n this.overlayImage = null;\n this._iTextInstances = null;\n this.contextContainer = null;\n // restore canvas style\n this.lowerCanvasEl.classList.remove(\"lower-canvas\");\n fabric.util.setStyle(this.lowerCanvasEl, this._originalCanvasStyle);\n delete this._originalCanvasStyle;\n // restore canvas size to original size in case retina scaling was applied\n this.lowerCanvasEl.setAttribute(\"width\", this.width);\n this.lowerCanvasEl.setAttribute(\"height\", this.height);\n fabric.util.cleanUpJsdomNode(this.lowerCanvasEl);\n this.lowerCanvasEl = undefined;\n return this;\n },\n /**\n * Returns a string representation of an instance\n * @return {String} string representation of an instance\n */ toString: function() {\n return \"#\";\n }\n });\n extend(fabric.StaticCanvas.prototype, fabric.Observable);\n extend(fabric.StaticCanvas.prototype, fabric.Collection);\n extend(fabric.StaticCanvas.prototype, fabric.DataURLExporter);\n extend(fabric.StaticCanvas, /** @lends fabric.StaticCanvas */ {\n /**\n * @static\n * @type String\n * @default\n */ EMPTY_JSON: '{\"objects\": [], \"background\": \"white\"}',\n /**\n * Provides a way to check support of some of the canvas methods\n * (either those of HTMLCanvasElement itself, or rendering context)\n *\n * @param {String} methodName Method to check support for;\n * Could be one of \"setLineDash\"\n * @return {Boolean | null} `true` if method is supported (or at least exists),\n * `null` if canvas element or context can not be initialized\n */ supports: function(methodName) {\n var el = createCanvasElement();\n if (!el || !el.getContext) {\n return null;\n }\n var ctx = el.getContext(\"2d\");\n if (!ctx) {\n return null;\n }\n switch(methodName){\n case \"setLineDash\":\n return typeof ctx.setLineDash !== \"undefined\";\n default:\n return null;\n }\n }\n });\n /**\n * Returns Object representation of canvas\n * this alias is provided because if you call JSON.stringify on an instance,\n * the toJSON object will be invoked if it exists.\n * Having a toJSON method means you can do JSON.stringify(myCanvas)\n * @function\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON compatible object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#serialization}\n * @see {@link http://jsfiddle.net/fabricjs/pec86/|jsFiddle demo}\n * @example JSON without additional properties\n * var json = canvas.toJSON();\n * @example JSON with additional properties included\n * var json = canvas.toJSON(['lockMovementX', 'lockMovementY', 'lockRotation', 'lockScalingX', 'lockScalingY']);\n * @example JSON without default values\n * canvas.includeDefaultValues = false;\n * var json = canvas.toJSON();\n */ fabric.StaticCanvas.prototype.toJSON = fabric.StaticCanvas.prototype.toObject;\n if (fabric.isLikelyNode) {\n fabric.StaticCanvas.prototype.createPNGStream = function() {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createPNGStream();\n };\n fabric.StaticCanvas.prototype.createJPEGStream = function(opts) {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createJPEGStream(opts);\n };\n }\n})();\n/**\n * BaseBrush class\n * @class fabric.BaseBrush\n * @see {@link http://fabricjs.com/freedrawing|Freedrawing demo}\n */ fabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype */ {\n /**\n * Color of a brush\n * @type String\n * @default\n */ color: \"rgb(0, 0, 0)\",\n /**\n * Width of a brush, has to be a Number, no string literals\n * @type Number\n * @default\n */ width: 1,\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property replaces \"shadowColor\" (String), \"shadowOffsetX\" (Number),\n * \"shadowOffsetY\" (Number) and \"shadowBlur\" (Number) since v1.2.12\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * Line endings style of a brush (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */ strokeLineCap: \"round\",\n /**\n * Corner style of a brush (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */ strokeLineJoin: \"round\",\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of a brush's\n * @type Number\n * @default\n */ strokeMiterLimit: 10,\n /**\n * Stroke Dash Array.\n * @type Array\n * @default\n */ strokeDashArray: null,\n /**\n * When `true`, the free drawing is limited to the whiteboard size. Default to false.\n * @type Boolean\n * @default false\n */ limitedToCanvasSize: false,\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n ctx.strokeStyle = this.color;\n ctx.lineWidth = this.width;\n ctx.lineCap = this.strokeLineCap;\n ctx.miterLimit = this.strokeMiterLimit;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.setLineDash(this.strokeDashArray || []);\n },\n /**\n * Sets the transformation on given context\n * @param {RenderingContext2d} ctx context to render on\n * @private\n */ _saveAndTransform: function(ctx) {\n var v = this.canvas.viewportTransform;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n },\n /**\n * Sets brush shadow styles\n * @private\n */ _setShadow: function() {\n if (!this.shadow) {\n return;\n }\n var canvas = this.canvas, shadow = this.shadow, ctx = canvas.contextTop, zoom = canvas.getZoom();\n if (canvas && canvas._isRetinaScaling()) {\n zoom *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * zoom;\n ctx.shadowOffsetX = shadow.offsetX * zoom;\n ctx.shadowOffsetY = shadow.offsetY * zoom;\n },\n needsFullRender: function() {\n var color = new fabric.Color(this.color);\n return color.getAlpha() < 1 || !!this.shadow;\n },\n /**\n * Removes brush shadow styles\n * @private\n */ _resetShadow: function() {\n var ctx = this.canvas.contextTop;\n ctx.shadowColor = \"\";\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n /**\n * Check is pointer is outside canvas boundaries\n * @param {Object} pointer\n * @private\n */ _isOutSideCanvas: function(pointer) {\n return pointer.x < 0 || pointer.x > this.canvas.getWidth() || pointer.y < 0 || pointer.y > this.canvas.getHeight();\n }\n});\n(function() {\n /**\n * PencilBrush class\n * @class fabric.PencilBrush\n * @extends fabric.BaseBrush\n */ fabric.PencilBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.PencilBrush.prototype */ {\n /**\n * Discard points that are less than `decimate` pixel distant from each other\n * @type Number\n * @default 0.4\n */ decimate: 0.4,\n /**\n * Draws a straight line between last recorded point to current pointer\n * Used for `shift` functionality\n *\n * @type boolean\n * @default false\n */ drawStraightLine: false,\n /**\n * The event modifier key that makes the brush draw a straight line.\n * If `null` or 'none' or any other string that is not a modifier key the feature is disabled.\n * @type {'altKey' | 'shiftKey' | 'ctrlKey' | 'none' | undefined | null}\n */ straightLineKey: \"shiftKey\",\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.PencilBrush} Instance of a pencil brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this._points = [];\n },\n needsFullRender: function() {\n return this.callSuper(\"needsFullRender\") || this._hasStraightLine;\n },\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */ _drawSegment: function(ctx, p1, p2) {\n var midPoint = p1.midPointFrom(p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n return midPoint;\n },\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */ onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n this._render();\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this._captureDrawingPath(pointer) && this._points.length > 1) {\n if (this.needsFullRender()) {\n // redraw curve\n // clear top canvas\n this.canvas.clearContext(this.canvas.contextTop);\n this._render();\n } else {\n var points = this._points, length = points.length, ctx = this.canvas.contextTop;\n // draw the curve update\n this._saveAndTransform(ctx);\n if (this.oldEnd) {\n ctx.beginPath();\n ctx.moveTo(this.oldEnd.x, this.oldEnd.y);\n }\n this.oldEnd = this._drawSegment(ctx, points[length - 2], points[length - 1], true);\n ctx.stroke();\n ctx.restore();\n }\n }\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function(options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return true;\n }\n this.drawStraightLine = false;\n this.oldEnd = undefined;\n this._finalizeAndAddPath();\n return false;\n },\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */ _prepareForDrawing: function(pointer) {\n var p = new fabric.Point(pointer.x, pointer.y);\n this._reset();\n this._addPoint(p);\n this.canvas.contextTop.moveTo(p.x, p.y);\n },\n /**\n * @private\n * @param {fabric.Point} point Point to be added to points array\n */ _addPoint: function(point) {\n if (this._points.length > 1 && point.eq(this._points[this._points.length - 1])) {\n return false;\n }\n if (this.drawStraightLine && this._points.length > 1) {\n this._hasStraightLine = true;\n this._points.pop();\n }\n this._points.push(point);\n return true;\n },\n /**\n * Clear points array and set contextTop canvas style.\n * @private\n */ _reset: function() {\n this._points = [];\n this._setBrushStyles(this.canvas.contextTop);\n this._setShadow();\n this._hasStraightLine = false;\n },\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */ _captureDrawingPath: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y);\n return this._addPoint(pointerPoint);\n },\n /**\n * Draw a smooth path on the topCanvas using quadraticCurveTo\n * @private\n * @param {CanvasRenderingContext2D} [ctx]\n */ _render: function(ctx) {\n var i, len, p1 = this._points[0], p2 = this._points[1];\n ctx = ctx || this.canvas.contextTop;\n this._saveAndTransform(ctx);\n ctx.beginPath();\n //if we only have 2 points in the path and they are the same\n //it means that the user only clicked the canvas without moving the mouse\n //then we should be drawing a dot. A path isn't drawn between two identical dots\n //that's why we set them apart a bit\n if (this._points.length === 2 && p1.x === p2.x && p1.y === p2.y) {\n var width = this.width / 1000;\n p1 = new fabric.Point(p1.x, p1.y);\n p2 = new fabric.Point(p2.x, p2.y);\n p1.x -= width;\n p2.x += width;\n }\n ctx.moveTo(p1.x, p1.y);\n for(i = 1, len = this._points.length; i < len; i++){\n // we pick the point between pi + 1 & pi + 2 as the\n // end point and p1 as our control point.\n this._drawSegment(ctx, p1, p2);\n p1 = this._points[i];\n p2 = this._points[i + 1];\n }\n // Draw last line as a straight line while\n // we wait for the next point to be able to calculate\n // the bezier control point\n ctx.lineTo(p1.x, p1.y);\n ctx.stroke();\n ctx.restore();\n },\n /**\n * Converts points to SVG path\n * @param {Array} points Array of points\n * @return {(string|number)[][]} SVG path commands\n */ convertPointsToSVGPath: function(points) {\n var correction = this.width / 1000;\n return fabric.util.getSmoothPathFromPoints(points, correction);\n },\n /**\n * @private\n * @param {(string|number)[][]} pathData SVG path commands\n * @returns {boolean}\n */ _isEmptySVGPath: function(pathData) {\n var pathString = fabric.util.joinPath(pathData);\n return pathString === \"M 0 0 Q 0 0 0 0 L 0 0\";\n },\n /**\n * Creates fabric.Path object to add on canvas\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n */ createPath: function(pathData) {\n var path = new fabric.Path(pathData, {\n fill: null,\n stroke: this.color,\n strokeWidth: this.width,\n strokeLineCap: this.strokeLineCap,\n strokeMiterLimit: this.strokeMiterLimit,\n strokeLineJoin: this.strokeLineJoin,\n strokeDashArray: this.strokeDashArray\n });\n if (this.shadow) {\n this.shadow.affectStroke = true;\n path.shadow = new fabric.Shadow(this.shadow);\n }\n return path;\n },\n /**\n * Decimate points array with the decimate value\n */ decimatePoints: function(points, distance) {\n if (points.length <= 2) {\n return points;\n }\n var zoom = this.canvas.getZoom(), adjustedDistance = Math.pow(distance / zoom, 2), i, l = points.length - 1, lastPoint = points[0], newPoints = [\n lastPoint\n ], cDistance;\n for(i = 1; i < l - 1; i++){\n cDistance = Math.pow(lastPoint.x - points[i].x, 2) + Math.pow(lastPoint.y - points[i].y, 2);\n if (cDistance >= adjustedDistance) {\n lastPoint = points[i];\n newPoints.push(lastPoint);\n }\n }\n /**\n * Add the last point from the original line to the end of the array.\n * This ensures decimate doesn't delete the last point on the line, and ensures the line is > 1 point.\n */ newPoints.push(points[l]);\n return newPoints;\n },\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to the fabric canvas.\n */ _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n var pathData = this.convertPointsToSVGPath(this._points);\n if (this._isEmptySVGPath(pathData)) {\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n this.canvas.requestRenderAll();\n return;\n }\n var path = this.createPath(pathData);\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.fire(\"before:path:created\", {\n path: path\n });\n this.canvas.add(path);\n this.canvas.requestRenderAll();\n path.setCoords();\n this._resetShadow();\n // fire event 'path' created\n this.canvas.fire(\"path:created\", {\n path: path\n });\n }\n });\n})();\n/**\n * CircleBrush class\n * @class fabric.CircleBrush\n */ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.CircleBrush.prototype */ {\n /**\n * Width of a brush\n * @type Number\n * @default\n */ width: 10,\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.CircleBrush} Instance of a circle brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this.points = [];\n },\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */ drawDot: function(pointer) {\n var point = this.addPoint(pointer), ctx = this.canvas.contextTop;\n this._saveAndTransform(ctx);\n this.dot(ctx, point);\n ctx.restore();\n },\n dot: function(ctx, point) {\n ctx.fillStyle = point.fill;\n ctx.beginPath();\n ctx.arc(point.x, point.y, point.radius, 0, Math.PI * 2, false);\n ctx.closePath();\n ctx.fill();\n },\n /**\n * Invoked on mouse down\n */ onMouseDown: function(pointer) {\n this.points.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.drawDot(pointer);\n },\n /**\n * Render the full state of the brush\n * @private\n */ _render: function() {\n var ctx = this.canvas.contextTop, i, len, points = this.points;\n this._saveAndTransform(ctx);\n for(i = 0, len = points.length; i < len; i++){\n this.dot(ctx, points[i]);\n }\n ctx.restore();\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this.needsFullRender()) {\n this.canvas.clearContext(this.canvas.contextTop);\n this.addPoint(pointer);\n this._render();\n } else {\n this.drawDot(pointer);\n }\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove, i, len;\n this.canvas.renderOnAddRemove = false;\n var circles = [];\n for(i = 0, len = this.points.length; i < len; i++){\n var point = this.points[i], circle = new fabric.Circle({\n radius: point.radius,\n left: point.x,\n top: point.y,\n originX: \"center\",\n originY: \"center\",\n fill: point.fill\n });\n this.shadow && (circle.shadow = new fabric.Shadow(this.shadow));\n circles.push(circle);\n }\n var group = new fabric.Group(circles);\n group.canvas = this.canvas;\n this.canvas.fire(\"before:path:created\", {\n path: group\n });\n this.canvas.add(group);\n this.canvas.fire(\"path:created\", {\n path: group\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n /**\n * @param {Object} pointer\n * @return {fabric.Point} Just added pointer point\n */ addPoint: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y), circleRadius = fabric.util.getRandomInt(Math.max(0, this.width - 20), this.width + 20) / 2, circleColor = new fabric.Color(this.color).setAlpha(fabric.util.getRandomInt(0, 100) / 100).toRgba();\n pointerPoint.radius = circleRadius;\n pointerPoint.fill = circleColor;\n this.points.push(pointerPoint);\n return pointerPoint;\n }\n});\n/**\n * SprayBrush class\n * @class fabric.SprayBrush\n */ fabric.SprayBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.SprayBrush.prototype */ {\n /**\n * Width of a spray\n * @type Number\n * @default\n */ width: 10,\n /**\n * Density of a spray (number of dots per chunk)\n * @type Number\n * @default\n */ density: 20,\n /**\n * Width of spray dots\n * @type Number\n * @default\n */ dotWidth: 1,\n /**\n * Width variance of spray dots\n * @type Number\n * @default\n */ dotWidthVariance: 1,\n /**\n * Whether opacity of a dot should be random\n * @type Boolean\n * @default\n */ randomOpacity: false,\n /**\n * Whether overlapping dots (rectangles) should be removed (for performance reasons)\n * @type Boolean\n * @default\n */ optimizeOverlapping: true,\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.SprayBrush} Instance of a spray brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this.sprayChunks = [];\n },\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */ onMouseDown: function(pointer) {\n this.sprayChunks.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;\n this.canvas.renderOnAddRemove = false;\n var rects = [];\n for(var i = 0, ilen = this.sprayChunks.length; i < ilen; i++){\n var sprayChunk = this.sprayChunks[i];\n for(var j = 0, jlen = sprayChunk.length; j < jlen; j++){\n var rect = new fabric.Rect({\n width: sprayChunk[j].width,\n height: sprayChunk[j].width,\n left: sprayChunk[j].x + 1,\n top: sprayChunk[j].y + 1,\n originX: \"center\",\n originY: \"center\",\n fill: this.color\n });\n rects.push(rect);\n }\n }\n if (this.optimizeOverlapping) {\n rects = this._getOptimizedRects(rects);\n }\n var group = new fabric.Group(rects);\n this.shadow && group.set(\"shadow\", new fabric.Shadow(this.shadow));\n this.canvas.fire(\"before:path:created\", {\n path: group\n });\n this.canvas.add(group);\n this.canvas.fire(\"path:created\", {\n path: group\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n /**\n * @private\n * @param {Array} rects\n */ _getOptimizedRects: function(rects) {\n // avoid creating duplicate rects at the same coordinates\n var uniqueRects = {}, key, i, len;\n for(i = 0, len = rects.length; i < len; i++){\n key = rects[i].left + \"\" + rects[i].top;\n if (!uniqueRects[key]) {\n uniqueRects[key] = rects[i];\n }\n }\n var uniqueRectsArray = [];\n for(key in uniqueRects){\n uniqueRectsArray.push(uniqueRects[key]);\n }\n return uniqueRectsArray;\n },\n /**\n * Render new chunk of spray brush\n */ render: function(sprayChunk) {\n var ctx = this.canvas.contextTop, i, len;\n ctx.fillStyle = this.color;\n this._saveAndTransform(ctx);\n for(i = 0, len = sprayChunk.length; i < len; i++){\n var point = sprayChunk[i];\n if (typeof point.opacity !== \"undefined\") {\n ctx.globalAlpha = point.opacity;\n }\n ctx.fillRect(point.x, point.y, point.width, point.width);\n }\n ctx.restore();\n },\n /**\n * Render all spray chunks\n */ _render: function() {\n var ctx = this.canvas.contextTop, i, ilen;\n ctx.fillStyle = this.color;\n this._saveAndTransform(ctx);\n for(i = 0, ilen = this.sprayChunks.length; i < ilen; i++){\n this.render(this.sprayChunks[i]);\n }\n ctx.restore();\n },\n /**\n * @param {Object} pointer\n */ addSprayChunk: function(pointer) {\n this.sprayChunkPoints = [];\n var x, y, width, radius = this.width / 2, i;\n for(i = 0; i < this.density; i++){\n x = fabric.util.getRandomInt(pointer.x - radius, pointer.x + radius);\n y = fabric.util.getRandomInt(pointer.y - radius, pointer.y + radius);\n if (this.dotWidthVariance) {\n width = fabric.util.getRandomInt(// bottom clamp width to 1\n Math.max(1, this.dotWidth - this.dotWidthVariance), this.dotWidth + this.dotWidthVariance);\n } else {\n width = this.dotWidth;\n }\n var point = new fabric.Point(x, y);\n point.width = width;\n if (this.randomOpacity) {\n point.opacity = fabric.util.getRandomInt(0, 100) / 100;\n }\n this.sprayChunkPoints.push(point);\n }\n this.sprayChunks.push(this.sprayChunkPoints);\n }\n});\n/**\n * PatternBrush class\n * @class fabric.PatternBrush\n * @extends fabric.BaseBrush\n */ fabric.PatternBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.PatternBrush.prototype */ {\n getPatternSrc: function() {\n var dotWidth = 20, dotDistance = 5, patternCanvas = fabric.util.createCanvasElement(), patternCtx = patternCanvas.getContext(\"2d\");\n patternCanvas.width = patternCanvas.height = dotWidth + dotDistance;\n patternCtx.fillStyle = this.color;\n patternCtx.beginPath();\n patternCtx.arc(dotWidth / 2, dotWidth / 2, dotWidth / 2, 0, Math.PI * 2, false);\n patternCtx.closePath();\n patternCtx.fill();\n return patternCanvas;\n },\n getPatternSrcFunction: function() {\n return String(this.getPatternSrc).replace(\"this.color\", '\"' + this.color + '\"');\n },\n /**\n * Creates \"pattern\" instance property\n * @param {CanvasRenderingContext2D} ctx\n */ getPattern: function(ctx) {\n return ctx.createPattern(this.source || this.getPatternSrc(), \"repeat\");\n },\n /**\n * Sets brush styles\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n this.callSuper(\"_setBrushStyles\", ctx);\n ctx.strokeStyle = this.getPattern(ctx);\n },\n /**\n * Creates path\n */ createPath: function(pathData) {\n var path = this.callSuper(\"createPath\", pathData), topLeft = path._getLeftTopCoords().scalarAdd(path.strokeWidth / 2);\n path.stroke = new fabric.Pattern({\n source: this.source || this.getPatternSrcFunction(),\n offsetX: -topLeft.x,\n offsetY: -topLeft.y\n });\n return path;\n }\n});\n(function() {\n var getPointer = fabric.util.getPointer, degreesToRadians = fabric.util.degreesToRadians, isTouchEvent = fabric.util.isTouchEvent;\n /**\n * Canvas class\n * @class fabric.Canvas\n * @extends fabric.StaticCanvas\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#canvas}\n * @see {@link fabric.Canvas#initialize} for constructor definition\n *\n * @fires object:modified at the end of a transform or any change when statefull is true\n * @fires object:rotating while an object is being rotated from the control\n * @fires object:scaling while an object is being scaled by controls\n * @fires object:moving while an object is being dragged\n * @fires object:skewing while an object is being skewed from the controls\n *\n * @fires before:transform before a transform is is started\n * @fires before:selection:cleared\n * @fires selection:cleared\n * @fires selection:updated\n * @fires selection:created\n *\n * @fires path:created after a drawing operation ends and the path is added\n * @fires mouse:down\n * @fires mouse:move\n * @fires mouse:up\n * @fires mouse:down:before on mouse down, before the inner fabric logic runs\n * @fires mouse:move:before on mouse move, before the inner fabric logic runs\n * @fires mouse:up:before on mouse up, before the inner fabric logic runs\n * @fires mouse:over\n * @fires mouse:out\n * @fires mouse:dblclick whenever a native dbl click event fires on the canvas.\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop:before before drop event. same native event. This is added to handle edge cases\n * @fires drop\n * @fires after:render at the end of the render process, receives the context in the callback\n * @fires before:render at start the render process, receives the context in the callback\n *\n */ fabric.Canvas = fabric.util.createClass(fabric.StaticCanvas, /** @lends fabric.Canvas.prototype */ {\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(el, options) {\n options || (options = {});\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n this._initInteractive();\n this._createCacheCanvas();\n },\n /**\n * When true, objects can be transformed by one side (unproportionally)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @default\n * @since fabric 4.0 // changed name and default value\n */ uniformScaling: true,\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type String\n * @default\n */ uniScaleKey: \"shiftKey\",\n /**\n * When true, objects use center point as the origin of scale transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredScaling: false,\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredRotation: false,\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */ centeredKey: \"altKey\",\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */ altActionKey: \"shiftKey\",\n /**\n * Indicates that canvas is interactive. This property should not be changed.\n * @type Boolean\n * @default\n */ interactive: true,\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n * @default\n */ selection: true,\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type String|Array\n * @default\n */ selectionKey: \"shiftKey\",\n /**\n * Indicates which key enable alternative selection\n * in case of target overlapping with active object\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|String\n * @default\n */ altSelectionKey: null,\n /**\n * Color of selection\n * @type String\n * @default\n */ selectionColor: \"rgba(100, 100, 255, 0.3)\",\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */ selectionDashArray: [],\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n * @default\n */ selectionBorderColor: \"rgba(255, 255, 255, 0.3)\",\n /**\n * Width of a line used in object/group selection\n * @type Number\n * @default\n */ selectionLineWidth: 1,\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n * @default\n */ selectionFullyContained: false,\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type String\n * @default\n */ hoverCursor: \"move\",\n /**\n * Default cursor value used when moving an object on canvas\n * @type String\n * @default\n */ moveCursor: \"move\",\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default\n */ defaultCursor: \"default\",\n /**\n * Cursor value used during free drawing\n * @type String\n * @default\n */ freeDrawingCursor: \"crosshair\",\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default\n */ notAllowedCursor: \"not-allowed\",\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @default\n */ containerClass: \"canvas-container\",\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n * @default\n */ perPixelTargetFind: false,\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n * @default\n */ targetFindTolerance: 0,\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n * @default\n */ skipTargetFind: false,\n /**\n * When true, mouse events on canvas (mousedown/mousemove/mouseup) result in free drawing.\n * After mousedown, mousemove creates a shape,\n * and then mouseup finalizes it and adds an instance of `fabric.Path` onto canvas.\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-4#free_drawing}\n * @type Boolean\n * @default\n */ isDrawingMode: false,\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default\n */ preserveObjectStacking: false,\n /**\n * Indicates the angle that an object will lock to while rotating.\n * @type Number\n * @since 1.6.7\n * @default\n */ snapAngle: 0,\n /**\n * Indicates the distance from the snapAngle the rotation will lock to the snapAngle.\n * When `null`, the snapThreshold will default to the snapAngle.\n * @type null|Number\n * @since 1.6.7\n * @default\n */ snapThreshold: null,\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n * @default\n */ stopContextMenu: false,\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n * @default\n */ fireRightClick: false,\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n * @default\n */ fireMiddleClick: false,\n /**\n * Keep track of the subTargets for Mouse Events\n * @type fabric.Object[]\n */ targets: [],\n /**\n * When the option is enabled, PointerEvent is used instead of MouseEvent.\n * @type Boolean\n * @default\n */ enablePointerEvents: false,\n /**\n * Keep track of the hovered target\n * @type fabric.Object\n * @private\n */ _hoveredTarget: null,\n /**\n * hold the list of nested targets hovered\n * @type fabric.Object[]\n * @private\n */ _hoveredTargets: [],\n /**\n * @private\n */ _initInteractive: function() {\n this._currentTransform = null;\n this._groupSelector = null;\n this._initWrapperElement();\n this._createUpperCanvas();\n this._initEventListeners();\n this._initRetinaScaling();\n this.freeDrawingBrush = fabric.PencilBrush && new fabric.PencilBrush(this);\n this.calcOffset();\n },\n /**\n * Divides objects in two groups, one to render immediately\n * and one to render as activeGroup.\n * @return {Array} objects to render immediately and pushes the other in the activeGroup.\n */ _chooseObjectsToRender: function() {\n var activeObjects = this.getActiveObjects(), object, objsToRender, activeGroupObjects;\n if (activeObjects.length > 0 && !this.preserveObjectStacking) {\n objsToRender = [];\n activeGroupObjects = [];\n for(var i = 0, length = this._objects.length; i < length; i++){\n object = this._objects[i];\n if (activeObjects.indexOf(object) === -1) {\n objsToRender.push(object);\n } else {\n activeGroupObjects.push(object);\n }\n }\n if (activeObjects.length > 1) {\n this._activeObject._objects = activeGroupObjects;\n }\n objsToRender.push.apply(objsToRender, activeGroupObjects);\n } else {\n objsToRender = this._objects;\n }\n return objsToRender;\n },\n /**\n * Renders both the top canvas and the secondary container canvas.\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAll: function() {\n if (this.contextTopDirty && !this._groupSelector && !this.isDrawingMode) {\n this.clearContext(this.contextTop);\n this.contextTopDirty = false;\n }\n if (this.hasLostContext) {\n this.renderTopLayer(this.contextTop);\n this.hasLostContext = false;\n }\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._chooseObjectsToRender());\n return this;\n },\n renderTopLayer: function(ctx) {\n ctx.save();\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._render();\n this.contextTopDirty = true;\n }\n // we render the top context - last object\n if (this.selection && this._groupSelector) {\n this._drawSelection(ctx);\n this.contextTopDirty = true;\n }\n ctx.restore();\n },\n /**\n * Method to render only the top canvas.\n * Also used to render the group selection box.\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ renderTop: function() {\n var ctx = this.contextTop;\n this.clearContext(ctx);\n this.renderTopLayer(ctx);\n this.fire(\"after:render\");\n return this;\n },\n /**\n * @private\n */ _normalizePointer: function(object, pointer) {\n var m = object.calcTransformMatrix(), invertedM = fabric.util.invertTransform(m), vptPointer = this.restorePointerVpt(pointer);\n return fabric.util.transformPoint(vptPointer, invertedM);\n },\n /**\n * Returns true if object is transparent at a certain location\n * @param {fabric.Object} target Object to check\n * @param {Number} x Left coordinate\n * @param {Number} y Top coordinate\n * @return {Boolean}\n */ isTargetTransparent: function(target, x, y) {\n // in case the target is the activeObject, we cannot execute this optimization\n // because we need to draw controls too.\n if (target.shouldCache() && target._cacheCanvas && target !== this._activeObject) {\n var normalizedPointer = this._normalizePointer(target, {\n x: x,\n y: y\n }), targetRelativeX = Math.max(target.cacheTranslationX + normalizedPointer.x * target.zoomX, 0), targetRelativeY = Math.max(target.cacheTranslationY + normalizedPointer.y * target.zoomY, 0);\n var isTransparent = fabric.util.isTransparent(target._cacheContext, Math.round(targetRelativeX), Math.round(targetRelativeY), this.targetFindTolerance);\n return isTransparent;\n }\n var ctx = this.contextCache, originalColor = target.selectionBackgroundColor, v = this.viewportTransform;\n target.selectionBackgroundColor = \"\";\n this.clearContext(ctx);\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n target.render(ctx);\n ctx.restore();\n target.selectionBackgroundColor = originalColor;\n var isTransparent = fabric.util.isTransparent(ctx, x, y, this.targetFindTolerance);\n return isTransparent;\n },\n /**\n * takes an event and determines if selection key has been pressed\n * @private\n * @param {Event} e Event object\n */ _isSelectionKeyPressed: function(e) {\n var selectionKeyPressed = false;\n if (Array.isArray(this.selectionKey)) {\n selectionKeyPressed = !!this.selectionKey.find(function(key) {\n return e[key] === true;\n });\n } else {\n selectionKeyPressed = e[this.selectionKey];\n }\n return selectionKeyPressed;\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _shouldClearSelection: function(e, target) {\n var activeObjects = this.getActiveObjects(), activeObject = this._activeObject;\n return !target || target && activeObject && activeObjects.length > 1 && activeObjects.indexOf(target) === -1 && activeObject !== target && !this._isSelectionKeyPressed(e) || target && !target.evented || target && !target.selectable && activeObject && activeObject !== target;\n },\n /**\n * centeredScaling from object can't override centeredScaling from canvas.\n * this should be fixed, since object setting should take precedence over canvas.\n * also this should be something that will be migrated in the control properties.\n * as ability to define the origin of the transformation that the control provide.\n * @private\n * @param {fabric.Object} target\n * @param {String} action\n * @param {Boolean} altKey\n */ _shouldCenterTransform: function(target, action, altKey) {\n if (!target) {\n return;\n }\n var centerTransform;\n if (action === \"scale\" || action === \"scaleX\" || action === \"scaleY\" || action === \"resizing\") {\n centerTransform = this.centeredScaling || target.centeredScaling;\n } else if (action === \"rotate\") {\n centerTransform = this.centeredRotation || target.centeredRotation;\n }\n return centerTransform ? !altKey : altKey;\n },\n /**\n * should disappear before release 4.0\n * @private\n */ _getOriginFromCorner: function(target, corner) {\n var origin = {\n x: target.originX,\n y: target.originY\n };\n if (corner === \"ml\" || corner === \"tl\" || corner === \"bl\") {\n origin.x = \"right\";\n } else if (corner === \"mr\" || corner === \"tr\" || corner === \"br\") {\n origin.x = \"left\";\n }\n if (corner === \"tl\" || corner === \"mt\" || corner === \"tr\") {\n origin.y = \"bottom\";\n } else if (corner === \"bl\" || corner === \"mb\" || corner === \"br\") {\n origin.y = \"top\";\n }\n return origin;\n },\n /**\n * @private\n * @param {Boolean} alreadySelected true if target is already selected\n * @param {String} corner a string representing the corner ml, mr, tl ...\n * @param {Event} e Event object\n * @param {fabric.Object} [target] inserted back to help overriding. Unused\n */ _getActionFromCorner: function(alreadySelected, corner, e, target) {\n if (!corner || !alreadySelected) {\n return \"drag\";\n }\n var control = target.controls[corner];\n return control.getActionName(e, control, target);\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _setupCurrentTransform: function(e, target, alreadySelected) {\n if (!target) {\n return;\n }\n var pointer = this.getPointer(e), corner = target.__corner, control = target.controls[corner], actionHandler = alreadySelected && corner ? control.getActionHandler(e, target, control) : fabric.controlsUtils.dragHandler, action = this._getActionFromCorner(alreadySelected, corner, e, target), origin = this._getOriginFromCorner(target, corner), altKey = e[this.centeredKey], transform = {\n target: target,\n action: action,\n actionHandler: actionHandler,\n corner: corner,\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n // used by transation\n offsetX: pointer.x - target.left,\n offsetY: pointer.y - target.top,\n originX: origin.x,\n originY: origin.y,\n ex: pointer.x,\n ey: pointer.y,\n lastX: pointer.x,\n lastY: pointer.y,\n // unsure they are useful anymore.\n // left: target.left,\n // top: target.top,\n theta: degreesToRadians(target.angle),\n // end of unsure\n width: target.width * target.scaleX,\n shiftKey: e.shiftKey,\n altKey: altKey,\n original: fabric.util.saveObjectTransform(target)\n };\n if (this._shouldCenterTransform(target, action, altKey)) {\n transform.originX = \"center\";\n transform.originY = \"center\";\n }\n transform.original.originX = origin.x;\n transform.original.originY = origin.y;\n this._currentTransform = transform;\n this._beforeTransform(e);\n },\n /**\n * Set the cursor type of the canvas element\n * @param {String} value Cursor type of the canvas element.\n * @see http://www.w3.org/TR/css3-ui/#cursor\n */ setCursor: function(value) {\n this.upperCanvasEl.style.cursor = value;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx to draw the selection on\n */ _drawSelection: function(ctx) {\n var selector = this._groupSelector, viewportStart = new fabric.Point(selector.ex, selector.ey), start = fabric.util.transformPoint(viewportStart, this.viewportTransform), viewportExtent = new fabric.Point(selector.ex + selector.left, selector.ey + selector.top), extent = fabric.util.transformPoint(viewportExtent, this.viewportTransform), minX = Math.min(start.x, extent.x), minY = Math.min(start.y, extent.y), maxX = Math.max(start.x, extent.x), maxY = Math.max(start.y, extent.y), strokeOffset = this.selectionLineWidth / 2;\n if (this.selectionColor) {\n ctx.fillStyle = this.selectionColor;\n ctx.fillRect(minX, minY, maxX - minX, maxY - minY);\n }\n if (!this.selectionLineWidth || !this.selectionBorderColor) {\n return;\n }\n ctx.lineWidth = this.selectionLineWidth;\n ctx.strokeStyle = this.selectionBorderColor;\n minX += strokeOffset;\n minY += strokeOffset;\n maxX -= strokeOffset;\n maxY -= strokeOffset;\n // selection border\n fabric.Object.prototype._setLineDash.call(this, ctx, this.selectionDashArray);\n ctx.strokeRect(minX, minY, maxX - minX, maxY - minY);\n },\n /**\n * Method that determines what object we are clicking on\n * the skipGroup parameter is for internal use, is needed for shift+click action\n * 11/09/2018 TODO: would be cool if findTarget could discern between being a full target\n * or the outside part of the corner.\n * @param {Event} e mouse event\n * @param {Boolean} skipGroup when true, activeGroup is skipped and only objects are traversed through\n * @return {fabric.Object} the target found\n */ findTarget: function(e, skipGroup) {\n if (this.skipTargetFind) {\n return;\n }\n var ignoreZoom = true, pointer = this.getPointer(e, ignoreZoom), activeObject = this._activeObject, aObjects = this.getActiveObjects(), activeTarget, activeTargetSubs, isTouch = isTouchEvent(e), shouldLookForActive = aObjects.length > 1 && !skipGroup || aObjects.length === 1;\n // first check current group (if one exists)\n // active group does not check sub targets like normal groups.\n // if active group just exits.\n this.targets = [];\n // if we hit the corner of an activeObject, let's return that.\n if (shouldLookForActive && activeObject._findTargetCorner(pointer, isTouch)) {\n return activeObject;\n }\n if (aObjects.length > 1 && !skipGroup && activeObject === this._searchPossibleTargets([\n activeObject\n ], pointer)) {\n return activeObject;\n }\n if (aObjects.length === 1 && activeObject === this._searchPossibleTargets([\n activeObject\n ], pointer)) {\n if (!this.preserveObjectStacking) {\n return activeObject;\n } else {\n activeTarget = activeObject;\n activeTargetSubs = this.targets;\n this.targets = [];\n }\n }\n var target = this._searchPossibleTargets(this._objects, pointer);\n if (e[this.altSelectionKey] && target && activeTarget && target !== activeTarget) {\n target = activeTarget;\n this.targets = activeTargetSubs;\n }\n return target;\n },\n /**\n * Checks point is inside the object.\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @param {fabric.Object} obj Object to test against\n * @param {Object} [globalPointer] x,y object of point coordinates relative to canvas used to search per pixel target.\n * @return {Boolean} true if point is contained within an area of given object\n * @private\n */ _checkTarget: function(pointer, obj, globalPointer) {\n if (obj && obj.visible && obj.evented && // http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/u32.html\n // http://idav.ucdavis.edu/~okreylos/TAship/Spring2000/PointInPolygon.html\n obj.containsPoint(pointer)) {\n if ((this.perPixelTargetFind || obj.perPixelTargetFind) && !obj.isEditing) {\n var isTransparent = this.isTargetTransparent(obj, globalPointer.x, globalPointer.y);\n if (!isTransparent) {\n return true;\n }\n } else {\n return true;\n }\n }\n },\n /**\n * Function used to search inside objects an object that contains pointer in bounding box or that contains pointerOnCanvas when painted\n * @param {Array} [objects] objects array to look into\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @return {fabric.Object} object that contains pointer\n * @private\n */ _searchPossibleTargets: function(objects, pointer) {\n // Cache all targets where their bounding box contains point.\n var target, i = objects.length, subTarget;\n // Do not check for currently grouped objects, since we check the parent group itself.\n // until we call this function specifically to search inside the activeGroup\n while(i--){\n var objToCheck = objects[i];\n var pointerToUse = objToCheck.group ? this._normalizePointer(objToCheck.group, pointer) : pointer;\n if (this._checkTarget(pointerToUse, objToCheck, pointer)) {\n target = objects[i];\n if (target.subTargetCheck && target instanceof fabric.Group) {\n subTarget = this._searchPossibleTargets(target._objects, pointer);\n subTarget && this.targets.push(subTarget);\n }\n break;\n }\n }\n return target;\n },\n /**\n * Returns pointer coordinates without the effect of the viewport\n * @param {Object} pointer with \"x\" and \"y\" number values\n * @return {Object} object with \"x\" and \"y\" number values\n */ restorePointerVpt: function(pointer) {\n return fabric.util.transformPoint(pointer, fabric.util.invertTransform(this.viewportTransform));\n },\n /**\n * Returns pointer coordinates relative to canvas.\n * Can return coordinates with or without viewportTransform.\n * ignoreZoom false gives back coordinates that represent\n * the point clicked on canvas element.\n * ignoreZoom true gives back coordinates after being processed\n * by the viewportTransform ( sort of coordinates of what is displayed\n * on the canvas where you are clicking.\n * ignoreZoom true = HTMLElement coordinates relative to top,left\n * ignoreZoom false, default = fabric space coordinates, the same used for shape position\n * To interact with your shapes top and left you want to use ignoreZoom true\n * most of the time, while ignoreZoom false will give you coordinates\n * compatible with the object.oCoords system.\n * of the time.\n * @param {Event} e\n * @param {Boolean} ignoreZoom\n * @return {Object} object with \"x\" and \"y\" number values\n */ getPointer: function(e, ignoreZoom) {\n // return cached values if we are in the event processing chain\n if (this._absolutePointer && !ignoreZoom) {\n return this._absolutePointer;\n }\n if (this._pointer && ignoreZoom) {\n return this._pointer;\n }\n var pointer = getPointer(e), upperCanvasEl = this.upperCanvasEl, bounds = upperCanvasEl.getBoundingClientRect(), boundsWidth = bounds.width || 0, boundsHeight = bounds.height || 0, cssScale;\n if (!boundsWidth || !boundsHeight) {\n if (\"top\" in bounds && \"bottom\" in bounds) {\n boundsHeight = Math.abs(bounds.top - bounds.bottom);\n }\n if (\"right\" in bounds && \"left\" in bounds) {\n boundsWidth = Math.abs(bounds.right - bounds.left);\n }\n }\n this.calcOffset();\n pointer.x = pointer.x - this._offset.left;\n pointer.y = pointer.y - this._offset.top;\n if (!ignoreZoom) {\n pointer = this.restorePointerVpt(pointer);\n }\n var retinaScaling = this.getRetinaScaling();\n if (retinaScaling !== 1) {\n pointer.x /= retinaScaling;\n pointer.y /= retinaScaling;\n }\n if (boundsWidth === 0 || boundsHeight === 0) {\n // If bounds are not available (i.e. not visible), do not apply scale.\n cssScale = {\n width: 1,\n height: 1\n };\n } else {\n cssScale = {\n width: upperCanvasEl.width / boundsWidth,\n height: upperCanvasEl.height / boundsHeight\n };\n }\n return {\n x: pointer.x * cssScale.width,\n y: pointer.y * cssScale.height\n };\n },\n /**\n * @private\n * @throws {CANVAS_INIT_ERROR} If canvas can not be initialized\n */ _createUpperCanvas: function() {\n var lowerCanvasClass = this.lowerCanvasEl.className.replace(/\\s*lower-canvas\\s*/, \"\"), lowerCanvasEl = this.lowerCanvasEl, upperCanvasEl = this.upperCanvasEl;\n // there is no need to create a new upperCanvas element if we have already one.\n if (upperCanvasEl) {\n upperCanvasEl.className = \"\";\n } else {\n upperCanvasEl = this._createCanvasElement();\n this.upperCanvasEl = upperCanvasEl;\n }\n fabric.util.addClass(upperCanvasEl, \"upper-canvas \" + lowerCanvasClass);\n this.wrapperEl.appendChild(upperCanvasEl);\n this._copyCanvasStyle(lowerCanvasEl, upperCanvasEl);\n this._applyCanvasStyle(upperCanvasEl);\n this.contextTop = upperCanvasEl.getContext(\"2d\");\n },\n /**\n * Returns context of top canvas where interactions are drawn\n * @returns {CanvasRenderingContext2D}\n */ getTopContext: function() {\n return this.contextTop;\n },\n /**\n * @private\n */ _createCacheCanvas: function() {\n this.cacheCanvasEl = this._createCanvasElement();\n this.cacheCanvasEl.setAttribute(\"width\", this.width);\n this.cacheCanvasEl.setAttribute(\"height\", this.height);\n this.contextCache = this.cacheCanvasEl.getContext(\"2d\");\n },\n /**\n * @private\n */ _initWrapperElement: function() {\n this.wrapperEl = fabric.util.wrapElement(this.lowerCanvasEl, \"div\", {\n \"class\": this.containerClass\n });\n fabric.util.setStyle(this.wrapperEl, {\n width: this.width + \"px\",\n height: this.height + \"px\",\n position: \"relative\"\n });\n fabric.util.makeElementUnselectable(this.wrapperEl);\n },\n /**\n * @private\n * @param {HTMLElement} element canvas element to apply styles on\n */ _applyCanvasStyle: function(element) {\n var width = this.width || element.width, height = this.height || element.height;\n fabric.util.setStyle(element, {\n position: \"absolute\",\n width: width + \"px\",\n height: height + \"px\",\n left: 0,\n top: 0,\n \"touch-action\": this.allowTouchScrolling ? \"manipulation\" : \"none\",\n \"-ms-touch-action\": this.allowTouchScrolling ? \"manipulation\" : \"none\"\n });\n element.width = width;\n element.height = height;\n fabric.util.makeElementUnselectable(element);\n },\n /**\n * Copy the entire inline style from one element (fromEl) to another (toEl)\n * @private\n * @param {Element} fromEl Element style is copied from\n * @param {Element} toEl Element copied style is applied to\n */ _copyCanvasStyle: function(fromEl, toEl) {\n toEl.style.cssText = fromEl.style.cssText;\n },\n /**\n * Returns context of canvas where object selection is drawn\n * @return {CanvasRenderingContext2D}\n */ getSelectionContext: function() {\n return this.contextTop;\n },\n /**\n * Returns <canvas> element on which object selection is drawn\n * @return {HTMLCanvasElement}\n */ getSelectionElement: function() {\n return this.upperCanvasEl;\n },\n /**\n * Returns currently active object\n * @return {fabric.Object} active object\n */ getActiveObject: function() {\n return this._activeObject;\n },\n /**\n * Returns an array with the current selected objects\n * @return {fabric.Object} active object\n */ getActiveObjects: function() {\n var active = this._activeObject;\n if (active) {\n if (active.type === \"activeSelection\" && active._objects) {\n return active._objects.slice(0);\n } else {\n return [\n active\n ];\n }\n }\n return [];\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */ _onObjectRemoved: function(obj) {\n // removing active object should fire \"selection:cleared\" events\n if (obj === this._activeObject) {\n this.fire(\"before:selection:cleared\", {\n target: obj\n });\n this._discardActiveObject();\n this.fire(\"selection:cleared\", {\n target: obj\n });\n obj.fire(\"deselected\");\n }\n if (obj === this._hoveredTarget) {\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n this.callSuper(\"_onObjectRemoved\", obj);\n },\n /**\n * @private\n * Compares the old activeObject with the current one and fires correct events\n * @param {fabric.Object} obj old activeObject\n */ _fireSelectionEvents: function(oldObjects, e) {\n var somethingChanged = false, objects = this.getActiveObjects(), added = [], removed = [];\n oldObjects.forEach(function(oldObject) {\n if (objects.indexOf(oldObject) === -1) {\n somethingChanged = true;\n oldObject.fire(\"deselected\", {\n e: e,\n target: oldObject\n });\n removed.push(oldObject);\n }\n });\n objects.forEach(function(object) {\n if (oldObjects.indexOf(object) === -1) {\n somethingChanged = true;\n object.fire(\"selected\", {\n e: e,\n target: object\n });\n added.push(object);\n }\n });\n if (oldObjects.length > 0 && objects.length > 0) {\n somethingChanged && this.fire(\"selection:updated\", {\n e: e,\n selected: added,\n deselected: removed\n });\n } else if (objects.length > 0) {\n this.fire(\"selection:created\", {\n e: e,\n selected: added\n });\n } else if (oldObjects.length > 0) {\n this.fire(\"selection:cleared\", {\n e: e,\n deselected: removed\n });\n }\n },\n /**\n * Sets given object as the only active object on canvas\n * @param {fabric.Object} object Object to set as an active one\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ setActiveObject: function(object, e) {\n var currentActives = this.getActiveObjects();\n this._setActiveObject(object, e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to setActiveObject but without firing\n * any event. There is commitment to have this stay this way.\n * This is the functional part of setActiveObject.\n * @private\n * @param {Object} object to set as active\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {Boolean} true if the selection happened\n */ _setActiveObject: function(object, e) {\n if (this._activeObject === object) {\n return false;\n }\n if (!this._discardActiveObject(e, object)) {\n return false;\n }\n if (object.onSelect({\n e: e\n })) {\n return false;\n }\n this._activeObject = object;\n return true;\n },\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to discardActiveObject but without firing\n * any events. There is commitment to have this stay this way.\n * This is the functional part of discardActiveObject.\n * @param {Event} [e] Event (passed along when firing \"object:deselected\")\n * @param {Object} object to set as active\n * @return {Boolean} true if the selection happened\n * @private\n */ _discardActiveObject: function(e, object) {\n var obj = this._activeObject;\n if (obj) {\n // onDeselect return TRUE to cancel selection;\n if (obj.onDeselect({\n e: e,\n object: object\n })) {\n return false;\n }\n this._activeObject = null;\n }\n return true;\n },\n /**\n * Discards currently active object and fire events. If the function is called by fabric\n * as a consequence of a mouse event, the event is passed as a parameter and\n * sent to the fire function for the custom events. When used as a method the\n * e param does not have any application.\n * @param {event} e\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ discardActiveObject: function(e) {\n var currentActives = this.getActiveObjects(), activeObject = this.getActiveObject();\n if (currentActives.length) {\n this.fire(\"before:selection:cleared\", {\n target: activeObject,\n e: e\n });\n }\n this._discardActiveObject(e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n /**\n * Clears a canvas element and removes all event listeners\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ dispose: function() {\n var wrapper = this.wrapperEl;\n this.removeListeners();\n wrapper.removeChild(this.upperCanvasEl);\n wrapper.removeChild(this.lowerCanvasEl);\n this.contextCache = null;\n this.contextTop = null;\n [\n \"upperCanvasEl\",\n \"cacheCanvasEl\"\n ].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n if (wrapper.parentNode) {\n wrapper.parentNode.replaceChild(this.lowerCanvasEl, this.wrapperEl);\n }\n delete this.wrapperEl;\n fabric.StaticCanvas.prototype.dispose.call(this);\n return this;\n },\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clear: function() {\n // this.discardActiveGroup();\n this.discardActiveObject();\n this.clearContext(this.contextTop);\n return this.callSuper(\"clear\");\n },\n /**\n * Draws objects' controls (borders/controls)\n * @param {CanvasRenderingContext2D} ctx Context to render controls on\n */ drawControls: function(ctx) {\n var activeObject = this._activeObject;\n if (activeObject) {\n activeObject._renderControls(ctx);\n }\n },\n /**\n * @private\n */ _toObject: function(instance, methodName, propertiesToInclude) {\n //If the object is part of the current selection group, it should\n //be transformed appropriately\n //i.e. it should be serialised as it would appear if the selection group\n //were to be destroyed.\n var originalProperties = this._realizeGroupTransformOnObject(instance), object = this.callSuper(\"_toObject\", instance, methodName, propertiesToInclude);\n //Undo the damage we did by changing all of its properties\n this._unwindGroupTransformOnObject(instance, originalProperties);\n return object;\n },\n /**\n * Realises an object's group transformation on it\n * @private\n * @param {fabric.Object} [instance] the object to transform (gets mutated)\n * @returns the original values of instance which were changed\n */ _realizeGroupTransformOnObject: function(instance) {\n if (instance.group && instance.group.type === \"activeSelection\" && this._activeObject === instance.group) {\n var layoutProps = [\n \"angle\",\n \"flipX\",\n \"flipY\",\n \"left\",\n \"scaleX\",\n \"scaleY\",\n \"skewX\",\n \"skewY\",\n \"top\"\n ];\n //Copy all the positionally relevant properties across now\n var originalValues = {};\n layoutProps.forEach(function(prop) {\n originalValues[prop] = instance[prop];\n });\n fabric.util.addTransformToObject(instance, this._activeObject.calcOwnMatrix());\n return originalValues;\n } else {\n return null;\n }\n },\n /**\n * Restores the changed properties of instance\n * @private\n * @param {fabric.Object} [instance] the object to un-transform (gets mutated)\n * @param {Object} [originalValues] the original values of instance, as returned by _realizeGroupTransformOnObject\n */ _unwindGroupTransformOnObject: function(instance, originalValues) {\n if (originalValues) {\n instance.set(originalValues);\n }\n },\n /**\n * @private\n */ _setSVGObject: function(markup, instance, reviver) {\n //If the object is in a selection group, simulate what would happen to that\n //object when the group is deselected\n var originalProperties = this._realizeGroupTransformOnObject(instance);\n this.callSuper(\"_setSVGObject\", markup, instance, reviver);\n this._unwindGroupTransformOnObject(instance, originalProperties);\n },\n setViewportTransform: function(vpt) {\n if (this.renderOnAddRemove && this._activeObject && this._activeObject.isEditing) {\n this._activeObject.clearContextTop();\n }\n fabric.StaticCanvas.prototype.setViewportTransform.call(this, vpt);\n }\n });\n // copying static properties manually to work around Opera's bug,\n // where \"prototype\" property is enumerable and overrides existing prototype\n for(var prop in fabric.StaticCanvas){\n if (prop !== \"prototype\") {\n fabric.Canvas[prop] = fabric.StaticCanvas[prop];\n }\n }\n})();\n(function() {\n var addListener = fabric.util.addListener, removeListener = fabric.util.removeListener, RIGHT_CLICK = 3, MIDDLE_CLICK = 2, LEFT_CLICK = 1, addEventOptions = {\n passive: false\n };\n function checkClick(e, value) {\n return e.button && e.button === value - 1;\n }\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n /**\n * Contains the id of the touch event that owns the fabric transform\n * @type Number\n * @private\n */ mainTouchId: null,\n /**\n * Adds mouse listeners to canvas\n * @private\n */ _initEventListeners: function() {\n // in case we initialized the class twice. This should not happen normally\n // but in some kind of applications where the canvas element may be changed\n // this is a workaround to having double listeners.\n this.removeListeners();\n this._bindEvents();\n this.addOrRemove(addListener, \"add\");\n },\n /**\n * return an event prefix pointer or mouse.\n * @private\n */ _getEventPrefix: function() {\n return this.enablePointerEvents ? \"pointer\" : \"mouse\";\n },\n addOrRemove: function(functor, eventjsFunctor) {\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n functor(fabric.window, \"resize\", this._onResize);\n functor(canvasElement, eventTypePrefix + \"down\", this._onMouseDown);\n functor(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n functor(canvasElement, eventTypePrefix + \"out\", this._onMouseOut);\n functor(canvasElement, eventTypePrefix + \"enter\", this._onMouseEnter);\n functor(canvasElement, \"wheel\", this._onMouseWheel);\n functor(canvasElement, \"contextmenu\", this._onContextMenu);\n functor(canvasElement, \"dblclick\", this._onDoubleClick);\n functor(canvasElement, \"dragover\", this._onDragOver);\n functor(canvasElement, \"dragenter\", this._onDragEnter);\n functor(canvasElement, \"dragleave\", this._onDragLeave);\n functor(canvasElement, \"drop\", this._onDrop);\n if (!this.enablePointerEvents) {\n functor(canvasElement, \"touchstart\", this._onTouchStart, addEventOptions);\n }\n if (typeof eventjs !== \"undefined\" && eventjsFunctor in eventjs) {\n eventjs[eventjsFunctor](canvasElement, \"gesture\", this._onGesture);\n eventjs[eventjsFunctor](canvasElement, \"drag\", this._onDrag);\n eventjs[eventjsFunctor](canvasElement, \"orientation\", this._onOrientationChange);\n eventjs[eventjsFunctor](canvasElement, \"shake\", this._onShake);\n eventjs[eventjsFunctor](canvasElement, \"longpress\", this._onLongPress);\n }\n },\n /**\n * Removes all event listeners\n */ removeListeners: function() {\n this.addOrRemove(removeListener, \"remove\");\n // if you dispose on a mouseDown, before mouse up, you need to clean document to...\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n removeListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n removeListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n },\n /**\n * @private\n */ _bindEvents: function() {\n if (this.eventsBound) {\n // for any reason we pass here twice we do not want to bind events twice.\n return;\n }\n this._onMouseDown = this._onMouseDown.bind(this);\n this._onTouchStart = this._onTouchStart.bind(this);\n this._onMouseMove = this._onMouseMove.bind(this);\n this._onMouseUp = this._onMouseUp.bind(this);\n this._onTouchEnd = this._onTouchEnd.bind(this);\n this._onResize = this._onResize.bind(this);\n this._onGesture = this._onGesture.bind(this);\n this._onDrag = this._onDrag.bind(this);\n this._onShake = this._onShake.bind(this);\n this._onLongPress = this._onLongPress.bind(this);\n this._onOrientationChange = this._onOrientationChange.bind(this);\n this._onMouseWheel = this._onMouseWheel.bind(this);\n this._onMouseOut = this._onMouseOut.bind(this);\n this._onMouseEnter = this._onMouseEnter.bind(this);\n this._onContextMenu = this._onContextMenu.bind(this);\n this._onDoubleClick = this._onDoubleClick.bind(this);\n this._onDragOver = this._onDragOver.bind(this);\n this._onDragEnter = this._simpleEventHandler.bind(this, \"dragenter\");\n this._onDragLeave = this._simpleEventHandler.bind(this, \"dragleave\");\n this._onDrop = this._onDrop.bind(this);\n this.eventsBound = true;\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js gesture\n * @param {Event} [self] Inner Event object\n */ _onGesture: function(e, self) {\n this.__onTransformGesture && this.__onTransformGesture(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js drag\n * @param {Event} [self] Inner Event object\n */ _onDrag: function(e, self) {\n this.__onDrag && this.__onDrag(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on wheel event\n */ _onMouseWheel: function(e) {\n this.__onMouseWheel(e);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseOut: function(e) {\n var target = this._hoveredTarget;\n this.fire(\"mouse:out\", {\n target: target,\n e: e\n });\n this._hoveredTarget = null;\n target && target.fire(\"mouseout\", {\n e: e\n });\n var _this = this;\n this._hoveredTargets.forEach(function(_target) {\n _this.fire(\"mouse:out\", {\n target: target,\n e: e\n });\n _target && target.fire(\"mouseout\", {\n e: e\n });\n });\n this._hoveredTargets = [];\n if (this._iTextInstances) {\n this._iTextInstances.forEach(function(obj) {\n if (obj.isEditing) {\n obj.hiddenTextarea.focus();\n }\n });\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseenter\n */ _onMouseEnter: function(e) {\n // This find target and consequent 'mouse:over' is used to\n // clear old instances on hovered target.\n // calling findTarget has the side effect of killing target.__corner.\n // as a short term fix we are not firing this if we are currently transforming.\n // as a long term fix we need to separate the action of finding a target with the\n // side effects we added to it.\n if (!this._currentTransform && !this.findTarget(e)) {\n this.fire(\"mouse:over\", {\n target: null,\n e: e\n });\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js orientation change\n * @param {Event} [self] Inner Event object\n */ _onOrientationChange: function(e, self) {\n this.__onOrientationChange && this.__onOrientationChange(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */ _onShake: function(e, self) {\n this.__onShake && this.__onShake(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */ _onLongPress: function(e, self) {\n this.__onLongPress && this.__onLongPress(e, self);\n },\n /**\n * prevent default to allow drop event to be fired\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */ _onDragOver: function(e) {\n e.preventDefault();\n var target = this._simpleEventHandler(\"dragover\", e);\n this._fireEnterLeaveEvents(target, e);\n },\n /**\n * `drop:before` is a an event that allow you to schedule logic\n * before the `drop` event. Prefer `drop` event always, but if you need\n * to run some drop-disabling logic on an event, since there is no way\n * to handle event handlers ordering, use `drop:before`\n * @param {Event} e\n */ _onDrop: function(e) {\n this._simpleEventHandler(\"drop:before\", e);\n return this._simpleEventHandler(\"drop\", e);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onContextMenu: function(e) {\n if (this.stopContextMenu) {\n e.stopPropagation();\n e.preventDefault();\n }\n return false;\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onDoubleClick: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"dblclick\");\n this._resetTransformEventData(e);\n },\n /**\n * Return a the id of an event.\n * returns either the pointerId or the identifier or 0 for the mouse event\n * @private\n * @param {Event} evt Event object\n */ getPointerId: function(evt) {\n var changedTouches = evt.changedTouches;\n if (changedTouches) {\n return changedTouches[0] && changedTouches[0].identifier;\n }\n if (this.enablePointerEvents) {\n return evt.pointerId;\n }\n return -1;\n },\n /**\n * Determines if an event has the id of the event that is considered main\n * @private\n * @param {evt} event Event object\n */ _isMainEvent: function(evt) {\n if (evt.isPrimary === true) {\n return true;\n }\n if (evt.isPrimary === false) {\n return false;\n }\n if (evt.type === \"touchend\" && evt.touches.length === 0) {\n return true;\n }\n if (evt.changedTouches) {\n return evt.changedTouches[0].identifier === this.mainTouchId;\n }\n return true;\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onTouchStart: function(e) {\n e.preventDefault();\n if (this.mainTouchId === null) {\n this.mainTouchId = this.getPointerId(e);\n }\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n addListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n addListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n // Unbind mousedown to prevent double triggers from touch devices\n removeListener(canvasElement, eventTypePrefix + \"down\", this._onMouseDown);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseDown: function(e) {\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n removeListener(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n addListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n addListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onTouchEnd: function(e) {\n if (e.touches.length > 0) {\n // if there are still touches stop here\n return;\n }\n this.__onMouseUp(e);\n this._resetTransformEventData();\n this.mainTouchId = null;\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n var _this = this;\n if (this._willAddMouseDown) {\n clearTimeout(this._willAddMouseDown);\n }\n this._willAddMouseDown = setTimeout(function() {\n // Wait 400ms before rebinding mousedown to prevent double triggers\n // from touch devices\n addListener(_this.upperCanvasEl, eventTypePrefix + \"down\", _this._onMouseDown);\n _this._willAddMouseDown = 0;\n }, 400);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */ _onMouseUp: function(e) {\n this.__onMouseUp(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n if (this._isMainEvent(e)) {\n removeListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n removeListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n addListener(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */ _onMouseMove: function(e) {\n !this.allowTouchScrolling && e.preventDefault && e.preventDefault();\n this.__onMouseMove(e);\n },\n /**\n * @private\n */ _onResize: function() {\n this.calcOffset();\n },\n /**\n * Decides whether the canvas should be redrawn in mouseup and mousedown events.\n * @private\n * @param {Object} target\n */ _shouldRender: function(target) {\n var activeObject = this._activeObject;\n if (!!activeObject !== !!target || activeObject && target && activeObject !== target) {\n // this covers: switch of target, from target to no target, selection of target\n // multiSelection with key and mouse\n return true;\n } else if (activeObject && activeObject.isEditing) {\n // if we mouse up/down over a editing textbox a cursor change,\n // there is no need to re render\n return false;\n }\n return false;\n },\n /**\n * Method that defines the actions when mouse is released on canvas.\n * The method resets the currentTransform parameters, store the image corner\n * position in the image object and render the canvas on top.\n * @private\n * @param {Event} e Event object fired on mouseup\n */ __onMouseUp: function(e) {\n var target, transform = this._currentTransform, groupSelector = this._groupSelector, shouldRender = false, isClick = !groupSelector || groupSelector.left === 0 && groupSelector.top === 0;\n this._cacheTransformEventData(e);\n target = this._target;\n this._handleEvent(e, \"up:before\");\n // if right/middle click just fire events and return\n // target undefined will make the _handleEvent search the target\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, \"up\", RIGHT_CLICK, isClick);\n }\n return;\n }\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, \"up\", MIDDLE_CLICK, isClick);\n }\n this._resetTransformEventData();\n return;\n }\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this._onMouseUpInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n if (transform) {\n this._finalizeCurrentTransform(e);\n shouldRender = transform.actionPerformed;\n }\n if (!isClick) {\n var targetWasActive = target === this._activeObject;\n this._maybeGroupObjects(e);\n if (!shouldRender) {\n shouldRender = this._shouldRender(target) || !targetWasActive && target === this._activeObject;\n }\n }\n var corner, pointer;\n if (target) {\n corner = target._findTargetCorner(this.getPointer(e, true), fabric.util.isTouchEvent(e));\n if (target.selectable && target !== this._activeObject && target.activeOn === \"up\") {\n this.setActiveObject(target, e);\n shouldRender = true;\n } else {\n var control = target.controls[corner], mouseUpHandler = control && control.getMouseUpHandler(e, target, control);\n if (mouseUpHandler) {\n pointer = this.getPointer(e);\n mouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n }\n target.isMoving = false;\n }\n // if we are ending up a transform on a different control or a new object\n // fire the original mouse up from the corner that started the transform\n if (transform && (transform.target !== target || transform.corner !== corner)) {\n var originalControl = transform.target && transform.target.controls[transform.corner], originalMouseUpHandler = originalControl && originalControl.getMouseUpHandler(e, target, control);\n pointer = pointer || this.getPointer(e);\n originalMouseUpHandler && originalMouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n this._setCursorFromEvent(e, target);\n this._handleEvent(e, \"up\", LEFT_CLICK, isClick);\n this._groupSelector = null;\n this._currentTransform = null;\n // reset the target information about which corner is selected\n target && (target.__corner = 0);\n if (shouldRender) {\n this.requestRenderAll();\n } else if (!isClick) {\n this.renderTop();\n }\n },\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @return {Fabric.Object} target return the the target found, for internal reasons.\n */ _simpleEventHandler: function(eventType, e) {\n var target = this.findTarget(e), targets = this.targets, options = {\n e: e,\n target: target,\n subTargets: targets\n };\n this.fire(eventType, options);\n target && target.fire(eventType, options);\n if (!targets) {\n return target;\n }\n for(var i = 0; i < targets.length; i++){\n targets[i].fire(eventType, options);\n }\n return target;\n },\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @param {fabric.Object} targetObj receiving event\n * @param {Number} [button] button used in the event 1 = left, 2 = middle, 3 = right\n * @param {Boolean} isClick for left button only, indicates that the mouse up happened without move.\n */ _handleEvent: function(e, eventType, button, isClick) {\n var target = this._target, targets = this.targets || [], options = {\n e: e,\n target: target,\n subTargets: targets,\n button: button || LEFT_CLICK,\n isClick: isClick || false,\n pointer: this._pointer,\n absolutePointer: this._absolutePointer,\n transform: this._currentTransform\n };\n if (eventType === \"up\") {\n options.currentTarget = this.findTarget(e);\n options.currentSubTargets = this.targets;\n }\n this.fire(\"mouse:\" + eventType, options);\n target && target.fire(\"mouse\" + eventType, options);\n for(var i = 0; i < targets.length; i++){\n targets[i].fire(\"mouse\" + eventType, options);\n }\n },\n /**\n * @private\n * @param {Event} e send the mouse event that generate the finalize down, so it can be used in the event\n */ _finalizeCurrentTransform: function(e) {\n var transform = this._currentTransform, target = transform.target, options = {\n e: e,\n target: target,\n transform: transform,\n action: transform.action\n };\n if (target._scaling) {\n target._scaling = false;\n }\n target.setCoords();\n if (transform.actionPerformed || this.stateful && target.hasStateChanged()) {\n this._fire(\"modified\", options);\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseDownInDrawingMode: function(e) {\n this._isCurrentlyDrawing = true;\n if (this.getActiveObject()) {\n this.discardActiveObject(e).requestRenderAll();\n }\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseDown(pointer, {\n e: e,\n pointer: pointer\n });\n this._handleEvent(e, \"down\");\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */ _onMouseMoveInDrawingMode: function(e) {\n if (this._isCurrentlyDrawing) {\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseMove(pointer, {\n e: e,\n pointer: pointer\n });\n }\n this.setCursor(this.freeDrawingCursor);\n this._handleEvent(e, \"move\");\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */ _onMouseUpInDrawingMode: function(e) {\n var pointer = this.getPointer(e);\n this._isCurrentlyDrawing = this.freeDrawingBrush.onMouseUp({\n e: e,\n pointer: pointer\n });\n this._handleEvent(e, \"up\");\n },\n /**\n * Method that defines the actions when mouse is clicked on canvas.\n * The method inits the currentTransform parameters and renders all the\n * canvas so the current image can be placed on the top canvas and the rest\n * in on the container one.\n * @private\n * @param {Event} e Event object fired on mousedown\n */ __onMouseDown: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"down:before\");\n var target = this._target;\n // if right click just fire events\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, \"down\", RIGHT_CLICK);\n }\n return;\n }\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, \"down\", MIDDLE_CLICK);\n }\n return;\n }\n if (this.isDrawingMode) {\n this._onMouseDownInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n // ignore if some object is being transformed at this moment\n if (this._currentTransform) {\n return;\n }\n var pointer = this._pointer;\n // save pointer for check in __onMouseUp event\n this._previousPointer = pointer;\n var shouldRender = this._shouldRender(target), shouldGroup = this._shouldGroup(e, target);\n if (this._shouldClearSelection(e, target)) {\n this.discardActiveObject(e);\n } else if (shouldGroup) {\n this._handleGrouping(e, target);\n target = this._activeObject;\n }\n if (this.selection && (!target || !target.selectable && !target.isEditing && target !== this._activeObject)) {\n this._groupSelector = {\n ex: this._absolutePointer.x,\n ey: this._absolutePointer.y,\n top: 0,\n left: 0\n };\n }\n if (target) {\n var alreadySelected = target === this._activeObject;\n if (target.selectable && target.activeOn === \"down\") {\n this.setActiveObject(target, e);\n }\n var corner = target._findTargetCorner(this.getPointer(e, true), fabric.util.isTouchEvent(e));\n target.__corner = corner;\n if (target === this._activeObject && (corner || !shouldGroup)) {\n this._setupCurrentTransform(e, target, alreadySelected);\n var control = target.controls[corner], pointer = this.getPointer(e), mouseDownHandler = control && control.getMouseDownHandler(e, target, control);\n if (mouseDownHandler) {\n mouseDownHandler(e, this._currentTransform, pointer.x, pointer.y);\n }\n }\n }\n this._handleEvent(e, \"down\");\n // we must renderAll so that we update the visuals\n (shouldRender || shouldGroup) && this.requestRenderAll();\n },\n /**\n * reset cache form common information needed during event processing\n * @private\n */ _resetTransformEventData: function() {\n this._target = null;\n this._pointer = null;\n this._absolutePointer = null;\n },\n /**\n * Cache common information needed during event processing\n * @private\n * @param {Event} e Event object fired on event\n */ _cacheTransformEventData: function(e) {\n // reset in order to avoid stale caching\n this._resetTransformEventData();\n this._pointer = this.getPointer(e, true);\n this._absolutePointer = this.restorePointerVpt(this._pointer);\n this._target = this._currentTransform ? this._currentTransform.target : this.findTarget(e) || null;\n },\n /**\n * @private\n */ _beforeTransform: function(e) {\n var t = this._currentTransform;\n this.stateful && t.target.saveState();\n this.fire(\"before:transform\", {\n e: e,\n transform: t\n });\n },\n /**\n * Method that defines the actions when mouse is hovering the canvas.\n * The currentTransform parameter will define whether the user is rotating/scaling/translating\n * an image or neither of them (only hovering). A group selection is also possible and would cancel\n * all any other type of action.\n * In case of an image transformation only the top canvas will be rendered.\n * @private\n * @param {Event} e Event object fired on mousemove\n */ __onMouseMove: function(e) {\n this._handleEvent(e, \"move:before\");\n this._cacheTransformEventData(e);\n var target, pointer;\n if (this.isDrawingMode) {\n this._onMouseMoveInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n var groupSelector = this._groupSelector;\n // We initially clicked in an empty area, so we draw a box for multiple selection\n if (groupSelector) {\n pointer = this._absolutePointer;\n groupSelector.left = pointer.x - groupSelector.ex;\n groupSelector.top = pointer.y - groupSelector.ey;\n this.renderTop();\n } else if (!this._currentTransform) {\n target = this.findTarget(e) || null;\n this._setCursorFromEvent(e, target);\n this._fireOverOutEvents(target, e);\n } else {\n this._transformObject(e);\n }\n this._handleEvent(e, \"move\");\n this._resetTransformEventData();\n },\n /**\n * Manage the mouseout, mouseover events for the fabric object on the canvas\n * @param {Fabric.Object} target the target where the target from the mousemove event\n * @param {Event} e Event object fired on mousemove\n * @private\n */ _fireOverOutEvents: function(target, e) {\n var _hoveredTarget = this._hoveredTarget, _hoveredTargets = this._hoveredTargets, targets = this.targets, length = Math.max(_hoveredTargets.length, targets.length);\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _hoveredTarget,\n evtOut: \"mouseout\",\n canvasEvtOut: \"mouse:out\",\n evtIn: \"mouseover\",\n canvasEvtIn: \"mouse:over\"\n });\n for(var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: \"mouseout\",\n evtIn: \"mouseover\"\n });\n }\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n },\n /**\n * Manage the dragEnter, dragLeave events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the onDrag event\n * @param {Event} e Event object fired on ondrag\n * @private\n */ _fireEnterLeaveEvents: function(target, e) {\n var _draggedoverTarget = this._draggedoverTarget, _hoveredTargets = this._hoveredTargets, targets = this.targets, length = Math.max(_hoveredTargets.length, targets.length);\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _draggedoverTarget,\n evtOut: \"dragleave\",\n evtIn: \"dragenter\"\n });\n for(var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: \"dragleave\",\n evtIn: \"dragenter\"\n });\n }\n this._draggedoverTarget = target;\n },\n /**\n * Manage the synthetic in/out events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the supported events\n * @param {Event} e Event object fired\n * @param {Object} config configuration for the function to work\n * @param {String} config.targetName property on the canvas where the old target is stored\n * @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out\n * @param {String} config.evtOut name of the event to fire for out\n * @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in\n * @param {String} config.evtIn name of the event to fire for in\n * @private\n */ fireSyntheticInOutEvents: function(target, e, config) {\n var inOpt, outOpt, oldTarget = config.oldTarget, outFires, inFires, targetChanged = oldTarget !== target, canvasEvtIn = config.canvasEvtIn, canvasEvtOut = config.canvasEvtOut;\n if (targetChanged) {\n inOpt = {\n e: e,\n target: target,\n previousTarget: oldTarget\n };\n outOpt = {\n e: e,\n target: oldTarget,\n nextTarget: target\n };\n }\n inFires = target && targetChanged;\n outFires = oldTarget && targetChanged;\n if (outFires) {\n canvasEvtOut && this.fire(canvasEvtOut, outOpt);\n oldTarget.fire(config.evtOut, outOpt);\n }\n if (inFires) {\n canvasEvtIn && this.fire(canvasEvtIn, inOpt);\n target.fire(config.evtIn, inOpt);\n }\n },\n /**\n * Method that defines actions when an Event Mouse Wheel\n * @param {Event} e Event object fired on mouseup\n */ __onMouseWheel: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"wheel\");\n this._resetTransformEventData();\n },\n /**\n * @private\n * @param {Event} e Event fired on mousemove\n */ _transformObject: function(e) {\n var pointer = this.getPointer(e), transform = this._currentTransform;\n transform.reset = false;\n transform.shiftKey = e.shiftKey;\n transform.altKey = e[this.centeredKey];\n this._performTransformAction(e, transform, pointer);\n transform.actionPerformed && this.requestRenderAll();\n },\n /**\n * @private\n */ _performTransformAction: function(e, transform, pointer) {\n var x = pointer.x, y = pointer.y, action = transform.action, actionPerformed = false, actionHandler = transform.actionHandler;\n // this object could be created from the function in the control handlers\n if (actionHandler) {\n actionPerformed = actionHandler(e, transform, x, y);\n }\n if (action === \"drag\" && actionPerformed) {\n transform.target.isMoving = true;\n this.setCursor(transform.target.moveCursor || this.moveCursor);\n }\n transform.actionPerformed = transform.actionPerformed || actionPerformed;\n },\n /**\n * @private\n */ _fire: fabric.controlsUtils.fireEvent,\n /**\n * Sets the cursor depending on where the canvas is being hovered.\n * Note: very buggy in Opera\n * @param {Event} e Event object\n * @param {Object} target Object that the mouse is hovering, if so.\n */ _setCursorFromEvent: function(e, target) {\n if (!target) {\n this.setCursor(this.defaultCursor);\n return false;\n }\n var hoverCursor = target.hoverCursor || this.hoverCursor, activeSelection = this._activeObject && this._activeObject.type === \"activeSelection\" ? this._activeObject : null, // only show proper corner when group selection is not active\n corner = (!activeSelection || !activeSelection.contains(target)) && target._findTargetCorner(this.getPointer(e, true));\n if (!corner) {\n if (target.subTargetCheck) {\n // hoverCursor should come from top-most subTarget,\n // so we walk the array backwards\n this.targets.concat().reverse().map(function(_target) {\n hoverCursor = _target.hoverCursor || hoverCursor;\n });\n }\n this.setCursor(hoverCursor);\n } else {\n this.setCursor(this.getCornerCursor(corner, target, e));\n }\n },\n /**\n * @private\n */ getCornerCursor: function(corner, target, e) {\n var control = target.controls[corner];\n return control.cursorStyleHandler(e, control, target);\n }\n });\n})();\n(function() {\n var min = Math.min, max = Math.max;\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n * @return {Boolean}\n */ _shouldGroup: function(e, target) {\n var activeObject = this._activeObject;\n return activeObject && this._isSelectionKeyPressed(e) && target && target.selectable && this.selection && (activeObject !== target || activeObject.type === \"activeSelection\") && !target.onSelect({\n e: e\n });\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _handleGrouping: function(e, target) {\n var activeObject = this._activeObject;\n // avoid multi select when shift click on a corner\n if (activeObject.__corner) {\n return;\n }\n if (target === activeObject) {\n // if it's a group, find target again, using activeGroup objects\n target = this.findTarget(e, true);\n // if even object is not found or we are on activeObjectCorner, bail out\n if (!target || !target.selectable) {\n return;\n }\n }\n if (activeObject && activeObject.type === \"activeSelection\") {\n this._updateActiveSelection(target, e);\n } else {\n this._createActiveSelection(target, e);\n }\n },\n /**\n * @private\n */ _updateActiveSelection: function(target, e) {\n var activeSelection = this._activeObject, currentActiveObjects = activeSelection._objects.slice(0);\n if (activeSelection.contains(target)) {\n activeSelection.removeWithUpdate(target);\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n if (activeSelection.size() === 1) {\n // activate last remaining object\n this._setActiveObject(activeSelection.item(0), e);\n }\n } else {\n activeSelection.addWithUpdate(target);\n this._hoveredTarget = activeSelection;\n this._hoveredTargets = this.targets.concat();\n }\n this._fireSelectionEvents(currentActiveObjects, e);\n },\n /**\n * @private\n */ _createActiveSelection: function(target, e) {\n var currentActives = this.getActiveObjects(), group = this._createGroup(target);\n this._hoveredTarget = group;\n // ISSUE 4115: should we consider subTargets here?\n // this._hoveredTargets = [];\n // this._hoveredTargets = this.targets.concat();\n this._setActiveObject(group, e);\n this._fireSelectionEvents(currentActives, e);\n },\n /**\n * @private\n * @param {Object} target\n */ _createGroup: function(target) {\n var objects = this._objects, isActiveLower = objects.indexOf(this._activeObject) < objects.indexOf(target), groupObjects = isActiveLower ? [\n this._activeObject,\n target\n ] : [\n target,\n this._activeObject\n ];\n this._activeObject.isEditing && this._activeObject.exitEditing();\n return new fabric.ActiveSelection(groupObjects, {\n canvas: this\n });\n },\n /**\n * @private\n * @param {Event} e mouse event\n */ _groupSelectedObjects: function(e) {\n var group = this._collectObjects(e), aGroup;\n // do not create group for 1 element only\n if (group.length === 1) {\n this.setActiveObject(group[0], e);\n } else if (group.length > 1) {\n aGroup = new fabric.ActiveSelection(group.reverse(), {\n canvas: this\n });\n this.setActiveObject(aGroup, e);\n }\n },\n /**\n * @private\n */ _collectObjects: function(e) {\n var group = [], currentObject, x1 = this._groupSelector.ex, y1 = this._groupSelector.ey, x2 = x1 + this._groupSelector.left, y2 = y1 + this._groupSelector.top, selectionX1Y1 = new fabric.Point(min(x1, x2), min(y1, y2)), selectionX2Y2 = new fabric.Point(max(x1, x2), max(y1, y2)), allowIntersect = !this.selectionFullyContained, isClick = x1 === x2 && y1 === y2;\n // we iterate reverse order to collect top first in case of click.\n for(var i = this._objects.length; i--;){\n currentObject = this._objects[i];\n if (!currentObject || !currentObject.selectable || !currentObject.visible) {\n continue;\n }\n if (allowIntersect && currentObject.intersectsWithRect(selectionX1Y1, selectionX2Y2, true) || currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2, true) || allowIntersect && currentObject.containsPoint(selectionX1Y1, null, true) || allowIntersect && currentObject.containsPoint(selectionX2Y2, null, true)) {\n group.push(currentObject);\n // only add one object if it's a click\n if (isClick) {\n break;\n }\n }\n }\n if (group.length > 1) {\n group = group.filter(function(object) {\n return !object.onSelect({\n e: e\n });\n });\n }\n return group;\n },\n /**\n * @private\n */ _maybeGroupObjects: function(e) {\n if (this.selection && this._groupSelector) {\n this._groupSelectedObjects(e);\n }\n this.setCursor(this.defaultCursor);\n // clear selection and current transformation\n this._groupSelector = null;\n }\n });\n})();\n(function() {\n fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Exports canvas element to a dataurl image. Note that when multiplier is used, cropping is scaled appropriately\n * @param {Object} [options] Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by, to have consistent\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 2.0.0\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n * @see {@link http://jsfiddle.net/fabricjs/NfZVb/|jsFiddle demo}\n * @example Generate jpeg dataURL with lower quality\n * var dataURL = canvas.toDataURL({\n * format: 'jpeg',\n * quality: 0.8\n * });\n * @example Generate cropped png dataURL (clipping of canvas)\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * left: 100,\n * top: 100,\n * width: 200,\n * height: 200\n * });\n * @example Generate double scaled png dataURL\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * multiplier: 2\n * });\n */ toDataURL: function(options) {\n options || (options = {});\n var format = options.format || \"png\", quality = options.quality || 1, multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? this.getRetinaScaling() : 1), canvasEl = this.toCanvasElement(multiplier, options);\n return fabric.util.toDataURL(canvasEl, format, quality);\n },\n /**\n * Create a new HTMLCanvas element painted with the current canvas content.\n * No need to resize the actual one or repaint it.\n * Will transfer object ownership to a new canvas, paint it, and set everything back.\n * This is an intermediary step used to get to a dataUrl but also it is useful to\n * create quick image copies of a canvas without passing for the dataUrl string\n * @param {Number} [multiplier] a zoom factor.\n * @param {Object} [cropping] Cropping informations\n * @param {Number} [cropping.left] Cropping left offset.\n * @param {Number} [cropping.top] Cropping top offset.\n * @param {Number} [cropping.width] Cropping width.\n * @param {Number} [cropping.height] Cropping height.\n */ toCanvasElement: function(multiplier, cropping) {\n multiplier = multiplier || 1;\n cropping = cropping || {};\n var scaledWidth = (cropping.width || this.width) * multiplier, scaledHeight = (cropping.height || this.height) * multiplier, zoom = this.getZoom(), originalWidth = this.width, originalHeight = this.height, newZoom = zoom * multiplier, vp = this.viewportTransform, translateX = (vp[4] - (cropping.left || 0)) * multiplier, translateY = (vp[5] - (cropping.top || 0)) * multiplier, originalInteractive = this.interactive, newVp = [\n newZoom,\n 0,\n 0,\n newZoom,\n translateX,\n translateY\n ], originalRetina = this.enableRetinaScaling, canvasEl = fabric.util.createCanvasElement(), originalContextTop = this.contextTop;\n canvasEl.width = scaledWidth;\n canvasEl.height = scaledHeight;\n this.contextTop = null;\n this.enableRetinaScaling = false;\n this.interactive = false;\n this.viewportTransform = newVp;\n this.width = scaledWidth;\n this.height = scaledHeight;\n this.calcViewportBoundaries();\n this.renderCanvas(canvasEl.getContext(\"2d\"), this._objects);\n this.viewportTransform = vp;\n this.width = originalWidth;\n this.height = originalHeight;\n this.calcViewportBoundaries();\n this.interactive = originalInteractive;\n this.enableRetinaScaling = originalRetina;\n this.contextTop = originalContextTop;\n return canvasEl;\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Populates canvas with data from the specified JSON.\n * JSON format must conform to the one of {@link fabric.Canvas#toJSON}\n * @param {String|Object} json JSON string or object\n * @param {Function} callback Callback, invoked when json is parsed\n * and corresponding objects (e.g: {@link fabric.Image})\n * are initialized\n * @param {Function} [reviver] Method for further parsing of JSON elements, called after each fabric object created.\n * @return {fabric.Canvas} instance\n * @chainable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#deserialization}\n * @see {@link http://jsfiddle.net/fabricjs/fmgXt/|jsFiddle demo}\n * @example loadFromJSON\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas));\n * @example loadFromJSON with reviver\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas), function(o, object) {\n * // `o` = json object\n * // `object` = fabric.Object instance\n * // ... do some stuff ...\n * });\n */ loadFromJSON: function(json, callback, reviver) {\n if (!json) {\n return;\n }\n // serialize if it wasn't already\n var serialized = typeof json === \"string\" ? JSON.parse(json) : fabric.util.object.clone(json);\n var _this = this, clipPath = serialized.clipPath, renderOnAddRemove = this.renderOnAddRemove;\n this.renderOnAddRemove = false;\n delete serialized.clipPath;\n this._enlivenObjects(serialized.objects, function(enlivenedObjects) {\n _this.clear();\n _this._setBgOverlay(serialized, function() {\n if (clipPath) {\n _this._enlivenObjects([\n clipPath\n ], function(enlivenedCanvasClip) {\n _this.clipPath = enlivenedCanvasClip[0];\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n });\n } else {\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n }\n });\n }, reviver);\n return this;\n },\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Array} restored canvas objects\n * @param {Function} cached renderOnAddRemove callback\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */ __setupCanvas: function(serialized, enlivenedObjects, renderOnAddRemove, callback) {\n var _this = this;\n enlivenedObjects.forEach(function(obj, index) {\n // we splice the array just in case some custom classes restored from JSON\n // will add more object to canvas at canvas init.\n _this.insertAt(obj, index);\n });\n this.renderOnAddRemove = renderOnAddRemove;\n // remove parts i cannot set as options\n delete serialized.objects;\n delete serialized.backgroundImage;\n delete serialized.overlayImage;\n delete serialized.background;\n delete serialized.overlay;\n // this._initOptions does too many things to just\n // call it. Normally loading an Object from JSON\n // create the Object instance. Here the Canvas is\n // already an instance and we are just loading things over it\n this._setOptions(serialized);\n this.renderAll();\n callback && callback();\n },\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */ _setBgOverlay: function(serialized, callback) {\n var loaded = {\n backgroundColor: false,\n overlayColor: false,\n backgroundImage: false,\n overlayImage: false\n };\n if (!serialized.backgroundImage && !serialized.overlayImage && !serialized.background && !serialized.overlay) {\n callback && callback();\n return;\n }\n var cbIfLoaded = function() {\n if (loaded.backgroundImage && loaded.overlayImage && loaded.backgroundColor && loaded.overlayColor) {\n callback && callback();\n }\n };\n this.__setBgOverlay(\"backgroundImage\", serialized.backgroundImage, loaded, cbIfLoaded);\n this.__setBgOverlay(\"overlayImage\", serialized.overlayImage, loaded, cbIfLoaded);\n this.__setBgOverlay(\"backgroundColor\", serialized.background, loaded, cbIfLoaded);\n this.__setBgOverlay(\"overlayColor\", serialized.overlay, loaded, cbIfLoaded);\n },\n /**\n * @private\n * @param {String} property Property to set (backgroundImage, overlayImage, backgroundColor, overlayColor)\n * @param {(Object|String)} value Value to set\n * @param {Object} loaded Set loaded property to true if property is set\n * @param {Object} callback Callback function to invoke after property is set\n */ __setBgOverlay: function(property, value, loaded, callback) {\n var _this = this;\n if (!value) {\n loaded[property] = true;\n callback && callback();\n return;\n }\n if (property === \"backgroundImage\" || property === \"overlayImage\") {\n fabric.util.enlivenObjects([\n value\n ], function(enlivedObject) {\n _this[property] = enlivedObject[0];\n loaded[property] = true;\n callback && callback();\n });\n } else {\n this[\"set\" + fabric.util.string.capitalize(property, true)](value, function() {\n loaded[property] = true;\n callback && callback();\n });\n }\n },\n /**\n * @private\n * @param {Array} objects\n * @param {Function} callback\n * @param {Function} [reviver]\n */ _enlivenObjects: function(objects, callback, reviver) {\n if (!objects || objects.length === 0) {\n callback && callback([]);\n return;\n }\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, null, reviver);\n },\n /**\n * @private\n * @param {String} format\n * @param {Function} callback\n */ _toDataURL: function(format, callback) {\n this.clone(function(clone) {\n callback(clone.toDataURL(format));\n });\n },\n /**\n * @private\n * @param {String} format\n * @param {Number} multiplier\n * @param {Function} callback\n */ _toDataURLWithMultiplier: function(format, multiplier, callback) {\n this.clone(function(clone) {\n callback(clone.toDataURLWithMultiplier(format, multiplier));\n });\n },\n /**\n * Clones canvas instance\n * @param {Object} [callback] Receives cloned instance as a first argument\n * @param {Array} [properties] Array of properties to include in the cloned canvas and children\n */ clone: function(callback, properties) {\n var data = JSON.stringify(this.toJSON(properties));\n this.cloneWithoutData(function(clone) {\n clone.loadFromJSON(data, function() {\n callback && callback(clone);\n });\n });\n },\n /**\n * Clones canvas instance without cloning existing data.\n * This essentially copies canvas dimensions, clipping properties, etc.\n * but leaves data empty (so that you can populate it with your own)\n * @param {Object} [callback] Receives cloned instance as a first argument\n */ cloneWithoutData: function(callback) {\n var el = fabric.util.createCanvasElement();\n el.width = this.width;\n el.height = this.height;\n var clone = new fabric.Canvas(el);\n if (this.backgroundImage) {\n clone.setBackgroundImage(this.backgroundImage.src, function() {\n clone.renderAll();\n callback && callback(clone);\n });\n clone.backgroundImageOpacity = this.backgroundImageOpacity;\n clone.backgroundImageStretch = this.backgroundImageStretch;\n } else {\n callback && callback(clone);\n }\n }\n});\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, clone = fabric.util.object.clone, toFixed = fabric.util.toFixed, capitalize = fabric.util.string.capitalize, degreesToRadians = fabric.util.degreesToRadians, objectCaching = !fabric.isLikelyNode, ALIASING_LIMIT = 2;\n if (fabric.Object) {\n return;\n }\n /**\n * Root object class from which all 2d shape classes inherit from\n * @class fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#objects}\n * @see {@link fabric.Object#initialize} for constructor definition\n *\n * @fires added\n * @fires removed\n *\n * @fires selected\n * @fires deselected\n * @fires modified\n * @fires modified\n * @fires moved\n * @fires scaled\n * @fires rotated\n * @fires skewed\n *\n * @fires rotating\n * @fires scaling\n * @fires moving\n * @fires skewing\n *\n * @fires mousedown\n * @fires mouseup\n * @fires mouseover\n * @fires mouseout\n * @fires mousewheel\n * @fires mousedblclick\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop\n */ fabric.Object = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.Object.prototype */ {\n /**\n * Type of an object (rect, circle, path, etc.).\n * Note that this property is meant to be read-only and not meant to be modified.\n * If you modify, certain parts of Fabric (such as JSON loading) won't work correctly.\n * @type String\n * @default\n */ type: \"object\",\n /**\n * Horizontal origin of transformation of an object (one of \"left\", \"right\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */ originX: \"left\",\n /**\n * Vertical origin of transformation of an object (one of \"top\", \"bottom\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */ originY: \"top\",\n /**\n * Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom}\n * @type Number\n * @default\n */ top: 0,\n /**\n * Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right}\n * @type Number\n * @default\n */ left: 0,\n /**\n * Object width\n * @type Number\n * @default\n */ width: 0,\n /**\n * Object height\n * @type Number\n * @default\n */ height: 0,\n /**\n * Object scale factor (horizontal)\n * @type Number\n * @default\n */ scaleX: 1,\n /**\n * Object scale factor (vertical)\n * @type Number\n * @default\n */ scaleY: 1,\n /**\n * When true, an object is rendered as flipped horizontally\n * @type Boolean\n * @default\n */ flipX: false,\n /**\n * When true, an object is rendered as flipped vertically\n * @type Boolean\n * @default\n */ flipY: false,\n /**\n * Opacity of an object\n * @type Number\n * @default\n */ opacity: 1,\n /**\n * Angle of rotation of an object (in degrees)\n * @type Number\n * @default\n */ angle: 0,\n /**\n * Angle of skew on x axes of an object (in degrees)\n * @type Number\n * @default\n */ skewX: 0,\n /**\n * Angle of skew on y axes of an object (in degrees)\n * @type Number\n * @default\n */ skewY: 0,\n /**\n * Size of object's controlling corners (in pixels)\n * @type Number\n * @default\n */ cornerSize: 13,\n /**\n * Size of object's controlling corners when touch interaction is detected\n * @type Number\n * @default\n */ touchCornerSize: 24,\n /**\n * When true, object's controlling corners are rendered as transparent inside (i.e. stroke instead of fill)\n * @type Boolean\n * @default\n */ transparentCorners: true,\n /**\n * Default cursor value used when hovering over this object on canvas\n * @type String\n * @default\n */ hoverCursor: null,\n /**\n * Default cursor value used when moving this object on canvas\n * @type String\n * @default\n */ moveCursor: null,\n /**\n * Padding between object and its controlling borders (in pixels)\n * @type Number\n * @default\n */ padding: 0,\n /**\n * Color of controlling borders of an object (when it's active)\n * @type String\n * @default\n */ borderColor: \"rgb(178,204,255)\",\n /**\n * Array specifying dash pattern of an object's borders (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */ borderDashArray: null,\n /**\n * Color of controlling corners of an object (when it's active)\n * @type String\n * @default\n */ cornerColor: \"rgb(178,204,255)\",\n /**\n * Color of controlling corners of an object (when it's active and transparentCorners false)\n * @since 1.6.2\n * @type String\n * @default\n */ cornerStrokeColor: null,\n /**\n * Specify style of control, 'rect' or 'circle'\n * @since 1.6.2\n * @type String\n */ cornerStyle: \"rect\",\n /**\n * Array specifying dash pattern of an object's control (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */ cornerDashArray: null,\n /**\n * When true, this object will use center point as the origin of transformation\n * when being scaled via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredScaling: false,\n /**\n * When true, this object will use center point as the origin of transformation\n * when being rotated via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredRotation: true,\n /**\n * Color of object's fill\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ fill: \"rgb(0,0,0)\",\n /**\n * Fill rule used to fill an object\n * accepted values are nonzero, evenodd\n * Backwards incompatibility note: This property was used for setting globalCompositeOperation until v1.4.12 (use `fabric.Object#globalCompositeOperation` instead)\n * @type String\n * @default\n */ fillRule: \"nonzero\",\n /**\n * Composite rule used for canvas globalCompositeOperation\n * @type String\n * @default\n */ globalCompositeOperation: \"source-over\",\n /**\n * Background color of an object.\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ backgroundColor: \"\",\n /**\n * Selection Background color of an object. colored layer behind the object when it is active.\n * does not mix good with globalCompositeOperation methods.\n * @type String\n * @default\n */ selectionBackgroundColor: \"\",\n /**\n * When defined, an object is rendered via stroke and this property specifies its color\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ stroke: null,\n /**\n * Width of a stroke used to render this object\n * @type Number\n * @default\n */ strokeWidth: 1,\n /**\n * Array specifying dash pattern of an object's stroke (stroke must be defined)\n * @type Array\n */ strokeDashArray: null,\n /**\n * Line offset of an object's stroke\n * @type Number\n * @default\n */ strokeDashOffset: 0,\n /**\n * Line endings style of an object's stroke (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */ strokeLineCap: \"butt\",\n /**\n * Corner style of an object's stroke (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */ strokeLineJoin: \"miter\",\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of an object's stroke\n * @type Number\n * @default\n */ strokeMiterLimit: 4,\n /**\n * Shadow object representing shadow of this shape\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * Opacity of object's controlling borders when object is active and moving\n * @type Number\n * @default\n */ borderOpacityWhenMoving: 0.4,\n /**\n * Scale factor of object's controlling borders\n * bigger number will make a thicker border\n * border is 1, so this is basically a border thickness\n * since there is no way to change the border itself.\n * @type Number\n * @default\n */ borderScaleFactor: 1,\n /**\n * Minimum allowed scale value of an object\n * @type Number\n * @default\n */ minScaleLimit: 0,\n /**\n * When set to `false`, an object can not be selected for modification (using either point-click-based or group-based selection).\n * But events still fire on it.\n * @type Boolean\n * @default\n */ selectable: true,\n /**\n * When set to `false`, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4\n * @type Boolean\n * @default\n */ evented: true,\n /**\n * When set to `false`, an object is not rendered on canvas\n * @type Boolean\n * @default\n */ visible: true,\n /**\n * When set to `false`, object's controls are not displayed and can not be used to manipulate object\n * @type Boolean\n * @default\n */ hasControls: true,\n /**\n * When set to `false`, object's controlling borders are not rendered\n * @type Boolean\n * @default\n */ hasBorders: true,\n /**\n * When set to `true`, objects are \"found\" on canvas on per-pixel basis rather than according to bounding box\n * @type Boolean\n * @default\n */ perPixelTargetFind: false,\n /**\n * When `false`, default object's values are not included in its serialization\n * @type Boolean\n * @default\n */ includeDefaultValues: true,\n /**\n * When `true`, object horizontal movement is locked\n * @type Boolean\n * @default\n */ lockMovementX: false,\n /**\n * When `true`, object vertical movement is locked\n * @type Boolean\n * @default\n */ lockMovementY: false,\n /**\n * When `true`, object rotation is locked\n * @type Boolean\n * @default\n */ lockRotation: false,\n /**\n * When `true`, object horizontal scaling is locked\n * @type Boolean\n * @default\n */ lockScalingX: false,\n /**\n * When `true`, object vertical scaling is locked\n * @type Boolean\n * @default\n */ lockScalingY: false,\n /**\n * When `true`, object horizontal skewing is locked\n * @type Boolean\n * @default\n */ lockSkewingX: false,\n /**\n * When `true`, object vertical skewing is locked\n * @type Boolean\n * @default\n */ lockSkewingY: false,\n /**\n * When `true`, object cannot be flipped by scaling into negative values\n * @type Boolean\n * @default\n */ lockScalingFlip: false,\n /**\n * When `true`, object is not exported in OBJECT/JSON\n * @since 1.6.3\n * @type Boolean\n * @default\n */ excludeFromExport: false,\n /**\n * When `true`, object is cached on an additional canvas.\n * When `false`, object is not cached unless necessary ( clipPath )\n * default to true\n * @since 1.7.0\n * @type Boolean\n * @default true\n */ objectCaching: objectCaching,\n /**\n * When `true`, object properties are checked for cache invalidation. In some particular\n * situation you may want this to be disabled ( spray brush, very big, groups)\n * or if your application does not allow you to modify properties for groups child you want\n * to disable it for groups.\n * default to false\n * since 1.7.0\n * @type Boolean\n * @default false\n */ statefullCache: false,\n /**\n * When `true`, cache does not get updated during scaling. The picture will get blocky if scaled\n * too much and will be redrawn with correct details at the end of scaling.\n * this setting is performance and application dependant.\n * default to true\n * since 1.7.0\n * @type Boolean\n * @default true\n */ noScaleCache: true,\n /**\n * When `false`, the stoke width will scale with the object.\n * When `true`, the stroke will always match the exact pixel size entered for stroke width.\n * this Property does not work on Text classes or drawing call that uses strokeText,fillText methods\n * default to false\n * @since 2.6.0\n * @type Boolean\n * @default false\n * @type Boolean\n * @default false\n */ strokeUniform: false,\n /**\n * When set to `true`, object's cache will be rerendered next render call.\n * since 1.7.0\n * @type Boolean\n * @default true\n */ dirty: true,\n /**\n * keeps the value of the last hovered corner during mouse move.\n * 0 is no corner, or 'mt', 'ml', 'mtr' etc..\n * It should be private, but there is no harm in using it as\n * a read-only property.\n * @type number|string|any\n * @default 0\n */ __corner: 0,\n /**\n * Determines if the fill or the stroke is drawn first (one of \"fill\" or \"stroke\")\n * @type String\n * @default\n */ paintFirst: \"fill\",\n /**\n * When 'down', object is set to active on mousedown/touchstart\n * When 'up', object is set to active on mouseup/touchend\n * Experimental. Let's see if this breaks anything before supporting officially\n * @private\n * since 4.4.0\n * @type String\n * @default 'down'\n */ activeOn: \"down\",\n /**\n * List of properties to consider when checking if state\n * of an object is changed (fabric.Object#hasStateChanged)\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: (\"top left width height scaleX scaleY flipX flipY originX originY transformMatrix \" + \"stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit \" + \"angle opacity fill globalCompositeOperation shadow visible backgroundColor \" + \"skewX skewY fillRule paintFirst clipPath strokeUniform\").split(\" \"),\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */ cacheProperties: (\"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform\" + \" strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath\").split(\" \"),\n /**\n * List of properties to consider for animating colors.\n * @type Array\n */ colorProperties: \"fill stroke backgroundColor\".split(\" \"),\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the object has rendered, and the context is placed in the center\n * of the object cacheCanvas.\n * If you want 0,0 of a clipPath to align with an object center, use clipPath.originX/Y to 'center'\n * @type fabric.Object\n */ clipPath: undefined,\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will make the object clip to the outside of the clipPath\n * since 2.4.0\n * @type boolean\n * @default false\n */ inverted: false,\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will have its top and left relative to canvas, and will\n * not be influenced by the object transform. This will make the clipPath relative\n * to the canvas, but clipping just a particular object.\n * WARNING this is beta, this feature may change or be renamed.\n * since 2.4.0\n * @type boolean\n * @default false\n */ absolutePositioned: false,\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n /**\n * Create a the canvas used to keep the cached copy of the object\n * @private\n */ _createCacheCanvas: function() {\n this._cacheProperties = {};\n this._cacheCanvas = fabric.util.createCanvasElement();\n this._cacheContext = this._cacheCanvas.getContext(\"2d\");\n this._updateCacheCanvas();\n // if canvas gets created, is empty, so dirty.\n this.dirty = true;\n },\n /**\n * Limit the cache dimensions so that X * Y do not cross fabric.perfLimitSizeTotal\n * and each side do not cross fabric.cacheSideLimit\n * those numbers are configurable so that you can get as much detail as you want\n * making bargain with performances.\n * @param {Object} dims\n * @param {Object} dims.width width of canvas\n * @param {Object} dims.height height of canvas\n * @param {Object} dims.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @param {Object} dims.zoomY zoomY zoom value to unscale the canvas before drawing cache\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _limitCacheSize: function(dims) {\n var perfLimitSizeTotal = fabric.perfLimitSizeTotal, width = dims.width, height = dims.height, max = fabric.maxCacheSideLimit, min = fabric.minCacheSideLimit;\n if (width <= max && height <= max && width * height <= perfLimitSizeTotal) {\n if (width < min) {\n dims.width = min;\n }\n if (height < min) {\n dims.height = min;\n }\n return dims;\n }\n var ar = width / height, limitedDims = fabric.util.limitDimsByArea(ar, perfLimitSizeTotal), capValue = fabric.util.capValue, x = capValue(min, limitedDims.x, max), y = capValue(min, limitedDims.y, max);\n if (width > x) {\n dims.zoomX /= width / x;\n dims.width = x;\n dims.capped = true;\n }\n if (height > y) {\n dims.zoomY /= height / y;\n dims.height = y;\n dims.capped = true;\n }\n return dims;\n },\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @return {Object}.x width of object to be cached\n * @return {Object}.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _getCacheCanvasDimensions: function() {\n var objectScale = this.getTotalObjectScaling(), // caculate dimensions without skewing\n dim = this._getTransformedDimensions(0, 0), neededX = dim.x * objectScale.scaleX / this.scaleX, neededY = dim.y * objectScale.scaleY / this.scaleY;\n return {\n // for sure this ALIASING_LIMIT is slightly creating problem\n // in situation in which the cache canvas gets an upper limit\n // also objectScale contains already scaleX and scaleY\n width: neededX + ALIASING_LIMIT,\n height: neededY + ALIASING_LIMIT,\n zoomX: objectScale.scaleX,\n zoomY: objectScale.scaleY,\n x: neededX,\n y: neededY\n };\n },\n /**\n * Update width and height of the canvas for cache\n * returns true or false if canvas needed resize.\n * @private\n * @return {Boolean} true if the canvas has been resized\n */ _updateCacheCanvas: function() {\n var targetCanvas = this.canvas;\n if (this.noScaleCache && targetCanvas && targetCanvas._currentTransform) {\n var target = targetCanvas._currentTransform.target, action = targetCanvas._currentTransform.action;\n if (this === target && action.slice && action.slice(0, 5) === \"scale\") {\n return false;\n }\n }\n var canvas = this._cacheCanvas, dims = this._limitCacheSize(this._getCacheCanvasDimensions()), minCacheSize = fabric.minCacheSideLimit, width = dims.width, height = dims.height, drawingWidth, drawingHeight, zoomX = dims.zoomX, zoomY = dims.zoomY, dimensionsChanged = width !== this.cacheWidth || height !== this.cacheHeight, zoomChanged = this.zoomX !== zoomX || this.zoomY !== zoomY, shouldRedraw = dimensionsChanged || zoomChanged, additionalWidth = 0, additionalHeight = 0, shouldResizeCanvas = false;\n if (dimensionsChanged) {\n var canvasWidth = this._cacheCanvas.width, canvasHeight = this._cacheCanvas.height, sizeGrowing = width > canvasWidth || height > canvasHeight, sizeShrinking = (width < canvasWidth * 0.9 || height < canvasHeight * 0.9) && canvasWidth > minCacheSize && canvasHeight > minCacheSize;\n shouldResizeCanvas = sizeGrowing || sizeShrinking;\n if (sizeGrowing && !dims.capped && (width > minCacheSize || height > minCacheSize)) {\n additionalWidth = width * 0.1;\n additionalHeight = height * 0.1;\n }\n }\n if (this instanceof fabric.Text && this.path) {\n shouldRedraw = true;\n shouldResizeCanvas = true;\n additionalWidth += this.getHeightOfLine(0) * this.zoomX;\n additionalHeight += this.getHeightOfLine(0) * this.zoomY;\n }\n if (shouldRedraw) {\n if (shouldResizeCanvas) {\n canvas.width = Math.ceil(width + additionalWidth);\n canvas.height = Math.ceil(height + additionalHeight);\n } else {\n this._cacheContext.setTransform(1, 0, 0, 1, 0, 0);\n this._cacheContext.clearRect(0, 0, canvas.width, canvas.height);\n }\n drawingWidth = dims.x / 2;\n drawingHeight = dims.y / 2;\n this.cacheTranslationX = Math.round(canvas.width / 2 - drawingWidth) + drawingWidth;\n this.cacheTranslationY = Math.round(canvas.height / 2 - drawingHeight) + drawingHeight;\n this.cacheWidth = width;\n this.cacheHeight = height;\n this._cacheContext.translate(this.cacheTranslationX, this.cacheTranslationY);\n this._cacheContext.scale(zoomX, zoomY);\n this.zoomX = zoomX;\n this.zoomY = zoomY;\n return true;\n }\n return false;\n },\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */ setOptions: function(options) {\n this._setOptions(options);\n this._initGradient(options.fill, \"fill\");\n this._initGradient(options.stroke, \"stroke\");\n this._initPattern(options.fill, \"fill\");\n this._initPattern(options.stroke, \"stroke\");\n },\n /**\n * Transforms context when rendering an object\n * @param {CanvasRenderingContext2D} ctx Context\n */ transform: function(ctx) {\n var needFullTransform = this.group && !this.group._transformDone || this.group && this.canvas && ctx === this.canvas.contextTop;\n var m = this.calcTransformMatrix(!needFullTransform);\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n },\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var NUM_FRACTION_DIGITS = fabric.Object.NUM_FRACTION_DIGITS, object = {\n type: this.type,\n version: fabric.version,\n originX: this.originX,\n originY: this.originY,\n left: toFixed(this.left, NUM_FRACTION_DIGITS),\n top: toFixed(this.top, NUM_FRACTION_DIGITS),\n width: toFixed(this.width, NUM_FRACTION_DIGITS),\n height: toFixed(this.height, NUM_FRACTION_DIGITS),\n fill: this.fill && this.fill.toObject ? this.fill.toObject() : this.fill,\n stroke: this.stroke && this.stroke.toObject ? this.stroke.toObject() : this.stroke,\n strokeWidth: toFixed(this.strokeWidth, NUM_FRACTION_DIGITS),\n strokeDashArray: this.strokeDashArray ? this.strokeDashArray.concat() : this.strokeDashArray,\n strokeLineCap: this.strokeLineCap,\n strokeDashOffset: this.strokeDashOffset,\n strokeLineJoin: this.strokeLineJoin,\n strokeUniform: this.strokeUniform,\n strokeMiterLimit: toFixed(this.strokeMiterLimit, NUM_FRACTION_DIGITS),\n scaleX: toFixed(this.scaleX, NUM_FRACTION_DIGITS),\n scaleY: toFixed(this.scaleY, NUM_FRACTION_DIGITS),\n angle: toFixed(this.angle, NUM_FRACTION_DIGITS),\n flipX: this.flipX,\n flipY: this.flipY,\n opacity: toFixed(this.opacity, NUM_FRACTION_DIGITS),\n shadow: this.shadow && this.shadow.toObject ? this.shadow.toObject() : this.shadow,\n visible: this.visible,\n backgroundColor: this.backgroundColor,\n fillRule: this.fillRule,\n paintFirst: this.paintFirst,\n globalCompositeOperation: this.globalCompositeOperation,\n skewX: toFixed(this.skewX, NUM_FRACTION_DIGITS),\n skewY: toFixed(this.skewY, NUM_FRACTION_DIGITS)\n };\n if (this.clipPath && !this.clipPath.excludeFromExport) {\n object.clipPath = this.clipPath.toObject(propertiesToInclude);\n object.clipPath.inverted = this.clipPath.inverted;\n object.clipPath.absolutePositioned = this.clipPath.absolutePositioned;\n }\n fabric.util.populateWithProperties(this, object, propertiesToInclude);\n if (!this.includeDefaultValues) {\n object = this._removeDefaultValues(object);\n }\n return object;\n },\n /**\n * Returns (dataless) object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n // will be overwritten by subclasses\n return this.toObject(propertiesToInclude);\n },\n /**\n * @private\n * @param {Object} object\n */ _removeDefaultValues: function(object) {\n var prototype = fabric.util.getKlass(object.type).prototype, stateProperties = prototype.stateProperties;\n stateProperties.forEach(function(prop) {\n if (prop === \"left\" || prop === \"top\") {\n return;\n }\n if (object[prop] === prototype[prop]) {\n delete object[prop];\n }\n // basically a check for [] === []\n if (Array.isArray(object[prop]) && Array.isArray(prototype[prop]) && object[prop].length === 0 && prototype[prop].length === 0) {\n delete object[prop];\n }\n });\n return object;\n },\n /**\n * Returns a string representation of an instance\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Return the object scale factor counting also the group scaling\n * @return {Object} object with scaleX and scaleY properties\n */ getObjectScaling: function() {\n // if the object is a top level one, on the canvas, we go for simple aritmetic\n // otherwise the complex method with angles will return approximations and decimals\n // and will likely kill the cache when not needed\n // https://github.com/fabricjs/fabric.js/issues/7157\n if (!this.group) {\n return {\n scaleX: this.scaleX,\n scaleY: this.scaleY\n };\n }\n // if we are inside a group total zoom calculation is complex, we defer to generic matrices\n var options = fabric.util.qrDecompose(this.calcTransformMatrix());\n return {\n scaleX: Math.abs(options.scaleX),\n scaleY: Math.abs(options.scaleY)\n };\n },\n /**\n * Return the object scale factor counting also the group scaling, zoom and retina\n * @return {Object} object with scaleX and scaleY properties\n */ getTotalObjectScaling: function() {\n var scale = this.getObjectScaling(), scaleX = scale.scaleX, scaleY = scale.scaleY;\n if (this.canvas) {\n var zoom = this.canvas.getZoom();\n var retina = this.canvas.getRetinaScaling();\n scaleX *= zoom * retina;\n scaleY *= zoom * retina;\n }\n return {\n scaleX: scaleX,\n scaleY: scaleY\n };\n },\n /**\n * Return the object opacity counting also the group property\n * @return {Number}\n */ getObjectOpacity: function() {\n var opacity = this.opacity;\n if (this.group) {\n opacity *= this.group.getObjectOpacity();\n }\n return opacity;\n },\n /**\n * @private\n * @param {String} key\n * @param {*} value\n * @return {fabric.Object} thisArg\n */ _set: function(key, value) {\n var shouldConstrainValue = key === \"scaleX\" || key === \"scaleY\", isChanged = this[key] !== value, groupNeedsUpdate = false;\n if (shouldConstrainValue) {\n value = this._constrainScale(value);\n }\n if (key === \"scaleX\" && value < 0) {\n this.flipX = !this.flipX;\n value *= -1;\n } else if (key === \"scaleY\" && value < 0) {\n this.flipY = !this.flipY;\n value *= -1;\n } else if (key === \"shadow\" && value && !(value instanceof fabric.Shadow)) {\n value = new fabric.Shadow(value);\n } else if (key === \"dirty\" && this.group) {\n this.group.set(\"dirty\", value);\n }\n this[key] = value;\n if (isChanged) {\n groupNeedsUpdate = this.group && this.group.isOnACache();\n if (this.cacheProperties.indexOf(key) > -1) {\n this.dirty = true;\n groupNeedsUpdate && this.group.set(\"dirty\", true);\n } else if (groupNeedsUpdate && this.stateProperties.indexOf(key) > -1) {\n this.group.set(\"dirty\", true);\n }\n }\n return this;\n },\n /**\n * This callback function is called by the parent group of an object every\n * time a non-delegated property changes on the group. It is passed the key\n * and value as parameters. Not adding in this function's signature to avoid\n * Travis build error about unused variables.\n */ setOnGroup: function() {\n // implemented by sub-classes, as needed.\n },\n /**\n * Retrieves viewportTransform from Object's canvas if possible\n * @method getViewportTransform\n * @memberOf fabric.Object.prototype\n * @return {Array}\n */ getViewportTransform: function() {\n if (this.canvas && this.canvas.viewportTransform) {\n return this.canvas.viewportTransform;\n }\n return fabric.iMatrix.concat();\n },\n /*\n * @private\n * return if the object would be visible in rendering\n * @memberOf fabric.Object.prototype\n * @return {Boolean}\n */ isNotVisible: function() {\n return this.opacity === 0 || !this.width && !this.height && this.strokeWidth === 0 || !this.visible;\n },\n /**\n * Renders an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ render: function(ctx) {\n // do not render if width/height are zeros or object is not visible\n if (this.isNotVisible()) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n ctx.save();\n this._setupCompositeOperation(ctx);\n this.drawSelectionBackground(ctx);\n this.transform(ctx);\n this._setOpacity(ctx);\n this._setShadow(ctx, this);\n if (this.shouldCache()) {\n this.renderCache();\n this.drawCacheOnCanvas(ctx);\n } else {\n this._removeCacheCanvas();\n this.dirty = false;\n this.drawObject(ctx);\n if (this.objectCaching && this.statefullCache) {\n this.saveState({\n propertySet: \"cacheProperties\"\n });\n }\n }\n ctx.restore();\n },\n renderCache: function(options) {\n options = options || {};\n if (!this._cacheCanvas || !this._cacheContext) {\n this._createCacheCanvas();\n }\n if (this.isCacheDirty()) {\n this.statefullCache && this.saveState({\n propertySet: \"cacheProperties\"\n });\n this.drawObject(this._cacheContext, options.forClipping);\n this.dirty = false;\n }\n },\n /**\n * Remove cacheCanvas and its dimensions from the objects\n */ _removeCacheCanvas: function() {\n this._cacheCanvas = null;\n this._cacheContext = null;\n this.cacheWidth = 0;\n this.cacheHeight = 0;\n },\n /**\n * return true if the object will draw a stroke\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when stroke happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the stroke is invisible.\n * @since 3.0.0\n * @returns Boolean\n */ hasStroke: function() {\n return this.stroke && this.stroke !== \"transparent\" && this.strokeWidth !== 0;\n },\n /**\n * return true if the object will draw a fill\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when fill happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the fill is invisible.\n * @since 3.0.0\n * @returns Boolean\n */ hasFill: function() {\n return this.fill && this.fill !== \"transparent\";\n },\n /**\n * When set to `true`, force the object to have its own cache, even if it is inside a group\n * it may be needed when your object behave in a particular way on the cache and always needs\n * its own isolated canvas to render correctly.\n * Created to be overridden\n * since 1.7.12\n * @returns Boolean\n */ needsItsOwnCache: function() {\n if (this.paintFirst === \"stroke\" && this.hasFill() && this.hasStroke() && typeof this.shadow === \"object\") {\n return true;\n }\n if (this.clipPath) {\n return true;\n }\n return false;\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * Read as: cache if is needed, or if the feature is enabled but we are not already caching.\n * @return {Boolean}\n */ shouldCache: function() {\n this.ownCaching = this.needsItsOwnCache() || this.objectCaching && (!this.group || !this.group.isOnACache());\n return this.ownCaching;\n },\n /**\n * Check if this object or a child object will cast a shadow\n * used by Group.shouldCache to know if child has a shadow recursively\n * @return {Boolean}\n */ willDrawShadow: function() {\n return !!this.shadow && (this.shadow.offsetX !== 0 || this.shadow.offsetY !== 0);\n },\n /**\n * Execute the drawing operation for an object clipPath\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Object} clipPath\n */ drawClipPathOnCache: function(ctx, clipPath) {\n ctx.save();\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4\n if (clipPath.inverted) {\n ctx.globalCompositeOperation = \"destination-out\";\n } else {\n ctx.globalCompositeOperation = \"destination-in\";\n }\n //ctx.scale(1 / 2, 1 / 2);\n if (clipPath.absolutePositioned) {\n var m = fabric.util.invertTransform(this.calcTransformMatrix());\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n clipPath.transform(ctx);\n ctx.scale(1 / clipPath.zoomX, 1 / clipPath.zoomY);\n ctx.drawImage(clipPath._cacheCanvas, -clipPath.cacheTranslationX, -clipPath.cacheTranslationY);\n ctx.restore();\n },\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawObject: function(ctx, forClipping) {\n var originalFill = this.fill, originalStroke = this.stroke;\n if (forClipping) {\n this.fill = \"black\";\n this.stroke = \"\";\n this._setClippingProperties(ctx);\n } else {\n this._renderBackground(ctx);\n }\n this._render(ctx);\n this._drawClipPath(ctx, this.clipPath);\n this.fill = originalFill;\n this.stroke = originalStroke;\n },\n /**\n * Prepare clipPath state and cache and draw it on instance's cache\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */ _drawClipPath: function(ctx, clipPath) {\n if (!clipPath) {\n return;\n }\n // needed to setup a couple of variables\n // path canvas gets overridden with this one.\n // TODO find a better solution?\n clipPath.canvas = this.canvas;\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({\n forClipping: true\n });\n this.drawClipPathOnCache(ctx, clipPath);\n },\n /**\n * Paint the cached copy of the object on the target context.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawCacheOnCanvas: function(ctx) {\n ctx.scale(1 / this.zoomX, 1 / this.zoomY);\n ctx.drawImage(this._cacheCanvas, -this.cacheTranslationX, -this.cacheTranslationY);\n },\n /**\n * Check if cache is dirty\n * @param {Boolean} skipCanvas skip canvas checks because this object is painted\n * on parent canvas.\n */ isCacheDirty: function(skipCanvas) {\n if (this.isNotVisible()) {\n return false;\n }\n if (this._cacheCanvas && this._cacheContext && !skipCanvas && this._updateCacheCanvas()) {\n // in this case the context is already cleared.\n return true;\n } else {\n if (this.dirty || this.clipPath && this.clipPath.absolutePositioned || this.statefullCache && this.hasStateChanged(\"cacheProperties\")) {\n if (this._cacheCanvas && this._cacheContext && !skipCanvas) {\n var width = this.cacheWidth / this.zoomX;\n var height = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-width / 2, -height / 2, width, height);\n }\n return true;\n }\n }\n return false;\n },\n /**\n * Draws a background for the object big as its untransformed dimensions\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderBackground: function(ctx) {\n if (!this.backgroundColor) {\n return;\n }\n var dim = this._getNonTransformedDimensions();\n ctx.fillStyle = this.backgroundColor;\n ctx.fillRect(-dim.x / 2, -dim.y / 2, dim.x, dim.y);\n // if there is background color no other shadows\n // should be casted\n this._removeShadow(ctx);\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _setOpacity: function(ctx) {\n if (this.group && !this.group._transformDone) {\n ctx.globalAlpha = this.getObjectOpacity();\n } else {\n ctx.globalAlpha *= this.opacity;\n }\n },\n _setStrokeStyles: function(ctx, decl) {\n var stroke = decl.stroke;\n if (stroke) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = decl.strokeLineCap;\n ctx.lineDashOffset = decl.strokeDashOffset;\n ctx.lineJoin = decl.strokeLineJoin;\n ctx.miterLimit = decl.strokeMiterLimit;\n if (stroke.toLive) {\n if (stroke.gradientUnits === \"percentage\" || stroke.gradientTransform || stroke.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n this._applyPatternForTransformedGradient(ctx, stroke);\n } else {\n // is a simple gradient or pattern\n ctx.strokeStyle = stroke.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, stroke);\n }\n } else {\n // is a color\n ctx.strokeStyle = decl.stroke;\n }\n }\n },\n _setFillStyles: function(ctx, decl) {\n var fill = decl.fill;\n if (fill) {\n if (fill.toLive) {\n ctx.fillStyle = fill.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, decl.fill);\n } else {\n ctx.fillStyle = fill;\n }\n }\n },\n _setClippingProperties: function(ctx) {\n ctx.globalAlpha = 1;\n ctx.strokeStyle = \"transparent\";\n ctx.fillStyle = \"#000000\";\n },\n /**\n * @private\n * Sets line dash\n * @param {CanvasRenderingContext2D} ctx Context to set the dash line on\n * @param {Array} dashArray array representing dashes\n */ _setLineDash: function(ctx, dashArray) {\n if (!dashArray || dashArray.length === 0) {\n return;\n }\n // Spec requires the concatenation of two copies the dash list when the number of elements is odd\n if (1 & dashArray.length) {\n dashArray.push.apply(dashArray, dashArray);\n }\n ctx.setLineDash(dashArray);\n },\n /**\n * Renders controls and borders for the object\n * the context here is not transformed\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n */ _renderControls: function(ctx, styleOverride) {\n var vpt = this.getViewportTransform(), matrix = this.calcTransformMatrix(), options, drawBorders, drawControls;\n styleOverride = styleOverride || {};\n drawBorders = typeof styleOverride.hasBorders !== \"undefined\" ? styleOverride.hasBorders : this.hasBorders;\n drawControls = typeof styleOverride.hasControls !== \"undefined\" ? styleOverride.hasControls : this.hasControls;\n matrix = fabric.util.multiplyTransformMatrices(vpt, matrix);\n options = fabric.util.qrDecompose(matrix);\n ctx.save();\n ctx.translate(options.translateX, options.translateY);\n ctx.lineWidth = 1 * this.borderScaleFactor;\n if (!this.group) {\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n }\n if (this.flipX) {\n options.angle -= 180;\n }\n ctx.rotate(degreesToRadians(this.group ? options.angle : this.angle));\n if (styleOverride.forActiveSelection || this.group) {\n drawBorders && this.drawBordersInGroup(ctx, options, styleOverride);\n } else {\n drawBorders && this.drawBorders(ctx, styleOverride);\n }\n drawControls && this.drawControls(ctx, styleOverride);\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _setShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n var shadow = this.shadow, canvas = this.canvas, scaling, multX = canvas && canvas.viewportTransform[0] || 1, multY = canvas && canvas.viewportTransform[3] || 1;\n if (shadow.nonScaling) {\n scaling = {\n scaleX: 1,\n scaleY: 1\n };\n } else {\n scaling = this.getObjectScaling();\n }\n if (canvas && canvas._isRetinaScaling()) {\n multX *= fabric.devicePixelRatio;\n multY *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * fabric.browserShadowBlurConstant * (multX + multY) * (scaling.scaleX + scaling.scaleY) / 4;\n ctx.shadowOffsetX = shadow.offsetX * multX * scaling.scaleX;\n ctx.shadowOffsetY = shadow.offsetY * multY * scaling.scaleY;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _removeShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n ctx.shadowColor = \"\";\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} filler fabric.Pattern or fabric.Gradient\n * @return {Object} offset.offsetX offset for text rendering\n * @return {Object} offset.offsetY offset for text rendering\n */ _applyPatternGradientTransform: function(ctx, filler) {\n if (!filler || !filler.toLive) {\n return {\n offsetX: 0,\n offsetY: 0\n };\n }\n var t = filler.gradientTransform || filler.patternTransform;\n var offsetX = -this.width / 2 + filler.offsetX || 0, offsetY = -this.height / 2 + filler.offsetY || 0;\n if (filler.gradientUnits === \"percentage\") {\n ctx.transform(this.width, 0, 0, this.height, offsetX, offsetY);\n } else {\n ctx.transform(1, 0, 0, 1, offsetX, offsetY);\n }\n if (t) {\n ctx.transform(t[0], t[1], t[2], t[3], t[4], t[5]);\n }\n return {\n offsetX: offsetX,\n offsetY: offsetY\n };\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderPaintInOrder: function(ctx) {\n if (this.paintFirst === \"stroke\") {\n this._renderStroke(ctx);\n this._renderFill(ctx);\n } else {\n this._renderFill(ctx);\n this._renderStroke(ctx);\n }\n },\n /**\n * @private\n * function that actually render something on the context.\n * empty here to allow Obects to work on tests to benchmark fabric functionalites\n * not related to rendering\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function() {},\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderFill: function(ctx) {\n if (!this.fill) {\n return;\n }\n ctx.save();\n this._setFillStyles(ctx, this);\n if (this.fillRule === \"evenodd\") {\n ctx.fill(\"evenodd\");\n } else {\n ctx.fill();\n }\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderStroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n ctx.save();\n if (this.strokeUniform && this.group) {\n var scaling = this.getObjectScaling();\n ctx.scale(1 / scaling.scaleX, 1 / scaling.scaleY);\n } else if (this.strokeUniform) {\n ctx.scale(1 / this.scaleX, 1 / this.scaleY);\n }\n this._setLineDash(ctx, this.strokeDashArray);\n this._setStrokeStyles(ctx, this);\n ctx.stroke();\n ctx.restore();\n },\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drwabacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Gradient} filler a fabric gradient instance\n */ _applyPatternForTransformedGradient: function(ctx, filler) {\n var dims = this._limitCacheSize(this._getCacheCanvasDimensions()), pCanvas = fabric.util.createCanvasElement(), pCtx, retinaScaling = this.canvas.getRetinaScaling(), width = dims.x / this.scaleX / retinaScaling, height = dims.y / this.scaleY / retinaScaling;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext(\"2d\");\n pCtx.beginPath();\n pCtx.moveTo(0, 0);\n pCtx.lineTo(width, 0);\n pCtx.lineTo(width, height);\n pCtx.lineTo(0, height);\n pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.scale(dims.zoomX / this.scaleX / retinaScaling, dims.zoomY / this.scaleY / retinaScaling);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fillStyle = filler.toLive(ctx);\n pCtx.fill();\n ctx.translate(-this.width / 2 - this.strokeWidth / 2, -this.height / 2 - this.strokeWidth / 2);\n ctx.scale(retinaScaling * this.scaleX / dims.zoomX, retinaScaling * this.scaleY / dims.zoomY);\n ctx.strokeStyle = pCtx.createPattern(pCanvas, \"no-repeat\");\n },\n /**\n * This function is an helper for svg import. it returns the center of the object in the svg\n * untransformed coordinates\n * @private\n * @return {Object} center point from element coordinates\n */ _findCenterFromElement: function() {\n return {\n x: this.left + this.width / 2,\n y: this.top + this.height / 2\n };\n },\n /**\n * This function is an helper for svg import. it decompose the transformMatrix\n * and assign properties to object.\n * untransformed coordinates\n * @private\n * @chainable\n */ _assignTransformMatrixProps: function() {\n if (this.transformMatrix) {\n var options = fabric.util.qrDecompose(this.transformMatrix);\n this.flipX = false;\n this.flipY = false;\n this.set(\"scaleX\", options.scaleX);\n this.set(\"scaleY\", options.scaleY);\n this.angle = options.angle;\n this.skewX = options.skewX;\n this.skewY = 0;\n }\n },\n /**\n * This function is an helper for svg import. it removes the transform matrix\n * and set to object properties that fabricjs can handle\n * @private\n * @param {Object} preserveAspectRatioOptions\n * @return {thisArg}\n */ _removeTransformMatrix: function(preserveAspectRatioOptions) {\n var center = this._findCenterFromElement();\n if (this.transformMatrix) {\n this._assignTransformMatrixProps();\n center = fabric.util.transformPoint(center, this.transformMatrix);\n }\n this.transformMatrix = null;\n if (preserveAspectRatioOptions) {\n this.scaleX *= preserveAspectRatioOptions.scaleX;\n this.scaleY *= preserveAspectRatioOptions.scaleY;\n this.cropX = preserveAspectRatioOptions.cropX;\n this.cropY = preserveAspectRatioOptions.cropY;\n center.x += preserveAspectRatioOptions.offsetLeft;\n center.y += preserveAspectRatioOptions.offsetTop;\n this.width = preserveAspectRatioOptions.width;\n this.height = preserveAspectRatioOptions.height;\n }\n this.setPositionByOrigin(center, \"center\", \"center\");\n },\n /**\n * Clones an instance, using a callback method will work for every object.\n * @param {Function} callback Callback is invoked with a clone as a first argument\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n */ clone: function(callback, propertiesToInclude) {\n var objectForm = this.toObject(propertiesToInclude);\n if (this.constructor.fromObject) {\n this.constructor.fromObject(objectForm, callback);\n } else {\n fabric.Object._fromObject(\"Object\", objectForm, callback);\n }\n },\n /**\n * Creates an instance of fabric.Image out of an object\n * makes use of toCanvasElement.\n * Once this method was based on toDataUrl and loadImage, so it also had a quality\n * and format option. toCanvasElement is faster and produce no loss of quality.\n * If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it.\n * toCanvasElement and then toBlob from the obtained canvas is also a good option.\n * This method is sync now, but still support the callback because we did not want to break.\n * When fabricJS 5.0 will be planned, this will probably be changed to not have a callback.\n * @param {Function} callback callback, invoked with an instance as a first argument\n * @param {Object} [options] for clone as image, passed to toDataURL\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {fabric.Object} thisArg\n */ cloneAsImage: function(callback, options) {\n var canvasEl = this.toCanvasElement(options);\n if (callback) {\n callback(new fabric.Image(canvasEl));\n }\n return this;\n },\n /**\n * Converts an object into a HTMLCanvas element\n * @param {Object} options Options object\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {HTMLCanvasElement} Returns DOM element with the fabric.Object\n */ toCanvasElement: function(options) {\n options || (options = {});\n var utils = fabric.util, origParams = utils.saveObjectTransform(this), originalGroup = this.group, originalShadow = this.shadow, abs = Math.abs, multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? fabric.devicePixelRatio : 1);\n delete this.group;\n if (options.withoutTransform) {\n utils.resetObjectTransform(this);\n }\n if (options.withoutShadow) {\n this.shadow = null;\n }\n var el = fabric.util.createCanvasElement(), // skip canvas zoom and calculate with setCoords now.\n boundingRect = this.getBoundingRect(true, true), shadow = this.shadow, scaling, shadowOffset = {\n x: 0,\n y: 0\n }, shadowBlur, width, height;\n if (shadow) {\n shadowBlur = shadow.blur;\n if (shadow.nonScaling) {\n scaling = {\n scaleX: 1,\n scaleY: 1\n };\n } else {\n scaling = this.getObjectScaling();\n }\n // consider non scaling shadow.\n shadowOffset.x = 2 * Math.round(abs(shadow.offsetX) + shadowBlur) * abs(scaling.scaleX);\n shadowOffset.y = 2 * Math.round(abs(shadow.offsetY) + shadowBlur) * abs(scaling.scaleY);\n }\n width = boundingRect.width + shadowOffset.x;\n height = boundingRect.height + shadowOffset.y;\n // if the current width/height is not an integer\n // we need to make it so.\n el.width = Math.ceil(width);\n el.height = Math.ceil(height);\n var canvas = new fabric.StaticCanvas(el, {\n enableRetinaScaling: false,\n renderOnAddRemove: false,\n skipOffscreen: false\n });\n if (options.format === \"jpeg\") {\n canvas.backgroundColor = \"#fff\";\n }\n this.setPositionByOrigin(new fabric.Point(canvas.width / 2, canvas.height / 2), \"center\", \"center\");\n var originalCanvas = this.canvas;\n canvas.add(this);\n var canvasEl = canvas.toCanvasElement(multiplier || 1, options);\n this.shadow = originalShadow;\n this.set(\"canvas\", originalCanvas);\n if (originalGroup) {\n this.group = originalGroup;\n }\n this.set(origParams).setCoords();\n // canvas.dispose will call image.dispose that will nullify the elements\n // since this canvas is a simple element for the process, we remove references\n // to objects in this way in order to avoid object trashing.\n canvas._objects = [];\n canvas.dispose();\n canvas = null;\n return canvasEl;\n },\n /**\n * Converts an object into a data-url-like string\n * @param {Object} options Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n */ toDataURL: function(options) {\n options || (options = {});\n return fabric.util.toDataURL(this.toCanvasElement(options), options.format || \"png\", options.quality || 1);\n },\n /**\n * Returns true if specified type is identical to the type of an instance\n * @param {String} type Type to check against\n * @return {Boolean}\n */ isType: function(type) {\n return arguments.length > 1 ? Array.from(arguments).includes(this.type) : this.type === type;\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance (is 1 unless subclassed)\n */ complexity: function() {\n return 1;\n },\n /**\n * Returns a JSON representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON\n */ toJSON: function(propertiesToInclude) {\n // delegate, not alias\n return this.toObject(propertiesToInclude);\n },\n /**\n * Sets \"angle\" of an instance with centered rotation\n * @param {Number} angle Angle value (in degrees)\n * @return {fabric.Object} thisArg\n * @chainable\n */ rotate: function(angle) {\n var shouldCenterOrigin = (this.originX !== \"center\" || this.originY !== \"center\") && this.centeredRotation;\n if (shouldCenterOrigin) {\n this._setOriginToCenter();\n }\n this.set(\"angle\", angle);\n if (shouldCenterOrigin) {\n this._resetOrigin();\n }\n return this;\n },\n /**\n * Centers object horizontally on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ centerH: function() {\n this.canvas && this.canvas.centerObjectH(this);\n return this;\n },\n /**\n * Centers object horizontally on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenterH: function() {\n this.canvas && this.canvas.viewportCenterObjectH(this);\n return this;\n },\n /**\n * Centers object vertically on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ centerV: function() {\n this.canvas && this.canvas.centerObjectV(this);\n return this;\n },\n /**\n * Centers object vertically on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenterV: function() {\n this.canvas && this.canvas.viewportCenterObjectV(this);\n return this;\n },\n /**\n * Centers object vertically and horizontally on canvas to which is was added last\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ center: function() {\n this.canvas && this.canvas.centerObject(this);\n return this;\n },\n /**\n * Centers object on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenter: function() {\n this.canvas && this.canvas.viewportCenterObject(this);\n return this;\n },\n /**\n * Returns coordinates of a pointer relative to an object\n * @param {Event} e Event to operate upon\n * @param {Object} [pointer] Pointer to operate upon (instead of event)\n * @return {Object} Coordinates of a pointer (x, y)\n */ getLocalPointer: function(e, pointer) {\n pointer = pointer || this.canvas.getPointer(e);\n var pClicked = new fabric.Point(pointer.x, pointer.y), objectLeftTop = this._getLeftTopCoords();\n if (this.angle) {\n pClicked = fabric.util.rotatePoint(pClicked, objectLeftTop, degreesToRadians(-this.angle));\n }\n return {\n x: pClicked.x - objectLeftTop.x,\n y: pClicked.y - objectLeftTop.y\n };\n },\n /**\n * Sets canvas globalCompositeOperation for specific object\n * custom composition operation for the particular object can be specified using globalCompositeOperation property\n * @param {CanvasRenderingContext2D} ctx Rendering canvas context\n */ _setupCompositeOperation: function(ctx) {\n if (this.globalCompositeOperation) {\n ctx.globalCompositeOperation = this.globalCompositeOperation;\n }\n },\n /**\n * cancel instance's running animations\n * override if necessary to dispose artifacts such as `clipPath`\n */ dispose: function() {\n if (fabric.runningAnimations) {\n fabric.runningAnimations.cancelByTarget(this);\n }\n }\n });\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Object);\n extend(fabric.Object.prototype, fabric.Observable);\n /**\n * Defines the number of fraction digits to use when serializing object values.\n * You can use it to increase/decrease precision of such values like left, top, scaleX, scaleY, etc.\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type Number\n */ fabric.Object.NUM_FRACTION_DIGITS = 2;\n /**\n * Defines which properties should be enlivened from the object passed to {@link fabric.Object._fromObject}\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type string[]\n */ fabric.Object.ENLIVEN_PROPS = [\n \"clipPath\"\n ];\n fabric.Object._fromObject = function(className, object, callback, extraParam) {\n var klass = fabric[className];\n object = clone(object, true);\n fabric.util.enlivenPatterns([\n object.fill,\n object.stroke\n ], function(patterns) {\n if (typeof patterns[0] !== \"undefined\") {\n object.fill = patterns[0];\n }\n if (typeof patterns[1] !== \"undefined\") {\n object.stroke = patterns[1];\n }\n fabric.util.enlivenObjectEnlivables(object, object, function() {\n var instance = extraParam ? new klass(object[extraParam], object) : new klass(object);\n callback && callback(instance);\n });\n });\n };\n /**\n * Unique id used internally when creating SVG elements\n * @static\n * @memberOf fabric.Object\n * @type Number\n */ fabric.Object.__uid = 0;\n})( true ? exports : 0);\n(function() {\n var degreesToRadians = fabric.util.degreesToRadians, originXOffset = {\n left: -0.5,\n center: 0,\n right: 0.5\n }, originYOffset = {\n top: -0.5,\n center: 0,\n bottom: 0.5\n };\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Translates the coordinates from a set of origin to another (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} fromOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} fromOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @param {String} toOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} toOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToGivenOrigin: function(point, fromOriginX, fromOriginY, toOriginX, toOriginY) {\n var x = point.x, y = point.y, offsetX, offsetY, dim;\n if (typeof fromOriginX === \"string\") {\n fromOriginX = originXOffset[fromOriginX];\n } else {\n fromOriginX -= 0.5;\n }\n if (typeof toOriginX === \"string\") {\n toOriginX = originXOffset[toOriginX];\n } else {\n toOriginX -= 0.5;\n }\n offsetX = toOriginX - fromOriginX;\n if (typeof fromOriginY === \"string\") {\n fromOriginY = originYOffset[fromOriginY];\n } else {\n fromOriginY -= 0.5;\n }\n if (typeof toOriginY === \"string\") {\n toOriginY = originYOffset[toOriginY];\n } else {\n toOriginY -= 0.5;\n }\n offsetY = toOriginY - fromOriginY;\n if (offsetX || offsetY) {\n dim = this._getTransformedDimensions();\n x = point.x + offsetX * dim.x;\n y = point.y + offsetY * dim.y;\n }\n return new fabric.Point(x, y);\n },\n /**\n * Translates the coordinates from origin to center coordinates (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToCenterPoint: function(point, originX, originY) {\n var p = this.translateToGivenOrigin(point, originX, originY, \"center\", \"center\");\n if (this.angle) {\n return fabric.util.rotatePoint(p, point, degreesToRadians(this.angle));\n }\n return p;\n },\n /**\n * Translates the coordinates from center to origin coordinates (based on the object's dimensions)\n * @param {fabric.Point} center The point which corresponds to center of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToOriginPoint: function(center, originX, originY) {\n var p = this.translateToGivenOrigin(center, \"center\", \"center\", originX, originY);\n if (this.angle) {\n return fabric.util.rotatePoint(p, center, degreesToRadians(this.angle));\n }\n return p;\n },\n /**\n * Returns the real center coordinates of the object\n * @return {fabric.Point}\n */ getCenterPoint: function() {\n var leftTop = new fabric.Point(this.left, this.top);\n return this.translateToCenterPoint(leftTop, this.originX, this.originY);\n },\n /**\n * Returns the coordinates of the object based on center coordinates\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @return {fabric.Point}\n */ // getOriginPoint: function(center) {\n // return this.translateToOriginPoint(center, this.originX, this.originY);\n // },\n /**\n * Returns the coordinates of the object as if it has a different origin\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ getPointByOrigin: function(originX, originY) {\n var center = this.getCenterPoint();\n return this.translateToOriginPoint(center, originX, originY);\n },\n /**\n * Returns the point in local coordinates\n * @param {fabric.Point} point The point relative to the global coordinate system\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ toLocalPoint: function(point, originX, originY) {\n var center = this.getCenterPoint(), p, p2;\n if (typeof originX !== \"undefined\" && typeof originY !== \"undefined\") {\n p = this.translateToGivenOrigin(center, \"center\", \"center\", originX, originY);\n } else {\n p = new fabric.Point(this.left, this.top);\n }\n p2 = new fabric.Point(point.x, point.y);\n if (this.angle) {\n p2 = fabric.util.rotatePoint(p2, center, -degreesToRadians(this.angle));\n }\n return p2.subtractEquals(p);\n },\n /**\n * Returns the point in global coordinates\n * @param {fabric.Point} The point relative to the local coordinate system\n * @return {fabric.Point}\n */ // toGlobalPoint: function(point) {\n // return fabric.util.rotatePoint(point, this.getCenterPoint(), degreesToRadians(this.angle)).addEquals(new fabric.Point(this.left, this.top));\n // },\n /**\n * Sets the position of the object taking into consideration the object's origin\n * @param {fabric.Point} pos The new position of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {void}\n */ setPositionByOrigin: function(pos, originX, originY) {\n var center = this.translateToCenterPoint(pos, originX, originY), position = this.translateToOriginPoint(center, this.originX, this.originY);\n this.set(\"left\", position.x);\n this.set(\"top\", position.y);\n },\n /**\n * @param {String} to One of 'left', 'center', 'right'\n */ adjustPosition: function(to) {\n var angle = degreesToRadians(this.angle), hypotFull = this.getScaledWidth(), xFull = fabric.util.cos(angle) * hypotFull, yFull = fabric.util.sin(angle) * hypotFull, offsetFrom, offsetTo;\n //TODO: this function does not consider mixed situation like top, center.\n if (typeof this.originX === \"string\") {\n offsetFrom = originXOffset[this.originX];\n } else {\n offsetFrom = this.originX - 0.5;\n }\n if (typeof to === \"string\") {\n offsetTo = originXOffset[to];\n } else {\n offsetTo = to - 0.5;\n }\n this.left += xFull * (offsetTo - offsetFrom);\n this.top += yFull * (offsetTo - offsetFrom);\n this.setCoords();\n this.originX = to;\n },\n /**\n * Sets the origin/position of the object to it's center point\n * @private\n * @return {void}\n */ _setOriginToCenter: function() {\n this._originalOriginX = this.originX;\n this._originalOriginY = this.originY;\n var center = this.getCenterPoint();\n this.originX = \"center\";\n this.originY = \"center\";\n this.left = center.x;\n this.top = center.y;\n },\n /**\n * Resets the origin/position of the object to it's original origin\n * @private\n * @return {void}\n */ _resetOrigin: function() {\n var originPoint = this.translateToOriginPoint(this.getCenterPoint(), this._originalOriginX, this._originalOriginY);\n this.originX = this._originalOriginX;\n this.originY = this._originalOriginY;\n this.left = originPoint.x;\n this.top = originPoint.y;\n this._originalOriginX = null;\n this._originalOriginY = null;\n },\n /**\n * @private\n */ _getLeftTopCoords: function() {\n return this.translateToOriginPoint(this.getCenterPoint(), \"left\", \"top\");\n }\n });\n})();\n(function() {\n function arrayFromCoords(coords) {\n return [\n new fabric.Point(coords.tl.x, coords.tl.y),\n new fabric.Point(coords.tr.x, coords.tr.y),\n new fabric.Point(coords.br.x, coords.br.y),\n new fabric.Point(coords.bl.x, coords.bl.y)\n ];\n }\n var util = fabric.util, degreesToRadians = util.degreesToRadians, multiplyMatrices = util.multiplyTransformMatrices, transformPoint = util.transformPoint;\n util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Describe object's corner position in canvas element coordinates.\n * properties are depending on control keys and padding the main controls.\n * each property is an object with x, y and corner.\n * The `corner` property contains in a similar manner the 4 points of the\n * interactive area of the corner.\n * The coordinates depends from the controls positionHandler and are used\n * to draw and locate controls\n * @memberOf fabric.Object.prototype\n */ oCoords: null,\n /**\n * Describe object's corner position in canvas object absolute coordinates\n * properties are tl,tr,bl,br and describe the four main corner.\n * each property is an object with x, y, instance of Fabric.Point.\n * The coordinates depends from this properties: width, height, scaleX, scaleY\n * skewX, skewY, angle, strokeWidth, top, left.\n * Those coordinates are useful to understand where an object is. They get updated\n * with oCoords but they do not need to be updated when zoom or panning change.\n * The coordinates get updated with @method setCoords.\n * You can calculate them without updating with @method calcACoords();\n * @memberOf fabric.Object.prototype\n */ aCoords: null,\n /**\n * Describe object's corner position in canvas element coordinates.\n * includes padding. Used of object detection.\n * set and refreshed with setCoords.\n * @memberOf fabric.Object.prototype\n */ lineCoords: null,\n /**\n * storage for object transform matrix\n */ ownMatrixCache: null,\n /**\n * storage for object full transform matrix\n */ matrixCache: null,\n /**\n * custom controls interface\n * controls are added by default_controls.js\n */ controls: {},\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * @param {Boolean} absolute will return aCoords if true or lineCoords\n * @return {Object} {tl, tr, br, bl} points\n */ _getCoords: function(absolute, calculate) {\n if (calculate) {\n return absolute ? this.calcACoords() : this.calcLineCoords();\n }\n if (!this.aCoords || !this.lineCoords) {\n this.setCoords(true);\n }\n return absolute ? this.aCoords : this.lineCoords;\n },\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * The coords are returned in an array.\n * @return {Array} [tl, tr, br, bl] of points\n */ getCoords: function(absolute, calculate) {\n return arrayFromCoords(this._getCoords(absolute, calculate));\n },\n /**\n * Checks if object intersects with an area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with an area formed by 2 points\n */ intersectsWithRect: function(pointTL, pointBR, absolute, calculate) {\n var coords = this.getCoords(absolute, calculate), intersection = fabric.Intersection.intersectPolygonRectangle(coords, pointTL, pointBR);\n return intersection.status === \"Intersection\";\n },\n /**\n * Checks if object intersects with another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with another object\n */ intersectsWithObject: function(other, absolute, calculate) {\n var intersection = fabric.Intersection.intersectPolygonPolygon(this.getCoords(absolute, calculate), other.getCoords(absolute, calculate));\n return intersection.status === \"Intersection\" || other.isContainedWithinObject(this, absolute, calculate) || this.isContainedWithinObject(other, absolute, calculate);\n },\n /**\n * Checks if object is fully contained within area of another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area of another object\n */ isContainedWithinObject: function(other, absolute, calculate) {\n var points = this.getCoords(absolute, calculate), otherCoords = absolute ? other.aCoords : other.lineCoords, i = 0, lines = other._getImageLines(otherCoords);\n for(; i < 4; i++){\n if (!other.containsPoint(points[i], lines)) {\n return false;\n }\n }\n return true;\n },\n /**\n * Checks if object is fully contained within area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area formed by 2 points\n */ isContainedWithinRect: function(pointTL, pointBR, absolute, calculate) {\n var boundingRect = this.getBoundingRect(absolute, calculate);\n return boundingRect.left >= pointTL.x && boundingRect.left + boundingRect.width <= pointBR.x && boundingRect.top >= pointTL.y && boundingRect.top + boundingRect.height <= pointBR.y;\n },\n /**\n * Checks if point is inside the object\n * @param {fabric.Point} point Point to check against\n * @param {Object} [lines] object returned from @method _getImageLines\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if point is inside the object\n */ containsPoint: function(point, lines, absolute, calculate) {\n var coords = this._getCoords(absolute, calculate), lines = lines || this._getImageLines(coords), xPoints = this._findCrossPoints(point, lines);\n // if xPoints is odd then point is inside the object\n return xPoints !== 0 && xPoints % 2 === 1;\n },\n /**\n * Checks if object is contained within the canvas with current viewportTransform\n * the check is done stopping at first point that appears on screen\n * @param {Boolean} [calculate] use coordinates of current position instead of .aCoords\n * @return {Boolean} true if object is fully or partially contained within canvas\n */ isOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n var points = this.getCoords(true, calculate);\n // if some point is on screen, the object is on screen.\n if (points.some(function(point) {\n return point.x <= pointBR.x && point.x >= pointTL.x && point.y <= pointBR.y && point.y >= pointTL.y;\n })) {\n return true;\n }\n // no points on screen, check intersection with absolute coordinates\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n return this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n /**\n * Checks if the object contains the midpoint between canvas extremities\n * Does not make sense outside the context of isOnScreen and isPartiallyOnScreen\n * @private\n * @param {Fabric.Point} pointTL Top Left point\n * @param {Fabric.Point} pointBR Top Right point\n * @param {Boolean} calculate use coordinates of current position instead of .oCoords\n * @return {Boolean} true if the object contains the point\n */ _containsCenterOfCanvas: function(pointTL, pointBR, calculate) {\n // worst case scenario the object is so big that contains the screen\n var centerPoint = {\n x: (pointTL.x + pointBR.x) / 2,\n y: (pointTL.y + pointBR.y) / 2\n };\n if (this.containsPoint(centerPoint, null, true, calculate)) {\n return true;\n }\n return false;\n },\n /**\n * Checks if object is partially contained within the canvas with current viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is partially contained within canvas\n */ isPartiallyOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n var allPointsAreOutside = this.getCoords(true, calculate).every(function(point) {\n return (point.x >= pointBR.x || point.x <= pointTL.x) && (point.y >= pointBR.y || point.y <= pointTL.y);\n });\n return allPointsAreOutside && this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n /**\n * Method that returns an object with the object edges in it, given the coordinates of the corners\n * @private\n * @param {Object} oCoords Coordinates of the object corners\n */ _getImageLines: function(oCoords) {\n var lines = {\n topline: {\n o: oCoords.tl,\n d: oCoords.tr\n },\n rightline: {\n o: oCoords.tr,\n d: oCoords.br\n },\n bottomline: {\n o: oCoords.br,\n d: oCoords.bl\n },\n leftline: {\n o: oCoords.bl,\n d: oCoords.tl\n }\n };\n // // debugging\n // if (this.canvas.contextTop) {\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n // }\n return lines;\n },\n /**\n * Helper method to determine how many cross points are between the 4 object edges\n * and the horizontal line determined by a point on canvas\n * @private\n * @param {fabric.Point} point Point to check\n * @param {Object} lines Coordinates of the object being evaluated\n */ // remove yi, not used but left code here just in case.\n _findCrossPoints: function(point, lines) {\n var b1, b2, a1, a2, xi, xcount = 0, iLine;\n for(var lineKey in lines){\n iLine = lines[lineKey];\n // optimisation 1: line below point. no cross\n if (iLine.o.y < point.y && iLine.d.y < point.y) {\n continue;\n }\n // optimisation 2: line above point. no cross\n if (iLine.o.y >= point.y && iLine.d.y >= point.y) {\n continue;\n }\n // optimisation 3: vertical line case\n if (iLine.o.x === iLine.d.x && iLine.o.x >= point.x) {\n xi = iLine.o.x;\n // yi = point.y;\n } else {\n b1 = 0;\n b2 = (iLine.d.y - iLine.o.y) / (iLine.d.x - iLine.o.x);\n a1 = point.y - b1 * point.x;\n a2 = iLine.o.y - b2 * iLine.o.x;\n xi = -(a1 - a2) / (b1 - b2);\n // yi = a1 + b1 * xi;\n }\n // dont count xi < point.x cases\n if (xi >= point.x) {\n xcount += 1;\n }\n // optimisation 4: specific for square images\n if (xcount === 2) {\n break;\n }\n }\n return xcount;\n },\n /**\n * Returns coordinates of object's bounding rectangle (left, top, width, height)\n * the box is intended as aligned to axis of canvas.\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords / .aCoords\n * @return {Object} Object with left, top, width, height properties\n */ getBoundingRect: function(absolute, calculate) {\n var coords = this.getCoords(absolute, calculate);\n return util.makeBoundingBoxFromPoints(coords);\n },\n /**\n * Returns width of an object's bounding box counting transformations\n * before 2.0 it was named getWidth();\n * @return {Number} width value\n */ getScaledWidth: function() {\n return this._getTransformedDimensions().x;\n },\n /**\n * Returns height of an object bounding box counting transformations\n * before 2.0 it was named getHeight();\n * @return {Number} height value\n */ getScaledHeight: function() {\n return this._getTransformedDimensions().y;\n },\n /**\n * Makes sure the scale is valid and modifies it if necessary\n * @private\n * @param {Number} value\n * @return {Number}\n */ _constrainScale: function(value) {\n if (Math.abs(value) < this.minScaleLimit) {\n if (value < 0) {\n return -this.minScaleLimit;\n } else {\n return this.minScaleLimit;\n }\n } else if (value === 0) {\n return 0.0001;\n }\n return value;\n },\n /**\n * Scales an object (equally by x and y)\n * @param {Number} value Scale factor\n * @return {fabric.Object} thisArg\n * @chainable\n */ scale: function(value) {\n this._set(\"scaleX\", value);\n this._set(\"scaleY\", value);\n return this.setCoords();\n },\n /**\n * Scales an object to a given width, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New width value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */ scaleToWidth: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).width / this.getScaledWidth();\n return this.scale(value / this.width / boundingRectFactor);\n },\n /**\n * Scales an object to a given height, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New height value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */ scaleToHeight: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).height / this.getScaledHeight();\n return this.scale(value / this.height / boundingRectFactor);\n },\n calcLineCoords: function() {\n var vpt = this.getViewportTransform(), padding = this.padding, angle = degreesToRadians(this.angle), cos = util.cos(angle), sin = util.sin(angle), cosP = cos * padding, sinP = sin * padding, cosPSinP = cosP + sinP, cosPMinusSinP = cosP - sinP, aCoords = this.calcACoords();\n var lineCoords = {\n tl: transformPoint(aCoords.tl, vpt),\n tr: transformPoint(aCoords.tr, vpt),\n bl: transformPoint(aCoords.bl, vpt),\n br: transformPoint(aCoords.br, vpt)\n };\n if (padding) {\n lineCoords.tl.x -= cosPMinusSinP;\n lineCoords.tl.y -= cosPSinP;\n lineCoords.tr.x += cosPSinP;\n lineCoords.tr.y -= cosPMinusSinP;\n lineCoords.bl.x -= cosPSinP;\n lineCoords.bl.y += cosPMinusSinP;\n lineCoords.br.x += cosPMinusSinP;\n lineCoords.br.y += cosPSinP;\n }\n return lineCoords;\n },\n calcOCoords: function() {\n var rotateMatrix = this._calcRotateMatrix(), translateMatrix = this._calcTranslateMatrix(), vpt = this.getViewportTransform(), startMatrix = multiplyMatrices(vpt, translateMatrix), finalMatrix = multiplyMatrices(startMatrix, rotateMatrix), finalMatrix = multiplyMatrices(finalMatrix, [\n 1 / vpt[0],\n 0,\n 0,\n 1 / vpt[3],\n 0,\n 0\n ]), dim = this._calculateCurrentDimensions(), coords = {};\n this.forEachControl(function(control, key, fabricObject) {\n coords[key] = control.positionHandler(dim, finalMatrix, fabricObject);\n });\n // debug code\n // var canvas = this.canvas;\n // setTimeout(function() {\n // canvas.contextTop.clearRect(0, 0, 700, 700);\n // canvas.contextTop.fillStyle = 'green';\n // Object.keys(coords).forEach(function(key) {\n // var control = coords[key];\n // canvas.contextTop.fillRect(control.x, control.y, 3, 3);\n // });\n // }, 50);\n return coords;\n },\n calcACoords: function() {\n var rotateMatrix = this._calcRotateMatrix(), translateMatrix = this._calcTranslateMatrix(), finalMatrix = multiplyMatrices(translateMatrix, rotateMatrix), dim = this._getTransformedDimensions(), w = dim.x / 2, h = dim.y / 2;\n return {\n // corners\n tl: transformPoint({\n x: -w,\n y: -h\n }, finalMatrix),\n tr: transformPoint({\n x: w,\n y: -h\n }, finalMatrix),\n bl: transformPoint({\n x: -w,\n y: h\n }, finalMatrix),\n br: transformPoint({\n x: w,\n y: h\n }, finalMatrix)\n };\n },\n /**\n * Sets corner and controls position coordinates based on current angle, width and height, left and top.\n * oCoords are used to find the corners\n * aCoords are used to quickly find an object on the canvas\n * lineCoords are used to quickly find object during pointer events.\n * See {@link https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords} and {@link http://fabricjs.com/fabric-gotchas}\n *\n * @param {Boolean} [skipCorners] skip calculation of oCoords.\n * @return {fabric.Object} thisArg\n * @chainable\n */ setCoords: function(skipCorners) {\n this.aCoords = this.calcACoords();\n // in case we are in a group, for how the inner group target check works,\n // lineCoords are exactly aCoords. Since the vpt gets absorbed by the normalized pointer.\n this.lineCoords = this.group ? this.aCoords : this.calcLineCoords();\n if (skipCorners) {\n return this;\n }\n // set coordinates of the draggable boxes in the corners used to scale/rotate the image\n this.oCoords = this.calcOCoords();\n this._setCornerCoords && this._setCornerCoords();\n return this;\n },\n /**\n * calculate rotation matrix of an object\n * @return {Array} rotation matrix for the object\n */ _calcRotateMatrix: function() {\n return util.calcRotateMatrix(this);\n },\n /**\n * calculate the translation matrix for an object transform\n * @return {Array} rotation matrix for the object\n */ _calcTranslateMatrix: function() {\n var center = this.getCenterPoint();\n return [\n 1,\n 0,\n 0,\n 1,\n center.x,\n center.y\n ];\n },\n transformMatrixKey: function(skipGroup) {\n var sep = \"_\", prefix = \"\";\n if (!skipGroup && this.group) {\n prefix = this.group.transformMatrixKey(skipGroup) + sep;\n }\n ;\n return prefix + this.top + sep + this.left + sep + this.scaleX + sep + this.scaleY + sep + this.skewX + sep + this.skewY + sep + this.angle + sep + this.originX + sep + this.originY + sep + this.width + sep + this.height + sep + this.strokeWidth + this.flipX + this.flipY;\n },\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties.\n * @param {Boolean} [skipGroup] return transform matrix for object not counting parent transformations\n * There are some situation in which this is useful to avoid the fake rotation.\n * @return {Array} transform matrix for the object\n */ calcTransformMatrix: function(skipGroup) {\n var matrix = this.calcOwnMatrix();\n if (skipGroup || !this.group) {\n return matrix;\n }\n var key = this.transformMatrixKey(skipGroup), cache = this.matrixCache || (this.matrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n if (this.group) {\n matrix = multiplyMatrices(this.group.calcTransformMatrix(false), matrix);\n }\n cache.key = key;\n cache.value = matrix;\n return matrix;\n },\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties, this matrix does not include the group transformation\n * @return {Array} transform matrix for the object\n */ calcOwnMatrix: function() {\n var key = this.transformMatrixKey(true), cache = this.ownMatrixCache || (this.ownMatrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n var tMatrix = this._calcTranslateMatrix(), options = {\n angle: this.angle,\n translateX: tMatrix[4],\n translateY: tMatrix[5],\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: this.skewX,\n skewY: this.skewY,\n flipX: this.flipX,\n flipY: this.flipY\n };\n cache.key = key;\n cache.value = util.composeMatrix(options);\n return cache.value;\n },\n /*\n * Calculate object dimensions from its properties\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */ _getNonTransformedDimensions: function() {\n var strokeWidth = this.strokeWidth, w = this.width + strokeWidth, h = this.height + strokeWidth;\n return {\n x: w,\n y: h\n };\n },\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param {Number} skewX, a value to override current skewX\n * @param {Number} skewY, a value to override current skewY\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */ _getTransformedDimensions: function(skewX, skewY) {\n if (typeof skewX === \"undefined\") {\n skewX = this.skewX;\n }\n if (typeof skewY === \"undefined\") {\n skewY = this.skewY;\n }\n var dimensions, dimX, dimY, noSkew = skewX === 0 && skewY === 0;\n if (this.strokeUniform) {\n dimX = this.width;\n dimY = this.height;\n } else {\n dimensions = this._getNonTransformedDimensions();\n dimX = dimensions.x;\n dimY = dimensions.y;\n }\n if (noSkew) {\n return this._finalizeDimensions(dimX * this.scaleX, dimY * this.scaleY);\n }\n var bbox = util.sizeAfterTransform(dimX, dimY, {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: skewX,\n skewY: skewY\n });\n return this._finalizeDimensions(bbox.x, bbox.y);\n },\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param Number width width of the bbox\n * @param Number height height of the bbox\n * @private\n * @return {Object} .x finalized width dimension\n * @return {Object} .y finalized height dimension\n */ _finalizeDimensions: function(width, height) {\n return this.strokeUniform ? {\n x: width + this.strokeWidth,\n y: height + this.strokeWidth\n } : {\n x: width,\n y: height\n };\n },\n /*\n * Calculate object dimensions for controls box, including padding and canvas zoom.\n * and active selection\n * private\n */ _calculateCurrentDimensions: function() {\n var vpt = this.getViewportTransform(), dim = this._getTransformedDimensions(), p = transformPoint(dim, vpt, true);\n return p.scalarAdd(2 * this.padding);\n }\n });\n})();\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Moves an object to the bottom of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */ sendToBack: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendToBack.call(this.group, this);\n } else if (this.canvas) {\n this.canvas.sendToBack(this);\n }\n return this;\n },\n /**\n * Moves an object to the top of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */ bringToFront: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringToFront.call(this.group, this);\n } else if (this.canvas) {\n this.canvas.bringToFront(this);\n }\n return this;\n },\n /**\n * Moves an object down in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */ sendBackwards: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendBackwards.call(this.group, this, intersecting);\n } else if (this.canvas) {\n this.canvas.sendBackwards(this, intersecting);\n }\n return this;\n },\n /**\n * Moves an object up in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */ bringForward: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringForward.call(this.group, this, intersecting);\n } else if (this.canvas) {\n this.canvas.bringForward(this, intersecting);\n }\n return this;\n },\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {Number} index New position of object\n * @return {fabric.Object} thisArg\n * @chainable\n */ moveTo: function(index) {\n if (this.group && this.group.type !== \"activeSelection\") {\n fabric.StaticCanvas.prototype.moveTo.call(this.group, this, index);\n } else if (this.canvas) {\n this.canvas.moveTo(this, index);\n }\n return this;\n }\n});\n(function() {\n var extend = fabric.util.object.extend, originalSet = \"stateProperties\";\n /*\n Depends on `stateProperties`\n */ function saveProps(origin, destination, props) {\n var tmpObj = {}, deep = true;\n props.forEach(function(prop) {\n tmpObj[prop] = origin[prop];\n });\n extend(origin[destination], tmpObj, deep);\n }\n function _isEqual(origValue, currentValue, firstPass) {\n if (origValue === currentValue) {\n // if the objects are identical, return\n return true;\n } else if (Array.isArray(origValue)) {\n if (!Array.isArray(currentValue) || origValue.length !== currentValue.length) {\n return false;\n }\n for(var i = 0, len = origValue.length; i < len; i++){\n if (!_isEqual(origValue[i], currentValue[i])) {\n return false;\n }\n }\n return true;\n } else if (origValue && typeof origValue === \"object\") {\n var keys = Object.keys(origValue), key;\n if (!currentValue || typeof currentValue !== \"object\" || !firstPass && keys.length !== Object.keys(currentValue).length) {\n return false;\n }\n for(var i = 0, len = keys.length; i < len; i++){\n key = keys[i];\n // since clipPath is in the statefull cache list and the clipPath objects\n // would be iterated as an object, this would lead to possible infinite recursion\n // we do not want to compare those.\n if (key === \"canvas\" || key === \"group\") {\n continue;\n }\n if (!_isEqual(origValue[key], currentValue[key])) {\n return false;\n }\n }\n return true;\n }\n }\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Returns true if object state (one of its state properties) was changed\n * @param {String} [propertySet] optional name for the set of property we want to save\n * @return {Boolean} true if instance' state has changed since `{@link fabric.Object#saveState}` was called\n */ hasStateChanged: function(propertySet) {\n propertySet = propertySet || originalSet;\n var dashedPropertySet = \"_\" + propertySet;\n if (Object.keys(this[dashedPropertySet]).length < this[propertySet].length) {\n return true;\n }\n return !_isEqual(this[dashedPropertySet], this, true);\n },\n /**\n * Saves state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */ saveState: function(options) {\n var propertySet = options && options.propertySet || originalSet, destination = \"_\" + propertySet;\n if (!this[destination]) {\n return this.setupState(options);\n }\n saveProps(this, destination, this[propertySet]);\n if (options && options.stateProperties) {\n saveProps(this, destination, options.stateProperties);\n }\n return this;\n },\n /**\n * Setups state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */ setupState: function(options) {\n options = options || {};\n var propertySet = options.propertySet || originalSet;\n options.propertySet = propertySet;\n this[\"_\" + propertySet] = {};\n this.saveState(options);\n return this;\n }\n });\n})();\n(function() {\n var degreesToRadians = fabric.util.degreesToRadians;\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Determines which corner has been clicked\n * @private\n * @param {Object} pointer The pointer indicating the mouse position\n * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found\n */ _findTargetCorner: function(pointer, forTouch) {\n // objects in group, anykind, are not self modificable,\n // must not return an hovered corner.\n if (!this.hasControls || this.group || !this.canvas || this.canvas._activeObject !== this) {\n return false;\n }\n var ex = pointer.x, ey = pointer.y, xPoints, lines, keys = Object.keys(this.oCoords), j = keys.length - 1, i;\n this.__corner = 0;\n // cycle in reverse order so we pick first the one on top\n for(; j >= 0; j--){\n i = keys[j];\n if (!this.isControlVisible(i)) {\n continue;\n }\n lines = this._getImageLines(forTouch ? this.oCoords[i].touchCorner : this.oCoords[i].corner);\n // // debugging\n //\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n xPoints = this._findCrossPoints({\n x: ex,\n y: ey\n }, lines);\n if (xPoints !== 0 && xPoints % 2 === 1) {\n this.__corner = i;\n return i;\n }\n }\n return false;\n },\n /**\n * Calls a function for each control. The function gets called,\n * with the control, the object that is calling the iterator and the control's key\n * @param {Function} fn function to iterate over the controls over\n */ forEachControl: function(fn) {\n for(var i in this.controls){\n fn(this.controls[i], i, this);\n }\n ;\n },\n /**\n * Sets the coordinates of the draggable boxes in the corners of\n * the image used to scale/rotate it.\n * note: if we would switch to ROUND corner area, all of this would disappear.\n * everything would resolve to a single point and a pythagorean theorem for the distance\n * @private\n */ _setCornerCoords: function() {\n var coords = this.oCoords;\n for(var control in coords){\n var controlObject = this.controls[control];\n coords[control].corner = controlObject.calcCornerCoords(this.angle, this.cornerSize, coords[control].x, coords[control].y, false);\n coords[control].touchCorner = controlObject.calcCornerCoords(this.angle, this.touchCornerSize, coords[control].x, coords[control].y, true);\n }\n },\n /**\n * Draws a colored layer behind the object, inside its selection borders.\n * Requires public options: padding, selectionBackgroundColor\n * this function is called when the context is transformed\n * has checks to be skipped when the object is on a staticCanvas\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawSelectionBackground: function(ctx) {\n if (!this.selectionBackgroundColor || this.canvas && !this.canvas.interactive || this.canvas && this.canvas._activeObject !== this) {\n return this;\n }\n ctx.save();\n var center = this.getCenterPoint(), wh = this._calculateCurrentDimensions(), vpt = this.canvas.viewportTransform;\n ctx.translate(center.x, center.y);\n ctx.scale(1 / vpt[0], 1 / vpt[3]);\n ctx.rotate(degreesToRadians(this.angle));\n ctx.fillStyle = this.selectionBackgroundColor;\n ctx.fillRect(-wh.x / 2, -wh.y / 2, wh.x, wh.y);\n ctx.restore();\n return this;\n },\n /**\n * Draws borders of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawBorders: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n var wh = this._calculateCurrentDimensions(), strokeWidth = this.borderScaleFactor, width = wh.x + strokeWidth, height = wh.y + strokeWidth, hasControls = typeof styleOverride.hasControls !== \"undefined\" ? styleOverride.hasControls : this.hasControls, shouldStroke = false;\n ctx.save();\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeRect(-width / 2, -height / 2, width, height);\n if (hasControls) {\n ctx.beginPath();\n this.forEachControl(function(control, key, fabricObject) {\n // in this moment, the ctx is centered on the object.\n // width and height of the above function are the size of the bbox.\n if (control.withConnection && control.getVisibility(fabricObject, key)) {\n // reset movement for each control\n shouldStroke = true;\n ctx.moveTo(control.x * width, control.y * height);\n ctx.lineTo(control.x * width + control.offsetX, control.y * height + control.offsetY);\n }\n });\n if (shouldStroke) {\n ctx.stroke();\n }\n }\n ctx.restore();\n return this;\n },\n /**\n * Draws borders of an object's bounding box when it is inside a group.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {object} options object representing current object parameters\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawBordersInGroup: function(ctx, options, styleOverride) {\n styleOverride = styleOverride || {};\n var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options), strokeWidth = this.strokeWidth, strokeUniform = this.strokeUniform, borderScaleFactor = this.borderScaleFactor, width = bbox.x + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleX) + borderScaleFactor, height = bbox.y + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleY) + borderScaleFactor;\n ctx.save();\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n ctx.strokeRect(-width / 2, -height / 2, width, height);\n ctx.restore();\n return this;\n },\n /**\n * Draws corners of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: cornerSize, padding\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawControls: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n ctx.save();\n var retinaScaling = this.canvas.getRetinaScaling(), matrix, p;\n ctx.setTransform(retinaScaling, 0, 0, retinaScaling, 0, 0);\n ctx.strokeStyle = ctx.fillStyle = styleOverride.cornerColor || this.cornerColor;\n if (!this.transparentCorners) {\n ctx.strokeStyle = styleOverride.cornerStrokeColor || this.cornerStrokeColor;\n }\n this._setLineDash(ctx, styleOverride.cornerDashArray || this.cornerDashArray);\n this.setCoords();\n if (this.group) {\n // fabricJS does not really support drawing controls inside groups,\n // this piece of code here helps having at least the control in places.\n // If an application needs to show some objects as selected because of some UI state\n // can still call Object._renderControls() on any object they desire, independently of groups.\n // using no padding, circular controls and hiding the rotating cursor is higly suggested,\n matrix = this.group.calcTransformMatrix();\n }\n this.forEachControl(function(control, key, fabricObject) {\n p = fabricObject.oCoords[key];\n if (control.getVisibility(fabricObject, key)) {\n if (matrix) {\n p = fabric.util.transformPoint(p, matrix);\n }\n control.render(ctx, p.x, p.y, styleOverride, fabricObject);\n }\n });\n ctx.restore();\n return this;\n },\n /**\n * Returns true if the specified control is visible, false otherwise.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @returns {Boolean} true if the specified control is visible, false otherwise\n */ isControlVisible: function(controlKey) {\n return this.controls[controlKey] && this.controls[controlKey].getVisibility(this, controlKey);\n },\n /**\n * Sets the visibility of the specified control.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @param {Boolean} visible true to set the specified control visible, false otherwise\n * @return {fabric.Object} thisArg\n * @chainable\n */ setControlVisible: function(controlKey, visible) {\n if (!this._controlsVisibility) {\n this._controlsVisibility = {};\n }\n this._controlsVisibility[controlKey] = visible;\n return this;\n },\n /**\n * Sets the visibility state of object controls.\n * @param {Object} [options] Options object\n * @param {Boolean} [options.bl] true to enable the bottom-left control, false to disable it\n * @param {Boolean} [options.br] true to enable the bottom-right control, false to disable it\n * @param {Boolean} [options.mb] true to enable the middle-bottom control, false to disable it\n * @param {Boolean} [options.ml] true to enable the middle-left control, false to disable it\n * @param {Boolean} [options.mr] true to enable the middle-right control, false to disable it\n * @param {Boolean} [options.mt] true to enable the middle-top control, false to disable it\n * @param {Boolean} [options.tl] true to enable the top-left control, false to disable it\n * @param {Boolean} [options.tr] true to enable the top-right control, false to disable it\n * @param {Boolean} [options.mtr] true to enable the middle-top-rotate control, false to disable it\n * @return {fabric.Object} thisArg\n * @chainable\n */ setControlsVisibility: function(options) {\n options || (options = {});\n for(var p in options){\n this.setControlVisible(p, options[p]);\n }\n return this;\n },\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to deselect this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */ onDeselect: function() {\n // implemented by sub-classes, as needed.\n },\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to select this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */ onSelect: function() {\n // implemented by sub-classes, as needed.\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Animation duration (in ms) for fx* methods\n * @type Number\n * @default\n */ FX_DURATION: 500,\n /**\n * Centers object horizontally with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxCenterObjectH: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.left,\n endValue: this.getCenterPoint().x,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"left\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n /**\n * Centers object vertically with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxCenterObjectV: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.top,\n endValue: this.getCenterPoint().y,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"top\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n /**\n * Same as `fabric.Canvas#remove` but animated\n * @param {fabric.Object} object Object to remove\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxRemove: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.opacity,\n endValue: 0,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"opacity\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n _this.remove(object);\n onComplete();\n }\n });\n }\n});\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Animates object's properties\n * @param {String|Object} property Property to animate (if string) or properties to animate (if object)\n * @param {Number|Object} value Value to animate property to (if string was given first) or options object\n * @return {fabric.Object} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#animation}\n * @return {fabric.AnimationContext | fabric.AnimationContext[]} animation context (or an array if passed multiple properties)\n *\n * As object — multiple properties\n *\n * object.animate({ left: ..., top: ... });\n * object.animate({ left: ..., top: ... }, { duration: ... });\n *\n * As string — one property\n *\n * object.animate('left', ...);\n * object.animate('left', { duration: ... });\n *\n */ animate: function() {\n if (arguments[0] && typeof arguments[0] === \"object\") {\n var propsToAnimate = [], prop, skipCallbacks, out = [];\n for(prop in arguments[0]){\n propsToAnimate.push(prop);\n }\n for(var i = 0, len = propsToAnimate.length; i < len; i++){\n prop = propsToAnimate[i];\n skipCallbacks = i !== len - 1;\n out.push(this._animate(prop, arguments[0][prop], arguments[1], skipCallbacks));\n }\n return out;\n } else {\n return this._animate.apply(this, arguments);\n }\n },\n /**\n * @private\n * @param {String} property Property to animate\n * @param {String} to Value to animate to\n * @param {Object} [options] Options object\n * @param {Boolean} [skipCallbacks] When true, callbacks like onchange and oncomplete are not invoked\n */ _animate: function(property, to, options, skipCallbacks) {\n var _this = this, propPair;\n to = to.toString();\n if (!options) {\n options = {};\n } else {\n options = fabric.util.object.clone(options);\n }\n if (~property.indexOf(\".\")) {\n propPair = property.split(\".\");\n }\n var propIsColor = _this.colorProperties.indexOf(property) > -1 || propPair && _this.colorProperties.indexOf(propPair[1]) > -1;\n var currentValue = propPair ? this.get(propPair[0])[propPair[1]] : this.get(property);\n if (!(\"from\" in options)) {\n options.from = currentValue;\n }\n if (!propIsColor) {\n if (~to.indexOf(\"=\")) {\n to = currentValue + parseFloat(to.replace(\"=\", \"\"));\n } else {\n to = parseFloat(to);\n }\n }\n var _options = {\n target: this,\n startValue: options.from,\n endValue: to,\n byValue: options.by,\n easing: options.easing,\n duration: options.duration,\n abort: options.abort && function(value, valueProgress, timeProgress) {\n return options.abort.call(_this, value, valueProgress, timeProgress);\n },\n onChange: function(value, valueProgress, timeProgress) {\n if (propPair) {\n _this[propPair[0]][propPair[1]] = value;\n } else {\n _this.set(property, value);\n }\n if (skipCallbacks) {\n return;\n }\n options.onChange && options.onChange(value, valueProgress, timeProgress);\n },\n onComplete: function(value, valueProgress, timeProgress) {\n if (skipCallbacks) {\n return;\n }\n _this.setCoords();\n options.onComplete && options.onComplete(value, valueProgress, timeProgress);\n }\n };\n if (propIsColor) {\n return fabric.util.animateColor(_options.startValue, _options.endValue, _options.duration, _options);\n } else {\n return fabric.util.animate(_options);\n }\n }\n});\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend;\n if (fabric.Rect) {\n fabric.warn(\"fabric.Rect is already defined\");\n return;\n }\n /**\n * Rectangle class\n * @class fabric.Rect\n * @extends fabric.Object\n * @return {fabric.Rect} thisArg\n * @see {@link fabric.Rect#initialize} for constructor definition\n */ fabric.Rect = fabric.util.createClass(fabric.Object, /** @lends fabric.Rect.prototype */ {\n /**\n * List of properties to consider when checking if state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(\"rx\", \"ry\"),\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"rect\",\n /**\n * Horizontal border radius\n * @type Number\n * @default\n */ rx: 0,\n /**\n * Vertical border radius\n * @type Number\n * @default\n */ ry: 0,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"rx\", \"ry\"),\n /**\n * Constructor\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n this._initRxRy();\n },\n /**\n * Initializes rx/ry attributes\n * @private\n */ _initRxRy: function() {\n if (this.rx && !this.ry) {\n this.ry = this.rx;\n } else if (this.ry && !this.rx) {\n this.rx = this.ry;\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n // 1x1 case (used in spray brush) optimization was removed because\n // with caching and higher zoom level this makes more damage than help\n var rx = this.rx ? Math.min(this.rx, this.width / 2) : 0, ry = this.ry ? Math.min(this.ry, this.height / 2) : 0, w = this.width, h = this.height, x = -this.width / 2, y = -this.height / 2, isRounded = rx !== 0 || ry !== 0, /* \"magic number\" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */ k = 1 - 0.5522847498;\n ctx.beginPath();\n ctx.moveTo(x + rx, y);\n ctx.lineTo(x + w - rx, y);\n isRounded && ctx.bezierCurveTo(x + w - k * rx, y, x + w, y + k * ry, x + w, y + ry);\n ctx.lineTo(x + w, y + h - ry);\n isRounded && ctx.bezierCurveTo(x + w, y + h - k * ry, x + w - k * rx, y + h, x + w - rx, y + h);\n ctx.lineTo(x + rx, y + h);\n isRounded && ctx.bezierCurveTo(x + k * rx, y + h, x, y + h - k * ry, x, y + h - ry);\n ctx.lineTo(x, y + ry);\n isRounded && ctx.bezierCurveTo(x, y + k * ry, x + k * rx, y, x + rx, y);\n ctx.closePath();\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return this.callSuper(\"toObject\", [\n \"rx\",\n \"ry\"\n ].concat(propertiesToInclude));\n }\n });\n /**\n * Returns {@link fabric.Rect} instance from an object representation\n * @static\n * @memberOf fabric.Rect\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Rect instance is created\n */ fabric.Rect.fromObject = function(object, callback) {\n return fabric.Object._fromObject(\"Rect\", object, callback);\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, min = fabric.util.array.min, max = fabric.util.array.max, toFixed = fabric.util.toFixed, projectStrokeOnPoints = fabric.util.projectStrokeOnPoints;\n if (fabric.Polyline) {\n fabric.warn(\"fabric.Polyline is already defined\");\n return;\n }\n /**\n * Polyline class\n * @class fabric.Polyline\n * @extends fabric.Object\n * @see {@link fabric.Polyline#initialize} for constructor definition\n */ fabric.Polyline = fabric.util.createClass(fabric.Object, /** @lends fabric.Polyline.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"polyline\",\n /**\n * Points array\n * @type Array\n * @default\n */ points: null,\n /**\n * WARNING: Feature in progress\n * Calculate the exact bounding box taking in account strokeWidth on acute angles\n * this will be turned to true by default on fabric 6.0\n * maybe will be left in as an optimization since calculations may be slow\n * @deprecated\n * @type Boolean\n * @default false\n */ exactBoundingBox: false,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"points\"),\n /**\n * Constructor\n * @param {Array} points Array of points (where each point is an object with x and y)\n * @param {Object} [options] Options object\n * @return {fabric.Polyline} thisArg\n * @example\n * var poly = new fabric.Polyline([\n * { x: 10, y: 10 },\n * { x: 50, y: 30 },\n * { x: 40, y: 70 },\n * { x: 60, y: 50 },\n * { x: 100, y: 150 },\n * { x: 40, y: 100 }\n * ], {\n * stroke: 'red',\n * left: 100,\n * top: 100\n * });\n */ initialize: function(points, options) {\n options = options || {};\n this.points = points || [];\n this.callSuper(\"initialize\", options);\n this._setPositionDimensions(options);\n },\n /**\n * @private\n */ _projectStrokeOnPoints: function() {\n return projectStrokeOnPoints(this.points, this, true);\n },\n _setPositionDimensions: function(options) {\n var calcDim = this._calcDimensions(options), correctLeftTop, correctSize = this.exactBoundingBox ? this.strokeWidth : 0;\n this.width = calcDim.width - correctSize;\n this.height = calcDim.height - correctSize;\n if (!options.fromSVG) {\n correctLeftTop = this.translateToGivenOrigin({\n // this looks bad, but is one way to keep it optional for now.\n x: calcDim.left - this.strokeWidth / 2 + correctSize / 2,\n y: calcDim.top - this.strokeWidth / 2 + correctSize / 2\n }, \"left\", \"top\", this.originX, this.originY);\n }\n if (typeof options.left === \"undefined\") {\n this.left = options.fromSVG ? calcDim.left : correctLeftTop.x;\n }\n if (typeof options.top === \"undefined\") {\n this.top = options.fromSVG ? calcDim.top : correctLeftTop.y;\n }\n this.pathOffset = {\n x: calcDim.left + this.width / 2 + correctSize / 2,\n y: calcDim.top + this.height / 2 + correctSize / 2\n };\n },\n /**\n * Calculate the polygon min and max point from points array,\n * returning an object with left, top, width, height to measure the\n * polygon size\n * @return {Object} object.left X coordinate of the polygon leftmost point\n * @return {Object} object.top Y coordinate of the polygon topmost point\n * @return {Object} object.width distance between X coordinates of the polygon leftmost and rightmost point\n * @return {Object} object.height distance between Y coordinates of the polygon topmost and bottommost point\n * @private\n */ _calcDimensions: function() {\n var points = this.exactBoundingBox ? this._projectStrokeOnPoints() : this.points, minX = min(points, \"x\") || 0, minY = min(points, \"y\") || 0, maxX = max(points, \"x\") || 0, maxY = max(points, \"y\") || 0, width = maxX - minX, height = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return extend(this.callSuper(\"toObject\", propertiesToInclude), {\n points: this.points.concat()\n });\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ commonRender: function(ctx) {\n var point, len = this.points.length, x = this.pathOffset.x, y = this.pathOffset.y;\n if (!len || isNaN(this.points[len - 1].y)) {\n // do not draw if no points or odd points\n // NaN comes from parseFloat of a empty string in parser\n return false;\n }\n ctx.beginPath();\n ctx.moveTo(this.points[0].x - x, this.points[0].y - y);\n for(var i = 0; i < len; i++){\n point = this.points[i];\n ctx.lineTo(point.x - x, point.y - y);\n }\n return true;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n if (!this.commonRender(ctx)) {\n return;\n }\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance\n */ complexity: function() {\n return this.get(\"points\").length;\n }\n });\n /**\n * Returns fabric.Polyline instance from an object representation\n * @static\n * @memberOf fabric.Polyline\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */ fabric.Polyline.fromObject = function(object, callback) {\n return fabric.Object._fromObject(\"Polyline\", object, callback, \"points\");\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), min = fabric.util.array.min, max = fabric.util.array.max, extend = fabric.util.object.extend, clone = fabric.util.object.clone, toFixed = fabric.util.toFixed;\n if (fabric.Path) {\n fabric.warn(\"fabric.Path is already defined\");\n return;\n }\n /**\n * Path class\n * @class fabric.Path\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#path_and_pathgroup}\n * @see {@link fabric.Path#initialize} for constructor definition\n */ fabric.Path = fabric.util.createClass(fabric.Object, /** @lends fabric.Path.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"path\",\n /**\n * Array of path points\n * @type Array\n * @default\n */ path: null,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"path\", \"fillRule\"),\n stateProperties: fabric.Object.prototype.stateProperties.concat(\"path\"),\n /**\n * Constructor\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n * @return {fabric.Path} thisArg\n */ initialize: function(path, options) {\n options = clone(options || {});\n delete options.path;\n this.callSuper(\"initialize\", options);\n this._setPath(path || [], options);\n },\n /**\n * @private\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n */ _setPath: function(path, options) {\n this.path = fabric.util.makePathSimpler(Array.isArray(path) ? path : fabric.util.parsePath(path));\n fabric.Polyline.prototype._setPositionDimensions.call(this, options || {});\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */ _renderPathCommands: function(ctx) {\n var current, subpathStartX = 0, subpathStartY = 0, x = 0, y = 0, controlX = 0, controlY = 0, l = -this.pathOffset.x, t = -this.pathOffset.y;\n ctx.beginPath();\n for(var i = 0, len = this.path.length; i < len; ++i){\n current = this.path[i];\n switch(current[0]){\n case \"L\":\n x = current[1];\n y = current[2];\n ctx.lineTo(x + l, y + t);\n break;\n case \"M\":\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n ctx.moveTo(x + l, y + t);\n break;\n case \"C\":\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n ctx.bezierCurveTo(current[1] + l, current[2] + t, controlX + l, controlY + t, x + l, y + t);\n break;\n case \"Q\":\n ctx.quadraticCurveTo(current[1] + l, current[2] + t, current[3] + l, current[4] + t);\n x = current[3];\n y = current[4];\n controlX = current[1];\n controlY = current[2];\n break;\n case \"z\":\n case \"Z\":\n x = subpathStartX;\n y = subpathStartY;\n ctx.closePath();\n break;\n }\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */ _render: function(ctx) {\n this._renderPathCommands(ctx);\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns string representation of an instance\n * @return {String} string representation of an instance\n */ toString: function() {\n return \"#\";\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return extend(this.callSuper(\"toObject\", propertiesToInclude), {\n path: this.path.map(function(item) {\n return item.slice();\n })\n });\n },\n /**\n * Returns dataless object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n var o = this.toObject([\n \"sourcePath\"\n ].concat(propertiesToInclude));\n if (o.sourcePath) {\n delete o.path;\n }\n return o;\n },\n /**\n * Returns number representation of an instance complexity\n * @return {Number} complexity of this instance\n */ complexity: function() {\n return this.path.length;\n },\n /**\n * @private\n */ _calcDimensions: function() {\n var aX = [], aY = [], current, subpathStartX = 0, subpathStartY = 0, x = 0, y = 0, bounds;\n for(var i = 0, len = this.path.length; i < len; ++i){\n current = this.path[i];\n switch(current[0]){\n case \"L\":\n x = current[1];\n y = current[2];\n bounds = [];\n break;\n case \"M\":\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n bounds = [];\n break;\n case \"C\":\n bounds = fabric.util.getBoundsOfCurve(x, y, current[1], current[2], current[3], current[4], current[5], current[6]);\n x = current[5];\n y = current[6];\n break;\n case \"Q\":\n bounds = fabric.util.getBoundsOfCurve(x, y, current[1], current[2], current[1], current[2], current[3], current[4]);\n x = current[3];\n y = current[4];\n break;\n case \"z\":\n case \"Z\":\n x = subpathStartX;\n y = subpathStartY;\n break;\n }\n bounds.forEach(function(point) {\n aX.push(point.x);\n aY.push(point.y);\n });\n aX.push(x);\n aY.push(y);\n }\n var minX = min(aX) || 0, minY = min(aY) || 0, maxX = max(aX) || 0, maxY = max(aY) || 0, deltaX = maxX - minX, deltaY = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: deltaX,\n height: deltaY\n };\n }\n });\n /**\n * Creates an instance of fabric.Path from an object\n * @static\n * @memberOf fabric.Path\n * @param {Object} object\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */ fabric.Path.fromObject = function(object, callback) {\n if (typeof object.sourcePath === \"string\") {\n var pathUrl = object.sourcePath;\n fabric.loadSVGFromURL(pathUrl, function(elements) {\n var path = elements[0];\n path.setOptions(object);\n callback && callback(path);\n });\n } else {\n fabric.Object._fromObject(\"Path\", object, callback, \"path\");\n }\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), min = fabric.util.array.min, max = fabric.util.array.max;\n if (fabric.Group) {\n return;\n }\n /**\n * Group class\n * @class fabric.Group\n * @extends fabric.Object\n * @mixes fabric.Collection\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.Group#initialize} for constructor definition\n */ fabric.Group = fabric.util.createClass(fabric.Object, fabric.Collection, /** @lends fabric.Group.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"group\",\n /**\n * Width of stroke\n * @type Number\n * @default\n */ strokeWidth: 0,\n /**\n * Indicates if click, mouseover, mouseout events & hoverCursor should also check for subtargets\n * @type Boolean\n * @default\n */ subTargetCheck: false,\n /**\n * Groups are container, do not render anything on theyr own, ence no cache properties\n * @type Array\n * @default\n */ cacheProperties: [],\n /**\n * setOnGroup is a method used for TextBox that is no more used since 2.0.0 The behavior is still\n * available setting this boolean to true.\n * @type Boolean\n * @since 2.0.0\n * @default\n */ useSetOnGroup: false,\n /**\n * Constructor\n * @param {Object} objects Group objects\n * @param {Object} [options] Options object\n * @param {Boolean} [isAlreadyGrouped] if true, objects have been grouped already.\n * @return {Object} thisArg\n */ initialize: function(objects, options, isAlreadyGrouped) {\n options = options || {};\n this._objects = [];\n // if objects enclosed in a group have been grouped already,\n // we cannot change properties of objects.\n // Thus we need to set options to group without objects,\n isAlreadyGrouped && this.callSuper(\"initialize\", options);\n this._objects = objects || [];\n for(var i = this._objects.length; i--;){\n this._objects[i].group = this;\n }\n if (!isAlreadyGrouped) {\n var center = options && options.centerPoint;\n // we want to set origins before calculating the bounding box.\n // so that the topleft can be set with that in mind.\n // if specific top and left are passed, are overwritten later\n // with the callSuper('initialize', options)\n if (options.originX !== undefined) {\n this.originX = options.originX;\n }\n if (options.originY !== undefined) {\n this.originY = options.originY;\n }\n // if coming from svg i do not want to calc bounds.\n // i assume width and height are passed along options\n center || this._calcBounds();\n this._updateObjectsCoords(center);\n delete options.centerPoint;\n this.callSuper(\"initialize\", options);\n } else {\n this._updateObjectsACoords();\n }\n this.setCoords();\n },\n /**\n * @private\n */ _updateObjectsACoords: function() {\n var skipControls = true;\n for(var i = this._objects.length; i--;){\n this._objects[i].setCoords(skipControls);\n }\n },\n /**\n * @private\n * @param {Boolean} [skipCoordsChange] if true, coordinates of objects enclosed in a group do not change\n */ _updateObjectsCoords: function(center) {\n var center = center || this.getCenterPoint();\n for(var i = this._objects.length; i--;){\n this._updateObjectCoords(this._objects[i], center);\n }\n },\n /**\n * @private\n * @param {Object} object\n * @param {fabric.Point} center, current center of group.\n */ _updateObjectCoords: function(object, center) {\n var objectLeft = object.left, objectTop = object.top, skipControls = true;\n object.set({\n left: objectLeft - center.x,\n top: objectTop - center.y\n });\n object.group = this;\n object.setCoords(skipControls);\n },\n /**\n * Returns string represenation of a group\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Adds an object to a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */ addWithUpdate: function(object) {\n var nested = !!this.group;\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n if (object) {\n if (nested) {\n // if this group is inside another group, we need to pre transform the object\n fabric.util.removeTransformFromObject(object, this.group.calcTransformMatrix());\n }\n this._objects.push(object);\n object.group = this;\n object._set(\"canvas\", this.canvas);\n }\n this._calcBounds();\n this._updateObjectsCoords();\n this.dirty = true;\n if (nested) {\n this.group.addWithUpdate();\n } else {\n this.setCoords();\n }\n return this;\n },\n /**\n * Removes an object from a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */ removeWithUpdate: function(object) {\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n this.remove(object);\n this._calcBounds();\n this._updateObjectsCoords();\n this.setCoords();\n this.dirty = true;\n return this;\n },\n /**\n * @private\n */ _onObjectAdded: function(object) {\n this.dirty = true;\n object.group = this;\n object._set(\"canvas\", this.canvas);\n },\n /**\n * @private\n */ _onObjectRemoved: function(object) {\n this.dirty = true;\n delete object.group;\n },\n /**\n * @private\n */ _set: function(key, value) {\n var i = this._objects.length;\n if (this.useSetOnGroup) {\n while(i--){\n this._objects[i].setOnGroup(key, value);\n }\n }\n if (key === \"canvas\") {\n while(i--){\n this._objects[i]._set(key, value);\n }\n }\n fabric.Object.prototype._set.call(this, key, value);\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var _includeDefaultValues = this.includeDefaultValues;\n var objsToObject = this._objects.filter(function(obj) {\n return !obj.excludeFromExport;\n }).map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n var obj = fabric.Object.prototype.toObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n /**\n * Returns object representation of an instance, in dataless mode.\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n var objsToObject, sourcePath = this.sourcePath;\n if (sourcePath) {\n objsToObject = sourcePath;\n } else {\n var _includeDefaultValues = this.includeDefaultValues;\n objsToObject = this._objects.map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toDatalessObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n }\n var obj = fabric.Object.prototype.toDatalessObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n /**\n * Renders instance on a given context\n * @param {CanvasRenderingContext2D} ctx context to render instance on\n */ render: function(ctx) {\n this._transformDone = true;\n this.callSuper(\"render\", ctx);\n this._transformDone = false;\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group is already cached.\n * @return {Boolean}\n */ shouldCache: function() {\n var ownCache = fabric.Object.prototype.shouldCache.call(this);\n if (ownCache) {\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].willDrawShadow()) {\n this.ownCaching = false;\n return false;\n }\n }\n }\n return ownCache;\n },\n /**\n * Check if this object or a child object will cast a shadow\n * @return {Boolean}\n */ willDrawShadow: function() {\n if (fabric.Object.prototype.willDrawShadow.call(this)) {\n return true;\n }\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].willDrawShadow()) {\n return true;\n }\n }\n return false;\n },\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */ isOnACache: function() {\n return this.ownCaching || this.group && this.group.isOnACache();\n },\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawObject: function(ctx) {\n for(var i = 0, len = this._objects.length; i < len; i++){\n this._objects[i].render(ctx);\n }\n this._drawClipPath(ctx, this.clipPath);\n },\n /**\n * Check if cache is dirty\n */ isCacheDirty: function(skipCanvas) {\n if (this.callSuper(\"isCacheDirty\", skipCanvas)) {\n return true;\n }\n if (!this.statefullCache) {\n return false;\n }\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].isCacheDirty(true)) {\n if (this._cacheCanvas) {\n // if this group has not a cache canvas there is nothing to clean\n var x = this.cacheWidth / this.zoomX, y = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-x / 2, -y / 2, x, y);\n }\n return true;\n }\n }\n return false;\n },\n /**\n * Restores original state of each of group objects (original state is that which was before group was created).\n * if the nested boolean is true, the original state will be restored just for the\n * first group and not for all the group chain\n * @private\n * @param {Boolean} nested tell the function to restore object state up to the parent group and not more\n * @return {fabric.Group} thisArg\n * @chainable\n */ _restoreObjectsState: function() {\n var groupMatrix = this.calcOwnMatrix();\n this._objects.forEach(function(object) {\n // instead of using _this = this;\n fabric.util.addTransformToObject(object, groupMatrix);\n delete object.group;\n object.setCoords();\n });\n return this;\n },\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */ destroy: function() {\n // when group is destroyed objects needs to get a repaint to be eventually\n // displayed on canvas.\n this._objects.forEach(function(object) {\n object.set(\"dirty\", true);\n });\n return this._restoreObjectsState();\n },\n dispose: function() {\n this.callSuper(\"dispose\");\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n },\n /**\n * make a group an active selection, remove the group from canvas\n * the group has to be on canvas for this to work.\n * @return {fabric.ActiveSelection} thisArg\n * @chainable\n */ toActiveSelection: function() {\n if (!this.canvas) {\n return;\n }\n var objects = this._objects, canvas = this.canvas;\n this._objects = [];\n var options = this.toObject();\n delete options.objects;\n var activeSelection = new fabric.ActiveSelection([]);\n activeSelection.set(options);\n activeSelection.type = \"activeSelection\";\n canvas.remove(this);\n objects.forEach(function(object) {\n object.group = activeSelection;\n object.dirty = true;\n canvas.add(object);\n });\n activeSelection.canvas = canvas;\n activeSelection._objects = objects;\n canvas._activeObject = activeSelection;\n activeSelection.setCoords();\n return activeSelection;\n },\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */ ungroupOnCanvas: function() {\n return this._restoreObjectsState();\n },\n /**\n * Sets coordinates of all objects inside group\n * @return {fabric.Group} thisArg\n * @chainable\n */ setObjectsCoords: function() {\n var skipControls = true;\n this.forEachObject(function(object) {\n object.setCoords(skipControls);\n });\n return this;\n },\n /**\n * @private\n */ _calcBounds: function(onlyWidthHeight) {\n var aX = [], aY = [], o, prop, coords, props = [\n \"tr\",\n \"br\",\n \"bl\",\n \"tl\"\n ], i = 0, iLen = this._objects.length, j, jLen = props.length;\n for(; i < iLen; ++i){\n o = this._objects[i];\n coords = o.calcACoords();\n for(j = 0; j < jLen; j++){\n prop = props[j];\n aX.push(coords[prop].x);\n aY.push(coords[prop].y);\n }\n o.aCoords = coords;\n }\n this._getBounds(aX, aY, onlyWidthHeight);\n },\n /**\n * @private\n */ _getBounds: function(aX, aY, onlyWidthHeight) {\n var minXY = new fabric.Point(min(aX), min(aY)), maxXY = new fabric.Point(max(aX), max(aY)), top = minXY.y || 0, left = minXY.x || 0, width = maxXY.x - minXY.x || 0, height = maxXY.y - minXY.y || 0;\n this.width = width;\n this.height = height;\n if (!onlyWidthHeight) {\n // the bounding box always finds the topleft most corner.\n // whatever is the group origin, we set up here the left/top position.\n this.setPositionByOrigin({\n x: left,\n y: top\n }, \"left\", \"top\");\n }\n }\n });\n /**\n * Returns {@link fabric.Group} instance from an object representation\n * @static\n * @memberOf fabric.Group\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an group instance is created\n */ fabric.Group.fromObject = function(object, callback) {\n var objects = object.objects, options = fabric.util.object.clone(object, true);\n delete options.objects;\n if (typeof objects === \"string\") {\n // it has to be an url or something went wrong.\n fabric.loadSVGFromURL(objects, function(elements) {\n var group = fabric.util.groupSVGElements(elements, object, objects);\n group.set(options);\n callback && callback(group);\n });\n return;\n }\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function() {\n callback && callback(new fabric.Group(enlivenedObjects, options, true));\n });\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n if (fabric.ActiveSelection) {\n return;\n }\n /**\n * Group class\n * @class fabric.ActiveSelection\n * @extends fabric.Group\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.ActiveSelection#initialize} for constructor definition\n */ fabric.ActiveSelection = fabric.util.createClass(fabric.Group, /** @lends fabric.ActiveSelection.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"activeSelection\",\n /**\n * Constructor\n * @param {Object} objects ActiveSelection objects\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(objects, options) {\n options = options || {};\n this._objects = objects || [];\n for(var i = this._objects.length; i--;){\n this._objects[i].group = this;\n }\n if (options.originX) {\n this.originX = options.originX;\n }\n if (options.originY) {\n this.originY = options.originY;\n }\n this._calcBounds();\n this._updateObjectsCoords();\n fabric.Object.prototype.initialize.call(this, options);\n this.setCoords();\n },\n /**\n * Change te activeSelection to a normal group,\n * High level function that automatically adds it to canvas as\n * active object. no events fired.\n * @since 2.0.0\n * @return {fabric.Group}\n */ toGroup: function() {\n var objects = this._objects.concat();\n this._objects = [];\n var options = fabric.Object.prototype.toObject.call(this);\n var newGroup = new fabric.Group([]);\n delete options.type;\n newGroup.set(options);\n objects.forEach(function(object) {\n object.canvas.remove(object);\n object.group = newGroup;\n });\n newGroup._objects = objects;\n if (!this.canvas) {\n return newGroup;\n }\n var canvas = this.canvas;\n canvas.add(newGroup);\n canvas._activeObject = newGroup;\n newGroup.setCoords();\n return newGroup;\n },\n /**\n * If returns true, deselection is cancelled.\n * @since 2.0.0\n * @return {Boolean} [cancel]\n */ onDeselect: function() {\n this.destroy();\n return false;\n },\n /**\n * Returns string representation of a group\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * @return {Boolean}\n */ shouldCache: function() {\n return false;\n },\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */ isOnACache: function() {\n return false;\n },\n /**\n * Renders controls and borders for the object\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n * @param {Object} [childrenOverride] properties to override the children overrides\n */ _renderControls: function(ctx, styleOverride, childrenOverride) {\n ctx.save();\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n this.callSuper(\"_renderControls\", ctx, styleOverride);\n childrenOverride = childrenOverride || {};\n if (typeof childrenOverride.hasControls === \"undefined\") {\n childrenOverride.hasControls = false;\n }\n childrenOverride.forActiveSelection = true;\n for(var i = 0, len = this._objects.length; i < len; i++){\n this._objects[i]._renderControls(ctx, childrenOverride);\n }\n ctx.restore();\n }\n });\n /**\n * Returns {@link fabric.ActiveSelection} instance from an object representation\n * @static\n * @memberOf fabric.ActiveSelection\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an ActiveSelection instance is created\n */ fabric.ActiveSelection.fromObject = function(object, callback) {\n fabric.util.enlivenObjects(object.objects, function(enlivenedObjects) {\n delete object.objects;\n callback && callback(new fabric.ActiveSelection(enlivenedObjects, object, true));\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var extend = fabric.util.object.extend;\n if (!global.fabric) {\n global.fabric = {};\n }\n if (global.fabric.Image) {\n fabric.warn(\"fabric.Image is already defined.\");\n return;\n }\n /**\n * Image class\n * @class fabric.Image\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#images}\n * @see {@link fabric.Image#initialize} for constructor definition\n */ fabric.Image = fabric.util.createClass(fabric.Object, /** @lends fabric.Image.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"image\",\n /**\n * Width of a stroke.\n * For image quality a stroke multiple of 2 gives better results.\n * @type Number\n * @default\n */ strokeWidth: 0,\n /**\n * When calling {@link fabric.Image.getSrc}, return value from element src with `element.getAttribute('src')`.\n * This allows for relative urls as image src.\n * @since 2.7.0\n * @type Boolean\n * @default\n */ srcFromAttribute: false,\n /**\n * private\n * contains last value of scaleX to detect\n * if the Image got resized after the last Render\n * @type Number\n */ _lastScaleX: 1,\n /**\n * private\n * contains last value of scaleY to detect\n * if the Image got resized after the last Render\n * @type Number\n */ _lastScaleY: 1,\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */ _filterScalingX: 1,\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */ _filterScalingY: 1,\n /**\n * minimum scale factor under which any resizeFilter is triggered to resize the image\n * 0 will disable the automatic resize. 1 will trigger automatically always.\n * number bigger than 1 are not implemented yet.\n * @type Number\n */ minimumScaleTrigger: 0.5,\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(\"cropX\", \"cropY\"),\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */ cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"cropX\", \"cropY\"),\n /**\n * key used to retrieve the texture representing this image\n * @since 2.0.0\n * @type String\n * @default\n */ cacheKey: \"\",\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */ cropX: 0,\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */ cropY: 0,\n /**\n * Indicates whether this canvas will use image smoothing when painting this image.\n * Also influence if the cacheCanvas for this image uses imageSmoothing\n * @since 4.0.0-beta.11\n * @type Boolean\n * @default\n */ imageSmoothing: true,\n /**\n * Constructor\n * Image can be initialized with any canvas drawable or a string.\n * The string should be a url and will be loaded as an image.\n * Canvas and Image element work out of the box, while videos require extra code to work.\n * Please check video element events for seeking.\n * @param {HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | String} element Image element\n * @param {Object} [options] Options object\n * @param {function} [callback] callback function to call after eventual filters applied.\n * @return {fabric.Image} thisArg\n */ initialize: function(element, options) {\n options || (options = {});\n this.filters = [];\n this.cacheKey = \"texture\" + fabric.Object.__uid++;\n this.callSuper(\"initialize\", options);\n this._initElement(element, options);\n },\n /**\n * Returns image element which this instance if based on\n * @return {HTMLImageElement} Image element\n */ getElement: function() {\n return this._element || {};\n },\n /**\n * Sets image element for this instance to a specified one.\n * If filters defined they are applied to new image.\n * You might need to call `canvas.renderAll` and `object.setCoords` after replacing, to render new image and update controls area.\n * @param {HTMLImageElement} element\n * @param {Object} [options] Options object\n * @return {fabric.Image} thisArg\n * @chainable\n */ setElement: function(element, options) {\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + \"_filtered\");\n this._element = element;\n this._originalElement = element;\n this._initConfig(options);\n if (this.filters.length !== 0) {\n this.applyFilters();\n }\n // resizeFilters work on the already filtered copy.\n // we need to apply resizeFilters AFTER normal filters.\n // applyResizeFilters is run more often than normal filters\n // and is triggered by user interactions rather than dev code\n if (this.resizeFilter) {\n this.applyResizeFilters();\n }\n return this;\n },\n /**\n * Delete a single texture if in webgl mode\n */ removeTexture: function(key) {\n var backend = fabric.filterBackend;\n if (backend && backend.evictCachesForKey) {\n backend.evictCachesForKey(key);\n }\n },\n /**\n * Delete textures, reference to elements and eventually JSDOM cleanup\n */ dispose: function() {\n this.callSuper(\"dispose\");\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + \"_filtered\");\n this._cacheContext = undefined;\n [\n \"_originalElement\",\n \"_element\",\n \"_filteredEl\",\n \"_cacheCanvas\"\n ].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n },\n /**\n * Get the crossOrigin value (of the corresponding image element)\n */ getCrossOrigin: function() {\n return this._originalElement && (this._originalElement.crossOrigin || null);\n },\n /**\n * Returns original size of an image\n * @return {Object} Object with \"width\" and \"height\" properties\n */ getOriginalSize: function() {\n var element = this.getElement();\n return {\n width: element.naturalWidth || element.width,\n height: element.naturalHeight || element.height\n };\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _stroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n var w = this.width / 2, h = this.height / 2;\n ctx.beginPath();\n ctx.moveTo(-w, -h);\n ctx.lineTo(w, -h);\n ctx.lineTo(w, h);\n ctx.lineTo(-w, h);\n ctx.lineTo(-w, -h);\n ctx.closePath();\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var filters = [];\n this.filters.forEach(function(filterObj) {\n if (filterObj) {\n filters.push(filterObj.toObject());\n }\n });\n var object = extend(this.callSuper(\"toObject\", [\n \"cropX\",\n \"cropY\"\n ].concat(propertiesToInclude)), {\n src: this.getSrc(),\n crossOrigin: this.getCrossOrigin(),\n filters: filters\n });\n if (this.resizeFilter) {\n object.resizeFilter = this.resizeFilter.toObject();\n }\n return object;\n },\n /**\n * Returns true if an image has crop applied, inspecting values of cropX,cropY,width,height.\n * @return {Boolean}\n */ hasCrop: function() {\n return this.cropX || this.cropY || this.width < this._element.width || this.height < this._element.height;\n },\n /**\n * Returns source of an image\n * @param {Boolean} filtered indicates if the src is needed for svg\n * @return {String} Source of an image\n */ getSrc: function(filtered) {\n var element = filtered ? this._element : this._originalElement;\n if (element) {\n if (element.toDataURL) {\n return element.toDataURL();\n }\n if (this.srcFromAttribute) {\n return element.getAttribute(\"src\");\n } else {\n return element.src;\n }\n } else {\n return this.src || \"\";\n }\n },\n /**\n * Sets source of an image\n * @param {String} src Source string (URL)\n * @param {Function} [callback] Callback is invoked when image has been loaded (and all filters have been applied)\n * @param {Object} [options] Options object\n * @param {String} [options.crossOrigin] crossOrigin value (one of \"\", \"anonymous\", \"use-credentials\")\n * @see https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes\n * @return {fabric.Image} thisArg\n * @chainable\n */ setSrc: function(src, callback, options) {\n fabric.util.loadImage(src, function(img, isError) {\n this.setElement(img, options);\n this._setWidthHeight();\n callback && callback(this, isError);\n }, this, options && options.crossOrigin);\n return this;\n },\n /**\n * Returns string representation of an instance\n * @return {String} String representation of an instance\n */ toString: function() {\n return '#';\n },\n applyResizeFilters: function() {\n var filter = this.resizeFilter, minimumScale = this.minimumScaleTrigger, objectScale = this.getTotalObjectScaling(), scaleX = objectScale.scaleX, scaleY = objectScale.scaleY, elementToFilter = this._filteredEl || this._originalElement;\n if (this.group) {\n this.set(\"dirty\", true);\n }\n if (!filter || scaleX > minimumScale && scaleY > minimumScale) {\n this._element = elementToFilter;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n this._lastScaleX = scaleX;\n this._lastScaleY = scaleY;\n return;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n var canvasEl = fabric.util.createCanvasElement(), cacheKey = this._filteredEl ? this.cacheKey + \"_filtered\" : this.cacheKey, sourceWidth = elementToFilter.width, sourceHeight = elementToFilter.height;\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._lastScaleX = filter.scaleX = scaleX;\n this._lastScaleY = filter.scaleY = scaleY;\n fabric.filterBackend.applyFilters([\n filter\n ], elementToFilter, sourceWidth, sourceHeight, this._element, cacheKey);\n this._filterScalingX = canvasEl.width / this._originalElement.width;\n this._filterScalingY = canvasEl.height / this._originalElement.height;\n },\n /**\n * Applies filters assigned to this image (from \"filters\" array) or from filter param\n * @method applyFilters\n * @param {Array} filters to be applied\n * @param {Boolean} forResizing specify if the filter operation is a resize operation\n * @return {thisArg} return the fabric.Image object\n * @chainable\n */ applyFilters: function(filters) {\n filters = filters || this.filters || [];\n filters = filters.filter(function(filter) {\n return filter && !filter.isNeutralState();\n });\n this.set(\"dirty\", true);\n // needs to clear out or WEBGL will not resize correctly\n this.removeTexture(this.cacheKey + \"_filtered\");\n if (filters.length === 0) {\n this._element = this._originalElement;\n this._filteredEl = null;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n return this;\n }\n var imgElement = this._originalElement, sourceWidth = imgElement.naturalWidth || imgElement.width, sourceHeight = imgElement.naturalHeight || imgElement.height;\n if (this._element === this._originalElement) {\n // if the element is the same we need to create a new element\n var canvasEl = fabric.util.createCanvasElement();\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._filteredEl = canvasEl;\n } else {\n // clear the existing element to get new filter data\n // also dereference the eventual resized _element\n this._element = this._filteredEl;\n this._filteredEl.getContext(\"2d\").clearRect(0, 0, sourceWidth, sourceHeight);\n // we also need to resize again at next renderAll, so remove saved _lastScaleX/Y\n this._lastScaleX = 1;\n this._lastScaleY = 1;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n fabric.filterBackend.applyFilters(filters, this._originalElement, sourceWidth, sourceHeight, this._element, this.cacheKey);\n if (this._originalElement.width !== this._element.width || this._originalElement.height !== this._element.height) {\n this._filterScalingX = this._element.width / this._originalElement.width;\n this._filterScalingY = this._element.height / this._originalElement.height;\n }\n return this;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n if (this.isMoving !== true && this.resizeFilter && this._needsResize()) {\n this.applyResizeFilters();\n }\n this._stroke(ctx);\n this._renderPaintInOrder(ctx);\n },\n /**\n * Paint the cached copy of the object on the target context.\n * it will set the imageSmoothing for the draw operation\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawCacheOnCanvas: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n fabric.Object.prototype.drawCacheOnCanvas.call(this, ctx);\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * This is the special image version where we would like to avoid caching where possible.\n * Essentially images do not benefit from caching. They may require caching, and in that\n * case we do it. Also caching an image usually ends in a loss of details.\n * A full performance audit should be done.\n * @return {Boolean}\n */ shouldCache: function() {\n return this.needsItsOwnCache();\n },\n _renderFill: function(ctx) {\n var elementToDraw = this._element;\n if (!elementToDraw) {\n return;\n }\n var scaleX = this._filterScalingX, scaleY = this._filterScalingY, w = this.width, h = this.height, min = Math.min, max = Math.max, // crop values cannot be lesser than 0.\n cropX = max(this.cropX, 0), cropY = max(this.cropY, 0), elWidth = elementToDraw.naturalWidth || elementToDraw.width, elHeight = elementToDraw.naturalHeight || elementToDraw.height, sX = cropX * scaleX, sY = cropY * scaleY, // the width height cannot exceed element width/height, starting from the crop offset.\n sW = min(w * scaleX, elWidth - sX), sH = min(h * scaleY, elHeight - sY), x = -w / 2, y = -h / 2, maxDestW = min(w, elWidth / scaleX - cropX), maxDestH = min(h, elHeight / scaleY - cropY);\n elementToDraw && ctx.drawImage(elementToDraw, sX, sY, sW, sH, x, y, maxDestW, maxDestH);\n },\n /**\n * needed to check if image needs resize\n * @private\n */ _needsResize: function() {\n var scale = this.getTotalObjectScaling();\n return scale.scaleX !== this._lastScaleX || scale.scaleY !== this._lastScaleY;\n },\n /**\n * @private\n */ _resetWidthHeight: function() {\n this.set(this.getOriginalSize());\n },\n /**\n * The Image class's initialization method. This method is automatically\n * called by the constructor.\n * @private\n * @param {HTMLImageElement|String} element The element representing the image\n * @param {Object} [options] Options object\n */ _initElement: function(element, options) {\n this.setElement(fabric.util.getById(element), options);\n fabric.util.addClass(this.getElement(), fabric.Image.CSS_CANVAS);\n },\n /**\n * @private\n * @param {Object} [options] Options object\n */ _initConfig: function(options) {\n options || (options = {});\n this.setOptions(options);\n this._setWidthHeight(options);\n },\n /**\n * @private\n * @param {Array} filters to be initialized\n * @param {Function} callback Callback to invoke when all fabric.Image.filters instances are created\n */ _initFilters: function(filters, callback) {\n if (filters && filters.length) {\n fabric.util.enlivenObjects(filters, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, \"fabric.Image.filters\");\n } else {\n callback && callback();\n }\n },\n /**\n * @private\n * Set the width and the height of the image object, using the element or the\n * options.\n * @param {Object} [options] Object with width/height properties\n */ _setWidthHeight: function(options) {\n options || (options = {});\n var el = this.getElement();\n this.width = options.width || el.naturalWidth || el.width || 0;\n this.height = options.height || el.naturalHeight || el.height || 0;\n },\n /**\n * Calculate offset for center and scale factor for the image in order to respect\n * the preserveAspectRatio attribute\n * @private\n * @return {Object}\n */ parsePreserveAspectRatioAttribute: function() {\n var pAR = fabric.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio || \"\"), rWidth = this._element.width, rHeight = this._element.height, scaleX = 1, scaleY = 1, offsetLeft = 0, offsetTop = 0, cropX = 0, cropY = 0, offset, pWidth = this.width, pHeight = this.height, parsedAttributes = {\n width: pWidth,\n height: pHeight\n };\n if (pAR && (pAR.alignX !== \"none\" || pAR.alignY !== \"none\")) {\n if (pAR.meetOrSlice === \"meet\") {\n scaleX = scaleY = fabric.util.findScaleToFit(this._element, parsedAttributes);\n offset = (pWidth - rWidth * scaleX) / 2;\n if (pAR.alignX === \"Min\") {\n offsetLeft = -offset;\n }\n if (pAR.alignX === \"Max\") {\n offsetLeft = offset;\n }\n offset = (pHeight - rHeight * scaleY) / 2;\n if (pAR.alignY === \"Min\") {\n offsetTop = -offset;\n }\n if (pAR.alignY === \"Max\") {\n offsetTop = offset;\n }\n }\n if (pAR.meetOrSlice === \"slice\") {\n scaleX = scaleY = fabric.util.findScaleToCover(this._element, parsedAttributes);\n offset = rWidth - pWidth / scaleX;\n if (pAR.alignX === \"Mid\") {\n cropX = offset / 2;\n }\n if (pAR.alignX === \"Max\") {\n cropX = offset;\n }\n offset = rHeight - pHeight / scaleY;\n if (pAR.alignY === \"Mid\") {\n cropY = offset / 2;\n }\n if (pAR.alignY === \"Max\") {\n cropY = offset;\n }\n rWidth = pWidth / scaleX;\n rHeight = pHeight / scaleY;\n }\n } else {\n scaleX = pWidth / rWidth;\n scaleY = pHeight / rHeight;\n }\n return {\n width: rWidth,\n height: rHeight,\n scaleX: scaleX,\n scaleY: scaleY,\n offsetLeft: offsetLeft,\n offsetTop: offsetTop,\n cropX: cropX,\n cropY: cropY\n };\n }\n });\n /**\n * Default CSS class name for canvas\n * @static\n * @type String\n * @default\n */ fabric.Image.CSS_CANVAS = \"canvas-img\";\n /**\n * Alias for getSrc\n * @static\n */ fabric.Image.prototype.getSvgSrc = fabric.Image.prototype.getSrc;\n /**\n * Creates an instance of fabric.Image from its object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} callback Callback to invoke when an image instance is created\n */ fabric.Image.fromObject = function(_object, callback) {\n var object = fabric.util.object.clone(_object);\n fabric.util.loadImage(object.src, function(img, isError) {\n if (isError) {\n callback && callback(null, true);\n return;\n }\n fabric.Image.prototype._initFilters.call(object, object.filters, function(filters) {\n object.filters = filters || [];\n fabric.Image.prototype._initFilters.call(object, [\n object.resizeFilter\n ], function(resizeFilters) {\n object.resizeFilter = resizeFilters[0];\n fabric.util.enlivenObjectEnlivables(object, object, function() {\n var image = new fabric.Image(img, object);\n callback(image, false);\n });\n });\n });\n }, null, object.crossOrigin);\n };\n /**\n * Creates an instance of fabric.Image from an URL string\n * @static\n * @param {String} url URL to create an image from\n * @param {Function} [callback] Callback to invoke when image is created (newly created image is passed as a first argument). Second argument is a boolean indicating if an error occurred or not.\n * @param {Object} [imgOptions] Options object\n */ fabric.Image.fromURL = function(url, callback, imgOptions) {\n fabric.util.loadImage(url, function(img, isError) {\n callback && callback(new fabric.Image(img, imgOptions), isError);\n }, null, imgOptions && imgOptions.crossOrigin);\n };\n})( true ? exports : 0);\n(function() {\n \"use strict\";\n /**\n * Tests if webgl supports certain precision\n * @param {WebGL} Canvas WebGL context to test on\n * @param {String} Precision to test can be any of following: 'lowp', 'mediump', 'highp'\n * @returns {Boolean} Whether the user's browser WebGL supports given precision.\n */ function testPrecision(gl, precision) {\n var fragmentSource = \"precision \" + precision + \" float;\\nvoid main(){}\";\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n return false;\n }\n return true;\n }\n /**\n * Indicate whether this filtering backend is supported by the user's browser.\n * @param {Number} tileSize check if the tileSize is supported\n * @returns {Boolean} Whether the user's browser supports WebGL.\n */ fabric.isWebglSupported = function(tileSize) {\n if (fabric.isLikelyNode) {\n return false;\n }\n tileSize = tileSize || fabric.WebglFilterBackend.prototype.tileSize;\n var canvas = document.createElement(\"canvas\");\n var gl = canvas.getContext(\"webgl\") || canvas.getContext(\"experimental-webgl\");\n var isSupported = false;\n // eslint-disable-next-line\n if (gl) {\n fabric.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);\n isSupported = fabric.maxTextureSize >= tileSize;\n var precisions = [\n \"highp\",\n \"mediump\",\n \"lowp\"\n ];\n for(var i = 0; i < 3; i++){\n if (testPrecision(gl, precisions[i])) {\n fabric.webGlPrecision = precisions[i];\n break;\n }\n ;\n }\n }\n this.isSupported = isSupported;\n return isSupported;\n };\n fabric.WebglFilterBackend = WebglFilterBackend;\n /**\n * WebGL filter backend.\n */ function WebglFilterBackend(options) {\n if (options && options.tileSize) {\n this.tileSize = options.tileSize;\n }\n this.setupGLContext(this.tileSize, this.tileSize);\n this.captureGPUInfo();\n }\n ;\n WebglFilterBackend.prototype = /** @lends fabric.WebglFilterBackend.prototype */ {\n tileSize: 2048,\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/ resources: {},\n /**\n * Setup a WebGL context suitable for filtering, and bind any needed event handlers.\n */ setupGLContext: function(width, height) {\n this.dispose();\n this.createWebGLCanvas(width, height);\n // eslint-disable-next-line\n this.aPosition = new Float32Array([\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1\n ]);\n this.chooseFastestCopyGLTo2DMethod(width, height);\n },\n /**\n * Pick a method to copy data from GL context to 2d canvas. In some browsers using\n * putImageData is faster than drawImage for that specific operation.\n */ chooseFastestCopyGLTo2DMethod: function(width, height) {\n var canMeasurePerf = typeof window.performance !== \"undefined\", canUseImageData;\n try {\n new ImageData(1, 1);\n canUseImageData = true;\n } catch (e) {\n canUseImageData = false;\n }\n // eslint-disable-next-line no-undef\n var canUseArrayBuffer = typeof ArrayBuffer !== \"undefined\";\n // eslint-disable-next-line no-undef\n var canUseUint8Clamped = typeof Uint8ClampedArray !== \"undefined\";\n if (!(canMeasurePerf && canUseImageData && canUseArrayBuffer && canUseUint8Clamped)) {\n return;\n }\n var targetCanvas = fabric.util.createCanvasElement();\n // eslint-disable-next-line no-undef\n var imageBuffer = new ArrayBuffer(width * height * 4);\n if (fabric.forceGLPutImageData) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n return;\n }\n var testContext = {\n imageBuffer: imageBuffer,\n destinationWidth: width,\n destinationHeight: height,\n targetCanvas: targetCanvas\n };\n var startTime, drawImageTime, putImageDataTime;\n targetCanvas.width = width;\n targetCanvas.height = height;\n startTime = window.performance.now();\n copyGLTo2DDrawImage.call(testContext, this.gl, testContext);\n drawImageTime = window.performance.now() - startTime;\n startTime = window.performance.now();\n copyGLTo2DPutImageData.call(testContext, this.gl, testContext);\n putImageDataTime = window.performance.now() - startTime;\n if (drawImageTime > putImageDataTime) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n } else {\n this.copyGLTo2D = copyGLTo2DDrawImage;\n }\n },\n /**\n * Create a canvas element and associated WebGL context and attaches them as\n * class properties to the GLFilterBackend class.\n */ createWebGLCanvas: function(width, height) {\n var canvas = fabric.util.createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n var glOptions = {\n alpha: true,\n premultipliedAlpha: false,\n depth: false,\n stencil: false,\n antialias: false\n }, gl = canvas.getContext(\"webgl\", glOptions);\n if (!gl) {\n gl = canvas.getContext(\"experimental-webgl\", glOptions);\n }\n if (!gl) {\n return;\n }\n gl.clearColor(0, 0, 0, 0);\n // this canvas can fire webglcontextlost and webglcontextrestored\n this.canvas = canvas;\n this.gl = gl;\n },\n /**\n * Attempts to apply the requested filters to the source provided, drawing the filtered output\n * to the provided target canvas.\n *\n * @param {Array} filters The filters to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} source The source to be filtered.\n * @param {Number} width The width of the source input.\n * @param {Number} height The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n * @param {String|undefined} cacheKey A key used to cache resources related to the source. If\n * omitted, caching will be skipped.\n */ applyFilters: function(filters, source, width, height, targetCanvas, cacheKey) {\n var gl = this.gl;\n var cachedTexture;\n if (cacheKey) {\n cachedTexture = this.getCachedTexture(cacheKey, source);\n }\n var pipelineState = {\n originalWidth: source.width || source.originalWidth,\n originalHeight: source.height || source.originalHeight,\n sourceWidth: width,\n sourceHeight: height,\n destinationWidth: width,\n destinationHeight: height,\n context: gl,\n sourceTexture: this.createTexture(gl, width, height, !cachedTexture && source),\n targetTexture: this.createTexture(gl, width, height),\n originalTexture: cachedTexture || this.createTexture(gl, width, height, !cachedTexture && source),\n passes: filters.length,\n webgl: true,\n aPosition: this.aPosition,\n programCache: this.programCache,\n pass: 0,\n filterBackend: this,\n targetCanvas: targetCanvas\n };\n var tempFbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, tempFbo);\n filters.forEach(function(filter) {\n filter && filter.applyTo(pipelineState);\n });\n resizeCanvasIfNeeded(pipelineState);\n this.copyGLTo2D(gl, pipelineState);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.deleteTexture(pipelineState.sourceTexture);\n gl.deleteTexture(pipelineState.targetTexture);\n gl.deleteFramebuffer(tempFbo);\n targetCanvas.getContext(\"2d\").setTransform(1, 0, 0, 1, 0, 0);\n return pipelineState;\n },\n /**\n * Detach event listeners, remove references, and clean up caches.\n */ dispose: function() {\n if (this.canvas) {\n this.canvas = null;\n this.gl = null;\n }\n this.clearWebGLCaches();\n },\n /**\n * Wipe out WebGL-related caches.\n */ clearWebGLCaches: function() {\n this.programCache = {};\n this.textureCache = {};\n },\n /**\n * Create a WebGL texture object.\n *\n * Accepts specific dimensions to initialize the texture to or a source image.\n *\n * @param {WebGLRenderingContext} gl The GL context to use for creating the texture.\n * @param {Number} width The width to initialize the texture at.\n * @param {Number} height The height to initialize the texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source for the texture data.\n * @returns {WebGLTexture}\n */ createTexture: function(gl, width, height, textureImageSource) {\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n if (textureImageSource) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, textureImageSource);\n } else {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n }\n return texture;\n },\n /**\n * Can be optionally used to get a texture from the cache array\n *\n * If an existing texture is not found, a new texture is created and cached.\n *\n * @param {String} uniqueId A cache key to use to find an existing texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source to use to create the\n * texture cache entry if one does not already exist.\n */ getCachedTexture: function(uniqueId, textureImageSource) {\n if (this.textureCache[uniqueId]) {\n return this.textureCache[uniqueId];\n } else {\n var texture = this.createTexture(this.gl, textureImageSource.width, textureImageSource.height, textureImageSource);\n this.textureCache[uniqueId] = texture;\n return texture;\n }\n },\n /**\n * Clear out cached resources related to a source image that has been\n * filtered previously.\n *\n * @param {String} cacheKey The cache key provided when the source image was filtered.\n */ evictCachesForKey: function(cacheKey) {\n if (this.textureCache[cacheKey]) {\n this.gl.deleteTexture(this.textureCache[cacheKey]);\n delete this.textureCache[cacheKey];\n }\n },\n copyGLTo2D: copyGLTo2DDrawImage,\n /**\n * Attempt to extract GPU information strings from a WebGL context.\n *\n * Useful information when debugging or blacklisting specific GPUs.\n *\n * @returns {Object} A GPU info object with renderer and vendor strings.\n */ captureGPUInfo: function() {\n if (this.gpuInfo) {\n return this.gpuInfo;\n }\n var gl = this.gl, gpuInfo = {\n renderer: \"\",\n vendor: \"\"\n };\n if (!gl) {\n return gpuInfo;\n }\n var ext = gl.getExtension(\"WEBGL_debug_renderer_info\");\n if (ext) {\n var renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);\n var vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);\n if (renderer) {\n gpuInfo.renderer = renderer.toLowerCase();\n }\n if (vendor) {\n gpuInfo.vendor = vendor.toLowerCase();\n }\n }\n this.gpuInfo = gpuInfo;\n return gpuInfo;\n }\n };\n})();\nfunction resizeCanvasIfNeeded(pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, width = targetCanvas.width, height = targetCanvas.height, dWidth = pipelineState.destinationWidth, dHeight = pipelineState.destinationHeight;\n if (width !== dWidth || height !== dHeight) {\n targetCanvas.width = dWidth;\n targetCanvas.height = dHeight;\n }\n}\n/**\n * Copy an input WebGL canvas on to an output 2D canvas.\n *\n * The WebGL canvas is assumed to be upside down, with the top-left pixel of the\n * desired output image appearing in the bottom-left corner of the WebGL canvas.\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */ function copyGLTo2DDrawImage(gl, pipelineState) {\n var glCanvas = gl.canvas, targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext(\"2d\");\n ctx.translate(0, targetCanvas.height); // move it down again\n ctx.scale(1, -1); // vertical flip\n // where is my image on the big glcanvas?\n var sourceY = glCanvas.height - targetCanvas.height;\n ctx.drawImage(glCanvas, 0, sourceY, targetCanvas.width, targetCanvas.height, 0, 0, targetCanvas.width, targetCanvas.height);\n}\n/**\n * Copy an input WebGL canvas on to an output 2D canvas using 2d canvas' putImageData\n * API. Measurably faster than using ctx.drawImage in Firefox (version 54 on OSX Sierra).\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */ function copyGLTo2DPutImageData(gl, pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext(\"2d\"), dWidth = pipelineState.destinationWidth, dHeight = pipelineState.destinationHeight, numBytes = dWidth * dHeight * 4;\n // eslint-disable-next-line no-undef\n var u8 = new Uint8Array(this.imageBuffer, 0, numBytes);\n // eslint-disable-next-line no-undef\n var u8Clamped = new Uint8ClampedArray(this.imageBuffer, 0, numBytes);\n gl.readPixels(0, 0, dWidth, dHeight, gl.RGBA, gl.UNSIGNED_BYTE, u8);\n var imgData = new ImageData(u8Clamped, dWidth, dHeight);\n ctx.putImageData(imgData, 0, 0);\n}\n(function() {\n \"use strict\";\n var noop = function() {};\n fabric.Canvas2dFilterBackend = Canvas2dFilterBackend;\n /**\n * Canvas 2D filter backend.\n */ function Canvas2dFilterBackend() {}\n ;\n Canvas2dFilterBackend.prototype = /** @lends fabric.Canvas2dFilterBackend.prototype */ {\n evictCachesForKey: noop,\n dispose: noop,\n clearWebGLCaches: noop,\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/ resources: {},\n /**\n * Apply a set of filters against a source image and draw the filtered output\n * to the provided destination canvas.\n *\n * @param {EnhancedFilter} filters The filter to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} sourceElement The source to be filtered.\n * @param {Number} sourceWidth The width of the source input.\n * @param {Number} sourceHeight The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n */ applyFilters: function(filters, sourceElement, sourceWidth, sourceHeight, targetCanvas) {\n var ctx = targetCanvas.getContext(\"2d\");\n ctx.drawImage(sourceElement, 0, 0, sourceWidth, sourceHeight);\n var imageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var originalImageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var pipelineState = {\n sourceWidth: sourceWidth,\n sourceHeight: sourceHeight,\n imageData: imageData,\n originalEl: sourceElement,\n originalImageData: originalImageData,\n canvasEl: targetCanvas,\n ctx: ctx,\n filterBackend: this\n };\n filters.forEach(function(filter) {\n filter.applyTo(pipelineState);\n });\n if (pipelineState.imageData.width !== sourceWidth || pipelineState.imageData.height !== sourceHeight) {\n targetCanvas.width = pipelineState.imageData.width;\n targetCanvas.height = pipelineState.imageData.height;\n }\n ctx.putImageData(pipelineState.imageData, 0, 0);\n return pipelineState;\n }\n };\n})();\n/**\n * @namespace fabric.Image.filters\n * @memberOf fabric.Image\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#image_filters}\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n */ fabric.Image = fabric.Image || {};\nfabric.Image.filters = fabric.Image.filters || {};\n/**\n * Root filter class from which all filter classes inherit from\n * @class fabric.Image.filters.BaseFilter\n * @memberOf fabric.Image.filters\n */ fabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Image.filters.BaseFilter.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"BaseFilter\",\n /**\n * Array of attributes to send with buffers. do not modify\n * @private\n */ vertexSource: \"attribute vec2 aPosition;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vTexCoord = aPosition;\\n\" + \"gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n\" + \"}\",\n fragmentSource: \"precision highp float;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"void main() {\\n\" + \"gl_FragColor = texture2D(uTexture, vTexCoord);\\n\" + \"}\",\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n /**\n * Sets filter's properties from options\n * @param {Object} [options] Options object\n */ setOptions: function(options) {\n for(var prop in options){\n this[prop] = options[prop];\n }\n },\n /**\n * Compile this filter's shader program.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context to use for shader compilation.\n * @param {String} fragmentSource fragmentShader source for compilation\n * @param {String} vertexSource vertexShader source for compilation\n */ createProgram: function(gl, fragmentSource, vertexSource) {\n fragmentSource = fragmentSource || this.fragmentSource;\n vertexSource = vertexSource || this.vertexSource;\n if (fabric.webGlPrecision !== \"highp\") {\n fragmentSource = fragmentSource.replace(/precision highp float/g, \"precision \" + fabric.webGlPrecision + \" float\");\n }\n var vertexShader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(vertexShader, vertexSource);\n gl.compileShader(vertexShader);\n if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n \"Vertex shader compile error for \" + this.type + \": \" + gl.getShaderInfoLog(vertexShader));\n }\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n \"Fragment shader compile error for \" + this.type + \": \" + gl.getShaderInfoLog(fragmentShader));\n }\n var program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n 'Shader link error for \"${this.type}\" ' + gl.getProgramInfoLog(program));\n }\n var attributeLocations = this.getAttributeLocations(gl, program);\n var uniformLocations = this.getUniformLocations(gl, program) || {};\n uniformLocations.uStepW = gl.getUniformLocation(program, \"uStepW\");\n uniformLocations.uStepH = gl.getUniformLocation(program, \"uStepH\");\n return {\n program: program,\n attributeLocations: attributeLocations,\n uniformLocations: uniformLocations\n };\n },\n /**\n * Return a map of attribute names to WebGLAttributeLocation objects.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take attribute locations.\n * @returns {Object} A map of attribute names to attribute locations.\n */ getAttributeLocations: function(gl, program) {\n return {\n aPosition: gl.getAttribLocation(program, \"aPosition\")\n };\n },\n /**\n * Return a map of uniform names to WebGLUniformLocation objects.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take uniform locations.\n * @returns {Object} A map of uniform names to uniform locations.\n */ getUniformLocations: function() {\n // in case i do not need any special uniform i need to return an empty object\n return {};\n },\n /**\n * Send attribute data from this filter to its shader program on the GPU.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} attributeLocations A map of shader attribute names to their locations.\n */ sendAttributeData: function(gl, attributeLocations, aPositionData) {\n var attributeLocation = attributeLocations.aPosition;\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.enableVertexAttribArray(attributeLocation);\n gl.vertexAttribPointer(attributeLocation, 2, gl.FLOAT, false, 0, 0);\n gl.bufferData(gl.ARRAY_BUFFER, aPositionData, gl.STATIC_DRAW);\n },\n _setupFrameBuffer: function(options) {\n var gl = options.context, width, height;\n if (options.passes > 1) {\n width = options.destinationWidth;\n height = options.destinationHeight;\n if (options.sourceWidth !== width || options.sourceHeight !== height) {\n gl.deleteTexture(options.targetTexture);\n options.targetTexture = options.filterBackend.createTexture(gl, width, height);\n }\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, options.targetTexture, 0);\n } else {\n // draw last filter on canvas and not to framebuffer.\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.finish();\n }\n },\n _swapTextures: function(options) {\n options.passes--;\n options.pass++;\n var temp = options.targetTexture;\n options.targetTexture = options.sourceTexture;\n options.sourceTexture = temp;\n },\n /**\n * Generic isNeutral implementation for one parameter based filters.\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )\n * @param {Object} options\n **/ isNeutralState: function() {\n var main = this.mainParameter, _class = fabric.Image.filters[this.type].prototype;\n if (main) {\n if (Array.isArray(_class[main])) {\n for(var i = _class[main].length; i--;){\n if (this[main][i] !== _class[main][i]) {\n return false;\n }\n }\n return true;\n } else {\n return _class[main] === this[main];\n }\n } else {\n return false;\n }\n },\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n if (options.webgl) {\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n } else {\n this.applyTo2d(options);\n }\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n if (!options.programCache.hasOwnProperty(this.type)) {\n options.programCache[this.type] = this.createProgram(options.context);\n }\n return options.programCache[this.type];\n },\n /**\n * Apply this filter using webgl.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.originalTexture The texture of the original input image.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyToWebGL: function(options) {\n var gl = options.context;\n var shader = this.retrieveShader(options);\n if (options.pass === 0 && options.originalTexture) {\n gl.bindTexture(gl.TEXTURE_2D, options.originalTexture);\n } else {\n gl.bindTexture(gl.TEXTURE_2D, options.sourceTexture);\n }\n gl.useProgram(shader.program);\n this.sendAttributeData(gl, shader.attributeLocations, options.aPosition);\n gl.uniform1f(shader.uniformLocations.uStepW, 1 / options.sourceWidth);\n gl.uniform1f(shader.uniformLocations.uStepH, 1 / options.sourceHeight);\n this.sendUniformData(gl, shader.uniformLocations);\n gl.viewport(0, 0, options.destinationWidth, options.destinationHeight);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n },\n bindAdditionalTexture: function(gl, texture, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n // reset active texture to 0 as usual\n gl.activeTexture(gl.TEXTURE0);\n },\n unbindAdditionalTexture: function(gl, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.activeTexture(gl.TEXTURE0);\n },\n getMainParameter: function() {\n return this[this.mainParameter];\n },\n setMainParameter: function(value) {\n this[this.mainParameter] = value;\n },\n /**\n * Send uniform data from this filter to its shader program on the GPU.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} uniformLocations A map of shader uniform names to their locations.\n */ sendUniformData: function() {\n // Intentionally left blank. Override me in subclasses.\n },\n /**\n * If needed by a 2d filter, this functions can create an helper canvas to be used\n * remember that options.targetCanvas is available for use till end of chain.\n */ createHelpLayer: function(options) {\n if (!options.helpLayer) {\n var helpLayer = document.createElement(\"canvas\");\n helpLayer.width = options.sourceWidth;\n helpLayer.height = options.sourceHeight;\n options.helpLayer = helpLayer;\n }\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n var object = {\n type: this.type\n }, mainP = this.mainParameter;\n if (mainP) {\n object[mainP] = this[mainP];\n }\n return object;\n },\n /**\n * Returns a JSON representation of an instance\n * @return {Object} JSON\n */ toJSON: function() {\n // delegate, not alias\n return this.toObject();\n }\n});\nfabric.Image.filters.BaseFilter.fromObject = function(object, callback) {\n var filter = new fabric.Image.filters[object.type](object);\n callback && callback(filter);\n return filter;\n};\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Color Matrix filter class\n * @class fabric.Image.filters.ColorMatrix\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.ColorMatrix#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://www.webwasp.co.uk/tutorials/219/Color_Matrix_Filter.php}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl}\n * @example Kodachrome filter\n * var filter = new fabric.Image.filters.ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.ColorMatrix = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"ColorMatrix\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"uniform mat4 uColorMatrix;\\n\" + \"uniform vec4 uConstants;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color *= uColorMatrix;\\n\" + \"color += uConstants;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */ matrix: [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n mainParameter: \"matrix\",\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */ colorsOnly: true,\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n // create a new array instead mutating the prototype with push\n this.matrix = this.matrix.slice(0);\n },\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = data.length, m = this.matrix, r, g, b, a, i, colorsOnly = this.colorsOnly;\n for(i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n } else {\n a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] = r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uColorMatrix: gl.getUniformLocation(program, \"uColorMatrix\"),\n uConstants: gl.getUniformLocation(program, \"uConstants\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var m = this.matrix, matrix = [\n m[0],\n m[1],\n m[2],\n m[3],\n m[5],\n m[6],\n m[7],\n m[8],\n m[10],\n m[11],\n m[12],\n m[13],\n m[15],\n m[16],\n m[17],\n m[18]\n ], constants = [\n m[4],\n m[9],\n m[14],\n m[19]\n ];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] function to invoke after filter creation\n * @return {fabric.Image.filters.ColorMatrix} Instance of fabric.Image.filters.ColorMatrix\n */ fabric.Image.filters.ColorMatrix.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Brightness filter class\n * @class fabric.Image.filters.Brightness\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Brightness#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Brightness({\n * brightness: 0.05\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Brightness = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Brightness\",\n /**\n * Fragment source for the brightness program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uBrightness;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color.rgb += uBrightness;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Brightness value, from -1 to 1.\n * translated to -255 to 255 for 2d\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Number} brightness\n * @default\n */ brightness: 0,\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"brightness\",\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.brightness === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, i, len = data.length, brightness = Math.round(this.brightness * 255);\n for(i = 0; i < len; i += 4){\n data[i] = data[i] + brightness;\n data[i + 1] = data[i + 1] + brightness;\n data[i + 2] = data[i + 2] + brightness;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uBrightness: gl.getUniformLocation(program, \"uBrightness\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBrightness, this.brightness);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Brightness} Instance of fabric.Image.filters.Brightness\n */ fabric.Image.filters.Brightness.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Adapted from html5rocks article\n * @class fabric.Image.filters.Convolute\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Convolute#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example Sharpen filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 0, -1, 0,\n * -1, 5, -1,\n * 0, -1, 0 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Blur filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter with opaqueness\n * var filter = new fabric.Image.filters.Convolute({\n * opaque: true,\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Convolute = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Convolute\",\n /*\n * Opaque value (true/false)\n */ opaque: false,\n /*\n * matrix for the filter, max 9x9\n */ matrix: [\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0\n ],\n /**\n * Fragment source for the brightness program\n */ fragmentSource: {\n Convolute_3_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[9];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 3.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 3.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_3_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[9];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 3.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 3.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_5_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[25];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 5.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 5.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_5_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[25];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 5.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 5.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_7_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[49];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 7.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 7.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_7_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[49];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 7.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 7.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_9_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[81];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 9.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 9.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_9_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[81];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 9.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 9.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\"\n },\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Convolute.prototype\n * @param {Object} [options] Options object\n * @param {Boolean} [options.opaque=false] Opaque value (true/false)\n * @param {Array} [options.matrix] Filter matrix\n */ /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var size = Math.sqrt(this.matrix.length);\n var cacheKey = this.type + \"_\" + size + \"_\" + (this.opaque ? 1 : 0);\n var shaderSource = this.fragmentSource[cacheKey];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, weights = this.matrix, side = Math.round(Math.sqrt(weights.length)), halfSide = Math.floor(side / 2), sw = imageData.width, sh = imageData.height, output = options.ctx.createImageData(sw, sh), dst = output.data, // go through the destination image pixels\n alphaFac = this.opaque ? 1 : 0, r, g, b, a, dstOff, scx, scy, srcOff, wt, x, y, cx, cy;\n for(y = 0; y < sh; y++){\n for(x = 0; x < sw; x++){\n dstOff = (y * sw + x) * 4;\n // calculate the weighed sum of the source image pixels that\n // fall under the convolution matrix\n r = 0;\n g = 0;\n b = 0;\n a = 0;\n for(cy = 0; cy < side; cy++){\n for(cx = 0; cx < side; cx++){\n scy = y + cy - halfSide;\n scx = x + cx - halfSide;\n // eslint-disable-next-line max-depth\n if (scy < 0 || scy >= sh || scx < 0 || scx >= sw) {\n continue;\n }\n srcOff = (scy * sw + scx) * 4;\n wt = weights[cy * side + cx];\n r += data[srcOff] * wt;\n g += data[srcOff + 1] * wt;\n b += data[srcOff + 2] * wt;\n // eslint-disable-next-line max-depth\n if (!alphaFac) {\n a += data[srcOff + 3] * wt;\n }\n }\n }\n dst[dstOff] = r;\n dst[dstOff + 1] = g;\n dst[dstOff + 2] = b;\n if (!alphaFac) {\n dst[dstOff + 3] = a;\n } else {\n dst[dstOff + 3] = data[dstOff + 3];\n }\n }\n }\n options.imageData = output;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uMatrix: gl.getUniformLocation(program, \"uMatrix\"),\n uOpaque: gl.getUniformLocation(program, \"uOpaque\"),\n uHalfSize: gl.getUniformLocation(program, \"uHalfSize\"),\n uSize: gl.getUniformLocation(program, \"uSize\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1fv(uniformLocations.uMatrix, this.matrix);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n opaque: this.opaque,\n matrix: this.matrix\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Convolute} Instance of fabric.Image.filters.Convolute\n */ fabric.Image.filters.Convolute.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Grayscale image filter class\n * @class fabric.Image.filters.Grayscale\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Grayscale();\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Grayscale\",\n fragmentSource: {\n average: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float average = (color.r + color.b + color.g) / 3.0;\\n\" + \"gl_FragColor = vec4(average, average, average, color.a);\\n\" + \"}\",\n lightness: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uMode;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 col = texture2D(uTexture, vTexCoord);\\n\" + \"float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n\" + \"gl_FragColor = vec4(average, average, average, col.a);\\n\" + \"}\",\n luminosity: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uMode;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 col = texture2D(uTexture, vTexCoord);\\n\" + \"float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n\" + \"gl_FragColor = vec4(average, average, average, col.a);\\n\" + \"}\"\n },\n /**\n * Grayscale mode, between 'average', 'lightness', 'luminosity'\n * @param {String} type\n * @default\n */ mode: \"average\",\n mainParameter: \"mode\",\n /**\n * Apply the Grayscale operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, len = data.length, value, mode = this.mode;\n for(i = 0; i < len; i += 4){\n if (mode === \"average\") {\n value = (data[i] + data[i + 1] + data[i + 2]) / 3;\n } else if (mode === \"lightness\") {\n value = (Math.min(data[i], data[i + 1], data[i + 2]) + Math.max(data[i], data[i + 1], data[i + 2])) / 2;\n } else if (mode === \"luminosity\") {\n value = 0.21 * data[i] + 0.72 * data[i + 1] + 0.07 * data[i + 2];\n }\n data[i] = value;\n data[i + 1] = value;\n data[i + 2] = value;\n }\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var shaderSource = this.fragmentSource[this.mode];\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uMode: gl.getUniformLocation(program, \"uMode\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n // default average mode.\n var mode = 1;\n gl.uniform1i(uniformLocations.uMode, mode);\n },\n /**\n * Grayscale filter isNeutralState implementation\n * The filter is never neutral\n * on the image\n **/ isNeutralState: function() {\n return false;\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Grayscale} Instance of fabric.Image.filters.Grayscale\n */ fabric.Image.filters.Grayscale.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Invert filter class\n * @class fabric.Image.filters.Invert\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Invert();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */ filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Invert\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uInvert;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"if (uInvert == 1) {\\n\" + \"gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n\" + \"} else {\\n\" + \"gl_FragColor = color;\\n\" + \"}\\n\" + \"}\",\n /**\n * Filter invert. if false, does nothing\n * @param {Boolean} invert\n * @default\n */ invert: true,\n mainParameter: \"invert\",\n /**\n * Apply the Invert operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, len = data.length;\n for(i = 0; i < len; i += 4){\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n },\n /**\n * Invert filter isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/ isNeutralState: function() {\n return !this.invert;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uInvert: gl.getUniformLocation(program, \"uInvert\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1i(uniformLocations.uInvert, this.invert);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Invert} Instance of fabric.Image.filters.Invert\n */ fabric.Image.filters.Invert.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Noise filter class\n * @class fabric.Image.filters.Noise\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Noise#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Noise({\n * noise: 700\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Noise = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Noise\",\n /**\n * Fragment source for the noise program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uStepH;\\n\" + \"uniform float uNoise;\\n\" + \"uniform float uSeed;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"float rand(vec2 co, float seed, float vScale) {\\n\" + \"return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n\" + \"}\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"noise\",\n /**\n * Noise value, from\n * @param {Number} noise\n * @default\n */ noise: 0,\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.noise === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, i, len = data.length, noise = this.noise, rand;\n for(i = 0, len = data.length; i < len; i += 4){\n rand = (0.5 - Math.random()) * noise;\n data[i] += rand;\n data[i + 1] += rand;\n data[i + 2] += rand;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uNoise: gl.getUniformLocation(program, \"uNoise\"),\n uSeed: gl.getUniformLocation(program, \"uSeed\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uNoise, this.noise / 255);\n gl.uniform1f(uniformLocations.uSeed, Math.random());\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n noise: this.noise\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Noise} Instance of fabric.Image.filters.Noise\n */ fabric.Image.filters.Noise.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Pixelate filter class\n * @class fabric.Image.filters.Pixelate\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Pixelate#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Pixelate({\n * blocksize: 8\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Pixelate = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Pixelate\",\n blocksize: 4,\n mainParameter: \"blocksize\",\n /**\n * Fragment source for the Pixelate program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uBlocksize;\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"float blockW = uBlocksize * uStepW;\\n\" + \"float blockH = uBlocksize * uStepW;\\n\" + \"int posX = int(vTexCoord.x / blockW);\\n\" + \"int posY = int(vTexCoord.y / blockH);\\n\" + \"float fposX = float(posX);\\n\" + \"float fposY = float(posY);\\n\" + \"vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n\" + \"vec4 color = texture2D(uTexture, squareCoords);\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Apply the Pixelate operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = imageData.height, jLen = imageData.width, index, i, j, r, g, b, a, _i, _j, _iLen, _jLen;\n for(i = 0; i < iLen; i += this.blocksize){\n for(j = 0; j < jLen; j += this.blocksize){\n index = i * 4 * jLen + j * 4;\n r = data[index];\n g = data[index + 1];\n b = data[index + 2];\n a = data[index + 3];\n _iLen = Math.min(i + this.blocksize, iLen);\n _jLen = Math.min(j + this.blocksize, jLen);\n for(_i = i; _i < _iLen; _i++){\n for(_j = j; _j < _jLen; _j++){\n index = _i * 4 * jLen + _j * 4;\n data[index] = r;\n data[index + 1] = g;\n data[index + 2] = b;\n data[index + 3] = a;\n }\n }\n }\n }\n },\n /**\n * Indicate when the filter is not gonna apply changes to the image\n **/ isNeutralState: function() {\n return this.blocksize === 1;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uBlocksize: gl.getUniformLocation(program, \"uBlocksize\"),\n uStepW: gl.getUniformLocation(program, \"uStepW\"),\n uStepH: gl.getUniformLocation(program, \"uStepH\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBlocksize, this.blocksize);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Pixelate} Instance of fabric.Image.filters.Pixelate\n */ fabric.Image.filters.Pixelate.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Remove white filter class\n * @class fabric.Image.filters.RemoveColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.RemoveColor#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.RemoveColor({\n * threshold: 0.2,\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.RemoveColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.RemoveColor.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"RemoveColor\",\n /**\n * Color to remove, in any format understood by fabric.Color.\n * @param {String} type\n * @default\n */ color: \"#FFFFFF\",\n /**\n * Fragment source for the brightness program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec4 uLow;\\n\" + \"uniform vec4 uHigh;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"gl_FragColor = texture2D(uTexture, vTexCoord);\\n\" + \"if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n\" + \"gl_FragColor.a = 0.0;\\n\" + \"}\\n\" + \"}\",\n /**\n * distance to actual color, as value up or down from each r,g,b\n * between 0 and 1\n **/ distance: 0.02,\n /**\n * For color to remove inside distance, use alpha channel for a smoother deletion\n * NOT IMPLEMENTED YET\n **/ useAlpha: false,\n /**\n * Constructor\n * @memberOf fabric.Image.filters.RemoveWhite.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.color=#RRGGBB] Threshold value\n * @param {Number} [options.distance=10] Distance value\n */ /**\n * Applies filter to canvas element\n * @param {Object} canvasEl Canvas element to apply filter to\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, distance = this.distance * 255, r, g, b, source = new fabric.Color(this.color).getSource(), lowC = [\n source[0] - distance,\n source[1] - distance,\n source[2] - distance\n ], highC = [\n source[0] + distance,\n source[1] + distance,\n source[2] + distance\n ];\n for(i = 0; i < data.length; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (r > lowC[0] && g > lowC[1] && b > lowC[2] && r < highC[0] && g < highC[1] && b < highC[2]) {\n data[i + 3] = 0;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uLow: gl.getUniformLocation(program, \"uLow\"),\n uHigh: gl.getUniformLocation(program, \"uHigh\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource(), distance = parseFloat(this.distance), lowC = [\n 0 + source[0] / 255 - distance,\n 0 + source[1] / 255 - distance,\n 0 + source[2] / 255 - distance,\n 1\n ], highC = [\n source[0] / 255 + distance,\n source[1] / 255 + distance,\n source[2] / 255 + distance,\n 1\n ];\n gl.uniform4fv(uniformLocations.uLow, lowC);\n gl.uniform4fv(uniformLocations.uHigh, highC);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n color: this.color,\n distance: this.distance\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.RemoveColor} Instance of fabric.Image.filters.RemoveWhite\n */ fabric.Image.filters.RemoveColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n var matrices = {\n Brownie: [\n 0.59970,\n 0.34553,\n -0.27082,\n 0,\n 0.186,\n -0.03770,\n 0.86095,\n 0.15059,\n 0,\n -0.1449,\n 0.24113,\n -0.07441,\n 0.44972,\n 0,\n -0.02965,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Vintage: [\n 0.62793,\n 0.32021,\n -0.03965,\n 0,\n 0.03784,\n 0.02578,\n 0.64411,\n 0.03259,\n 0,\n 0.02926,\n 0.04660,\n -0.08512,\n 0.52416,\n 0,\n 0.02023,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Kodachrome: [\n 1.12855,\n -0.39673,\n -0.03992,\n 0,\n 0.24991,\n -0.16404,\n 1.08352,\n -0.05498,\n 0,\n 0.09698,\n -0.16786,\n -0.56034,\n 1.60148,\n 0,\n 0.13972,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Technicolor: [\n 1.91252,\n -0.85453,\n -0.09155,\n 0,\n 0.04624,\n -0.30878,\n 1.76589,\n -0.10601,\n 0,\n -0.27589,\n -0.23110,\n -0.75018,\n 1.84759,\n 0,\n 0.12137,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Polaroid: [\n 1.438,\n -0.062,\n -0.062,\n 0,\n 0,\n -0.122,\n 1.378,\n -0.122,\n 0,\n 0,\n -0.016,\n -0.016,\n 1.483,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Sepia: [\n 0.393,\n 0.769,\n 0.189,\n 0,\n 0,\n 0.349,\n 0.686,\n 0.168,\n 0,\n 0,\n 0.272,\n 0.534,\n 0.131,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n BlackWhite: [\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0\n ]\n };\n for(var key in matrices){\n filters[key] = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.Sepia.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: key,\n /**\n * Colormatrix for the effect\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * @param {Array} matrix array of 20 numbers.\n * @default\n */ matrix: matrices[key],\n /**\n * Lock the matrix export for this kind of static, parameter less filters.\n */ mainParameter: false,\n /**\n * Lock the colormatrix on the color part, skipping alpha\n */ colorsOnly: true\n });\n fabric.Image.filters[key].fromObject = fabric.Image.filters.BaseFilter.fromObject;\n }\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Color Blend filter class\n * @class fabric.Image.filter.BlendColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.BlendColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */ {\n type: \"BlendColor\",\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n * @type String\n * @default\n **/ color: \"#F95C63\",\n /**\n * Blend mode for the filter: one of multiply, add, diff, screen, subtract,\n * darken, lighten, overlay, exclusion, tint.\n * @type String\n * @default\n **/ mode: \"multiply\",\n /**\n * alpha value. represent the strength of the blend color operation.\n * @type Number\n * @default\n **/ alpha: 1,\n /**\n * Fragment source for the Multiply program\n */ fragmentSource: {\n multiply: \"gl_FragColor.rgb *= uColor.rgb;\\n\",\n screen: \"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",\n add: \"gl_FragColor.rgb += uColor.rgb;\\n\",\n diff: \"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",\n subtract: \"gl_FragColor.rgb -= uColor.rgb;\\n\",\n lighten: \"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",\n darken: \"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",\n exclusion: \"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",\n overlay: \"if (uColor.r < 0.5) {\\n\" + \"gl_FragColor.r *= 2.0 * uColor.r;\\n\" + \"} else {\\n\" + \"gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n\" + \"}\\n\" + \"if (uColor.g < 0.5) {\\n\" + \"gl_FragColor.g *= 2.0 * uColor.g;\\n\" + \"} else {\\n\" + \"gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n\" + \"}\\n\" + \"if (uColor.b < 0.5) {\\n\" + \"gl_FragColor.b *= 2.0 * uColor.b;\\n\" + \"} else {\\n\" + \"gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n\" + \"}\\n\",\n tint: \"gl_FragColor.rgb *= (1.0 - uColor.a);\\n\" + \"gl_FragColor.rgb += uColor.rgb;\\n\"\n },\n /**\n * build the fragment source for the filters, joining the common part with\n * the specific one.\n * @param {String} mode the mode of the filter, a key of this.fragmentSource\n * @return {String} the source to be compiled\n * @private\n */ buildSource: function(mode) {\n return \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"gl_FragColor = color;\\n\" + \"if (color.a > 0.0) {\\n\" + this.fragmentSource[mode] + \"}\\n\" + \"}\";\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode, shaderSource;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n shaderSource = this.buildSource(this.mode);\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = data.length, tr, tg, tb, r, g, b, source, alpha1 = 1 - this.alpha;\n source = new fabric.Color(this.color).getSource();\n tr = source[0] * this.alpha;\n tg = source[1] * this.alpha;\n tb = source[2] * this.alpha;\n for(var i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n switch(this.mode){\n case \"multiply\":\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n break;\n case \"screen\":\n data[i] = 255 - (255 - r) * (255 - tr) / 255;\n data[i + 1] = 255 - (255 - g) * (255 - tg) / 255;\n data[i + 2] = 255 - (255 - b) * (255 - tb) / 255;\n break;\n case \"add\":\n data[i] = r + tr;\n data[i + 1] = g + tg;\n data[i + 2] = b + tb;\n break;\n case \"diff\":\n case \"difference\":\n data[i] = Math.abs(r - tr);\n data[i + 1] = Math.abs(g - tg);\n data[i + 2] = Math.abs(b - tb);\n break;\n case \"subtract\":\n data[i] = r - tr;\n data[i + 1] = g - tg;\n data[i + 2] = b - tb;\n break;\n case \"darken\":\n data[i] = Math.min(r, tr);\n data[i + 1] = Math.min(g, tg);\n data[i + 2] = Math.min(b, tb);\n break;\n case \"lighten\":\n data[i] = Math.max(r, tr);\n data[i + 1] = Math.max(g, tg);\n data[i + 2] = Math.max(b, tb);\n break;\n case \"overlay\":\n data[i] = tr < 128 ? 2 * r * tr / 255 : 255 - 2 * (255 - r) * (255 - tr) / 255;\n data[i + 1] = tg < 128 ? 2 * g * tg / 255 : 255 - 2 * (255 - g) * (255 - tg) / 255;\n data[i + 2] = tb < 128 ? 2 * b * tb / 255 : 255 - 2 * (255 - b) * (255 - tb) / 255;\n break;\n case \"exclusion\":\n data[i] = tr + r - 2 * tr * r / 255;\n data[i + 1] = tg + g - 2 * tg * g / 255;\n data[i + 2] = tb + b - 2 * tb * b / 255;\n break;\n case \"tint\":\n data[i] = tr + r * alpha1;\n data[i + 1] = tg + g * alpha1;\n data[i + 2] = tb + b * alpha1;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uColor: gl.getUniformLocation(program, \"uColor\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource();\n source[0] = this.alpha * source[0] / 255;\n source[1] = this.alpha * source[1] / 255;\n source[2] = this.alpha * source[2] / 255;\n source[3] = this.alpha;\n gl.uniform4fv(uniformLocations.uColor, source);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n color: this.color,\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.BlendColor} Instance of fabric.Image.filters.BlendColor\n */ fabric.Image.filters.BlendColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Image Blend filter class\n * @class fabric.Image.filter.BlendImage\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.BlendImage = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.BlendImage.prototype */ {\n type: \"BlendImage\",\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n **/ image: null,\n /**\n * Blend mode for the filter (one of \"multiply\", \"mask\")\n * @type String\n * @default\n **/ mode: \"multiply\",\n /**\n * alpha value. represent the strength of the blend image operation.\n * not implemented.\n **/ alpha: 1,\n vertexSource: \"attribute vec2 aPosition;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"uniform mat3 uTransformMatrix;\\n\" + \"void main() {\\n\" + \"vTexCoord = aPosition;\\n\" + \"vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n\" + \"gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n\" + \"}\",\n /**\n * Fragment source for the Multiply program\n */ fragmentSource: {\n multiply: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform sampler2D uImage;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec4 color2 = texture2D(uImage, vTexCoord2);\\n\" + \"color.rgba *= color2.rgba;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n mask: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform sampler2D uImage;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec4 color2 = texture2D(uImage, vTexCoord2);\\n\" + \"color.a = color2.a;\\n\" + \"gl_FragColor = color;\\n\" + \"}\"\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode;\n var shaderSource = this.fragmentSource[this.mode];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n applyToWebGL: function(options) {\n // load texture to blend.\n var gl = options.context, texture = this.createTexture(options.filterBackend, this.image);\n this.bindAdditionalTexture(gl, texture, gl.TEXTURE1);\n this.callSuper(\"applyToWebGL\", options);\n this.unbindAdditionalTexture(gl, gl.TEXTURE1);\n },\n createTexture: function(backend, image) {\n return backend.getCachedTexture(image.cacheKey, image._element);\n },\n /**\n * Calculate a transformMatrix to adapt the image to blend over\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ calculateMatrix: function() {\n var image = this.image, width = image._element.width, height = image._element.height;\n return [\n 1 / image.scaleX,\n 0,\n 0,\n 0,\n 1 / image.scaleY,\n 0,\n -image.left / width,\n -image.top / height,\n 1\n ];\n },\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, resources = options.filterBackend.resources, data = imageData.data, iLen = data.length, width = imageData.width, height = imageData.height, tr, tg, tb, ta, r, g, b, a, canvas1, context, image = this.image, blendData;\n if (!resources.blendImage) {\n resources.blendImage = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blendImage;\n context = canvas1.getContext(\"2d\");\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas1.width = width;\n canvas1.height = height;\n } else {\n context.clearRect(0, 0, width, height);\n }\n context.setTransform(image.scaleX, 0, 0, image.scaleY, image.left, image.top);\n context.drawImage(image._element, 0, 0, width, height);\n blendData = context.getImageData(0, 0, width, height).data;\n for(var i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n tr = blendData[i];\n tg = blendData[i + 1];\n tb = blendData[i + 2];\n ta = blendData[i + 3];\n switch(this.mode){\n case \"multiply\":\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n data[i + 3] = a * ta / 255;\n break;\n case \"mask\":\n data[i + 3] = ta;\n break;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uTransformMatrix: gl.getUniformLocation(program, \"uTransformMatrix\"),\n uImage: gl.getUniformLocation(program, \"uImage\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var matrix = this.calculateMatrix();\n gl.uniform1i(uniformLocations.uImage, 1); // texture unit 1.\n gl.uniformMatrix3fv(uniformLocations.uTransformMatrix, false, matrix);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n image: this.image && this.image.toObject(),\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} callback to be invoked after filter creation\n * @return {fabric.Image.filters.BlendImage} Instance of fabric.Image.filters.BlendImage\n */ fabric.Image.filters.BlendImage.fromObject = function(object, callback) {\n fabric.Image.fromObject(object.image, function(image) {\n var options = fabric.util.object.clone(object);\n options.image = image;\n callback(new fabric.Image.filters.BlendImage(options));\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), pow = Math.pow, floor = Math.floor, sqrt = Math.sqrt, abs = Math.abs, round = Math.round, sin = Math.sin, ceil = Math.ceil, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Resize image filter class\n * @class fabric.Image.filters.Resize\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Resize();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */ filters.Resize = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Resize\",\n /**\n * Resize type\n * for webgl resizeType is just lanczos, for canvas2d can be:\n * bilinear, hermite, sliceHack, lanczos.\n * @param {String} resizeType\n * @default\n */ resizeType: \"hermite\",\n /**\n * Scale factor for resizing, x axis\n * @param {Number} scaleX\n * @default\n */ scaleX: 1,\n /**\n * Scale factor for resizing, y axis\n * @param {Number} scaleY\n * @default\n */ scaleY: 1,\n /**\n * LanczosLobes parameter for lanczos filter, valid for resizeType lanczos\n * @param {Number} lanczosLobes\n * @default\n */ lanczosLobes: 3,\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uDelta: gl.getUniformLocation(program, \"uDelta\"),\n uTaps: gl.getUniformLocation(program, \"uTaps\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform2fv(uniformLocations.uDelta, this.horizontal ? [\n 1 / this.width,\n 0\n ] : [\n 0,\n 1 / this.height\n ]);\n gl.uniform1fv(uniformLocations.uTaps, this.taps);\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var filterWindow = this.getFilterWindow(), cacheKey = this.type + \"_\" + filterWindow;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var fragmentShader = this.generateShader(filterWindow);\n options.programCache[cacheKey] = this.createProgram(options.context, fragmentShader);\n }\n return options.programCache[cacheKey];\n },\n getFilterWindow: function() {\n var scale = this.tempScale;\n return Math.ceil(this.lanczosLobes / scale);\n },\n getTaps: function() {\n var lobeFunction = this.lanczosCreate(this.lanczosLobes), scale = this.tempScale, filterWindow = this.getFilterWindow(), taps = new Array(filterWindow);\n for(var i = 1; i <= filterWindow; i++){\n taps[i - 1] = lobeFunction(i * scale);\n }\n return taps;\n },\n /**\n * Generate vertex and shader sources from the necessary steps numbers\n * @param {Number} filterWindow\n */ generateShader: function(filterWindow) {\n var offsets = new Array(filterWindow), fragmentShader = this.fragmentSourceTOP, filterWindow;\n for(var i = 1; i <= filterWindow; i++){\n offsets[i - 1] = i + \".0 * uDelta\";\n }\n fragmentShader += \"uniform float uTaps[\" + filterWindow + \"];\\n\";\n fragmentShader += \"void main() {\\n\";\n fragmentShader += \" vec4 color = texture2D(uTexture, vTexCoord);\\n\";\n fragmentShader += \" float sum = 1.0;\\n\";\n offsets.forEach(function(offset, i) {\n fragmentShader += \" color += texture2D(uTexture, vTexCoord + \" + offset + \") * uTaps[\" + i + \"];\\n\";\n fragmentShader += \" color += texture2D(uTexture, vTexCoord - \" + offset + \") * uTaps[\" + i + \"];\\n\";\n fragmentShader += \" sum += 2.0 * uTaps[\" + i + \"];\\n\";\n });\n fragmentShader += \" gl_FragColor = color / sum;\\n\";\n fragmentShader += \"}\";\n return fragmentShader;\n },\n fragmentSourceTOP: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec2 uDelta;\\n\" + \"varying vec2 vTexCoord;\\n\",\n /**\n * Apply the resize filter to the image\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n if (options.webgl) {\n options.passes++;\n this.width = options.sourceWidth;\n this.horizontal = true;\n this.dW = Math.round(this.width * this.scaleX);\n this.dH = options.sourceHeight;\n this.tempScale = this.dW / this.width;\n this.taps = this.getTaps();\n options.destinationWidth = this.dW;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceWidth = options.destinationWidth;\n this.height = options.sourceHeight;\n this.horizontal = false;\n this.dH = Math.round(this.height * this.scaleY);\n this.tempScale = this.dH / this.height;\n this.taps = this.getTaps();\n options.destinationHeight = this.dH;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceHeight = options.destinationHeight;\n } else {\n this.applyTo2d(options);\n }\n },\n isNeutralState: function() {\n return this.scaleX === 1 && this.scaleY === 1;\n },\n lanczosCreate: function(lobes) {\n return function(x) {\n if (x >= lobes || x <= -lobes) {\n return 0.0;\n }\n if (x < 1.19209290E-07 && x > -1.19209290E-07) {\n return 1.0;\n }\n x *= Math.PI;\n var xx = x / lobes;\n return sin(x) / x * sin(xx) / xx;\n };\n },\n /**\n * Applies filter to canvas element\n * @memberOf fabric.Image.filters.Resize.prototype\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} scaleX\n * @param {Number} scaleY\n */ applyTo2d: function(options) {\n var imageData = options.imageData, scaleX = this.scaleX, scaleY = this.scaleY;\n this.rcpScaleX = 1 / scaleX;\n this.rcpScaleY = 1 / scaleY;\n var oW = imageData.width, oH = imageData.height, dW = round(oW * scaleX), dH = round(oH * scaleY), newData;\n if (this.resizeType === \"sliceHack\") {\n newData = this.sliceByTwo(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"hermite\") {\n newData = this.hermiteFastResize(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"bilinear\") {\n newData = this.bilinearFiltering(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"lanczos\") {\n newData = this.lanczosResize(options, oW, oH, dW, dH);\n }\n options.imageData = newData;\n },\n /**\n * Filter sliceByTwo\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ sliceByTwo: function(options, oW, oH, dW, dH) {\n var imageData = options.imageData, mult = 0.5, doneW = false, doneH = false, stepW = oW * mult, stepH = oH * mult, resources = fabric.filterBackend.resources, tmpCanvas, ctx, sX = 0, sY = 0, dX = oW, dY = 0;\n if (!resources.sliceByTwo) {\n resources.sliceByTwo = document.createElement(\"canvas\");\n }\n tmpCanvas = resources.sliceByTwo;\n if (tmpCanvas.width < oW * 1.5 || tmpCanvas.height < oH) {\n tmpCanvas.width = oW * 1.5;\n tmpCanvas.height = oH;\n }\n ctx = tmpCanvas.getContext(\"2d\");\n ctx.clearRect(0, 0, oW * 1.5, oH);\n ctx.putImageData(imageData, 0, 0);\n dW = floor(dW);\n dH = floor(dH);\n while(!doneW || !doneH){\n oW = stepW;\n oH = stepH;\n if (dW < floor(stepW * mult)) {\n stepW = floor(stepW * mult);\n } else {\n stepW = dW;\n doneW = true;\n }\n if (dH < floor(stepH * mult)) {\n stepH = floor(stepH * mult);\n } else {\n stepH = dH;\n doneH = true;\n }\n ctx.drawImage(tmpCanvas, sX, sY, oW, oH, dX, dY, stepW, stepH);\n sX = dX;\n sY = dY;\n dY += stepH;\n }\n return ctx.getImageData(sX, sY, dW, dH);\n },\n /**\n * Filter lanczosResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ lanczosResize: function(options, oW, oH, dW, dH) {\n function process(u) {\n var v, i, weight, idx, a, red, green, blue, alpha, fX, fY;\n center.x = (u + 0.5) * ratioX;\n icenter.x = floor(center.x);\n for(v = 0; v < dH; v++){\n center.y = (v + 0.5) * ratioY;\n icenter.y = floor(center.y);\n a = 0;\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n for(i = icenter.x - range2X; i <= icenter.x + range2X; i++){\n if (i < 0 || i >= oW) {\n continue;\n }\n fX = floor(1000 * abs(i - center.x));\n if (!cacheLanc[fX]) {\n cacheLanc[fX] = {};\n }\n for(var j = icenter.y - range2Y; j <= icenter.y + range2Y; j++){\n if (j < 0 || j >= oH) {\n continue;\n }\n fY = floor(1000 * abs(j - center.y));\n if (!cacheLanc[fX][fY]) {\n cacheLanc[fX][fY] = lanczos(sqrt(pow(fX * rcpRatioX, 2) + pow(fY * rcpRatioY, 2)) / 1000);\n }\n weight = cacheLanc[fX][fY];\n if (weight > 0) {\n idx = (j * oW + i) * 4;\n a += weight;\n red += weight * srcData[idx];\n green += weight * srcData[idx + 1];\n blue += weight * srcData[idx + 2];\n alpha += weight * srcData[idx + 3];\n }\n }\n }\n idx = (v * dW + u) * 4;\n destData[idx] = red / a;\n destData[idx + 1] = green / a;\n destData[idx + 2] = blue / a;\n destData[idx + 3] = alpha / a;\n }\n if (++u < dW) {\n return process(u);\n } else {\n return destImg;\n }\n }\n var srcData = options.imageData.data, destImg = options.ctx.createImageData(dW, dH), destData = destImg.data, lanczos = this.lanczosCreate(this.lanczosLobes), ratioX = this.rcpScaleX, ratioY = this.rcpScaleY, rcpRatioX = 2 / this.rcpScaleX, rcpRatioY = 2 / this.rcpScaleY, range2X = ceil(ratioX * this.lanczosLobes / 2), range2Y = ceil(ratioY * this.lanczosLobes / 2), cacheLanc = {}, center = {}, icenter = {};\n return process(0);\n },\n /**\n * bilinearFiltering\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ bilinearFiltering: function(options, oW, oH, dW, dH) {\n var a, b, c, d, x, y, i, j, xDiff, yDiff, chnl, color, offset = 0, origPix, ratioX = this.rcpScaleX, ratioY = this.rcpScaleY, w4 = 4 * (oW - 1), img = options.imageData, pixels = img.data, destImage = options.ctx.createImageData(dW, dH), destPixels = destImage.data;\n for(i = 0; i < dH; i++){\n for(j = 0; j < dW; j++){\n x = floor(ratioX * j);\n y = floor(ratioY * i);\n xDiff = ratioX * j - x;\n yDiff = ratioY * i - y;\n origPix = 4 * (y * oW + x);\n for(chnl = 0; chnl < 4; chnl++){\n a = pixels[origPix + chnl];\n b = pixels[origPix + 4 + chnl];\n c = pixels[origPix + w4 + chnl];\n d = pixels[origPix + w4 + 4 + chnl];\n color = a * (1 - xDiff) * (1 - yDiff) + b * xDiff * (1 - yDiff) + c * yDiff * (1 - xDiff) + d * xDiff * yDiff;\n destPixels[offset++] = color;\n }\n }\n }\n return destImage;\n },\n /**\n * hermiteFastResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ hermiteFastResize: function(options, oW, oH, dW, dH) {\n var ratioW = this.rcpScaleX, ratioH = this.rcpScaleY, ratioWHalf = ceil(ratioW / 2), ratioHHalf = ceil(ratioH / 2), img = options.imageData, data = img.data, img2 = options.ctx.createImageData(dW, dH), data2 = img2.data;\n for(var j = 0; j < dH; j++){\n for(var i = 0; i < dW; i++){\n var x2 = (i + j * dW) * 4, weight = 0, weights = 0, weightsAlpha = 0, gxR = 0, gxG = 0, gxB = 0, gxA = 0, centerY = (j + 0.5) * ratioH;\n for(var yy = floor(j * ratioH); yy < (j + 1) * ratioH; yy++){\n var dy = abs(centerY - (yy + 0.5)) / ratioHHalf, centerX = (i + 0.5) * ratioW, w0 = dy * dy;\n for(var xx = floor(i * ratioW); xx < (i + 1) * ratioW; xx++){\n var dx = abs(centerX - (xx + 0.5)) / ratioWHalf, w = sqrt(w0 + dx * dx);\n /* eslint-disable max-depth */ if (w > 1 && w < -1) {\n continue;\n }\n //hermite filter\n weight = 2 * w * w * w - 3 * w * w + 1;\n if (weight > 0) {\n dx = 4 * (xx + yy * oW);\n //alpha\n gxA += weight * data[dx + 3];\n weightsAlpha += weight;\n //colors\n if (data[dx + 3] < 255) {\n weight = weight * data[dx + 3] / 250;\n }\n gxR += weight * data[dx];\n gxG += weight * data[dx + 1];\n gxB += weight * data[dx + 2];\n weights += weight;\n }\n /* eslint-enable max-depth */ }\n }\n data2[x2] = gxR / weights;\n data2[x2 + 1] = gxG / weights;\n data2[x2 + 2] = gxB / weights;\n data2[x2 + 3] = gxA / weightsAlpha;\n }\n }\n return img2;\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n resizeType: this.resizeType,\n lanczosLobes: this.lanczosLobes\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Resize} Instance of fabric.Image.filters.Resize\n */ fabric.Image.filters.Resize.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Contrast filter class\n * @class fabric.Image.filters.Contrast\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Contrast#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Contrast({\n * contrast: 0.25\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Contrast = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Contrast.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Contrast\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uContrast;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n\" + \"color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * contrast value, range from -1 to 1.\n * @param {Number} contrast\n * @default 0\n */ contrast: 0,\n mainParameter: \"contrast\",\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Contrast.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.contrast=0] Value to contrast the image up (-1...1)\n */ /**\n * Apply the Contrast operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n if (this.contrast === 0) {\n return;\n }\n var imageData = options.imageData, i, len, data = imageData.data, len = data.length, contrast = Math.floor(this.contrast * 255), contrastF = 259 * (contrast + 255) / (255 * (259 - contrast));\n for(i = 0; i < len; i += 4){\n data[i] = contrastF * (data[i] - 128) + 128;\n data[i + 1] = contrastF * (data[i + 1] - 128) + 128;\n data[i + 2] = contrastF * (data[i + 2] - 128) + 128;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uContrast: gl.getUniformLocation(program, \"uContrast\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uContrast, this.contrast);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Contrast} Instance of fabric.Image.filters.Contrast\n */ fabric.Image.filters.Contrast.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Saturate filter class\n * @class fabric.Image.filters.Saturation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Saturation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Saturation({\n * saturation: 1\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Saturation = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Saturation.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Saturation\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uSaturation;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float rgMax = max(color.r, color.g);\\n\" + \"float rgbMax = max(rgMax, color.b);\\n\" + \"color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n\" + \"color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n\" + \"color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Saturation value, from -1 to 1.\n * Increases/decreases the color saturation.\n * A value of 0 has no effect.\n * \n * @param {Number} saturation\n * @default\n */ saturation: 0,\n mainParameter: \"saturation\",\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Saturate.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.saturate=0] Value to saturate the image (-1...1)\n */ /**\n * Apply the Saturation operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.saturation === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, len = data.length, adjust = -this.saturation, i, max;\n for(i = 0; i < len; i += 4){\n max = Math.max(data[i], data[i + 1], data[i + 2]);\n data[i] += max !== data[i] ? (max - data[i]) * adjust : 0;\n data[i + 1] += max !== data[i + 1] ? (max - data[i + 1]) * adjust : 0;\n data[i + 2] += max !== data[i + 2] ? (max - data[i + 2]) * adjust : 0;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uSaturation: gl.getUniformLocation(program, \"uSaturation\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uSaturation, -this.saturation);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Saturation} Instance of fabric.Image.filters.Saturate\n */ fabric.Image.filters.Saturation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Blur filter class\n * @class fabric.Image.filters.Blur\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Blur#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Blur({\n * blur: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Blur = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blur.prototype */ {\n type: \"Blur\",\n /*\n'gl_FragColor = vec4(0.0);',\n'gl_FragColor += texture2D(texture, vTexCoord + -7 * uDelta)*0.0044299121055113265;',\n'gl_FragColor += texture2D(texture, vTexCoord + -6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + -5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + -4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + -3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + -2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + -1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord )*0.159576912161;',\n'gl_FragColor += texture2D(texture, vTexCoord + 1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord + 2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + 3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + 4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + 5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + 6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + 7 * uDelta)*0.0044299121055113265;',\n*/ /* eslint-disable max-len */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec2 uDelta;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"const float nSamples = 15.0;\\n\" + \"vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n\" + \"float random(vec3 scale) {\\n\" + /* use the fragment position for a different seed per-pixel */ \"return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n\" + \"}\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0.0);\\n\" + \"float total = 0.0;\\n\" + \"float offset = random(v3offset);\\n\" + \"for (float t = -nSamples; t <= nSamples; t++) {\\n\" + \"float percent = (t + offset - 0.5) / nSamples;\\n\" + \"float weight = 1.0 - abs(percent);\\n\" + \"color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\\n\" + \"total += weight;\\n\" + \"}\\n\" + \"gl_FragColor = color / total;\\n\" + \"}\",\n /* eslint-enable max-len */ /**\n * blur value, in percentage of image dimensions.\n * specific to keep the image blur constant at different resolutions\n * range between 0 and 1.\n * @type Number\n * @default\n */ blur: 0,\n mainParameter: \"blur\",\n applyTo: function(options) {\n if (options.webgl) {\n // this aspectRatio is used to give the same blur to vertical and horizontal\n this.aspectRatio = options.sourceWidth / options.sourceHeight;\n options.passes++;\n this._setupFrameBuffer(options);\n this.horizontal = true;\n this.applyToWebGL(options);\n this._swapTextures(options);\n this._setupFrameBuffer(options);\n this.horizontal = false;\n this.applyToWebGL(options);\n this._swapTextures(options);\n } else {\n this.applyTo2d(options);\n }\n },\n applyTo2d: function(options) {\n // paint canvasEl with current image data.\n //options.ctx.putImageData(options.imageData, 0, 0);\n options.imageData = this.simpleBlur(options);\n },\n simpleBlur: function(options) {\n var resources = options.filterBackend.resources, canvas1, canvas2, width = options.imageData.width, height = options.imageData.height;\n if (!resources.blurLayer1) {\n resources.blurLayer1 = fabric.util.createCanvasElement();\n resources.blurLayer2 = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blurLayer1;\n canvas2 = resources.blurLayer2;\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas2.width = canvas1.width = width;\n canvas2.height = canvas1.height = height;\n }\n var ctx1 = canvas1.getContext(\"2d\"), ctx2 = canvas2.getContext(\"2d\"), nSamples = 15, random, percent, j, i, blur = this.blur * 0.06 * 0.5;\n // load first canvas\n ctx1.putImageData(options.imageData, 0, 0);\n ctx2.clearRect(0, 0, width, height);\n for(i = -nSamples; i <= nSamples; i++){\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * width + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, j, random);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n for(i = -nSamples; i <= nSamples; i++){\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * height + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, random, j);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n options.ctx.drawImage(canvas1, 0, 0);\n var newImageData = options.ctx.getImageData(0, 0, canvas1.width, canvas1.height);\n ctx1.globalAlpha = 1;\n ctx1.clearRect(0, 0, canvas1.width, canvas1.height);\n return newImageData;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n delta: gl.getUniformLocation(program, \"uDelta\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var delta = this.chooseRightDelta();\n gl.uniform2fv(uniformLocations.delta, delta);\n },\n /**\n * choose right value of image percentage to blur with\n * @returns {Array} a numeric array with delta values\n */ chooseRightDelta: function() {\n var blurScale = 1, delta = [\n 0,\n 0\n ], blur;\n if (this.horizontal) {\n if (this.aspectRatio > 1) {\n // image is wide, i want to shrink radius horizontal\n blurScale = 1 / this.aspectRatio;\n }\n } else {\n if (this.aspectRatio < 1) {\n // image is tall, i want to shrink radius vertical\n blurScale = this.aspectRatio;\n }\n }\n blur = blurScale * this.blur * 0.12;\n if (this.horizontal) {\n delta[0] = blur;\n } else {\n delta[1] = blur;\n }\n return delta;\n }\n });\n /**\n * Deserialize a JSON definition of a BlurFilter into a concrete instance.\n */ filters.Blur.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Gamma filter class\n * @class fabric.Image.filters.Gamma\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Gamma#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Gamma({\n * gamma: [1, 0.5, 2.1]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Gamma = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Gamma.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Gamma\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec3 uGamma;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec3 correction = (1.0 / uGamma);\\n\" + \"color.r = pow(color.r, correction.r);\\n\" + \"color.g = pow(color.g, correction.g);\\n\" + \"color.b = pow(color.b, correction.b);\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.rgb *= color.a;\\n\" + \"}\",\n /**\n * Gamma array value, from 0.01 to 2.2.\n * @param {Array} gamma\n * @default\n */ gamma: [\n 1,\n 1,\n 1\n ],\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"gamma\",\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.gamma = [\n 1,\n 1,\n 1\n ];\n filters.BaseFilter.prototype.initialize.call(this, options);\n },\n /**\n * Apply the Gamma operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, gamma = this.gamma, len = data.length, rInv = 1 / gamma[0], gInv = 1 / gamma[1], bInv = 1 / gamma[2], i;\n if (!this.rVals) {\n // eslint-disable-next-line\n this.rVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.gVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.bVals = new Uint8Array(256);\n }\n // This is an optimization - pre-compute a look-up table for each color channel\n // instead of performing these pow calls for each pixel in the image.\n for(i = 0, len = 256; i < len; i++){\n this.rVals[i] = Math.pow(i / 255, rInv) * 255;\n this.gVals[i] = Math.pow(i / 255, gInv) * 255;\n this.bVals[i] = Math.pow(i / 255, bInv) * 255;\n }\n for(i = 0, len = data.length; i < len; i += 4){\n data[i] = this.rVals[data[i]];\n data[i + 1] = this.gVals[data[i + 1]];\n data[i + 2] = this.bVals[data[i + 2]];\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uGamma: gl.getUniformLocation(program, \"uGamma\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform3fv(uniformLocations.uGamma, this.gamma);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Gamma} Instance of fabric.Image.filters.Gamma\n */ fabric.Image.filters.Gamma.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * A container class that knows how to apply a sequence of filters to an input image.\n */ filters.Composed = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Composed.prototype */ {\n type: \"Composed\",\n /**\n * A non sparse array of filters to apply\n */ subFilters: [],\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n // create a new array instead mutating the prototype with push\n this.subFilters = this.subFilters.slice(0);\n },\n /**\n * Apply this container's filters to the input image provided.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be applied.\n */ applyTo: function(options) {\n options.passes += this.subFilters.length - 1;\n this.subFilters.forEach(function(filter) {\n filter.applyTo(options);\n });\n },\n /**\n * Serialize this filter into JSON.\n *\n * @returns {Object} A JSON representation of this filter.\n */ toObject: function() {\n return fabric.util.object.extend(this.callSuper(\"toObject\"), {\n subFilters: this.subFilters.map(function(filter) {\n return filter.toObject();\n })\n });\n },\n isNeutralState: function() {\n return !this.subFilters.some(function(filter) {\n return !filter.isNeutralState();\n });\n }\n });\n /**\n * Deserialize a JSON definition of a ComposedFilter into a concrete instance.\n */ fabric.Image.filters.Composed.fromObject = function(object, callback) {\n var filters = object.subFilters || [], subFilters = filters.map(function(filter) {\n return new fabric.Image.filters[filter.type](filter);\n }), instance = new fabric.Image.filters.Composed({\n subFilters: subFilters\n });\n callback && callback(instance);\n return instance;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * HueRotation filter class\n * @class fabric.Image.filters.HueRotation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.HueRotation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.HueRotation({\n * rotation: -0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.HueRotation = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.HueRotation.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"HueRotation\",\n /**\n * HueRotation value, from -1 to 1.\n * the unit is radians\n * @param {Number} myParameter\n * @default\n */ rotation: 0,\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"rotation\",\n calculateMatrix: function() {\n var rad = this.rotation * Math.PI, cos = fabric.util.cos(rad), sin = fabric.util.sin(rad), aThird = 1 / 3, aThirdSqtSin = Math.sqrt(aThird) * sin, OneMinusCos = 1 - cos;\n this.matrix = [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ];\n this.matrix[0] = cos + OneMinusCos / 3;\n this.matrix[1] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[2] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[5] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[6] = cos + aThird * OneMinusCos;\n this.matrix[7] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[10] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[11] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[12] = cos + aThird * OneMinusCos;\n },\n /**\n * HueRotation isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/ isNeutralState: function(options) {\n this.calculateMatrix();\n return filters.BaseFilter.prototype.isNeutralState.call(this, options);\n },\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n this.calculateMatrix();\n filters.BaseFilter.prototype.applyTo.call(this, options);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.HueRotation} Instance of fabric.Image.filters.HueRotation\n */ fabric.Image.filters.HueRotation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), clone = fabric.util.object.clone;\n if (fabric.Text) {\n fabric.warn(\"fabric.Text is already defined\");\n return;\n }\n var additionalProps = (\"fontFamily fontWeight fontSize text underline overline linethrough\" + \" textAlign fontStyle lineHeight textBackgroundColor charSpacing styles\" + \" direction path pathStartOffset pathSide pathAlign\").split(\" \");\n /**\n * Text class\n * @class fabric.Text\n * @extends fabric.Object\n * @return {fabric.Text} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#text}\n * @see {@link fabric.Text#initialize} for constructor definition\n */ fabric.Text = fabric.util.createClass(fabric.Object, /** @lends fabric.Text.prototype */ {\n /**\n * Properties which when set cause object to change dimensions\n * @type Array\n * @private\n */ _dimensionAffectingProps: [\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"fontStyle\",\n \"lineHeight\",\n \"text\",\n \"charSpacing\",\n \"textAlign\",\n \"styles\",\n \"path\",\n \"pathStartOffset\",\n \"pathSide\",\n \"pathAlign\"\n ],\n /**\n * @private\n */ _reNewline: /\\r?\\n/,\n /**\n * Use this regular expression to filter for whitespaces that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reSpacesAndTabs: /[ \\t\\r]/g,\n /**\n * Use this regular expression to filter for whitespace that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reSpaceAndTab: /[ \\t\\r]/,\n /**\n * Use this regular expression to filter consecutive groups of non spaces.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reWords: /\\S+/g,\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"text\",\n /**\n * Font size (in pixels)\n * @type Number\n * @default\n */ fontSize: 40,\n /**\n * Font weight (e.g. bold, normal, 400, 600, 800)\n * @type {(Number|String)}\n * @default\n */ fontWeight: \"normal\",\n /**\n * Font family\n * @type String\n * @default\n */ fontFamily: \"Times New Roman\",\n /**\n * Text decoration underline.\n * @type Boolean\n * @default\n */ underline: false,\n /**\n * Text decoration overline.\n * @type Boolean\n * @default\n */ overline: false,\n /**\n * Text decoration linethrough.\n * @type Boolean\n * @default\n */ linethrough: false,\n /**\n * Text alignment. Possible values: \"left\", \"center\", \"right\", \"justify\",\n * \"justify-left\", \"justify-center\" or \"justify-right\".\n * @type String\n * @default\n */ textAlign: \"left\",\n /**\n * Font style . Possible values: \"\", \"normal\", \"italic\" or \"oblique\".\n * @type String\n * @default\n */ fontStyle: \"normal\",\n /**\n * Line height\n * @type Number\n * @default\n */ lineHeight: 1.16,\n /**\n * Superscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */ superscript: {\n size: 0.60,\n baseline: -0.35 // baseline-shift factor (upwards)\n },\n /**\n * Subscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */ subscript: {\n size: 0.60,\n baseline: 0.11 // baseline-shift factor (downwards)\n },\n /**\n * Background color of text lines\n * @type String\n * @default\n */ textBackgroundColor: \"\",\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(additionalProps),\n /**\n * List of properties to consider when checking if cache needs refresh\n * @type Array\n */ cacheProperties: fabric.Object.prototype.cacheProperties.concat(additionalProps),\n /**\n * When defined, an object is rendered via stroke and this property specifies its color.\n * Backwards incompatibility note: This property was named \"strokeStyle\" until v1.1.6\n * @type String\n * @default\n */ stroke: null,\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property was named \"textShadow\" (String) until v1.2.11\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * fabric.Path that the text should follow.\n * since 4.6.0 the path will be drawn automatically.\n * if you want to make the path visible, give it a stroke and strokeWidth or fill value\n * if you want it to be hidden, assign visible = false to the path.\n * This feature is in BETA, and SVG import/export is not yet supported.\n * @type fabric.Path\n * @example\n * var textPath = new fabric.Text('Text on a path', {\n * top: 150,\n * left: 150,\n * textAlign: 'center',\n * charSpacing: -50,\n * path: new fabric.Path('M 0 0 C 50 -100 150 -100 200 0', {\n * strokeWidth: 1,\n * visible: false\n * }),\n * pathSide: 'left',\n * pathStartOffset: 0\n * });\n * @default\n */ path: null,\n /**\n * Offset amount for text path starting position\n * Only used when text has a path\n * @type Number\n * @default\n */ pathStartOffset: 0,\n /**\n * Which side of the path the text should be drawn on.\n * Only used when text has a path\n * @type {String} 'left|right'\n * @default\n */ pathSide: \"left\",\n /**\n * How text is aligned to the path. This property determines\n * the perpendicular position of each character relative to the path.\n * (one of \"baseline\", \"center\", \"ascender\", \"descender\")\n * This feature is in BETA, and its behavior may change\n * @type String\n * @default\n */ pathAlign: \"baseline\",\n /**\n * @private\n */ _fontSizeFraction: 0.222,\n /**\n * @private\n */ offsets: {\n underline: 0.10,\n linethrough: -0.315,\n overline: -0.88\n },\n /**\n * Text Line proportion to font Size (in pixels)\n * @type Number\n * @default\n */ _fontSizeMult: 1.13,\n /**\n * additional space between characters\n * expressed in thousands of em unit\n * @type Number\n * @default\n */ charSpacing: 0,\n /**\n * Object containing character styles - top-level properties -> line numbers,\n * 2nd-level properties - character numbers\n * @type Object\n * @default\n */ styles: null,\n /**\n * Reference to a context to measure text char or couple of chars\n * the cacheContext of the canvas will be used or a freshly created one if the object is not on canvas\n * once created it will be referenced on fabric._measuringContext to avoid creating a canvas for every\n * text object created.\n * @type {CanvasRenderingContext2D}\n * @default\n */ _measuringContext: null,\n /**\n * Baseline shift, styles only, keep at 0 for the main text object\n * @type {Number}\n * @default\n */ deltaY: 0,\n /**\n * WARNING: EXPERIMENTAL. NOT SUPPORTED YET\n * determine the direction of the text.\n * This has to be set manually together with textAlign and originX for proper\n * experience.\n * some interesting link for the future\n * https://www.w3.org/International/questions/qa-bidi-unicode-controls\n * @since 4.5.0\n * @type {String} 'ltr|rtl'\n * @default\n */ direction: \"ltr\",\n /**\n * Array of properties that define a style unit (of 'styles').\n * @type {Array}\n * @default\n */ _styleProperties: [\n \"stroke\",\n \"strokeWidth\",\n \"fill\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"fontStyle\",\n \"underline\",\n \"overline\",\n \"linethrough\",\n \"deltaY\",\n \"textBackgroundColor\"\n ],\n /**\n * contains characters bounding boxes\n */ __charBounds: [],\n /**\n * use this size when measuring text. To avoid IE11 rounding errors\n * @type {Number}\n * @default\n * @readonly\n * @private\n */ CACHE_FONT_SIZE: 400,\n /**\n * contains the min text width to avoid getting 0\n * @type {Number}\n * @default\n */ MIN_TEXT_WIDTH: 2,\n /**\n * Constructor\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */ initialize: function(text, options) {\n this.styles = options ? options.styles || {} : {};\n this.text = text;\n this.__skipDimension = true;\n this.callSuper(\"initialize\", options);\n if (this.path) {\n this.setPathInfo();\n }\n this.__skipDimension = false;\n this.initDimensions();\n this.setCoords();\n this.setupState({\n propertySet: \"_dimensionAffectingProps\"\n });\n },\n /**\n * If text has a path, it will add the extra information needed\n * for path and text calculations\n * @return {fabric.Text} thisArg\n */ setPathInfo: function() {\n var path = this.path;\n if (path) {\n path.segmentsInfo = fabric.util.getPathSegmentsInfo(path.path);\n }\n },\n /**\n * Return a context for measurement of text string.\n * if created it gets stored for reuse\n * this is for internal use, please do not use it\n * @private\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */ getMeasuringContext: function() {\n // if we did not return we have to measure something.\n if (!fabric._measuringContext) {\n fabric._measuringContext = this.canvas && this.canvas.contextCache || fabric.util.createCanvasElement().getContext(\"2d\");\n }\n return fabric._measuringContext;\n },\n /**\n * @private\n * Divides text into lines of text and lines of graphemes.\n */ _splitText: function() {\n var newLines = this._splitTextIntoLines(this.text);\n this.textLines = newLines.lines;\n this._textLines = newLines.graphemeLines;\n this._unwrappedTextLines = newLines._unwrappedLines;\n this._text = newLines.graphemeText;\n return newLines;\n },\n /**\n * Initialize or update text dimensions.\n * Updates this.width and this.height with the proper values.\n * Does not return dimensions.\n */ initDimensions: function() {\n if (this.__skipDimension) {\n return;\n }\n this._splitText();\n this._clearCache();\n if (this.path) {\n this.width = this.path.width;\n this.height = this.path.height;\n } else {\n this.width = this.calcTextWidth() || this.cursorWidth || this.MIN_TEXT_WIDTH;\n this.height = this.calcTextHeight();\n }\n if (this.textAlign.indexOf(\"justify\") !== -1) {\n // once text is measured we need to make space fatter to make justified text.\n this.enlargeSpaces();\n }\n this.saveState({\n propertySet: \"_dimensionAffectingProps\"\n });\n },\n /**\n * Enlarge space boxes and shift the others\n */ enlargeSpaces: function() {\n var diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n if (this.textAlign !== \"justify\" && (i === len - 1 || this.isEndOfWrapping(i))) {\n continue;\n }\n accumulatedSpace = 0;\n line = this._textLines[i];\n currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {\n numberOfSpaces = spaces.length;\n diffSpace = (this.width - currentLineWidth) / numberOfSpaces;\n for(var j = 0, jlen = line.length; j <= jlen; j++){\n charBound = this.__charBounds[i][j];\n if (this._reSpaceAndTab.test(line[j])) {\n charBound.width += diffSpace;\n charBound.kernedWidth += diffSpace;\n charBound.left += accumulatedSpace;\n accumulatedSpace += diffSpace;\n } else {\n charBound.left += accumulatedSpace;\n }\n }\n }\n }\n },\n /**\n * Detect if the text line is ended with an hard break\n * text and itext do not have wrapping, return false\n * @return {Boolean}\n */ isEndOfWrapping: function(lineIndex) {\n return lineIndex === this._textLines.length - 1;\n },\n /**\n * Detect if a line has a linebreak and so we need to account for it when moving\n * and counting style.\n * It return always for text and Itext.\n * @return Number\n */ missingNewlineOffset: function() {\n return 1;\n },\n /**\n * Returns string representation of an instance\n * @return {String} String representation of text object\n */ toString: function() {\n return \"#';\n },\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @param {Object} dim.x width of object to be cached\n * @param {Object} dim.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _getCacheCanvasDimensions: function() {\n var dims = this.callSuper(\"_getCacheCanvasDimensions\");\n var fontSize = this.fontSize;\n dims.width += fontSize * dims.zoomX;\n dims.height += fontSize * dims.zoomY;\n return dims;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n var path = this.path;\n path && !path.isNotVisible() && path._render(ctx);\n this._setTextStyles(ctx);\n this._renderTextLinesBackground(ctx);\n this._renderTextDecoration(ctx, \"underline\");\n this._renderText(ctx);\n this._renderTextDecoration(ctx, \"overline\");\n this._renderTextDecoration(ctx, \"linethrough\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderText: function(ctx) {\n if (this.paintFirst === \"stroke\") {\n this._renderTextStroke(ctx);\n this._renderTextFill(ctx);\n } else {\n this._renderTextFill(ctx);\n this._renderTextStroke(ctx);\n }\n },\n /**\n * Set the font parameter of the context with the object properties or with charStyle\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [charStyle] object with font style properties\n * @param {String} [charStyle.fontFamily] Font Family\n * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )\n * @param {String} [charStyle.fontWeight] Font weight\n * @param {String} [charStyle.fontStyle] Font style (italic|normal)\n */ _setTextStyles: function(ctx, charStyle, forMeasuring) {\n ctx.textBaseline = \"alphabetical\";\n if (this.path) {\n switch(this.pathAlign){\n case \"center\":\n ctx.textBaseline = \"middle\";\n break;\n case \"ascender\":\n ctx.textBaseline = \"top\";\n break;\n case \"descender\":\n ctx.textBaseline = \"bottom\";\n break;\n }\n }\n ctx.font = this._getFontDeclaration(charStyle, forMeasuring);\n },\n /**\n * calculate and return the text Width measuring each line.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @return {Number} Maximum width of fabric.Text object\n */ calcTextWidth: function() {\n var maxWidth = this.getLineWidth(0);\n for(var i = 1, len = this._textLines.length; i < len; i++){\n var currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth > maxWidth) {\n maxWidth = currentLineWidth;\n }\n }\n return maxWidth;\n },\n /**\n * @private\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} line Text to render\n * @param {Number} left Left position of text\n * @param {Number} top Top position of text\n * @param {Number} lineIndex Index of a line in a text\n */ _renderTextLine: function(method, ctx, line, left, top, lineIndex) {\n this._renderChars(method, ctx, line, left, top, lineIndex);\n },\n /**\n * Renders the text background for lines, taking care of style\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextLinesBackground: function(ctx) {\n if (!this.textBackgroundColor && !this.styleHas(\"textBackgroundColor\")) {\n return;\n }\n var heightOfLine, lineLeftOffset, originalFill = ctx.fillStyle, line, lastColor, leftOffset = this._getLeftOffset(), lineTopOffset = this._getTopOffset(), boxStart = 0, boxWidth = 0, charBox, currentColor, path = this.path, drawStart;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n heightOfLine = this.getHeightOfLine(i);\n if (!this.textBackgroundColor && !this.styleHas(\"textBackgroundColor\", i)) {\n lineTopOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n lineLeftOffset = this._getLineLeftOffset(i);\n boxWidth = 0;\n boxStart = 0;\n lastColor = this.getValueOfPropertyAt(i, 0, \"textBackgroundColor\");\n for(var j = 0, jlen = line.length; j < jlen; j++){\n charBox = this.__charBounds[i][j];\n currentColor = this.getValueOfPropertyAt(i, j, \"textBackgroundColor\");\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillStyle = currentColor;\n currentColor && ctx.fillRect(-charBox.width / 2, -heightOfLine / this.lineHeight * (1 - this._fontSizeFraction), charBox.width, heightOfLine / this.lineHeight);\n ctx.restore();\n } else if (currentColor !== lastColor) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = lastColor;\n lastColor && ctx.fillRect(drawStart, lineTopOffset, boxWidth, heightOfLine / this.lineHeight);\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastColor = currentColor;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n }\n if (currentColor && !path) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentColor;\n ctx.fillRect(drawStart, lineTopOffset, boxWidth, heightOfLine / this.lineHeight);\n }\n lineTopOffset += heightOfLine;\n }\n ctx.fillStyle = originalFill;\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n /**\n * @private\n * @param {Object} decl style declaration for cache\n * @param {String} decl.fontFamily fontFamily\n * @param {String} decl.fontStyle fontStyle\n * @param {String} decl.fontWeight fontWeight\n * @return {Object} reference to cache\n */ getFontCache: function(decl) {\n var fontFamily = decl.fontFamily.toLowerCase();\n if (!fabric.charWidthsCache[fontFamily]) {\n fabric.charWidthsCache[fontFamily] = {};\n }\n var cache = fabric.charWidthsCache[fontFamily], cacheProp = decl.fontStyle.toLowerCase() + \"_\" + (decl.fontWeight + \"\").toLowerCase();\n if (!cache[cacheProp]) {\n cache[cacheProp] = {};\n }\n return cache[cacheProp];\n },\n /**\n * measure and return the width of a single character.\n * possibly overridden to accommodate different measure logic or\n * to hook some external lib for character measurement\n * @private\n * @param {String} _char, char to be measured\n * @param {Object} charStyle style of char to be measured\n * @param {String} [previousChar] previous char\n * @param {Object} [prevCharStyle] style of previous char\n */ _measureChar: function(_char, charStyle, previousChar, prevCharStyle) {\n // first i try to return from cache\n var fontCache = this.getFontCache(charStyle), fontDeclaration = this._getFontDeclaration(charStyle), previousFontDeclaration = this._getFontDeclaration(prevCharStyle), couple = previousChar + _char, stylesAreEqual = fontDeclaration === previousFontDeclaration, width, coupleWidth, previousWidth, fontMultiplier = charStyle.fontSize / this.CACHE_FONT_SIZE, kernedWidth;\n if (previousChar && fontCache[previousChar] !== undefined) {\n previousWidth = fontCache[previousChar];\n }\n if (fontCache[_char] !== undefined) {\n kernedWidth = width = fontCache[_char];\n }\n if (stylesAreEqual && fontCache[couple] !== undefined) {\n coupleWidth = fontCache[couple];\n kernedWidth = coupleWidth - previousWidth;\n }\n if (width === undefined || previousWidth === undefined || coupleWidth === undefined) {\n var ctx = this.getMeasuringContext();\n // send a TRUE to specify measuring font size CACHE_FONT_SIZE\n this._setTextStyles(ctx, charStyle, true);\n }\n if (width === undefined) {\n kernedWidth = width = ctx.measureText(_char).width;\n fontCache[_char] = width;\n }\n if (previousWidth === undefined && stylesAreEqual && previousChar) {\n previousWidth = ctx.measureText(previousChar).width;\n fontCache[previousChar] = previousWidth;\n }\n if (stylesAreEqual && coupleWidth === undefined) {\n // we can measure the kerning couple and subtract the width of the previous character\n coupleWidth = ctx.measureText(couple).width;\n fontCache[couple] = coupleWidth;\n kernedWidth = coupleWidth - previousWidth;\n }\n return {\n width: width * fontMultiplier,\n kernedWidth: kernedWidth * fontMultiplier\n };\n },\n /**\n * Computes height of character at given position\n * @param {Number} line the line index number\n * @param {Number} _char the character index number\n * @return {Number} fontSize of the character\n */ getHeightOfChar: function(line, _char) {\n return this.getValueOfPropertyAt(line, _char, \"fontSize\");\n },\n /**\n * measure a text line measuring all characters.\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */ measureLine: function(lineIndex) {\n var lineInfo = this._measureLine(lineIndex);\n if (this.charSpacing !== 0) {\n lineInfo.width -= this._getWidthOfCharSpacing();\n }\n if (lineInfo.width < 0) {\n lineInfo.width = 0;\n }\n return lineInfo;\n },\n /**\n * measure every grapheme of a line, populating __charBounds\n * @param {Number} lineIndex\n * @return {Object} object.width total width of characters\n * @return {Object} object.widthOfSpaces length of chars that match this._reSpacesAndTabs\n */ _measureLine: function(lineIndex) {\n var width = 0, i, grapheme, line = this._textLines[lineIndex], prevGrapheme, graphemeInfo, numOfSpaces = 0, lineBounds = new Array(line.length), positionInPath = 0, startingPoint, totalPathLength, path = this.path, reverse = this.pathSide === \"right\";\n this.__charBounds[lineIndex] = lineBounds;\n for(i = 0; i < line.length; i++){\n grapheme = line[i];\n graphemeInfo = this._getGraphemeBox(grapheme, lineIndex, i, prevGrapheme);\n lineBounds[i] = graphemeInfo;\n width += graphemeInfo.kernedWidth;\n prevGrapheme = grapheme;\n }\n // this latest bound box represent the last character of the line\n // to simplify cursor handling in interactive mode.\n lineBounds[i] = {\n left: graphemeInfo ? graphemeInfo.left + graphemeInfo.width : 0,\n width: 0,\n kernedWidth: 0,\n height: this.fontSize\n };\n if (path) {\n totalPathLength = path.segmentsInfo[path.segmentsInfo.length - 1].length;\n startingPoint = fabric.util.getPointOnPath(path.path, 0, path.segmentsInfo);\n startingPoint.x += path.pathOffset.x;\n startingPoint.y += path.pathOffset.y;\n switch(this.textAlign){\n case \"left\":\n positionInPath = reverse ? totalPathLength - width : 0;\n break;\n case \"center\":\n positionInPath = (totalPathLength - width) / 2;\n break;\n case \"right\":\n positionInPath = reverse ? 0 : totalPathLength - width;\n break;\n }\n positionInPath += this.pathStartOffset * (reverse ? -1 : 1);\n for(i = reverse ? line.length - 1 : 0; reverse ? i >= 0 : i < line.length; reverse ? i-- : i++){\n graphemeInfo = lineBounds[i];\n if (positionInPath > totalPathLength) {\n positionInPath %= totalPathLength;\n } else if (positionInPath < 0) {\n positionInPath += totalPathLength;\n }\n // it would probably much faster to send all the grapheme position for a line\n // and calculate path position/angle at once.\n this._setGraphemeOnPath(positionInPath, graphemeInfo, startingPoint);\n positionInPath += graphemeInfo.kernedWidth;\n }\n }\n return {\n width: width,\n numOfSpaces: numOfSpaces\n };\n },\n /**\n * Calculate the angle and the left,top position of the char that follow a path.\n * It appends it to graphemeInfo to be reused later at rendering\n * @private\n * @param {Number} positionInPath to be measured\n * @param {Object} graphemeInfo current grapheme box information\n * @param {Object} startingPoint position of the point\n */ _setGraphemeOnPath: function(positionInPath, graphemeInfo, startingPoint) {\n var centerPosition = positionInPath + graphemeInfo.kernedWidth / 2, path = this.path;\n // we are at currentPositionOnPath. we want to know what point on the path is.\n var info = fabric.util.getPointOnPath(path.path, centerPosition, path.segmentsInfo);\n graphemeInfo.renderLeft = info.x - startingPoint.x;\n graphemeInfo.renderTop = info.y - startingPoint.y;\n graphemeInfo.angle = info.angle + (this.pathSide === \"right\" ? Math.PI : 0);\n },\n /**\n * Measure and return the info of a single grapheme.\n * needs the the info of previous graphemes already filled\n * @private\n * @param {String} grapheme to be measured\n * @param {Number} lineIndex index of the line where the char is\n * @param {Number} charIndex position in the line\n * @param {String} [prevGrapheme] character preceding the one to be measured\n */ _getGraphemeBox: function(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {\n var style = this.getCompleteStyleDeclaration(lineIndex, charIndex), prevStyle = prevGrapheme ? this.getCompleteStyleDeclaration(lineIndex, charIndex - 1) : {}, info = this._measureChar(grapheme, style, prevGrapheme, prevStyle), kernedWidth = info.kernedWidth, width = info.width, charSpacing;\n if (this.charSpacing !== 0) {\n charSpacing = this._getWidthOfCharSpacing();\n width += charSpacing;\n kernedWidth += charSpacing;\n }\n var box = {\n width: width,\n left: 0,\n height: style.fontSize,\n kernedWidth: kernedWidth,\n deltaY: style.deltaY\n };\n if (charIndex > 0 && !skipLeft) {\n var previousBox = this.__charBounds[lineIndex][charIndex - 1];\n box.left = previousBox.left + previousBox.width + info.kernedWidth - info.width;\n }\n return box;\n },\n /**\n * Calculate height of line at 'lineIndex'\n * @param {Number} lineIndex index of line to calculate\n * @return {Number}\n */ getHeightOfLine: function(lineIndex) {\n if (this.__lineHeights[lineIndex]) {\n return this.__lineHeights[lineIndex];\n }\n var line = this._textLines[lineIndex], // char 0 is measured before the line cycle because it nneds to char\n // emptylines\n maxHeight = this.getHeightOfChar(lineIndex, 0);\n for(var i = 1, len = line.length; i < len; i++){\n maxHeight = Math.max(this.getHeightOfChar(lineIndex, i), maxHeight);\n }\n return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;\n },\n /**\n * Calculate text box height\n */ calcTextHeight: function() {\n var lineHeight, height = 0;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n lineHeight = this.getHeightOfLine(i);\n height += i === len - 1 ? lineHeight / this.lineHeight : lineHeight;\n }\n return height;\n },\n /**\n * @private\n * @return {Number} Left offset\n */ _getLeftOffset: function() {\n return this.direction === \"ltr\" ? -this.width / 2 : this.width / 2;\n },\n /**\n * @private\n * @return {Number} Top offset\n */ _getTopOffset: function() {\n return -this.height / 2;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n */ _renderTextCommon: function(ctx, method) {\n ctx.save();\n var lineHeights = 0, left = this._getLeftOffset(), top = this._getTopOffset();\n for(var i = 0, len = this._textLines.length; i < len; i++){\n var heightOfLine = this.getHeightOfLine(i), maxHeight = heightOfLine / this.lineHeight, leftOffset = this._getLineLeftOffset(i);\n this._renderTextLine(method, ctx, this._textLines[i], left + leftOffset, top + lineHeights + maxHeight, i);\n lineHeights += heightOfLine;\n }\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextFill: function(ctx) {\n if (!this.fill && !this.styleHas(\"fill\")) {\n return;\n }\n this._renderTextCommon(ctx, \"fillText\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextStroke: function(ctx) {\n if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {\n return;\n }\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n ctx.save();\n this._setLineDash(ctx, this.strokeDashArray);\n ctx.beginPath();\n this._renderTextCommon(ctx, \"strokeText\");\n ctx.closePath();\n ctx.restore();\n },\n /**\n * @private\n * @param {String} method fillText or strokeText.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} line Content of the line, splitted in an array by grapheme\n * @param {Number} left\n * @param {Number} top\n * @param {Number} lineIndex\n */ _renderChars: function(method, ctx, line, left, top, lineIndex) {\n // set proper line offset\n var lineHeight = this.getHeightOfLine(lineIndex), isJustify = this.textAlign.indexOf(\"justify\") !== -1, actualStyle, nextStyle, charsToRender = \"\", charBox, boxWidth = 0, timeToRender, path = this.path, shortCut = !isJustify && this.charSpacing === 0 && this.isEmptyStyles(lineIndex) && !path, isLtr = this.direction === \"ltr\", sign = this.direction === \"ltr\" ? 1 : -1, drawingLeft, currentDirection = ctx.canvas.getAttribute(\"dir\");\n ctx.save();\n if (currentDirection !== this.direction) {\n ctx.canvas.setAttribute(\"dir\", isLtr ? \"ltr\" : \"rtl\");\n ctx.direction = isLtr ? \"ltr\" : \"rtl\";\n ctx.textAlign = isLtr ? \"left\" : \"right\";\n }\n top -= lineHeight * this._fontSizeFraction / this.lineHeight;\n if (shortCut) {\n // render all the line in one pass without checking\n // drawingLeft = isLtr ? left : left - this.getLineWidth(lineIndex);\n this._renderChar(method, ctx, lineIndex, 0, line.join(\"\"), left, top, lineHeight);\n ctx.restore();\n return;\n }\n for(var i = 0, len = line.length - 1; i <= len; i++){\n timeToRender = i === len || this.charSpacing || path;\n charsToRender += line[i];\n charBox = this.__charBounds[lineIndex][i];\n if (boxWidth === 0) {\n left += sign * (charBox.kernedWidth - charBox.width);\n boxWidth += charBox.width;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n if (isJustify && !timeToRender) {\n if (this._reSpaceAndTab.test(line[i])) {\n timeToRender = true;\n }\n }\n if (!timeToRender) {\n // if we have charSpacing, we render char by char\n actualStyle = actualStyle || this.getCompleteStyleDeclaration(lineIndex, i);\n nextStyle = this.getCompleteStyleDeclaration(lineIndex, i + 1);\n timeToRender = fabric.util.hasStyleChanged(actualStyle, nextStyle, false);\n }\n if (timeToRender) {\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n this._renderChar(method, ctx, lineIndex, i, charsToRender, -boxWidth / 2, 0, lineHeight);\n ctx.restore();\n } else {\n drawingLeft = left;\n this._renderChar(method, ctx, lineIndex, i, charsToRender, drawingLeft, top, lineHeight);\n }\n charsToRender = \"\";\n actualStyle = nextStyle;\n left += sign * boxWidth;\n boxWidth = 0;\n }\n }\n ctx.restore();\n },\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {fabric.Gradient} filler a fabric gradient instance\n * @return {CanvasPattern} a pattern to use as fill/stroke style\n */ _applyPatternGradientTransformText: function(filler) {\n var pCanvas = fabric.util.createCanvasElement(), pCtx, // TODO: verify compatibility with strokeUniform\n width = this.width + this.strokeWidth, height = this.height + this.strokeWidth;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext(\"2d\");\n pCtx.beginPath();\n pCtx.moveTo(0, 0);\n pCtx.lineTo(width, 0);\n pCtx.lineTo(width, height);\n pCtx.lineTo(0, height);\n pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.fillStyle = filler.toLive(pCtx);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fill();\n return pCtx.createPattern(pCanvas, \"no-repeat\");\n },\n handleFiller: function(ctx, property, filler) {\n var offsetX, offsetY;\n if (filler.toLive) {\n if (filler.gradientUnits === \"percentage\" || filler.gradientTransform || filler.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n offsetX = -this.width / 2;\n offsetY = -this.height / 2;\n ctx.translate(offsetX, offsetY);\n ctx[property] = this._applyPatternGradientTransformText(filler);\n return {\n offsetX: offsetX,\n offsetY: offsetY\n };\n } else {\n // is a simple gradient or pattern\n ctx[property] = filler.toLive(ctx, this);\n return this._applyPatternGradientTransform(ctx, filler);\n }\n } else {\n // is a color\n ctx[property] = filler;\n }\n return {\n offsetX: 0,\n offsetY: 0\n };\n },\n _setStrokeStyles: function(ctx, decl) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = this.strokeLineCap;\n ctx.lineDashOffset = this.strokeDashOffset;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.miterLimit = this.strokeMiterLimit;\n return this.handleFiller(ctx, \"strokeStyle\", decl.stroke);\n },\n _setFillStyles: function(ctx, decl) {\n return this.handleFiller(ctx, \"fillStyle\", decl.fill);\n },\n /**\n * @private\n * @param {String} method\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {String} _char\n * @param {Number} left Left coordinate\n * @param {Number} top Top coordinate\n * @param {Number} lineHeight Height of the line\n */ _renderChar: function(method, ctx, lineIndex, charIndex, _char, left, top) {\n var decl = this._getStyleDeclaration(lineIndex, charIndex), fullDecl = this.getCompleteStyleDeclaration(lineIndex, charIndex), shouldFill = method === \"fillText\" && fullDecl.fill, shouldStroke = method === \"strokeText\" && fullDecl.stroke && fullDecl.strokeWidth, fillOffsets, strokeOffsets;\n if (!shouldStroke && !shouldFill) {\n return;\n }\n ctx.save();\n shouldFill && (fillOffsets = this._setFillStyles(ctx, fullDecl));\n shouldStroke && (strokeOffsets = this._setStrokeStyles(ctx, fullDecl));\n ctx.font = this._getFontDeclaration(fullDecl);\n if (decl && decl.textBackgroundColor) {\n this._removeShadow(ctx);\n }\n if (decl && decl.deltaY) {\n top += decl.deltaY;\n }\n shouldFill && ctx.fillText(_char, left - fillOffsets.offsetX, top - fillOffsets.offsetY);\n shouldStroke && ctx.strokeText(_char, left - strokeOffsets.offsetX, top - strokeOffsets.offsetY);\n ctx.restore();\n },\n /**\n * Turns the character into a 'superior figure' (i.e. 'superscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */ setSuperscript: function(start, end) {\n return this._setScript(start, end, this.superscript);\n },\n /**\n * Turns the character into an 'inferior figure' (i.e. 'subscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */ setSubscript: function(start, end) {\n return this._setScript(start, end, this.subscript);\n },\n /**\n * Applies 'schema' at given position\n * @private\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @param {Number} schema\n * @returns {fabric.Text} thisArg\n * @chainable\n */ _setScript: function(start, end, schema) {\n var loc = this.get2DCursorLocation(start, true), fontSize = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, \"fontSize\"), dy = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, \"deltaY\"), style = {\n fontSize: fontSize * schema.size,\n deltaY: dy + fontSize * schema.baseline\n };\n this.setSelectionStyles(style, start, end);\n return this;\n },\n /**\n * @private\n * @param {Number} lineIndex index text line\n * @return {Number} Line left offset\n */ _getLineLeftOffset: function(lineIndex) {\n var lineWidth = this.getLineWidth(lineIndex), lineDiff = this.width - lineWidth, textAlign = this.textAlign, direction = this.direction, isEndOfWrapping, leftOffset = 0, isEndOfWrapping = this.isEndOfWrapping(lineIndex);\n if (textAlign === \"justify\" || textAlign === \"justify-center\" && !isEndOfWrapping || textAlign === \"justify-right\" && !isEndOfWrapping || textAlign === \"justify-left\" && !isEndOfWrapping) {\n return 0;\n }\n if (textAlign === \"center\") {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === \"right\") {\n leftOffset = lineDiff;\n }\n if (textAlign === \"justify-center\") {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === \"justify-right\") {\n leftOffset = lineDiff;\n }\n if (direction === \"rtl\") {\n leftOffset -= lineDiff;\n }\n return leftOffset;\n },\n /**\n * @private\n */ _clearCache: function() {\n this.__lineWidths = [];\n this.__lineHeights = [];\n this.__charBounds = [];\n },\n /**\n * @private\n */ _shouldClearDimensionCache: function() {\n var shouldClear = this._forceClearCache;\n shouldClear || (shouldClear = this.hasStateChanged(\"_dimensionAffectingProps\"));\n if (shouldClear) {\n this.dirty = true;\n this._forceClearCache = false;\n }\n return shouldClear;\n },\n /**\n * Measure a single line given its index. Used to calculate the initial\n * text bounding box. The values are calculated and stored in __lineWidths cache.\n * @private\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */ getLineWidth: function(lineIndex) {\n if (this.__lineWidths[lineIndex] !== undefined) {\n return this.__lineWidths[lineIndex];\n }\n var lineInfo = this.measureLine(lineIndex);\n var width = lineInfo.width;\n this.__lineWidths[lineIndex] = width;\n return width;\n },\n _getWidthOfCharSpacing: function() {\n if (this.charSpacing !== 0) {\n return this.fontSize * this.charSpacing / 1000;\n }\n return 0;\n },\n /**\n * Retrieves the value of property at given character position\n * @param {Number} lineIndex the line number\n * @param {Number} charIndex the character number\n * @param {String} property the property name\n * @returns the value of 'property'\n */ getValueOfPropertyAt: function(lineIndex, charIndex, property) {\n var charStyle = this._getStyleDeclaration(lineIndex, charIndex);\n if (charStyle && typeof charStyle[property] !== \"undefined\") {\n return charStyle[property];\n }\n return this[property];\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextDecoration: function(ctx, type) {\n if (!this[type] && !this.styleHas(type)) {\n return;\n }\n var heightOfLine, size, _size, lineLeftOffset, dy, _dy, line, lastDecoration, leftOffset = this._getLeftOffset(), topOffset = this._getTopOffset(), top, boxStart, boxWidth, charBox, currentDecoration, maxHeight, currentFill, lastFill, path = this.path, charSpacing = this._getWidthOfCharSpacing(), offsetY = this.offsets[type];\n for(var i = 0, len = this._textLines.length; i < len; i++){\n heightOfLine = this.getHeightOfLine(i);\n if (!this[type] && !this.styleHas(type, i)) {\n topOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n maxHeight = heightOfLine / this.lineHeight;\n lineLeftOffset = this._getLineLeftOffset(i);\n boxStart = 0;\n boxWidth = 0;\n lastDecoration = this.getValueOfPropertyAt(i, 0, type);\n lastFill = this.getValueOfPropertyAt(i, 0, \"fill\");\n top = topOffset + maxHeight * (1 - this._fontSizeFraction);\n size = this.getHeightOfChar(i, 0);\n dy = this.getValueOfPropertyAt(i, 0, \"deltaY\");\n for(var j = 0, jlen = line.length; j < jlen; j++){\n charBox = this.__charBounds[i][j];\n currentDecoration = this.getValueOfPropertyAt(i, j, type);\n currentFill = this.getValueOfPropertyAt(i, j, \"fill\");\n _size = this.getHeightOfChar(i, j);\n _dy = this.getValueOfPropertyAt(i, j, \"deltaY\");\n if (path && currentDecoration && currentFill) {\n ctx.save();\n ctx.fillStyle = lastFill;\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillRect(-charBox.kernedWidth / 2, offsetY * _size + _dy, charBox.kernedWidth, this.fontSize / 15);\n ctx.restore();\n } else if ((currentDecoration !== lastDecoration || currentFill !== lastFill || _size !== size || _dy !== dy) && boxWidth > 0) {\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n if (lastDecoration && lastFill) {\n ctx.fillStyle = lastFill;\n ctx.fillRect(drawStart, top + offsetY * size + dy, boxWidth, this.fontSize / 15);\n }\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastDecoration = currentDecoration;\n lastFill = currentFill;\n size = _size;\n dy = _dy;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n }\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentFill;\n currentDecoration && currentFill && ctx.fillRect(drawStart, top + offsetY * size + dy, boxWidth - charSpacing, this.fontSize / 15);\n topOffset += heightOfLine;\n }\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n /**\n * return font declaration string for canvas context\n * @param {Object} [styleObject] object\n * @returns {String} font declaration formatted for canvas context.\n */ _getFontDeclaration: function(styleObject, forMeasuring) {\n var style = styleObject || this, family = this.fontFamily, fontIsGeneric = fabric.Text.genericFonts.indexOf(family.toLowerCase()) > -1;\n var fontFamily = family === undefined || family.indexOf(\"'\") > -1 || family.indexOf(\",\") > -1 || family.indexOf('\"') > -1 || fontIsGeneric ? style.fontFamily : '\"' + style.fontFamily + '\"';\n return [\n // node-canvas needs \"weight style\", while browsers need \"style weight\"\n // verify if this can be fixed in JSDOM\n fabric.isLikelyNode ? style.fontWeight : style.fontStyle,\n fabric.isLikelyNode ? style.fontStyle : style.fontWeight,\n forMeasuring ? this.CACHE_FONT_SIZE + \"px\" : style.fontSize + \"px\",\n fontFamily\n ].join(\" \");\n },\n /**\n * Renders text instance on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ render: function(ctx) {\n // do not render if object is not visible\n if (!this.visible) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n if (this._shouldClearDimensionCache()) {\n this.initDimensions();\n }\n this.callSuper(\"render\", ctx);\n },\n /**\n * Returns the text as an array of lines.\n * @param {String} text text to split\n * @returns {Array} Lines in the text\n */ _splitTextIntoLines: function(text) {\n var lines = text.split(this._reNewline), newLines = new Array(lines.length), newLine = [\n \"\\n\"\n ], newText = [];\n for(var i = 0; i < lines.length; i++){\n newLines[i] = fabric.util.string.graphemeSplit(lines[i]);\n newText = newText.concat(newLines[i], newLine);\n }\n newText.pop();\n return {\n _unwrappedLines: newLines,\n lines: lines,\n graphemeText: newText,\n graphemeLines: newLines\n };\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var allProperties = additionalProps.concat(propertiesToInclude);\n var obj = this.callSuper(\"toObject\", allProperties);\n obj.styles = fabric.util.stylesToArray(this.styles, this.text);\n if (obj.path) {\n obj.path = this.path.toObject();\n }\n return obj;\n },\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */ set: function(key, value) {\n this.callSuper(\"set\", key, value);\n var needsDims = false;\n var isAddingPath = false;\n if (typeof key === \"object\") {\n for(var _key in key){\n if (_key === \"path\") {\n this.setPathInfo();\n }\n needsDims = needsDims || this._dimensionAffectingProps.indexOf(_key) !== -1;\n isAddingPath = isAddingPath || _key === \"path\";\n }\n } else {\n needsDims = this._dimensionAffectingProps.indexOf(key) !== -1;\n isAddingPath = key === \"path\";\n }\n if (isAddingPath) {\n this.setPathInfo();\n }\n if (needsDims) {\n this.initDimensions();\n this.setCoords();\n }\n return this;\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity\n */ complexity: function() {\n return 1;\n }\n });\n /**\n * Returns fabric.Text instance from an object representation\n * @static\n * @memberOf fabric.Text\n * @param {Object} object plain js Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Text instance is created\n */ fabric.Text.fromObject = function(object, callback) {\n var objectCopy = clone(object), path = object.path;\n delete objectCopy.path;\n return fabric.Object._fromObject(\"Text\", objectCopy, function(textInstance) {\n textInstance.styles = fabric.util.stylesFromArray(object.styles, object.text);\n if (path) {\n fabric.Object._fromObject(\"Path\", path, function(pathInstance) {\n textInstance.set(\"path\", pathInstance);\n callback(textInstance);\n }, \"path\");\n } else {\n callback(textInstance);\n }\n }, \"text\");\n };\n fabric.Text.genericFonts = [\n \"sans-serif\",\n \"serif\",\n \"cursive\",\n \"fantasy\",\n \"monospace\"\n ];\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Text);\n})( true ? exports : 0);\n(function() {\n fabric.util.object.extend(fabric.Text.prototype, /** @lends fabric.Text.prototype */ {\n /**\n * Returns true if object has no styling or no styling in a line\n * @param {Number} lineIndex , lineIndex is on wrapped lines.\n * @return {Boolean}\n */ isEmptyStyles: function(lineIndex) {\n if (!this.styles) {\n return true;\n }\n if (typeof lineIndex !== \"undefined\" && !this.styles[lineIndex]) {\n return true;\n }\n var obj = typeof lineIndex === \"undefined\" ? this.styles : {\n line: this.styles[lineIndex]\n };\n for(var p1 in obj){\n for(var p2 in obj[p1]){\n // eslint-disable-next-line no-unused-vars\n for(var p3 in obj[p1][p2]){\n return false;\n }\n }\n }\n return true;\n },\n /**\n * Returns true if object has a style property or has it ina specified line\n * This function is used to detect if a text will use a particular property or not.\n * @param {String} property to check for\n * @param {Number} lineIndex to check the style on\n * @return {Boolean}\n */ styleHas: function(property, lineIndex) {\n if (!this.styles || !property || property === \"\") {\n return false;\n }\n if (typeof lineIndex !== \"undefined\" && !this.styles[lineIndex]) {\n return false;\n }\n var obj = typeof lineIndex === \"undefined\" ? this.styles : {\n 0: this.styles[lineIndex]\n };\n // eslint-disable-next-line\n for(var p1 in obj){\n // eslint-disable-next-line\n for(var p2 in obj[p1]){\n if (typeof obj[p1][p2][property] !== \"undefined\") {\n return true;\n }\n }\n }\n return false;\n },\n /**\n * Check if characters in a text have a value for a property\n * whose value matches the textbox's value for that property. If so,\n * the character-level property is deleted. If the character\n * has no other properties, then it is also deleted. Finally,\n * if the line containing that character has no other characters\n * then it also is deleted.\n *\n * @param {string} property The property to compare between characters and text.\n */ cleanStyle: function(property) {\n if (!this.styles || !property || property === \"\") {\n return false;\n }\n var obj = this.styles, stylesCount = 0, letterCount, stylePropertyValue, allStyleObjectPropertiesMatch = true, graphemeCount = 0, styleObject;\n // eslint-disable-next-line\n for(var p1 in obj){\n letterCount = 0;\n // eslint-disable-next-line\n for(var p2 in obj[p1]){\n var styleObject = obj[p1][p2], stylePropertyHasBeenSet = styleObject.hasOwnProperty(property);\n stylesCount++;\n if (stylePropertyHasBeenSet) {\n if (!stylePropertyValue) {\n stylePropertyValue = styleObject[property];\n } else if (styleObject[property] !== stylePropertyValue) {\n allStyleObjectPropertiesMatch = false;\n }\n if (styleObject[property] === this[property]) {\n delete styleObject[property];\n }\n } else {\n allStyleObjectPropertiesMatch = false;\n }\n if (Object.keys(styleObject).length !== 0) {\n letterCount++;\n } else {\n delete obj[p1][p2];\n }\n }\n if (letterCount === 0) {\n delete obj[p1];\n }\n }\n // if every grapheme has the same style set then\n // delete those styles and set it on the parent\n for(var i = 0; i < this._textLines.length; i++){\n graphemeCount += this._textLines[i].length;\n }\n if (allStyleObjectPropertiesMatch && stylesCount === graphemeCount) {\n this[property] = stylePropertyValue;\n this.removeStyle(property);\n }\n },\n /**\n * Remove a style property or properties from all individual character styles\n * in a text object. Deletes the character style object if it contains no other style\n * props. Deletes a line style object if it contains no other character styles.\n *\n * @param {String} props The property to remove from character styles.\n */ removeStyle: function(property) {\n if (!this.styles || !property || property === \"\") {\n return;\n }\n var obj = this.styles, line, lineNum, charNum;\n for(lineNum in obj){\n line = obj[lineNum];\n for(charNum in line){\n delete line[charNum][property];\n if (Object.keys(line[charNum]).length === 0) {\n delete line[charNum];\n }\n }\n if (Object.keys(line).length === 0) {\n delete obj[lineNum];\n }\n }\n },\n /**\n * @private\n */ _extendStyles: function(index, styles) {\n var loc = this.get2DCursorLocation(index);\n if (!this._getLineStyle(loc.lineIndex)) {\n this._setLineStyle(loc.lineIndex);\n }\n if (!this._getStyleDeclaration(loc.lineIndex, loc.charIndex)) {\n this._setStyleDeclaration(loc.lineIndex, loc.charIndex, {});\n }\n fabric.util.object.extend(this._getStyleDeclaration(loc.lineIndex, loc.charIndex), styles);\n },\n /**\n * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)\n * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.\n * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.\n */ get2DCursorLocation: function(selectionStart, skipWrapping) {\n if (typeof selectionStart === \"undefined\") {\n selectionStart = this.selectionStart;\n }\n var lines = skipWrapping ? this._unwrappedTextLines : this._textLines, len = lines.length;\n for(var i = 0; i < len; i++){\n if (selectionStart <= lines[i].length) {\n return {\n lineIndex: i,\n charIndex: selectionStart\n };\n }\n selectionStart -= lines[i].length + this.missingNewlineOffset(i);\n }\n return {\n lineIndex: i - 1,\n charIndex: lines[i - 1].length < selectionStart ? lines[i - 1].length : selectionStart\n };\n },\n /**\n * Gets style of a current selection/cursor (at the start position)\n * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @param {Boolean} [complete] get full style or not\n * @return {Array} styles an array with one, zero or more Style objects\n */ getSelectionStyles: function(startIndex, endIndex, complete) {\n if (typeof startIndex === \"undefined\") {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === \"undefined\") {\n endIndex = this.selectionEnd || startIndex;\n }\n var styles = [];\n for(var i = startIndex; i < endIndex; i++){\n styles.push(this.getStyleAtPosition(i, complete));\n }\n return styles;\n },\n /**\n * Gets style of a current selection/cursor position\n * @param {Number} position to get styles at\n * @param {Boolean} [complete] full style if true\n * @return {Object} style Style object at a specified index\n * @private\n */ getStyleAtPosition: function(position, complete) {\n var loc = this.get2DCursorLocation(position), style = complete ? this.getCompleteStyleDeclaration(loc.lineIndex, loc.charIndex) : this._getStyleDeclaration(loc.lineIndex, loc.charIndex);\n return style || {};\n },\n /**\n * Sets style of a current selection, if no selection exist, do not set anything.\n * @param {Object} [styles] Styles object\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @return {fabric.IText} thisArg\n * @chainable\n */ setSelectionStyles: function(styles, startIndex, endIndex) {\n if (typeof startIndex === \"undefined\") {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === \"undefined\") {\n endIndex = this.selectionEnd || startIndex;\n }\n for(var i = startIndex; i < endIndex; i++){\n this._extendStyles(i, styles);\n }\n /* not included in _extendStyles to avoid clearing cache more than once */ this._forceClearCache = true;\n return this;\n },\n /**\n * get the reference, not a clone, of the style object for a given character\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @return {Object} style object\n */ _getStyleDeclaration: function(lineIndex, charIndex) {\n var lineStyle = this.styles && this.styles[lineIndex];\n if (!lineStyle) {\n return null;\n }\n return lineStyle[charIndex];\n },\n /**\n * return a new object that contains all the style property for a character\n * the object returned is newly created\n * @param {Number} lineIndex of the line where the character is\n * @param {Number} charIndex position of the character on the line\n * @return {Object} style object\n */ getCompleteStyleDeclaration: function(lineIndex, charIndex) {\n var style = this._getStyleDeclaration(lineIndex, charIndex) || {}, styleObject = {}, prop;\n for(var i = 0; i < this._styleProperties.length; i++){\n prop = this._styleProperties[i];\n styleObject[prop] = typeof style[prop] === \"undefined\" ? this[prop] : style[prop];\n }\n return styleObject;\n },\n /**\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {Object} style\n * @private\n */ _setStyleDeclaration: function(lineIndex, charIndex, style) {\n this.styles[lineIndex][charIndex] = style;\n },\n /**\n *\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @private\n */ _deleteStyleDeclaration: function(lineIndex, charIndex) {\n delete this.styles[lineIndex][charIndex];\n },\n /**\n * @param {Number} lineIndex\n * @return {Boolean} if the line exists or not\n * @private\n */ _getLineStyle: function(lineIndex) {\n return !!this.styles[lineIndex];\n },\n /**\n * Set the line style to an empty object so that is initialized\n * @param {Number} lineIndex\n * @private\n */ _setLineStyle: function(lineIndex) {\n this.styles[lineIndex] = {};\n },\n /**\n * @param {Number} lineIndex\n * @private\n */ _deleteLineStyle: function(lineIndex) {\n delete this.styles[lineIndex];\n }\n });\n})();\n(function() {\n var controlsUtils = fabric.controlsUtils, scaleSkewStyleHandler = controlsUtils.scaleSkewCursorStyleHandler, scaleStyleHandler = controlsUtils.scaleCursorStyleHandler, scalingEqually = controlsUtils.scalingEqually, scalingYOrSkewingX = controlsUtils.scalingYOrSkewingX, scalingXOrSkewingY = controlsUtils.scalingXOrSkewingY, scaleOrSkewActionName = controlsUtils.scaleOrSkewActionName, objectControls = fabric.Object.prototype.controls;\n objectControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mb = new fabric.Control({\n x: 0,\n y: 0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mt = new fabric.Control({\n x: 0,\n y: -0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName\n });\n objectControls.tl = new fabric.Control({\n x: -0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.tr = new fabric.Control({\n x: 0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.bl = new fabric.Control({\n x: -0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.br = new fabric.Control({\n x: 0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n actionHandler: controlsUtils.rotationWithSnapping,\n cursorStyleHandler: controlsUtils.rotationStyleHandler,\n offsetY: -40,\n withConnection: true,\n actionName: \"rotate\"\n });\n if (fabric.Textbox) {\n // this is breaking the prototype inheritance, no time / ideas to fix it.\n // is important to document that if you want to have all objects to have a\n // specific custom control, you have to add it to Object prototype and to Textbox\n // prototype. The controls are shared as references. So changes to control `tr`\n // can still apply to all objects if needed.\n var textBoxControls = fabric.Textbox.prototype.controls = {};\n textBoxControls.mtr = objectControls.mtr;\n textBoxControls.tr = objectControls.tr;\n textBoxControls.br = objectControls.br;\n textBoxControls.tl = objectControls.tl;\n textBoxControls.bl = objectControls.bl;\n textBoxControls.mt = objectControls.mt;\n textBoxControls.mb = objectControls.mb;\n textBoxControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: \"resizing\"\n });\n textBoxControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: \"resizing\"\n });\n }\n})();\n(function() {\n /** ERASER_START */ /**\n * add `eraser` to enlivened props\n */ fabric.Object.ENLIVEN_PROPS.push(\"eraser\");\n var __drawClipPath = fabric.Object.prototype._drawClipPath;\n var _needsItsOwnCache = fabric.Object.prototype.needsItsOwnCache;\n var _toObject = fabric.Object.prototype.toObject;\n var _getSvgCommons = fabric.Object.prototype.getSvgCommons;\n var __createBaseClipPathSVGMarkup = fabric.Object.prototype._createBaseClipPathSVGMarkup;\n var __createBaseSVGMarkup = fabric.Object.prototype._createBaseSVGMarkup;\n fabric.Object.prototype.cacheProperties.push(\"eraser\");\n fabric.Object.prototype.stateProperties.push(\"eraser\");\n /**\n * @fires erasing:end\n */ fabric.util.object.extend(fabric.Object.prototype, {\n /**\n * Indicates whether this object can be erased by {@link fabric.EraserBrush}\n * The `deep` option introduces fine grained control over a group's `erasable` property.\n * When set to `deep` the eraser will erase nested objects if they are erasable, leaving the group and the other objects untouched.\n * When set to `true` the eraser will erase the entire group. Once the group changes the eraser is propagated to its children for proper functionality.\n * When set to `false` the eraser will leave all objects including the group untouched.\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n * @type boolean | 'deep'\n * @default true\n */ erasable: true,\n /**\n * @tutorial {@link http://fabricjs.com/erasing#eraser}\n * @type fabric.Eraser\n */ eraser: undefined,\n /**\n * @override\n * @returns Boolean\n */ needsItsOwnCache: function() {\n return _needsItsOwnCache.call(this) || !!this.eraser;\n },\n /**\n * draw eraser above clip path\n * @override\n * @private\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */ _drawClipPath: function(ctx, clipPath) {\n __drawClipPath.call(this, ctx, clipPath);\n if (this.eraser) {\n // update eraser size to match instance\n var size = this._getNonTransformedDimensions();\n this.eraser.isType(\"eraser\") && this.eraser.set({\n width: size.x,\n height: size.y\n });\n __drawClipPath.call(this, ctx, this.eraser);\n }\n },\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var object = _toObject.call(this, [\n \"erasable\"\n ].concat(propertiesToInclude));\n if (this.eraser && !this.eraser.excludeFromExport) {\n object.eraser = this.eraser.toObject(propertiesToInclude);\n }\n return object;\n }\n });\n var __restoreObjectsState = fabric.Group.prototype._restoreObjectsState;\n fabric.util.object.extend(fabric.Group.prototype, {\n /**\n * @private\n * @param {fabric.Path} path\n */ _addEraserPathToObjects: function(path) {\n this._objects.forEach(function(object) {\n fabric.EraserBrush.prototype._addPathToObjectEraser.call(fabric.EraserBrush.prototype, object, path);\n });\n },\n /**\n * Applies the group's eraser to its objects\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n */ applyEraserToObjects: function() {\n var _this = this, eraser = this.eraser;\n if (eraser) {\n delete this.eraser;\n var transform = _this.calcTransformMatrix();\n eraser.clone(function(eraser) {\n var clipPath = _this.clipPath;\n eraser.getObjects(\"path\").forEach(function(path) {\n // first we transform the path from the group's coordinate system to the canvas'\n var originalTransform = fabric.util.multiplyTransformMatrices(transform, path.calcTransformMatrix());\n fabric.util.applyTransformToObject(path, originalTransform);\n if (clipPath) {\n clipPath.clone(function(_clipPath) {\n var eraserPath = fabric.EraserBrush.prototype.applyClipPathToPath.call(fabric.EraserBrush.prototype, path, _clipPath, transform);\n _this._addEraserPathToObjects(eraserPath);\n }, [\n \"absolutePositioned\",\n \"inverted\"\n ]);\n } else {\n _this._addEraserPathToObjects(path);\n }\n });\n });\n }\n },\n /**\n * Propagate the group's eraser to its objects, crucial for proper functionality of the eraser within the group and nested objects.\n * @private\n */ _restoreObjectsState: function() {\n this.erasable === true && this.applyEraserToObjects();\n return __restoreObjectsState.call(this);\n }\n });\n /**\n * An object's Eraser\n * @private\n * @class fabric.Eraser\n * @extends fabric.Group\n * @memberof fabric\n */ fabric.Eraser = fabric.util.createClass(fabric.Group, {\n /**\n * @readonly\n * @static\n */ type: \"eraser\",\n /**\n * @default\n */ originX: \"center\",\n /**\n * @default\n */ originY: \"center\",\n drawObject: function(ctx) {\n ctx.save();\n ctx.fillStyle = \"black\";\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n this.callSuper(\"drawObject\", ctx);\n },\n /**\n * eraser should retain size\n * dimensions should not change when paths are added or removed\n * handled by {@link fabric.Object#_drawClipPath}\n * @override\n * @private\n */ _getBounds: function() {\n // noop\n }\n });\n /**\n * Returns {@link fabric.Eraser} instance from an object representation\n * @static\n * @memberOf fabric.Eraser\n * @param {Object} object Object to create an Eraser from\n * @param {Function} [callback] Callback to invoke when an eraser instance is created\n */ fabric.Eraser.fromObject = function(object, callback) {\n var objects = object.objects;\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function() {\n callback && callback(new fabric.Eraser(enlivenedObjects, options, true));\n });\n });\n };\n var __renderOverlay = fabric.Canvas.prototype._renderOverlay;\n /**\n * @fires erasing:start\n * @fires erasing:end\n */ fabric.util.object.extend(fabric.Canvas.prototype, {\n /**\n * Used by {@link #renderAll}\n * @returns boolean\n */ isErasing: function() {\n return this.isDrawingMode && this.freeDrawingBrush && this.freeDrawingBrush.type === \"eraser\" && this.freeDrawingBrush._isErasing;\n },\n /**\n * While erasing the brush clips out the erasing path from canvas\n * so we need to render it on top of canvas every render\n * @param {CanvasRenderingContext2D} ctx\n */ _renderOverlay: function(ctx) {\n __renderOverlay.call(this, ctx);\n if (this.isErasing() && !this.freeDrawingBrush.inverted) {\n this.freeDrawingBrush._render();\n }\n }\n });\n /**\n * EraserBrush class\n * Supports selective erasing meaning that only erasable objects are affected by the eraser brush.\n * Supports **inverted** erasing meaning that the brush can \"undo\" erasing.\n *\n * In order to support selective erasing, the brush clips the entire canvas\n * and then draws all non-erasable objects over the erased path using a pattern brush so to speak (masking).\n * If brush is **inverted** there is no need to clip canvas. The brush draws all erasable objects without their eraser.\n * This achieves the desired effect of seeming to erase or unerase only erasable objects.\n * After erasing is done the created path is added to all intersected objects' `eraser` property.\n *\n * In order to update the EraserBrush call `preparePattern`.\n * It may come in handy when canvas changes during erasing (i.e animations) and you want the eraser to reflect the changes.\n *\n * @tutorial {@link http://fabricjs.com/erasing}\n * @class fabric.EraserBrush\n * @extends fabric.PencilBrush\n * @memberof fabric\n */ fabric.EraserBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.EraserBrush.prototype */ {\n type: \"eraser\",\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */ inverted: false,\n /**\n * @private\n */ _isErasing: false,\n /**\n *\n * @private\n * @param {fabric.Object} object\n * @returns boolean\n */ _isErasable: function(object) {\n return object.erasable !== false;\n },\n /**\n * @private\n * This is designed to support erasing a collection with both erasable and non-erasable objects.\n * Iterates over collections to allow nested selective erasing.\n * Prepares the pattern brush that will draw on the top context to achieve the desired visual effect.\n * If brush is **NOT** inverted render all non-erasable objects.\n * If brush is inverted render all erasable objects that have been erased with their clip path inverted.\n * This will render the erased parts as if they were not erased.\n *\n * @param {fabric.Collection} collection\n * @param {CanvasRenderingContext2D} ctx\n * @param {{ visibility: fabric.Object[], eraser: fabric.Object[], collection: fabric.Object[] }} restorationContext\n */ _prepareCollectionTraversal: function(collection, ctx, restorationContext) {\n collection.forEachObject(function(obj) {\n if (obj.forEachObject && obj.erasable === \"deep\") {\n // traverse\n this._prepareCollectionTraversal(obj, ctx, restorationContext);\n } else if (!this.inverted && obj.erasable && obj.visible) {\n // render only non-erasable objects\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n } else if (this.inverted && obj.visible) {\n // render only erasable objects that were erased\n if (obj.erasable && obj.eraser) {\n obj.eraser.inverted = true;\n obj.dirty = true;\n collection.dirty = true;\n restorationContext.eraser.push(obj);\n restorationContext.collection.push(collection);\n } else {\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n }\n }, this);\n },\n /**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context, achieving a visual effect of erasing only erasable objects\n * @todo decide how overlay color should behave when `inverted === true`, currently draws over it which is undesirable\n * @private\n */ preparePattern: function() {\n if (!this._patternCanvas) {\n this._patternCanvas = fabric.util.createCanvasElement();\n }\n var canvas = this._patternCanvas;\n canvas.width = this.canvas.width;\n canvas.height = this.canvas.height;\n var patternCtx = canvas.getContext(\"2d\");\n if (this.canvas._isRetinaScaling()) {\n var retinaScaling = this.canvas.getRetinaScaling();\n this.canvas.__initRetinaScaling(retinaScaling, canvas, patternCtx);\n }\n var backgroundImage = this.canvas.backgroundImage, bgErasable = backgroundImage && this._isErasable(backgroundImage), overlayImage = this.canvas.overlayImage, overlayErasable = overlayImage && this._isErasable(overlayImage);\n if (!this.inverted && (backgroundImage && !bgErasable || !!this.canvas.backgroundColor)) {\n if (bgErasable) {\n this.canvas.backgroundImage = undefined;\n }\n this.canvas._renderBackground(patternCtx);\n if (bgErasable) {\n this.canvas.backgroundImage = backgroundImage;\n }\n } else if (this.inverted && backgroundImage && bgErasable) {\n var color = this.canvas.backgroundColor;\n this.canvas.backgroundColor = undefined;\n this.canvas._renderBackground(patternCtx);\n this.canvas.backgroundColor = color;\n }\n patternCtx.save();\n patternCtx.transform.apply(patternCtx, this.canvas.viewportTransform);\n var restorationContext = {\n visibility: [],\n eraser: [],\n collection: []\n };\n this._prepareCollectionTraversal(this.canvas, patternCtx, restorationContext);\n this.canvas._renderObjects(patternCtx, this.canvas._objects);\n restorationContext.visibility.forEach(function(obj) {\n obj.visible = true;\n });\n restorationContext.eraser.forEach(function(obj) {\n obj.eraser.inverted = false;\n obj.dirty = true;\n });\n restorationContext.collection.forEach(function(obj) {\n obj.dirty = true;\n });\n patternCtx.restore();\n if (!this.inverted && (overlayImage && !overlayErasable || !!this.canvas.overlayColor)) {\n if (overlayErasable) {\n this.canvas.overlayImage = undefined;\n }\n __renderOverlay.call(this.canvas, patternCtx);\n if (overlayErasable) {\n this.canvas.overlayImage = overlayImage;\n }\n } else if (this.inverted && overlayImage && overlayErasable) {\n var color = this.canvas.overlayColor;\n this.canvas.overlayColor = undefined;\n __renderOverlay.call(this.canvas, patternCtx);\n this.canvas.overlayColor = color;\n }\n },\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n this.callSuper(\"_setBrushStyles\", ctx);\n ctx.strokeStyle = \"black\";\n },\n /**\n * **Customiztion**\n *\n * if you need the eraser to update on each render (i.e animating during erasing) override this method by **adding** the following (performance may suffer):\n * @example\n * ```\n * if(ctx === this.canvas.contextTop) {\n * this.preparePattern();\n * }\n * ```\n *\n * @override fabric.BaseBrush#_saveAndTransform\n * @param {CanvasRenderingContext2D} ctx\n */ _saveAndTransform: function(ctx) {\n this.callSuper(\"_saveAndTransform\", ctx);\n this._setBrushStyles(ctx);\n ctx.globalCompositeOperation = ctx === this.canvas.getContext() ? \"destination-out\" : \"source-over\";\n },\n /**\n * We indicate {@link fabric.PencilBrush} to repaint itself if necessary\n * @returns\n */ needsFullRender: function() {\n return true;\n },\n /**\n *\n * @param {fabric.Point} pointer\n * @param {fabric.IEvent} options\n * @returns\n */ onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n // prepare for erasing\n this.preparePattern();\n this._isErasing = true;\n this.canvas.fire(\"erasing:start\");\n this._render();\n },\n /**\n * Rendering Logic:\n * 1. Use brush to clip canvas by rendering it on top of canvas (unnecessary if `inverted === true`)\n * 2. Render brush with canvas pattern on top context\n *\n */ _render: function() {\n var ctx;\n if (!this.inverted) {\n // clip canvas\n ctx = this.canvas.getContext();\n this.callSuper(\"_render\", ctx);\n }\n // render brush and mask it with image of non erasables\n ctx = this.canvas.contextTop;\n this.canvas.clearContext(ctx);\n this.callSuper(\"_render\", ctx);\n ctx.save();\n var t = this.canvas.getRetinaScaling(), s = 1 / t;\n ctx.scale(s, s);\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(this._patternCanvas, 0, 0);\n ctx.restore();\n },\n /**\n * Creates fabric.Path object\n * @override\n * @private\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n * @returns\n */ createPath: function(pathData) {\n var path = this.callSuper(\"createPath\", pathData);\n path.globalCompositeOperation = this.inverted ? \"source-over\" : \"destination-out\";\n path.stroke = this.inverted ? \"white\" : \"black\";\n return path;\n },\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path in canvas coordinate plane\n * @param {fabric.Object} clipPath The clipPath to apply to the path\n * @param {number[]} clipPathContainerTransformMatrix The transform matrix of the object that the clip path belongs to\n * @returns {fabric.Path} path with clip path\n */ applyClipPathToPath: function(path, clipPath, clipPathContainerTransformMatrix) {\n var pathInvTransform = fabric.util.invertTransform(path.calcTransformMatrix()), clipPathTransform = clipPath.calcTransformMatrix(), transform = clipPath.absolutePositioned ? pathInvTransform : fabric.util.multiplyTransformMatrices(pathInvTransform, clipPathContainerTransformMatrix);\n // when passing down a clip path it becomes relative to the parent\n // so we transform it acoordingly and set `absolutePositioned` to false\n clipPath.absolutePositioned = false;\n fabric.util.applyTransformToObject(clipPath, fabric.util.multiplyTransformMatrices(transform, clipPathTransform));\n // We need to clip `path` with both `clipPath` and it's own clip path if existing (`path.clipPath`)\n // so in turn `path` erases an object only where it overlaps with all it's clip paths, regardless of how many there are.\n // this is done because both clip paths may have nested clip paths of their own (this method walks down a collection => this may reccur),\n // so we can't assign one to the other's clip path property.\n path.clipPath = path.clipPath ? fabric.util.mergeClipPaths(clipPath, path.clipPath) : clipPath;\n return path;\n },\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path\n * @param {fabric.Object} object The clipPath to apply to path belongs to object\n * @param {Function} callback Callback to be invoked with the cloned path after applying the clip path\n */ clonePathWithClipPath: function(path, object, callback) {\n var objTransform = object.calcTransformMatrix();\n var clipPath = object.clipPath;\n var _this = this;\n path.clone(function(_path) {\n clipPath.clone(function(_clipPath) {\n callback(_this.applyClipPathToPath(_path, _clipPath, objTransform));\n }, [\n \"absolutePositioned\",\n \"inverted\"\n ]);\n });\n },\n /**\n * Adds path to object's eraser, walks down object's descendants if necessary\n *\n * @fires erasing:end on object\n * @param {fabric.Object} obj\n * @param {fabric.Path} path\n */ _addPathToObjectEraser: function(obj, path) {\n var _this = this;\n // object is collection, i.e group\n if (obj.forEachObject && obj.erasable === \"deep\") {\n var targets = obj._objects.filter(function(_obj) {\n return _obj.erasable;\n });\n if (targets.length > 0 && obj.clipPath) {\n this.clonePathWithClipPath(path, obj, function(_path) {\n targets.forEach(function(_obj) {\n _this._addPathToObjectEraser(_obj, _path);\n });\n });\n } else if (targets.length > 0) {\n targets.forEach(function(_obj) {\n _this._addPathToObjectEraser(_obj, path);\n });\n }\n return;\n }\n // prepare eraser\n var eraser = obj.eraser;\n if (!eraser) {\n eraser = new fabric.Eraser();\n obj.eraser = eraser;\n }\n // clone and add path\n path.clone(function(path) {\n // http://fabricjs.com/using-transformations\n var desiredTransform = fabric.util.multiplyTransformMatrices(fabric.util.invertTransform(obj.calcTransformMatrix()), path.calcTransformMatrix());\n fabric.util.applyTransformToObject(path, desiredTransform);\n eraser.addWithUpdate(path);\n obj.set(\"dirty\", true);\n obj.fire(\"erasing:end\", {\n path: path\n });\n if (obj.group && Array.isArray(_this.__subTargets)) {\n _this.__subTargets.push(obj);\n }\n });\n },\n /**\n * Add the eraser path to canvas drawables' clip paths\n *\n * @param {fabric.Canvas} source\n * @param {fabric.Canvas} path\n * @returns {Object} canvas drawables that were erased by the path\n */ applyEraserToCanvas: function(path) {\n var canvas = this.canvas;\n var drawables = {};\n [\n \"backgroundImage\",\n \"overlayImage\"\n ].forEach(function(prop) {\n var drawable = canvas[prop];\n if (drawable && drawable.erasable) {\n this._addPathToObjectEraser(drawable, path);\n drawables[prop] = drawable;\n }\n }, this);\n return drawables;\n },\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to every intersected erasable object.\n */ _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop, canvas = this.canvas;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n // clear\n canvas.clearContext(canvas.contextTop);\n this._isErasing = false;\n var pathData = this._points && this._points.length > 1 ? this.convertPointsToSVGPath(this._points) : null;\n if (!pathData || this._isEmptySVGPath(pathData)) {\n canvas.fire(\"erasing:end\");\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n canvas.requestRenderAll();\n return;\n }\n var path = this.createPath(pathData);\n // needed for `intersectsWithObject`\n path.setCoords();\n // commense event sequence\n canvas.fire(\"before:path:created\", {\n path: path\n });\n // finalize erasing\n var drawables = this.applyEraserToCanvas(path);\n var _this = this;\n this.__subTargets = [];\n var targets = [];\n canvas.forEachObject(function(obj) {\n if (obj.erasable && obj.intersectsWithObject(path, true, true)) {\n _this._addPathToObjectEraser(obj, path);\n targets.push(obj);\n }\n });\n // fire erasing:end\n canvas.fire(\"erasing:end\", {\n path: path,\n targets: targets,\n subTargets: this.__subTargets,\n drawables: drawables\n });\n delete this.__subTargets;\n canvas.requestRenderAll();\n this._resetShadow();\n // fire event 'path' created\n canvas.fire(\"path:created\", {\n path: path\n });\n }\n });\n/** ERASER_END */ })();\n\n\n/***/ }),\n\n/***/ 6734:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ 6907:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ 4866:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [774,937,866,609,980,445,617,943,50,888,179], function() { return __webpack_exec__(8312); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","r","d","HomePage","jsx_runtime","head","head_default","n","react","CanvasContext","createContext","displayName","src_useCanvas","canvasId","_context_canvases_canvasId","context","useContext","canvases","ToolsContext","useTools","usePopper","es","index_esm","fa_index_esm","go_index_esm","gi_index_esm","io_index_esm","im_index_esm","CanvasTools","_canvas__objects_length_toLocaleString","nameInputRef","useRef","fileInputRef","fileTypeRef","activeCanvas","backgroundColor","setBackgroundColor","selectedObjects","lockedObjects","lockSelection","unlockSelection","bringForward","sendBackward","duplicate","deleteSelection","undo","redo","canUndo","canRedo","brushColor","setBrushColor","brushSize","setBrushSize","hueRotate","setHueRotate","saturation","setSaturation","brightness","setBrightness","layerMode","setLayerMode","activeCanvasType","addImages","exportSkin","canvas","isDrawingMode","setDrawingMode","isMac","setIsMac","useState","commandKeyPrefix","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","isBrushToolsOpen","setBrushToolsOpen","isFilterToolsOpen","setFilterToolsOpen","styles","attributes","D","modifiers","name","options","element","offset","isSelectionLocked","length","every","has","object","handleBackgroundColorChange","event","target","value","useEffect","navigator","platform","startsWith","userAgent","match","focus","jsxs","className","children","jsx","type","id","checked","onChange","htmlFor","Fragment","ref","imageUrl","Promise","resolve","reject","_event_target_files","inputFile","files","reader","FileReader","addEventListener","_event_target","result","readAsDataURL","accept","hidden","title","current","click","yAv","style","fontSize","undefined","isOpen","J76","popper","tabIndex","newFocusElement","relatedTarget","isFocusLeaving","currentTarget","contains","toLocaleString","_objects","Math","round","Z","min","max","startPoint","Array","isArray","trackStyle","height","background","handleStyle","width","marginTop","borderColor","opacity","railStyle","border","concat","arrow","onClick","D5B","kUi","KhA","O9L","xvH","disabled","AMf","UIL","rks","Pvc","VUP","display","placeholder","size","format","defaultValue","config","config_default","fabric","WarriorContext","useWarrior","createFabricImage","url","Image","fromURL","crossOrigin","comlink","Worker_fn","Worker","p","useImageWorker","workerRef","functionsRef","useMemo","getFunctions","combineColorAndAlphaImageUrls","_len","arguments","args","_key","functions","removeAlphaFromArrayBuffer","convertArrayBufferAlphaToGrayscale","convertGrayscaleImageUrlToMetallicRoughness","worker","Ud","Yy","terminate","useSettings","canvasPadding","basePath","imageUrlToArrayBuffer","response","fetch","ok","arrayBuffer","publicRuntimeConfig","materials","ToolsProvider","param","_materialDefs_selectedMaterialIndex","_materialDef_size","actualModel","selectedModelType","selectedMaterialIndex","setSelectedMaterialIndex","materialDefs","materialDef","textureSize","hasMetallic","metallicFactor","roughnessFactor","setActiveCanvasType","setLockedObjects","Set","filterMap","setFilterMap","Map","setSelectedObjects","metallicCanvasId","notifyChange","metallicCanvas","filterChanges","setFilterChanges","getFilter","_canvas__objects","_canvas__objects_slice","_filterMap_get","_name","applyObjects","slice","getValue","get","i","firstValue","applyObject","setFilter","useCallback","newFilterMap","existingFilters","newFilters","set","selectedObject","key","filters","_newFilters_key","filterValue","HueRotation","rotation","Saturation","Brightness","applyFilters","newLockedObjects","add","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockRotation","delete","getActiveObject","sendBackwards","imageUrls","lastAddedImage","image","widthRatio","heightRatio","scale","scaleX","scaleY","grayscaleFilter","Grayscale","centerObject","setActiveObject","_copy_top","_copy_left","copy","clone","top","left","evented","forEachObject","setCoords","discardActiveObject","objects","getActiveObjects","remove","requestRenderAll","savePngFile","saveZipFile","createZipFile","all","e","then","bind","trim","materialExports","filter","selectable","map","_canvases_","_canvases_1","_materialDef_file","outputImageUrl","filename","colorCanvas","colorImageUrl","toDataURL","metallicImageUrl","file","materialExport","data","zip","camelCaseName","replace","a","b","toUpperCase","zipFileName","handleSelectionUpdated","on","off","freeDrawingBrush","color","Provider","CanvasBackdrop","CanvasProvider","setCanvases","registerCanvas","canvasInfo","unregisterCanvas","rest","CanvasInteractions","nudge","_object_top","_object_left","onDrop","preventDefault","items","dataTransfer","images","from","item","kind","droppedImageFile","getAsFile","onload","Boolean","onKeyDown","nodeName","ctrlKey","metaKey","altKey","shiftKey","CanvasToggle","ai_index_esm","WarriorSelector_publicRuntimeConfig","defaultSkins","customSkins","modelDefaults","WarriorSelector_materials","WarriorSelector","_defaultSkins_actualModel","_customSkins_actualModel","_customSkins_actualModel1","selectedModel","setSelectedModel","setSelectedModelType","selectedSkin","setSelectedSkin","setSelectedSkinType","setSelectedAnimation","setSkinImageUrls","setAnimationPaused","_defaultSkins_newSelectedModel","_customSkins_newSelectedModel","_modelDefaults_newSelectedModel","parentNode","selectedOptions","newSelectedModel","modelType","dataset","newModelHasSkin","includes","label","_parentNode_dataset_skinType","skinType","FjK","WarriorProvider_publicRuntimeConfig","WarriorProvider_materials","WarriorProvider_modelDefaults","baseSkinPath","getSkinImageUrls","selectedSkinType","base","reduce","skinImageUrls","_materialDef_file1","_materialDef_file2","_materialDef_file3","hasDefault","WarriorProvider","selectedAnimation","animationPaused","selectedModelUrl","defaultSkinImageUrls","dynamic","dynamic_default","EnvironmentContext","useEnvironment","SkinContext","useSkin","useModelViewer","useTexture","material","textureType","modelViewer","stale","updateTexture","setAlphaMode","pbrMetallicRoughness","setBaseColorFactor","alphaMode","alphaCutoff","baseColorFactor","emissiveFactor","emissiveTexture","textureUrl","setAlphaCutoff","setEmissiveFactor","setMetallicFactor","setRoughnessFactor","texture","createTexture","setTexture","Material","_getSkinImages","getSkinImages","Materials_publicRuntimeConfig","Materials_materials","Materials","model","_materialDefs_find","find","index","ModelViewer","loadableGenerated","webpack","ssr","WarriorViewer_publicRuntimeConfig","cameraOverrides","WarriorViewer","_cameraOverrides_selectedModel","_cameraOverrides_selectedModel1","environmentImageUrl","showEnvironment","exposure","modelUrl","animationName","cameraOrbit","cameraTarget","fieldOfView","fov","EnvironmentSelector","selectedEnvironment","setSelectedEnvironment","EnvironmentExposure","setExposure","MXq","step","parseFloat","AnimationSelector_publicRuntimeConfig","animations","animationLabels","animationLabelOverrides","AnimationSelector","_animations_actualModel","animationList","global","_animationLabelOverrides_actualModel","_animationLabelOverrides_actualModel_animationName","v$e","IWN","EnvironmentProvider","setShowEnvironment","SkinProvider","materialSkins","setMaterialSkins","setters","setSkinImages","materialFile","skinImages","setColorImageUrl","setMetallicImageUrl","getColorImageUrl","getMetallicImageUrl","MaterialSelector_publicRuntimeConfig","MaterialSelector_materials","MaterialSelector","_materialDef_label","parseInt","Canvas","baseImageUrl","defaultDrawingMode","canvasElementRef","setCanvas","handleChangeRef","trackChanges","undoHistory","setUndoHistory","redoHistory","setRedoHistory","handleChange","restoreState","currentState","renderOnAddRemove","clear","loadFromJSON","renderAll","nextState","isActive","changeTimer","Object","prototype","transparentCorners","cornerSize","cornerStyle","cornerColor","cornerStrokeColor","strokeWidth","perPixelTargetFind","preserveObjectStacking","targetFindTolerance","isSnapshotting","handleChangeWithCanvasArg","handleRender","clearTimeout","setTimeout","snapshot","snapshotCanvas","history","toJSON","dispose","calcOffset","addImage","hoverCursor","moveCursor","expectedWidth","expectedHeight","ImageLoaderContext","useImageLoader","defaultTextureSize","ColorCanvas","skinImageUrl","defaultSkinImageUrl","noAlphaImageUrl","setNoAlphaImageUrl","loadImage","generateImageUrl","err","canvasType","MetallicCanvas_defaultTextureSize","MetallicCanvas","alphaImageUrl","setAlphaImageUrl","runningChangeHandlers","MaterialCanvases_publicRuntimeConfig","MaterialCanvases_materials","MaterialCanvases","QueryClientProvider","ImageLoaderProvider","queryClient","NL","fetchQuery","queryKey","imageFetcher","pages_queryClient","S","defaultOptions","queries","queryFn","staleTime","Infinity","cacheTime","refetchOnWindowFocus","refetchOnReconnect","aH","client","ModelViewerContext","react__WEBPACK_IMPORTED_MODULE_0__","exports","extend","toFixed","capitalize","degreesToRadians","objectCaching","sqrt","atan2","pow","PiBy180","PiBy2","couldUseAttachEvent","touchEvents","parseEl","supportsOpacity","supportsFilters","reOpacity","setOpacity","controls","originXOffset","originYOffset","util","multiplyMatrices","transformPoint","createClass","floor","abs","sin","ceil","__drawClipPath","_needsItsOwnCache","_toObject","__restoreObjectsState","__renderOverlay","Buffer","version","document","HTMLDocument","Document","implementation","createHTMLDocument","virtualWindow","jsdom","JSDOM","decodeURIComponent","features","FetchExternalResources","resources","jsdomImplForWrapper","implForWrapper","nodeCanvas","DOMParser","copyGLTo2DDrawImage","gl","pipelineState","glCanvas","targetCanvas","ctx","getContext","translate","sourceY","drawImage","copyGLTo2DPutImageData","dWidth","destinationWidth","dHeight","destinationHeight","numBytes","u8","Uint8Array","imageBuffer","u8Clamped","Uint8ClampedArray","readPixels","RGBA","UNSIGNED_BYTE","imgData","ImageData","putImageData","isTouchSupported","maxTouchPoints","isLikelyNode","DPI","reNum","commaWsp","rePathCommand","reNonWord","fontPaths","iMatrix","svgNS","perfLimitSizeTotal","maxCacheSideLimit","minCacheSideLimit","charWidthsCache","disableStyleCopyPaste","enableGLFiltering","devicePixelRatio","webkitDevicePixelRatio","mozDevicePixelRatio","browserShadowBlurConstant","arcToSegmentsCache","boundsOfCurveCache","cachesBoundsOfCurve","forceGLPutImageData","initFilterBackend","isWebglSupported","console","log","maxTextureSize","WebglFilterBackend","tileSize","Canvas2dFilterBackend","_removeEventListener","eventName","handler","__eventListeners","eventListener","indexOf","array","fill","_once","_handler","apply","Observable","fire","listenersForEvent","len","call","prop","once","Collection","_onObjectAdded","insertAt","nonSplicing","splice","somethingRemoved","_onObjectRemoved","callback","getObjects","o","isEmpty","deep","some","obj","complexity","memo","CommonMethods","_setOptions","_initGradient","filler","property","colorStops","Gradient","_initPattern","source","Pattern","_setObject","_set","toggle","PI","cos","angle","sign","removeFromArray","idx","getRandomInt","random","degrees","radiansToDegrees","radians","rotatePoint","point","origin","newPoint","Point","x","y","v","rotateVector","addEquals","vector","createVector","to","calcAngleBetweenVectors","acos","hypot","getHatVector","multiply","getBisector","A","B","C","AB","AC","alpha","ro","projectStrokeOnPoints","points","openPath","coords","s","strokeUniformScalar","strokeUniform","getStrokeHatVector","scalar","forEach","miterVector","bisector","bisectorVector","strokeLineJoin","strokeMiterLimit","subtract","SQRT2","t","ignoreOffset","makeBoundingBoxFromPoints","transform","xPoints","minX","maxX","yPoints","minY","maxY","invertTransform","number","fractionDigits","Number","parseUnit","unit","exec","Text","DEFAULT_SVG_FONT_SIZE","falseFunction","getKlass","namespace","string","camelize","charAt","resolveNamespace","getSvgAttributes","parts","split","img","createImage","onLoadCallback","onerror","src","substring","loadImageInDom","div","createElement","position","appendChild","querySelector","removeChild","enlivenObjects","reviver","enlivenedObjects","numLoadedObjects","numTotalObjects","onLoaded","fromObject","error","enlivenObjectEnlivables","enlivenProps","ENLIVEN_PROPS","enlivedProps","enlivenPatterns","patterns","numLoadedPatterns","numPatterns","enlivenedPatterns","pattern","groupSVGElements","elements","path","centerPoint","Group","sourcePath","populateWithProperties","destination","properties","createCanvasElement","copyCanvasElement","newCanvas","canvasEl","quality","multiplyTransformMatrices","is2x2","qrDecompose","denom","skewX","skewY","translateX","translateY","calcRotateMatrix","theta","calcDimensionsMatrix","scaleMatrix","flipX","flipY","tan","composeMatrix","matrix","resetObjectTransform","rotate","saveObjectTransform","isTransparent","tolerance","_isTransparent","imageData","getImageData","l","temp","parsePreserveAspectRatioAttribute","attribute","align","meetOrSlice","alignX","alignY","aspectRatioAttrs","pop","clearFabricFontCache","fontFamily","toLowerCase","limitDimsByArea","ar","maximumArea","roughWidth","capValue","findScaleToFit","findScaleToCover","matrixToSVG","NUM_FRACTION_DIGITS","join","removeTransformFromObject","inverted","finalTransform","calcOwnMatrix","applyTransformToObject","addTransformToObject","center","setPositionByOrigin","sizeAfterTransform","dimX","dimY","transformMatrix","bbox","mergeClipPaths","c1","c2","calcTransformMatrix","clipPath","hasStyleChanged","prevStyle","thisStyle","forTextSpans","stroke","fontWeight","fontStyle","deltaY","overline","underline","linethrough","stylesToArray","text","textLines","charIndex","stylesArray","c","start","end","stylesFromArray","styleIndex","stylesObject","assign","_join","commandLengths","m","h","q","repeatedCommands","M","calcVectorAngle","ux","uy","vx","vy","ta","tb","calcLineLength","x1","y1","x2","y2","pathIterator","iterator","perc","tempP","tmpLen","getPathSegmentsInfo","tempInfo","angleFinder","totalLength","info","command","getPointOnCubicBezierIterator","p1x","p1y","p2x","p2y","p3x","p3y","p4x","p4y","pct","c3","c4","getTangentCubicIterator","invT","getPointOnQuadraticBezierIterator","getTangentQuadraticIterator","destX","destY","joinPath","pathData","segment","parsePath","pathString","currentPath","parsed","coordsStr","re","rNumber","rNumberCommaWsp","rFlagCommaWsp","regArcArgumentSequence","coordsParsed","j","jlen","isNaN","commandLength","repeatedCommand","k","klen","makePathSimpler","converted","previous","controlX","controlY","destinationPath","fromArcToBeziers","fx","fy","rx","ry","rot","large","sweep","segsNorm","arcToSegments","toX","toY","rotateX","th","sinTh","cosTh","fromX","fromY","px","py","rx2","ry2","py2","px2","pl","root","cx","cy","cx1","cy1","mTheta","dtheta","segments","mDelta","mT","th3","segmentToBezier","th2","costh2","sinth2","costh3","sinth3","tx","ty","getSmoothPathFromPoints","correction","p1","p2","multSignX","multSignY","manyPoints","eq","midPoint","midPointFrom","getBoundsOfCurve","x0","y0","x3","y3","argsString","t1","t2","b2ac","sqrtb2ac","tvalues","bounds","mt","getPointOnPath","distance","infos","segInfo","segPercent","lerp","findPercentageForDistance","nextLen","lastPerc","nextStep","transformPath","pathOffset","pathSegment","newSegment","byProperty","condition","invoke","method","value1","value2","Element","hasOwnProperty","character","firstLetterOnly","escapeXml","graphemeSplit","textstring","chr","graphemes","getWholeChar","str","code","charCodeAt","next","prev","emptyFunction","IS_DONTENUM_BUGGY","toString","addMethods","klass","parent","superclass","constructor","returnValue","valueOf","Subclass","callSuper","methodName","parentMethod","_this","superClassMethod","initialize","shift","subclasses","attachEvent","addListener","removeListener","removeEventListener","getPointer","touchProp","scroll","getScrollLeftTop","_evt","changedTouches","clientX","clientY","isTouchEvent","pointerType","currentStyle","hasLayout","zoom","test","setStyle","elementStyle","cssText","normalizedProperty","styleFloat","setProperty","selectProp","getElementStyle","sliceCanConvertNodelists","_slice","toArray","arrayLike","childNodes","makeElement","tagName","el","setAttribute","docElement","documentElement","body","scrollLeft","scrollTop","host","nodeType","arr","defaultView","getComputedStyle","attr","makeElementUnselectable","onselectstart","unselectable","makeElementSelectable","setImageSmoothing","imageSmoothingEnabled","webkitImageSmoothingEnabled","mozImageSmoothingEnabled","msImageSmoothingEnabled","oImageSmoothingEnabled","getById","getElementById","addClass","wrapElement","wrapper","replaceChild","getElementOffset","docElem","scrollLeftTop","doc","ownerDocument","box","offsetAttributes","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","getNodeCanvas","impl","_canvas","_image","cleanUpJsdomNode","_currentSrc","_attributes","_classList","emptyFn","request","onComplete","xhr","XMLHttpRequest","parameters","onreadystatechange","readyState","open","setRequestHeader","send","warn","RUNNING_ANIMATIONS","noop","defaultEasing","cancelAll","animation","cancel","cancelByCanvas","cancelled","cancelByTarget","findAnimationsByTarget","findAnimationIndex","cancelFunc","findAnimation","_requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","_cancelAnimFrame","cancelAnimationFrame","requestAnimFrame","animate","removeFromRegistry","runningAnimations","currentValue","startValue","completionRate","durationRate","timestamp","time","Date","duration","finish","abort","easing","isMany","endValue","byValue","onStart","tick","ticktime","currentTime","timePerc","_value","valuePerc","cancelAnimFrame","calculateColor","begin","pos","animateColor","fromColor","toColor","startColor","Color","getSource","endColor","originalOnComplete","originalOnChange","colorEasing","that","scalarAdd","scalarAddEquals","subtractEquals","scalarSubtract","scalarSubtractEquals","multiplyEquals","divide","divideEquals","lt","lte","gt","gte","distanceFrom","dx","dy","setXY","setX","setY","setFromPoint","swap","Intersection","status","appendPoint","appendPoints","intersectLineLine","a1","a2","b1","b2","uaT","ubT","uB","ua","ub","intersectLinePolygon","inter","intersectPolygonPolygon","points1","points2","intersectPolygonRectangle","r1","r2","topRight","bottomLeft","inter1","inter2","inter3","inter4","_tryParsingColor","setSource","hue2rgb","colorNameMap","sourceFromHex","sourceFromRgb","sourceFromHsl","_rgbToHsl","g","_source","toRgb","toRgba","toHsl","hsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","average","currentAlpha","toBlackWhite","threshold","overlayWith","otherColor","otherSource","reRGBa","reHSLa","reHex","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","fromRgb","fromSource","fromRgba","fromHsl","fromHsla","fromHex","isShortNotation","isRGBa","oColor","scaleMap","skewMap","LEFT","RIGHT","BOTTOM","CENTER","opposite","bottom","right","findCornerQuadrant","fabricObject","control","cornerAngle","fireEvent","canvasOptions","scaleIsProportional","eventData","uniformIsToggled","uniScaleKey","uniformScaling","isTransformCentered","originX","originY","scalingIsForbidden","by","scaleProportionally","lockX","lockY","commonEventInfo","pointer","wrapWithFixedAnchor","actionHandler","getCenterPoint","constraint","translateToOriginPoint","actionPerformed","wrapWithFireEvent","getLocalPoint","corner","getZoom","padding","localPoint","toLocalPoint","offsetX","offsetY","targetHasOneFlip","compensateScaleForSkew","oppositeSkew","scaleToCompensate","axis","reference","newValue","_getTransformedDimensions","skewObjectX","newSkew","dimNoSkew","totalSkewSize","currentSkew","hasSkewed","dimBeforeSkewing","skewObjectY","scaleObject","dim","signX","signY","forbidScaling","gestureScale","lockScalingFlip","original","oldScaleX","oldScaleY","scaleCursorStyleHandler","skewCursorStyleHandler","lockSkewingY","lockSkewingX","scaleSkewCursorStyleHandler","altActionKey","rotationWithSnapping","pivotPoint","lastAngle","ey","ex","curAngle","hasRotated","snapAngle","snapThreshold","rightAngleLocked","leftAngleLocked","scalingEqually","scalingX","scalingY","scalingYOrSkewingX","skewHandlerX","scalingXOrSkewingY","skewHandlerY","changeWidth","strokePadding","multiplier","oldWidth","newWidth","localPointFromCenter","finalHandler","dragHandler","newLeft","newTop","moveX","moveY","scaleOrSkewActionName","isAlternative","rotationStyleHandler","cursorStyle","controlsUtils","renderCircleControl","styleOverride","xSize","sizeX","ySize","sizeY","myLeft","myTop","save","fillStyle","strokeStyle","lineWidth","beginPath","arc","restore","renderSquareControl","xSizeBy2","ySizeBy2","strokeRect","Control","visible","actionName","touchSizeX","touchSizeY","withConnection","mouseDownHandler","mouseUpHandler","getActionHandler","getMouseDownHandler","getMouseUpHandler","cursorStyleHandler","getActionName","getVisibility","controlKey","objectVisibility","_controlsVisibility","setVisibility","visibility","positionHandler","finalMatrix","calcCornerCoords","objectAngle","objectCornerSize","centerX","centerY","isTouch","cosHalfOffset","sinHalfOffset","cosHalfOffsetComp","sinHalfOffsetComp","controlTriangleAngle","cornerHypotenuse","newTheta","newThetaComp","tl","tr","bl","br","render","StaticCanvas","CANVAS_INIT_ERROR","renderAndResetBound","renderAndReset","requestRenderAllBound","_initStatic","backgroundImage","overlayColor","overlayImage","includeDefaultValues","stateful","controlsAboveOverlay","allowTouchScrolling","viewportTransform","backgroundVpt","overlayVpt","enableRetinaScaling","vptCoords","skipOffscreen","cb","_createLowerCanvas","_initOptions","interactive","_initRetinaScaling","setOverlayImage","setBackgroundImage","setOverlayColor","_isRetinaScaling","getRetinaScaling","scaleRatio","__initRetinaScaling","lowerCanvasEl","contextContainer","upperCanvasEl","contextTop","_offset","__setBgOverlayImage","__setBgOverlayColor","isError","instance","setOptions","_createCanvasElement","_originalCanvasStyle","_applyCanvasStyle","getWidth","getHeight","setWidth","setDimensions","setHeight","dimensions","cssValue","cssOnly","_setBackstoreDimension","hasLostContext","backstoreOnly","_setCssDimension","_isCurrentlyDrawing","_setBrushStyles","cacheCanvasEl","wrapperEl","setViewportTransform","vpt","activeObject","_activeObject","backgroundObject","overlayObject","group","calcViewportBoundaries","zoomToPoint","before","after","setZoom","absolutePan","relativePan","getElement","setupState","clearContext","clearRect","_hasITextHandlers","_mouseUpITextHandler","_iTextInstances","canvasToDrawOn","renderCanvas","isRendering","iVpt","cancelRequestedRender","_renderBackground","_renderObjects","drawControls","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","globalCompositeOperation","zoomX","zoomY","_cacheCanvas","cacheTranslationX","cacheTranslationY","_renderBackgroundOrOverlay","needsVpt","moveTo","lineTo","closePath","toLive","gradientTransform","patternTransform","getCenter","centerObjectH","_centerObject","centerObjectV","viewportCenterObject","vpCenter","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","propertiesToInclude","toDatalessObject","toObject","_toObjectMethod","_toObjects","excludeFromExport","__serializeBgOverlay","originalValue","bgImage","bgColor","overlay","sendToBack","objs","activeSelection","unshift","bringToFront","intersecting","newIdx","objsMoved","_findNewLowerIndex","intersectsWithObject","isContainedWithinObject","_findNewUpperIndex","classList","DataURLExporter","EMPTY_JSON","supports","setLineDash","createPNGStream","createJPEGStream","opts","BaseBrush","shadow","strokeLineCap","strokeDashArray","limitedToCanvasSize","lineCap","miterLimit","lineJoin","_saveAndTransform","_setShadow","shadowColor","shadowBlur","blur","shadowOffsetX","shadowOffsetY","needsFullRender","_resetShadow","_isOutSideCanvas","PencilBrush","decimate","drawStraightLine","straightLineKey","_points","_hasStraightLine","_drawSegment","quadraticCurveTo","onMouseDown","_isMainEvent","_prepareForDrawing","_captureDrawingPath","_render","onMouseMove","oldEnd","onMouseUp","_finalizeAndAddPath","_reset","_addPoint","pointerPoint","convertPointsToSVGPath","_isEmptySVGPath","createPath","Path","affectStroke","Shadow","decimatePoints","adjustedDistance","lastPoint","newPoints","CircleBrush","drawDot","addPoint","dot","radius","originalRenderOnAddRemove","circles","circle","Circle","circleRadius","circleColor","SprayBrush","density","dotWidth","dotWidthVariance","randomOpacity","optimizeOverlapping","sprayChunks","addSprayChunk","sprayChunkPoints","rects","ilen","sprayChunk","rect","Rect","_getOptimizedRects","uniqueRects","uniqueRectsArray","globalAlpha","fillRect","PatternBrush","getPatternSrc","patternCanvas","patternCtx","getPatternSrcFunction","String","getPattern","createPattern","topLeft","_getLeftTopCoords","_initInteractive","_createCacheCanvas","centeredScaling","centeredRotation","centeredKey","selection","selectionKey","altSelectionKey","selectionColor","selectionDashArray","selectionBorderColor","selectionLineWidth","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","containerClass","skipTargetFind","stopContextMenu","fireRightClick","fireMiddleClick","targets","enablePointerEvents","_hoveredTarget","_hoveredTargets","_currentTransform","_groupSelector","_initWrapperElement","_createUpperCanvas","_initEventListeners","_chooseObjectsToRender","objsToRender","activeGroupObjects","activeObjects","contextTopDirty","renderTopLayer","_drawSelection","renderTop","_normalizePointer","invertedM","vptPointer","restorePointerVpt","isTargetTransparent","normalizedPointer","targetRelativeX","targetRelativeY","_cacheContext","contextCache","originalColor","selectionBackgroundColor","_isSelectionKeyPressed","_shouldClearSelection","_shouldCenterTransform","action","centerTransform","_getOriginFromCorner","_getActionFromCorner","alreadySelected","_setupCurrentTransform","__corner","lastX","lastY","_beforeTransform","setCursor","cursor","selector","viewportStart","viewportExtent","extent","strokeOffset","_setLineDash","findTarget","skipGroup","activeTarget","activeTargetSubs","aObjects","shouldLookForActive","_findTargetCorner","_searchPossibleTargets","_checkTarget","globalPointer","containsPoint","isEditing","subTarget","objToCheck","pointerToUse","subTargetCheck","ignoreZoom","_absolutePointer","_pointer","cssScale","boundsWidth","boundsHeight","retinaScaling","lowerCanvasClass","_copyCanvasStyle","getTopContext","fromEl","toEl","getSelectionContext","getSelectionElement","active","_discardActiveObject","_fireSelectionEvents","oldObjects","somethingChanged","added","removed","oldObject","selected","deselected","currentActives","_setActiveObject","onSelect","onDeselect","removeListeners","_renderControls","originalProperties","_realizeGroupTransformOnObject","_unwindGroupTransformOnObject","originalValues","layoutProps","_setSVGObject","markup","clearContextTop","addEventOptions","passive","checkClick","button","mainTouchId","_bindEvents","addOrRemove","_getEventPrefix","functor","eventjsFunctor","canvasElement","eventTypePrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onDoubleClick","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","eventjs","_onGesture","_onDrag","_onOrientationChange","_onShake","_onLongPress","_onMouseUp","_onTouchEnd","eventsBound","_simpleEventHandler","__onTransformGesture","__onDrag","__onMouseWheel","_target","hiddenTextarea","__onOrientationChange","__onShake","__onLongPress","_fireEnterLeaveEvents","stopPropagation","_cacheTransformEventData","_handleEvent","_resetTransformEventData","getPointerId","evt","identifier","pointerId","isPrimary","touches","__onMouseDown","__onMouseUp","_willAddMouseDown","__onMouseMove","_shouldRender","groupSelector","shouldRender","isClick","_onMouseUpInDrawingMode","_finalizeCurrentTransform","targetWasActive","_maybeGroupObjects","activeOn","isMoving","originalControl","originalMouseUpHandler","_setCursorFromEvent","eventType","subTargets","absolutePointer","currentSubTargets","_scaling","hasStateChanged","_fire","_onMouseDownInDrawingMode","_onMouseMoveInDrawingMode","_previousPointer","shouldGroup","_shouldGroup","_handleGrouping","saveState","_transformObject","_fireOverOutEvents","fireSyntheticInOutEvents","oldTarget","evtOut","canvasEvtOut","evtIn","canvasEvtIn","_draggedoverTarget","inOpt","outOpt","targetChanged","previousTarget","nextTarget","reset","_performTransformAction","getCornerCursor","reverse","_updateActiveSelection","_createActiveSelection","currentActiveObjects","removeWithUpdate","addWithUpdate","_createGroup","groupObjects","isActiveLower","exitEditing","ActiveSelection","_groupSelectedObjects","aGroup","_collectObjects","currentObject","selectionX1Y1","selectionX2Y2","allowIntersect","intersectsWithRect","isContainedWithinRect","toCanvasElement","cropping","scaledWidth","scaledHeight","originalWidth","originalHeight","newZoom","vp","originalInteractive","originalRetina","originalContextTop","json","serialized","JSON","parse","_enlivenObjects","_setBgOverlay","enlivenedCanvasClip","__setupCanvas","loaded","cbIfLoaded","__setBgOverlay","enlivedObject","_toDataURL","_toDataURLWithMultiplier","toDataURLWithMultiplier","stringify","cloneWithoutData","backgroundImageOpacity","backgroundImageStretch","touchCornerSize","borderDashArray","cornerDashArray","fillRule","strokeDashOffset","borderOpacityWhenMoving","borderScaleFactor","minScaleLimit","hasControls","hasBorders","statefullCache","noScaleCache","dirty","paintFirst","stateProperties","cacheProperties","colorProperties","absolutePositioned","_cacheProperties","_updateCacheCanvas","_limitCacheSize","dims","limitedDims","capped","_getCacheCanvasDimensions","objectScale","getTotalObjectScaling","neededX","neededY","drawingWidth","drawingHeight","minCacheSize","dimensionsChanged","cacheWidth","cacheHeight","zoomChanged","shouldRedraw","additionalWidth","additionalHeight","shouldResizeCanvas","canvasWidth","canvasHeight","sizeGrowing","getHeightOfLine","setTransform","needFullTransform","_removeDefaultValues","getObjectScaling","retina","getObjectOpacity","isChanged","groupNeedsUpdate","_constrainScale","isOnACache","setOnGroup","getViewportTransform","isNotVisible","isOnScreen","_setupCompositeOperation","drawSelectionBackground","_setOpacity","drawCacheOnCanvas","_removeCacheCanvas","drawObject","propertySet","isCacheDirty","hasStroke","hasFill","needsItsOwnCache","ownCaching","willDrawShadow","drawClipPathOnCache","originalFill","originalStroke","_setClippingProperties","_drawClipPath","skipCanvas","_getNonTransformedDimensions","_removeShadow","_setStrokeStyles","decl","lineDashOffset","gradientUnits","_applyPatternForTransformedGradient","_applyPatternGradientTransform","_setFillStyles","dashArray","drawBorders","forActiveSelection","drawBordersInGroup","scaling","multX","multY","nonScaling","_renderPaintInOrder","_renderStroke","_renderFill","pCtx","pCanvas","_findCenterFromElement","_assignTransformMatrixProps","_removeTransformMatrix","preserveAspectRatioOptions","cropX","cropY","offsetLeft","offsetTop","objectForm","_fromObject","cloneAsImage","utils","origParams","originalGroup","originalShadow","withoutTransform","withoutShadow","boundingRect","getBoundingRect","shadowOffset","originalCanvas","isType","shouldCenterOrigin","_setOriginToCenter","_resetOrigin","centerH","viewportCenterH","centerV","viewportCenterV","viewportCenter","getLocalPointer","pClicked","objectLeftTop","createAccessors","extraParam","__uid","translateToGivenOrigin","fromOriginX","fromOriginY","toOriginX","toOriginY","translateToCenterPoint","leftTop","getPointByOrigin","adjustPosition","offsetFrom","offsetTo","hypotFull","getScaledWidth","xFull","yFull","_originalOriginX","_originalOriginY","originPoint","oCoords","aCoords","lineCoords","ownMatrixCache","matrixCache","_getCoords","absolute","calculate","calcACoords","calcLineCoords","getCoords","pointTL","pointBR","intersection","other","otherCoords","lines","_getImageLines","_findCrossPoints","_containsCenterOfCanvas","isPartiallyOnScreen","allPointsAreOutside","topline","rightline","bottomline","leftline","xi","iLine","xcount","lineKey","getScaledHeight","scaleToWidth","boundingRectFactor","scaleToHeight","cosP","sinP","cosPSinP","cosPMinusSinP","calcOCoords","rotateMatrix","_calcRotateMatrix","translateMatrix","_calcTranslateMatrix","startMatrix","_calculateCurrentDimensions","forEachControl","w","skipCorners","_setCornerCoords","transformMatrixKey","prefix","cache","tMatrix","noSkew","_finalizeDimensions","originalSet","saveProps","props","tmpObj","dashedPropertySet","keys","_isEqual","origValue","firstPass","forTouch","isControlVisible","touchCorner","fn","controlObject","wh","shouldStroke","setControlVisible","setControlsVisibility","FX_DURATION","fxCenterObjectH","callbacks","empty","fxCenterObjectV","fxRemove","_animate","skipCallbacks","propsToAnimate","out","propPair","propIsColor","_options","valueProgress","timeProgress","_initRxRy","isRounded","bezierCurveTo","Polyline","exactBoundingBox","_setPositionDimensions","_projectStrokeOnPoints","correctLeftTop","calcDim","_calcDimensions","correctSize","fromSVG","commonRender","_setPath","_renderPathCommands","subpathStartX","subpathStartY","aX","aY","pathUrl","loadSVGFromURL","useSetOnGroup","isAlreadyGrouped","_updateObjectsACoords","_calcBounds","_updateObjectsCoords","_updateObjectCoords","objectLeft","objectTop","nested","_restoreObjectsState","_includeDefaultValues","objsToObject","originalDefaults","_obj","ownCache","groupMatrix","destroy","toActiveSelection","ungroupOnCanvas","setObjectsCoords","onlyWidthHeight","iLen","jLen","_getBounds","minXY","maxXY","toGroup","newGroup","childrenOverride","srcFromAttribute","_lastScaleX","_lastScaleY","_filterScalingX","_filterScalingY","minimumScaleTrigger","cacheKey","imageSmoothing","_initElement","_element","setElement","removeTexture","_originalElement","_initConfig","resizeFilter","applyResizeFilters","backend","filterBackend","evictCachesForKey","getCrossOrigin","getOriginalSize","naturalWidth","naturalHeight","_stroke","filterObj","getSrc","hasCrop","filtered","getAttribute","setSrc","_setWidthHeight","minimumScale","elementToFilter","_filteredEl","sourceWidth","sourceHeight","isNeutralState","imgElement","_needsResize","elementToDraw","elWidth","elHeight","sX","sY","sW","sH","maxDestW","maxDestH","_resetWidthHeight","CSS_CANVAS","_initFilters","pAR","preserveAspectRatio","rWidth","rHeight","pWidth","pHeight","parsedAttributes","getSvgSrc","_object","resizeFilters","imgOptions","setupGLContext","captureGPUInfo","isSupported","getParameter","MAX_TEXTURE_SIZE","precisions","testPrecision","precision","fragmentShader","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","webGlPrecision","createWebGLCanvas","aPosition","Float32Array","chooseFastestCopyGLTo2DMethod","startTime","drawImageTime","canUseImageData","canMeasurePerf","performance","canUseArrayBuffer","ArrayBuffer","canUseUint8Clamped","copyGLTo2D","testContext","now","glOptions","premultipliedAlpha","depth","stencil","antialias","clearColor","cachedTexture","getCachedTexture","sourceTexture","targetTexture","originalTexture","passes","webgl","programCache","pass","tempFbo","createFramebuffer","bindFramebuffer","FRAMEBUFFER","applyTo","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","textureImageSource","texParameteri","TEXTURE_MAG_FILTER","NEAREST","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","texImage2D","uniqueId","gpuInfo","renderer","vendor","ext","getExtension","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","sourceElement","originalImageData","originalEl","BaseFilter","vertexSource","fragmentSource","createProgram","vertexShader","VERTEX_SHADER","getShaderInfoLog","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","attributeLocations","getAttributeLocations","uniformLocations","getUniformLocations","uStepW","getUniformLocation","uStepH","getAttribLocation","sendAttributeData","aPositionData","attributeLocation","buffer","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","main","mainParameter","_class","applyToWebGL","applyTo2d","retrieveShader","shader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","textureUnit","activeTexture","TEXTURE0","unbindAdditionalTexture","getMainParameter","setMainParameter","createHelpLayer","helpLayer","mainP","ColorMatrix","colorsOnly","uColorMatrix","uConstants","constants","uniformMatrix4fv","uniform4fv","uBrightness","Convolute","opaque","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","dstOff","scx","scy","srcOff","wt","weights","side","halfSide","sw","sh","output","createImageData","dst","alphaFac","uMatrix","uOpaque","uHalfSize","uSize","uniform1fv","lightness","luminosity","mode","uMode","uniform1i","Invert","invert","uInvert","Noise","noise","rand","uNoise","uSeed","Pixelate","blocksize","_i","_j","_iLen","_jLen","uBlocksize","RemoveColor","useAlpha","lowC","highC","uLow","uHigh","matrices","Brownie","Vintage","Kodachrome","Technicolor","Polaroid","Sepia","BlackWhite","BlendColor","screen","diff","lighten","darken","exclusion","tint","buildSource","tg","alpha1","uColor","BlendImage","mask","TEXTURE1","calculateMatrix","canvas1","blendData","blendImage","uTransformMatrix","uImage","uniformMatrix3fv","Resize","resizeType","lanczosLobes","uDelta","uTaps","uniform2fv","horizontal","taps","filterWindow","getFilterWindow","generateShader","tempScale","getTaps","lobeFunction","lanczosCreate","offsets","fragmentSourceTOP","dW","dH","lobes","xx","rcpScaleX","rcpScaleY","newData","oW","oH","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","tmpCanvas","doneW","doneH","stepW","stepH","dX","dY","srcData","destImg","destData","lanczos","ratioX","ratioY","rcpRatioX","rcpRatioY","range2X","range2Y","cacheLanc","icenter","process","u","weight","fX","fY","xDiff","yDiff","chnl","origPix","w4","pixels","destImage","destPixels","ratioW","ratioH","ratioWHalf","ratioHHalf","img2","data2","weightsAlpha","gxR","gxG","gxB","gxA","yy","w0","Contrast","contrast","contrastF","uContrast","adjust","uSaturation","Blur","aspectRatio","simpleBlur","canvas2","blurLayer1","blurLayer2","percent","ctx1","ctx2","newImageData","delta","chooseRightDelta","blurScale","Gamma","gamma","rInv","gInv","bInv","rVals","gVals","bVals","uGamma","uniform3fv","Composed","subFilters","rad","aThird","aThirdSqtSin","OneMinusCos","additionalProps","_dimensionAffectingProps","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","textAlign","lineHeight","superscript","baseline","subscript","textBackgroundColor","pathStartOffset","pathSide","pathAlign","_fontSizeFraction","_fontSizeMult","charSpacing","_measuringContext","direction","_styleProperties","__charBounds","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","__skipDimension","setPathInfo","initDimensions","segmentsInfo","getMeasuringContext","_splitText","newLines","_splitTextIntoLines","_textLines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","diffSpace","currentLineWidth","numberOfSpaces","accumulatedSpace","line","charBound","spaces","isEndOfWrapping","getLineWidth","kernedWidth","lineIndex","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderText","_renderTextStroke","_renderTextFill","charStyle","forMeasuring","textBaseline","font","_getFontDeclaration","maxWidth","_renderTextLine","_renderChars","styleHas","heightOfLine","lineLeftOffset","lastColor","charBox","currentColor","drawStart","leftOffset","_getLeftOffset","lineTopOffset","_getTopOffset","boxStart","boxWidth","_getLineLeftOffset","getValueOfPropertyAt","renderLeft","getFontCache","cacheProp","_measureChar","_char","previousChar","prevCharStyle","coupleWidth","previousWidth","fontCache","fontDeclaration","previousFontDeclaration","couple","stylesAreEqual","fontMultiplier","measureText","getHeightOfChar","measureLine","lineInfo","_measureLine","_getWidthOfCharSpacing","grapheme","prevGrapheme","graphemeInfo","startingPoint","totalPathLength","lineBounds","positionInPath","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","centerPosition","skipLeft","getCompleteStyleDeclaration","previousBox","__lineHeights","maxHeight","_renderTextCommon","lineHeights","isEmptyStyles","actualStyle","nextStyle","timeToRender","drawingLeft","isJustify","charsToRender","shortCut","isLtr","currentDirection","_renderChar","_applyPatternGradientTransformText","handleFiller","fillOffsets","strokeOffsets","_getStyleDeclaration","fullDecl","shouldFill","fillText","strokeText","setSuperscript","_setScript","setSubscript","schema","loc","get2DCursorLocation","setSelectionStyles","lineDiff","__lineWidths","_shouldClearDimensionCache","shouldClear","_forceClearCache","_size","_dy","lastDecoration","currentDecoration","currentFill","lastFill","topOffset","styleObject","family","fontIsGeneric","genericFonts","newLine","newText","allProperties","needsDims","isAddingPath","objectCopy","textInstance","pathInstance","p3","cleanStyle","letterCount","stylePropertyValue","stylesCount","allStyleObjectPropertiesMatch","graphemeCount","stylePropertyHasBeenSet","removeStyle","lineNum","charNum","_extendStyles","_getLineStyle","_setLineStyle","_setStyleDeclaration","selectionStart","skipWrapping","getSelectionStyles","startIndex","endIndex","complete","selectionEnd","getStyleAtPosition","lineStyle","_deleteStyleDeclaration","_deleteLineStyle","scaleSkewStyleHandler","scaleStyleHandler","objectControls","ml","mr","mb","mtr","Textbox","textBoxControls","getSvgCommons","_createBaseClipPathSVGMarkup","_createBaseSVGMarkup","erasable","eraser","_addEraserPathToObjects","EraserBrush","_addPathToObjectEraser","applyEraserToObjects","originalTransform","_clipPath","eraserPath","applyClipPathToPath","Eraser","isErasing","_isErasing","_isErasable","_prepareCollectionTraversal","collection","restorationContext","preparePattern","_patternCanvas","bgErasable","overlayErasable","clipPathContainerTransformMatrix","pathInvTransform","clipPathTransform","clonePathWithClipPath","objTransform","_path","desiredTransform","__subTargets","applyEraserToCanvas","drawables","drawable","O","_N_E"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-617009baca527a4e.js b/docs/_next/static/chunks/pages/index-617009baca527a4e.js deleted file mode 100644 index 4de1275..0000000 --- a/docs/_next/static/chunks/pages/index-617009baca527a4e.js +++ /dev/null @@ -1,2 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[405],{8312:function(t,e,i){(window.__NEXT_P=window.__NEXT_P||[]).push(["/",function(){return i(1374)}])},1374:function(t,e,i){"use strict";i.r(e),i.d(e,{default:function(){return tY}});var r=i(5893),n=i(9008),o=i.n(n),a=i(7294);let s=a.createContext(null);s.displayName="CanvasContext";var l=function(t){var e;let i=(0,a.useContext)(s);if(!i)throw Error("No CanvasContext.Provider");return void 0===t?i:null==t?{}:null!==(e=i.canvases[t])&&void 0!==e?e:{}};let c=a.createContext(null);function h(){let t=(0,a.useContext)(c);if(!t)throw Error("No ToolsContext.Provider");return t}c.displayName="ToolsContext";var u=i(5237),f=i(6863),d=i(9352),g=i(9583),p=i(6653),v=i(2585),m=i(1649),y=i(3990);function b(){var t;let e=(0,a.useRef)(null),i=(0,a.useRef)(null),n=(0,a.useRef)(null),{activeCanvas:o,backgroundColor:s,setBackgroundColor:c,selectedObjects:b,lockedObjects:_,lockSelection:x,unlockSelection:C,bringForward:w,sendBackward:S,duplicate:T,deleteSelection:O,undo:j,redo:k,canUndo:P,canRedo:F,brushColor:E,setBrushColor:D,brushSize:M,setBrushSize:A,hueRotate:L,setHueRotate:I,saturation:R,setSaturation:B,brightness:X,setBrightness:Y,layerMode:z,setLayerMode:W,activeCanvasType:U,addImages:H,exportSkin:N}=h(),{canvas:V,isDrawingMode:G,setDrawingMode:q}=l(o),[K,J]=(0,a.useState)(!1),Z=K?"⌘":"Ctrl ",[$,Q]=(0,a.useState)(null),[tt,te]=(0,a.useState)(null),[ti,tr]=(0,a.useState)(null),[tn,to]=(0,a.useState)(!1),[ta,ts]=(0,a.useState)(!1),{styles:tl,attributes:tc}=(0,u.D)($,tt,{modifiers:[{name:"arrow",options:{element:ti}},{name:"offset",options:{offset:[0,10]}}]}),th=!!b.length&&b.every(t=>_.has(t)),tu=t=>{c(t.target.value)};return(0,a.useEffect)(()=>{navigator.platform&&navigator.platform.startsWith("Mac")?J(!0):navigator.userAgent.match(/\(Macintosh;/)&&J(!0)},[]),(0,a.useEffect)(()=>{tt&&tt.focus()},[tt]),(0,r.jsxs)("div",{className:"CanvasTools",children:[(0,r.jsxs)("div",{className:"CanvasBackgroundColor",children:[(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorBlack",value:"black",checked:"black"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorBlack",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"Black"})}),(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorMagenta",value:"magenta",checked:"magenta"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorMagenta",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"Magenta"})}),(0,r.jsx)("input",{className:"ColorSwatch",type:"radio",name:"backgroundColor",id:"canvasBackgroundColorWhite",value:"white",checked:"white"===s,onChange:tu}),(0,r.jsx)("label",{htmlFor:"canvasBackgroundColorWhite",children:(0,r.jsx)("span",{className:"HiddenLabel",children:"White"})})]}),(0,r.jsxs)("div",{className:"Buttons",children:["color"===U?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("input",{ref:i,async onChange(t){let e=await new Promise((e,i)=>{var r;let n=null===(r=t.target.files)||void 0===r?void 0:r[0];if(n){let o=new FileReader;o.addEventListener("load",t=>{var i;e(null===(i=t.target)||void 0===i?void 0:i.result)}),o.readAsDataURL(n)}else i(Error("No input file provided."))});H([e])},type:"file",accept:".png, image/png",hidden:!0}),(0,r.jsx)("button",{type:"button","aria-label":"Add Image",title:"Add Image",onClick(){i.current&&i.current.click()},children:(0,r.jsx)(y.yAv,{style:{fontSize:14}})}),(0,r.jsx)("button",{type:"button",ref:Q,"data-active":ta?"":void 0,"aria-label":"Filters",title:"Filters",onClick(){ts(t=>!t)},children:(0,r.jsx)(y.J76,{})}),ta?(0,r.jsxs)("div",{className:"BrushToolsPopup",ref:te,style:tl.popper,tabIndex:-1,onBlur(t){let e=t.relatedTarget,i=!e||!t.currentTarget.contains(e);i&&ts(!1)},...tc.popper,children:[(0,r.jsxs)("div",{className:"Fields",children:[(0,r.jsxs)("div",{className:"Field ApplyTo",children:[(0,r.jsx)("label",{children:"Layer:"}),(0,r.jsx)("ul",{children:b.length?(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"SelectedLayer",id:"FilterLayer-SelectedLayer",checked:"SelectedLayer"===z,onChange(){W("SelectedLayer")}}),(0,r.jsxs)("label",{htmlFor:"FilterLayer-SelectedLayer",children:["selected (",b.length.toLocaleString(),")"]})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"BaseLayer",id:"FilterLayer-BaseLayer",checked:"BaseLayer"===z,onChange(){W("BaseLayer")}})," ",(0,r.jsx)("label",{htmlFor:"FilterLayer-BaseLayer",children:"base"})]}),(0,r.jsxs)("li",{children:[(0,r.jsx)("input",{type:"radio",name:"FilterLayer",value:"AllLayers",id:"FilterLayer-AllLayers",checked:"AllLayers"===z,onChange(){W("AllLayers")}}),(0,r.jsxs)("label",{htmlFor:"FilterLayer-AllLayers",children:["all (",null!==(t=null==V?void 0:V._objects.length.toLocaleString())&&void 0!==t?t:0,")"]})]})]})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Hue:"," ",(0,r.jsx)("strong",{children:null==L?"MULTIPLE VALUES":(0,r.jsxs)(r.Fragment,{children:[Math.round(180*L),"\xb0"]})})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-180,max:180,startPoint:0,value:Math.round((null!=L?L:0)*180),onChange(t){Array.isArray(t)&&(t=t[0]),I(t/180)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Saturation:"," ",(0,r.jsx)("strong",{children:null==R?"MULTIPLE VALUES":"".concat(Math.round(100*R+100),"%")})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-100,max:100,startPoint:0,value:Math.round((null!=R?R:0)*100),onChange(t){Array.isArray(t)&&(t=t[0]),B(t/100)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsxs)("label",{children:["Brightness:"," ",(0,r.jsx)("strong",{children:null==X?"MULTIPLE VALUES":"".concat(Math.round(100*X+100),"%")})]}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:-100,max:100,startPoint:0,value:Math.round((null!=X?X:0)*100),onChange(t){Array.isArray(t)&&(t=t[0]),Y(t/100)},trackStyle:{height:8,background:"#03fccf"},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]})]}),(0,r.jsx)("div",{className:"PopupArrow",ref:tr,style:tl.arrow})]}):null,(0,r.jsx)("button",{type:"button","aria-label":th?"Unlock":"Lock",title:th?"Unlock (L)":"Lock (L)",onClick:th?C:x,"data-locked":th?"":void 0,children:th?(0,r.jsx)(g.D5B,{style:{fontSize:14}}):(0,r.jsx)(g.kUi,{style:{fontSize:14}})}),(0,r.jsx)("button",{type:"button","aria-label":"Bring Forward",title:"Bring Forward (F)",onClick:w,children:(0,r.jsx)(p.KhA,{style:{fontSize:22}})}),(0,r.jsx)("button",{type:"button","aria-label":"Send Backward",title:"Send Backward (B)",onClick:S,children:(0,r.jsx)(p.O9L,{style:{fontSize:22}})}),(0,r.jsx)("button",{type:"button","aria-label":"Duplicate",title:"Duplicate (D)",onClick:T,children:(0,r.jsx)(d.xvH,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Delete",title:"Delete (Backspace)",onClick:O,disabled:th,children:(0,r.jsx)(g.AMf,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Undo",title:"Undo (".concat(Z,"Z)"),onClick:j,disabled:!P,children:(0,r.jsx)(y.UIL,{})}),(0,r.jsx)("button",{type:"button","aria-label":"Redo",title:"Redo (".concat(K?"".concat("⇧").concat(Z,"Z)"):"".concat(Z," Y"),")"),onClick:k,disabled:!F,children:(0,r.jsx)(y.rks,{})})]}):null,"metallic"===U?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{type:"button","data-active":G?void 0:"","aria-label":"Select",title:"Select (S)",onClick(){q(!1)},children:(0,r.jsx)(v.Pvc,{})}),(0,r.jsx)("button",{type:"button",ref:Q,"data-active":G?"":void 0,"aria-label":"Paint",title:"Paint (P)",onClick(){q(!0),to(t=>!t)},children:(0,r.jsx)(m.VUP,{})}),tn?(0,r.jsxs)("div",{className:"BrushToolsPopup",ref:te,style:tl.popper,tabIndex:-1,onBlur(t){let e=t.relatedTarget,i=!e||!t.currentTarget.contains(e);i&&to(!1)},...tc.popper,children:[(0,r.jsxs)("div",{className:"Fields",children:[(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{children:"Metallic Amount"}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:0,max:255,trackStyle:{display:"none"},value:E,onChange(t){Array.isArray(t)&&(t=t[0]),D(t)},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"rgb(20, 105, 241)",background:"rgb(".concat(E,", ").concat(E,", ").concat(E,")"),opacity:1},railStyle:{height:8,border:"1px solid #555",background:"linear-gradient(to right, black 0%, white 100%)"}})})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{children:"Brush Size"}),(0,r.jsx)("div",{className:"SliderContainer",children:(0,r.jsx)(f.Z,{min:1,max:50,trackStyle:{height:8,background:"#03fccf"},value:M,onChange(t){Array.isArray(t)&&(t=t[0]),A(t)},handleStyle:{width:20,height:20,marginTop:-6,borderColor:"#03fccf",background:"rgb(5, 69, 76)",opacity:1},railStyle:{height:8,border:"1px solid #555",background:"rgba(255, 255, 255, 0.3)"}})})]})]}),(0,r.jsx)("div",{className:"PopupArrow",ref:tr,style:tl.arrow})]}):null]}):null]}),(0,r.jsxs)("div",{className:"Export",children:[(0,r.jsx)("input",{ref:e,type:"text",name:"CustomSkinName",placeholder:"Skin Name",size:12}),(0,r.jsx)("button",{type:"button",onClick(){let t=e.current?e.current.value:"",i=n.current?n.current.value:".png";N({name:t,format:i})},children:"Export"}),(0,r.jsxs)("select",{ref:n,defaultValue:"vl2",children:[(0,r.jsx)("option",{value:"png",children:".png"}),(0,r.jsx)("option",{value:"vl2",children:".vl2"})]})]})]})}var _=i(1752),x=i.n(_),C=i(6287);let w=a.createContext(null);function S(){let t=(0,a.useContext)(w);if(!t)throw Error("No WarriorContext.Provider");return t}function T(t){return new Promise(e=>C.fabric.Image.fromURL(t,e,{crossOrigin:"anonymous"}))}w.displayName="WarriorContext";var O=i(4375);function j(){return new Worker(i.p+"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js")}function k(){let t=(0,a.useRef)(null),e=(0,a.useRef)(null),i=(0,a.useMemo)(()=>{let t=()=>e.current;return{async combineColorAndAlphaImageUrls(){for(var e=arguments.length,i=Array(e),r=0;r{let i=new j,r=O.Ud(i);return t.current=i,e.current=r,()=>{r[O.Yy](),i.terminate()}},[]),i}function P(){return{canvasPadding:64,basePath:"/t2-model-skinner"}}async function F(t){let e=await fetch(t);if(e.ok){let i=await e.arrayBuffer();return i}throw Error("Failed to load image URL: ".concat(t))}i(7113),i(31);let{publicRuntimeConfig:E}=x()(),{materials:D}=E;function M(t){var e,n;let{children:o}=t,{actualModel:s,selectedModelType:h}=S(),[u,f]=(0,a.useState)(0),d=D[s],g=null!==(e=d[u])&&void 0!==e?e:null,p=(0,a.useMemo)(()=>null!==(n=g.size)&&void 0!==n?n:[512,512],[g]),v=!(0===g.metallicFactor&&1===g.roughnessFactor),[m,y]=(0,a.useState)("color");v||"metallic"!==m||y("color");let[b,_]=(0,a.useState)("magenta"),[x,w]=(0,a.useState)(()=>new Set),[O,j]=(0,a.useState)(200),[E,M]=(0,a.useState)(10),[A,L]=(0,a.useState)(()=>new Map),[I,R]=(0,a.useState)(()=>[]),B=g?"".concat(g.name,":").concat(m):null,X=g?"".concat(g.name,":metallic"):null,{canvases:Y}=l(),{canvas:z,notifyChange:W,undo:U,redo:H,canUndo:N,canRedo:V}=l(B),{canvas:G}=l(X),[q,K]=(0,a.useState)(!1),{combineColorAndAlphaImageUrls:J}=k(),{canvasPadding:Z}=P(),[$,Q]=(0,a.useState)(()=>[]),[tt,te]=(0,a.useState)("BaseLayer");I.length?"SelectedLayer"!==tt&&te("SelectedLayer"):"SelectedLayer"===tt&&te("BaseLayer");let ti=t=>{var e,i,r,n;let o=I;if("AllLayers"===tt?o=null!==(e=null==z?void 0:z._objects)&&void 0!==e?e:[]:"BaseLayer"===tt&&(o=null!==(i=null==z?void 0:z._objects.slice(0,1))&&void 0!==i?i:[]),!o.length)return 0;{let a=e=>null!==(n=(null!==(r=A.get(o[e]))&&void 0!==r?r:{})[t])&&void 0!==n?n:0,s=a(0);return o.slice(1).every((t,e)=>a(e+1)===s)?s:null}},tr=ti("HueRotation"),tn=ti("Saturation"),to=ti("Brightness"),ta=(0,a.useCallback)((t,e)=>{var i,r,n;let o=[],a=new Map(A),s=I;for(let l of("AllLayers"===tt?s=null!==(i=null==z?void 0:z._objects)&&void 0!==i?i:[]:"BaseLayer"===tt&&(s=null!==(r=null==z?void 0:z._objects.slice(0,1))&&void 0!==r?r:[]),s)){let c=null!==(n=A.get(l))&&void 0!==n?n:{},h={...c,[t]:e};a.set(l,h),o.push([l,h])}L(a),Q(o)},[z,tt,A,I]),ts=(0,a.useCallback)(t=>ta("HueRotation",t),[ta]),tl=(0,a.useCallback)(t=>ta("Saturation",t),[ta]),tc=(0,a.useCallback)(t=>ta("Brightness",t),[ta]);(0,a.useEffect)(()=>{if($.length){for(let[t,e]of $)if(t instanceof C.fabric.Image){for(let i in t.filters=[],e){var r;let n=null!==(r=e[i])&&void 0!==r?r:0;if(0!==n)switch(i){case"HueRotation":t.filters.push(new C.fabric.Image.filters.HueRotation({rotation:n}));break;case"Saturation":t.filters.push(new C.fabric.Image.filters.Saturation({saturation:n}));break;case"Brightness":t.filters.push(new C.fabric.Image.filters.Brightness({brightness:n}))}}t.applyFilters()}Q([]),W&&W()}},[$,W]);let th=(0,a.useCallback)(()=>{I.length&&w(t=>{let e=new Set(t);for(let i of I){var r;e.add(i),(r=i).lockMovementX=!0,r.lockMovementY=!0,r.lockScalingX=!0,r.lockScalingY=!0,r.lockRotation=!0}return e})},[I]),tu=(0,a.useCallback)(()=>{I.length&&w(t=>{let e=new Set(t);for(let i of I){var r;e.delete(i),(r=i).lockMovementX=!1,r.lockMovementY=!1,r.lockScalingX=!1,r.lockScalingY=!1,r.lockRotation=!1}return e})},[I]),tf=(0,a.useCallback)(async()=>{let t=z.getActiveObject();t&&(z.bringForward(t,!0),W())},[z,W]),td=(0,a.useCallback)(async()=>{let t=z.getActiveObject();if(t){if(z._objects[0]===t||z._objects[1]===t)return;z.sendBackwards(t,!0),W()}},[z,W]),tg=(0,a.useCallback)(async t=>{let e;for(let i of t){let r=await T(i);if(!r.width||!r.height)throw Error("Zero-height image");let n=r.width/p[0],o=r.height/p[1];if(n>1||o>1){let a;a=n>o?1/n:1/o,r.scaleX=a,r.scaleY=a}if("metallic"===m){r.filters||(r.filters=[]);let s=new C.fabric.Image.filters.Grayscale;r.filters.push(s),r.applyFilters()}K(!1),z.centerObject(r),z.add(r),e=r}e&&z.setActiveObject(e)},[z,m,p]),tp=(0,a.useCallback)(async()=>{let t=z.getActiveObject();if(t){var e,i;let r=await new Promise(e=>t.clone(e));r.set({top:(null!==(e=r.top)&&void 0!==e?e:0)+20,left:(null!==(i=r.left)&&void 0!==i?i:0)+20,evented:!0}),"activeSelection"===r.type&&(r.canvas=z,r.forEachObject(t=>{z.add(t)}),r.setCoords()),z.discardActiveObject(),z.add(r),z.setActiveObject(r)}},[z]),tv=(0,a.useCallback)(async()=>{let t=z.getActiveObjects();z.discardActiveObject(),z.remove(...t),z.requestRenderAll()},[z]),tm=(0,a.useCallback)(async t=>{let{format:e,name:r=""}=t,{savePngFile:n,saveZipFile:o,createZipFile:a}=await Promise.all([i.e(354),i.e(70)]).then(i.bind(i,8070));r=r.trim()||"MyCustomSkin";let l=await Promise.all(d.filter(t=>t&&!t.hidden&&!1!==t.selectable).map(async t=>{var e,i,n,o;let a,l;let c=null===(e=Y["".concat(t.name,":color")])||void 0===e?void 0:e.canvas,u=null===(i=Y["".concat(t.name,":metallic")])||void 0===i?void 0:i.canvas,f=null!==(n=t.size)&&void 0!==n?n:[512,512],d=c.toDataURL({top:Z,left:Z,width:f[0],height:f[1]});if(u){let g=u.toDataURL({top:Z,left:Z,width:f[0],height:f[1]});a=await J({colorImageUrl:d,metallicImageUrl:g})}else a=d;switch(h){case"player":l="".concat(r,".").concat(s,".png");break;case"weapon":case"vehicle":l=t?"".concat(null!==(o=t.file)&&void 0!==o?o:t.name,".png"):"weapon"===h?"weapon_".concat(s,".png"):"".concat(s,".png")}return{imageUrl:a,filename:l}}));switch(e){case"png":{let{imageUrl:c,filename:f}=l[u];n(c,f);break}case"vl2":{let g=await Promise.all(l.map(async t=>({data:await F(t.imageUrl),name:t.filename}))),p=a(g),v=s.replace(/(?:^([a-z])|_([a-z]))/g,(t,e,i)=>(e||i).toUpperCase()),m="";switch(h){case"player":m="zPlayerSkin-".concat(r,".vl2");break;case"weapon":m="zWeapon".concat(v,"-").concat(r,".vl2");break;case"vehicle":m="z".concat(v,"-").concat(r,".vl2")}await o(p,m)}}},[s,Z,Y,J,d,u,h]),ty=(0,a.useMemo)(()=>({activeCanvas:B,activeCanvasType:m,setActiveCanvasType:y,backgroundColor:b,setBackgroundColor:_,lockedObjects:x,setLockedObjects:w,brushColor:O,setBrushColor:j,brushSize:E,setBrushSize:M,hueRotate:tr,setHueRotate:ts,saturation:tn,setSaturation:tl,brightness:to,setBrightness:tc,layerMode:tt,setLayerMode:te,selectedObjects:I,lockSelection:th,unlockSelection:tu,bringForward:tf,sendBackward:td,addImages:tg,duplicate:tp,deleteSelection:tv,undo:U,redo:H,canUndo:N,canRedo:V,exportSkin:tm,isDrawingMode:q,setDrawingMode:K,selectedMaterialIndex:u,setSelectedMaterialIndex:f,textureSize:p,hasMetallic:v}),[B,m,b,x,O,E,tr,tn,to,tt,ts,tl,tc,I,th,tu,tf,td,tg,tp,tv,U,H,N,V,tm,q,u,p,v]);return(0,a.useEffect)(()=>{if(z){let t=()=>{R(z.getActiveObjects())};return z.on("selection:cleared",t),z.on("selection:updated",t),z.on("selection:created",t),t(),()=>{z.off("selection:cleared",t),z.off("selection:updated",t),z.off("selection:created",t)}}},[z]),(0,a.useEffect)(()=>{G&&(G.freeDrawingBrush.width=E)},[G,E]),(0,a.useEffect)(()=>{G&&(G.freeDrawingBrush.color="rgb(".concat(O,", ").concat(O,", ").concat(O,")"))},[G,O]),(0,r.jsx)(c.Provider,{value:ty,children:o})}function A(){let{backgroundColor:t,textureSize:e}=h(),{canvasPadding:i}=P();return e?(0,r.jsx)("div",{className:"CanvasBackdrop",style:{backgroundColor:t,top:i,width:e[0],height:e[1]}}):null}function L(t){let{children:e}=t,[i,n]=(0,a.useState)({}),o=(0,a.useCallback)((t,e)=>{n(i=>({...i,[t]:e}))},[]),l=(0,a.useCallback)(t=>{n(e=>{let{[t]:i,...r}=e;return r})},[]),c=(0,a.useMemo)(()=>({canvases:i,registerCanvas:o,unregisterCanvas:l}),[i,o,l]);return(0,r.jsx)(s.Provider,{value:c,children:e})}function I(t){let{children:e}=t,i=(0,a.useRef)(null),{activeCanvas:n,bringForward:o,sendBackward:s,duplicate:c,deleteSelection:u,addImages:f,undo:d,redo:g}=h(),{canvas:p,notifyChange:v,setDrawingMode:m}=l(n),y=async function(){let{top:t=0,left:e=0}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=p.getActiveObjects();for(let r of i){var n,o;r.top=(null!==(n=r.top)&&void 0!==n?n:0)+t,r.left=(null!==(o=r.left)&&void 0!==o?o:0)+e}v()};return(0,r.jsx)("div",{className:"CanvasInteractions",tabIndex:0,ref:i,async onDrop(t){t.preventDefault(),i.current&&i.current.focus();let{items:e}=t.dataTransfer,r=Array.from(e).filter(t=>"file"===t.kind&&t.type.match(/^image\//)),n=await Promise.all(r.map(async t=>{let e=t.getAsFile();if(!e)throw Error("Not a file.");let i=new FileReader,r=await new Promise((t,r)=>{i.onload=async e=>{e.target&&"string"==typeof e.target.result?t(e.target.result):r(Error("Failed to load image data."))},i.readAsDataURL(e)});return r}).filter(Boolean));await f(n)},async onKeyDown(t){let e=t.target;if("INPUT"!==e.nodeName&&"TEXTAREA"!==e.nodeName){if(t.ctrlKey||t.metaKey)switch(t.key){case"z":if(t.altKey)return;if(t.shiftKey){t.preventDefault(),g();return}t.preventDefault(),d();return;case"y":if(t.altKey||t.shiftKey)return;t.preventDefault(),g();return}if(!t.altKey&&!t.ctrlKey&&!t.metaKey&&!t.shiftKey)switch(t.key){case"Backspace":case"Delete":t.preventDefault(),await u();break;case"ArrowLeft":t.preventDefault(),await y({left:-1});break;case"ArrowRight":t.preventDefault(),await y({left:1});break;case"ArrowUp":t.preventDefault(),await y({top:-1});break;case"ArrowDown":t.preventDefault(),await y({top:1});break;case"d":t.preventDefault(),await c();break;case"f":t.preventDefault(),await o();break;case"b":t.preventDefault(),await s();break;case"p":"metallic"===n&&(t.preventDefault(),m(!0));break;case"s":"color"===n&&(t.preventDefault(),m(!1))}}},children:e})}function R(){let{activeCanvasType:t,setActiveCanvasType:e,hasMetallic:i}=h();return(0,r.jsxs)("div",{className:"CanvasToggle",children:[(0,r.jsx)("button",{type:"button","data-selected":"color"===t?"":void 0,onClick(){e("color")},children:"Color"}),i?(0,r.jsx)("button",{type:"button","data-selected":"metallic"===t?"":void 0,onClick(){e("metallic")},children:"Metallic"}):null]})}var B=i(8193);let{publicRuntimeConfig:X}=x()(),{defaultSkins:Y,customSkins:z,modelDefaults:W,materials:U}=X;function H(){var t,e,i;let{selectedModel:n,setSelectedModel:o,selectedModelType:s,setSelectedModelType:l,selectedSkin:c,setSelectedSkin:u,setSelectedSkinType:f,actualModel:d,setSelectedAnimation:g,setSkinImageUrls:p,setAnimationPaused:v}=S(),{selectedMaterialIndex:m,setSelectedMaterialIndex:y}=h(),b=U[d],_=b[m],x=(0,a.useRef)(null);return(0,r.jsxs)("div",{className:"Toolbar",children:[(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{htmlFor:"ModelSelect",children:"Model"}),(0,r.jsxs)("select",{id:"ModelSelect",value:n,onChange(t){var e,i,r;let n=t.target.selectedOptions[0].parentNode,a=t.target.value,{modelType:s}=n.dataset;if(!s)throw Error("No data-model-type found");let h=(null===(e=Y[a])||void 0===e?void 0:e.includes(c))||(null===(i=z[a])||void 0===i?void 0:i.includes(c))||!1;g(null),v(!1),l(s),o(a),y(0),h||(u(null!==(r=W[a])&&void 0!==r?r:null),f("default"))},children:[(0,r.jsxs)("optgroup",{label:"Players","data-model-type":"player",children:[(0,r.jsx)("option",{value:"lmale",children:"Human Male • Light"}),(0,r.jsx)("option",{value:"mmale",children:"Human Male • Medium"}),(0,r.jsx)("option",{value:"hmale",children:"Human Male • Heavy"}),(0,r.jsx)("option",{value:"lfemale",children:"Human Female • Light"}),(0,r.jsx)("option",{value:"mfemale",children:"Human Female • Medium"}),(0,r.jsx)("option",{value:"hfemale",children:"Human Female • Heavy"}),(0,r.jsx)("option",{value:"lbioderm",children:"Bioderm • Light"}),(0,r.jsx)("option",{value:"mbioderm",children:"Bioderm • Medium"}),(0,r.jsx)("option",{value:"hbioderm",children:"Bioderm • Heavy"})]}),(0,r.jsxs)("optgroup",{label:"Weapons","data-model-type":"weapon",children:[(0,r.jsx)("option",{value:"disc",children:"Disc Launcher"}),(0,r.jsx)("option",{value:"chaingun",children:"Chaingun"}),(0,r.jsx)("option",{value:"grenade_launcher",children:"Grenade Launcher"}),(0,r.jsx)("option",{value:"sniper",children:"Laser Rifle"}),(0,r.jsx)("option",{value:"plasmathrower",children:"Plasma Cannon"}),(0,r.jsx)("option",{value:"energy",children:"Blaster"}),(0,r.jsx)("option",{value:"shocklance",children:"Shocklance"}),(0,r.jsx)("option",{value:"elf",children:"ELF Projector"}),(0,r.jsx)("option",{value:"missile",children:"Missile Launcher"}),(0,r.jsx)("option",{value:"mortar",children:"Mortar"}),(0,r.jsx)("option",{value:"repair",children:"Repair Pack"}),(0,r.jsx)("option",{value:"targeting",children:"Targeting Laser"})]}),(0,r.jsxs)("optgroup",{label:"Vehicles","data-model-type":"vehicle",children:[(0,r.jsx)("option",{value:"vehicle_air_scout",children:"Shrike"}),(0,r.jsx)("option",{value:"vehicle_grav_scout",children:"Wildcat"}),(0,r.jsx)("option",{value:"vehicle_land_mpbbase",children:"MPB"})]})]})]}),(0,r.jsxs)("div",{className:"Field",children:[(0,r.jsx)("label",{htmlFor:"SkinSelect",children:"Skin"}),(0,r.jsxs)("div",{className:"Buttons",children:[(0,r.jsxs)("select",{id:"SkinSelect",value:null!=c?c:"",async onChange(t){var e;let i=t.target.selectedOptions[0].parentNode,r=t.target.value&&null!==(e=i.dataset.skinType)&&void 0!==e?e:null;u(t.target.value||null),f(r)},children:[(0,r.jsx)("option",{value:"",children:"Select a skin…"}),"player"===s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("optgroup",{label:"Default Skins","data-skin-type":"default",children:null===(t=Y[d])||void 0===t?void 0:t.map(t=>(0,r.jsx)("option",{value:t,children:t},t))}),(0,r.jsx)("optgroup",{label:"Custom Skins","data-skin-type":"custom",children:null===(e=z[d])||void 0===e?void 0:e.map(t=>(0,r.jsx)("option",{value:t,children:t},t))})]}):null,"weapon"===s||"vehicle"===s?(0,r.jsxs)(r.Fragment,{children:[W[d]?(0,r.jsx)("optgroup",{label:"Default Skins","data-skin-type":"default",children:(0,r.jsx)("option",{value:W[d],children:"Default"})}):null,(null===(i=z[d])||void 0===i?void 0:i.length)?(0,r.jsx)("optgroup",{label:"Custom Skins","data-skin-type":"custom",children:z[d].map(t=>(0,r.jsx)("option",{value:t,children:t},t))}):null]}):null]}),(0,r.jsx)("button",{type:"button","aria-label":"Load Skin",title:"Load a Skin",onClick(){x.current&&x.current.click()},children:(0,r.jsx)(B.FjK,{style:{fontSize:18}})}),(0,r.jsx)("input",{ref:x,async onChange(t){var e;let i=await new Promise((e,i)=>{var r;let n=null===(r=t.target.files)||void 0===r?void 0:r[0];if(n){let o=new FileReader;o.addEventListener("load",t=>{var i;e(null===(i=t.target)||void 0===i?void 0:i.result)}),o.readAsDataURL(n)}else i(Error("No input file provided."))});u(null),p({[null!==(e=_.file)&&void 0!==e?e:_.name]:i})},type:"file",accept:".png, image/png",hidden:!0})]})]})]})}let{publicRuntimeConfig:N}=x()(),{materials:V,modelDefaults:G}=N,q="https://exogen.github.io/t2-skins/skins";function K(t){let{basePath:e,actualModel:i,selectedModelType:r,selectedSkin:n,selectedSkinType:o}=t,a=V[i];switch(r){case"player":switch(o){case"default":return{base:"".concat(e,"/textures/").concat(n,".").concat(i,".png")};case"custom":return{base:"".concat(q,"/").concat(n,".").concat(i,".png")}}break;case"weapon":case"vehicle":return a.reduce((t,i)=>{if(i){var r,a,s,l;switch(o){case"default":!1!==i.hasDefault&&(t[null!==(r=i.file)&&void 0!==r?r:i.name]="".concat(e,"/textures/").concat(null!==(a=i.file)&&void 0!==a?a:i.name,".png"));break;case"custom":t[null!==(s=i.file)&&void 0!==s?s:i.name]="".concat(q,"/").concat(n,"/").concat(null!==(l=i.file)&&void 0!==l?l:i.name,".png")}}return t},{})}return{}}function J(t){let{children:e}=t,[i,n]=(0,a.useState)("lmale"),[o,s]=(0,a.useState)("player"),[l,c]=(0,a.useState)("Blood Eagle"),[h,u]=(0,a.useState)("default"),[f,d]=(0,a.useState)(null),[g,p]=(0,a.useState)(!1),{basePath:v}=P(),m="hfemale"===i?"hmale":i,y="".concat(v,"/").concat(m).concat(f?".anim":"",".glb"),[b,_]=(0,a.useState)(()=>K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:l,selectedSkinType:h})),x=(0,a.useMemo)(()=>K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:G[m],selectedSkinType:"default"}),[m,v,o]),C=(0,a.useMemo)(()=>({selectedModel:i,setSelectedModel:n,selectedModelType:o,setSelectedModelType:s,actualModel:m,selectedModelUrl:y,animationPaused:g,setAnimationPaused:p,selectedSkin:l,setSelectedSkin:c,selectedSkinType:h,setSelectedSkinType:u,selectedAnimation:f,setSelectedAnimation:d,skinImageUrls:b,setSkinImageUrls:_,defaultSkinImageUrls:x}),[i,n,o,s,m,y,g,p,l,c,h,u,f,d,b,_,x]);return(0,a.useEffect)(()=>{l&&_(K({basePath:v,actualModel:m,selectedModelType:o,selectedSkin:l,selectedSkinType:h}))},[v,m,o,l,h]),(0,r.jsx)(w.Provider,{value:C,children:e})}var Z=i(5152),$=i.n(Z);let Q=a.createContext(null);function tt(){let t=(0,a.useContext)(Q);if(!t)throw Error("No EnvironmentContext.Provider");return t}Q.displayName="EnvironmentContext";let te=a.createContext(null);function ti(){let t=(0,a.useContext)(te);if(!t)throw Error("No SkinContext.Provider");return t}te.displayName="SkinContext";var tr=i(8496);function tn(t){let{material:e,materialDef:i,textureType:r,imageUrl:n}=t,{modelViewer:o}=(0,tr.Z)(),{basePath:s}=P();(0,a.useEffect)(()=>{let t=!1,a=async()=>{if(!i||i.hidden)"metallicRoughnessTexture"!==r&&(e.setAlphaMode("BLEND"),e.pbrMetallicRoughness.setBaseColorFactor([0,0,0,0]));else{let{alphaMode:a,alphaCutoff:l,baseColorFactor:c,emissiveFactor:h,emissiveTexture:u=!1,metallicFactor:f=1,roughnessFactor:d=1}=i,g=null!=n?n:"".concat(s,"/white.png");switch(r){case"baseColorTexture":c&&e.pbrMetallicRoughness.setBaseColorFactor(c),a&&e.setAlphaMode(a),l&&e.setAlphaCutoff(l),h&&e.setEmissiveFactor(h);break;case"metallicRoughnessTexture":e.pbrMetallicRoughness.setMetallicFactor(f),e.pbrMetallicRoughness.setRoughnessFactor(d),0===f&&1===d&&(g="".concat(s,"/green.png"))}let p=await o.createTexture(g);!t&&(e.pbrMetallicRoughness[r].setTexture(p),"baseColorTexture"===r&&u&&e.emissiveTexture.setTexture(p))}};return a(),()=>{t=!0}},[s,o,e,i,r,n])}function to(t){var e,i;let{material:r,materialDef:n}=t,{getSkinImages:o}=ti(),{colorImageUrl:a,metallicImageUrl:s}=null!==(i=o(null!==(e=null==n?void 0:n.file)&&void 0!==e?e:r.name))&&void 0!==i?i:{};return tn({material:r,materialDef:n,textureType:"baseColorTexture",imageUrl:a}),tn({material:r,materialDef:n,textureType:"metallicRoughnessTexture",imageUrl:s}),null}let{publicRuntimeConfig:ta}=x()(),{materials:ts}=ta;function tl(){let{actualModel:t}=S(),{model:e}=(0,tr.Z)(),i=ts[t];return(0,r.jsx)(r.Fragment,{children:e.materials.map((t,e)=>{var n;let o=null!==(n=i.find(t=>t.index===e))&&void 0!==n?n:i[e];return(0,r.jsx)(to,{material:t,materialDef:o},t.name)})})}let tc=$()(()=>Promise.all([i.e(737),i.e(258),i.e(990)]).then(i.bind(i,85)),{loadableGenerated:{webpack:()=>[85]},ssr:!1}),{publicRuntimeConfig:th}=x()(),{cameraOverrides:tu}=th;function tf(){var t,e;let{selectedModel:i,selectedModelUrl:n,selectedModelType:o,selectedAnimation:a,animationPaused:s}=S(),{environmentImageUrl:l,showEnvironment:c,exposure:h}=tt();return(0,r.jsx)(tc,{modelUrl:n,environmentImageUrl:l,showEnvironment:c,animationName:a,animationPaused:s,cameraOrbit:"weapon"===o?"315deg 70deg 105%":void 0,cameraTarget:null===(t=tu[i])||void 0===t?void 0:t.target,fieldOfView:null===(e=tu[i])||void 0===e?void 0:e.fov,exposure:h,children:(0,r.jsx)(tl,{})})}function td(){let{selectedEnvironment:t,setSelectedEnvironment:e}=tt();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{htmlFor:"EnvMapSelect",children:"Environment"}),(0,r.jsxs)("select",{id:"EnvMapSelect",value:null!=t?t:"",onChange(t){e(t.target.value||null)},children:[(0,r.jsx)("option",{value:"",children:"Default"}),(0,r.jsx)("option",{value:"clarens_night_02_1k.hdr",children:"Clarens Night"}),(0,r.jsx)("option",{value:"dry_cracked_lake_1k.hdr",children:"Dry Cracked Lake"}),(0,r.jsx)("option",{value:"fouriesburg_mountain_midday_1k.hdr",children:"Fouriesburg Mountain"}),(0,r.jsx)("option",{value:"goegap_1k.hdr",children:"Goegap"}),(0,r.jsx)("option",{value:"hilly_terrain_01_1k.hdr",children:"Hilly Terrain"}),(0,r.jsx)("option",{value:"kloofendal_48d_partly_cloudy_puresky_1k.hdr",children:"Kloofendal Partly Cloudy"}),(0,r.jsx)("option",{value:"kloppenheim_06_puresky_1k.hdr",children:"Kloppenheim"}),(0,r.jsx)("option",{value:"lilienstein_1k.hdr",children:"Lilienstein"}),(0,r.jsx)("option",{value:"spruit_sunrise_1k_HDR.hdr",children:"Spruit Sunrise"}),(0,r.jsx)("option",{value:"umhlanga_sunrise_1k.hdr",children:"Umhlanga Sunrise"})]})]})}function tg(){let{exposure:t,setExposure:e}=tt();return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{htmlFor:"EnvExposure",children:(0,r.jsx)(y.MXq,{size:16})}),(0,r.jsx)("input",{"aria-label":"Exposure",id:"EnvExposure",type:"range",min:.2,max:2.2,step:.1,value:t,onChange(t){e(parseFloat(t.target.value))}})]})}let{publicRuntimeConfig:tp}=x()(),{animations:tv,animationLabels:tm,animationLabelOverrides:ty}=tp;function tb(){var t;let{actualModel:e,selectedModelType:i,selectedAnimation:n,setSelectedAnimation:o,animationPaused:s,setAnimationPaused:l}=S(),c=(0,a.useMemo)(()=>[..."player"===i?tv.global:[],...null!==(t=tv[e])&&void 0!==t?t:[]],[e,i]);return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("label",{children:"Animation"}),(0,r.jsxs)("div",{className:"Buttons",children:[(0,r.jsxs)("select",{value:null!=n?n:"",onChange(t){o(t.target.value||null),l(!1)},children:[(0,r.jsx)("option",{value:"",children:"None"}),c.map(t=>{var i,n;let o=null!==(n=null===(i=ty[e])||void 0===i?void 0:i[t])&&void 0!==n?n:tm[t];return(0,r.jsx)("option",{value:t,children:null!=o?o:t},t)})]}),(0,r.jsx)("button",{type:"button",disabled:!n,onClick(){l(t=>!t)},children:s||!n?(0,r.jsx)(m.v$e,{}):(0,r.jsx)(m.IWN,{})})]})]})}function t_(t){let{children:e}=t,[i,n]=(0,a.useState)(null),[o,s]=(0,a.useState)(!1),[l,c]=(0,a.useState)(1),{basePath:h}=P(),u=(0,a.useMemo)(()=>{let t=i?"".concat(h,"/").concat(i):null;return{selectedEnvironment:i,setSelectedEnvironment:n,showEnvironment:o,setShowEnvironment:s,exposure:l,setExposure:c,environmentImageUrl:t}},[h,i,o,l]);return(0,r.jsx)(Q.Provider,{value:u,children:e})}function tx(t){let{children:e}=t,[i,n]=(0,a.useState)({}),o=(0,a.useMemo)(()=>({setSkinImages(t,e){n(i=>({...i,[t]:e}))},setColorImageUrl(t,e){n(i=>({...i,[t]:{...i[t],colorImageUrl:e}}))},setMetallicImageUrl(t,e){n(i=>({...i,[t]:{...i[t],metallicImageUrl:e}}))}}),[]),s=(0,a.useMemo)(()=>({materialSkins:i,getSkinImages:t=>i[t],getColorImageUrl:t=>i[t].colorImageUrl,getMetallicImageUrl:t=>i[t].metallicImageUrl,...o}),[i,o]);return(0,r.jsx)(te.Provider,{value:s,children:e})}let{publicRuntimeConfig:tC}=x()(),{materials:tw}=tC;function tS(){var t;let{actualModel:e}=S(),{selectedMaterialIndex:i,setSelectedMaterialIndex:n}=h(),o=tw[e];return(0,r.jsx)("select",{value:i,onChange(t){n(parseInt(t.target.value,10))},children:o.map((e,i)=>e&&!e.hidden&&!1!==e.selectable?(0,r.jsx)("option",{value:i,children:null!==(t=e.label)&&void 0!==t?t:e.name},e.name):null)})}function tT(t){let{canvasId:e,onChange:i,baseImageUrl:n,textureSize:o,defaultDrawingMode:s=!1}=t,c=(0,a.useRef)(null),[u,f]=(0,a.useState)(null),{activeCanvas:d}=h(),{canvasPadding:g}=P(),{registerCanvas:p,unregisterCanvas:v}=l(),[m,y]=(0,a.useState)(s),b=(0,a.useRef)(),_=(0,a.useRef)(!0),[x,w]=(0,a.useState)(()=>[]),[S,O]=(0,a.useState)(()=>[]),j=x.length>1,k=S.length>0,F=(0,a.useCallback)(t=>{let e=b.current;e&&e(t)},[]),E=(0,a.useCallback)(async()=>{if(u&&x.length>1){let[t,e]=x.slice(-2);_.current=!1,u.renderOnAddRemove=!1,u.clear(),u.loadFromJSON(t,()=>{u.renderAll(),_.current=!0,u.renderOnAddRemove=!0}),w(t=>t.slice(0,-1)),O(t=>[e,...t])}},[u,x]),D=(0,a.useCallback)(()=>{if(u&&S.length>0){let t=S[0];_.current=!1,u.renderOnAddRemove=!1,u.clear(),u.loadFromJSON(t,()=>{u.renderAll(),_.current=!0,u.renderOnAddRemove=!0}),w(e=>[...e,t]),O(t=>t.slice(1))}},[u,S]);(0,a.useEffect)(()=>{b.current=i},[i]);let M=d===e;return(0,a.useEffect)(()=>{let t;C.fabric.Object.prototype.set({transparentCorners:!1,borderColor:"#8afff1",cornerSize:9,cornerStyle:"circle",cornerColor:"#8afff1",cornerStrokeColor:"#1c9f7c",strokeWidth:10,perPixelTargetFind:!0});let e=new C.fabric.Canvas(c.current,{preserveObjectStacking:!0,targetFindTolerance:2}),i=!1,r=()=>{F(e)},n=()=>{!i&&_.current&&(clearTimeout(t),t=setTimeout(()=>{let t=o();w(e=>[...e.slice(-5),t]),O([])},150))},o=()=>{i=!0;let t=e.toJSON(["lockMovementX","lockMovementY","lockRotation","lockScalingX","lockScalingY","selectable","hoverCursor","moveCursor"]);return i=!1,t};return e.on("object:modified",r),e.on("object:added",r),e.on("object:removed",r),e.on("after:render",n),f(e),()=>{clearTimeout(t),f(null),e.dispose()}},[F]),(0,a.useEffect)(()=>{u&&(u.isDrawingMode=m)},[u,m]),(0,a.useEffect)(()=>{u&&M&&u.calcOffset()},[u,M]),(0,a.useEffect)(()=>{if(u)return p(e,{canvas:u,notifyChange(){u.renderAll(),F(u)},undo:E,redo:D,canUndo:j,canRedo:k,isDrawingMode:m,setDrawingMode:y}),()=>{v(e)}},[u,p,v,e,F,m,y,E,D,j,k]),(0,a.useEffect)(()=>{if(u&&o&&(_.current=!1,u.clear(),n)){let t=!1,e=async()=>{let e=await T(n);if(!t){if(!e.width||!e.height)throw Error("Zero-height image");e.selectable=!1,e.lockMovementX=!0,e.lockMovementY=!0,e.lockScalingX=!0,e.lockScalingY=!0,e.lockRotation=!0,e.hoverCursor="default",e.moveCursor="default";let[i,r]=o,a=e.width===i?1:i/e.width,s=e.height===r?1:r/e.height;(1!==a||1!==s)&&(e.scaleX=a,e.scaleY=s),u.centerObject(e),u.add(e)}_.current=!0,u.requestRenderAll()};return e(),()=>{t=!0}}},[u,n,o]),(0,r.jsx)("div",{className:"CanvasContainer","data-active":M?"true":"false",children:(0,r.jsx)("canvas",{width:o[0]+2*g,height:o[1]+2*g,ref:c})})}let tO=a.createContext(null);function tj(){let t=(0,a.useContext)(tO);if(!t)throw Error("ImageLoaderContext.Provider not found!");return t}tO.displayName="ImageLoaderContext";let tk=[512,512];function tP(t){var e,i,n;let{materialDef:o}=t,{skinImageUrls:s,defaultSkinImageUrls:l}=S(),c=s[null!==(e=o.file)&&void 0!==e?e:o.name],h=l[null!==(i=o.file)&&void 0!==i?i:o.name],{setColorImageUrl:u}=ti(),{canvasPadding:f}=P(),[d,g]=(0,a.useState)(null),{removeAlphaFromArrayBuffer:p}=k(),{loadImage:v}=tj(),m=(0,a.useMemo)(()=>null!==(n=o.size)&&void 0!==n?n:tk,[o]),y=(0,a.useCallback)(async t=>{var e;let i=t.toDataURL({top:f,left:f,width:m[0],height:m[1]});u(null!==(e=o.file)&&void 0!==e?e:o.name,i)},[m,f,u,o]);(0,a.useEffect)(()=>{if(c){let t=!1,e=async()=>{let e;try{e=await v(c)}catch(i){if(!1===o.hasDefault)return;e=await v(h)}let r=await p(e);t||g(r)};return e(),()=>{t=!0}}g(null)},[o,c,h,p,v]);let b="".concat(o.name,":color");return m?(0,r.jsx)(tT,{canvasId:b,canvasType:"color",onChange:y,baseImageUrl:d,textureSize:m},b):null}let tF=[512,512];function tE(t){var e,i,n;let{materialDef:o}=t,{skinImageUrls:s,defaultSkinImageUrls:l}=S(),c=s[null!==(e=o.file)&&void 0!==e?e:o.name],h=l[null!==(i=o.file)&&void 0!==i?i:o.name],{setMetallicImageUrl:u}=ti(),{canvasPadding:f}=P(),[d,g]=(0,a.useState)(null),p=(0,a.useRef)(0),{convertGrayscaleImageUrlToMetallicRoughness:v,convertArrayBufferAlphaToGrayscale:m}=k(),{loadImage:y}=tj(),b=(0,a.useMemo)(()=>null!==(n=o.size)&&void 0!==n?n:tF,[o]),_=(0,a.useCallback)(async t=>{let e;p.current+=1;let i=t.toDataURL({top:f,left:f,width:b[0],height:b[1]});try{e=await v(i)}finally{p.current-=1}if(0===p.current){var r;u(null!==(r=o.file)&&void 0!==r?r:o.name,e)}},[b,f,u,v,o]);(0,a.useEffect)(()=>{if(c){let t=!1,e=async()=>{let e;try{e=await y(c)}catch(i){if(!1===o.hasDefault)return;e=await y(h)}let r=await m(e);t||g(r)};return e(),()=>{t=!0}}g(null)},[o,c,h,b,m,y]);let x="".concat(o.name,":metallic");return b?(0,r.jsx)(tT,{canvasId:x,canvasType:"metallic",onChange:_,baseImageUrl:d,textureSize:b,defaultDrawingMode:!0},x):null}let{publicRuntimeConfig:tD}=x()(),{materials:tM}=tD;function tA(){let{actualModel:t}=S(),e=tM[t];return(0,r.jsx)(r.Fragment,{children:e.map(e=>{if(!e)return null;let i=!(0===e.metallicFactor&&1===e.roughnessFactor);return(0,r.jsxs)(a.Fragment,{children:[(0,r.jsx)(tP,{materialDef:e}),i?(0,r.jsx)(tE,{materialDef:e}):null]},"".concat(t,"-").concat(e.name))})})}var tL=i(5945);function tI(t){let{children:e}=t,i=(0,tL.NL)(),n=(0,a.useMemo)(()=>({async loadImage(t){if(t.startsWith("data:"))return F(t);{let e=await i.fetchQuery({queryKey:[t]});return e}}}),[i]);return(0,r.jsx)(tO.Provider,{value:n,children:e})}var tR=i(8709);async function tB(t){let{queryKey:e}=t,[i]=e;return F(i)}let tX=new tR.S({defaultOptions:{queries:{queryFn:tB,staleTime:1/0,cacheTime:6e4,refetchOnWindowFocus:!1,refetchOnReconnect:!1}}});function tY(){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(o(),{children:(0,r.jsx)("title",{children:"T2 Model Viewer & Skinner"})}),(0,r.jsx)(tL.aH,{client:tX,children:(0,r.jsx)("main",{children:(0,r.jsx)(tI,{children:(0,r.jsx)(J,{children:(0,r.jsx)(t_,{children:(0,r.jsxs)(tx,{children:[(0,r.jsxs)("div",{className:"Viewport",children:[(0,r.jsxs)("div",{className:"ModelTools",children:[(0,r.jsx)("div",{className:"Field",children:(0,r.jsx)(td,{})}),(0,r.jsx)("div",{className:"Field SliderField",children:(0,r.jsx)(tg,{})}),(0,r.jsx)("div",{className:"Field",children:(0,r.jsx)(tb,{})})]}),(0,r.jsx)(tf,{})]}),(0,r.jsx)(L,{children:(0,r.jsx)(M,{children:(0,r.jsxs)(I,{children:[(0,r.jsx)(H,{}),(0,r.jsxs)("div",{className:"CanvasViewport",children:[(0,r.jsxs)("div",{className:"CanvasSelector",children:[(0,r.jsx)(R,{}),(0,r.jsx)(tS,{})]}),(0,r.jsx)(A,{}),(0,r.jsx)(tA,{})]}),(0,r.jsx)(b,{})]})})})]})})})})})})]})}},8496:function(t,e,i){"use strict";i.d(e,{K:function(){return n},Z:function(){return o}});var r=i(7294);let n=r.createContext(null);function o(){let t=(0,r.useContext)(n);if(!t)throw Error("No ModelViewerContext.Provider");return t}n.displayName="ModelViewerContext"},6287:function(t,e,i){var r,n,o,a,s,l,c,h,u,f,d,g,p,v,m,y,b,_,x,C,w,S,T,O,j,k,P,F,E,D,M,A,L,I,R,B,X,Y,z,W,U,H,N,V,G,q,K,J,Z,$,Q,tt,te,ti,tr,tn,to,ta,ts,tl,tc,th,tu,tf,td,tg,tp,tv,tm,ty,tb,t_,tx,tC,tw,tS,tT,tO,tj,tk,tP,tF,tE,tD,tM,tA,tL,tI,tR,tB,tX,tY,tz,tW,tU,tH,tN,tV,tG,tq,tK,tJ,tZ,t$,tQ,t0,t1,t2,t5,t3,t4,t8,t6,t9,t7,et,ee,ei,er,en,eo,ea,es,el=i(1876).Buffer,ec=ec||{version:"5.2.1"};if(e.fabric=ec,"undefined"!=typeof document)document instanceof("undefined"!=typeof HTMLDocument?HTMLDocument:Document)?ec.document=document:ec.document=document.implementation.createHTMLDocument(""),ec.window=window;else{var eh=new(i(6734)).JSDOM(decodeURIComponent("%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E"),{features:{FetchExternalResources:["img"]},resources:"usable"}).window;ec.document=eh.document,ec.jsdomImplForWrapper=i(6907).implForWrapper,ec.nodeCanvas=i(4866).Canvas,ec.window=eh,DOMParser=ec.window.DOMParser}function eu(t,e){var i=t.canvas,r=e.targetCanvas,n=r.getContext("2d");n.translate(0,r.height),n.scale(1,-1);var o=i.height-r.height;n.drawImage(i,0,o,r.width,r.height,0,0,r.width,r.height)}function ef(t,e){var i=e.targetCanvas.getContext("2d"),r=e.destinationWidth,n=e.destinationHeight,o=r*n*4,a=new Uint8Array(this.imageBuffer,0,o),s=new Uint8ClampedArray(this.imageBuffer,0,o);t.readPixels(0,0,r,n,t.RGBA,t.UNSIGNED_BYTE,a);var l=new ImageData(s,r,n);i.putImageData(l,0,0)}ec.isTouchSupported="ontouchstart"in ec.window||"ontouchstart"in ec.document||ec.window&&ec.window.navigator&&ec.window.navigator.maxTouchPoints>0,ec.isLikelyNode=void 0!==el&&!1,ec.DPI=96,ec.reNum="(?:[-+]?(?:\\d+|\\d*\\.\\d+)(?:[eE][-+]?\\d+)?)",ec.commaWsp="(?:\\s+,?\\s*|,\\s*)",ec.rePathCommand=/([-+]?((\d+\.\d+)|((\d+)|(\.\d+)))(?:[eE][-+]?\d+)?)/ig,ec.reNonWord=/[ \n\.,;!\?\-]/,ec.fontPaths={},ec.iMatrix=[1,0,0,1,0,0],ec.svgNS="http://www.w3.org/2000/svg",ec.perfLimitSizeTotal=2097152,ec.maxCacheSideLimit=4096,ec.minCacheSideLimit=256,ec.charWidthsCache={},ec.textureSize=2048,ec.disableStyleCopyPaste=!1,ec.enableGLFiltering=!0,ec.devicePixelRatio=ec.window.devicePixelRatio||ec.window.webkitDevicePixelRatio||ec.window.mozDevicePixelRatio||1,ec.browserShadowBlurConstant=1,ec.arcToSegmentsCache={},ec.boundsOfCurveCache={},ec.cachesBoundsOfCurve=!0,ec.forceGLPutImageData=!1,ec.initFilterBackend=function(){return ec.enableGLFiltering&&ec.isWebglSupported&&ec.isWebglSupported(ec.textureSize)?(console.log("max texture size: "+ec.maxTextureSize),new ec.WebglFilterBackend({tileSize:ec.textureSize})):ec.Canvas2dFilterBackend?new ec.Canvas2dFilterBackend:void 0},function(){function t(t,e){if(this.__eventListeners[t]){var i=this.__eventListeners[t];e?i[i.indexOf(e)]=!1:ec.util.array.fill(i,!1)}}function e(t,e){var i=(function(){e.apply(this,arguments),this.off(t,i)}).bind(this);this.on(t,i)}ec.Observable={fire:function(t,e){if(!this.__eventListeners)return this;var i=this.__eventListeners[t];if(!i)return this;for(var r=0,n=i.length;r-1||!!e&&this._objects.some(function(e){return"function"==typeof e.contains&&e.contains(t,!0)})},complexity:function(){return this._objects.reduce(function(t,e){return t+(e.complexity?e.complexity():0)},0)}},ec.CommonMethods={_setOptions:function(t){for(var e in t)this.set(e,t[e])},_initGradient:function(t,e){!t||!t.colorStops||t instanceof ec.Gradient||this.set(e,new ec.Gradient(t))},_initPattern:function(t,e,i){!t||!t.source||t instanceof ec.Pattern?i&&i():this.set(e,new ec.Pattern(t,i))},_setObject:function(t){for(var e in t)this._set(e,t[e])},set:function(t,e){return"object"==typeof t?this._setObject(t):this._set(t,e),this},_set:function(t,e){this[t]=e},toggle:function(t){var e=this.get(t);return"boolean"==typeof e&&this.set(t,!e),this},get:function(t){return this[t]}},m=Math.sqrt,y=Math.atan2,b=Math.pow,_=Math.PI/180,x=Math.PI/2,ec.util={cos:function(t){if(0===t)return 1;switch(t<0&&(t=-t),t/x){case 1:case 3:return 0;case 2:return -1}return Math.cos(t)},sin:function(t){if(0===t)return 0;var e=1;switch(t<0&&(e=-1),t/x){case 1:return e;case 2:return 0;case 3:return-e}return Math.sin(t)},removeFromArray:function(t,e){var i=t.indexOf(e);return -1!==i&&t.splice(i,1),t},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},degreesToRadians:function(t){return t*_},radiansToDegrees:function(t){return t/_},rotatePoint:function(t,e,i){var r=new ec.Point(t.x-e.x,t.y-e.y),n=ec.util.rotateVector(r,i);return new ec.Point(n.x,n.y).addEquals(e)},rotateVector:function(t,e){var i=ec.util.sin(e),r=ec.util.cos(e);return{x:t.x*r-t.y*i,y:t.x*i+t.y*r}},createVector:function(t,e){return new ec.Point(e.x-t.x,e.y-t.y)},calcAngleBetweenVectors:function(t,e){return Math.acos((t.x*e.x+t.y*e.y)/(Math.hypot(t.x,t.y)*Math.hypot(e.x,e.y)))},getHatVector:function(t){return new ec.Point(t.x,t.y).multiply(1/Math.hypot(t.x,t.y))},getBisector:function(t,e,i){var r=ec.util.createVector(t,e),n=ec.util.createVector(t,i),o=ec.util.calcAngleBetweenVectors(r,n),a=ec.util.calcAngleBetweenVectors(ec.util.rotateVector(r,o),n);return{vector:ec.util.getHatVector(ec.util.rotateVector(r,o*(0===a?1:-1)/2)),angle:o}},projectStrokeOnPoints:function(t,e,i){var r=[],n=e.strokeWidth/2,o=e.strokeUniform?new ec.Point(1/e.scaleX,1/e.scaleY):new ec.Point(1,1),a=function(t){var e=n/Math.hypot(t.x,t.y);return new ec.Point(t.x*e*o.x,t.y*e*o.y)};return t.length<=1||t.forEach(function(s,l){var c,h,u=new ec.Point(s.x,s.y);0===l?(h=t[l+1],c=i?a(ec.util.createVector(h,u)).addEquals(u):t[t.length-1]):l===t.length-1?(c=t[l-1],h=i?a(ec.util.createVector(c,u)).addEquals(u):t[0]):(c=t[l-1],h=t[l+1]);var f,d,g=ec.util.getBisector(u,c,h),p=g.vector,v=g.angle;if("miter"===e.strokeLineJoin&&(f=-n/Math.sin(v/2),Math.hypot((d=new ec.Point(p.x*f*o.x,p.y*f*o.y)).x,d.y)/n<=e.strokeMiterLimit)){r.push(u.add(d)),r.push(u.subtract(d));return}f=-n*Math.SQRT2,d=new ec.Point(p.x*f*o.x,p.y*f*o.y),r.push(u.add(d)),r.push(u.subtract(d))}),r},transformPoint:function(t,e,i){return i?new ec.Point(e[0]*t.x+e[2]*t.y,e[1]*t.x+e[3]*t.y):new ec.Point(e[0]*t.x+e[2]*t.y+e[4],e[1]*t.x+e[3]*t.y+e[5])},makeBoundingBoxFromPoints:function(t,e){if(e)for(var i=0;i0&&(e>r?e-=r:e=0,i>r?i-=r:i=0);var n,o=!0,a=t.getImageData(e,i,2*r||1,2*r||1),s=a.data.length;for(n=3;n=n?o-n:2*Math.PI-(n-o)}function n(t,e,i,r){return Math.sqrt((i-t)*(i-t)+(r-e)*(r-e))}function o(t,e,i){var r,o,a={x:e,y:i},s=0;for(o=1;o<=100;o+=1)r=t(o/100),s+=n(a.x,a.y,r.x,r.y),a=r;return s}function a(t){for(var e,i,r,a,s=0,l=t.length,c=0,h=0,u=0,f=0,d=[],g=0;gC)for(var S=1,T=p.length;S0?k-=2*l:1===a&&k<0&&(k+=2*l);for(var P=Math.ceil(Math.abs(k/l*2)),F=[],E=k/P,D=8/3*Math.sin(E/4)*Math.sin(E/4)/Math.sin(E/2),M=j+E,A=0;A2;for(e=e||0,c&&(s=t[2].xt[i-2].x?1:n.x===t[i-2].x?0:-1,l=n.y>t[i-2].y?1:n.y===t[i-2].y?0:-1),r.push(["L",n.x+s*e,n.y+l*e]),r},ec.util.getPathSegmentsInfo=a,ec.util.getBoundsOfCurve=function(e,i,r,n,o,a,s,l){if(ec.cachesBoundsOfCurve&&(c=t.call(arguments),ec.boundsOfCurveCache[c]))return ec.boundsOfCurveCache[c];var c,h,u,f,d,g,p,v,m,y=Math.sqrt,b=Math.min,_=Math.max,x=Math.abs,C=[],w=[[],[]];u=6*e-12*r+6*o,h=-3*e+9*r-9*o+3*s,f=3*r-3*e;for(var S=0;S<2;++S){if(S>0&&(u=6*i-12*n+6*a,h=-3*i+9*n-9*a+3*l,f=3*n-3*i),1e-12>x(h)){if(1e-12>x(u))continue;0<(d=-f/u)&&d<1&&C.push(d);continue}!((v=u*u-4*f*h)<0)&&(0<(g=(-u+(m=y(v)))/(2*h))&&g<1&&C.push(g),0<(p=(-u-m)/(2*h))&&p<1&&C.push(p))}for(var T,O,j,k=C.length,P=k;k--;)T=(j=1-(d=C[k]))*j*j*e+3*j*j*d*r+3*j*d*d*o+d*d*d*s,w[0][k]=T,O=j*j*j*i+3*j*j*d*n+3*j*d*d*a+d*d*d*l,w[1][k]=O;w[0][P]=e,w[1][P]=i,w[0][P+1]=s,w[1][P+1]=l;var F=[{x:b.apply(null,w[0]),y:b.apply(null,w[1])},{x:_.apply(null,w[0]),y:_.apply(null,w[1])}];return ec.cachesBoundsOfCurve&&(ec.boundsOfCurveCache[c]=F),F},ec.util.getPointOnPath=function(t,e,i){i||(i=a(t));for(var r=0;e-i[r].length>0&&r1e-4;)i=l(a),o=a,(r=n(c.x,c.y,i.x,i.y))+s>e?(a-=h,h/=2):(c=i,a+=h,s+=r);return i.angle=u(o),i}(s,e)}},ec.util.transformPath=function(t,e,i){return i&&(e=ec.util.multiplyTransformMatrices(e,[1,0,0,1,-i.x,-i.y])),t.map(function(t){for(var i=t.slice(0),r={},n=1;n=e})}}}(),function(){function t(e,i,r){if(r){if(!ec.isLikelyNode&&i instanceof Element)e=i;else if(i instanceof Array){e=[];for(var n=0,o=i.length;n/g,">")},graphemeSplit:function(t){var e,i=0,r=[];for(i=0;i57343)return t.charAt(e);if(55296<=i&&i<=56319){if(t.length<=e+1)throw"High surrogate without following low surrogate";var r=t.charCodeAt(e+1);if(56320>r||r>57343)throw"High surrogate without following low surrogate";return t.charAt(e)+t.charAt(e+1)}if(0===e)throw"Low surrogate without preceding high surrogate";var n=t.charCodeAt(e-1);if(55296>n||n>56319)throw"Low surrogate without preceding high surrogate";return!1}(t,i))&&r.push(e);return r}},function(){var t=Array.prototype.slice,e=function(){},i=function(){for(var t in{toString:1})if("toString"===t)return!1;return!0}(),r=function(t,e,r){for(var n in e)n in t.prototype&&"function"==typeof t.prototype[n]&&(e[n]+"").indexOf("callSuper")>-1?t.prototype[n]=function(t){return function(){var i=this.constructor.superclass;this.constructor.superclass=r;var n=e[t].apply(this,arguments);if(this.constructor.superclass=i,"initialize"!==t)return n}}(n):t.prototype[n]=e[n],i&&(e.toString!==Object.prototype.toString&&(t.prototype.toString=e.toString),e.valueOf!==Object.prototype.valueOf&&(t.prototype.valueOf=e.valueOf))};function n(){}function o(e){for(var i=null,r=this;r.constructor.superclass;){var n=r.constructor.superclass.prototype[e];if(r[e]!==n){i=n;break}r=r.constructor.superclass.prototype}return i?arguments.length>1?i.apply(this,t.call(arguments,1)):i.call(this):console.log("tried to callSuper "+e+", method not found in prototype chain",this)}ec.util.createClass=function(){var i=null,a=t.call(arguments,0);function s(){this.initialize.apply(this,arguments)}"function"==typeof a[0]&&(i=a.shift()),s.superclass=i,s.subclasses=[],i&&(n.prototype=i.prototype,s.prototype=new n,i.subclasses.push(s));for(var l=0,c=a.length;l-1||"touch"===t.pointerType},T="string"==typeof(S=ec.document.createElement("div")).style.opacity,O="string"==typeof S.style.filter,j=/alpha\s*\(\s*opacity\s*=\s*([^\)]+)\)/,k=function(t){return t},T?k=function(t,e){return t.style.opacity=e,t}:O&&(k=function(t,e){var i=t.style;return t.currentStyle&&!t.currentStyle.hasLayout&&(i.zoom=1),j.test(i.filter)?(e=e>=.9999?"":"alpha(opacity="+100*e+")",i.filter=i.filter.replace(j,e)):i.filter+=" alpha(opacity="+100*e+")",t}),ec.util.setStyle=function(t,e){var i=t.style;if(!i)return t;if("string"==typeof e)return t.style.cssText+=";"+e,e.indexOf("opacity")>-1?k(t,e.match(/opacity:\s*(\d?\.?\d*)/)[1]):t;for(var r in e)if("opacity"===r)k(t,e[r]);else{var n="float"===r||"cssFloat"===r?void 0===i.styleFloat?"cssFloat":"styleFloat":r;i.setProperty(n,e[r])}return t},function(){var t,e,i,r,n=Array.prototype.slice,o=function(t){return n.call(t,0)};try{r=o(ec.document.childNodes) instanceof Array}catch(a){}function s(t,e){var i=ec.document.createElement(t);for(var r in e)"class"===r?i.className=e[r]:"for"===r?i.htmlFor=e[r]:i.setAttribute(r,e[r]);return i}function l(t){for(var e=0,i=0,r=ec.document.documentElement,n=ec.document.body||{scrollLeft:0,scrollTop:0};t&&(t.parentNode||t.host)&&((t=t.parentNode||t.host)===ec.document?(e=n.scrollLeft||r.scrollLeft||0,i=n.scrollTop||r.scrollTop||0):(e+=t.scrollLeft||0,i+=t.scrollTop||0),1!==t.nodeType||"fixed"!==t.style.position););return{left:e,top:i}}r||(o=function(t){for(var e=Array(t.length),i=t.length;i--;)e[i]=t[i];return e}),i=ec.document.defaultView&&ec.document.defaultView.getComputedStyle?function(t,e){var i=ec.document.defaultView.getComputedStyle(t,null);return i?i[e]:void 0}:function(t,e){var i=t.style[e];return!i&&t.currentStyle&&(i=t.currentStyle[e]),i},e="userSelect"in(t=ec.document.documentElement.style)?"userSelect":"MozUserSelect"in t?"MozUserSelect":"WebkitUserSelect"in t?"WebkitUserSelect":"KhtmlUserSelect"in t?"KhtmlUserSelect":"",ec.util.makeElementUnselectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=ec.util.falseFunction),e?t.style[e]="none":"string"==typeof t.unselectable&&(t.unselectable="on"),t},ec.util.makeElementSelectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=null),e?t.style[e]="":"string"==typeof t.unselectable&&(t.unselectable=""),t},ec.util.setImageSmoothing=function(t,e){t.imageSmoothingEnabled=t.imageSmoothingEnabled||t.webkitImageSmoothingEnabled||t.mozImageSmoothingEnabled||t.msImageSmoothingEnabled||t.oImageSmoothingEnabled,t.imageSmoothingEnabled=e},ec.util.getById=function(t){return"string"==typeof t?ec.document.getElementById(t):t},ec.util.toArray=o,ec.util.addClass=function(t,e){t&&-1===(" "+t.className+" ").indexOf(" "+e+" ")&&(t.className+=(t.className?" ":"")+e)},ec.util.makeElement=s,ec.util.wrapElement=function(t,e,i){return"string"==typeof e&&(e=s(e,i)),t.parentNode&&t.parentNode.replaceChild(e,t),e.appendChild(t),e},ec.util.getScrollLeftTop=l,ec.util.getElementOffset=function(t){var e,r,n=t&&t.ownerDocument,o={left:0,top:0},a={left:0,top:0},s={borderLeftWidth:"left",borderTopWidth:"top",paddingLeft:"left",paddingTop:"top"};if(!n)return a;for(var c in s)a[s[c]]+=parseInt(i(t,c),10)||0;return e=n.documentElement,void 0!==t.getBoundingClientRect&&(o=t.getBoundingClientRect()),r=l(t),{left:o.left+r.left-(e.clientLeft||0)+a.left,top:o.top+r.top-(e.clientTop||0)+a.top}},ec.util.getNodeCanvas=function(t){var e=ec.jsdomImplForWrapper(t);return e._canvas||e._image},ec.util.cleanUpJsdomNode=function(t){if(ec.isLikelyNode){var e=ec.jsdomImplForWrapper(t);e&&(e._image=null,e._canvas=null,e._currentSrc=null,e._attributes=null,e._classList=null)}}}(),function(){function t(){}ec.util.request=function(e,i){i||(i={});var r,n,o=i.method?i.method.toUpperCase():"GET",a=i.onComplete||function(){},s=new ec.window.XMLHttpRequest,l=i.body||i.parameters;return s.onreadystatechange=function(){4===s.readyState&&(a(s),s.onreadystatechange=t)},"GET"===o&&(l=null,"string"==typeof i.parameters)&&(r=e,n=i.parameters,e=r+(/\?/.test(r)?"&":"?")+n),s.open(o,e,!0),("POST"===o||"PUT"===o)&&s.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),s.send(l),s}}(),ec.log=console.log,ec.warn=console.warn,function(){var t=ec.util.object.extend,e=ec.util.object.clone,i=[];function r(){return!1}function n(t,e,i,r){return-i*Math.cos(t/r*(Math.PI/2))+i+e}ec.util.object.extend(i,{cancelAll:function(){var t=this.splice(0);return t.forEach(function(t){t.cancel()}),t},cancelByCanvas:function(t){if(!t)return[];var e=this.filter(function(e){return"object"==typeof e.target&&e.target.canvas===t});return e.forEach(function(t){t.cancel()}),e},cancelByTarget:function(t){var e=this.findAnimationsByTarget(t);return e.forEach(function(t){t.cancel()}),e},findAnimationIndex:function(t){return this.indexOf(this.findAnimation(t))},findAnimation:function(t){return this.find(function(e){return e.cancel===t})},findAnimationsByTarget:function(t){return t?this.filter(function(e){return e.target===t}):[]}});var o=ec.window.requestAnimationFrame||ec.window.webkitRequestAnimationFrame||ec.window.mozRequestAnimationFrame||ec.window.oRequestAnimationFrame||ec.window.msRequestAnimationFrame||function(t){return ec.window.setTimeout(t,1e3/60)},a=ec.window.cancelAnimationFrame||ec.window.clearTimeout;function s(){return o.apply(ec.window,arguments)}ec.util.animate=function(i){i||(i={});var o,a=!1,l=function(){var t=ec.runningAnimations.indexOf(o);return t>-1&&ec.runningAnimations.splice(t,1)[0]};return o=t(e(i),{cancel:function(){return a=!0,l()},currentValue:"startValue"in i?i.startValue:0,completionRate:0,durationRate:0}),ec.runningAnimations.push(o),s(function(t){var e,c=t||+new Date,h=i.duration||500,u=c+h,f=i.onChange||r,d=i.abort||r,g=i.onComplete||r,p=i.easing||n,v="startValue"in i&&i.startValue.length>0,m="startValue"in i?i.startValue:0,y="endValue"in i?i.endValue:100,b=i.byValue||(v?m.map(function(t,e){return y[e]-m[e]}):y-m);i.onStart&&i.onStart(),function t(i){var r=(e=i||+new Date)>u?h:e-c,n=r/h,_=v?m.map(function(t,e){return p(r,m[e],b[e],h)}):p(r,m,b,h),x=v?Math.abs((_[0]-m[0])/b[0]):Math.abs((_-m)/b);if(o.currentValue=v?_.slice():_,o.completionRate=x,o.durationRate=n,!a){if(d(_,x,n)){l();return}if(e>u){o.currentValue=v?y.slice():y,o.completionRate=1,o.durationRate=1,f(v?y.slice():y,1,1),g(y,1,1),l();return}f(_,x,n),s(t)}}(c)}),o.cancel},ec.util.requestAnimFrame=s,ec.util.cancelAnimFrame=function(){return a.apply(ec.window,arguments)},ec.runningAnimations=i}(),function(){function t(t,e,i){return"rgba("+parseInt(t[0]+i*(e[0]-t[0]),10)+","+parseInt(t[1]+i*(e[1]-t[1]),10)+","+parseInt(t[2]+i*(e[2]-t[2]),10)+(","+(t&&e?parseFloat(t[3]+i*(e[3]-t[3])):1))+")"}ec.util.animateColor=function(e,i,r,n){var o=new ec.Color(e).getSource(),a=new ec.Color(i).getSource(),s=n.onComplete,l=n.onChange;return n=n||{},ec.util.animate(ec.util.object.extend(n,{duration:r||500,startValue:o,endValue:a,byValue:a,easing:function(e,i,r,o){return t(i,r,n.colorEasing?n.colorEasing(e,o):1-Math.cos(e/o*(Math.PI/2)))},onComplete:function(e,i,r){if(s)return s(t(a,a,0),i,r)},onChange:function(e,i,r){if(l){if(Array.isArray(e))return l(t(e,e,0),i,r);l(e,i,r)}}}))}}(),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Point){e.warn("fabric.Point is already defined");return}function i(t,e){this.x=t,this.y=e}e.Point=i,i.prototype={type:"point",constructor:i,add:function(t){return new i(this.x+t.x,this.y+t.y)},addEquals:function(t){return this.x+=t.x,this.y+=t.y,this},scalarAdd:function(t){return new i(this.x+t,this.y+t)},scalarAddEquals:function(t){return this.x+=t,this.y+=t,this},subtract:function(t){return new i(this.x-t.x,this.y-t.y)},subtractEquals:function(t){return this.x-=t.x,this.y-=t.y,this},scalarSubtract:function(t){return new i(this.x-t,this.y-t)},scalarSubtractEquals:function(t){return this.x-=t,this.y-=t,this},multiply:function(t){return new i(this.x*t,this.y*t)},multiplyEquals:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return new i(this.x/t,this.y/t)},divideEquals:function(t){return this.x/=t,this.y/=t,this},eq:function(t){return this.x===t.x&&this.y===t.y},lt:function(t){return this.xt.x&&this.y>t.y},gte:function(t){return this.x>=t.x&&this.y>=t.y},lerp:function(t,e){return void 0===e&&(e=.5),e=Math.max(Math.min(1,e),0),new i(this.x+(t.x-this.x)*e,this.y+(t.y-this.y)*e)},distanceFrom:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},midPointFrom:function(t){return this.lerp(t)},min:function(t){return new i(Math.min(this.x,t.x),Math.min(this.y,t.y))},max:function(t){return new i(Math.max(this.x,t.x),Math.max(this.y,t.y))},toString:function(){return this.x+","+this.y},setXY:function(t,e){return this.x=t,this.y=e,this},setX:function(t){return this.x=t,this},setY:function(t){return this.y=t,this},setFromPoint:function(t){return this.x=t.x,this.y=t.y,this},swap:function(t){var e=this.x,i=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=i},clone:function(){return new i(this.x,this.y)}}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Intersection){e.warn("fabric.Intersection is already defined");return}function i(t){this.status=t,this.points=[]}e.Intersection=i,e.Intersection.prototype={constructor:i,appendPoint:function(t){return this.points.push(t),this},appendPoints:function(t){return this.points=this.points.concat(t),this}},e.Intersection.intersectLineLine=function(t,r,n,o){var a,s=(o.x-n.x)*(t.y-n.y)-(o.y-n.y)*(t.x-n.x),l=(r.x-t.x)*(t.y-n.y)-(r.y-t.y)*(t.x-n.x),c=(o.y-n.y)*(r.x-t.x)-(o.x-n.x)*(r.y-t.y);if(0!==c){var h=s/c,u=l/c;0<=h&&h<=1&&0<=u&&u<=1?(a=new i("Intersection")).appendPoint(new e.Point(t.x+h*(r.x-t.x),t.y+h*(r.y-t.y))):a=new i}else a=new i(0===s||0===l?"Coincident":"Parallel");return a},e.Intersection.intersectLinePolygon=function(t,e,r){var n,o,a,s,l=new i,c=r.length;for(s=0;s0&&(l.status="Intersection"),l},e.Intersection.intersectPolygonPolygon=function(t,e){var r,n=new i,o=t.length;for(r=0;r0&&(n.status="Intersection"),n},e.Intersection.intersectPolygonRectangle=function(t,r,n){var o=r.min(n),a=r.max(n),s=new e.Point(a.x,o.y),l=new e.Point(o.x,a.y),c=i.intersectLinePolygon(o,s,t),h=i.intersectLinePolygon(s,a,t),u=i.intersectLinePolygon(a,l,t),f=i.intersectLinePolygon(l,o,t),d=new i;return d.appendPoints(c.points),d.appendPoints(h.points),d.appendPoints(u.points),d.appendPoints(f.points),d.points.length>0&&(d.status="Intersection"),d}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.Color){e.warn("fabric.Color is already defined.");return}function i(t){t?this._tryParsingColor(t):this.setSource([0,0,0,1])}function r(t,e,i){return(i<0&&(i+=1),i>1&&(i-=1),i<1/6)?t+(e-t)*6*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}e.Color=i,e.Color.prototype={_tryParsingColor:function(t){var e;t in i.colorNameMap&&(t=i.colorNameMap[t]),"transparent"===t&&(e=[255,255,255,0]),e||(e=i.sourceFromHex(t)),e||(e=i.sourceFromRgb(t)),e||(e=i.sourceFromHsl(t)),e||(e=[0,0,0,1]),e&&this.setSource(e)},_rgbToHsl:function(t,i,r){t/=255,i/=255,r/=255;var n,o,a,s=e.util.array.max([t,i,r]),l=e.util.array.min([t,i,r]);if(a=(s+l)/2,s===l)n=o=0;else{var c=s-l;switch(o=a>.5?c/(2-s-l):c/(s+l),s){case t:n=(i-r)/c+(i0)-(t<0)||+t};function f(t,e){return Math.round((t.angle+h(Math.atan2(e.y,e.x))+360)%360/45)}function d(t,i){var r=i.transform.target,n=r.canvas,o=e.util.object.clone(i);o.target=r,n&&n.fire("object:"+t,o),r.fire(t,i)}function g(t,e){var i=e.canvas,r=t[i.uniScaleKey];return i.uniformScaling&&!r||!i.uniformScaling&&r}function p(t){return t.originX===l&&t.originY===l}function v(t,e,i){var r=t.lockScalingX,n=t.lockScalingY;return!!r&&!!n||!e&&(!!r||!!n)&&!!i||!!r&&"x"===e||!!n&&"y"===e}function m(t,e,i,r){return{e:t,transform:e,pointer:{x:i,y:r}}}function y(t){return function(e,i,r,n){var o=i.target,a=o.getCenterPoint(),s=o.translateToOriginPoint(a,i.originX,i.originY),l=t(e,i,r,n);return o.setPositionByOrigin(s,i.originX,i.originY),l}}function b(t,e){return function(i,r,n,o){var a=e(i,r,n,o);return a&&d(t,m(i,r,n,o)),a}}function _(t,i,r,n,o){var a=t.target,s=a.controls[t.corner],l=a.canvas.getZoom(),c=a.padding/l,h=a.toLocalPoint(new e.Point(n,o),i,r);return h.x>=c&&(h.x-=c),h.x<=-c&&(h.x+=c),h.y>=c&&(h.y-=c),h.y<=c&&(h.y+=c),h.x-=s.offsetX,h.y-=s.offsetY,h}function x(t){return t.flipX!==t.flipY}function C(t,e,i,r,n){if(0!==t[e]){var o=n/t._getTransformedDimensions()[r]*t[i];t.set(i,o)}}function w(t,e,i,r){var n,l=e.target,c=l._getTransformedDimensions(0,l.skewY),u=Math.abs(2*_(e,e.originX,e.originY,i,r).x)-c.x,f=l.skewX;u<2?n=0:(n=h(Math.atan2(u/l.scaleX,c.y/l.scaleY)),e.originX===o&&e.originY===s&&(n=-n),e.originX===a&&"top"===e.originY&&(n=-n),x(l)&&(n=-n));var d=f!==n;if(d){var g=l._getTransformedDimensions().y;l.set("skewX",n),C(l,"skewY","scaleY","y",g)}return d}function S(t,e,i,r){var n,l=e.target,c=l._getTransformedDimensions(l.skewX,0),u=Math.abs(2*_(e,e.originX,e.originY,i,r).y)-c.y,f=l.skewY;u<2?n=0:(n=h(Math.atan2(u/l.scaleY,c.x/l.scaleX)),e.originX===o&&e.originY===s&&(n=-n),e.originX===a&&"top"===e.originY&&(n=-n),x(l)&&(n=-n));var d=f!==n;if(d){var g=l._getTransformedDimensions().x;l.set("skewY",n),C(l,"skewX","scaleX","x",g)}return d}function T(t,e,i,r,n){n=n||{};var o,a,s,l,h,f,d=e.target,m=d.lockScalingX,y=d.lockScalingY,b=n.by,x=g(t,d),C=v(d,b,x),w=e.gestureScale;if(C)return!1;if(w)a=e.scaleX*w,s=e.scaleY*w;else{if(o=_(e,e.originX,e.originY,i,r),h="y"!==b?u(o.x):1,f="x"!==b?u(o.y):1,e.signX||(e.signX=h),e.signY||(e.signY=f),d.lockScalingFlip&&(e.signX!==h||e.signY!==f))return!1;if(l=d._getTransformedDimensions(),x&&!b){var S=Math.abs(o.x)+Math.abs(o.y),T=e.original,O=S/(Math.abs(l.x*T.scaleX/d.scaleX)+Math.abs(l.y*T.scaleY/d.scaleY));a=T.scaleX*O,s=T.scaleY*O}else a=Math.abs(o.x*d.scaleX/l.x),s=Math.abs(o.y*d.scaleY/l.y);p(e)&&(a*=2,s*=2),e.signX!==h&&"y"!==b&&(e.originX=c[e.originX],a*=-1,e.signX=h),e.signY!==f&&"x"!==b&&(e.originY=c[e.originY],s*=-1,e.signY=f)}var j=d.scaleX,k=d.scaleY;return b?("x"===b&&d.set("scaleX",a),"y"===b&&d.set("scaleY",s)):(m||d.set("scaleX",a),y||d.set("scaleY",s)),j!==d.scaleX||k!==d.scaleY}n.scaleCursorStyleHandler=function(t,e,r){var n=g(t,r),o="";return(0!==e.x&&0===e.y?o="x":0===e.x&&0!==e.y&&(o="y"),v(r,o,n))?"not-allowed":i[f(r,e)]+"-resize"},n.skewCursorStyleHandler=function(t,e,i){return 0!==e.x&&i.lockSkewingY||0!==e.y&&i.lockSkewingX?"not-allowed":r[f(i,e)%4]+"-resize"},n.scaleSkewCursorStyleHandler=function(t,e,i){return t[i.canvas.altActionKey]?n.skewCursorStyleHandler(t,e,i):n.scaleCursorStyleHandler(t,e,i)},n.rotationWithSnapping=b("rotating",y(function(t,e,i,r){var n=e.target,o=n.translateToOriginPoint(n.getCenterPoint(),e.originX,e.originY);if(n.lockRotation)return!1;var a=Math.atan2(e.ey-o.y,e.ex-o.x),s=h(Math.atan2(r-o.y,i-o.x)-a+e.theta),l=!0;if(n.snapAngle>0){var c=n.snapAngle,u=n.snapThreshold||c,f=Math.ceil(s/c)*c,d=Math.floor(s/c)*c;Math.abs(s-d)0?o:a:(c>0&&(n="top"===h?o:a),c<0&&(n="top"===h?a:o),x(s)&&(n=n===o?a:o)),e.originX=n,b("skewing",y(w))(t,e,i,r))},n.skewHandlerY=function(t,e,i,r){var n,a=e.target,c=a.skewY,h=e.originX;return!a.lockSkewingY&&(0===c?n=_(e,l,l,i,r).y>0?"top":s:(c>0&&(n=h===o?"top":s),c<0&&(n=h===o?s:"top"),x(a)&&(n="top"===n?s:"top")),e.originY=n,b("skewing",y(S))(t,e,i,r))},n.dragHandler=function(t,e,i,r){var n=e.target,o=i-e.offsetX,a=r-e.offsetY,s=!n.get("lockMovementX")&&n.left!==o,l=!n.get("lockMovementY")&&n.top!==a;return s&&n.set("left",o),l&&n.set("top",a),(s||l)&&d("moving",m(t,e,i,r)),s||l},n.scaleOrSkewActionName=function(t,e,i){var r=t[i.canvas.altActionKey];return 0===e.x?r?"skewX":"scaleY":0===e.y?r?"skewY":"scaleX":void 0},n.rotationStyleHandler=function(t,e,i){return i.lockRotation?"not-allowed":e.cursorStyle},n.fireEvent=d,n.wrapWithFixedAnchor=y,n.wrapWithFireEvent=b,n.getLocalPoint=_,e.controlsUtils=n}(e),E=(F=(P=e).fabric||(P.fabric={})).util.degreesToRadians,(D=F.controlsUtils).renderCircleControl=function(t,e,i,r,n){r=r||{};var o,a=this.sizeX||r.cornerSize||n.cornerSize,s=this.sizeY||r.cornerSize||n.cornerSize,l=void 0!==r.transparentCorners?r.transparentCorners:n.transparentCorners,c=!l&&(r.cornerStrokeColor||n.cornerStrokeColor),h=e,u=i;t.save(),t.fillStyle=r.cornerColor||n.cornerColor,t.strokeStyle=r.cornerStrokeColor||n.cornerStrokeColor,a>s?(o=a,t.scale(1,s/a),u=i*a/s):s>a?(o=s,t.scale(a/s,1),h=e*s/a):o=a,t.lineWidth=1,t.beginPath(),t.arc(h,u,o/2,0,2*Math.PI,!1),t[l?"stroke":"fill"](),c&&t.stroke(),t.restore()},D.renderSquareControl=function(t,e,i,r,n){r=r||{};var o=this.sizeX||r.cornerSize||n.cornerSize,a=this.sizeY||r.cornerSize||n.cornerSize,s=void 0!==r.transparentCorners?r.transparentCorners:n.transparentCorners,l=!s&&(r.cornerStrokeColor||n.cornerStrokeColor),c=o/2,h=a/2;t.save(),t.fillStyle=r.cornerColor||n.cornerColor,t.strokeStyle=r.cornerStrokeColor||n.cornerStrokeColor,t.lineWidth=1,t.translate(e,i),t.rotate(E(n.angle)),t[(s?"stroke":"fill")+"Rect"](-c,-h,o,a),l&&t.strokeRect(-c,-h,o,a),t.restore()},(A=(M=e).fabric||(M.fabric={})).Control=function(t){for(var e in t)this[e]=t[e]},A.Control.prototype={visible:!0,actionName:"scale",angle:0,x:0,y:0,offsetX:0,offsetY:0,sizeX:null,sizeY:null,touchSizeX:null,touchSizeY:null,cursorStyle:"crosshair",withConnection:!1,actionHandler:function(){},mouseDownHandler:function(){},mouseUpHandler:function(){},getActionHandler:function(){return this.actionHandler},getMouseDownHandler:function(){return this.mouseDownHandler},getMouseUpHandler:function(){return this.mouseUpHandler},cursorStyleHandler:function(t,e){return e.cursorStyle},getActionName:function(t,e){return e.actionName},getVisibility:function(t,e){var i=t._controlsVisibility;return i&&void 0!==i[e]?i[e]:this.visible},setVisibility:function(t){this.visible=t},positionHandler:function(t,e){return A.util.transformPoint({x:this.x*t.x+this.offsetX,y:this.y*t.y+this.offsetY},e)},calcCornerCoords:function(t,e,i,r,n){var o,a,s,l,c=n?this.touchSizeX:this.sizeX,h=n?this.touchSizeY:this.sizeY;if(c&&h&&c!==h){var u=Math.atan2(h,c),f=Math.sqrt(c*c+h*h)/2,d=u-A.util.degreesToRadians(t),g=Math.PI/2-u-A.util.degreesToRadians(t);o=f*A.util.cos(d),a=f*A.util.sin(d),s=f*A.util.cos(g),l=f*A.util.sin(g)}else{f=.7071067812*(c&&h?c:e);var d=A.util.degreesToRadians(45-t);o=s=f*A.util.cos(d),a=l=f*A.util.sin(d)}return{tl:{x:i-l,y:r-s},tr:{x:i+o,y:r-a},bl:{x:i-o,y:r+a},br:{x:i+l,y:r+s}}},render:function(t,e,i,r,n){"circle"===((r=r||{}).cornerStyle||n.cornerStyle)?A.controlsUtils.renderCircleControl.call(this,t,e,i,r,n):A.controlsUtils.renderSquareControl.call(this,t,e,i,r,n)}},function(){"use strict";if(ec.StaticCanvas){ec.warn("fabric.StaticCanvas is already defined.");return}var t=ec.util.object.extend,e=ec.util.getElementOffset,i=ec.util.removeFromArray,r=(ec.util.toFixed,ec.util.transformPoint),n=ec.util.invertTransform,o=ec.util.getNodeCanvas,a=ec.util.createCanvasElement,s=Error("Could not initialize `canvas` element");ec.StaticCanvas=ec.util.createClass(ec.CommonMethods,{initialize:function(t,e){e||(e={}),this.renderAndResetBound=this.renderAndReset.bind(this),this.requestRenderAllBound=this.requestRenderAll.bind(this),this._initStatic(t,e)},backgroundColor:"",backgroundImage:null,overlayColor:"",overlayImage:null,includeDefaultValues:!0,stateful:!1,renderOnAddRemove:!0,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:ec.iMatrix.concat(),backgroundVpt:!0,overlayVpt:!0,enableRetinaScaling:!0,vptCoords:{},skipOffscreen:!0,clipPath:void 0,_initStatic:function(t,e){var i=this.requestRenderAllBound;this._objects=[],this._createLowerCanvas(t),this._initOptions(e),this.interactive||this._initRetinaScaling(),e.overlayImage&&this.setOverlayImage(e.overlayImage,i),e.backgroundImage&&this.setBackgroundImage(e.backgroundImage,i),e.backgroundColor&&this.setBackgroundColor(e.backgroundColor,i),e.overlayColor&&this.setOverlayColor(e.overlayColor,i),this.calcOffset()},_isRetinaScaling:function(){return ec.devicePixelRatio>1&&this.enableRetinaScaling},getRetinaScaling:function(){return this._isRetinaScaling()?Math.max(1,ec.devicePixelRatio):1},_initRetinaScaling:function(){if(this._isRetinaScaling()){var t=ec.devicePixelRatio;this.__initRetinaScaling(t,this.lowerCanvasEl,this.contextContainer),this.upperCanvasEl&&this.__initRetinaScaling(t,this.upperCanvasEl,this.contextTop)}},__initRetinaScaling:function(t,e,i){e.setAttribute("width",this.width*t),e.setAttribute("height",this.height*t),i.scale(t,t)},calcOffset:function(){return this._offset=e(this.lowerCanvasEl),this},setOverlayImage:function(t,e,i){return this.__setBgOverlayImage("overlayImage",t,e,i)},setBackgroundImage:function(t,e,i){return this.__setBgOverlayImage("backgroundImage",t,e,i)},setOverlayColor:function(t,e){return this.__setBgOverlayColor("overlayColor",t,e)},setBackgroundColor:function(t,e){return this.__setBgOverlayColor("backgroundColor",t,e)},__setBgOverlayImage:function(t,e,i,r){return"string"==typeof e?ec.util.loadImage(e,function(e,n){if(e){var o=new ec.Image(e,r);this[t]=o,o.canvas=this}i&&i(e,n)},this,r&&r.crossOrigin):(r&&e.setOptions(r),this[t]=e,e&&(e.canvas=this),i&&i(e,!1)),this},__setBgOverlayColor:function(t,e,i){return this[t]=e,this._initGradient(e,t),this._initPattern(e,t,i),this},_createCanvasElement:function(){var t=a();if(!t||(t.style||(t.style={}),void 0===t.getContext))throw s;return t},_initOptions:function(t){var e=this.lowerCanvasEl;this._setOptions(t),this.width=this.width||parseInt(e.width,10)||0,this.height=this.height||parseInt(e.height,10)||0,this.lowerCanvasEl.style&&(e.width=this.width,e.height=this.height,e.style.width=this.width+"px",e.style.height=this.height+"px",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(t){t&&t.getContext?this.lowerCanvasEl=t:this.lowerCanvasEl=ec.util.getById(t)||this._createCanvasElement(),ec.util.addClass(this.lowerCanvasEl,"lower-canvas"),this._originalCanvasStyle=this.lowerCanvasEl.style,this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext("2d")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(t,e){return this.setDimensions({width:t},e)},setHeight:function(t,e){return this.setDimensions({height:t},e)},setDimensions:function(t,e){var i;for(var r in e=e||{},t)i=t[r],e.cssOnly||(this._setBackstoreDimension(r,t[r]),i+="px",this.hasLostContext=!0),e.backstoreOnly||this._setCssDimension(r,i);return this._isCurrentlyDrawing&&this.freeDrawingBrush&&this.freeDrawingBrush._setBrushStyles(this.contextTop),this._initRetinaScaling(),this.calcOffset(),e.cssOnly||this.requestRenderAll(),this},_setBackstoreDimension:function(t,e){return this.lowerCanvasEl[t]=e,this.upperCanvasEl&&(this.upperCanvasEl[t]=e),this.cacheCanvasEl&&(this.cacheCanvasEl[t]=e),this[t]=e,this},_setCssDimension:function(t,e){return this.lowerCanvasEl.style[t]=e,this.upperCanvasEl&&(this.upperCanvasEl.style[t]=e),this.wrapperEl&&(this.wrapperEl.style[t]=e),this},getZoom:function(){return this.viewportTransform[0]},setViewportTransform:function(t){var e,i,r,n=this._activeObject,o=this.backgroundImage,a=this.overlayImage;for(i=0,this.viewportTransform=t,r=this._objects.length;i0+c&&(a=o-1,i(this._objects,n),this._objects.splice(a,0,n)),c++;else 0!==(o=this._objects.indexOf(t))&&(a=this._findNewLowerIndex(t,o,e),i(this._objects,t),this._objects.splice(a,0,t));return this.renderOnAddRemove&&this.requestRenderAll(),this},_findNewLowerIndex:function(t,e,i){var r,n;if(i){for(r=e,n=e-1;n>=0;--n)if(t.intersectsWithObject(this._objects[n])||t.isContainedWithinObject(this._objects[n])||this._objects[n].isContainedWithinObject(t)){r=n;break}}else r=e-1;return r},bringForward:function(t,e){if(!t)return this;var r,n,o,a,s,l=this._activeObject,c=0;if(t===l&&"activeSelection"===t.type)for(r=(s=l._objects).length;r--;)n=s[r],(o=this._objects.indexOf(n))"}}),t(ec.StaticCanvas.prototype,ec.Observable),t(ec.StaticCanvas.prototype,ec.Collection),t(ec.StaticCanvas.prototype,ec.DataURLExporter),t(ec.StaticCanvas,{EMPTY_JSON:'{"objects": [], "background": "white"}',supports:function(t){var e=a();if(!e||!e.getContext)return null;var i=e.getContext("2d");return i&&"setLineDash"===t?void 0!==i.setLineDash:null}}),ec.StaticCanvas.prototype.toJSON=ec.StaticCanvas.prototype.toObject,ec.isLikelyNode&&(ec.StaticCanvas.prototype.createPNGStream=function(){var t=o(this.lowerCanvasEl);return t&&t.createPNGStream()},ec.StaticCanvas.prototype.createJPEGStream=function(t){var e=o(this.lowerCanvasEl);return e&&e.createJPEGStream(t)})}(),ec.BaseBrush=ec.util.createClass({color:"rgb(0, 0, 0)",width:1,shadow:null,strokeLineCap:"round",strokeLineJoin:"round",strokeMiterLimit:10,strokeDashArray:null,limitedToCanvasSize:!1,_setBrushStyles:function(t){t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.miterLimit=this.strokeMiterLimit,t.lineJoin=this.strokeLineJoin,t.setLineDash(this.strokeDashArray||[])},_saveAndTransform:function(t){var e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5])},_setShadow:function(){if(this.shadow){var t=this.canvas,e=this.shadow,i=t.contextTop,r=t.getZoom();t&&t._isRetinaScaling()&&(r*=ec.devicePixelRatio),i.shadowColor=e.color,i.shadowBlur=e.blur*r,i.shadowOffsetX=e.offsetX*r,i.shadowOffsetY=e.offsetY*r}},needsFullRender:function(){return 1>new ec.Color(this.color).getAlpha()||!!this.shadow},_resetShadow:function(){var t=this.canvas.contextTop;t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0},_isOutSideCanvas:function(t){return t.x<0||t.x>this.canvas.getWidth()||t.y<0||t.y>this.canvas.getHeight()}}),ec.PencilBrush=ec.util.createClass(ec.BaseBrush,{decimate:.4,drawStraightLine:!1,straightLineKey:"shiftKey",initialize:function(t){this.canvas=t,this._points=[]},needsFullRender:function(){return this.callSuper("needsFullRender")||this._hasStraightLine},_drawSegment:function(t,e,i){var r=e.midPointFrom(i);return t.quadraticCurveTo(e.x,e.y,r.x,r.y),r},onMouseDown:function(t,e){this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],this._prepareForDrawing(t),this._captureDrawingPath(t),this._render())},onMouseMove:function(t,e){if(this.canvas._isMainEvent(e.e)&&(this.drawStraightLine=e.e[this.straightLineKey],!(!0===this.limitedToCanvasSize&&this._isOutSideCanvas(t))&&this._captureDrawingPath(t)&&this._points.length>1)){if(this.needsFullRender())this.canvas.clearContext(this.canvas.contextTop),this._render();else{var i=this._points,r=i.length,n=this.canvas.contextTop;this._saveAndTransform(n),this.oldEnd&&(n.beginPath(),n.moveTo(this.oldEnd.x,this.oldEnd.y)),this.oldEnd=this._drawSegment(n,i[r-2],i[r-1],!0),n.stroke(),n.restore()}}},onMouseUp:function(t){return!this.canvas._isMainEvent(t.e)||(this.drawStraightLine=!1,this.oldEnd=void 0,this._finalizeAndAddPath(),!1)},_prepareForDrawing:function(t){var e=new ec.Point(t.x,t.y);this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)},_addPoint:function(t){return!(this._points.length>1&&t.eq(this._points[this._points.length-1]))&&(this.drawStraightLine&&this._points.length>1&&(this._hasStraightLine=!0,this._points.pop()),this._points.push(t),!0)},_reset:function(){this._points=[],this._setBrushStyles(this.canvas.contextTop),this._setShadow(),this._hasStraightLine=!1},_captureDrawingPath:function(t){var e=new ec.Point(t.x,t.y);return this._addPoint(e)},_render:function(t){var e,i,r=this._points[0],n=this._points[1];if(t=t||this.canvas.contextTop,this._saveAndTransform(t),t.beginPath(),2===this._points.length&&r.x===n.x&&r.y===n.y){var o=this.width/1e3;r=new ec.Point(r.x,r.y),n=new ec.Point(n.x,n.y),r.x-=o,n.x+=o}for(t.moveTo(r.x,r.y),e=1,i=this._points.length;e=r&&a.push(o=t[i]);return a.push(t[n]),a},_finalizeAndAddPath:function(){this.canvas.contextTop.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate));var t=this.convertPointsToSVGPath(this._points);if(this._isEmptySVGPath(t)){this.canvas.requestRenderAll();return}var e=this.createPath(t);this.canvas.clearContext(this.canvas.contextTop),this.canvas.fire("before:path:created",{path:e}),this.canvas.add(e),this.canvas.requestRenderAll(),e.setCoords(),this._resetShadow(),this.canvas.fire("path:created",{path:e})}}),ec.CircleBrush=ec.util.createClass(ec.BaseBrush,{width:10,initialize:function(t){this.canvas=t,this.points=[]},drawDot:function(t){var e=this.addPoint(t),i=this.canvas.contextTop;this._saveAndTransform(i),this.dot(i,e),i.restore()},dot:function(t,e){t.fillStyle=e.fill,t.beginPath(),t.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),t.closePath(),t.fill()},onMouseDown:function(t){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)},_render:function(){var t,e,i=this.canvas.contextTop,r=this.points;for(this._saveAndTransform(i),t=0,e=r.length;t0&&!this.preserveObjectStacking){e=[],i=[];for(var n=0,o=this._objects.length;n1&&(this._activeObject._objects=i),e.push.apply(e,i)}else e=this._objects;return e},renderAll:function(){!this.contextTopDirty||this._groupSelector||this.isDrawingMode||(this.clearContext(this.contextTop),this.contextTopDirty=!1),this.hasLostContext&&(this.renderTopLayer(this.contextTop),this.hasLostContext=!1);var t=this.contextContainer;return this.renderCanvas(t,this._chooseObjectsToRender()),this},renderTopLayer:function(t){t.save(),this.isDrawingMode&&this._isCurrentlyDrawing&&(this.freeDrawingBrush&&this.freeDrawingBrush._render(),this.contextTopDirty=!0),this.selection&&this._groupSelector&&(this._drawSelection(t),this.contextTopDirty=!0),t.restore()},renderTop:function(){var t=this.contextTop;return this.clearContext(t),this.renderTopLayer(t),this.fire("after:render"),this},_normalizePointer:function(t,e){var i=t.calcTransformMatrix(),r=ec.util.invertTransform(i),n=this.restorePointerVpt(e);return ec.util.transformPoint(n,r)},isTargetTransparent:function(t,e,i){if(t.shouldCache()&&t._cacheCanvas&&t!==this._activeObject){var r=this._normalizePointer(t,{x:e,y:i}),n=Math.max(t.cacheTranslationX+r.x*t.zoomX,0),o=Math.max(t.cacheTranslationY+r.y*t.zoomY,0),a=ec.util.isTransparent(t._cacheContext,Math.round(n),Math.round(o),this.targetFindTolerance);return a}var s=this.contextCache,l=t.selectionBackgroundColor,c=this.viewportTransform;t.selectionBackgroundColor="",this.clearContext(s),s.save(),s.transform(c[0],c[1],c[2],c[3],c[4],c[5]),t.render(s),s.restore(),t.selectionBackgroundColor=l;var a=ec.util.isTransparent(s,e,i,this.targetFindTolerance);return a},_isSelectionKeyPressed:function(t){return Array.isArray(this.selectionKey)?!!this.selectionKey.find(function(e){return!0===t[e]}):t[this.selectionKey]},_shouldClearSelection:function(t,e){var i=this.getActiveObjects(),r=this._activeObject;return!e||e&&r&&i.length>1&&-1===i.indexOf(e)&&r!==e&&!this._isSelectionKeyPressed(t)||e&&!e.evented||e&&!e.selectable&&r&&r!==e},_shouldCenterTransform:function(t,e,i){var r;if(t)return"scale"===e||"scaleX"===e||"scaleY"===e||"resizing"===e?r=this.centeredScaling||t.centeredScaling:"rotate"===e&&(r=this.centeredRotation||t.centeredRotation),r?!i:i},_getOriginFromCorner:function(t,e){var i={x:t.originX,y:t.originY};return"ml"===e||"tl"===e||"bl"===e?i.x="right":("mr"===e||"tr"===e||"br"===e)&&(i.x="left"),"tl"===e||"mt"===e||"tr"===e?i.y="bottom":("bl"===e||"mb"===e||"br"===e)&&(i.y="top"),i},_getActionFromCorner:function(t,e,i,r){if(!e||!t)return"drag";var n=r.controls[e];return n.getActionName(i,n,r)},_setupCurrentTransform:function(t,i,r){if(i){var n=this.getPointer(t),o=i.__corner,a=i.controls[o],s=r&&o?a.getActionHandler(t,i,a):ec.controlsUtils.dragHandler,l=this._getActionFromCorner(r,o,t,i),c=this._getOriginFromCorner(i,o),h=t[this.centeredKey],u={target:i,action:l,actionHandler:s,corner:o,scaleX:i.scaleX,scaleY:i.scaleY,skewX:i.skewX,skewY:i.skewY,offsetX:n.x-i.left,offsetY:n.y-i.top,originX:c.x,originY:c.y,ex:n.x,ey:n.y,lastX:n.x,lastY:n.y,theta:e(i.angle),width:i.width*i.scaleX,shiftKey:t.shiftKey,altKey:h,original:ec.util.saveObjectTransform(i)};this._shouldCenterTransform(i,l,h)&&(u.originX="center",u.originY="center"),u.original.originX=c.x,u.original.originY=c.y,this._currentTransform=u,this._beforeTransform(t)}},setCursor:function(t){this.upperCanvasEl.style.cursor=t},_drawSelection:function(t){var e=this._groupSelector,i=new ec.Point(e.ex,e.ey),r=ec.util.transformPoint(i,this.viewportTransform),n=new ec.Point(e.ex+e.left,e.ey+e.top),o=ec.util.transformPoint(n,this.viewportTransform),a=Math.min(r.x,o.x),s=Math.min(r.y,o.y),l=Math.max(r.x,o.x),c=Math.max(r.y,o.y),h=this.selectionLineWidth/2;this.selectionColor&&(t.fillStyle=this.selectionColor,t.fillRect(a,s,l-a,c-s)),this.selectionLineWidth&&this.selectionBorderColor&&(t.lineWidth=this.selectionLineWidth,t.strokeStyle=this.selectionBorderColor,a+=h,s+=h,l-=h,c-=h,ec.Object.prototype._setLineDash.call(this,t,this.selectionDashArray),t.strokeRect(a,s,l-a,c-s))},findTarget:function(t,e){if(!this.skipTargetFind){var r,n,o=this.getPointer(t,!0),a=this._activeObject,s=this.getActiveObjects(),l=i(t),c=s.length>1&&!e||1===s.length;if(this.targets=[],c&&a._findTargetCorner(o,l)||s.length>1&&!e&&a===this._searchPossibleTargets([a],o))return a;if(1===s.length&&a===this._searchPossibleTargets([a],o)){if(!this.preserveObjectStacking)return a;r=a,n=this.targets,this.targets=[]}var h=this._searchPossibleTargets(this._objects,o);return t[this.altSelectionKey]&&h&&r&&h!==r&&(h=r,this.targets=n),h}},_checkTarget:function(t,e,i){if(e&&e.visible&&e.evented&&e.containsPoint(t)&&(!this.perPixelTargetFind&&!e.perPixelTargetFind||e.isEditing||!this.isTargetTransparent(e,i.x,i.y)))return!0},_searchPossibleTargets:function(t,e){for(var i,r,n=t.length;n--;){var o=t[n],a=o.group?this._normalizePointer(o.group,e):e;if(this._checkTarget(a,o,e)){(i=t[n]).subTargetCheck&&i instanceof ec.Group&&(r=this._searchPossibleTargets(i._objects,e))&&this.targets.push(r);break}}return i},restorePointerVpt:function(t){return ec.util.transformPoint(t,ec.util.invertTransform(this.viewportTransform))},getPointer:function(e,i){if(this._absolutePointer&&!i)return this._absolutePointer;if(this._pointer&&i)return this._pointer;var r,n=t(e),o=this.upperCanvasEl,a=o.getBoundingClientRect(),s=a.width||0,l=a.height||0;(!s||!l)&&("top"in a&&"bottom"in a&&(l=Math.abs(a.top-a.bottom)),"right"in a&&"left"in a&&(s=Math.abs(a.right-a.left))),this.calcOffset(),n.x=n.x-this._offset.left,n.y=n.y-this._offset.top,i||(n=this.restorePointerVpt(n));var c=this.getRetinaScaling();return 1!==c&&(n.x/=c,n.y/=c),r=0===s||0===l?{width:1,height:1}:{width:o.width/s,height:o.height/l},{x:n.x*r.width,y:n.y*r.height}},_createUpperCanvas:function(){var t=this.lowerCanvasEl.className.replace(/\s*lower-canvas\s*/,""),e=this.lowerCanvasEl,i=this.upperCanvasEl;i?i.className="":(i=this._createCanvasElement(),this.upperCanvasEl=i),ec.util.addClass(i,"upper-canvas "+t),this.wrapperEl.appendChild(i),this._copyCanvasStyle(e,i),this._applyCanvasStyle(i),this.contextTop=i.getContext("2d")},getTopContext:function(){return this.contextTop},_createCacheCanvas:function(){this.cacheCanvasEl=this._createCanvasElement(),this.cacheCanvasEl.setAttribute("width",this.width),this.cacheCanvasEl.setAttribute("height",this.height),this.contextCache=this.cacheCanvasEl.getContext("2d")},_initWrapperElement:function(){this.wrapperEl=ec.util.wrapElement(this.lowerCanvasEl,"div",{class:this.containerClass}),ec.util.setStyle(this.wrapperEl,{width:this.width+"px",height:this.height+"px",position:"relative"}),ec.util.makeElementUnselectable(this.wrapperEl)},_applyCanvasStyle:function(t){var e=this.width||t.width,i=this.height||t.height;ec.util.setStyle(t,{position:"absolute",width:e+"px",height:i+"px",left:0,top:0,"touch-action":this.allowTouchScrolling?"manipulation":"none","-ms-touch-action":this.allowTouchScrolling?"manipulation":"none"}),t.width=e,t.height=i,ec.util.makeElementUnselectable(t)},_copyCanvasStyle:function(t,e){e.style.cssText=t.style.cssText},getSelectionContext:function(){return this.contextTop},getSelectionElement:function(){return this.upperCanvasEl},getActiveObject:function(){return this._activeObject},getActiveObjects:function(){var t=this._activeObject;return t?"activeSelection"===t.type&&t._objects?t._objects.slice(0):[t]:[]},_onObjectRemoved:function(t){t===this._activeObject&&(this.fire("before:selection:cleared",{target:t}),this._discardActiveObject(),this.fire("selection:cleared",{target:t}),t.fire("deselected")),t===this._hoveredTarget&&(this._hoveredTarget=null,this._hoveredTargets=[]),this.callSuper("_onObjectRemoved",t)},_fireSelectionEvents:function(t,e){var i=!1,r=this.getActiveObjects(),n=[],o=[];t.forEach(function(t){-1===r.indexOf(t)&&(i=!0,t.fire("deselected",{e:e,target:t}),o.push(t))}),r.forEach(function(r){-1===t.indexOf(r)&&(i=!0,r.fire("selected",{e:e,target:r}),n.push(r))}),t.length>0&&r.length>0?i&&this.fire("selection:updated",{e:e,selected:n,deselected:o}):r.length>0?this.fire("selection:created",{e:e,selected:n}):t.length>0&&this.fire("selection:cleared",{e:e,deselected:o})},setActiveObject:function(t,e){var i=this.getActiveObjects();return this._setActiveObject(t,e),this._fireSelectionEvents(i,e),this},_setActiveObject:function(t,e){return!(this._activeObject===t||!this._discardActiveObject(e,t)||t.onSelect({e:e}))&&(this._activeObject=t,!0)},_discardActiveObject:function(t,e){var i=this._activeObject;if(i){if(i.onDeselect({e:t,object:e}))return!1;this._activeObject=null}return!0},discardActiveObject:function(t){var e=this.getActiveObjects(),i=this.getActiveObject();return e.length&&this.fire("before:selection:cleared",{target:i,e:t}),this._discardActiveObject(t),this._fireSelectionEvents(e,t),this},dispose:function(){var t=this.wrapperEl;return this.removeListeners(),t.removeChild(this.upperCanvasEl),t.removeChild(this.lowerCanvasEl),this.contextCache=null,this.contextTop=null,["upperCanvasEl","cacheCanvasEl"].forEach((function(t){ec.util.cleanUpJsdomNode(this[t]),this[t]=void 0}).bind(this)),t.parentNode&&t.parentNode.replaceChild(this.lowerCanvasEl,this.wrapperEl),delete this.wrapperEl,ec.StaticCanvas.prototype.dispose.call(this),this},clear:function(){return this.discardActiveObject(),this.clearContext(this.contextTop),this.callSuper("clear")},drawControls:function(t){var e=this._activeObject;e&&e._renderControls(t)},_toObject:function(t,e,i){var r=this._realizeGroupTransformOnObject(t),n=this.callSuper("_toObject",t,e,i);return this._unwindGroupTransformOnObject(t,r),n},_realizeGroupTransformOnObject:function(t){if(!t.group||"activeSelection"!==t.group.type||this._activeObject!==t.group)return null;var e={};return["angle","flipX","flipY","left","scaleX","scaleY","skewX","skewY","top"].forEach(function(i){e[i]=t[i]}),ec.util.addTransformToObject(t,this._activeObject.calcOwnMatrix()),e},_unwindGroupTransformOnObject:function(t,e){e&&t.set(e)},_setSVGObject:function(t,e,i){var r=this._realizeGroupTransformOnObject(e);this.callSuper("_setSVGObject",t,e,i),this._unwindGroupTransformOnObject(e,r)},setViewportTransform:function(t){this.renderOnAddRemove&&this._activeObject&&this._activeObject.isEditing&&this._activeObject.clearContextTop(),ec.StaticCanvas.prototype.setViewportTransform.call(this,t)}}),ec.StaticCanvas)"prototype"!==r&&(ec.Canvas[r]=ec.StaticCanvas[r])}(),function(){var t=ec.util.addListener,e=ec.util.removeListener,i={passive:!1};function r(t,e){return t.button&&t.button===e-1}ec.util.object.extend(ec.Canvas.prototype,{mainTouchId:null,_initEventListeners:function(){this.removeListeners(),this._bindEvents(),this.addOrRemove(t,"add")},_getEventPrefix:function(){return this.enablePointerEvents?"pointer":"mouse"},addOrRemove:function(t,e){var r=this.upperCanvasEl,n=this._getEventPrefix();t(ec.window,"resize",this._onResize),t(r,n+"down",this._onMouseDown),t(r,n+"move",this._onMouseMove,i),t(r,n+"out",this._onMouseOut),t(r,n+"enter",this._onMouseEnter),t(r,"wheel",this._onMouseWheel),t(r,"contextmenu",this._onContextMenu),t(r,"dblclick",this._onDoubleClick),t(r,"dragover",this._onDragOver),t(r,"dragenter",this._onDragEnter),t(r,"dragleave",this._onDragLeave),t(r,"drop",this._onDrop),this.enablePointerEvents||t(r,"touchstart",this._onTouchStart,i),"undefined"!=typeof eventjs&&e in eventjs&&(eventjs[e](r,"gesture",this._onGesture),eventjs[e](r,"drag",this._onDrag),eventjs[e](r,"orientation",this._onOrientationChange),eventjs[e](r,"shake",this._onShake),eventjs[e](r,"longpress",this._onLongPress))},removeListeners:function(){this.addOrRemove(e,"remove");var t=this._getEventPrefix();e(ec.document,t+"up",this._onMouseUp),e(ec.document,"touchend",this._onTouchEnd,i),e(ec.document,t+"move",this._onMouseMove,i),e(ec.document,"touchmove",this._onMouseMove,i)},_bindEvents:function(){this.eventsBound||(this._onMouseDown=this._onMouseDown.bind(this),this._onTouchStart=this._onTouchStart.bind(this),this._onMouseMove=this._onMouseMove.bind(this),this._onMouseUp=this._onMouseUp.bind(this),this._onTouchEnd=this._onTouchEnd.bind(this),this._onResize=this._onResize.bind(this),this._onGesture=this._onGesture.bind(this),this._onDrag=this._onDrag.bind(this),this._onShake=this._onShake.bind(this),this._onLongPress=this._onLongPress.bind(this),this._onOrientationChange=this._onOrientationChange.bind(this),this._onMouseWheel=this._onMouseWheel.bind(this),this._onMouseOut=this._onMouseOut.bind(this),this._onMouseEnter=this._onMouseEnter.bind(this),this._onContextMenu=this._onContextMenu.bind(this),this._onDoubleClick=this._onDoubleClick.bind(this),this._onDragOver=this._onDragOver.bind(this),this._onDragEnter=this._simpleEventHandler.bind(this,"dragenter"),this._onDragLeave=this._simpleEventHandler.bind(this,"dragleave"),this._onDrop=this._onDrop.bind(this),this.eventsBound=!0)},_onGesture:function(t,e){this.__onTransformGesture&&this.__onTransformGesture(t,e)},_onDrag:function(t,e){this.__onDrag&&this.__onDrag(t,e)},_onMouseWheel:function(t){this.__onMouseWheel(t)},_onMouseOut:function(t){var e=this._hoveredTarget;this.fire("mouse:out",{target:e,e:t}),this._hoveredTarget=null,e&&e.fire("mouseout",{e:t});var i=this;this._hoveredTargets.forEach(function(r){i.fire("mouse:out",{target:e,e:t}),r&&e.fire("mouseout",{e:t})}),this._hoveredTargets=[],this._iTextInstances&&this._iTextInstances.forEach(function(t){t.isEditing&&t.hiddenTextarea.focus()})},_onMouseEnter:function(t){this._currentTransform||this.findTarget(t)||(this.fire("mouse:over",{target:null,e:t}),this._hoveredTarget=null,this._hoveredTargets=[])},_onOrientationChange:function(t,e){this.__onOrientationChange&&this.__onOrientationChange(t,e)},_onShake:function(t,e){this.__onShake&&this.__onShake(t,e)},_onLongPress:function(t,e){this.__onLongPress&&this.__onLongPress(t,e)},_onDragOver:function(t){t.preventDefault();var e=this._simpleEventHandler("dragover",t);this._fireEnterLeaveEvents(e,t)},_onDrop:function(t){return this._simpleEventHandler("drop:before",t),this._simpleEventHandler("drop",t)},_onContextMenu:function(t){return this.stopContextMenu&&(t.stopPropagation(),t.preventDefault()),!1},_onDoubleClick:function(t){this._cacheTransformEventData(t),this._handleEvent(t,"dblclick"),this._resetTransformEventData(t)},getPointerId:function(t){var e=t.changedTouches;return e?e[0]&&e[0].identifier:this.enablePointerEvents?t.pointerId:-1},_isMainEvent:function(t){return!0===t.isPrimary||!1!==t.isPrimary&&("touchend"===t.type&&0===t.touches.length||!t.changedTouches||t.changedTouches[0].identifier===this.mainTouchId)},_onTouchStart:function(r){r.preventDefault(),null===this.mainTouchId&&(this.mainTouchId=this.getPointerId(r)),this.__onMouseDown(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();t(ec.document,"touchend",this._onTouchEnd,i),t(ec.document,"touchmove",this._onMouseMove,i),e(n,o+"down",this._onMouseDown)},_onMouseDown:function(r){this.__onMouseDown(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();e(n,o+"move",this._onMouseMove,i),t(ec.document,o+"up",this._onMouseUp),t(ec.document,o+"move",this._onMouseMove,i)},_onTouchEnd:function(r){if(!(r.touches.length>0)){this.__onMouseUp(r),this._resetTransformEventData(),this.mainTouchId=null;var n=this._getEventPrefix();e(ec.document,"touchend",this._onTouchEnd,i),e(ec.document,"touchmove",this._onMouseMove,i);var o=this;this._willAddMouseDown&&clearTimeout(this._willAddMouseDown),this._willAddMouseDown=setTimeout(function(){t(o.upperCanvasEl,n+"down",o._onMouseDown),o._willAddMouseDown=0},400)}},_onMouseUp:function(r){this.__onMouseUp(r),this._resetTransformEventData();var n=this.upperCanvasEl,o=this._getEventPrefix();this._isMainEvent(r)&&(e(ec.document,o+"up",this._onMouseUp),e(ec.document,o+"move",this._onMouseMove,i),t(n,o+"move",this._onMouseMove,i))},_onMouseMove:function(t){!this.allowTouchScrolling&&t.preventDefault&&t.preventDefault(),this.__onMouseMove(t)},_onResize:function(){this.calcOffset()},_shouldRender:function(t){var e=this._activeObject;return!!e!=!!t||!!e&&!!t&&e!==t||(e&&e.isEditing,!1)},__onMouseUp:function(t){var e,i,n,o=this._currentTransform,a=this._groupSelector,s=!1,l=!a||0===a.left&&0===a.top;if(this._cacheTransformEventData(t),n=this._target,this._handleEvent(t,"up:before"),r(t,3)){this.fireRightClick&&this._handleEvent(t,"up",3,l);return}if(r(t,2)){this.fireMiddleClick&&this._handleEvent(t,"up",2,l),this._resetTransformEventData();return}if(this.isDrawingMode&&this._isCurrentlyDrawing){this._onMouseUpInDrawingMode(t);return}if(this._isMainEvent(t)){if(o&&(this._finalizeCurrentTransform(t),s=o.actionPerformed),!l){var c=n===this._activeObject;this._maybeGroupObjects(t),s||(s=this._shouldRender(n)||!c&&n===this._activeObject)}if(n){if(e=n._findTargetCorner(this.getPointer(t,!0),ec.util.isTouchEvent(t)),n.selectable&&n!==this._activeObject&&"up"===n.activeOn)this.setActiveObject(n,t),s=!0;else{var h=n.controls[e],u=h&&h.getMouseUpHandler(t,n,h);u&&(i=this.getPointer(t),u(t,o,i.x,i.y))}n.isMoving=!1}if(o&&(o.target!==n||o.corner!==e)){var f=o.target&&o.target.controls[o.corner],d=f&&f.getMouseUpHandler(t,n,h);i=i||this.getPointer(t),d&&d(t,o,i.x,i.y)}this._setCursorFromEvent(t,n),this._handleEvent(t,"up",1,l),this._groupSelector=null,this._currentTransform=null,n&&(n.__corner=0),s?this.requestRenderAll():l||this.renderTop()}},_simpleEventHandler:function(t,e){var i=this.findTarget(e),r=this.targets,n={e:e,target:i,subTargets:r};if(this.fire(t,n),i&&i.fire(t,n),!r)return i;for(var o=0;o1&&(e=new ec.ActiveSelection(i.reverse(),{canvas:this}),this.setActiveObject(e,t))},_collectObjects:function(t){for(var e,i=[],r=this._groupSelector.ex,n=this._groupSelector.ey,o=r+this._groupSelector.left,a=n+this._groupSelector.top,s=new ec.Point(L(r,o),L(n,a)),l=new ec.Point(I(r,o),I(n,a)),c=!this.selectionFullyContained,h=r===o&&n===a,u=this._objects.length;u--&&!((e=this._objects[u])&&e.selectable&&e.visible&&(c&&e.intersectsWithRect(s,l,!0)||e.isContainedWithinRect(s,l,!0)||c&&e.containsPoint(s,null,!0)||c&&e.containsPoint(l,null,!0))&&(i.push(e),h)););return i.length>1&&(i=i.filter(function(e){return!e.onSelect({e:t})})),i},_maybeGroupObjects:function(t){this.selection&&this._groupSelector&&this._groupSelectedObjects(t),this.setCursor(this.defaultCursor),this._groupSelector=null}}),ec.util.object.extend(ec.StaticCanvas.prototype,{toDataURL:function(t){t||(t={});var e=t.format||"png",i=t.quality||1,r=(t.multiplier||1)*(t.enableRetinaScaling?this.getRetinaScaling():1),n=this.toCanvasElement(r,t);return ec.util.toDataURL(n,e,i)},toCanvasElement:function(t,e){t=t||1;var i=((e=e||{}).width||this.width)*t,r=(e.height||this.height)*t,n=this.getZoom(),o=this.width,a=this.height,s=n*t,l=this.viewportTransform,c=(l[4]-(e.left||0))*t,h=(l[5]-(e.top||0))*t,u=this.interactive,f=this.enableRetinaScaling,d=ec.util.createCanvasElement(),g=this.contextTop;return d.width=i,d.height=r,this.contextTop=null,this.enableRetinaScaling=!1,this.interactive=!1,this.viewportTransform=[s,0,0,s,c,h],this.width=i,this.height=r,this.calcViewportBoundaries(),this.renderCanvas(d.getContext("2d"),this._objects),this.viewportTransform=l,this.width=o,this.height=a,this.calcViewportBoundaries(),this.interactive=u,this.enableRetinaScaling=f,this.contextTop=g,d}}),ec.util.object.extend(ec.StaticCanvas.prototype,{loadFromJSON:function(t,e,i){if(t){var r="string"==typeof t?JSON.parse(t):ec.util.object.clone(t),n=this,o=r.clipPath,a=this.renderOnAddRemove;return this.renderOnAddRemove=!1,delete r.clipPath,this._enlivenObjects(r.objects,function(t){n.clear(),n._setBgOverlay(r,function(){o?n._enlivenObjects([o],function(i){n.clipPath=i[0],n.__setupCanvas.call(n,r,t,a,e)}):n.__setupCanvas.call(n,r,t,a,e)})},i),this}},__setupCanvas:function(t,e,i,r){var n=this;e.forEach(function(t,e){n.insertAt(t,e)}),this.renderOnAddRemove=i,delete t.objects,delete t.backgroundImage,delete t.overlayImage,delete t.background,delete t.overlay,this._setOptions(t),this.renderAll(),r&&r()},_setBgOverlay:function(t,e){var i={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(!t.backgroundImage&&!t.overlayImage&&!t.background&&!t.overlay){e&&e();return}var r=function(){i.backgroundImage&&i.overlayImage&&i.backgroundColor&&i.overlayColor&&e&&e()};this.__setBgOverlay("backgroundImage",t.backgroundImage,i,r),this.__setBgOverlay("overlayImage",t.overlayImage,i,r),this.__setBgOverlay("backgroundColor",t.background,i,r),this.__setBgOverlay("overlayColor",t.overlay,i,r)},__setBgOverlay:function(t,e,i,r){var n=this;if(!e){i[t]=!0,r&&r();return}"backgroundImage"===t||"overlayImage"===t?ec.util.enlivenObjects([e],function(e){n[t]=e[0],i[t]=!0,r&&r()}):this["set"+ec.util.string.capitalize(t,!0)](e,function(){i[t]=!0,r&&r()})},_enlivenObjects:function(t,e,i){if(!t||0===t.length){e&&e([]);return}ec.util.enlivenObjects(t,function(t){e&&e(t)},null,i)},_toDataURL:function(t,e){this.clone(function(i){e(i.toDataURL(t))})},_toDataURLWithMultiplier:function(t,e,i){this.clone(function(r){i(r.toDataURLWithMultiplier(t,e))})},clone:function(t,e){var i=JSON.stringify(this.toJSON(e));this.cloneWithoutData(function(e){e.loadFromJSON(i,function(){t&&t(e)})})},cloneWithoutData:function(t){var e=ec.util.createCanvasElement();e.width=this.width,e.height=this.height;var i=new ec.Canvas(e);this.backgroundImage?(i.setBackgroundImage(this.backgroundImage.src,function(){i.renderAll(),t&&t(i)}),i.backgroundImageOpacity=this.backgroundImageOpacity,i.backgroundImageStretch=this.backgroundImageStretch):t&&t(i)}}),o=(n=(r=e).fabric||(r.fabric={})).util.object.extend,a=n.util.object.clone,s=n.util.toFixed,l=n.util.string.capitalize,c=n.util.degreesToRadians,h=!n.isLikelyNode,n.Object||(n.Object=n.util.createClass(n.CommonMethods,{type:"object",originX:"left",originY:"top",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,skewX:0,skewY:0,cornerSize:13,touchCornerSize:24,transparentCorners:!0,hoverCursor:null,moveCursor:null,padding:0,borderColor:"rgb(178,204,255)",borderDashArray:null,cornerColor:"rgb(178,204,255)",cornerStrokeColor:null,cornerStyle:"rect",cornerDashArray:null,centeredScaling:!1,centeredRotation:!0,fill:"rgb(0,0,0)",fillRule:"nonzero",globalCompositeOperation:"source-over",backgroundColor:"",selectionBackgroundColor:"",stroke:null,strokeWidth:1,strokeDashArray:null,strokeDashOffset:0,strokeLineCap:"butt",strokeLineJoin:"miter",strokeMiterLimit:4,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,minScaleLimit:0,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,perPixelTargetFind:!1,includeDefaultValues:!0,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockSkewingX:!1,lockSkewingY:!1,lockScalingFlip:!1,excludeFromExport:!1,objectCaching:h,statefullCache:!1,noScaleCache:!0,strokeUniform:!1,dirty:!0,__corner:0,paintFirst:"fill",activeOn:"down",stateProperties:"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit angle opacity fill globalCompositeOperation shadow visible backgroundColor skewX skewY fillRule paintFirst clipPath strokeUniform".split(" "),cacheProperties:"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath".split(" "),colorProperties:"fill stroke backgroundColor".split(" "),clipPath:void 0,inverted:!1,absolutePositioned:!1,initialize:function(t){t&&this.setOptions(t)},_createCacheCanvas:function(){this._cacheProperties={},this._cacheCanvas=n.util.createCanvasElement(),this._cacheContext=this._cacheCanvas.getContext("2d"),this._updateCacheCanvas(),this.dirty=!0},_limitCacheSize:function(t){var e=n.perfLimitSizeTotal,i=t.width,r=t.height,o=n.maxCacheSideLimit,a=n.minCacheSideLimit;if(i<=o&&r<=o&&i*r<=e)return ic&&(t.zoomX/=i/c,t.width=c,t.capped=!0),r>h&&(t.zoomY/=r/h,t.height=h,t.capped=!0),t},_getCacheCanvasDimensions:function(){var t=this.getTotalObjectScaling(),e=this._getTransformedDimensions(0,0),i=e.x*t.scaleX/this.scaleX,r=e.y*t.scaleY/this.scaleY;return{width:i+2,height:r+2,zoomX:t.scaleX,zoomY:t.scaleY,x:i,y:r}},_updateCacheCanvas:function(){var t=this.canvas;if(this.noScaleCache&&t&&t._currentTransform){var e=t._currentTransform.target,i=t._currentTransform.action;if(this===e&&i.slice&&"scale"===i.slice(0,5))return!1}var r,o,a=this._cacheCanvas,s=this._limitCacheSize(this._getCacheCanvasDimensions()),l=n.minCacheSideLimit,c=s.width,h=s.height,u=s.zoomX,f=s.zoomY,d=c!==this.cacheWidth||h!==this.cacheHeight,g=this.zoomX!==u||this.zoomY!==f,p=d||g,v=0,m=0,y=!1;if(d){var b=this._cacheCanvas.width,_=this._cacheCanvas.height,x=c>b||h>_;y=x||(c<.9*b||h<.9*_)&&b>l&&_>l,x&&!s.capped&&(c>l||h>l)&&(v=.1*c,m=.1*h)}return this instanceof n.Text&&this.path&&(p=!0,y=!0,v+=this.getHeightOfLine(0)*this.zoomX,m+=this.getHeightOfLine(0)*this.zoomY),!!p&&(y?(a.width=Math.ceil(c+v),a.height=Math.ceil(h+m)):(this._cacheContext.setTransform(1,0,0,1,0,0),this._cacheContext.clearRect(0,0,a.width,a.height)),r=s.x/2,o=s.y/2,this.cacheTranslationX=Math.round(a.width/2-r)+r,this.cacheTranslationY=Math.round(a.height/2-o)+o,this.cacheWidth=c,this.cacheHeight=h,this._cacheContext.translate(this.cacheTranslationX,this.cacheTranslationY),this._cacheContext.scale(u,f),this.zoomX=u,this.zoomY=f,!0)},setOptions:function(t){this._setOptions(t),this._initGradient(t.fill,"fill"),this._initGradient(t.stroke,"stroke"),this._initPattern(t.fill,"fill"),this._initPattern(t.stroke,"stroke")},transform:function(t){var e=this.group&&!this.group._transformDone||this.group&&this.canvas&&t===this.canvas.contextTop,i=this.calcTransformMatrix(!e);t.transform(i[0],i[1],i[2],i[3],i[4],i[5])},toObject:function(t){var e=n.Object.NUM_FRACTION_DIGITS,i={type:this.type,version:n.version,originX:this.originX,originY:this.originY,left:s(this.left,e),top:s(this.top,e),width:s(this.width,e),height:s(this.height,e),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:s(this.strokeWidth,e),strokeDashArray:this.strokeDashArray?this.strokeDashArray.concat():this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeDashOffset:this.strokeDashOffset,strokeLineJoin:this.strokeLineJoin,strokeUniform:this.strokeUniform,strokeMiterLimit:s(this.strokeMiterLimit,e),scaleX:s(this.scaleX,e),scaleY:s(this.scaleY,e),angle:s(this.angle,e),flipX:this.flipX,flipY:this.flipY,opacity:s(this.opacity,e),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,backgroundColor:this.backgroundColor,fillRule:this.fillRule,paintFirst:this.paintFirst,globalCompositeOperation:this.globalCompositeOperation,skewX:s(this.skewX,e),skewY:s(this.skewY,e)};return this.clipPath&&!this.clipPath.excludeFromExport&&(i.clipPath=this.clipPath.toObject(t),i.clipPath.inverted=this.clipPath.inverted,i.clipPath.absolutePositioned=this.clipPath.absolutePositioned),n.util.populateWithProperties(this,i,t),this.includeDefaultValues||(i=this._removeDefaultValues(i)),i},toDatalessObject:function(t){return this.toObject(t)},_removeDefaultValues:function(t){var e=n.util.getKlass(t.type).prototype;return e.stateProperties.forEach(function(i){"left"!==i&&"top"!==i&&(t[i]===e[i]&&delete t[i],Array.isArray(t[i])&&Array.isArray(e[i])&&0===t[i].length&&0===e[i].length&&delete t[i])}),t},toString:function(){return"#"},getObjectScaling:function(){if(!this.group)return{scaleX:this.scaleX,scaleY:this.scaleY};var t=n.util.qrDecompose(this.calcTransformMatrix());return{scaleX:Math.abs(t.scaleX),scaleY:Math.abs(t.scaleY)}},getTotalObjectScaling:function(){var t=this.getObjectScaling(),e=t.scaleX,i=t.scaleY;if(this.canvas){var r=this.canvas.getZoom(),n=this.canvas.getRetinaScaling();e*=r*n,i*=r*n}return{scaleX:e,scaleY:i}},getObjectOpacity:function(){var t=this.opacity;return this.group&&(t*=this.group.getObjectOpacity()),t},_set:function(t,e){var i=this[t]!==e,r=!1;return("scaleX"===t||"scaleY"===t)&&(e=this._constrainScale(e)),"scaleX"===t&&e<0?(this.flipX=!this.flipX,e*=-1):"scaleY"===t&&e<0?(this.flipY=!this.flipY,e*=-1):"shadow"!==t||!e||e instanceof n.Shadow?"dirty"===t&&this.group&&this.group.set("dirty",e):e=new n.Shadow(e),this[t]=e,i&&(r=this.group&&this.group.isOnACache(),this.cacheProperties.indexOf(t)>-1?(this.dirty=!0,r&&this.group.set("dirty",!0)):r&&this.stateProperties.indexOf(t)>-1&&this.group.set("dirty",!0)),this},setOnGroup:function(){},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:n.iMatrix.concat()},isNotVisible:function(){return 0===this.opacity||!this.width&&!this.height&&0===this.strokeWidth||!this.visible},render:function(t){!this.isNotVisible()&&(!this.canvas||!this.canvas.skipOffscreen||this.group||this.isOnScreen())&&(t.save(),this._setupCompositeOperation(t),this.drawSelectionBackground(t),this.transform(t),this._setOpacity(t),this._setShadow(t,this),this.shouldCache()?(this.renderCache(),this.drawCacheOnCanvas(t)):(this._removeCacheCanvas(),this.dirty=!1,this.drawObject(t),this.objectCaching&&this.statefullCache&&this.saveState({propertySet:"cacheProperties"})),t.restore())},renderCache:function(t){t=t||{},this._cacheCanvas&&this._cacheContext||this._createCacheCanvas(),this.isCacheDirty()&&(this.statefullCache&&this.saveState({propertySet:"cacheProperties"}),this.drawObject(this._cacheContext,t.forClipping),this.dirty=!1)},_removeCacheCanvas:function(){this._cacheCanvas=null,this._cacheContext=null,this.cacheWidth=0,this.cacheHeight=0},hasStroke:function(){return this.stroke&&"transparent"!==this.stroke&&0!==this.strokeWidth},hasFill:function(){return this.fill&&"transparent"!==this.fill},needsItsOwnCache:function(){return!!("stroke"===this.paintFirst&&this.hasFill()&&this.hasStroke())&&"object"==typeof this.shadow||!!this.clipPath},shouldCache:function(){return this.ownCaching=this.needsItsOwnCache()||this.objectCaching&&(!this.group||!this.group.isOnACache()),this.ownCaching},willDrawShadow:function(){return!!this.shadow&&(0!==this.shadow.offsetX||0!==this.shadow.offsetY)},drawClipPathOnCache:function(t,e){if(t.save(),e.inverted?t.globalCompositeOperation="destination-out":t.globalCompositeOperation="destination-in",e.absolutePositioned){var i=n.util.invertTransform(this.calcTransformMatrix());t.transform(i[0],i[1],i[2],i[3],i[4],i[5])}e.transform(t),t.scale(1/e.zoomX,1/e.zoomY),t.drawImage(e._cacheCanvas,-e.cacheTranslationX,-e.cacheTranslationY),t.restore()},drawObject:function(t,e){var i=this.fill,r=this.stroke;e?(this.fill="black",this.stroke="",this._setClippingProperties(t)):this._renderBackground(t),this._render(t),this._drawClipPath(t,this.clipPath),this.fill=i,this.stroke=r},_drawClipPath:function(t,e){e&&(e.canvas=this.canvas,e.shouldCache(),e._transformDone=!0,e.renderCache({forClipping:!0}),this.drawClipPathOnCache(t,e))},drawCacheOnCanvas:function(t){t.scale(1/this.zoomX,1/this.zoomY),t.drawImage(this._cacheCanvas,-this.cacheTranslationX,-this.cacheTranslationY)},isCacheDirty:function(t){if(this.isNotVisible())return!1;if(this._cacheCanvas&&this._cacheContext&&!t&&this._updateCacheCanvas())return!0;if(this.dirty||this.clipPath&&this.clipPath.absolutePositioned||this.statefullCache&&this.hasStateChanged("cacheProperties")){if(this._cacheCanvas&&this._cacheContext&&!t){var e=this.cacheWidth/this.zoomX,i=this.cacheHeight/this.zoomY;this._cacheContext.clearRect(-e/2,-i/2,e,i)}return!0}return!1},_renderBackground:function(t){if(this.backgroundColor){var e=this._getNonTransformedDimensions();t.fillStyle=this.backgroundColor,t.fillRect(-e.x/2,-e.y/2,e.x,e.y),this._removeShadow(t)}},_setOpacity:function(t){this.group&&!this.group._transformDone?t.globalAlpha=this.getObjectOpacity():t.globalAlpha*=this.opacity},_setStrokeStyles:function(t,e){var i=e.stroke;i&&(t.lineWidth=e.strokeWidth,t.lineCap=e.strokeLineCap,t.lineDashOffset=e.strokeDashOffset,t.lineJoin=e.strokeLineJoin,t.miterLimit=e.strokeMiterLimit,i.toLive?"percentage"===i.gradientUnits||i.gradientTransform||i.patternTransform?this._applyPatternForTransformedGradient(t,i):(t.strokeStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,i)):t.strokeStyle=e.stroke)},_setFillStyles:function(t,e){var i=e.fill;i&&(i.toLive?(t.fillStyle=i.toLive(t,this),this._applyPatternGradientTransform(t,e.fill)):t.fillStyle=i)},_setClippingProperties:function(t){t.globalAlpha=1,t.strokeStyle="transparent",t.fillStyle="#000000"},_setLineDash:function(t,e){e&&0!==e.length&&(1&e.length&&e.push.apply(e,e),t.setLineDash(e))},_renderControls:function(t,e){var i,r,o,a=this.getViewportTransform(),s=this.calcTransformMatrix();r=void 0!==(e=e||{}).hasBorders?e.hasBorders:this.hasBorders,o=void 0!==e.hasControls?e.hasControls:this.hasControls,s=n.util.multiplyTransformMatrices(a,s),i=n.util.qrDecompose(s),t.save(),t.translate(i.translateX,i.translateY),t.lineWidth=1*this.borderScaleFactor,this.group||(t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1),this.flipX&&(i.angle-=180),t.rotate(c(this.group?i.angle:this.angle)),e.forActiveSelection||this.group?r&&this.drawBordersInGroup(t,i,e):r&&this.drawBorders(t,e),o&&this.drawControls(t,e),t.restore()},_setShadow:function(t){if(this.shadow){var e,i=this.shadow,r=this.canvas,o=r&&r.viewportTransform[0]||1,a=r&&r.viewportTransform[3]||1;e=i.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),r&&r._isRetinaScaling()&&(o*=n.devicePixelRatio,a*=n.devicePixelRatio),t.shadowColor=i.color,t.shadowBlur=i.blur*n.browserShadowBlurConstant*(o+a)*(e.scaleX+e.scaleY)/4,t.shadowOffsetX=i.offsetX*o*e.scaleX,t.shadowOffsetY=i.offsetY*a*e.scaleY}},_removeShadow:function(t){this.shadow&&(t.shadowColor="",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)},_applyPatternGradientTransform:function(t,e){if(!e||!e.toLive)return{offsetX:0,offsetY:0};var i=e.gradientTransform||e.patternTransform,r=-this.width/2+e.offsetX||0,n=-this.height/2+e.offsetY||0;return"percentage"===e.gradientUnits?t.transform(this.width,0,0,this.height,r,n):t.transform(1,0,0,1,r,n),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),{offsetX:r,offsetY:n}},_renderPaintInOrder:function(t){"stroke"===this.paintFirst?(this._renderStroke(t),this._renderFill(t)):(this._renderFill(t),this._renderStroke(t))},_render:function(){},_renderFill:function(t){this.fill&&(t.save(),this._setFillStyles(t,this),"evenodd"===this.fillRule?t.fill("evenodd"):t.fill(),t.restore())},_renderStroke:function(t){if(this.stroke&&0!==this.strokeWidth){if(this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t),t.save(),this.strokeUniform&&this.group){var e=this.getObjectScaling();t.scale(1/e.scaleX,1/e.scaleY)}else this.strokeUniform&&t.scale(1/this.scaleX,1/this.scaleY);this._setLineDash(t,this.strokeDashArray),this._setStrokeStyles(t,this),t.stroke(),t.restore()}},_applyPatternForTransformedGradient:function(t,e){var i,r=this._limitCacheSize(this._getCacheCanvasDimensions()),o=n.util.createCanvasElement(),a=this.canvas.getRetinaScaling(),s=r.x/this.scaleX/a,l=r.y/this.scaleY/a;o.width=s,o.height=l,(i=o.getContext("2d")).beginPath(),i.moveTo(0,0),i.lineTo(s,0),i.lineTo(s,l),i.lineTo(0,l),i.closePath(),i.translate(s/2,l/2),i.scale(r.zoomX/this.scaleX/a,r.zoomY/this.scaleY/a),this._applyPatternGradientTransform(i,e),i.fillStyle=e.toLive(t),i.fill(),t.translate(-this.width/2-this.strokeWidth/2,-this.height/2-this.strokeWidth/2),t.scale(a*this.scaleX/r.zoomX,a*this.scaleY/r.zoomY),t.strokeStyle=i.createPattern(o,"no-repeat")},_findCenterFromElement:function(){return{x:this.left+this.width/2,y:this.top+this.height/2}},_assignTransformMatrixProps:function(){if(this.transformMatrix){var t=n.util.qrDecompose(this.transformMatrix);this.flipX=!1,this.flipY=!1,this.set("scaleX",t.scaleX),this.set("scaleY",t.scaleY),this.angle=t.angle,this.skewX=t.skewX,this.skewY=0}},_removeTransformMatrix:function(t){var e=this._findCenterFromElement();this.transformMatrix&&(this._assignTransformMatrixProps(),e=n.util.transformPoint(e,this.transformMatrix)),this.transformMatrix=null,t&&(this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this.cropX=t.cropX,this.cropY=t.cropY,e.x+=t.offsetLeft,e.y+=t.offsetTop,this.width=t.width,this.height=t.height),this.setPositionByOrigin(e,"center","center")},clone:function(t,e){var i=this.toObject(e);this.constructor.fromObject?this.constructor.fromObject(i,t):n.Object._fromObject("Object",i,t)},cloneAsImage:function(t,e){var i=this.toCanvasElement(e);return t&&t(new n.Image(i)),this},toCanvasElement:function(t){t||(t={});var e=n.util,i=e.saveObjectTransform(this),r=this.group,o=this.shadow,a=Math.abs,s=(t.multiplier||1)*(t.enableRetinaScaling?n.devicePixelRatio:1);delete this.group,t.withoutTransform&&e.resetObjectTransform(this),t.withoutShadow&&(this.shadow=null);var l,c,h,u,f=n.util.createCanvasElement(),d=this.getBoundingRect(!0,!0),g=this.shadow,p={x:0,y:0};g&&(c=g.blur,l=g.nonScaling?{scaleX:1,scaleY:1}:this.getObjectScaling(),p.x=2*Math.round(a(g.offsetX)+c)*a(l.scaleX),p.y=2*Math.round(a(g.offsetY)+c)*a(l.scaleY)),h=d.width+p.x,u=d.height+p.y,f.width=Math.ceil(h),f.height=Math.ceil(u);var v=new n.StaticCanvas(f,{enableRetinaScaling:!1,renderOnAddRemove:!1,skipOffscreen:!1});"jpeg"===t.format&&(v.backgroundColor="#fff"),this.setPositionByOrigin(new n.Point(v.width/2,v.height/2),"center","center");var m=this.canvas;v.add(this);var y=v.toCanvasElement(s||1,t);return this.shadow=o,this.set("canvas",m),r&&(this.group=r),this.set(i).setCoords(),v._objects=[],v.dispose(),v=null,y},toDataURL:function(t){return t||(t={}),n.util.toDataURL(this.toCanvasElement(t),t.format||"png",t.quality||1)},isType:function(t){return arguments.length>1?Array.from(arguments).includes(this.type):this.type===t},complexity:function(){return 1},toJSON:function(t){return this.toObject(t)},rotate:function(t){var e=("center"!==this.originX||"center"!==this.originY)&&this.centeredRotation;return e&&this._setOriginToCenter(),this.set("angle",t),e&&this._resetOrigin(),this},centerH:function(){return this.canvas&&this.canvas.centerObjectH(this),this},viewportCenterH:function(){return this.canvas&&this.canvas.viewportCenterObjectH(this),this},centerV:function(){return this.canvas&&this.canvas.centerObjectV(this),this},viewportCenterV:function(){return this.canvas&&this.canvas.viewportCenterObjectV(this),this},center:function(){return this.canvas&&this.canvas.centerObject(this),this},viewportCenter:function(){return this.canvas&&this.canvas.viewportCenterObject(this),this},getLocalPointer:function(t,e){e=e||this.canvas.getPointer(t);var i=new n.Point(e.x,e.y),r=this._getLeftTopCoords();return this.angle&&(i=n.util.rotatePoint(i,r,c(-this.angle))),{x:i.x-r.x,y:i.y-r.y}},_setupCompositeOperation:function(t){this.globalCompositeOperation&&(t.globalCompositeOperation=this.globalCompositeOperation)},dispose:function(){n.runningAnimations&&n.runningAnimations.cancelByTarget(this)}}),n.util.createAccessors&&n.util.createAccessors(n.Object),o(n.Object.prototype,n.Observable),n.Object.NUM_FRACTION_DIGITS=2,n.Object.ENLIVEN_PROPS=["clipPath"],n.Object._fromObject=function(t,e,i,r){var o=n[t];e=a(e,!0),n.util.enlivenPatterns([e.fill,e.stroke],function(t){void 0!==t[0]&&(e.fill=t[0]),void 0!==t[1]&&(e.stroke=t[1]),n.util.enlivenObjectEnlivables(e,e,function(){var t=r?new o(e[r],e):new o(e);i&&i(t)})})},n.Object.__uid=0),R=ec.util.degreesToRadians,B={left:-.5,center:0,right:.5},X={top:-.5,center:0,bottom:.5},ec.util.object.extend(ec.Object.prototype,{translateToGivenOrigin:function(t,e,i,r,n){var o,a,s,l=t.x,c=t.y;return"string"==typeof e?e=B[e]:e-=.5,"string"==typeof r?r=B[r]:r-=.5,o=r-e,"string"==typeof i?i=X[i]:i-=.5,"string"==typeof n?n=X[n]:n-=.5,a=n-i,(o||a)&&(s=this._getTransformedDimensions(),l=t.x+o*s.x,c=t.y+a*s.y),new ec.Point(l,c)},translateToCenterPoint:function(t,e,i){var r=this.translateToGivenOrigin(t,e,i,"center","center");return this.angle?ec.util.rotatePoint(r,t,R(this.angle)):r},translateToOriginPoint:function(t,e,i){var r=this.translateToGivenOrigin(t,"center","center",e,i);return this.angle?ec.util.rotatePoint(r,t,R(this.angle)):r},getCenterPoint:function(){var t=new ec.Point(this.left,this.top);return this.translateToCenterPoint(t,this.originX,this.originY)},getPointByOrigin:function(t,e){var i=this.getCenterPoint();return this.translateToOriginPoint(i,t,e)},toLocalPoint:function(t,e,i){var r,n,o=this.getCenterPoint();return r=void 0!==e&&void 0!==i?this.translateToGivenOrigin(o,"center","center",e,i):new ec.Point(this.left,this.top),n=new ec.Point(t.x,t.y),this.angle&&(n=ec.util.rotatePoint(n,o,-R(this.angle))),n.subtractEquals(r)},setPositionByOrigin:function(t,e,i){var r=this.translateToCenterPoint(t,e,i),n=this.translateToOriginPoint(r,this.originX,this.originY);this.set("left",n.x),this.set("top",n.y)},adjustPosition:function(t){var e,i,r=R(this.angle),n=this.getScaledWidth(),o=ec.util.cos(r)*n,a=ec.util.sin(r)*n;e="string"==typeof this.originX?B[this.originX]:this.originX-.5,i="string"==typeof t?B[t]:t-.5,this.left+=o*(i-e),this.top+=a*(i-e),this.setCoords(),this.originX=t},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var t=this.getCenterPoint();this.originX="center",this.originY="center",this.left=t.x,this.top=t.y},_resetOrigin:function(){var t=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=t.x,this.top=t.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),"left","top")}}),z=(Y=ec.util).degreesToRadians,W=Y.multiplyTransformMatrices,U=Y.transformPoint,Y.object.extend(ec.Object.prototype,{oCoords:null,aCoords:null,lineCoords:null,ownMatrixCache:null,matrixCache:null,controls:{},_getCoords:function(t,e){return e?t?this.calcACoords():this.calcLineCoords():(this.aCoords&&this.lineCoords||this.setCoords(!0),t?this.aCoords:this.lineCoords)},getCoords:function(t,e){var i;return i=this._getCoords(t,e),[new ec.Point(i.tl.x,i.tl.y),new ec.Point(i.tr.x,i.tr.y),new ec.Point(i.br.x,i.br.y),new ec.Point(i.bl.x,i.bl.y)]},intersectsWithRect:function(t,e,i,r){var n=this.getCoords(i,r);return"Intersection"===ec.Intersection.intersectPolygonRectangle(n,t,e).status},intersectsWithObject:function(t,e,i){return"Intersection"===ec.Intersection.intersectPolygonPolygon(this.getCoords(e,i),t.getCoords(e,i)).status||t.isContainedWithinObject(this,e,i)||this.isContainedWithinObject(t,e,i)},isContainedWithinObject:function(t,e,i){for(var r=this.getCoords(e,i),n=e?t.aCoords:t.lineCoords,o=0,a=t._getImageLines(n);o<4;o++)if(!t.containsPoint(r[o],a))return!1;return!0},isContainedWithinRect:function(t,e,i,r){var n=this.getBoundingRect(i,r);return n.left>=t.x&&n.left+n.width<=e.x&&n.top>=t.y&&n.top+n.height<=e.y},containsPoint:function(t,e,i,r){var n=this._getCoords(i,r),e=e||this._getImageLines(n),o=this._findCrossPoints(t,e);return 0!==o&&o%2==1},isOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!(this.getCoords(!0,t).some(function(t){return t.x<=i.x&&t.x>=e.x&&t.y<=i.y&&t.y>=e.y})||this.intersectsWithRect(e,i,!0,t))||this._containsCenterOfCanvas(e,i,t)},_containsCenterOfCanvas:function(t,e,i){var r={x:(t.x+e.x)/2,y:(t.y+e.y)/2};return!!this.containsPoint(r,null,!0,i)},isPartiallyOnScreen:function(t){if(!this.canvas)return!1;var e=this.canvas.vptCoords.tl,i=this.canvas.vptCoords.br;return!!this.intersectsWithRect(e,i,!0,t)||this.getCoords(!0,t).every(function(t){return(t.x>=i.x||t.x<=e.x)&&(t.y>=i.y||t.y<=e.y)})&&this._containsCenterOfCanvas(e,i,t)},_getImageLines:function(t){return{topline:{o:t.tl,d:t.tr},rightline:{o:t.tr,d:t.br},bottomline:{o:t.br,d:t.bl},leftline:{o:t.bl,d:t.tl}}},_findCrossPoints:function(t,e){var i,r,n,o=0;for(var a in e)if((!((n=e[a]).o.y=t.y)||!(n.d.y>=t.y))&&(n.o.x===n.d.x&&n.o.x>=t.x?r=n.o.x:(i=(n.d.y-n.o.y)/(n.d.x-n.o.x),r=-(t.y-0*t.x-(n.o.y-i*n.o.x))/(0-i)),r>=t.x&&(o+=1),2===o))break;return o},getBoundingRect:function(t,e){var i=this.getCoords(t,e);return Y.makeBoundingBoxFromPoints(i)},getScaledWidth:function(){return this._getTransformedDimensions().x},getScaledHeight:function(){return this._getTransformedDimensions().y},_constrainScale:function(t){return Math.abs(t)=0;l--)if(n=s[l],this.isControlVisible(n)&&(r=this._getImageLines(e?this.oCoords[n].touchCorner:this.oCoords[n].corner),0!==(i=this._findCrossPoints({x:o,y:a},r))&&i%2==1))return this.__corner=n,n;return!1},forEachControl:function(t){for(var e in this.controls)t(this.controls[e],e,this)},_setCornerCoords:function(){var t=this.oCoords;for(var e in t){var i=this.controls[e];t[e].corner=i.calcCornerCoords(this.angle,this.cornerSize,t[e].x,t[e].y,!1),t[e].touchCorner=i.calcCornerCoords(this.angle,this.touchCornerSize,t[e].x,t[e].y,!0)}},drawSelectionBackground:function(t){if(!this.selectionBackgroundColor||this.canvas&&!this.canvas.interactive||this.canvas&&this.canvas._activeObject!==this)return this;t.save();var e=this.getCenterPoint(),i=this._calculateCurrentDimensions(),r=this.canvas.viewportTransform;return t.translate(e.x,e.y),t.scale(1/r[0],1/r[3]),t.rotate(H(this.angle)),t.fillStyle=this.selectionBackgroundColor,t.fillRect(-i.x/2,-i.y/2,i.x,i.y),t.restore(),this},drawBorders:function(t,e){e=e||{};var i=this._calculateCurrentDimensions(),r=this.borderScaleFactor,n=i.x+r,o=i.y+r,a=void 0!==e.hasControls?e.hasControls:this.hasControls,s=!1;return t.save(),t.strokeStyle=e.borderColor||this.borderColor,this._setLineDash(t,e.borderDashArray||this.borderDashArray),t.strokeRect(-n/2,-o/2,n,o),a&&(t.beginPath(),this.forEachControl(function(e,i,r){e.withConnection&&e.getVisibility(r,i)&&(s=!0,t.moveTo(e.x*n,e.y*o),t.lineTo(e.x*n+e.offsetX,e.y*o+e.offsetY))}),s&&t.stroke()),t.restore(),this},drawBordersInGroup:function(t,e,i){i=i||{};var r=ec.util.sizeAfterTransform(this.width,this.height,e),n=this.strokeWidth,o=this.strokeUniform,a=this.borderScaleFactor,s=r.x+n*(o?this.canvas.getZoom():e.scaleX)+a,l=r.y+n*(o?this.canvas.getZoom():e.scaleY)+a;return t.save(),this._setLineDash(t,i.borderDashArray||this.borderDashArray),t.strokeStyle=i.borderColor||this.borderColor,t.strokeRect(-s/2,-l/2,s,l),t.restore(),this},drawControls:function(t,e){e=e||{},t.save();var i,r,n=this.canvas.getRetinaScaling();return t.setTransform(n,0,0,n,0,0),t.strokeStyle=t.fillStyle=e.cornerColor||this.cornerColor,this.transparentCorners||(t.strokeStyle=e.cornerStrokeColor||this.cornerStrokeColor),this._setLineDash(t,e.cornerDashArray||this.cornerDashArray),this.setCoords(),this.group&&(i=this.group.calcTransformMatrix()),this.forEachControl(function(n,o,a){r=a.oCoords[o],n.getVisibility(a,o)&&(i&&(r=ec.util.transformPoint(r,i)),n.render(t,r.x,r.y,e,a))}),t.restore(),this},isControlVisible:function(t){return this.controls[t]&&this.controls[t].getVisibility(this,t)},setControlVisible:function(t,e){return this._controlsVisibility||(this._controlsVisibility={}),this._controlsVisibility[t]=e,this},setControlsVisibility:function(t){for(var e in t||(t={}),t)this.setControlVisible(e,t[e]);return this},onDeselect:function(){},onSelect:function(){}}),ec.util.object.extend(ec.StaticCanvas.prototype,{FX_DURATION:500,fxCenterObjectH:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.left,endValue:this.getCenterPoint().x,duration:this.FX_DURATION,onChange:function(e){t.set("left",e),o.requestRenderAll(),n()},onComplete:function(){t.setCoords(),r()}})},fxCenterObjectV:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.top,endValue:this.getCenterPoint().y,duration:this.FX_DURATION,onChange:function(e){t.set("top",e),o.requestRenderAll(),n()},onComplete:function(){t.setCoords(),r()}})},fxRemove:function(t,e){var i=function(){},r=(e=e||{}).onComplete||i,n=e.onChange||i,o=this;return ec.util.animate({target:this,startValue:t.opacity,endValue:0,duration:this.FX_DURATION,onChange:function(e){t.set("opacity",e),o.requestRenderAll(),n()},onComplete:function(){o.remove(t),r()}})}}),ec.util.object.extend(ec.Object.prototype,{animate:function(){if(!arguments[0]||"object"!=typeof arguments[0])return this._animate.apply(this,arguments);var t,e,i=[],r=[];for(t in arguments[0])i.push(t);for(var n=0,o=i.length;n-1||n&&o.colorProperties.indexOf(n[1])>-1,s=n?this.get(n[0])[n[1]]:this.get(t);"from"in i||(i.from=s),a||(e=~e.indexOf("=")?s+parseFloat(e.replace("=","")):parseFloat(e));var l={target:this,startValue:i.from,endValue:e,byValue:i.by,easing:i.easing,duration:i.duration,abort:i.abort&&function(t,e,r){return i.abort.call(o,t,e,r)},onChange:function(e,a,s){n?o[n[0]][n[1]]=e:o.set(t,e),!r&&i.onChange&&i.onChange(e,a,s)},onComplete:function(t,e,n){!r&&(o.setCoords(),i.onComplete&&i.onComplete(t,e,n))}};return a?ec.util.animateColor(l.startValue,l.endValue,l.duration,l):ec.util.animate(l)}}),function(t){"use strict";var e=t.fabric||(t.fabric={});if(e.util.object.extend,e.Rect){e.warn("fabric.Rect is already defined");return}e.Rect=e.util.createClass(e.Object,{stateProperties:e.Object.prototype.stateProperties.concat("rx","ry"),type:"rect",rx:0,ry:0,cacheProperties:e.Object.prototype.cacheProperties.concat("rx","ry"),initialize:function(t){this.callSuper("initialize",t),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(t){var e=this.rx?Math.min(this.rx,this.width/2):0,i=this.ry?Math.min(this.ry,this.height/2):0,r=this.width,n=this.height,o=-this.width/2,a=-this.height/2,s=0!==e||0!==i;t.beginPath(),t.moveTo(o+e,a),t.lineTo(o+r-e,a),s&&t.bezierCurveTo(o+r-.4477152502*e,a,o+r,a+.4477152502*i,o+r,a+i),t.lineTo(o+r,a+n-i),s&&t.bezierCurveTo(o+r,a+n-.4477152502*i,o+r-.4477152502*e,a+n,o+r-e,a+n),t.lineTo(o+e,a+n),s&&t.bezierCurveTo(o+.4477152502*e,a+n,o,a+n-.4477152502*i,o,a+n-i),t.lineTo(o,a+i),s&&t.bezierCurveTo(o,a+.4477152502*i,o+.4477152502*e,a,o+e,a),t.closePath(),this._renderPaintInOrder(t)},toObject:function(t){return this.callSuper("toObject",["rx","ry"].concat(t))}}),e.Rect.fromObject=function(t,i){return e.Object._fromObject("Rect",t,i)}}(e),function(t){"use strict";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.array.min,n=e.util.array.max,o=(e.util.toFixed,e.util.projectStrokeOnPoints);if(e.Polyline){e.warn("fabric.Polyline is already defined");return}e.Polyline=e.util.createClass(e.Object,{type:"polyline",points:null,exactBoundingBox:!1,cacheProperties:e.Object.prototype.cacheProperties.concat("points"),initialize:function(t,e){e=e||{},this.points=t||[],this.callSuper("initialize",e),this._setPositionDimensions(e)},_projectStrokeOnPoints:function(){return o(this.points,this,!0)},_setPositionDimensions:function(t){var e,i=this._calcDimensions(t),r=this.exactBoundingBox?this.strokeWidth:0;this.width=i.width-r,this.height=i.height-r,t.fromSVG||(e=this.translateToGivenOrigin({x:i.left-this.strokeWidth/2+r/2,y:i.top-this.strokeWidth/2+r/2},"left","top",this.originX,this.originY)),void 0===t.left&&(this.left=t.fromSVG?i.left:e.x),void 0===t.top&&(this.top=t.fromSVG?i.top:e.y),this.pathOffset={x:i.left+this.width/2+r/2,y:i.top+this.height/2+r/2}},_calcDimensions:function(){var t=this.exactBoundingBox?this._projectStrokeOnPoints():this.points,e=r(t,"x")||0,i=r(t,"y")||0;return{left:e,top:i,width:(n(t,"x")||0)-e,height:(n(t,"y")||0)-i}},toObject:function(t){return i(this.callSuper("toObject",t),{points:this.points.concat()})},commonRender:function(t){var e,i=this.points.length,r=this.pathOffset.x,n=this.pathOffset.y;if(!i||isNaN(this.points[i-1].y))return!1;t.beginPath(),t.moveTo(this.points[0].x-r,this.points[0].y-n);for(var o=0;o"},toObject:function(t){return n(this.callSuper("toObject",t),{path:this.path.map(function(t){return t.slice()})})},toDatalessObject:function(t){var e=this.toObject(["sourcePath"].concat(t));return e.sourcePath&&delete e.path,e},complexity:function(){return this.path.length},_calcDimensions:function(){for(var t,n,o=[],a=[],s=0,l=0,c=0,h=0,u=0,f=this.path.length;u"},addWithUpdate:function(t){var e=!!this.group;return this._restoreObjectsState(),f.util.resetObjectTransform(this),t&&(e&&f.util.removeTransformFromObject(t,this.group.calcTransformMatrix()),this._objects.push(t),t.group=this,t._set("canvas",this.canvas)),this._calcBounds(),this._updateObjectsCoords(),this.dirty=!0,e?this.group.addWithUpdate():this.setCoords(),this},removeWithUpdate:function(t){return this._restoreObjectsState(),f.util.resetObjectTransform(this),this.remove(t),this._calcBounds(),this._updateObjectsCoords(),this.setCoords(),this.dirty=!0,this},_onObjectAdded:function(t){this.dirty=!0,t.group=this,t._set("canvas",this.canvas)},_onObjectRemoved:function(t){this.dirty=!0,delete t.group},_set:function(t,e){var i=this._objects.length;if(this.useSetOnGroup)for(;i--;)this._objects[i].setOnGroup(t,e);if("canvas"===t)for(;i--;)this._objects[i]._set(t,e);f.Object.prototype._set.call(this,t,e)},toObject:function(t){var e=this.includeDefaultValues,i=this._objects.filter(function(t){return!t.excludeFromExport}).map(function(i){var r=i.includeDefaultValues;i.includeDefaultValues=e;var n=i.toObject(t);return i.includeDefaultValues=r,n}),r=f.Object.prototype.toObject.call(this,t);return r.objects=i,r},toDatalessObject:function(t){var e,i=this.sourcePath;if(i)e=i;else{var r=this.includeDefaultValues;e=this._objects.map(function(e){var i=e.includeDefaultValues;e.includeDefaultValues=r;var n=e.toDatalessObject(t);return e.includeDefaultValues=i,n})}var n=f.Object.prototype.toDatalessObject.call(this,t);return n.objects=e,n},render:function(t){this._transformDone=!0,this.callSuper("render",t),this._transformDone=!1},shouldCache:function(){var t=f.Object.prototype.shouldCache.call(this);if(t){for(var e=0,i=this._objects.length;e"},shouldCache:function(){return!1},isOnACache:function(){return!1},_renderControls:function(t,e,i){t.save(),t.globalAlpha=this.isMoving?this.borderOpacityWhenMoving:1,this.callSuper("_renderControls",t,e),void 0===(i=i||{}).hasControls&&(i.hasControls=!1),i.forActiveSelection=!0;for(var r=0,n=this._objects.length;r'},applyResizeFilters:function(){var t=this.resizeFilter,e=this.minimumScaleTrigger,i=this.getTotalObjectScaling(),r=i.scaleX,n=i.scaleY,o=this._filteredEl||this._originalElement;if(this.group&&this.set("dirty",!0),!t||r>e&&n>e){this._element=o,this._filterScalingX=1,this._filterScalingY=1,this._lastScaleX=r,this._lastScaleY=n;return}ec.filterBackend||(ec.filterBackend=ec.initFilterBackend());var a=ec.util.createCanvasElement(),s=this._filteredEl?this.cacheKey+"_filtered":this.cacheKey,l=o.width,c=o.height;a.width=l,a.height=c,this._element=a,this._lastScaleX=t.scaleX=r,this._lastScaleY=t.scaleY=n,ec.filterBackend.applyFilters([t],o,l,c,this._element,s),this._filterScalingX=a.width/this._originalElement.width,this._filterScalingY=a.height/this._originalElement.height},applyFilters:function(t){if(t=(t=t||this.filters||[]).filter(function(t){return t&&!t.isNeutralState()}),this.set("dirty",!0),this.removeTexture(this.cacheKey+"_filtered"),0===t.length)return this._element=this._originalElement,this._filteredEl=null,this._filterScalingX=1,this._filterScalingY=1,this;var e=this._originalElement,i=e.naturalWidth||e.width,r=e.naturalHeight||e.height;if(this._element===this._originalElement){var n=ec.util.createCanvasElement();n.width=i,n.height=r,this._element=n,this._filteredEl=n}else this._element=this._filteredEl,this._filteredEl.getContext("2d").clearRect(0,0,i,r),this._lastScaleX=1,this._lastScaleY=1;return ec.filterBackend||(ec.filterBackend=ec.initFilterBackend()),ec.filterBackend.applyFilters(t,this._originalElement,i,r,this._element,this.cacheKey),(this._originalElement.width!==this._element.width||this._originalElement.height!==this._element.height)&&(this._filterScalingX=this._element.width/this._originalElement.width,this._filterScalingY=this._element.height/this._originalElement.height),this},_render:function(t){ec.util.setImageSmoothing(t,this.imageSmoothing),!0!==this.isMoving&&this.resizeFilter&&this._needsResize()&&this.applyResizeFilters(),this._stroke(t),this._renderPaintInOrder(t)},drawCacheOnCanvas:function(t){ec.util.setImageSmoothing(t,this.imageSmoothing),ec.Object.prototype.drawCacheOnCanvas.call(this,t)},shouldCache:function(){return this.needsItsOwnCache()},_renderFill:function(t){var e=this._element;if(e){var i=this._filterScalingX,r=this._filterScalingY,n=this.width,o=this.height,a=Math.min,s=Math.max,l=s(this.cropX,0),c=s(this.cropY,0),h=e.naturalWidth||e.width,u=e.naturalHeight||e.height,f=l*i,d=c*r,g=a(n*i,h-f),p=a(o*r,u-d),v=a(n,h/i-l),m=a(o,u/r-c);e&&t.drawImage(e,f,d,g,p,-n/2,-o/2,v,m)}},_needsResize:function(){var t=this.getTotalObjectScaling();return t.scaleX!==this._lastScaleX||t.scaleY!==this._lastScaleY},_resetWidthHeight:function(){this.set(this.getOriginalSize())},_initElement:function(t,e){this.setElement(ec.util.getById(t),e),ec.util.addClass(this.getElement(),ec.Image.CSS_CANVAS)},_initConfig:function(t){t||(t={}),this.setOptions(t),this._setWidthHeight(t)},_initFilters:function(t,e){t&&t.length?ec.util.enlivenObjects(t,function(t){e&&e(t)},"fabric.Image.filters"):e&&e()},_setWidthHeight:function(t){t||(t={});var e=this.getElement();this.width=t.width||e.naturalWidth||e.width||0,this.height=t.height||e.naturalHeight||e.height||0},parsePreserveAspectRatioAttribute:function(){var t,e=ec.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio||""),i=this._element.width,r=this._element.height,n=1,o=1,a=0,s=0,l=0,c=0,h=this.width,u=this.height,f={width:h,height:u};return e&&("none"!==e.alignX||"none"!==e.alignY)?("meet"===e.meetOrSlice&&(n=o=ec.util.findScaleToFit(this._element,f),t=(h-i*n)/2,"Min"===e.alignX&&(a=-t),"Max"===e.alignX&&(a=t),t=(u-r*o)/2,"Min"===e.alignY&&(s=-t),"Max"===e.alignY&&(s=t)),"slice"===e.meetOrSlice&&(n=o=ec.util.findScaleToCover(this._element,f),t=i-h/n,"Mid"===e.alignX&&(l=t/2),"Max"===e.alignX&&(l=t),t=r-u/o,"Mid"===e.alignY&&(c=t/2),"Max"===e.alignY&&(c=t),i=h/n,r=u/o)):(n=h/i,o=u/r),{width:i,height:r,scaleX:n,scaleY:o,offsetLeft:a,offsetTop:s,cropX:l,cropY:c}}}),ec.Image.CSS_CANVAS="canvas-img",ec.Image.prototype.getSvgSrc=ec.Image.prototype.getSrc,ec.Image.fromObject=function(t,e){var i=ec.util.object.clone(t);ec.util.loadImage(i.src,function(t,r){if(r){e&&e(null,!0);return}ec.Image.prototype._initFilters.call(i,i.filters,function(r){i.filters=r||[],ec.Image.prototype._initFilters.call(i,[i.resizeFilter],function(r){i.resizeFilter=r[0],ec.util.enlivenObjectEnlivables(i,i,function(){e(new ec.Image(t,i),!1)})})})},null,i.crossOrigin)},ec.Image.fromURL=function(t,e,i){ec.util.loadImage(t,function(t,r){e&&e(new ec.Image(t,i),r)},null,i&&i.crossOrigin)}}(e),function(){"use strict";function t(t){t&&t.tileSize&&(this.tileSize=t.tileSize),this.setupGLContext(this.tileSize,this.tileSize),this.captureGPUInfo()}ec.isWebglSupported=function(t){if(ec.isLikelyNode)return!1;t=t||ec.WebglFilterBackend.prototype.tileSize;var e=document.createElement("canvas"),i=e.getContext("webgl")||e.getContext("experimental-webgl"),r=!1;if(i){ec.maxTextureSize=i.getParameter(i.MAX_TEXTURE_SIZE),r=ec.maxTextureSize>=t;for(var n=["highp","mediump","lowp"],o=0;o<3;o++)if(function(t,e){var i=t.createShader(t.FRAGMENT_SHADER);return t.shaderSource(i,"precision "+e+" float;\nvoid main(){}"),t.compileShader(i),!!t.getShaderParameter(i,t.COMPILE_STATUS)}(i,n[o])){ec.webGlPrecision=n[o];break}}return this.isSupported=r,r},ec.WebglFilterBackend=t,t.prototype={tileSize:2048,resources:{},setupGLContext:function(t,e){this.dispose(),this.createWebGLCanvas(t,e),this.aPosition=new Float32Array([0,0,0,1,1,0,1,1]),this.chooseFastestCopyGLTo2DMethod(t,e)},chooseFastestCopyGLTo2DMethod:function(t,e){var i,r,n,o=void 0!==window.performance;try{new ImageData(1,1),n=!0}catch(a){n=!1}var s="undefined"!=typeof ArrayBuffer,l="undefined"!=typeof Uint8ClampedArray;if(o&&n&&s&&l){var c=ec.util.createCanvasElement(),h=new ArrayBuffer(t*e*4);if(ec.forceGLPutImageData){this.imageBuffer=h,this.copyGLTo2D=ef;return}var u={imageBuffer:h,destinationWidth:t,destinationHeight:e,targetCanvas:c};c.width=t,c.height=e,i=window.performance.now(),eu.call(u,this.gl,u),r=window.performance.now()-i,i=window.performance.now(),ef.call(u,this.gl,u),r>window.performance.now()-i?(this.imageBuffer=h,this.copyGLTo2D=ef):this.copyGLTo2D=eu}},createWebGLCanvas:function(t,e){var i=ec.util.createCanvasElement();i.width=t,i.height=e;var r={alpha:!0,premultipliedAlpha:!1,depth:!1,stencil:!1,antialias:!1},n=i.getContext("webgl",r);n||(n=i.getContext("experimental-webgl",r)),n&&(n.clearColor(0,0,0,0),this.canvas=i,this.gl=n)},applyFilters:function(t,e,i,r,n,o){var a,s,l,c,h,u,f=this.gl;o&&(u=this.getCachedTexture(o,e));var d={originalWidth:e.width||e.originalWidth,originalHeight:e.height||e.originalHeight,sourceWidth:i,sourceHeight:r,destinationWidth:i,destinationHeight:r,context:f,sourceTexture:this.createTexture(f,i,r,!u&&e),targetTexture:this.createTexture(f,i,r),originalTexture:u||this.createTexture(f,i,r,!u&&e),passes:t.length,webgl:!0,aPosition:this.aPosition,programCache:this.programCache,pass:0,filterBackend:this,targetCanvas:n},g=f.createFramebuffer();return f.bindFramebuffer(f.FRAMEBUFFER,g),t.forEach(function(t){t&&t.applyTo(d)}),s=(a=d.targetCanvas).width,l=a.height,c=d.destinationWidth,h=d.destinationHeight,(s!==c||l!==h)&&(a.width=c,a.height=h),this.copyGLTo2D(f,d),f.bindTexture(f.TEXTURE_2D,null),f.deleteTexture(d.sourceTexture),f.deleteTexture(d.targetTexture),f.deleteFramebuffer(g),n.getContext("2d").setTransform(1,0,0,1,0,0),d},dispose:function(){this.canvas&&(this.canvas=null,this.gl=null),this.clearWebGLCaches()},clearWebGLCaches:function(){this.programCache={},this.textureCache={}},createTexture:function(t,e,i,r){var n=t.createTexture();return t.bindTexture(t.TEXTURE_2D,n),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),r?t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r):t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),n},getCachedTexture:function(t,e){if(this.textureCache[t])return this.textureCache[t];var i=this.createTexture(this.gl,e.width,e.height,e);return this.textureCache[t]=i,i},evictCachesForKey:function(t){this.textureCache[t]&&(this.gl.deleteTexture(this.textureCache[t]),delete this.textureCache[t])},copyGLTo2D:eu,captureGPUInfo:function(){if(this.gpuInfo)return this.gpuInfo;var t=this.gl,e={renderer:"",vendor:""};if(!t)return e;var i=t.getExtension("WEBGL_debug_renderer_info");if(i){var r=t.getParameter(i.UNMASKED_RENDERER_WEBGL),n=t.getParameter(i.UNMASKED_VENDOR_WEBGL);r&&(e.renderer=r.toLowerCase()),n&&(e.vendor=n.toLowerCase())}return this.gpuInfo=e,e}}}(),function(){"use strict";var t=function(){};function e(){}ec.Canvas2dFilterBackend=e,e.prototype={evictCachesForKey:t,dispose:t,clearWebGLCaches:t,resources:{},applyFilters:function(t,e,i,r,n){var o=n.getContext("2d");o.drawImage(e,0,0,i,r);var a=o.getImageData(0,0,i,r),s=o.getImageData(0,0,i,r),l={sourceWidth:i,sourceHeight:r,imageData:a,originalEl:e,originalImageData:s,canvasEl:n,ctx:o,filterBackend:this};return t.forEach(function(t){t.applyTo(l)}),(l.imageData.width!==i||l.imageData.height!==r)&&(n.width=l.imageData.width,n.height=l.imageData.height),o.putImageData(l.imageData,0,0),l}}}(),ec.Image=ec.Image||{},ec.Image.filters=ec.Image.filters||{},ec.Image.filters.BaseFilter=ec.util.createClass({type:"BaseFilter",vertexSource:"attribute vec2 aPosition;\nvarying vec2 vTexCoord;\nvoid main() {\nvTexCoord = aPosition;\ngl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\n}",fragmentSource:"precision highp float;\nvarying vec2 vTexCoord;\nuniform sampler2D uTexture;\nvoid main() {\ngl_FragColor = texture2D(uTexture, vTexCoord);\n}",initialize:function(t){t&&this.setOptions(t)},setOptions:function(t){for(var e in t)this[e]=t[e]},createProgram:function(t,e,i){e=e||this.fragmentSource,i=i||this.vertexSource,"highp"!==ec.webGlPrecision&&(e=e.replace(/precision highp float/g,"precision "+ec.webGlPrecision+" float"));var r=t.createShader(t.VERTEX_SHADER);if(t.shaderSource(r,i),t.compileShader(r),!t.getShaderParameter(r,t.COMPILE_STATUS))throw Error("Vertex shader compile error for "+this.type+": "+t.getShaderInfoLog(r));var n=t.createShader(t.FRAGMENT_SHADER);if(t.shaderSource(n,e),t.compileShader(n),!t.getShaderParameter(n,t.COMPILE_STATUS))throw Error("Fragment shader compile error for "+this.type+": "+t.getShaderInfoLog(n));var o=t.createProgram();if(t.attachShader(o,r),t.attachShader(o,n),t.linkProgram(o),!t.getProgramParameter(o,t.LINK_STATUS))throw Error('Shader link error for "${this.type}" '+t.getProgramInfoLog(o));var a=this.getAttributeLocations(t,o),s=this.getUniformLocations(t,o)||{};return s.uStepW=t.getUniformLocation(o,"uStepW"),s.uStepH=t.getUniformLocation(o,"uStepH"),{program:o,attributeLocations:a,uniformLocations:s}},getAttributeLocations:function(t,e){return{aPosition:t.getAttribLocation(e,"aPosition")}},getUniformLocations:function(){return{}},sendAttributeData:function(t,e,i){var r=e.aPosition,n=t.createBuffer();t.bindBuffer(t.ARRAY_BUFFER,n),t.enableVertexAttribArray(r),t.vertexAttribPointer(r,2,t.FLOAT,!1,0,0),t.bufferData(t.ARRAY_BUFFER,i,t.STATIC_DRAW)},_setupFrameBuffer:function(t){var e,i,r=t.context;t.passes>1?(e=t.destinationWidth,i=t.destinationHeight,(t.sourceWidth!==e||t.sourceHeight!==i)&&(r.deleteTexture(t.targetTexture),t.targetTexture=t.filterBackend.createTexture(r,e,i)),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,t.targetTexture,0)):(r.bindFramebuffer(r.FRAMEBUFFER,null),r.finish())},_swapTextures:function(t){t.passes--,t.pass++;var e=t.targetTexture;t.targetTexture=t.sourceTexture,t.sourceTexture=e},isNeutralState:function(){var t=this.mainParameter,e=ec.Image.filters[this.type].prototype;if(!t)return!1;if(!Array.isArray(e[t]))return e[t]===this[t];for(var i=e[t].length;i--;)if(this[t][i]!==e[t][i])return!1;return!0},applyTo:function(t){t.webgl?(this._setupFrameBuffer(t),this.applyToWebGL(t),this._swapTextures(t)):this.applyTo2d(t)},retrieveShader:function(t){return t.programCache.hasOwnProperty(this.type)||(t.programCache[this.type]=this.createProgram(t.context)),t.programCache[this.type]},applyToWebGL:function(t){var e=t.context,i=this.retrieveShader(t);0===t.pass&&t.originalTexture?e.bindTexture(e.TEXTURE_2D,t.originalTexture):e.bindTexture(e.TEXTURE_2D,t.sourceTexture),e.useProgram(i.program),this.sendAttributeData(e,i.attributeLocations,t.aPosition),e.uniform1f(i.uniformLocations.uStepW,1/t.sourceWidth),e.uniform1f(i.uniformLocations.uStepH,1/t.sourceHeight),this.sendUniformData(e,i.uniformLocations),e.viewport(0,0,t.destinationWidth,t.destinationHeight),e.drawArrays(e.TRIANGLE_STRIP,0,4)},bindAdditionalTexture:function(t,e,i){t.activeTexture(i),t.bindTexture(t.TEXTURE_2D,e),t.activeTexture(t.TEXTURE0)},unbindAdditionalTexture:function(t,e){t.activeTexture(e),t.bindTexture(t.TEXTURE_2D,null),t.activeTexture(t.TEXTURE0)},getMainParameter:function(){return this[this.mainParameter]},setMainParameter:function(t){this[this.mainParameter]=t},sendUniformData:function(){},createHelpLayer:function(t){if(!t.helpLayer){var e=document.createElement("canvas");e.width=t.sourceWidth,e.height=t.sourceHeight,t.helpLayer=e}},toObject:function(){var t={type:this.type},e=this.mainParameter;return e&&(t[e]=this[e]),t},toJSON:function(){return this.toObject()}}),ec.Image.filters.BaseFilter.fromObject=function(t,e){var i=new ec.Image.filters[t.type](t);return e&&e(i),i},G=(V=(N=e).fabric||(N.fabric={})).Image.filters,q=V.util.createClass,G.ColorMatrix=q(G.BaseFilter,{type:"ColorMatrix",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nuniform mat4 uColorMatrix;\nuniform vec4 uConstants;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\ncolor *= uColorMatrix;\ncolor += uConstants;\ngl_FragColor = color;\n}",matrix:[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],mainParameter:"matrix",colorsOnly:!0,initialize:function(t){this.callSuper("initialize",t),this.matrix=this.matrix.slice(0)},applyTo2d:function(t){var e,i,r,n,o,a=t.imageData.data,s=a.length,l=this.matrix,c=this.colorsOnly;for(o=0;o=_||a<0||a>=b||(l=(s*b+a)*4,c=v[d*m+f],e+=p[l]*c,i+=p[l+1]*c,r+=p[l+2]*c,w||(n+=p[l+3]*c));C[o]=e,C[o+1]=i,C[o+2]=r,w?C[o+3]=p[o+3]:C[o+3]=n}t.imageData=x},getUniformLocations:function(t,e){return{uMatrix:t.getUniformLocation(e,"uMatrix"),uOpaque:t.getUniformLocation(e,"uOpaque"),uHalfSize:t.getUniformLocation(e,"uHalfSize"),uSize:t.getUniformLocation(e,"uSize")}},sendUniformData:function(t,e){t.uniform1fv(e.uMatrix,this.matrix)},toObject:function(){return te(this.callSuper("toObject"),{opaque:this.opaque,matrix:this.matrix})}}),tt.Image.filters.Convolute.fromObject=tt.Image.filters.BaseFilter.fromObject,ta=(to=(tn=e).fabric||(tn.fabric={})).Image.filters,ts=to.util.createClass,ta.Grayscale=ts(ta.BaseFilter,{type:"Grayscale",fragmentSource:{average:"precision highp float;\nuniform sampler2D uTexture;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat average = (color.r + color.b + color.g) / 3.0;\ngl_FragColor = vec4(average, average, average, color.a);\n}",lightness:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\ngl_FragColor = vec4(average, average, average, col.a);\n}",luminosity:"precision highp float;\nuniform sampler2D uTexture;\nuniform int uMode;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 col = texture2D(uTexture, vTexCoord);\nfloat average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\ngl_FragColor = vec4(average, average, average, col.a);\n}"},mode:"average",mainParameter:"mode",applyTo2d:function(t){var e,i,r=t.imageData.data,n=r.length,o=this.mode;for(e=0;el[0]&&r>l[1]&&n>l[2]&&i 0.0) {\n"+this.fragmentSource[t]+"}\n}"},retrieveShader:function(t){var e,i=this.type+"_"+this.mode;return t.programCache.hasOwnProperty(i)||(e=this.buildSource(this.mode),t.programCache[i]=this.createProgram(t.context,e)),t.programCache[i]},applyTo2d:function(t){var e,i,r,n,o,a,s,l=t.imageData.data,c=l.length,h=1-this.alpha;e=(s=new tO.Color(this.color).getSource())[0]*this.alpha,i=s[1]*this.alpha,r=s[2]*this.alpha;for(var u=0;u=t||e<=-t)return 0;if(e<11920929e-14&&e>-.00000011920929)return 1;var i=(e*=Math.PI)/t;return tX(e)/e*tX(i)/i}},applyTo2d:function(t){var e=t.imageData,i=this.scaleX,r=this.scaleY;this.rcpScaleX=1/i,this.rcpScaleY=1/r;var n,o=e.width,a=e.height,s=tB(o*i),l=tB(a*r);"sliceHack"===this.resizeType?n=this.sliceByTwo(t,o,a,s,l):"hermite"===this.resizeType?n=this.hermiteFastResize(t,o,a,s,l):"bilinear"===this.resizeType?n=this.bilinearFiltering(t,o,a,s,l):"lanczos"===this.resizeType&&(n=this.lanczosResize(t,o,a,s,l)),t.imageData=n},sliceByTwo:function(t,e,i,r,n){var o,a,s=t.imageData,l=!1,c=!1,h=.5*e,u=.5*i,f=tM.filterBackend.resources,d=0,g=0,p=e,v=0;for(f.sliceByTwo||(f.sliceByTwo=document.createElement("canvas")),((o=f.sliceByTwo).width<1.5*e||o.height=e)){p[k=tL(1e3*tR(_-v.x))]||(p[k]={});for(var F=m.y-g;F<=m.y+g;F++)F<0||F>=i||(P=tL(1e3*tR(F-v.y)),p[k][P]||(p[k][P]=l(tI(tA(k*u,2)+tA(P*f,2))/1e3)),(x=p[k][P])>0&&(C=(F*e+_)*4,w+=x,S+=x*o[C],T+=x*o[C+1],O+=x*o[C+2],j+=x*o[C+3]))}s[C=(b*r+y)*4]=S/w,s[C+1]=T/w,s[C+2]=O/w,s[C+3]=j/w}return++y1&&P<-1||!((p=2*P*P*P-3*P*P+1)>0)||(x+=p*c[(k=4*(j+w*e))+3],m+=p,c[k+3]<255&&(p=p*c[k+3]/250),y+=p*c[k],b+=p*c[k+1],_+=p*c[k+2],v+=p)}u[g]=y/v,u[g+1]=b/v,u[g+2]=_/v,u[g+3]=x/m}return h},toObject:function(){return{type:this.type,scaleX:this.scaleX,scaleY:this.scaleY,resizeType:this.resizeType,lanczosLobes:this.lanczosLobes}}}),tM.Image.filters.Resize.fromObject=tM.Image.filters.BaseFilter.fromObject,tN=(tH=(tU=e).fabric||(tU.fabric={})).Image.filters,tV=tH.util.createClass,tN.Contrast=tV(tN.BaseFilter,{type:"Contrast",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform float uContrast;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nfloat contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\ncolor.rgb = contrastF * (color.rgb - 0.5) + 0.5;\ngl_FragColor = color;\n}",contrast:0,mainParameter:"contrast",applyTo2d:function(t){if(0!==this.contrast){var e,i,r=t.imageData.data,i=r.length,n=Math.floor(255*this.contrast),o=259*(n+255)/(255*(259-n));for(e=0;e1&&(e=1/this.aspectRatio):this.aspectRatio<1&&(e=this.aspectRatio),t=e*this.blur*.12,this.horizontal?i[0]=t:i[1]=t,i}}),tQ.Blur.fromObject=t$.Image.filters.BaseFilter.fromObject,t5=(t2=(t1=e).fabric||(t1.fabric={})).Image.filters,t3=t2.util.createClass,t5.Gamma=t3(t5.BaseFilter,{type:"Gamma",fragmentSource:"precision highp float;\nuniform sampler2D uTexture;\nuniform vec3 uGamma;\nvarying vec2 vTexCoord;\nvoid main() {\nvec4 color = texture2D(uTexture, vTexCoord);\nvec3 correction = (1.0 / uGamma);\ncolor.r = pow(color.r, correction.r);\ncolor.g = pow(color.g, correction.g);\ncolor.b = pow(color.b, correction.b);\ngl_FragColor = color;\ngl_FragColor.rgb *= color.a;\n}",gamma:[1,1,1],mainParameter:"gamma",initialize:function(t){this.gamma=[1,1,1],t5.BaseFilter.prototype.initialize.call(this,t)},applyTo2d:function(t){var e,i=t.imageData.data,r=this.gamma,n=i.length,o=1/r[0],a=1/r[1],s=1/r[2];for(this.rVals||(this.rVals=new Uint8Array(256),this.gVals=new Uint8Array(256),this.bVals=new Uint8Array(256)),e=0,n=256;e'},_getCacheCanvasDimensions:function(){var t=this.callSuper("_getCacheCanvasDimensions"),e=this.fontSize;return t.width+=e*t.zoomX,t.height+=e*t.zoomY,t},_render:function(t){var e=this.path;e&&!e.isNotVisible()&&e._render(t),this._setTextStyles(t),this._renderTextLinesBackground(t),this._renderTextDecoration(t,"underline"),this._renderText(t),this._renderTextDecoration(t,"overline"),this._renderTextDecoration(t,"linethrough")},_renderText:function(t){"stroke"===this.paintFirst?(this._renderTextStroke(t),this._renderTextFill(t)):(this._renderTextFill(t),this._renderTextStroke(t))},_setTextStyles:function(t,e,i){if(t.textBaseline="alphabetical",this.path)switch(this.pathAlign){case"center":t.textBaseline="middle";break;case"ascender":t.textBaseline="top";break;case"descender":t.textBaseline="bottom"}t.font=this._getFontDeclaration(e,i)},calcTextWidth:function(){for(var t=this.getLineWidth(0),e=1,i=this._textLines.length;et&&(t=r)}return t},_renderTextLine:function(t,e,i,r,n,o){this._renderChars(t,e,i,r,n,o)},_renderTextLinesBackground:function(t){if(this.textBackgroundColor||this.styleHas("textBackgroundColor")){for(var e,i,r,n,o,a,s,l=t.fillStyle,c=this._getLeftOffset(),h=this._getTopOffset(),u=0,f=0,d=this.path,g=0,p=this._textLines.length;g=0:is?u%=s:u<0&&(u+=s),this._setGraphemeOnPath(u,o,a),u+=o.kernedWidth}return{width:l,numOfSpaces:0}},_setGraphemeOnPath:function(t,i,r){var n=t+i.kernedWidth/2,o=this.path,a=e.util.getPointOnPath(o.path,n,o.segmentsInfo);i.renderLeft=a.x-r.x,i.renderTop=a.y-r.y,i.angle=a.angle+("right"===this.pathSide?Math.PI:0)},_getGraphemeBox:function(t,e,i,r,n){var o,a=this.getCompleteStyleDeclaration(e,i),s=r?this.getCompleteStyleDeclaration(e,i-1):{},l=this._measureChar(t,a,r,s),c=l.kernedWidth,h=l.width;0!==this.charSpacing&&(h+=o=this._getWidthOfCharSpacing(),c+=o);var u={width:h,left:0,height:a.fontSize,kernedWidth:c,deltaY:a.deltaY};if(i>0&&!n){var f=this.__charBounds[e][i-1];u.left=f.left+f.width+l.kernedWidth-l.width}return u},getHeightOfLine:function(t){if(this.__lineHeights[t])return this.__lineHeights[t];for(var e=this._textLines[t],i=this.getHeightOfChar(t,0),r=1,n=e.length;r0){var j=y+o+u;"rtl"===this.direction&&(j=this.width-j-f),c&&m&&(t.fillStyle=m,t.fillRect(j,h+C*r+a,f,this.fontSize/15)),u=d.left,f=d.width,c=g,m=v,r=n,a=s}else f+=d.kernedWidth;var j=y+o+u;"rtl"===this.direction&&(j=this.width-j-f),t.fillStyle=v,g&&v&&t.fillRect(j,h+C*r+a,f-x,this.fontSize/15),b+=i}this._removeShadow(t)}},_getFontDeclaration:function(t,i){var r=t||this,n=this.fontFamily,o=e.Text.genericFonts.indexOf(n.toLowerCase())>-1,a=void 0===n||n.indexOf("'")>-1||n.indexOf(",")>-1||n.indexOf('"')>-1||o?r.fontFamily:'"'+r.fontFamily+'"';return[e.isLikelyNode?r.fontWeight:r.fontStyle,e.isLikelyNode?r.fontStyle:r.fontWeight,i?this.CACHE_FONT_SIZE+"px":r.fontSize+"px",a].join(" ")},render:function(t){this.visible&&(!this.canvas||!this.canvas.skipOffscreen||this.group||this.isOnScreen())&&(this._shouldClearDimensionCache()&&this.initDimensions(),this.callSuper("render",t))},_splitTextIntoLines:function(t){for(var i=t.split(this._reNewline),r=Array(i.length),n=["\n"],o=[],a=0;a0&&t.clipPath?this.clonePathWithClipPath(e,t,function(t){r.forEach(function(e){i._addPathToObjectEraser(e,t)})}):r.length>0&&r.forEach(function(t){i._addPathToObjectEraser(t,e)});return}var n=t.eraser;n||(n=new ec.Eraser,t.eraser=n),e.clone(function(e){var r=ec.util.multiplyTransformMatrices(ec.util.invertTransform(t.calcTransformMatrix()),e.calcTransformMatrix());ec.util.applyTransformToObject(e,r),n.addWithUpdate(e),t.set("dirty",!0),t.fire("erasing:end",{path:e}),t.group&&Array.isArray(i.__subTargets)&&i.__subTargets.push(t)})},applyEraserToCanvas:function(t){var e=this.canvas,i={};return["backgroundImage","overlayImage"].forEach(function(r){var n=e[r];n&&n.erasable&&(this._addPathToObjectEraser(n,t),i[r]=n)},this),i},_finalizeAndAddPath:function(){var t=this.canvas.contextTop,e=this.canvas;t.closePath(),this.decimate&&(this._points=this.decimatePoints(this._points,this.decimate)),e.clearContext(e.contextTop),this._isErasing=!1;var i=this._points&&this._points.length>1?this.convertPointsToSVGPath(this._points):null;if(!i||this._isEmptySVGPath(i)){e.fire("erasing:end"),e.requestRenderAll();return}var r=this.createPath(i);r.setCoords(),e.fire("before:path:created",{path:r});var n=this.applyEraserToCanvas(r),o=this;this.__subTargets=[];var a=[];e.forEachObject(function(t){t.erasable&&t.intersectsWithObject(r,!0,!0)&&(o._addPathToObjectEraser(t,r),a.push(t))}),e.fire("erasing:end",{path:r,targets:a,subTargets:this.__subTargets,drawables:n}),delete this.__subTargets,e.requestRenderAll(),this._resetShadow(),e.fire("path:created",{path:r})}})},6734:function(){},6907:function(){},4866:function(){}},function(t){t.O(0,[774,937,866,609,980,445,617,943,50,888,179],function(){return t(t.s=8312)}),_N_E=t.O()}]); -//# sourceMappingURL=index-617009baca527a4e.js.map \ No newline at end of file diff --git a/docs/_next/static/chunks/pages/index-617009baca527a4e.js.map b/docs/_next/static/chunks/pages/index-617009baca527a4e.js.map deleted file mode 100644 index 8cc654b..0000000 --- a/docs/_next/static/chunks/pages/index-617009baca527a4e.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/chunks/pages/index-617009baca527a4e.js","mappings":"AwCACA,CAAAA,KAAK,gBAAmB,CAAGA,KAAK,gBAAmB,EAAI,EAAE,EAAEC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAElE,KACC,SAASC,CAAuB,CAAEC,CAAwB,CAAEC,CAAmB,CAAE,CxCDxF,CAAAC,OAAAC,QAAA,CAAAD,OAAAC,QAAA,MAAAL,IAAA,EACA,IACA,UAAe,CACf,OAAAG,EAAA,KACA,EACA,CAKA,gBAAAF,CAAA,CAAAK,CAAA,CAAAH,CAAA,eAAAA,EAAAI,CAAA,CAAAD,GAAAH,EAAAK,CAAA,CAAAF,EAAA,2BAAAG,EAAA,QAAAC,EAAAP,EAAA,MAAAQ,EAAAR,EAAA,MAAAS,EAAAT,EAAAU,CAAA,CAAAF,GAAAG,EAAAX,EAAA,MCSA,IAAAY,EAAcD,EAAcE,aAAA,MAEHD,CAAAA,EAAAE,WAAA,iBAmBA,IAAAC,EAdoB,SACrCC,CAAU,MASdC,EARF,IAAKC,EAAS,GAAAP,EAAAQ,UAAA,EAAAP,GAAA,GACZ,CAAAM,EACD,gDACoC,KAC5B,IAAAF,EACEE,EACFF,IAAC,EAADA,EACF,GAEN,OAAAC,CAAAA,EAAAC,EAAAE,QAAA,CAAAJ,EAAA,GAAAC,KAAA,IAAAA,EAAAA,EAAA,ICSH,IAAAI,EAAaV,EAAcE,aAAA,OAIQ,SACjCS,GAAgB,CAChB,IAAKJ,EAAS,GAAAP,EAAAQ,UAAA,EAAAE,GAAA,GACZ,CAAAH,EACD,wCAEF,OAAAA,CAAA,CARuBG,EAAAP,WAAA,gBAQvB,IAAAS,EAAAvB,EAAA,MAAAwB,EAAAxB,EAAA,MAAAyB,EAAAzB,EAAA,MAAA0B,EAAA1B,EAAA,MAAA2B,EAAA3B,EAAA,MAAA4B,EAAA5B,EAAA,MAAA6B,EAAA7B,EAAA,MAAA8B,EAAA9B,EAAA,MC9CqC,SACpC+B,GAAM,KAmFNC,EAlFA,IAAMC,EAAe,GAAAtB,EAAAuB,MAAA,EAAgC,IAAI,EACnDC,EAAc,GAAAxB,EAAAuB,MAAM,EAA2B,IAAI,EACnDE,EACJ,CAAY,EACZzB,EAAAuB,MAAA,MACA,EA6BI,CAAEG,aAAAA,CAAQ,CAAAC,gBAAAA,CAAe,CAAAC,mBAAAA,CAAmB,CAAAC,gBAAAA,CAAU,CAAAC,cAAAA,CAAA,CAAAC,cAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,KAAAA,CAAA,CAAAC,KAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,QAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,cAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,cAAAA,CAAA,CAAAC,WAAAA,CAAA,CAAAC,cAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,aAAAA,CAAA,CAAAC,iBAAAA,CAAA,CAAAC,UAAAA,CAAA,CAAAC,WAAAA,CAAA,EAAA5C,IACtD,CAAC6C,OAAAA,CAAO,CAAAC,cAAAA,CAAY,CAAAC,eAAAA,CAAS,CAAK,CAAAtD,EAAAsB,GAClC,CAAAiC,EAAAC,EAAA,CAAmB,GAAA5D,EAAQ6D,QAAM,MACjCC,EAAiBH,EAAA,YAMjB,CAACI,EAAeC,EAAoB,IAAAhE,EAAA6D,QAAiC,QACrE,CAACI,GAAcC,GAAgB,CAAG,GAAAlE,EAAA6D,QAA6B,MAAI,EACnE,CAACM,GAAAC,GAAkB,IAAkBpE,EAAG6D,QAAA,QACxC,CAACQ,GAAAC,GAAmB,CAAmB,GAAGtE,EAAA6D,QAAA,MAC1C,CAAAU,GAAUC,GAAe,IAAAxE,EAAA6D,QAAU,MACvC,CAAAY,OAAAA,EAAA,CAAWC,WAAAA,EAAA,KAAA9D,EAAA+D,CAAA,EAAAZ,EAAAE,GAAA,CAAAW,UACT,EAAiBC,KAAA,QAASC,QAAE,CAAsBC,QAAAZ,EAAE,CACpD,GAEEU,KAAA,SAASC,QACP,CAAQE,OAAC,CAAG,EAAG,GACjB,CAEH,EACH,GAMMC,GAAApD,EAAAA,EACHqD,MAAU,EAAArD,EAAAsD,KAAA,IAAArD,EAAAsD,GAAA,CAAAC,IACTC,GAAgC,GAAK,CACvC1D,EAAA2D,EAAAC,MAAA,CAAAC,KAAA,CAEF,EAeG,MAfa,GAAAzF,EACV0F,SAAU,OACZC,UAASC,QAAI,EAAAD,UAAAC,QAAA,CAAAC,UAAA,QACfjC,EAAW,IACT+B,UAAaG,SAAA,CAAAC,KAAA,kBACdnC,EAAA,GAGH,MAAgB,GAAA5D,EACV0F,SAAA,MAAe,CACjBzB,IACDA,GAAA+B,KAAA,EACA,GAAe/B,GAAA,EAGD,GAAArE,EAAAqG,IAAA,SAAAC,UAAA,cAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,wBAAAC,SAAA,CAEX,CAAU,EAAAvG,EAAAwG,GAAA,WACVF,UAAK,cACLG,KAAK,QACLxB,KAAG,kBACHyB,GAAA,6BACAb,MAAA,QACAc,QAAA5E,UAAAA,EAAU6E,SAAAlB,EAAA,GAEG,GAAA1F,EAAAwG,GAAA,WAAAK,QAAA,6BACZN,SAAe,GAAAvG,EAAAwG,GAAA,UAAAF,UAAc,cAAAC,SAAA,YAG9B,CAAU,EAAAvG,EAAAwG,GAAA,WACVF,UAAK,cACLG,KAAK,QACLxB,KAAG,kBACHyB,GAAA,+BACAb,MAAA,UACAc,QAAA5E,YAAAA,EAAU6E,SAAAlB,EAAA,GAEG,GAAA1F,EAAAwG,GAAA,WAAAK,QAAA,+BACZN,SAAe,GAAAvG,EAAAwG,GAAA,UAAAF,UAAc,cAAAC,SAAA,cAG9B,CAAU,EAAAvG,EAAAwG,GAAA,WACVF,UAAK,cACLG,KAAK,QACLxB,KAAG,kBACHyB,GAAA,6BACAb,MAAA,QACAc,QAAA5E,UAAAA,EAAU6E,SAAAlB,EAAA,GAEG,GAAA1F,EAAAwG,GAAA,WAAAK,QAAA,6BACZN,SAAe,GAAAvG,EAAAwG,GAAA,UAAAF,UAAc,cAAAC,SAAA,eAG7B,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,UAAAC,SACZ,CACC9C,UAAAA,EAAA,GAAAzD,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CAES,GAAAvG,EAAAwG,GAAA,WACLO,IAAAnF,EACQ,MADmBgF,SACnBjB,EAAW,CACM,IAAAqB,EACD,UAAAC,QAAA,CAAAC,EAAAC,IAAA,CAAlB,IAAAC,EACA,IAAIC,EAAW,OAAAD,CAAAA,EAAAzB,EAAAC,MAAA,CAAA0B,KAAA,GAAAF,KAAA,IAAAA,EAAA,OAAAA,CAAA,OACbC,EAAM,CACN,IAAAE,EAAO,IAAAC,WAAoCD,EAAAE,gBACjC,YAAR,IAAAC,EACFR,EAAA,OAAAQ,CAAAA,EAAA/B,EAAAC,MAAA,GAAA8B,KAAA,IAAAA,EAAA,OAAAA,EAAAC,MAAA,CACA,GACFJ,EAAOK,aAAA,CAAAP,EAAA,MAENF,EAAA,iCACH,GAEQzD,EAAC,CAASsD,EACtB,CACA,EACAP,KAAA,OACAoB,OAAM,kBAAAC,OAAA,KAGD,GAAA9H,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,YACNsB,MAAA,YACM,UACFnG,EAAaoG,OAAO,EACrBpG,EAAAoG,OAAA,CAAAC,KAAA,EACH,EAEO1B,SAAQ,GAAAvG,EAAAwG,GAAA,EAAAjF,EAAA2G,GAAA,EAAAC,MAAE,CAAaC,SAAA,QAIzB,GAAApI,EAAAwG,GAAA,YACLC,KAAK,SACLM,IAAA3C,EACA,cAAWO,GAAA,GAAA0D,KAAAA,CAAA,CACX,aAAM,UACNN,MAAA,UACE,UACFnD,GAAA,IAAA0D,EAAA,EAEW/B,SAAA,GAAAvG,EAAAwG,GAAA,EAAAjF,EAAAgH,GAAA,IAGZ,GACE5D,GACW,GAAA3E,EAAAqG,IAAA,SACVC,UAAK,kBACLS,IAAAzC,GACA6D,MAAAtD,GAAW2D,MAAA,CACXC,SAAS,GACP,OAAA9C,EAAM,CACN,IAAM+C,EACH/C,EAAAgD,aACD,CACEC,EAAgB,CAAAF,GAAA,CAAA/C,EAAAkD,aAAA,CAAAC,QAAA,CAAAJ,GAClBE,GACDhE,GAAA,GAEF,EAAoB,GAAAE,GAAA0D,MAAA,CAAAjC,SAAA,CAEhB,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,SAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,gBAAAC,SAAA,CACN,GAAAvG,EAAAwG,GAAA,WAAAD,SAAA,WAEJ,GAAAvG,EAAAwG,GAAgB,OAAM,CACpBD,SAAAtE,EAAAqD,MAAA,IAAAtF,EAAAqG,IAAA,QAAAE,SAAA,CAEQ,GAAAvG,EAAAwG,GAAA,WACLC,KAAK,QACLxB,KAAA,cACAY,MAAG,gBACHa,GAAA,4BACAC,QAAApD,kBAAAA,EACE,WACFC,EAAA,oBAEa,GAAAxD,EAAAqG,IAAA,WAAAQ,QAAA,4BAAAN,SAA4B,CAC9B,aAAwCtE,EAAAqD,MAAA,CAAAyD,cAAA,aAIvD,GAAA/I,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CACG,GAAAvG,EAAAqG,IAAA,QAAAE,SAAA,CAEQ,GAAAvG,EAAAwG,GAAA,WACLC,KAAK,QACLxB,KAAA,cACAY,MAAG,YACHa,GAAA,wBACAC,QAAApD,cAAAA,EACE,WACFC,EAAA,aACC,OACY,GAAAxD,EAAAwG,GAAA,WAAAK,QAAA,wBAAwBN,SAAA,YAExC,GAAAvG,EAAAqG,IAAA,QAAAE,SAAA,CAEQ,GAAAvG,EAAAwG,GAAA,WACLC,KAAK,QACLxB,KAAA,cACAY,MAAG,YACHa,GAAA,wBACAC,QAAApD,cAAAA,EACE,WACFC,EAAA,gBAEa,GAAAxD,EAAAqG,IAAA,WAAAQ,QAAA,wBAAAN,SAAwB,CAEpC,QAA8C,OAAA9E,CAAAA,EAAAmC,MAAAA,EAAA,OAAAA,EAAAoF,QAAA,CAAA1D,MAAA,CAAAyD,cAAA,KAAAtH,KAAA,IAAAA,EAAAA,EAAA,YAItD,QAGA,CAAU,EAAAzB,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACZ,GAAAvG,EAAAqG,IAAA,WAAAE,SAAM,CACA,WAEF,GAAAvG,EAAawG,GAAI,EAChB,UAEAD,SAAAtD,IAAA,EAAAA,EAAA,qBAAAjD,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAQ,CAAuB0C,KAAAC,KAAA,CAAAjG,IAAAA,GAAA,OAChC,QAGA,CAAU,EAAAjD,EAAAwG,GAAA,SAAAF,UACb,kBAAOC,SACC,GAAAvG,EAAAwG,GAAA,EAAAvF,EAAAkI,CAAA,EACNC,IAAK,KACLC,IAAA,IACAC,WAAY,EACZzD,MAAAoD,KAAWC,KAAA,EAAUjG,MAAAA,EAAAA,EAAA,QACf,SAAA4C,EAAM,CACR0D,MAAAC,OAAa,CAAC3D,IACfA,CAAAA,EAAAA,CAAA,KAEH3C,EAAA2C,EAAA,IACA,EAAY4D,WACF,CACRC,OAAA,EACFC,WAAA,SACA,EAAaC,YACJ,CACPC,MAAA,GACAH,OAAA,GACAI,UAAA,GACAC,YAAY,UACZJ,WAAA,iBAEFK,QAAA,CACA,EAAWC,UACT,CACAP,OAAQ,EACRQ,OAAA,iBACFP,WAAA,mCAKD,CAAU,EAAA3J,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACZ,GAAAvG,EAAAqG,IAAA,WAAAE,SAAM,CACO,kBAET,GAAAvG,EAAcwG,GAAI,WACf,CACwCD,SAAApD,IAAA,EAAAA,EAAA,qBAAAgH,MAAA,CAAAlB,KAAAC,KAAA,CAAA/F,IAAAA,EAAA,eAG3C,CAAU,EAAAnD,EAAAwG,GAAA,SAAAF,UACb,kBAAOC,SACC,GAAAvG,EAAAwG,GAAA,EAAAvF,EAAAkI,CAAA,EACNC,IAAK,KACLC,IAAA,IACAC,WAAY,EACZzD,MAAAoD,KAAWC,KAAA,EAAU/F,MAAAA,EAAAA,EAAA,QACf,SAAA0C,EAAM,CACR0D,MAAAC,OAAa,CAAC3D,IACfA,CAAAA,EAAAA,CAAA,KAEHzC,EAAAyC,EAAA,IACA,EAAY4D,WACF,CACRC,OAAA,EACFC,WAAA,SACA,EAAaC,YACJ,CACPC,MAAA,GACAH,OAAA,GACAI,UAAA,GACAC,YAAY,UACZJ,WAAA,iBAEFK,QAAA,CACA,EAAWC,UACT,CACAP,OAAQ,EACRQ,OAAA,iBACFP,WAAA,mCAKD,CAAU,EAAA3J,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACZ,GAAAvG,EAAAqG,IAAA,WAAAE,SAAM,CACO,kBAET,GAAAvG,EAAcwG,GAAI,WACf,CACwCD,SAAAlD,IAAA,EAAAA,EAAA,qBAAA8G,MAAA,CAAAlB,KAAAC,KAAA,CAAA7F,IAAAA,EAAA,eAG3C,CAAU,EAAArD,EAAAwG,GAAA,SAAAF,UACb,kBAAOC,SACC,GAAAvG,EAAAwG,GAAA,EAAAvF,EAAAkI,CAAA,EACNC,IAAK,KACLC,IAAA,IACAC,WAAY,EACZzD,MAAAoD,KAAWC,KAAA,EAAU7F,MAAAA,EAAAA,EAAA,QACf,SAAAwC,EAAM,CACR0D,MAAAC,OAAa,CAAC3D,IACfA,CAAAA,EAAAA,CAAA,KAEHvC,EAAAuC,EAAA,IACA,EAAY4D,WACF,CACRC,OAAA,EACFC,WAAA,SACA,EAAaC,YACJ,CACPC,MAAA,GACAH,OAAA,GACAI,UAAA,GACAC,YAAY,UACZJ,WAAA,iBAEFK,QAAA,CACA,EAAWC,UACT,CACAP,OAAQ,EACRQ,OAAA,iBACFP,WAAA,sCAON,CAAU,EAAA3J,EAAAwG,GAAA,SACVF,UAAK,aACLS,IAAAvC,GAAmB2D,MAAAtD,GAAAuF,KAAA,GAGrB,GAAI,KAED,GAAApK,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAOpB,GAAoB,SAAe,OAC1C0C,MAAA1C,GAAS,aAAoB,UAAkB,CAC/CgF,QAAAhF,GAAajD,EAAyBD,CAAS,eAE9CkD,GAAA,GAAAgD,KAAAA,CACC,CAAS9B,SAAClB,GAAO,GAAArF,EAAAwG,GAAA,EAAArF,EAAAmJ,GAAA,EAAAnC,MAAE,CAAaC,SAAA,GAEzB,GAAQ,GAAApI,EAAAwG,GAAA,EAAArF,EAAAoJ,GAAA,EAAApC,MAAE,CAAaC,SAAA,EAC/B,MAGI,GAAApI,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,gBACNsB,MAAA,oBAASsC,QAAAhI,EAECkE,SAAQ,GAAAvG,EAAAwG,GAAA,EAAApF,EAAAoJ,GAAA,EAAArC,MAAE,CAAaC,SAAA,QAG5B,GAAApI,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,gBACNsB,MAAA,oBAASsC,QAAA/H,EAEGiE,SAAQ,GAAAvG,EAAAwG,GAAA,EAAApF,EAAAqJ,GAAA,EAAAtC,MAAE,CAAaC,SAAA,QAG9B,GAAApI,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,YACNsB,MAAA,gBAASsC,QAAA9H,EAEMgE,SAAA,GAAAvG,EAAAwG,GAAA,EAAAtF,EAAAwJ,GAAA,OAGV,GAAA1K,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,SACNsB,MAAA,qBACAsC,QAAA7H,EAAUmI,SAEVtF,GAAWkB,SAAA,GAAAvG,EAAAwG,GAAA,EAAArF,EAAAyJ,GAAA,OAGN,GAAA5K,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAO,OACPsB,MAAA,SAASoC,MAAA,CAAAjG,EAAA,MACTmG,QAAA5H,EAAWkI,SAEX,CAAAhI,EAAQ4D,SAAA,GAAAvG,EAAAwG,GAAA,EAAAjF,EAAAsJ,GAAA,OAGH,GAAA7K,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAO,OAKPsB,MAAA,SAASoC,MAAA,CAAApG,EAAA,GAAAoG,MAAA,CAzZP,KAyZOA,MAAA,CAAAjG,EAAA,SAAAiG,MAAA,CAAAjG,EAAA,WACTmG,QAAA3H,EAAWiI,SAEX,CAAA/H,EAAQ2D,SAAA,GAAAvG,EAAAwG,GAAA,EAAAjF,EAAAuJ,GAAA,OAGV,GAEH,KACCrH,aAAAA,EAAA,GAAAzD,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CAES,GAAAvG,EAAAwG,GAAA,YACLC,KAAA,SACA,cAAW5C,EAAAwE,KAAAA,EAAA,GACX,aAAM,SACNN,MAAA,aACE,UACFjE,EAAA,KAEcyC,SAAA,GAAAvG,EAAAwG,GAAA,EAAAnF,EAAA0J,GAAA,OAGT,GAAA/K,EAAAwG,GAAA,YACLC,KAAK,SACLM,IAAA3C,EACA,cAAWP,EAAA,GAAAwE,KAAAA,CAAA,CACX,aAAM,QACNN,MAAA,YACE,UACAjE,EAAA,IACFY,GAAA,IAAA4D,EAAA,EAEU/B,SAAA,GAAAvG,EAAAwG,GAAA,EAAAlF,EAAA0J,GAAA,IAGX,GACEvG,GACW,GAAAzE,EAAAqG,IAAA,SACVC,UAAK,kBACLS,IAAAzC,GACA6D,MAAAtD,GAAW2D,MAAA,CACXC,SAAS,GACP,OAAA9C,EAAM,CACN,IAAM+C,EACH/C,EAAAgD,aACD,CACEC,EAAgB,CAAAF,GAAA,CAAA/C,EAAAkD,aAAA,CAAAC,QAAA,CAAAJ,GAClBE,GACDlE,GAAA,GAEF,EAAoB,GAAAI,GAAA0D,MAAA,CAAAjC,SAAA,CAEhB,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,SAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACN,GAAAvG,EAAAwG,GAAA,WAAAD,SAAA,oBACF,CAAU,EAAAvG,EAAAwG,GAAA,SAAAF,UACb,kBAAOC,SACA,GAAAvG,EAAAwG,GAAA,EAAAvF,EAAAkI,CAAA,EACLC,IAAK,EACLC,IAAA,IAAYI,WACV,CACFwB,QAAA,MACA,EACApF,MAAAhD,EACM,SAAAgD,EAAM,CACR0D,MAAAC,OAAa,CAAC3D,IACfA,CAAAA,EAAAA,CAAA,KAEH/C,EAAA+C,EACA,EAAa+D,YACJ,CACPC,MAAA,GACAH,OAAA,GACAI,UAAA,GACAC,YAAY,oBACZJ,WAAS,OAAAQ,MAAA,CAAAtH,EAAA,MAAAsH,MAAA,CAAAtH,EAAA,MAAAsH,MAAA,CAAAtH,EAAA,KACXmH,QAAA,CACA,EAAWC,UACT,CACAP,OAAQ,EACRQ,OAAA,iBAEFP,WAAA,0DAKD,CAAU,EAAA3J,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACN,GAAAvG,EAAAwG,GAAA,WAAAD,SAAA,eACF,CAAU,EAAAvG,EAAAwG,GAAA,SAAAF,UACb,kBAAOC,SACA,GAAAvG,EAAAwG,GAAA,EAAAvF,EAAAkI,CAAA,EACLC,IAAK,EACLC,IAAA,GAAYI,WACF,CACRC,OAAA,EACFC,WAAA,SACA,EACA9D,MAAA9C,EACM,SAAA8C,EAAM,CACR0D,MAAAC,OAAa,CAAC3D,IACfA,CAAAA,EAAAA,CAAA,KAEH7C,EAAA6C,EACA,EAAa+D,YACJ,CACPC,MAAA,GACAH,OAAA,GACAI,UAAA,GACAC,YAAY,UACZJ,WAAA,iBAEFK,QAAA,CACA,EAAWC,UACT,CACAP,OAAQ,EACRQ,OAAA,iBACFP,WAAA,sCAON,CAAU,EAAA3J,EAAAwG,GAAA,SACVF,UAAK,aACLS,IAAAvC,GAAmB2D,MAAAtD,GAAAuF,KAAA,GAGrB,GAAI,KAER,GAAI,QAEL,CAAU,EAAApK,EAAAqG,IAAA,SAAAC,UAAA,SAAAC,SAAA,CAEN,GAAAvG,EAAAwG,GAAA,WACLO,IAAArF,EACA+E,KAAK,OACLxB,KAAA,iBACAiG,YAAM,YAAAC,KAAA,KAGD,GAAAnL,EAAAwG,GAAA,YACLC,KAAA,SACE,SAAM,CACN,IAAMxB,EAAAvD,EAASsG,OAAY,CAAOtG,EAClBsG,OAAO,CAACnC,KAAK,CACzB,GACJuF,EAAWvJ,EAAAmG,OAAA,CAAAnG,EAAAmG,OAAA,CAAAnC,KAAA,QAAAlC,EAAE,CAAMsB,KAAAA,EAAOmG,OAAAA,CAC5B,IACD7E,SAAA,WAGY,GAAAvG,EAAAqG,IAAA,YAAaU,IAAAlF,EAAawJ,aAAA,MAAA9E,SAAA,CACvB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,MAAMU,SAAA,SACN,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,MAAMU,SAAA,iBAK7B,KAAA+E,EAAA7L,EAAA,MAAA8L,EAAA9L,EAAAU,CAAA,CAAAmL,GAAAE,EAAA/L,EAAA,MCjlBD,IAAAgM,EAAerL,EAAcE,aAAA,OAIQ,SACnCoL,GAAgB,CAChB,IAAK/K,EAAS,GAAAP,EAAAQ,UAAA,EAAA6K,GAAA,GACZ,CAAA9K,EACD,0CAEF,OAAAA,CAAA,CCrC8C,SAC7CgL,EAAkCC,CAAA,EACG,WACjC3E,QAAA,GAAauE,EAAAA,MAAA,CAAAK,KAAA,CAAAC,OAAA,CAAAF,EAAA1E,EAAA,CACf6E,YAAA,WAEH,IDuByBN,EAAAlL,WAAA,kBCvBzB,IAAAyL,EAAAvM,EAAA,MCPD,SAAAwM,GAAoB,CACpB,WAAAC,OAAAzM,EAAA0M,CAAA,oECGyC,SACvCC,GAAkB,CAClB,IAAMC,EAAA,GAAejM,EAAAuB,MAAA,MAEX,EAEJ2K,EAAQ,GAAAlM,EAAAuB,MAAc,QAC1BkE,EAAM,GAAAzF,EAAAmM,OAAqB,WACzBC,EAAO,IACTF,EAAAtE,OAAA,CACO,MACL,CAA6C,MAATyE,+BAAA,KAAG,IAAAC,EAAHC,UAAArH,MAAA,CAAOsH,EAAA,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAADD,CAAA,CAAAC,EAAA,CAAAF,SAAA,CAAAE,EAAA,CAExC,IAAAC,EAAO,MAAAN,IACT,OAAAM,MAAAA,EAAA,OAAAA,EAAAL,6BAAA,IAAAG,EAAA,EAC0C,MAATG,4BAAA,KAAG,IAAAL,EAAHC,UAAArH,MAAA,CAAOsH,EAAA,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAADD,CAAA,CAAAC,EAAA,CAAAF,SAAA,CAAAE,EAAA,CAErC,IAAAC,EAAO,MAAAN,IACT,OAAAM,MAAAA,EAAA,OAAAA,EAAAC,0BAAA,IAAAH,EAAA,EACkD,MAATI,oCAAA,KAAG,IAAAN,EAAHC,UAAArH,MAAA,CAAOsH,EAAA,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAADD,CAAA,CAAAC,EAAA,CAAAF,SAAA,CAAAE,EAAA,CAE7C,IAAAC,EAAO,MAAAN,IACT,OAAAM,MAAAA,EAAA,OAAAA,EAAAE,kCAAA,IAAAJ,EAAA,EAC2D,MAATK,6CAAA,KAAG,IAAAP,EAAHC,UAAArH,MAAA,CAAOsH,EAAA,MAAAF,GAAAG,EAAA,EAAAA,EAAAH,EAAAG,IAADD,CAAA,CAAAC,EAAA,CAAAF,SAAA,CAAAE,EAAA,CAEtD,IAAAC,EAAO,MAAAN,IACT,OAAAM,MAAAA,EAAA,OAAAA,EAAAG,2CAAA,IAAAL,EAAA,CAED,CAEH,MAcD,MAdiB,GAAAxM,EACd0F,SAAM,EAAS,IAAI,CACnB,IAAMoH,EAAA,IAAYjB,EAElBa,EAAiBd,EAAGmB,EAAA,CAAAD,GAGP,OAFbb,EAAArE,OAAa,CAAOkF,EAEpBZ,EAAatE,OAAA,CAAA8E,EACX,KACAA,CAAO,CAAAd,EAASoB,EAAA,IAClBF,EAAAG,SAAA,EACC,CAEH,MACDxH,CAAA,CCjDqC,SACpCyH,GAAO,OACL,CACAC,cAA+C,GACjDC,SAAA,mBACD,EC6EwD,eACjDC,EAAuB7B,CAAA,EAC7B,IAAI8B,EAAa,MAAAC,MAAA/B,GAAA,GACf8B,EAAME,EAAA,EACN,IAAAC,EAAO,MAAAH,EAAAG,WAAA,GACT,OAAOA,CAAA,CAGR,MADE,mCAAA1D,MAAA,CAAAyB,GAAA,CDpFFnM,EAAA,MAAAA,EAAA,IESD,GAAM,CAAEqO,oBAAAA,CAAc,EAAAvC,MAEtB,CAAAwC,UAAAA,CAAS,CAAW,CAAAD,EA4ByD,SAAvCE,EAAqCC,CAArC,MAIpCC,EAEAC,EALA,IAAM5H,SAAAA,CAAE,EAAW0H,EACb,CAACG,YAAAA,CAAA,CAAAC,kBAAAA,CAAuB,EAAA3C,IACxB,CAAA4C,EAAwBC,EAAa,IAAAnO,EAAA6D,QAAA,KACvBuK,EAAAT,CAAA,CAAAK,EAAA,CAGZK,EAAA,OAAAP,CAAAA,EAAAM,CAAA,CAAAF,EAAA,GAAAJ,KAAA,IAAAA,EAAAA,EAAA,KAAoBQ,EAAC,GAAAtO,EAAAmM,OAAA,aAAA4B,CAAAA,EAAAM,EAAAtD,IAAA,GAAAgD,KAAA,IAAAA,EAAAA,EAAA,CAAK,IAChC,IAAC,EAAYM,EAGf,EAIME,EAAC,CAAAF,CAAAA,IAAAA,EAAkBG,cAAuB,EAAAH,IAAAA,EAASI,eAAA,EAEpD,CAAApL,EAAeqL,EAAqB,IAAA1O,EAAY6D,QAAA,WACnD0K,GAAAlL,aAAAA,GACDqL,EAAA,SAGD,GAAM,CAAC/M,EAAeC,EAAoB,IAAA5B,EAAA6D,QACxC,EAAM,WAEF,CAAC/B,EAAY6M,EAAiB,IAAA3O,EAAA6D,QAAS,UAAA+K,KACvC,CAACnM,EAAWC,EAAa,CAAG,GAAA1C,EAAA6D,QAAS,OACrC,CAAClB,EAAWC,EAAa,CAAG,GAAA5C,EAAA6D,QAAA,EAChC,IAEI,CAACgL,EAAAC,EAAiB,IAAA9O,EAAmB6D,QAAG,UAAAkL,KAIxC,CAAAlN,EAAemN,EACM,CAApB,GAAAhP,EAAA6D,QAAiB,MAAoB,IAEtCnC,EAAA2M,EAAmB,GAAAtE,MAAkC,CAAAsE,EAAjBxJ,IAAY,MAAKkF,MAAA,CAAA1G,GAAiB,KACtE4L,EAAeZ,EAAS,GAAAtE,MAAA,CAAAsE,EAAAxJ,IAAA,mBACxB,CAAEpE,SAAAA,CAAM,CAAE,CAAAL,IAEV,CAAEoD,OAAAA,CAAA,CAAQ0L,aAAAA,CAAA,CAAc7M,KAAAA,CAAK,CAAAC,KAAAA,CAAA,CAAAC,QAAAA,CAAU,CAAAC,QAAAA,CAAA,EAAApC,EAAAsB,GACvC,CAAC8B,OAAA2L,CAAe,EAAA/O,EAAkB6O,GAClC,CAAAxL,EAAEC,EAAA,CAA+B,GAAG1D,EAAA6D,QAAc,MAClD,CAAEwI,8BAAAA,CAAkB,CAAW,CAAAL,IAC/B,CAACmB,cAAAA,CAAA,CAAe,CAAAD,IAGhB,CAACkC,EAAWC,EAAgB,IAAArP,EAAA6D,QAAS,UAEvC,CAAAV,GAAAC,GAAwB,IAAApD,EAAA6D,QAAA,cAC1BhC,CAAAA,EAAIqD,MAAc,CACH,kBAAb/B,IACDC,GAAA,iBAGc,kBAAbD,IACDC,GAAA,aAG8C,IAC/CkM,GAAI,GAAe,KAEjBC,EAEAC,EAGAC,EAAkBC,EANpB,IAAIC,EAAc9N,EAKO,GALMsB,cAAAA,GAE/BwM,EAAW,IAA2B,GAA3BJ,CAAAA,EAA2B/L,MAAAA,EAAA,OAAAA,EAAAoF,QAAA,GAAA2G,KAAA,IAAAA,EAAAA,EAAA,GACrB,cAAApM,IAChBwM,CAAAA,EAAA,OAAAH,CAAAA,EAAAhM,MAAAA,EAAA,OAAAA,EAAAoF,QAAA,CAAAgH,KAAA,QAAAJ,KAAA,IAAAA,EAAAA,EAAA,KACwBG,EAEpBzK,MAAA,CAYJ,QACH,EAZI,IAAM2K,EAAA,GAAa,IAAS,GAATH,CAAAA,EAAS,QAAAD,CAAAA,EAAAZ,EAAAiB,GAAA,CAAAH,CAAA,CAAAI,EAAA,IAAAN,KAAA,IAAAA,EAAAA,EAAA,IAAA5K,EAAA,GAAA6K,KAAA,IAAAA,EAAAA,EAAA,EAE1BM,EACGH,EACA,UACH,EACOD,KAAA,IAAAzK,KAAA,EAAA8K,EAAAF,IAAAF,EAAAE,EAAA,KAAAC,GACRA,EAEI,KAKT,EACMnN,GAAAyM,GAAa,eACbvM,GAAauM,GAAU,cAEvBrM,GAAYqM,GAAA,cAEdY,GAAM,GAAAlQ,EAAuDmQ,WAAE,GAAAtL,EAAAY,IAAA,KAI7D8J,EAEAC,EAGAC,EARF,IAAML,EAAe,GACjBgB,EAAe,IAAArB,IAAAF,GACfc,EAAc9N,EAKsB,QACdoO,KANK9M,cAAAA,GAE/BwM,EAAW,IAA2B,GAA3BJ,CAAAA,EAA2B/L,MAAAA,EAAA,OAAAA,EAAAoF,QAAA,GAAA2G,KAAA,IAAAA,EAAAA,EAAA,GACrB,cAAApM,IAChBwM,CAAAA,EAAA,OAAAH,CAAAA,EAAAhM,MAAAA,EAAA,OAAAA,EAAAoF,QAAA,CAAAgH,KAAA,QAAAJ,KAAA,IAAAA,EAAAA,EAAA,IAEyBG,GAAA,CACxB,IAAMU,EAAa,OAAAZ,CAAAA,EAAAZ,EAAAiB,GAAA,CAAAG,EAAA,GAAAR,KAAA,IAAAA,EAAAA,EAAA,GAAEa,EAAG,CAAiB,GAACD,CAAO,CAAM,CAAAxL,EAAA,CAAAY,CACvD,EACA2K,EAAAG,GAAc,CAAAN,EAAKK,GAAAlB,EAAClQ,IAAA,EAAa+Q,EAAWK,EAC9C,CACA,CACAxB,EAAAsB,GAEFf,EAAAD,EAAA,GAAS5L,EAAWL,GAAW0L,EAAgBhN,EAGjD,EAEGiB,GAAA,GAAA9C,EAAAmQ,WAAA,KAAAD,GAAA,cAAAzK,GAAA,CAAUyK,GAGb,EAEGlN,GAAA,GAAAhD,EAAAmQ,WAAA,KAAAD,GAAA,aAAAzK,GAAA,CAAUyK,GAGb,EAEGhN,GAAA,GAAAlD,EAAAmQ,WAAA,KAAAD,GAAA,aAAAzK,GAAA,CAAUyK,GAGb,EAAgB,GAAAlQ,EACT0F,SAAA,MAAc,CAAQ,GACzB0J,EAAAlK,MAAA,EAEwD,IACxD,GAAI,CAAAsL,EAAAF,EAA0B,GAAAlB,EAAc,GAC1CoB,aAAyBpF,EAAEA,MAAA,CAAAK,KAAA,EACG,QACRgF,KADtBD,EAAWE,OAAO,IACIJ,EAAA,CAApB,IAAAK,EACA,IAAIC,EAAgB,IAAG,GAAHD,CAAAA,EAAGL,CAAA,CAAAG,EAAA,GAAAE,KAAA,IAAAA,EAAAA,EAAA,KACrBC,IAAAA,EAAQ,OACNH,GAAK,IACH,cAEED,EAAIE,OAAA,CAAAxR,IAAA,CAAiC,IACnCkM,EAAAA,MAAU,CAAAK,KAAA,CAAAiF,OAAA,CAAAG,WAAA,EACZC,SAAAF,CAEF,IACF,KAAK,KACH,aACsCJ,EAClCE,OAAY,CAAAxR,IAAA,KAAAkM,EAAAA,MAAA,CAAAK,KAAA,CAAAiF,OAAA,CAAAK,UAAA,EACdhO,WAAA6N,CAEF,IACF,KAAK,KACH,aACsCJ,EAClCE,OAAY,CAAAxR,IAAA,KAAAkM,EAAAA,MAAA,CAAAK,KAAA,CAAAiF,OAAA,CAAAM,UAAA,EACd/N,WAAA2N,CAEF,GAEL,CACH,CAEDJ,EAAAS,YAAA,EACH,GAEI,EAAc,EAChB/B,GACDA,IAtCD,EAuCC,CAAgBE,EAAaF,EAEhC,EAAwC,IACtCnN,GAAI,GAAgB/B,EAAMmQ,WAAE,OAC1BtO,EAAAqD,MAAkB,EAAkByJ,EAC5B,GAAuB,CAC7B,IAAKuC,EAAM,IAAkBtC,IAAA9M,GAAiB,IAC5C,IAAA0O,KAAqB3O,EAAA,KA1MtBwD,EA2MC6L,EAAWC,GAAA,CAAAX,GA1MnBnL,CADOA,EA4MDmL,GA3MCY,aAAa,CAAG,GACvB/L,EAAOgM,aAAY,CAAG,GACtBhM,EAAOiM,YAAY,CAAG,GACtBjM,EAAOkM,YAAY,CAAG,GACxBlM,EAAAmM,YAAA,GAwMQ,CACF,OAAAN,CACD,EACA,GAAiBrP,EAEpB,EACEG,GAAoB,GAAAhC,EAAQmQ,WAAA,OAC1BtO,EAAAqD,MAAkB,EAAkByJ,EAC5B,GAAuB,CAC7B,IAAKuC,EAAM,IAAkBtC,IAAA9M,GAAiB,IAC5C,IAAA0O,KAAwB3O,EAAA,KA/MzBwD,EAgNC6L,EAAaO,MAAA,CAAAjB,GA/MrBnL,CADOA,EAiNDmL,GAhNCY,aAAa,CAAG,GACvB/L,EAAOgM,aAAY,CAAG,GACtBhM,EAAOiM,YAAY,CAAG,GACtBjM,EAAOkM,YAAY,CAAG,GACxBlM,EAAAmM,YAAA,GA6MQ,CACF,OAAAN,CACD,EACA,GAAiBrP,EAEpB,EACEI,GAAe,GAAAjC,EAAOmQ,WAAe,YACrC,IAAI9K,EAAQ7B,EAAAkO,eAAA,GACVrM,IACA7B,EAAAvB,YAAA,CAAAoD,EAAA,IACD6J,IACA,GAAS1L,EAAa0L,EAEzB,EACEhN,GAAe,GAAAlC,EAAOmQ,WAAe,YACrC,IAAI9K,EAAQ7B,EAAAkO,eAAA,MACVrM,EAAA,CACoE,GAClE7B,EAAAoF,QAAA,MAAAvD,GAAA7B,EAAAoF,QAAA,MAAAvD,EACD,MACD,CACA7B,EAAAmO,aAAA,CAAAtM,EAAA,IACD6J,GACA,IAAS1L,EAAa0L,EAEzB,EAEI5L,GAAI,GAAAtD,EAAAmQ,WAAA,QAAAyB,GAAA,CACJ,IAAAC,EAAkC,IAChC,IAAMjL,KAAQgL,EAAM,CACpB,IAAKE,EAAM,MAASvG,EAAe3E,GAAA,GACjC,CAAAkL,EAAMrI,KAAI,EAAM,CAAAqI,EAAAxI,MAAA,CACjB,iCAED,IAAMyI,EAAAD,EAAcrI,KAAM,CAAM6E,CAAG,GAAY,CAC3C0D,EAAaF,EAAKxI,MAAA,CAAAgF,CAAiB,OACrCyD,EAAI,GAAAC,EAAA,GACJ,IAAIC,EAEJA,EADEF,EAAYC,EACP,EAAAD,EAEN,EAAAC,EAEDF,EAAMI,MAAM,CAAGD,EAChBH,EAAAK,MAAA,CAAAF,CACD,IACE5O,aAAAA,EAAoB,CAClByO,EAAMpB,OAAO,EACdoB,CAAAA,EAAApB,OAAA,KAED,IAAM0B,EAAa,IAAAhH,EAAAA,MAAA,CAAAK,KAAA,CAAAiF,OAAA,CAAA2B,SAAA,CACnBP,EAAMpB,OAAA,CAAAxR,IAAY,CAAAkT,GACnBN,EAAAb,YAAA,EACD,GACO,IACPzN,EAAO8O,YAAI,CAAAR,GACXtO,EAAA2N,GAAA,CAAAW,GACFD,EAAAC,CACA,CACED,GACDrO,EAAA+O,eAAA,CAAAV,EAEH,GAASrO,EAAkBH,EAAYiL,EAGzC,EACEnM,GAAM,CAAS,EAAAnC,EAAOmQ,WAAA,WAAe,CACrC,IAAI9K,EAAQ7B,EAAAkO,eAAA,MACVrM,EAAM,KAGNmN,EAASC,EAFM,IAGPC,EAAA,MACC,IAAA7L,QAAA,GAAAxB,EAAAsN,KAAA,CAAA7L,IAFA4L,EACPnC,GAAA,CAAK,CACLqC,IAAA,CAAM,IAAU,GAATJ,CAAAA,EAAAE,EAAAE,GAAK,GAAIJ,KAAT,IAASA,EAATA,EAAA,GAAa,GACpBK,KAAA,KAAa,GAAbJ,CAAAA,EAAaC,EAAAG,IAAA,GAAAJ,KAAA,IAAAA,EAAAA,EAAA,MACfK,QAAA,EAEA,GApRN,oBAAAzN,EAAAgB,IAAA,GAsRQqM,EAAKlP,MAAA,CAAAA,EAA0BkP,EAC7BK,aAAW,KACbvP,EAAA2N,GAAA,CAAA9L,EACA,GACDqN,EAAAM,SAAA,IAGDxP,EAAOyP,mBAAI,GACXzP,EAAO2N,GAAA,CAAAuB,GACRlP,EAAA+O,eAAA,CAAAG,EACA,IAAQlP,EAEX,EACEpB,GAAgB,GAAOpC,EAAAmQ,WAAgB,YACvC,IAAA+C,EAAO1P,EAAA2P,gBAAmB,GAC1B3P,EAAOyP,mBAAU,GACjBzP,EAAO4P,MAAA,IAAAF,GACP1P,EAAA6P,gBAAA,EACC,GAAQ7P,EAEX,EACqED,GAAlD,GAAAvD,EAASmQ,WAAoC,QAAAtC,GAAA,CAC5D,IAAM7C,OAAAA,CAAE,CAAAnG,KAAAA,EAAW,EAAE,EAAAgJ,EAIrB,CAAOyF,YAAAA,CAAS,CAAMC,YAAAA,CAAA,CAAAC,cAAAA,CAAA,QAAA3M,QAAA4M,GAAA,EAAApU,EAAAqU,CAAA,MAAArU,EAAAqU,CAAA,OAAAC,IAAA,CAAAtU,EAAAuU,IAAA,CAAAvU,EAAA,OAEtBwF,EAAMA,EAAAgP,IAAA,mBAQ8C,IAAAC,EAG5C,MAAAjN,QAAA4M,GAAA,CAAArF,EAAA2F,MAAA,IAAA1F,GAAA,CAAAA,EAAA3G,MAAA,EAAA2G,CAAA,IAAAA,EAAA2F,UAAA,EAAAC,GAAA,OAAA5F,GAAA,KAFF6F,EAAMC,EAINpG,EAiCMqG,MA9BNC,EAuBAC,EA7BA,IAAMC,EAAA,IACoC,GADpCL,CAAAA,EACJzT,CAAA,IAAQsJ,MAAqB,CAAAsE,EAAjBxJ,IAAY,WAAK,GAAWqP,KAAxC,IAAwCA,EAAxC,OAAAA,EAAA1Q,MAAA,CAEkB2L,EAAA,OAAAgF,CAAAA,EAAA1T,CAAA,IAAAsJ,MAAA,CAAAsE,EAAAxJ,IAAA,iBAAAsP,KAAA,IAAAA,EAAA,OAAAA,EAAA3Q,MAAA,CAAqB8K,EAAA,OAAAP,CAAAA,EAAAM,EAAAtD,IAAA,GAAAgD,KAAA,IAAAA,EAAAA,EAAA,CAAK,IAAI,IAClD,CAGEyG,EAAKD,EAAAE,SAAA,EACL7B,IAAAzF,EACA0F,KAAA1F,EACA1D,MAAA6E,CAAQ,CAAW,EAAC,CACtBhF,OAAAgF,CAAA,MAEoB,GAClBa,EAAM,CAA4C,IAChDuF,EAAKvF,EAAAsF,SAAA,EACL7B,IAAAzF,EACA0F,KAAA1F,EACA1D,MAAA6E,CAAQ,CAAW,EAAC,CACtBhF,OAAAgF,CAAA,MACqD+F,EACnD,MAAAhI,EAAA,CACAmI,cAAAA,EACFE,iBAAAA,CACF,EAAO,MAENL,EAAAG,CAED,CACQ,OACNvG,GAAK,IACH,SACAqG,EAAM,GAAAvK,MAAA,CAAAlF,EAAA,KAAAkF,MAAA,CAAAiE,EAAA,QACR,KAAK,KACA,aACH,UAEAsG,EAFiBjG,EAEN,GAAAtE,MAAA,KAAgC,GAAhCqK,CAAAA,EAAgC/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,SACzCoJ,WAAAA,EACK,UAAAlE,MAAA,CAAAiE,EAAA,QAEN,GAAAjE,MAAA,CAAAiE,EAAA,OAGL,CAAO,MAAE,CAA0BpH,SAAAyN,EAASC,SAAAA,CAC9C,CAGJ,IAAQ,OACNtJ,GAAK,IAAO,OAEV,IAAApE,SAAAA,CAAY,CAAA0N,SAAAA,CAAU,EAAAR,CAAA,CAAA5F,EAAA,CACtBoF,EAAM1M,EAAA0N,GACR,MACK,IAAO,OAEuC,IAAApN,EACvC,MAAML,QAAA4M,GAAA,CAAAK,EAAsBG,GAAA,OAAeW,GAAQ,EACzDC,KAAM,MAAAxH,EAAuBuH,EAAAhO,QAAA,EAC/B/B,KAAA+P,EAAAN,QAAA,CAEF,IACMQ,EAAAtB,EAAgBtM,GAIlB6N,EAAc/G,EAAAgH,OAAA,2BAAAjP,EAAAkP,EAAAC,IAAA,CAAAD,GAAAC,CAAAA,EAAAC,WAAA,IAClBC,EAAQ,UACNnH,GAAK,IACH,SACAmH,EAAM,eAAArL,MAAA,CAAAlF,EAAA,QACR,KAAK,KACH,SACAuQ,EAAM,UAAArL,MAAA,CAAAgL,EAAA,KAAAhL,MAAA,CAAAlF,EAAA,QACR,KAAK,KACH,UACAuQ,EAAM,IAAArL,MAAA,CAAAgL,EAAA,KAAAhL,MAAA,CAAAlF,EAAA,OAEV,CACF,MAAA0O,EAAAuB,EAAAM,EACF,CACA,CAEF,GAEEpH,EACAb,EACA1M,EACA4L,EACA+B,EACAF,EACDD,EAGH,EACS1N,GACL,GAAAP,EAAAmM,OAAA,QACAzK,aAAAA,EACA2B,iBAAAA,EACAqL,oBAAAA,EACA/M,gBAAAA,EACAC,mBAAAA,EACAE,cAAAA,EACA6M,iBAAAA,EACAlM,WAAAA,EACAC,cAAAA,EACAC,UAAAA,EACAC,aAAAA,EACAC,UAAAA,GACAC,aAAAA,GACAC,WAAAA,GACAC,cAAAA,GACAC,WAAAA,GACAC,cAAAA,GACAC,UAAAA,GACAC,aAAAA,GACAvB,gBAAAA,EACAE,cAAAA,GACAC,gBAAAA,GACAC,aAAAA,GACAC,aAAAA,GACAoB,UAAAA,GACAnB,UAAAA,GACAC,gBAAAA,GACAC,KAAAA,EACAC,KAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAe,WAAAA,GACAE,cAAAA,EACAC,eAAAA,EACAwK,sBAAAA,EACAC,yBAAAA,EACAG,YAAAA,EAEFC,YAAAA,CACE,IACA7M,EACA2B,EACA1B,EACAG,EACAW,EACAE,EACAE,GACAE,GACAE,GACAE,GACAL,GACAE,GACAE,GACArB,EACAE,GACAC,GACAC,GACAC,GACAoB,GACAnB,GACAC,GACAC,EACAC,EACAC,EACAC,EACAe,GACAE,EACAyK,EACAI,EACDC,EAGH,EAgCwB,MAhCR,GAAAvO,EACV0F,SAAQ,UACVlC,EAAM,CAA+B,IACnC6R,EAA0B,KAC5BrG,EAAAxL,EAAA2P,gBAAA,GACA,EAMa,OALb3P,EAAO8R,EAAE,CAAC,oBAAqBD,GAC/B7R,EAAO8R,EAAE,CAAC,oBAAqBD,GAE/B7R,EAAA8R,EAAA,qBAAAD,GAEAA,IACE,IAAO,CACP7R,EAAO+R,GAAG,CAAC,oBAAqBF,GAChC7R,EAAO+R,GAAG,CAAC,oBAAqBF,GAClC7R,EAAA+R,GAAA,qBAAAF,EACD,CACA,IAAQ7R,EAEX,EAAgB,GAAAxD,EACV0F,SAAA,MAAgB,CAClByJ,GACDA,CAAAA,EAAAqG,gBAAA,CAAA/L,KAAA,CAAA9G,CAAA,CACA,GAAiBwM,EAAUxM,EAE9B,EAAgB,GAAA3C,EACV0F,SAAA,MAAgB,CAClByJ,GACDA,CAAAA,EAAAqG,gBAAA,CAAAC,KAAA,QAAA1L,MAAA,CAAAtH,EAAA,MAAAsH,MAAA,CAAAtH,EAAA,MAAAsH,MAAA,CAAAtH,EAAA,KACA,GAAiB0M,EAAW1M,EAE/B,EACgC,GAAA7C,EAAAwG,GAAA,EAAA1F,EAAAgV,QAAA,EAAAjQ,MAAAlF,GAAU4F,SAAAA,CAE3C,GCxiBwC,SACvCwP,GAAQ,CACR,GAAM,CAAEhU,gBAAAA,CAAa,CAAE2M,YAAAA,CAAG,CAAW,CAAA3N,IAErC,CAAOwM,cAAAA,CAAA,EAAAD,IACJ,OACCoB,EAAU,GAAA1O,EAAAwG,GAAA,SACVF,UAAO,iBAAA6B,MACL,CACApG,gBAAAA,EACAiR,IAAAzF,EACA1D,MAAA6E,CAAQ,CAAW,EAAC,CACtBhF,OAAAgF,CAAA,IAGL,QCf6E,SAAvCsH,EAAA/H,CAAA,EACrC,IAAM1H,SAAAA,CAAC,CAAU,CAAA0H,EAEX,CAAApN,EAAAoV,EAAiB,IAAA7V,EAAA6D,QACpB,MACCiS,EAAa,GAAA9V,EAAamQ,WAAA,GAAA9P,EAAA0V,IAAA,CAAAF,EACjB,GAAK,EAAU,GAACpV,CAAS,CAAa,CAAAJ,EAAA,CAAA0V,CAC/C,GAKJ,MACEC,EAAa,GAAahW,EAAAmQ,WAAA,MAAA0F,EAChB,GAAY,CACpB,IAAO,CAAAxV,EAAA,CAAAmD,CAAA,IAAAyS,EAAA,CAAAxV,EACT,OAAAwV,CACC,EAEH,MACE1V,EAAO,GAAAP,EAAAmM,OAAA,MACL,EACA1L,SAAAA,EACAqV,eAAAA,EACFE,iBAAAA,CACC,IAAWvV,EAAgBqV,EAAiBE,EAE/C,EACyB,MAAQ,GAAApW,EAAAwG,GAAA,EAAAnG,EAAAyV,QAAA,EAAAjQ,MAAAlF,EAAU4F,SAAAA,CAE5C,GCzBE,SAJwC+P,EAAArI,CAAA,EAKzC,IAAM1H,SAAAA,CAAM,EAAA0H,EACNlH,EACJ,GAAA3G,EAAYuB,MACZ,QAQI,CAAEG,aAAAA,CAAQ,CAAAO,aAAAA,CAAc,CAAAC,aAAAA,CAAgB,CAAGC,UAAAA,CAAA,CAASC,gBAAAA,CAAC,CAAAkB,UAAAA,CAAA,CAAAjB,KAAAA,CAAA,CAAAC,KAAAA,CAAA,EAAA3B,IAErD,CAAA6C,OAAAA,CAAQ,CAAA0L,aAAAA,CAAA,CAAsCxL,eAAAA,CAAA,EAAAtD,EAAAsB,GAAAyU,EAA7B,gBAAmB,CACxC,IAAMvD,IAAAA,EAAA,EAAAC,KAAAA,EAAU,EAAO,CAAAtG,UAAArH,MAAgB,IAAAqH,KAAA,IAAAA,SAAA,IAAAA,SAAA,OAClC2G,EAAM1P,EAAU2P,gBAAS,WACd9N,KAAA6N,EAAA,KAAdkD,EACAC,CADiChR,CAAAA,EAClBuN,GAAA,SAAAwD,CAAAA,EAAA/Q,EAAAuN,GAAA,GAAAwD,KAAA,IAAAA,EAAAA,EAAA,GAAAxD,EACjBvN,EAAAwN,IAAA,SAAAwD,CAAAA,EAAAhR,EAAAwN,IAAA,GAAAwD,KAAA,IAAAA,EAAAA,EAAA,GAAAxD,CACA,CACF3D,GAEA,EACG,MACW,GAAAtP,EAAAwG,GAAA,SACVF,UAAU,qBACVmC,SAAK,EACL1B,IAAAA,EACE,MADuB2P,OACjB/Q,EAAA,CACNA,EAAIgR,cAAa,GACf5P,EAAIiB,OAAO,EACZjB,EAAAiB,OAAA,CAAA5B,KAAA,GAED,GAAM,CAAAwQ,MAAAA,CAAA,CAAS,CAAAjR,EAAUkR,YAAQ,CAG3BC,EAAAvN,MAAYwN,IAAM,CAAAH,GAAQzC,MAC9B,IACO6C,SAAAA,EAAAC,IAAO,EAAAD,EAAqBvQ,IAAA,CAAAN,KAAA,cAC/B6L,EAAa,MAAA/K,QAAA4M,GAAiB,CAAAiD,EAASzC,GAAA,OAAA6C,GAAA,CACvC,IAAKnC,EAAMmC,EAAAC,SAAA,MACT,CAAApC,EACD,2BAED,IAAMxN,EAAA,IAAWC,WACfR,EAAa,MAAG,IAAOC,QAAU,CAAAC,EAAAC,IAAA,CAAAI,EAC/B6P,MAAI,CAAM,MAAMzR,GAAW,CACzBA,EAAAC,MAAQ,EAAM,iBAAOD,EAAMC,MAAA,CAAA+B,MAAA,CAC7BT,EAAOvB,EAAAC,MAAA,CAAA+B,MAAA,EAENR,EAAA,oCAEH,EACFI,EAAAK,aAAA,CAAAmN,EACA,GAED,OAAO/N,CAGZ,GAAAmN,MAAM,CAAAkD,SACR,OAAA3T,EAAAsO,EACA,EACQ,MADoBsF,UACpB3R,EAAe,CACrB,IAAIC,EAAOD,EAAQC,MAAK,CAA2C,GACjEA,UAAAA,EAAA2R,QAAA,EAAA3R,aAAAA,EAAA2R,QAAA,EAEkC,GAClC5R,EAAA6R,OAAc,EAAG7R,EAAA8R,OAAA,QACf9R,EAAKkL,GAAA,MACH,IAAkB,GAChBlL,EAAA+R,MAAA,CACF,MASG,CARD,GAAM/R,EAAAgS,QAAc,EACpBhS,EAAAgR,cAAA,GACAjU,IACF,MAAO,CAKJ,EAHDiU,cAAA,GACAlU,IACD,MACE,KACH,IAAoC,GAClCkD,EAAA+R,MAAA,EAAA/R,EAAAgS,QAAA,CACF,MAKJ,CAHMhS,EAAAgR,cAAA,GACAjU,IACD,MAEN,CACD,GACEiD,CAAAA,EAAA+R,MAAA,GAAA/R,EAAA6R,OAAA,GAAA7R,EAAA8R,OAAA,GAAA9R,EAAAgS,QAAA,CAEe,OACfhS,EAAKkL,GAAA,EACL,IAAK,gBAAU,SAEblL,EAAMgR,cAAA,GACN,MAAMnU,IACR,UACkB,YAEhBmD,EAAMgR,cAAM,SAAEJ,EAAO,CAAEtD,KAAA,EACvB,GACF,UACmB,aAEjBtN,EAAMgR,cAAM,SAAEJ,EAAM,CAAEtD,KAAA,CACtB,GACF,UACgB,UAEdtN,EAAMgR,cAAM,SAAEJ,EAAM,CAAEvD,IAAA,EACtB,GACF,UACkB,YAEhBrN,EAAMgR,cAAM,SAAEJ,EAAK,CAAEvD,IAAA,CACrB,GACF,UACU,IAERrN,EAAMgR,cAAA,GACN,MAAMpU,IACR,UACU,IAERoD,EAAMgR,cAAA,GACN,MAAMtU,IACR,UACU,IAERsD,EAAMgR,cAAA,GACN,MAAMrU,IACR,UACU,IAEA,aAANR,IACA6D,EAAAgR,cAAmB,GACpB7S,EAAA,KAEH,UAEE,IACQ,UAANhC,IACA6D,EAAAgR,cAAoB,GACrB7S,EAAA,IAGP,CAxDE,CA3BA,EAqFDyC,SAAAA,CAGN,GCjKsC,SACrCqR,GAAQ,CAER,IAAAnU,iBAAAA,CACE,CAAAqL,oBAAAA,CAAC,CAAAH,YAAAA,CAAA,EAAA5N,IAAA,MAAc,GAAAf,EAAAqG,IAAA,SAAAC,UAAA,eAAAC,SAAA,CAEN,GAAAvG,EAAAwG,GAAA,YACLC,KAAA,SACA,gBAAehD,UAAAA,EAAA,GAAA4E,KAAAA,CAAA,CACb,UACFyG,EAAA,UACDvI,SAAA,OAGA,GACEoI,EACM,GAAA3O,EAAAwG,GAAA,YACLC,KAAA,SACA,gBAAehD,aAAAA,EAAA,GAAA4E,KAAAA,CAAA,CACb,UACFyG,EAAA,aACDvI,SAGK,oBAGb,KAAAsR,EAAApY,EAAA,MCtBD,GAAM,CAAEqO,oBAAcgK,CAAqC,EAAAvM,MAG5C,CAAAwM,aAAAA,CAAS,CAAAC,YAAAA,CAAkB,CAAAC,cAAAA,CAAA,CAAAlK,UAAAmK,CAAA,EAAAJ,EAAA,SAuGvBK,GAAA,CAtGjB,IAAAC,EAEEC,EACAC,EAUF,GAAM,CAAEC,cAAAA,CAAA,CAAAC,iBAAAA,CAAuB,CAAAnK,kBAAAA,CAA0B,CAAGoK,qBAAAA,CAAQ,CAAAC,aAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,oBAAAA,CAAA,CAAAxK,YAAAA,CAAA,CAAAyK,qBAAAA,CAAA,CAAAC,iBAAAA,CAAA,CAAAC,mBAAAA,CAAA,EAAArN,IAC9D,CAAA4C,sBAAAA,CAAe,CAAAC,yBAAAA,CAAU,CAAY,CAAAxN,IACrCyN,EAAc0J,CAAa,CAAA9J,EAAsB,CACjDK,EAAAD,CAAe,CAAAF,EAAoC,CAEzD1M,EACE,GAAAxB,EAAAuB,MAAA,MAAC,QAAc,GAAA3B,EAAAqG,IAAA,SAAAC,UAAA,UAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACE,GAAAvG,EAAAwG,GAAA,WAAAK,QAAA,cAAcN,SAAA,UAExB,GAAAvG,EAAAqG,IAAA,YACHK,GAAA,cACAb,MAAA0S,EASI,SAAA5S,EAAA,KARFqT,EAAgCC,EAkB9BC,EAhBF,IAAMC,EAAAxT,EAAmBC,MAAM,CAAAwT,eAAY,IAAAD,UAAA,CACrCE,EAAgB1T,EAAAC,MAAW,CAAAC,KAAO,CACnC,CAAAyT,UAAAA,CAAW,EAAAH,EAAAI,OAAA,IACd,CAAAD,EACD,wCAKD,IAAAE,EAAA,KAA0B,GAAAR,CAAAA,EAAAjB,CAAA,CAAAsB,EAAA,GAAAL,KAAA,IAAAA,EAAA,OAAAA,EAAAS,QAAA,CAAAf,EAAA,WAAAO,CAAAA,EAAAjB,CAAA,CAAAqB,EAAA,GAAAJ,KAAA,IAAAA,EAAA,OAAAA,EAAAQ,QAAA,CAAAf,EAAA,MAE1BG,EAAmB,IAAK,EACxBE,EAAA,IACAN,EAAiBa,GACjBd,EAAAa,GACA9K,EAAsB,GAAAiL,IAEpBb,EAAA,IAAoB,GAApBO,CAAAA,EAAoBjB,CAAA,CAAAoB,EAAA,GAAAH,KAAA,IAAAA,EAAAA,EAAA,MACrBN,EAAA,WAEH,EAAArS,SAAA,CAEgB,GAAAvG,EAAAqG,IAAA,cAAUqT,MAAA,UAAgB,2BAAAnT,SAAA,CAC1B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,QAAQU,SAAA,uBACR,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,QAAQU,SAAA,wBACR,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,QAAQU,SAAA,uBACR,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,UAAUU,SAAA,yBACV,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,UAAUU,SAAA,0BACV,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,UAAUU,SAAA,yBACV,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,WAAWU,SAAA,oBACX,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,WAAWU,SAAA,qBACX,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,WAAWU,SAAA,uBAEX,GAAAvG,EAAAqG,IAAA,cAAUqT,MAAA,UAAgB,2BAAAnT,SAAA,CAC1B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,OAAOU,SAAA,kBACP,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,WAAWU,SAAA,aACX,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,mBAAmBU,SAAA,qBACnB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,SAASU,SAAA,gBACT,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,gBAAgBU,SAAA,kBAChB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,SAASU,SAAA,YACT,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,aAAaU,SAAA,eACb,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,MAAMU,SAAA,kBACN,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,UAAUU,SAAA,qBACV,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,SAASU,SAAA,WACT,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,SAASU,SAAA,gBACT,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,YAAYU,SAAA,uBAEZ,GAAAvG,EAAAqG,IAAA,cAAWqT,MAAA,WAAgB,4BAAAnT,SAAA,CAC3B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,oBAAoBU,SAAA,WACpB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,qBAAqBU,SAAA,YACrB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,uBAAuBU,SAAA,iBAItC,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,QAAAC,SAAA,CACE,GAAAvG,EAAAwG,GAAA,WAAAK,QAAA,aAAaN,SAAA,SACvB,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,UAAAC,SAAA,CAER,GAAAvG,EAAAqG,IAAA,YACHK,GAAA,aACAb,MAAA6S,MAAAA,EAA2BA,EAAA,GACnB,MADmB9R,SACnBjB,EAAa,KAEnBgU,EADa,IAETR,EAAAxT,EAAAC,MAAA,CAAAwT,eAAA,IAAAD,UAAA,CAEJS,EAAgBjU,EAAMC,MAAO,CAAAC,KAAK,EAAI,IAAI,GAAJ8T,CAAAA,EAAIR,EAAAI,OAAA,CAAAK,QAAA,GAAAD,KAAA,IAAAA,EAAAA,EAAA,KAC1ChB,EAAAhT,EAAoBC,MAAA,CAAAC,KAAA,QACtB+S,EAAAgB,EAAA,EAAArT,SAAA,CAEc,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,GAAGU,SAAA,gBAChB,GACC8H,WAAAA,EAAA,GAAArO,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CACkB,GAAAvG,EAAAwG,GAAA,cAAgBkT,MAAA,gBAAe,iBAC5C,UAAiDnT,SAChD,IACG,GADH6R,CAAAA,EACEL,CAAC,CAAA3J,EAAA,GAAAgK,KAAA,IAAAA,EAAA,OAAAA,EAAA/D,GAAA,IAAyB,GAAArU,EAAAwG,GAAA,YAAAX,MAAAZ,EAAbsB,SAAAtB,CAIjB,EAAAA,GAAA,GAEc,GAAAjF,EAAAwG,GAAA,cAAekT,MAAA,eAAe,iBAC3C,SAAgDnT,SAC/C,IACG,GADH8R,CAAAA,EACEL,CAAC,CAAA5J,EAAA,GAAAiK,KAAA,IAAAA,EAAA,OAAAA,EAAAhE,GAAA,IAAyB,GAAArU,EAAAwG,GAAA,YAAAX,MAAAZ,EAAbsB,SAAAtB,CAIjB,EAAAA,GAAA,GAGF,GACH,KAECoJ,WAAAA,GAAAA,YAAAA,EAAA,GAAArO,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SACG,CACE0R,CAAe,CAAA7J,EAAA,IAAApO,EAAAwG,GAAA,cAAgBkT,MAAA,gBAAe,iBAC7C,UAACnT,SAA2B,CAAC,EAAAvG,EAAYwG,GAAA,YAAAX,MAAAoS,CAAE,CAAA7J,EAAA,CAAA7H,SAAA,WAG9C,QACE,KAAe,GAAf+R,CAAAA,EAAeN,CAAA,CAAA5J,EAAA,GAAAkK,KAAA,IAAAA,EAAA,OAAAA,EAAAhT,MAAA,KAAAtF,EAAAwG,GAAA,cAAekT,MAAA,eAAe,iBAC3C,SACEnT,SAAkByR,CAAO,CAAA5J,EAAA,CAAAiG,GAAA,OAAArU,EAAAwG,GAAA,YAAAX,MAAAZ,EAAbsB,SAAAtB,CAKf,EAAIA,GAAA,QAER,GAAI,QAGH,GAAAjF,EAAAwG,GAAA,YACLC,KAAA,SACA,aAAM,YACNsB,MAAA,cACM,UACFnG,EAAaoG,OAAO,EACrBpG,EAAAoG,OAAA,CAAAC,KAAA,EACH,EAEoB1B,SAAQ,GAAAvG,EAAAwG,GAAA,EAAAqR,EAAAgC,GAAA,EAAA1R,MAAE,CAAaC,SAAA,QAGtC,GAAApI,EAAAwG,GAAA,WACLO,IAAAnF,EACQ,MADmBgF,SACnBjB,EAAW,KAajB6O,EAbgE,IAAAxN,EAC5C,UAAAC,QAAA,CAAAC,EAAAC,IAAA,CAAlB,IAAAC,EACA,IAAIC,EAAW,OAAAD,CAAAA,EAAAzB,EAAAC,MAAA,CAAA0B,KAAA,GAAAF,KAAA,IAAAA,EAAA,OAAAA,CAAA,OACbC,EAAM,CACN,IAAAE,EAAO,IAAAC,WAAoCD,EAAAE,gBACjC,YAAR,IAAAC,EACFR,EAAA,OAAAQ,CAAAA,EAAA/B,EAAAC,MAAA,GAAA8B,KAAA,IAAAA,EAAA,OAAAA,EAAAC,MAAA,CACA,GACFJ,EAAOK,aAAA,CAAAP,EAAA,MAENF,EAAA,iCACH,GACoBwR,EAEjB,MADcG,EACd,CACH,QAAAtE,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,EAAA+B,CACF,EACA,EACAP,KAAA,OACAoB,OAAM,kBAAAC,OAAA,aAMjB,CCzLD,GAAM,CAAEgG,oBAASgM,CAAe,EAAAvO,MAC1B,CAAAwC,UAAAgM,CAAgB,CAAA9B,cAAA+B,CAAA,EAAAF,EAEfG,EAAS,0CAYW,SAZMC,EAE/BjM,CAAA,CAAW,CAWX,IAAMT,SAAAA,CAAA,CAAAY,YAAAA,CAAe,CAAAC,kBAAAA,CAAU,CAAAqK,aAAAA,CAAY,CAAAyB,iBAAAA,CAAA,EAAAlM,EAC3CO,EAAQuL,CAAA,CAAA3L,EAAA,QACNC,GAAK,IACH,SAAQ,OACN8L,GAAK,IACH,UAAO,MACL,CACFC,KAAA,GAAAjQ,MAAA,CAAAqD,EAAA,cAAArD,MAAA,CAAAuO,EAAA,KAAAvO,MAAA,CAAAiE,EAAA,OACF,CAAK,KACH,SAAO,MAAE,CAA2DgM,KAAA,GAAAjQ,MAAA,CAAA8P,EAAA,KAAA9P,MAAA,CAAAuO,EAAA,KAAAvO,MAAA,CAAAiE,EAAA,OACxE,CACA,CACF,KAAK,KACA,aACH,UAIO,OACHI,EAAI6L,MAAa,EAAAC,EAAA7L,IAAA,IACfA,EAAQ,KAGF+F,EACE+F,EAOJC,EACEC,EAZE,OACNN,GAAK,IACH,UAII,KAJkC1L,EAElCiM,UAAA,EAIHJ,CAAAA,CAAA,QAAA9F,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,KAAAkF,MAAA,CAAAqD,EAAA,cAAArD,MAAA,QAAAoQ,CAAAA,EAAA9L,EAAAsG,IAAA,GAAAwF,KAAA,IAAAA,EAAAA,EAAA9L,EAAAxJ,IAAA,UAEH,KAAK,cAMHqV,CAAM,QAAAE,CAAAA,EAAA/L,EAAAsG,IAAA,GAAAyF,KAAA,IAAAA,EAAAA,EAAA/L,EAAAxJ,IAAA,KAAAkF,MAAA,CAAA8P,EAAA,KAAA9P,MAAA,CAAAuO,EAAA,KAAAvO,MAAA,QAAAsQ,CAAAA,EAAAhM,EAAAsG,IAAA,GAAA0F,KAAA,IAAAA,EAAAA,EAAAhM,EAAAxJ,IAAA,QAEX,CACD,QAEDqV,CAEP,KACA,CACD,QAED,CAa+E,SAAvCK,EAAA1M,CAAA,EACtC,IAAM1H,SAAAA,CAAC,EAAA0H,EACD,CAACsK,EAAAC,EAAmB,IAAApY,EAAwB6D,QAAA,WAC5C,CAACoK,EAAcoK,EAAmB,IAAArY,EACtC6D,QAAA,YAEI,CAACyU,EAAAC,EAAkB,IAAAvY,EAAuB6D,QAAA,iBAG1C,CAACkW,EAAAvB,EAAmB,CAAqB,GAAGxY,EAAA6D,QAAA,aAG5C,CAAC2W,EAAiB/B,EAAsB,IAAAzY,EAAA6D,QAAS,MAAK,EACtD,CAAA4W,EAAe9B,EAAW,IAAA3Y,EAAA6D,QAAA,MAC1B,CAAAuJ,SAAAA,CAAA,EAAcF,IACdc,EAAAmK,YAAAA,EAEJ,QACAA,CAAA,CAGIuC,EAxBN,GAAA3Q,MAAA,CAwBsBqD,EAxBtB,KAAArD,MAAA,CAwB0CiE,GAxB1CjE,MAAA,CAAAyQ,EAAA,mBA0BqB,CAAAN,EACfxB,EAAA,IAAA1Y,EAAA6D,QAAA,MAAAiW,EAAA,CACA1M,SAAAA,EACAY,YAAAA,EACAC,kBAAAA,EACAqK,aAAAA,EACFyB,iBAAAA,CAGJ,IAEqBY,EACf,GAAA3a,EAAAmM,OAAA,MAAA2N,EAAA,CACA1M,SAAAA,EACAY,YAAAA,EACAC,kBAAAA,EACAqK,aAAAsB,CAAkB,CAAA5L,EAAA,CAEtB+L,iBAAA,SAAC,IAAa/L,EAAUZ,EAAkBa,EAG5C,EACE1N,EAAO,GAAAP,EAAAmM,OAAA,MACL,EACAgM,cAAAA,EACAC,iBAAAA,EACAnK,kBAAAA,EACAoK,qBAAAA,EACArK,YAAAA,EACA0M,iBAAAA,EACAD,gBAAAA,EACA9B,mBAAAA,EACAL,aAAAA,EACAC,gBAAAA,EACAwB,iBAAAA,EACAvB,oBAAAA,EACAgC,kBAAAA,EACA/B,qBAAAA,EACAyB,cAAAA,EACAxB,iBAAAA,EACFiC,qBAAAA,CACC,IAEDxC,EACAC,EACAnK,EACAoK,EACArK,EACA0M,EACAD,EACA9B,EACAL,EACAC,EACAwB,EACAvB,EACAgC,EACA/B,EACAyB,EACAxB,EACDiC,EAED,EAqB0B,MArBV,GAAA3a,EACV0F,SAAA,MAAc,CAChB4S,GACmBI,EACfoB,EAAA,CACA1M,SAAAA,EACAY,YAAAA,EACAC,kBAAAA,EACAqK,aAAAA,EACFyB,iBAAAA,CAEH,GACA,GAED3M,EACAY,EACAC,EACAqK,EACDyB,EAED,EACkC,GAAAna,EAAAwG,GAAA,EAAAiF,EAAAqK,QAAA,EAAAjQ,MAAAlF,EAC7B4F,SAAAA,CAGN,OAAAyU,EAAAvb,EAAA,MAAAwb,EAAAxb,EAAAU,CAAA,CAAA6a,GCjLD,IAAAE,EAAmB9a,EAAcE,aAAA,OAIQ,SACvC6a,IAAgB,CAChB,IAAKxa,EAAS,GAAAP,EAAAQ,UAAA,EAAAsa,GAAA,GACZ,CAAAva,EACD,8CAEF,OAAAA,CAAA,CAR6Bua,EAAA3a,WAAA,sBCG9B,IAAA6a,GAAYhb,EAAcE,aAAA,OAIQ,SAChC+a,IAAM,CACN,IAAK1a,EAAS,GAAAP,EAAAQ,UAAA,EAAAwa,IAAA,GACZ,CAAAza,EACD,uCAEF,OAAAA,CAAA,CARsBya,GAAA7a,WAAA,eAQtB,IAAA+a,GAAA7b,EAAA,MCYE,SAViB8b,GACVtN,CACR,EASA,IAAMuN,SAAAA,CAAE,CAAA/M,YAAAA,CAAgB,CAAAgN,YAAAA,CAAA,CAAAzU,SAAAA,CAAA,EAAciH,EAChC,CAAEyN,YAAAA,CAAU,CAAG,IAAAJ,GAAWnS,CAAA,IAEhC,CAAAqE,SAAAA,CAAA,CAAS,CAACF,IAAM,GAAAlN,EACV0F,SAAQ,MAAK,CAEjB,IAAA6V,EAAM,GACJC,EAAK,SAAe,CAAoB,GACtC,CAAAnN,GAAIA,EAAgB3G,MAAA,CAClB,6BAAA2T,IAGAD,EAASK,YAAA,UAAwCL,EAACM,oBAAA,CAAAC,kBAAA,EAAG,EAAG,EAAG,EAAE,EAC9D,OAED,CASA,GAAI,CAAAC,UAAAA,CAAa,CAAAC,YAAAA,CAAA,CAAAC,gBAAAA,CAAA,CAAAC,eAAAA,CAAA,CAAAC,gBAAAA,EAAe,EAAS,CAAAxN,eAAAA,EAAW,EAAAC,gBAAAA,EAAA,GAAAJ,EACpD4N,EAAQrV,MAAAA,EAAAA,EAAA,GAAAmD,MAAA,CAAAqD,EAAA,qBACNiO,GAAK,IACH,mBACES,GACDV,EAAAM,oBAAA,CAAAC,kBAAA,CAAAG,GAECF,GACDR,EAAAK,YAAA,CAAAG,GAECC,GACDT,EAAAc,cAAA,CAAAL,GAECE,GACDX,EAAAe,iBAAA,CAAAJ,GAEH,KAAK,KACH,2BACAX,EAASM,oBAAoB,CAACU,iBAAA,CAAkB5N,GAChD4M,EAAIM,oBAAwB,CAAAW,kBAAoB,CAAA5N,GACrB,IAAzBD,GAAgBC,IAAAA,GACjBwN,CAAAA,EAAA,GAAAlS,MAAA,CAAAqD,EAAA,cAEL,CACA,IAAKkP,EAAO,MAAAhB,EAAAiB,aAAA,CAAAN,EACV,EAAAV,IACAH,EAAIM,oBAAgB,CAAAL,EAAsB,CAAAmB,UAAA,CAAAF,GAC/B,qBAATjB,GAAoCW,GACrCZ,EAAAY,eAAA,CAAAQ,UAAA,CAAAF,GAGP,GAIa,OAAbd,IACE,KACFD,EAAA,EACC,IAAWnO,EAAakO,EAAUF,EAAa/M,EAAagN,EAASzU,EAC1E,CAOe,CAA4D,SAA1C6V,GAAE5O,CAAU,MAE3CuG,EAAqBsI,EADrB,IAAMtB,SAAAA,CAAE,CAAA/M,YAAAA,CAAkB,EAAOR,EAEjB,CAAA8O,cAAAA,CAAA,CAAd,CAAA1B,KAEF,CAAAzG,cAAAA,CAAW,CAAAE,iBAAAA,CAAA,SAAAgI,CAAAA,EAAAC,EAAA,OAAAvI,CAAAA,EAAA/F,MAAAA,EAAA,OAAAA,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAAgH,EAAAvW,IAAA,IAAA6X,KAAA,IAAAA,EAAAA,EAAA,GAcZ,OAdYvB,GACT,CACAC,SAAAA,EACA/M,YAAAA,EACAgN,YAAU,mBACZzU,SAAA4N,CACA,GAAW2G,GACT,CACAC,SAAAA,EACA/M,YAAAA,EACAgN,YAAU,2BACZzU,SAAA8N,CAEA,GACD,KC7HD,GAAM,CAAEhH,oBAASkP,EAAK,EAAAzR,MAEP,CAAAwC,UAASkP,EAAY,EAAAD,GAAA,SAClCE,IAAQ,CACR,GAAM,CAAE9O,YAAAA,CAAU,EAAA1C,IACZ,CAAAyR,MAAAA,CAAA,KAAqC7B,GAAUnS,CAAA,IAErDqF,EACEyO,EAAA,CAAA7O,EAAA,OACS,GAAApO,EAAewG,GAAA,EAAAxG,EAAgB8G,QAAA,EAAAP,SAElC4W,EAAApP,SAAA,CAAAsG,GAAA,EAAAmH,EAAArL,IAAA,CADF,IAAAiN,EAGA,IAAA3O,EAAA,IACW,GAAT2O,CAAAA,EAAC5O,EAAQ6O,IAAA,IAAA5O,EAAA6O,KAAA,GAAAnN,EAAA,GAAAiN,KAAA,IAAAA,EAAAA,EAAA5O,CAAA,CAAA2B,EAAA,OAEG,GAAAnQ,EAAAwG,GAAA,EAAAqW,GAAA,CACVrB,SAAAA,EAFK/M,YAAaA,CAKxB,EAAA+M,EAAAvW,IAAA,GAGL,GCxBwD,IAAAsY,GAAAtC,IAAA,IAAAhU,QAAA4M,GAAA,EAAApU,EAAAqU,CAAA,MAAArU,EAAAqU,CAAA,MAAArU,EAAAqU,CAAA,QAAAC,IAAA,CAAAtU,EAAAuU,IAAA,CAAAvU,EAAA,MAAA+d,kBAAA,CAAAC,QAAA,UAAcC,IAAA,EAEvE,GAEM,CAAE5P,oBAAoB6P,EAAmB,EAAApS,MAEhC,CAAAqS,gBAAAA,EAAS,CAAgB,CAAAD,GAAA,SAoBpBE,IAAA,CAnBlB,IAAAC,EAEEC,EAKF,GAAM,CAAExF,cAAAA,CAAA,CAAAuC,iBAAAA,CAAqB,CAAAzM,kBAAAA,CAA2B,CAAGuM,kBAAAA,CAAc,CAAAC,gBAAAA,CAAA,EAAAnP,IAEzE,CAAAsS,oBAAAA,CACE,CAAAC,gBAAAA,CAAC,CAAAC,SAAAA,CAAA,EAAA/C,KAAA,MACW,GAAAnb,EAAAwG,GAAA,EAAA+W,GAAA,CACVY,SAAArD,EACAkD,oBAAiBA,EACjBC,gBAAeA,EACfG,cAAAxD,EACAC,gBACEA,EAEFwD,YAAAhQ,WAAAA,EAAc,oBAAgBhG,KAAAA,CAAA,CAC9BiW,aAAa,IAA8B,GAA9BR,CAAAA,EAAAF,EAAe,CAACrF,EAAc,GAA9BuF,KAAA,IAAAA,EAAA,OAAAA,EAAAlY,MAAmC,CAChD2Y,YAAU,OAAAR,CAAAA,EAAAH,EAAA,CAAArF,EAAA,GAAAwF,KAAA,IAAAA,EAAA,OAAAA,EAAAS,GAAA,CAAAN,SAEVA,EAAU3X,SAAA,GAAAvG,EAAAwG,GAAA,EAAA0W,GAAA,GAGf,GCrC6C,SAC5CuB,IAAQ,CAER,IAAAC,oBAAAA,CACE,CAAAC,uBAAAA,CAAA,EAAAxD,KAAA,SAAAnb,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CACiB,GAAAvG,EAAAwG,GAAA,WAAAK,QAAA,eAAeN,SAAA,gBAEzB,GAAAvG,EAAAqG,IAAA,YACHK,GAAA,eACAb,MAAA6Y,MAAAA,EAAqBA,EAAA,GACnB,SAAA/Y,EAAA,CACFgZ,EAAAhZ,EAAAC,MAAA,CAAAC,KAAA,SAAAU,SAAA,CAEc,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,GAAGU,SAAA,YACH,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,0BAA0BU,SAAA,kBAC1B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,0BAA0BU,SAAA,qBAC1B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,qCAAqCU,SAAA,yBAGrC,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,gBAAgBU,SAAA,WAChB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,0BAA0BU,SAAA,kBAC1B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,8CAA8CU,SAAA,6BAG9C,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,gCAAgCU,SAAA,gBAChC,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,qBAAqBU,SAAA,gBACrB,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,4BAA4BU,SAAA,mBAC5B,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,0BAA0BU,SAAA,0BAI/C,CC9B6C,SAC5CqY,IAAkB,CAElB,IAAAV,SAAAA,CAAA,CAAAW,YAAAA,CACE,EAAA1D,KAAA,SAAAnb,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CACiB,GAAAvG,EAAAwG,GAAA,WAAAK,QAAA,cACQN,SAAO,GAAAvG,EAAAwG,GAAA,EAAAjF,EAAAud,GAAA,EAAA3T,KAAA,OAG5B,GAAAnL,EAAWwG,GAAA,WACX,aAAG,WACHE,GAAA,cACAD,KAAK,QACL2C,IAAK,GACLC,IAAA,IACA0V,KAAA,GACAlZ,MAAAqY,EACE,SAAAvY,EAAY,CACdkZ,EAAAG,WAAArZ,EAAAC,MAAA,CAAAC,KAAA,QAIP,CCnBD,GAAM,CAAEiI,oBAAYmR,EAA0C,CAC5D,CAAA1T,MAEa,CAAA2T,WAAAA,EAAS,CAAAC,gBAAAA,EAAoB,CAAAC,wBAAAA,EAAA,EAAAH,GAAA,SAC1CI,IAEE,KAOFC,EAFc,GAKN,CAAAlR,YAAAA,CAAA,CAAAC,kBAAAA,CAAA,CAAAuM,kBAAAA,CAAA,CAAA/B,qBAAAA,CAAA,CAAAgC,gBAAAA,CAAA,CAAA9B,mBAAAA,CAAA,EAAArN,IAFA6T,EACA,GAAAnf,EAAAmM,OAAsB,MAAW,IACjC8B,WAAAA,EAAA6Q,GAAWM,MAAY,OAE7B,OAAAF,CAAAA,EAAAJ,EAAA,CAAA9Q,EAAA,GAAAkR,KAAA,IAAAA,EAAAA,EAAA,GAAC,EAAalR,EAAkBC,EAGlC,EACE,SAAArO,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CACS,GAAAvG,EAAAwG,GAAA,WAAAD,SAAA,cACF,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,UAAAC,SAAA,CAEJ,GAAAvG,EAAAqG,IAAA,YACPR,MAAA+U,MAAAA,EAAqBA,EAAA,GACnB,SAAAjV,EAAA,CACAkT,EAAmBlT,EAAKC,MAAA,CAAAC,KAAA,QAC1BkT,EAAA,KAAAxS,SAAA,CAEc,GAAAvG,EAAAwG,GAAA,YAAAX,MAAA,GAAGU,SAAA,MAChB,GAAqCgZ,EAElClL,GAAA,SAAAoL,EADFC,EAGA,IAAAhG,EAAA,IACG,GADHgG,CAAAA,EACG,OAAAD,CAAAA,EAAAL,EAAA,CAAAhR,EAAA,GAAAqR,KAAA,IAAAA,EAAA,OAAAA,CAAA,CAAArB,EAAA,GAAAsB,KAAA,IAAAA,EAAAA,EAAAP,EAAA,CAAAf,EAAA,OAAkC,GAAApe,EAAAwG,GAAA,YAAAX,MAAAuY,EAAtB7X,SAAAmT,MAAAA,EAAAA,EAAA0E,CAAA,EAIjBA,EAAA,MAGK,GAAApe,EAAAwG,GAAA,YACLC,KAAA,SACAkE,SAAS,CAAAiQ,EACP,UACF7B,EAAA,IAAA8B,EAAA,EAEqEtU,SAAAsU,GAAA,CAAAD,EAAA,GAAA5a,EAAAwG,GAAA,EAAAlF,EAAAqe,GAAA,QAAA3f,EAAAwG,GAAA,EAAAlF,EAAAse,GAAA,YAK9E,CCtDE,SAJyCC,GAAA5R,CAAA,EAK1C,IAAM1H,SAAAA,CAAC,EAAA0H,EAGD,CAACyQ,EAAiBC,EAAsB,IAAAve,EAAA6D,QAAc,QACtD,CAACga,EAAU6B,EAAe,IAAA1f,EAAS6D,QAAA,MACnC,CAAAia,EAAUW,EAAK,EAAW,EAAAze,EAAA6D,QAAA,KAE1B,CAAAuJ,SAAAA,CAAU,EAAAF,IACd3M,EAAM,GAAAP,EAAAmM,OAAsB,OAG5B,IAAAyR,EAAOU,EAAA,GAAAvU,MAAA,CAAAqD,EAAA,KAAArD,MAAA,CAAAuU,GAAA,WACL,CACAA,oBAAAA,EACAC,uBAAAA,EACAV,gBAAAA,EACA6B,mBAAAA,EACA5B,SAAAA,EACAW,YAAAA,EACFb,oBAAAA,CACC,IAAWxQ,EAAqBkR,EAAiBT,EAASC,EAE7D,EAC8B,MAAQ,GAAAle,EAAAwG,GAAA,EAAA0U,EAAApF,QAAA,EAAAjQ,MAAAlF,EACjC4F,SAAAA,CAGN,GCjC2E,SAAvCwZ,GAAqC9R,CAArC,EACnC,IAAM1H,SAAAA,CAAC,EAAA0H,EAED,CAAA+R,EAAUC,EACP,IAAA7f,EAAA6D,QAAA,MAAAic,EACL,GAAA9f,EAAcmM,OAAA,MAAsB,EAAwB4T,cAC1DC,CAAkB,CAAAC,CAAkB,EAAAJ,EAC3B,GACF,EACH,GAACD,CAAe,CAClB,CAAAI,EAAA,CAAAC,CACF,GAEF,EAA8DC,iBAC5DF,CAAkB,CAAAxL,CAAkB,EAAAqL,EAC3B,GACF,EACH,GAACD,CAAe,EAAAI,EACX,EACH,GAAAJ,CAAA,CAAAI,EAAA,CACFxL,cAAAA,CACF,CACF,GAEF,EAAoE2L,oBACjDH,CAAC,CAAAtL,CAAkB,EAAAmL,EAC3B,GACF,EACH,GAACD,CAAe,EAAAI,EACX,EACH,GAAAJ,CAAA,CAAAI,EAAA,CACFtL,iBAAAA,CACF,CACF,GAGJ,CAGF,GAAM,IACJnU,EAAO,GAAAP,EAAAmM,OAAA,MACL,EACAyT,cAAAA,EAAoCjD,cAAAA,GAEpCiD,CAAA,CAAAI,EAAA,CACuCI,iBAAAA,GAEvCR,CAAA,CAAAI,EAAA,CAAAxL,aAAA,CAC0C6L,oBAAAA,GAE1CT,CAAA,CAAAI,EAAA,CAAAtL,gBAAA,CAEF,GAAAoL,CAAA,CACC,GAAgBF,EAAQE,EAE3B,EACuB,MAAQ,GAAAlgB,EAAAwG,GAAA,EAAA4U,GAAAtF,QAAA,EAAAjQ,MAAAlF,EAAU4F,SAAAA,CAE1C,GCtDD,GAAM,CAAEuH,oBAAS4S,EAAK,EAAAnV,MAEP,CAAAwC,UAAS4S,EAAmB,EAAAD,GAAA,SACzCE,IAAqB,KAIrBC,EAHA,GAAM,CAAEzS,YAAAA,CAAA,EAAA1C,IACF,CAAA4C,sBAAAA,CAAqC,CAAAC,yBAAAA,CAAU,EAAYxN,IActDyN,EAAAmS,EAAA,CAAAvS,EAAA,CAXR,MACQ,GAAApO,EAAAwG,GAAA,YACPX,MAAAyI,EACE,SAAA3I,EAAA,CACF4I,EAAAuS,SAAAnb,EAAAC,MAAA,CAAAC,KAAA,OAMKU,SAA8BiI,EAAO6F,GAAA,EAAA5F,EAAA0B,IAAA1B,GAAA,CAAAA,EAAA3G,MAAA,EAAA2G,CAAA,IAAAA,EAAA2F,UAAA,IAAApU,EAAAwG,GAAA,YAAAX,MAAAsK,EAAzB5J,SAAA,IAGP,GAHmBsa,CAAAA,EAGnBpS,EAAAiL,KAAA,GAAAmH,KAAA,IAAAA,EAAAA,EAAApS,EAAAxJ,IAAA,EAAAwJ,EAAAxJ,IAAA,OAIf,GCKe,SANe8b,GAC7B9S,CACA,EAKA,IAAMxN,SAAAA,CAAA,CAAAmG,SAAAA,CAAmB,CAAAoa,aAAAA,CAAA,CAAiCtS,YAAAA,CAAI,CAAAuS,mBAAAA,EAAA,IAAAhT,EACxDiT,EAAmB,GAAG9gB,EAAAuB,MAAA,MAAQ,EAC9B,CAAAiC,EAAEud,EAAc,CAAG,GAAA/gB,EAAQ6D,QAAA,QAC3B,CAAEnC,aAAAA,CAAA,CAAa,CAAEf,IACjB,CAAEwM,cAAAA,CAAA,CAAc,CAAED,IAClB,CAAC4I,eAAAA,CAAe,CAAAE,iBAAAA,CAAkB,EAAA5V,IAClC,CAAAqD,EAAAC,EAAkB,CAAM,GAAA1D,EAAA6D,QAAA,EAAAgd,GACxBG,EAAe,GAAAhhB,EAAAuB,MAAO,IACtB0f,EAAc,GAAAjhB,EAAAuB,MAAe,EAAG,IAChC,CAAC2f,EAAaC,EAAe,CAAG,GAAAnhB,EAAA6D,QAAA,EAAyB,IAAM,EAAE,EAEjE,CAAAud,EAAUC,EAAkB,CAAG,GAAArhB,EAAA6D,QAAA,UAC/BtB,EAAU2e,EAAYhc,MAAM,CAAG,EAE/B1C,EAAA4e,EAAwClc,MAAA,GAC5Coc,EAAM,GAAAthB,EAAemQ,WAAgB,KAAO,CAC5C,IAAImR,EAAcN,EAAApZ,OAAA,CAChB0Z,GACDA,EAAA9d,EAGH,MACEnB,EAAK,GAAArC,EAAQmQ,WAAA,eACX3M,GAGA0d,EAAOhc,MAAA,CAAc,GACrB,IAAAqc,EAAoBC,EAAQ,CAAAN,EAAAtR,KAAA,IAC5BqR,CAAAA,EAAOrZ,OAAA,IACPpE,EAAOie,iBAAK,IACZje,EAAOke,KAAA,GAAiCle,EACtCme,YAAO,CAASJ,EAAA,KAChB/d,EAAAoe,SAAa,GACbX,EAAOrZ,OAAA,IACTpE,EAAAie,iBAAA,GACA,GACAN,EAAe,GAAiBD,EAAAtR,KAAA,QAAAyR,EAAC,IAAAG,KAA6BJ,EAC/D,CACA,CAbD,EAaC,CAAS5d,EAAY0d,EAExB,EACE5e,EAAK,GAAAtC,EAAQmQ,WAAA,UACX3M,GAGA4d,EAAMlc,MAAY,IAClB,IAAA2c,EAAaT,CAAe,IAC5BH,EAAOrZ,OAAA,IACPpE,EAAOie,iBAAK,IACZje,EAAOke,KAAA,GAA8Ble,EACnCme,YAAO,CAASE,EAAA,KAChBre,EAAAoe,SAAa,GACbX,EAAOrZ,OAAA,IACTpE,EAAAie,iBAAA,GACA,GAAgCN,EAAI,OAAaD,EAAUW,EAC3D,EACDR,EAAA,GAAAD,EAAAxR,KAAA,IACA,CAbD,EAaC,CAASpM,EAAY4d,EAExB,EAAgB,GAAAphB,EACd0F,SAAA,EAAgB,KACfsb,EAAApZ,OAAA,CAAApB,CAAA,GAAUA,EAEb,EAEA,IAAAsb,EAAApgB,IAAgBrB,EA0Jb,MA1Ja,GAAAL,EACd0F,SAAM,EAAU,SAWhBqc,EAzG0B3W,EAC1BA,MAAA,CAAA4W,MAAA,CAAAC,SAAyB,CAAA1R,GAAA,EACzB2R,mBAAa,GACbvY,YAAY,UACZwY,WAAA,EACAC,YAAa,SACbC,YAAA,UACAC,kBAAa,UACbC,YAAA,GACFC,mBAAA,EACF,GA4FI,IAAIhf,EAAA,IAAA4H,EAAsBA,MAAA,CAAAuV,MAAA,CAAAG,EAAAlZ,OAAA,CAPxB,CACA6a,uBAAqB,GACvBC,oBAAA,CACA,GAKIC,EAAA,GAGFC,EAAa,KACftB,EAAA9d,EAEA,EACEqf,EAAI,IAAgB,EAClBF,GAGA1B,EAAArZ,OAAA,GAGFkb,aAAAf,GAA+BA,EACvBgB,WAAW,KACjB,IAAAC,EAAgBC,IAAY9B,EAAI,GAAe,IAAI+B,EAAAtT,KAAA,KAASoT,EAC5D,EACC3B,EAAA,GACL,OAEA,EACE4B,EAAiB,IAAI,CACrBN,EAAiB,GAAc,IAC7BK,EAAAxf,EAAA2f,MAAA,EACA,gBACA,gBACA,eACA,eACA,eACA,aACA,cACD,aACD,EAEF,OADER,EAAO,GACTK,CAEA,EAOa,OANbxf,EAAO8R,EAAE,CAAC,kBAAgBsN,GAC1Bpf,EAAO8R,EAAE,CAAC,eAAAsN,GACVpf,EAAO8R,EAAE,CAAC,iBAAgBsN,GAE1Bpf,EAAA8R,EAAA,CAAU,eAAAuN,GAEV9B,EAAOvd,GACL,KACAsf,aAAUf,GACVhB,EAAO,IAAO,EAChBvd,EAAA4f,OAAA,EACC,IAAc9B,EAEjB,EAAgB,GAAAthB,EACV0F,SAAQ,OACVlC,GACDA,CAAAA,EAAAC,aAAA,CAAAA,CAAA,CACA,GAASD,EAAcC,EAE1B,EAAgB,GAAAzD,EACV0F,SAAU,OACZlC,GAAOse,GACRte,EAAA6f,UAAA,EACA,GAAS7f,EAASse,EAErB,EAAgB,GAAA9hB,EACV0F,SAAQ,UACVlC,EAaa,OAbYsS,EACvBzV,EAAA,CACAmD,OAAAA,EACS,eACPA,EAAAoe,SAAa,GACfN,EAAA9d,EACA,EACAnB,KAAAA,EACAC,KAAAA,EACAC,QAAAA,EACAC,QAAAA,EACAiB,cAAAA,EACFC,eAAAA,CACA,GACE,KACFsS,EAAA3V,EACD,CACA,GAEDmD,EACAsS,EACAE,EACA3V,EACAihB,EACA7d,EACAC,EACArB,EACAC,EACAC,EACDC,EAED,EAAgB,GAAAxC,EACV0F,SAAU,OAAa,GACzBlC,GAAA8K,IACA2S,EAAYrZ,OAAA,IACZpE,EAAIke,KAAA,GACFd,GAAY,CACZ,IAAArF,EAAM,GACJ+H,EAAM,SAAc,CACpB,IAAKxR,EAAO,MAAAvG,EAAAqV,GAAA,GACV,CAAArF,EAAK,CAA8B,GACjC,CAAAzJ,EAAMrI,KAAI,EAAM,CAAAqI,EAAAxI,MAAA,CACjB,iCAEDwI,EAAMkC,UAAA,CAAa,GACnBlC,EAAMV,aAAa,CAAG,GACtBU,EAAMT,aAAY,CAAG,GACrBS,EAAMR,YAAY,CAAG,GACrBQ,EAAMP,YAAY,CAAG,GACrBO,EAAMN,YAAW,CAAG,GACpBM,EAAMyR,WAAU,CAAG,UACnBzR,EAAM0R,UAAC,WACP,GAAM,CAAAC,EACEC,EAAU,CAAApV,EACZ4D,EACJJ,EAAMrI,KAAA,GAAMga,EAAK,EACbA,EACA3R,EAAiBrI,KAAM,CACzB0I,EAAWL,EAAKxI,MAAA,GAAWoa,EAAG,EAAAA,EAAA5R,EAAAxI,MAAA,CAChC4I,CAAAA,IAAAA,GAAeC,IAAAA,CAAA,IACfL,EAAMI,MAAM,CAAGA,EAChBJ,EAAAK,MAAA,CAAAA,GAED3O,EAAO8O,YAAI,CAAAR,GACZtO,EAAA2N,GAAA,CAAAW,EACD,GACOlK,OAAA,CAAgB,GACzBpE,EAAA6P,gBAAA,EAEA,EAEa,OAAbiQ,IACE,KACF/H,EAAA,EACD,CACF,CACA,GAAS/X,EAAcod,EAAYtS,EAEtC,EACiB,GAAA1O,EAAAwG,GAAA,SAAkBF,UAAA,kBAAwC,cACvE4b,EAAA,eAAC3b,SACoB,CAAE,EAAAvG,EAAGwG,GAAA,EAAgB,UACxCqD,MAAA6E,CAAQ,CAAW,EAAC,CAAEnB,EAAAA,EACtB7D,OAAKgF,CAAA,IAAAnB,EAAAA,EAAAxG,IAAAma,CAAA,EAIZ,GCjQD,IAAA6C,GAAmB3jB,EAAcE,aAAA,OAEQ,SACvC0jB,IAAgB,CAChB,IAAKrjB,EAAS,GAAAP,EAAAQ,UAAA,EAAAmjB,IAAA,GACZ,CAAApjB,EACD,sDAEF,OAAAA,CAAA,CANcojB,GAASxjB,WAAiB,sBCDd,IAAC0jB,GAAA,CAAK,IAAI,IAEtB,CAIZ,SAJiCC,GAClCjW,CAGD,CAJmC,KAMlCuG,EACA+F,EAQApM,EAVA,IAAMM,YAAAA,CAAE,EAAaR,EACc,CAAAqM,cAAAA,CAAA,CAAAS,qBAAAA,CAAA,EAAArP,IAEZyY,EAAA7J,CAAA,QAAA9F,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,EACjBmf,EAAoBrJ,CAAU,QAAAR,CAAAA,EAAA9L,EAAAsG,IAAA,GAAAwF,KAAA,IAAAA,EAAAA,EAAA9L,EAAAxJ,IAAA,EAC9B,CAAEqb,iBAAAA,CAAe,CAAG,CAAAjF,KACpB,CAAC9N,cAAAA,CAAA,CAAiB,CAAAD,IAClB,CAAA+W,EAAEC,EAA+B,IAAAlkB,EAAc6D,QAAA,QAC/C,CAAE8I,2BAAAA,CAAc,CAAc,CAAAX,IAG5B,CAAAmY,UAAAA,CAAA,EAAAP,KACLtV,EAAA,GAAAtO,EAAAmM,OAAA,aAAA4B,CAAAA,EAAAM,EAAAtD,IAAA,GAAAgD,KAAA,IAAAA,EAAAA,EAAA8V,EAAA,EAAYxV,EAGf,EAEIiT,EAAiB,GAAAthB,EAAOmQ,WAAU,QAAA3M,GAAA,KAMlC4Q,EANkC,IAChCxN,EAAKpD,EAAAiR,SAAA,EACL7B,IAAAzF,EACA0F,KAAA1F,EACA1D,MAAA6E,CAAQ,CAAW,EAAC,CACtBhF,OAAAgF,CAAA,MAGF4R,EAAA,OAAA9L,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,CAAA+B,EAAA,GAAc0H,EAAenB,EAAkB+S,EAAY7R,EAG7D,EAAgB,GAAArO,EACV0F,SAAA,MAAc,IAChBqe,EAAY,CAEZ,IAAAxI,EAAM,GACJ6I,EAAI,cACA3W,EAAA,GACF,CACAA,EAAY,MAAA0W,EAAAJ,EAAA,OACRM,EAAA,CAAkC,GACpChW,CAAoB,IAApBA,EAAAiM,UAAoB,CAGrB,MACH,CAHE7M,EAAO,MAAA0W,EAAAH,EAIT,CACA,IAAK3P,EAAO,MAAA1H,EAAAc,GACV8N,GACD2I,EAAA7P,EAGH,EAEa,OAAb+P,IACE,KACF7I,EAAA,EACF,CAAO,CAGN,EADA,KACA,GAEDlN,EACA0V,EACAC,EACArX,EACDwX,EAED,EAEA,IAAA9jB,EAAO,GAAA0J,MAAA,CAAAsE,EACLxJ,IAAA,WAAO,OAELyJ,EAAU,GAAA1O,EAAAwG,GAAA,EAAAua,GAAA,CACVtgB,SAAAA,EACAikB,WAAU,QACV9d,SAAA8a,EACAV,aAAaqD,EALR3V,YAOLA,CACL,EAAAjO,GAAA,KCpF0B,IAACkkB,GAAA,CAAK,IAAI,IAEtB,CAIZ,SAJoCC,GAItC3W,CAJsC,MAMrCuG,EACA+F,EAYApM,EAdA,IAAMM,YAAAA,CAAE,EAAaR,EACc,CAAAqM,cAAAA,CAAA,CAAAS,qBAAAA,CAAA,EAAArP,IAEZyY,EAAA7J,CAAA,QAAA9F,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,EACjBmf,EAAqBrJ,CAAY,QAAAR,CAAAA,EAAA9L,EAAAsG,IAAA,GAAAwF,KAAA,IAAAA,EAAAA,EAAA9L,EAAAxJ,IAAA,EACjC,CAAEsb,oBAAAA,CAAkB,EAAAlF,KACpB,CAAC9N,cAAAA,CAAA,CAAe,CAAAD,IAChB,CAAAuX,EAAAC,EAAwB,IAAA1kB,EAAO6D,QAAA,QAC/B8gB,EACJ,GAAA3kB,EAAAuB,MAAA,KAGI,CAAEsL,4CAAAA,CAA4B,CAAAD,mCAAAA,CAAA,EAAAZ,IAG5B,CAAAmY,UAAAA,CAAA,EAAAP,KACLtV,EAAA,GAAAtO,EAAAmM,OAAA,aAAA4B,CAAAA,EAAAM,EAAAtD,IAAA,GAAAgD,KAAA,IAAAA,EAAAA,EAAAwW,EAAA,EAAYlW,EAGf,EAEIiT,EAAA,GAAAthB,EAAsBmQ,WAAW,QAAA3M,GAAA,KAQ7B6Q,CAPJsQ,CAAAA,EAAiB/c,OAAO,EAAS,EAAC,IAChChB,EAAKpD,EAAAiR,SAAA,EACL7B,IAAAzF,EACA0F,KAAA1F,EACA1D,MAAA6E,CAAQ,CAAW,EAAC,CACtBhF,OAAAgF,CAAA,MAEI,GACF,CAGF+F,EAAU,MAAAxH,EAAAjG,EAAA,QACR,CACF+d,EAAA/c,OAAA,GACA,CAAyC,GAAA+c,IAAAA,EAErC/c,OAAA,EADF,IAAAwM,EAID+L,EAAA,OAAA/L,CAAAA,EAAA/F,EAAAsG,IAAA,GAAAP,KAAA,IAAAA,EAAAA,EAAA/F,EAAAxJ,IAAA,CAAAwP,EAEH,IAEE/F,EACAnB,EACAgT,EACAtT,EACDwB,EAGH,EAAgB,GAAArO,EACV0F,SAAA,MAAc,IAChBqe,EAAY,CAEZ,IAAAxI,EAAM,GACJ6I,EAAI,cACA3W,EAAA,GACF,CACAA,EAAY,MAAA0W,EAAAJ,EAAA,OACRM,EAAA,CAAkC,GACpChW,CAAoB,IAApBA,EAAAiM,UAAoB,CAGrB,MACH,CAHE7M,EAAO,MAAA0W,EAAAH,EAIT,CAGA,IAAK3P,EAAO,MAAAzH,EAAAa,GACV8N,GACDmJ,EAAArQ,EAGH,EAEa,OAAb+P,IACE,KACF7I,EAAA,EACF,CAAO,CAGN,EADA,KACA,GAEDlN,EACA0V,EACAC,EACA1V,EACA1B,EACDuX,EAED,EAEA,IAAA9jB,EAAO,GAAA0J,MAAA,CAAAsE,EACLxJ,IAAA,cAAO,OAELyJ,EAAU,GAAA1O,EAAAwG,GAAA,EAAAua,GAAA,CACVtgB,SAAAA,EACAikB,WAAU,WACV9d,SAAA8a,EACAV,aAAa6D,EACbnW,YAAAA,EANKuS,mBAQD,EACT,EAAAxgB,GAAA,KChHD,GAAM,CAAEqN,oBAASkX,EAAK,EAAAzZ,MAEP,CAAAwC,UAASkX,EAAmB,EAAAD,GAAA,SACzCE,IAAqB,CACrB,GAAM,CAAA9W,YAAAA,CAAA,CAAqC,CAAA1C,IAE3C8C,EACEyW,EAAA,CAAA7W,EAAA,OACG,GAAApO,EAAkBwG,GAAA,EAAAxG,EAAgB8G,QAAA,EAAAP,SAC5BiI,EAAa6F,GAAA,QAChB,CAAA5F,EACD,YAID,IAAAE,EAAA,CACEF,CAAAA,IAAAA,EAAAG,cAAC,EAAcH,IAAAA,EAAAI,eAAA,WAAA7O,EAAAqG,IAAA,EAAAjG,EAAA0G,QAAA,EAAAP,SAAA,CACA,GAAavG,EAAAwG,GAAA,EAAA0d,GAAA,CAAAzV,YAAAA,CACzB,GAA6BE,EAAc,GAAA3O,EAAAwG,GAAA,EAAAoe,GAAA,CAAAnW,YAAsBA,CAAA,QAF/C,EAKzB,GAAAtE,MAAA,CAAAiE,EAAA,KAAAjE,MAAA,CAAAsE,EAAAxJ,IAAA,IAGL,OAAAkgB,GAAA1lB,EAAA,MCxBE,SAJyC2lB,GAAAnX,CAAA,EAK1C,IAAM1H,SAAAA,CAAA,EAAc0H,EACdoX,EAAU,GAAAF,GAAcG,EAAA,IAC5B3kB,EAAO,GAAAP,EAAAmM,OAAA,MACL,EAAkC,MAChCgY,UAAavd,CAAA,CAAU,CAAW,GAChCA,EAAOf,UAAA,UACT,OAAOwH,EAAAzG,EAMT,EALkE,IAC5D6G,EAAU,MAAAwX,EAAAE,UAAA,EAAAC,SAAC,CAASxe,EACtB,GAED,OAAA6G,CACH,CACF,CACC,IAAawX,EAEhB,EAC8B,MAAQ,GAAArlB,EAAAwG,GAAA,EAAAud,GAAAjO,QAAA,EAAAjQ,MAAAlF,EACjC4F,SAAAA,CAGN,OAAA8e,GAAA5lB,EAAA,MCNiE,eAApCgmB,GAAFxX,CAAA,EAC1B,IAAMuX,SAAAA,CAAC,CAAS,CAAGvX,EACnB,CAAOjH,EAAA,CAAAwe,EACT,OAAA/X,EAAAzG,EAEA,CAAoC,IAClC0e,GAAgB,IAAAL,GAAAM,CAAA,EAAAC,eACL,CAAAC,QACP,CACAC,QAAAL,GACAM,UAAWC,IACXC,UAAA,IACAC,qBAAoB,GACtBC,mBAAA,EACF,CACF,CAEe,GAAoB,SACjCpmB,IAAA,CACE,SAAAC,EAAAqG,IAAA,EAAArG,EAAA8G,QAAA,EAAAP,SAAA,CAEI,GAAAvG,EAAAwG,GAAA,EAAAtG,IAAC,CAAAqG,SAAM,GAAAvG,EAAAwG,GAAA,WAAAD,SAAA,gCAEoB,GAAAvG,EAAWwG,GAAA,EAAA2e,GAAAiB,EAAA,EAAAC,OAAAX,GACrCnf,SACC,GAAAvG,EAAAwG,GAAA,SAAC,CAAmBD,SAClB,GAAAvG,EAAAwG,GAAA,EAAA4e,GAAgB,CAAA7e,SACd,GAAAvG,EAAAwG,GAAA,EAAAmU,EAAC,CAAmBpU,SAClB,GAAAvG,EAAAwG,GAAA,EAAAqZ,GAAa,CAAAtZ,SAAA,GAAAvG,EAAAqG,IAAA,EAAA0Z,GAAA,CAAAxZ,SAAA,CACN,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,WAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,aAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAwG,GAAA,SAAAF,UACb,QAAoBC,SAAA,GAAAvG,EAAAwG,GAAA,EAAAiY,GAAA,MAEjB,CAAU,EAAAze,EAAAwG,GAAA,SAAAF,UACb,oBAAoBC,SAAA,GAAAvG,EAAAwG,GAAA,EAAAoY,GAAA,MAEjB,CAAU,EAAA5e,EAAAwG,GAAA,SAAAF,UACb,QAAkBC,SAAA,GAAAvG,EAAAwG,GAAA,EAAA6Y,GAAA,SAGR,GAAArf,EAAAwG,GAAA,EAAAqX,GAAA,OAGd,GAAA7d,EAAAwG,GAAA,EAAAwP,EAAC,CAAazP,SACZ,GAAAvG,EAAAwG,GAAA,EAAAwH,EAAC,CAAkBzH,SAAA,GAAAvG,EAAAqG,IAAA,EAAAiQ,EAAA,CAAA/P,SAAA,CAEjB,GAAAvG,EAAAwG,GAAA,EAAA2R,EAAC,IAAI,CAAU,EAAAnY,EAAAqG,IAAA,SAAAC,UAAA,iBAAAC,SAAA,CACR,CAAU,EAAAvG,EAAAqG,IAAA,SAAAC,UAAA,iBAAAC,SAAA,CAEb,GAAAvG,EAAAwG,GAAA,EAACoR,EAAA,IAAgB,GAAA5X,EAAAwG,GAAA,EAAAoa,GAAA,OAGnB,GAAA5gB,EAAAwG,GAAA,EAACuP,EAAgB,OAAA/V,EAAAwG,GAAA,EAAA0e,GAAA,OAEP,GAAAllB,EAAAwG,GAAA,EAAAhF,EAAA,0BAYnC,iBAAAjC,CAAA,CAAAK,CAAA,CAAAH,CAAA,eAAAA,EAAAK,CAAA,CAAAF,EAAA,qBAAA0mB,CAAA,sBAAAhL,CAAA,IC5FyC,IAAAiL,EAAA9mB,EAAA,MAQ1C,IAAA6mB,EAAmBC,EAAcjmB,aAAA,OAEQ,SACvCgb,GAAgB,CAChB,IAAK3a,EAAS,GAAA4lB,EAAA3lB,UAAA,EAAA0lB,GAAA,GACZ,CAAA3lB,EACD,8CAEF,OAAAA,CAAA,CANc2lB,EAAS/lB,WAAiB,qBAMxC,gBAAAhB,CAAA,CAAAinB,CAAA,CAAA/mB,CAAA,EChBD,IAixWE+f,EAWIhU,EAAeib,EAAA1T,EAAA2T,EAAAC,EAAAC,EAAAC,EA0uInBrH,EAMIhU,EAAcpC,EAAAC,EAuhBlBmW,EAIIhU,EA/8eJsb,EAAAC,EAAAC,EAAAC,EAAAC,EAg/EmBC,EAAAC,EAuFmBC,EAAOC,EAAAC,EAAAC,EAAAC,EAkjF7CjI,EAMAhU,EAAAob,EAAAc,EA6FAlI,EAIAhU,EAs+JApC,EAAmBC,EA68Ebud,EAAOe,EAIOC,EAuQpBC,EAAmBjB,EAAyBkB,EAAsCC,EA21BlFnB,EAg1GApH,EAMAhU,EAAAsF,EAAAkX,EAyJAxI,EAMAhU,EAAAsF,EAAAkX,EA2GAxI,EAOAhU,GAAAib,GAAA3V,GAAAkX,GAyVAxI,GAMAhU,GAAAsF,GAAAkX,GAoJAxI,GAMAhU,GAAAsF,GAAAkX,GAyGAxI,GAOAhU,GAAAib,GAAA3V,GAAAkX,GA+HAxI,GAMAhU,GAAAsF,GAAAkX,GAmIAxI,GAOAhU,GAAAib,GAAA3V,GAAAkX,GAgQAxc,GAAAsF,GAAAkX,GA2PAxc,GAAAsF,GAAAkX,GAkPAxI,GAQAhU,GAAAwb,GAAAiB,GAAAnB,GAAAoB,GAAAhf,GAAAif,GAAAC,GAAAtX,GAAAkX,GAkeAxI,GAMAhU,GAAAsF,GAAAkX,GA2GAxI,GAMAhU,GAAAsF,GAAAkX,GAiHAxI,GAMAhU,GAAAsF,GAAAkX,GAmNAxI,GAMAhU,GAAAsF,GAAAkX,GAkIAxI,GAMAhU,GAAAsF,GAAAkX,GAkEAxI,GAMAhU,GAAAsF,GAAAkX,GA2lEIK,GACAC,GACAC,GA0EJC,GAgIAC,GAr8tBFC,GAAAjpB,EAAA,aAEkC+L,GAAAA,IAAA,CAAQmd,QAAA,OAC1C,EASM,GAPNnC,EAIChb,MAAA,CAAAA,GAGK,oBAAAod,SACFA,mBAAkB,qBAAAC,aAAAA,aAAAC,QAAA,EACpBtd,GACKod,QAAA,CAAAA,SAEJpd,GAAAod,QAAA,CAAAA,SAAAG,cAAA,CAAAC,kBAAA,KAEHxd,GACK9L,MAAA,CAAAA,WACH,CAIE,IACEupB,GAAU,GAAAC,CAHVzpB,EAA0B,KAC5B,EAEY0pB,KAAA,CAAAC,mBAAA,+FAAAC,SACR,CAAwBC,uBAAC,CAAM,MACjC,EAECC,UAAM,QACX,GAAA7pB,MAAO,CACP8L,GAAOod,QAAA,CAAAK,GAAsBL,QAAA,CAC7Bpd,GAAOge,mBAAa,CAAA/pB,EAAA,MAAuCgqB,cAAA,CAC3Dje,GAAOke,UAAS,CAAAjqB,EAAA,MAAAshB,MAAA,CAChBvV,GAAA9L,MAAY,CAAAupB,GACbU,UAAAne,GAAA9L,MAAA,CAAAiqB,SAAA,CAED,SA6qiBMC,GAAsBC,CAAA,CAAAC,CAAe,EAEzC,IAAIC,EAAUF,EAAGjmB,MAAA,CAAAomB,EAAsBF,EAAAE,YAAqB,CAAAC,EAAAD,EAAAE,UAAA,OAC5DD,EAAIE,SAAS,CAAC,EAAAH,EAAItgB,MAAgB,EAClCugB,EAAA5X,KAAA,OAEA,IAAI+X,EAAUL,EAAArgB,MAAa,CAAAsgB,EAAStgB,MAAa,CAEnDugB,EAAAI,SAAA,CAAAN,EAAA,EAAAK,EAAAJ,EAAAngB,KAAA,CAAAmgB,EAAAtgB,MAAA,KAAAsgB,EAAAngB,KAAA,CAAAmgB,EAAAtgB,MAAA,CAEA,CASE,SAAI4gB,GAAeT,CAAc,CAAAC,CAAc,EAK/C,IAAoCG,EAAAD,EAApCA,YAAoC,CAAAE,UAAA,OAAAK,EAAAT,EAAAU,gBAAA,CAAAC,EAAAX,EAAAY,iBAAA,CAAAC,EAAAJ,EAAAE,EAAA,EAEpCG,EAAA,IAAAC,WAAA,KAAAC,WAAoC,GAAAH,GAGjCI,EAAW,IAAMC,kBAAiB,IAAG,CAAAF,WAAS,GAAAH,GACjDd,EAAAoB,UAAI,CAAU,IAAIV,EAAUE,EAAAZ,EAAWqB,IAAA,CAAArB,EAAQsB,aAAA,CAAAP,GAC/C,IAAIQ,EAAA,IAAaC,UAASN,EAAGR,EAAAE,GAC/BR,EAAAqB,YAAA,CAAAF,EAAA,IACC,CAvsiBD5f,GAAA+f,gBAAA,kBAAA/f,GAAA9L,MAAA,mBAAA8L,GAAAod,QAAA,EAAApd,GAAA9L,MAAA,EAAA8L,GAAA9L,MAAA,CAAAqG,SAAA,EAAAyF,GAAA9L,MAAA,CAAAqG,SAAA,CAAAylB,cAAA,GASAhgB,GAAAigB,YAAA,UAAA/C,IAAA,GAIAld,GAAOkgB,GAAK,CAAG,GACflgB,GAAOmgB,KAAA,CAAQ,kDACfngB,GAAOogB,QAAA,wBACPpgB,GAAOqgB,aAAY,0DACnBrgB,GAAOsgB,SAAS,CAAG,iBACnBtgB,GAAOugB,SAAO,CAAG,GAAAvgB,GAACwgB,OAAA,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EACnC,CAEAxgB,GAAAygB,KAAA,8BAQAzgB,GAAA0gB,kBAAA,SAQA1gB,GAAA2gB,iBAAA,MAQA3gB,GAAA4gB,iBAAA,KAKA5gB,GAAA6gB,eAAA,IASA7gB,GAAAkD,WAAA,MASAlD,GAAA8gB,qBAAA,IAUA9gB,GAAA+gB,iBAAA,IAQA/gB,GAAAghB,gBAAA,CAAAhhB,GAAA9L,MAAA,CAAA8sB,gBAAA,EAAAhhB,GAAA9L,MAAA,CAAA+sB,sBAAA,EAAAjhB,GAAA9L,MAAA,CAAAgtB,mBAAA,IAgBAlhB,GAAAmhB,yBAAA,GAMAnhB,GAAAohB,kBAAA,IAUAphB,GAAAqhB,kBAAA,IAMArhB,GAAAshB,mBAAA,IASAthB,GAAOuhB,mBAAoB,IAAWvhB,GACpCwhB,iBAAW,WAAqB,QAAwE,GACtGT,iBAAY,EAAA/gB,GAAuByhB,gBAAO,EAAAzhB,GAAcyhB,gBAAA,CAAAzhB,GAAAkD,WAAA,GACxDwe,QAAQC,GAAI,sBAAO3hB,GAAmB4hB,cAAA,EAAE,IAAA5hB,GAAU6hB,kBAAkB,EAACC,SAAA9hB,GAAAkD,WAAA,IAG7DlD,GAAI+hB,qBAAO,CACpB,IAAA/hB,GAAA+hB,qBAAA,OACH,EACY,UAEV,CAKkD,SAC3CC,EAAsBC,CAAU,CAAEC,CAAA,KACrC,KAAAC,gBAAA,CAAAF,EAAA,EAGF,IAAIG,EAAS,KAAAD,gBAAA,CAAAF,EAAA,CACXC,EACFE,CACK,CAAAA,EAAAC,OAAA,CAAAH,GAAA,IAEJliB,GAAAqc,IAAA,CAAAiG,KAAA,CAAAC,IAAA,CAAAH,EAAA,IAND,CAqCiC,SAC7BI,EAAAP,CAAW,CAAAC,CAAY,MACzBO,EAAQ,WAAY,CACpBP,EAAQQ,KAAC,MAAWvhB,WACpB,IAAK,CAAAgJ,GAAI,CAAA8X,EAAAQ,EACX,GAAAja,IAAO,CAAC,MACV,KAAA0B,EAAA,CAAA+X,EAAAQ,EAEA,CA8EoBziB,GAClB2iB,UAAM,EACNC,KA1BgC,SACtBX,CAAA,CAAAvoB,CAAkB,KAC1B,MAAAyoB,gBAAW,CACZ,YAGD,IAAIU,EAAoB,KAAAV,gBAAA,CAAAF,EAAA,IACtB,CAAAY,EACD,YAE6D,IAC5D,IAAAle,EAAA,EAAAme,EAAiBD,EAAO/oB,MAAiB,CAAC6K,EAAGme,EAAKne,IACpDke,CAAA,CAAAle,EAAA,EAAAke,CAAA,CAAAle,EAAA,CAAAoe,IAAA,MAAArpB,GAAA,IAKF,OAJ8E,IAC1E,CAAAyoB,gBAAiB,CAAAF,EAAK,CAAAY,EAAAla,MAAA,UAAAtO,CAAA,EACxB,MAAAA,CAAA,IAAAA,CACA,GACF,MAUE6P,GA5G8B,SACpB+X,CAAA,CAAAC,CAAkB,EAIA,GAH1B,IAAK,CAAAC,gBAAgB,EACtB,MAAAA,gBAAA,KAGChhB,GAAAA,UAASrH,MAAQ,CAAW,IAC1B,IAAIkpB,KAAIf,EACV,KAAA/X,EAAA,CAAA8Y,EAAAf,CAAA,CAAAe,EAAA,OAIE,IAAK,CAAAb,gBAAiB,CAAAF,EAAU,EACjC,MAAAE,gBAAA,CAAAF,EAAA,KAEF,KAAAE,gBAAA,CAAAF,EAAA,CAAAnuB,IAAA,CAAAouB,EACD,CACF,aA4FEe,KAlFgC,SAChChB,CAAA,CAAAC,CAAA,EAC4B,GAC1B/gB,GAAAA,UAASrH,MAAQ,CAAW,IAC1B,IAAAkpB,KAAWf,EACbO,EAAAO,IAAA,MAAAC,EAAAf,CAAA,CAAAe,EAAA,OAIDR,EAAAO,IAAA,MAAAd,EAAAC,EACD,CACF,aAwEA/X,IA5DiC,SACrB8X,CAAA,CAAAC,CAAkB,KAC1B,MAAAC,gBAAW,CACZ,YAG2B,GAC1BhhB,GAAAA,UAAKrH,MAAA,CAAoC,IACvCmoB,KAAA,KAAAE,gBAAgC,CAClCH,EAAAe,IAAA,MAAAd,QAIA,GAAK9gB,GAAAA,UAAYrH,MAAA,EAAW,iBAAAqH,SAAA,QAC1B,IAAA6hB,KAAAf,EACFD,EAAAe,IAAA,MAAAC,EAAAf,CAAA,CAAAe,EAAA,OAIDhB,EAAAe,IAAA,MAAAd,EAAAC,EACD,CACF,YAwCF,CACA,IAKEliB,GAAAkjB,UAAY,EAEZ1lB,SAAA,GAYiBuI,IACf,UAAc,CACW,GAAzB,IAAI,CAAAvI,QAAK,CAAA1J,IAAA,CAAA4uB,KAAc,CAAE,KAAAllB,QAAA,CAAA2D,WACvB,IAAK,CAAAgiB,cAAW,CAA4C,IAC1D,IAAIxe,EAAC,EAAA7K,EAAeqH,UAAUrH,MAAE,CAAA6K,EAAA7K,EAAA6K,IAClC,KAAAwe,cAAA,CAAAhiB,SAAA,CAAAwD,EAAA,CAEF,CAEF,OADE,KAAA0R,iBAAW,OAAApO,gBAAA,GACb,MAcgDmb,SAC1C,SAAUnpB,CAAK,CAAA6X,CAAQ,CAAAuR,CAAA,EAC3B,IAAIvb,EAAA,IAAa,CAAAtK,QAAA,CASnB,OARI6lB,EACFvb,CACK,CAAAgK,EAAA,CAAA7X,EAEJ6N,EAAAwb,MAAA,CAAAxR,EAAA,EAAA7X,GAED,IAAI,CAACkpB,cAAA,EAAiB,IAAI,CAAAA,cAAK,CAAAlpB,GAC/B,KAAAoc,iBAAW,OAAApO,gBAAA,GACb,MAQmBD,OACb,UAAU,CAG8C,IAC1D,IADuB8J,EAApBhK,EAAQ,IAAG,CAAAtK,QAAS,CAAU+lB,EAAoB,GACrD5e,EAAQ,EAAA7K,EAAQqH,UAAQrH,MAAY,CAAA6K,EAAA7K,EAAA6K,IAEpCmN,EAAAhK,EAAAua,OAAA,CAAAlhB,SAAA,CAAAwD,EAAA,EAEE,KAAAmN,IACAyR,EAAe,GACfzb,EAAKwb,MAAA,CAAAxR,EAAgB,GACtB,KAAA0R,gBAAA,OAAAA,gBAAA,CAAAriB,SAAA,CAAAwD,EAAA,GAKL,OADE,KAAA0R,iBAAW,EAAAkN,GAAA,KAAAtb,gBAAA,GACb,MAc2CN,cACrC,SAAe8b,CAAU,CAAAtuB,CAAA,EACuB,IAClD,IADG2S,EAAQ,IAAG,CAAA4b,UAAc,GAC5B/e,EAAA,EAASme,EAAKhb,EAAShO,MAAQ,CAAE6K,EAAEme,EAAGne,IACxC8e,EAAAV,IAAA,CAAA5tB,EAAA2S,CAAA,CAAAnD,EAAA,CAAAA,EAAAmD,GAEF,aAS2B4b,WACrB,SAAOzoB,CAAS,SAAa,KACnB,IAALA,EACR,KAAAuC,QAAA,CAAAmB,MAAA,GAEC,IAAO,CAAAnB,QAAM,CAAAmL,MAAK,UAAAgb,CAAA,EACpB,OAAAA,EAAA1oB,IAAA,GAAAA,CACF,EAHE,EAUqBuQ,KACrB,SAAYsG,CAAA,CAAQ,CACtB,YAAAtU,QAAA,CAAAsU,EAAA,EAMqB8R,QACZ,UAAK,CACd,gBAAApmB,QAAA,CAAA1D,MAAA,EAMiB6F,KACf,UAAY,CACd,YAAAnC,QAAA,CAAA1D,MAAA,EAQkCwD,SACxB,SAASrD,CAAC,CAAO4pB,CAAC,SAAc,IACtC,CAAArmB,QAAW,CAAA6kB,OAAA,CAAApoB,GAAA,MAGJ4pB,GACL,IAAO,CAAArmB,QAAO,CAAAsmB,IAAI,UAAaC,CAAA,EACjC,yBAAAA,EAAAzmB,QAAA,EAAAymB,EAAAzmB,QAAA,CAAArD,EAAA,GACD,EAIH,EAIwB+pB,WACf,UAAc,CAAgC,OACnD,KAAQxmB,QAAQ,CAAAqR,MAAA,UAAaoV,CAAQ,CAAAznB,CAAA,CAAU,CAE9C,OADDynB,EAAOznB,CAAAA,EAAAwnB,UAAA,CAAAxnB,EAAAwnB,UAAA,KAEX,IACF,CACA,EAKEhkB,GAAAkkB,aAAA,EAI+BC,YACpB,SAAQzqB,CAAS,MACxB,IAAIspB,KAAKtpB,EACX,KAAAyL,GAAA,CAAA6d,EAAAtpB,CAAA,CAAAspB,EAAA,CAGF,EAK0CoB,cACpC,SAAiBC,CAAA,CAAAC,CAAgB,GACnCD,IAASA,EAAAE,UAAc,EAAOF,aAASrkB,GAAAwkB,QAAA,EACxC,KAAArf,GAAA,CAAAmf,EAAA,IAAAtkB,GAAAwkB,QAAA,CAAAH,GAGH,EAMmDI,aAC7C,SAAiBJ,CAAM,CAAAC,CAAM,CAAAb,CAAA,EAC/BY,CAAAA,IAASA,EAAAK,MAAc,EAAAL,aAAuBrkB,GAAA2kB,OAAA,CAI/ClB,GAAAA,IAHD,IACK,CAAAte,GAAA,CAAAmf,EAAA,IAAAtkB,GAAA2kB,OAAA,CAAAN,EAAAZ,GAKP,EAG0BmB,WACf,SAAQb,CAAK,MACpB,IAAIf,KAAMe,EACZ,KAAAc,IAAA,CAAA7B,EAAAe,CAAA,CAAAf,EAAA,CAGF,EAO0B7d,IACxB,SAAWE,CAAA,CAAAhL,CAAQ,EAOrB,MANI,iBAAKgL,EACP,IACK,CAAAuf,UAAA,CAAAvf,GAEJ,KAAAwf,IAAA,CAAAxf,EAAAhL,GAEH,MAE2BwqB,KACzB,SAASxf,CAAG,CAAAhL,CAAA,EACd,KAAAgL,EAAA,CAAAhL,CAEA,EAM2ByqB,OACrB,SAAQR,CAAS,EACrB,IAAIjqB,EAAO,KAAAqK,GAAA,CAAU4f,GAIvB,MAHa,WAAT,OAAKjqB,GACN,KAAA8K,GAAA,CAAAmf,EAAA,CAAAjqB,GAEH,MAOwBqK,IACtB,SAAY4f,CAAA,CAAS,CACvB,YAAAA,EAAA,CAED,EAQChJ,EAAA7d,KAAA6d,IAAA,CAAAC,EAAA9d,KAAA8d,KAAA,CAAAC,EAAA/d,KAAA+d,GAAA,CAAAC,EAAAhe,KAAAsnB,EAAA,KAAArJ,EAAAje,KAAAsnB,EAAA,GAGc/kB,GAEZqc,IAAA,EAOqB2I,IACnB,SAAIC,CAAU,CAAG,IAAEA,IAAAA,EAAW,QAC9B,CAKQ,OAJNA,EAAA,GAEDA,CAAAA,EAAA,CAAAA,CAAA,EAEOA,EAAAvJ,GACE,KAAK,OAAG,EAChB,OAAK,OAAG,EACV,SACA,CACF,OAAAje,KAAAunB,GAAA,CAAAC,EAEA,EAOqBtI,IACnB,SAAIsI,CAAU,CAAG,IAAEA,IAAAA,EAAW,QAC9B,CACA,IAAeC,EAAA,EAIP,OAHND,EAAA,GAEDC,CAAAA,EAAA,IAHcD,EAAAvJ,GAKR,KAAG,EACR,OAAKwJ,CAAA,MAAG,EACR,OAAK,OAAG,EACV,OAAAA,CACA,CACF,OAAAznB,KAAAkf,GAAA,CAAAsI,EAEA,EASwCE,gBAC5B,SAAM7C,CAAQ,CAAAjoB,CAAA,EACxB,IAAI+qB,EAAA9C,EAAYD,OAAA,CAAAhoB,GAIlB,OAHU,KAAN+qB,GACD9C,EAAAgB,MAAA,CAAA8B,EAAA,GAEH9C,CAEA,EAQiC+C,aACxB,SAAWznB,CAAA,CAAKC,CAAA,CAAM,CAC/B,OAAAJ,KAAAgf,KAAA,CAAAhf,KAAA6nB,MAAA,GAAAznB,CAAAA,EAAAD,EAAA,IAAAA,CAEA,EAOoCwd,iBAC3B,SAAUmK,CAAA,EACnB,OAAAA,EAAA9J,CAEA,EAOoC+J,iBAC3B,SAAUC,CAAA,EACnB,OAAAA,EAAAhK,CAEA,EAS8CiK,YACxC,SAAWC,CAAI,CAAAC,CAAY,CAACH,CAAO,CAAG,CAE1C,IAAAI,EAAW,IAAO7lB,GAAQ8lB,KAAK,CAACH,EAAEI,CAAA,CAAAH,EAAUG,CAAA,CAAAJ,EAAAK,CAAA,CAAAJ,EAAAI,CAAA,EAAAC,EAAAjmB,GAAAqc,IAAA,CAAA6J,YAAA,CAAAL,EAAAJ,GAC9C,WAAAzlB,GAAA8lB,KAAA,CAAAG,EAAAF,CAAA,CAAAE,EAAAD,CAAA,EAAAG,SAAA,CAAAP,EAEA,EAQwCM,aAC5B,SAAOE,CAAQ,CAACX,CAAA,CACtB,CAGJ,IAAA9I,EAAO3c,GAAAqc,IAAA,CAAAM,GAAA,CAAA8I,GAAAT,EAAAhlB,GAAAqc,IAAA,CAAA2I,GAAA,CAAAS,GAAA,MACF,CACHM,EAFKK,EAAAL,CAAA,CAAAf,EAAAoB,EAAAJ,CAAA,CAAArJ,EAGPqJ,EAHOI,EAAAL,CAAA,CAAApJ,EAAAyJ,EAAAJ,CAAA,CAAAhB,CAIT,CAEA,EAakCqB,aACzB,SAAW9a,CAAK,CAAC+a,CAAG,CAAC,CAC9B,WAAAtmB,GAAA8lB,KAAA,CAAAQ,EAAAP,CAAA,CAAAxa,EAAAwa,CAAA,CAAAO,EAAAN,CAAA,CAAAza,EAAAya,CAAA,CAEA,EAQyCO,wBAClB,SAAS1c,CAAA,CAAGC,CAAA,CAAG,CACtC,OAAArM,KAAA+oB,IAAA,EAAA3c,EAAAkc,CAAA,CAAAjc,EAAAic,CAAA,CAAAlc,EAAAmc,CAAA,CAAAlc,EAAAkc,CAAA,EAAAvoB,CAAAA,KAAAgpB,KAAA,CAAA5c,EAAAkc,CAAA,CAAAlc,EAAAmc,CAAA,EAAAvoB,KAAAgpB,KAAA,CAAA3c,EAAAic,CAAA,CAAAjc,EAAAkc,CAAA,GAEA,EAM2BU,aAClB,SAAWT,CAAA,EACpB,WAAAjmB,GAAA8lB,KAAA,CAAAG,EAAAF,CAAA,CAAAE,EAAAD,CAAA,EAAAW,QAAA,GAAAlpB,KAAAgpB,KAAA,CAAAR,EAAAF,CAAA,CAAAE,EAAAD,CAAA,EAEA,EAQgCY,YACrB,SAAOC,CAAA,CAAKC,CAAA,CAAAC,CAAA,EACrB,IAAIC,EAAAhnB,GAAQqc,IAAO,CAAAgK,YAAK,CAAAQ,EAAAC,GAAAG,EAAAjnB,GAA4Bqc,IAAA,CAAAgK,YAAA,CAAAQ,EAAAE,GACpDG,EAAAlnB,GAAAqc,IAAA,CAAAkK,uBAAwC,CAAAS,EAAAC,GAEpCE,EAAAnnB,GAAMqc,IAAS,CAAAkK,uBAAqB,CAAAvmB,GAAAqc,IAAA,CAAA6J,YAAA,CAAAc,EAAAE,GAAAD,GACjC,MACL,CACAb,OAAOpmB,GAAAqc,IAAA,CAAAqK,YAAA,CAAA1mB,GAAAqc,IAAA,CAAA6J,YAAA,CAAAc,EAFFE,EAAAC,CAAAA,IAAAA,EAAA,UAGPlC,MAAAiC,CACF,CAEA,EAmB4DE,sBACzC,SAAIC,CAAQ,CAAA3tB,CAAc,CAAA4tB,CACvC,EAEkC,IAChCC,EAAI,GAASC,EAAK9tB,EAAKyd,WAAc,GAAAsQ,EAAA/tB,EAAAguB,aAAA,KAAA1nB,GAAA8lB,KAAA,GAAApsB,EAAAoN,MAAA,GAAApN,EAAAqN,MAAA,MAAA/G,GAAA8lB,KAAA,MAAA6B,EAAA,SAAA1B,CAAA,EACrC,IAAA2B,EAAWJ,EAAA/pB,KAAOgpB,KAAS,CAAAR,EAAGF,CAAA,CAAAE,EAAAD,CAAA,EAChC,WAAAhmB,GAAA8lB,KAAA,CAAAG,EAAAF,CAAA,CAAA6B,EAAAH,EAAA1B,CAAA,CAAAE,EAAAD,CAAA,CAAA4B,EAAAH,EAAAzB,CAAA,CACJ,SAAyBqB,EAAOvtB,MAAA,KACGutB,EACjCQ,OAAQ,UAAWlnB,CAAA,CAAAmR,CAAS,CAAE,CAC9B,IAAiBgV,EAAAC,EAAbF,EAAA,IAAA7mB,GAAa8lB,KAAA,CAAAnlB,EAAAolB,CAAA,CAAAplB,EAAAqlB,CAAA,CACflU,CAAU,IAAVA,GACAiV,EAAIM,CAAA,CAAAvV,EAAW,GACjBgV,EACKQ,EAAIK,EAA0B3nB,GAAGqc,IAAA,CAAAgK,YAAA,CAAAU,EAAAF,IAAAV,SAAA,CAAAU,GAAAQ,CAAA,CAAAA,EAAAvtB,MAAA,KAChCgY,IAAOuV,EAAUvtB,MAAA,IACrBgtB,EAAIO,CAAA,CAAAvV,EAAW,GACjBiV,EACKO,EAAAK,EAAA3nB,GAAAqc,IAAA,CAAAgK,YAAA,CAAAS,EAAAD,IAAAV,SAAA,CAAAU,GAAAQ,CAAA,MAEHP,EAAIO,CAAM,CAACvV,EAAQ,EAAE,CACtBiV,EAAAM,CAAA,CAAAvV,EAAA,IAMD,IAAwC8V,EAAAE,EAApCC,EAAQ/nB,GAAAqc,IAAc,CAAAuK,WAAK,CAAAC,EAASC,EAAAC,GAAAiB,EAAAD,EAAA3B,MAAA,CAAAc,EAAAa,EAAA9C,KAAA,IACtCvrB,UAAAA,EAAAuuB,cAAsB,GACtBL,EAAA,CAAAJ,EAAc/pB,KAAIkf,GAAA,CAAAuK,EAChB,GAIAzpB,KAAAgpB,KAAO,CAAIqB,CADbA,EAAc,IAAC9nB,GAAA8lB,KAAe,CAAAkC,EAAajC,CAAI,CAAA6B,EAAKH,EAA0B1B,CAAA,CAAAiC,EAAAhC,CAAA,CAAA4B,EAAAH,EAAAzB,CAAA,GAC1DD,CAAA,CAAA+B,EAAA9B,CAAA,EAAAwB,GAAA9tB,EAAAwuB,gBAAA,GAClBX,EAAOzzB,IAAI,CAAC+yB,EAAE9gB,GAAA,CAAA+hB,IACdP,EAAAzzB,IAAA,CAAA+yB,EAAAsB,QAAA,CAAAL,IACD,MACF,CACD,EACA,CAAAN,EAAc/pB,KAAI2qB,KAAA,CAIlBN,EAAc,IAAI9nB,GAAA8lB,KAAA,CAAAkC,EAAAjC,CAAA,CAAA6B,EAAAH,EAAA1B,CAAA,CAAAiC,EAAAhC,CAAA,CAAA4B,EAAAH,EAAAzB,CAAA,EAClBuB,EAAOzzB,IAAI,CAAC+yB,EAAE9gB,GAAA,CAAA+hB,IAChBP,EAAAzzB,IAAA,CAAA+yB,EAAAsB,QAAA,CAAAL,GACA,GAxCwCP,CA2C1C,EAS6ChL,eACvC,SAAc5b,CAAA,CAAA0nB,CAAA,CAAAC,CAAA,WAKjB,IAAAtoB,GAAA8lB,KAAA,CAAAuC,CAAA,IAAA1nB,EAAAolB,CAAA,CAAAsC,CAAA,IAAA1nB,EAAAqlB,CAAA,CAAAqC,CAAA,IAAA1nB,EAAAolB,CAAA,CAAAsC,CAAA,IAAA1nB,EAAAqlB,CAAA,EAKH,IAAAhmB,GAAA8lB,KAAA,CAAAuC,CAAA,IAAA1nB,EAAAolB,CAAA,CAAAsC,CAAA,IAAA1nB,EAAAqlB,CAAA,CAAAqC,CAAA,IAAAA,CAAA,IAAA1nB,EAAAolB,CAAA,CAAAsC,CAAA,IAAA1nB,EAAAqlB,CAAA,CAAAqC,CAAA,IAJE,EAYqDE,0BACtC,SAAAlB,CAAA,CAAAmB,CAAA,KACbA,EAAwC,IACtC,IAAA7jB,EAAO,EAAEA,EAAG0iB,EAAOvtB,MAAK,CAAA6K,IAC1B0iB,CAAA,CAAA1iB,EAAA,CAAA3E,GAAAqc,IAAA,CAAAE,cAAA,CAAA8K,CAAA,CAAA1iB,EAAA,CAAA6jB,EAEF,CAAc,IAACC,EAAU,CAAGpB,CAAM,CAAC,EAAE,CAACtB,CAAC,CAAEsB,CAAM,CAAC,EAAE,CAACtB,CAAC,CAAEsB,CAAM,CAAC,EAAE,CAACtB,CAAC,CAC7DsB,CAAO,IAAAtB,CAAA,CAGG,CAAA2C,EAAO1oB,GAAKqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,CAAA6qB,GAAAE,EAAA3oB,GAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,CAAA4qB,GAAAG,EAAA,CAAEvB,CAAM,CAAC,EAAE,CAACrB,CAAC,CAAEqB,CAAM,CAAC,EAAE,CAACrB,CAAC,CAAEqB,CAAM,CAAC,EAAE,CAACrB,CAAC,CAC7DqB,CAAO,IAAArB,CAAA,CAIX,CAAA6C,EAAO7oB,GAAAqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,CAAAgrB,GAAAE,EAAA9oB,GAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,CAAA+qB,GAAA,MACL,CACAnhB,KAAKihB,EACLlhB,IAAAqhB,EACAxqB,MATwBsqB,EAAAD,EAU1BxqB,OALO4qB,EAAAD,CAMT,CAEA,EAO6BE,gBACd,SAASV,CAAA,CAAE,CAChB,IAACxe,EAAI,EAAIwe,CAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KAAAh0B,EAAA,CAAEwV,EAACwe,CAAI,CAAC,EAAC,CAAI,CAACxe,EAAIwe,CAAC,CAAC,EAAE,CAAE,CAAAxe,EAAKwe,CAAC,GAAE,CAC7Cxe,EAAIwe,CAAA,IAA2B,CAAA1E,EAAK3jB,GAAIqc,IAAA,CAAAE,cAAA,EAAEwJ,EAAGsC,CAAC,CAAC,EAAE,CAAIrC,EAAGqC,CAAA,GAAI,EAC9Dh0B,EAAE,IAGN,OAFEA,CAAC,CAAC,EAAE,CAAG,CAACsvB,EAAEoC,CAAC,CACX1xB,CAAA,IAAO,CAAAsvB,EAAAqC,CAAA,CACT3xB,CAEA,EAQ0C6mB,QACxC,SAAO8N,CAAW,CAAAC,CAAe,EACnC,OAAAzV,WAAA0V,OAAAF,GAAA9N,OAAA,CAAA+N,GAEA,EAOqCE,UAC/B,SAAO9uB,CAAA,CAAWuC,CAAK,EAE3B,IAAIwsB,EAAC,WAAUC,IAAA,CAAAhvB,GAAA2uB,EAAAxV,WAAAnZ,GAGA,OAFbuC,GACDA,CAAAA,EAAAoD,GAAAspB,IAAA,CAAAC,qBAAA,EAECH,CAAK,SACH,KAEF,OAAKJ,EAAAhpB,GAAAkgB,GAAA,UACH,KAEF,OAAK8I,EAAAhpB,GAAAkgB,GAAA,UACH,KAEF,OAAK8I,EAAAhpB,GAAAkgB,GAAA,KACH,KAEF,OAAK8I,EAAAhpB,GAAAkgB,GAAA,QACH,KAEF,OAAK8I,EAAAhpB,GAAAkgB,GAAA,WACH,KAEF,OAAA8I,EAAApsB,CAAA,SAEF,OAAAosB,CACF,CAEA,EAM0BQ,cACjB,UAAK,CACd,QAEA,EAOoCC,SAClC,SAAAxuB,CAAA,CAAAyuB,CAAA,CAA+B,CAGjC,OADEzuB,EAAO+E,GAAOqc,IAAI,CAACsN,MAAA,CAAAC,QAAA,CAAgB3uB,EAAC4uB,MAAU,CAAC,GAAA9f,WAAK,GAAA9O,EAAAuJ,KAAA,KACtDxE,GAAAqc,IAAA,CAAAyN,gBAAA,CAAAJ,EAAA,CAAAzuB,EAAA,EAQiC8uB,iBAC3B,SAAa9uB,CAAA,MACf3B,EAAA,CACA,sBACA,QACA,KACD,QACD,CAAQ,OACN2B,GAAK,IACH,iBAA+B3B,EAACA,EAAAqF,MAAA,EAAM,KAAM,KAAM,KAAM,KAAiB,gBAAoB,oBAC7F,EACF,KAAK,KACH,iBAA+BrF,EAACA,EAAAqF,MAAA,EAAiB,gBAAqB,oBAAM,KAAM,KAAK,IAAM,KAAM,KAAK,KACxG,EACF,KAAK,KACH,OAA+BrF,EAACA,EAAAqF,MAAA,EAAU,SAAc,aAAe,eACvE,CAEJ,CACF,OAAArF,CAEA,EAMsCwwB,iBAC/B,SAAWJ,CAAA,KACd,CAAAA,EACD,OAAA1pB,EAED,CAIA,IAA0B2E,EAArBqlB,EAAON,EAAWO,KAAG,MAAAnH,EAAAkH,EAAAlwB,MAAA,CAAAiqB,EAAA/P,GAAAhU,GAAA9L,MAAA,KACxByQ,EAAA,EAAMA,EAAIme,EAAM,EAAEne,EACpBof,EAAAA,CAAA,CAAAiG,CAAA,CAAArlB,EAAA,EAGF,OAAAof,CAEA,EAQyDhL,UAClD,SAAK3Y,CAAA,CAAAqjB,CAAA,CAAAtuB,CAAA,CAAAoL,CAAA,KACR,CAAAH,EAAA,CACAqjB,GAAAA,EAAAV,IAAA,CAAA5tB,EAAAiL,GACD,MAED,KAEA8pB,EAAAlqB,GACAqc,IAAI,CAAA8N,WAAA,GACUC,EAAc,UAAc,CACxC3G,GAAUA,EAASV,IAAI,CAAA5tB,EAAU+0B,EAAI,IACvCA,EAAAA,EAAAte,MAAA,CAAAse,EAAAG,OAAA,MAGAH,CAAAA,EAAAte,MAAA,CAAYwe,EAECF,EAAAG,OAAA,WAAuB,CAClCrqB,GAAA2hB,GAAA,kBAA0BuI,EAAAI,GAAS,EACnC7G,GAAUA,EAASV,IAAI,CAAA5tB,EAAU,IAAI,KACvC+0B,EAAAA,EAAAte,MAAA,CAAAse,EAAAG,OAAA,OAUoB,IAAlBjqB,EAAIiiB,OAAA,UAAc9hB,MAAAA,GACnB2pB,CAAAA,EAAA3pB,WAAA,CAAAA,CAAA,EAMkB,mBAAjBH,EAAImqB,SAAS,GAAI,MACjBL,EAAAte,MAAO,CAAK,KACb5L,GAAAqc,IAAA,CAAAmO,cAAA,CAAAN,EAAAE,IAGHF,EAAAI,GAAA,CAAAlqB,CAEA,EAO8CoqB,eAClC,SAAON,CAAA,CAASE,CAAc,EACxC,IAAIK,EAAMzqB,GAAKod,QAAO,CAAAsN,aAAe,OACrCD,CAAAA,EAAI9tB,KAAK,CAAC0B,KAAI,CAAGosB,EAAI9tB,KAAM,CAAAuB,MAAM,OACjCusB,EAAI9tB,KAAK,CAAC8K,IAAA,CAAAgjB,EAAW9tB,KAAA,CAAA6K,GAAA,SACrBijB,EAAI9tB,KAAA,CAAAguB,QAAY,YAChBF,EAAAG,WAAe,CAACV,GAChBlqB,GAAAod,QAAA,CAAAyN,aAAA,SAAAD,WAAA,CAAAH,GAKyBP,EAAAte,MACvB,YACAwe,IACAK,EAAA9c,UAAU,CAAAmd,WAAA,CAAAL,GACZA,EAAA,KAGF,EAUgEM,eACpD,SAAWjjB,CAAE,CAAA2b,CAAA,CAAAiG,CAAA,CAAAsB,CAAA,EAMvB,IAAAC,EAAoB,GAAAC,EAAA,EAAAC,EAAArjB,CAJpBA,EAAIA,GAAA,EAAmB,EAIHhO,MAAA,UACdsxB,GAAE,CACJ,EAAAF,IAAqBC,GAAsC1H,GACzDA,EAAAwH,EAAAtiB,MAAA,UAAAob,CAAA,EAEF,OAAAA,CACD,GAGH,CAAsB,GACpB,CAAAoH,EAAY,CACZ1H,GAAAA,EAAAwH,GACD,MAED,GACEpD,OAAA,UAAkBlE,CAAA,CAAA7R,CAAA,EACC,GACjB,CAAA6R,GAAA,CAAAA,EAAA1oB,IAAA,EACAmwB,IACD,MACD,IACiB/O,IAAG,CAAAoN,QAAa,CAAA9F,EAAE1oB,IAAK,CAAEyuB,GACxC2B,UAAU,CAAA1H,EAAA,SAAAI,CAAiB,CAAAuH,CAAM,CAAG,CACpCA,GAAAL,CAAAA,CAAsB,CAAKnZ,EAAA,CAAAiS,CAAA,EAC3BiH,GAAAA,EAAArH,EAAAI,EAAAuH,GACFF,GACF,EACF,EAEA,EAO8DG,wBACzC,SAAOtxB,CAAO,CAAA9E,CAAA,CAAcsuB,CAAO,EAAe,IAAE+H,EAAexrB,GAAK4W,MAAA,CAAA6U,aAAA,CAAA9iB,MAAA,UAAAtD,CAAA,EAAE,QAAApL,CAAA,CAAAoL,EAAA,GAClCrF,GAAEqc,IAAO,CAAA0O,cAAW,CAAAS,EAAA3iB,GAAA,UAAAxD,CAAA,EAAM,OAAApL,CAAU,CAAAoL,EAAA,GAC7F,SAAIqmB,CAAW,EACf,IAAA5jB,EAAa,GAA8B0jB,EACjC3D,OAAO,UAAAxiB,CAAa,CAAAyM,CAAM,EAClChK,CAAA,CAAAzC,EAAY,CAAAqmB,CAAe,CAAA5Z,EAAA,CAC7B3c,GAAAA,CAAAA,CAAA,CAAAkQ,EAAA,CAAAqmB,CAAA,CAAA5Z,EAAA,CACA,GACF2R,GAAAA,EAAA3b,EACF,EAEA,EAQ8C6jB,gBACjC,SAAAC,CAAc,CAAAnI,CAAA,EAEL,SACd2H,GAAE,CACJ,EAAAS,IAAqBC,GACtBrI,GAAAA,EAAAsI,EAGH,CAIA,IAAIA,EAAc,GAAAF,EAAA,EAAAC,EAAAF,CAVlBA,EAASA,GAAW,IAUF9xB,MAAA,IAChB,CAAAgyB,EAAY,CACZrI,GAAAA,EAAAsI,GACD,MAED,GACMlE,OAAO,UAAQlnB,CAAA,CAAAmR,CAAA,EACjBnR,GAAIA,EAAA+jB,MAAO,CAA6B,IACtC1kB,GAAA2kB,OAAA,CAAAhkB,EAAkB,SAASqrB,CAAA,EAC3BD,CAAA,CAAAja,EAAA,CAAAka,EACFZ,GACF,IAGEW,CAAA,CAAAja,EAAA,CAAAnR,EACDyqB,IAEL,EAEA,EASoDa,iBAC9C,SAAAC,CAAA,CAAAxyB,CAAA,CAAAyyB,CAAA,EACJ,IAAIlyB,SAAmC,GAC9BiyB,IAAAA,EAAWpyB,MAAA,CACnBoyB,CAAA,KAECxyB,IACEA,EAAQ2E,KAAA,EAAA3E,EAAcwE,MAAA,CAAAxE,EACjB0yB,WAAQ,CAAK,CAChBrG,EAAGrsB,EAAQ2E,KAAA,CAAM,EACnB2nB,EAAAtsB,EAAAwE,MAAA,EACF,GAGE,OAAOxE,EAAQ2E,KAAA,CAChB,OAAA3E,EAAAwE,MAAA,GAGHjE,EAAI,IAAO+F,GAASqsB,KAAA,CAAAH,EAAaxyB,GACxB,SAAAyyB,GACRlyB,CAAAA,EAAAqyB,UAAA,CAAAH,CAAA,EAEHlyB,EAjBE,EA2BgEsyB,uBAC9C,SAAM7H,CAAQ,CAAA8H,CAAa,CAAAC,CAAA,KAC3CA,GAAa1uB,MAAGC,OAAM,CAAAyuB,GAAiC,IACrD,IAAI9nB,EAAA,EAAAme,EAAa2J,EAAI3yB,MAAQ,CAAA6K,EAAAme,EAAAne,IAC3B8nB,CAAA,CAAW9nB,EAAC,GAAA+f,GACb8H,CAAAA,CAAA,CAAAC,CAAA,CAAA9nB,EAAA,EAAA+f,CAAA,CAAA+H,CAAA,CAAA9nB,EAAA,EAGP,EAQgC+nB,oBAChB,UAAS,CACzB,OAAA1sB,GAAAod,QAAA,CAAAsN,aAAA,UAEA,EAOoCiC,kBAC9B,SAAmBv0B,CAAK,EAC5B,IAAAw0B,EAAe5sB,GAAGqc,IAAO,CAAAqQ,mBAAK,GAIhC,OAHEE,EAAUvuB,KAAA,CAAMjG,EAAGiG,KAAO,CAC1BuuB,EAAU1uB,MAAA,CAAA9F,EAAW8F,MAAM,CAC3B0uB,EAAOlO,UAAA,OAAAG,SAAA,CAAAzmB,EAAA,KACTw0B,CAEA,EAS+CvjB,UACtC,SAASwjB,CAAA,CAAUjtB,CAAA,CAAAktB,CAAW,EACvC,OAAAD,EAAAxjB,SAAA,UAAAzJ,EAAAktB,EAEA,EAMwB3C,YACf,UAAO,CAChB,OAAAnqB,GAAAod,QAAA,CAAAsN,aAAA,OAEA,EASiDqC,0BAC/C,SAAwBljB,CAAA,CAAAC,CAAA,CAAAkjB,CAAA,EACjB,MACH,CACFnjB,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAGD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CACzBD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAGD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CACzBD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAGD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CACzBD,CAAA,IAAAC,CAAQ,IAAMD,CAAA,CAAE,GAAKC,CAAA,CAAE,GACvBkjB,EAAQ,EAAInjB,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAGD,CAAC,CAAC,EAAE,CAAGC,CAAC,CAAC,EAAE,CAAGD,CAAC,CAAC,EAAE,CAC7CmjB,EAAA,EAAAnjB,CAAA,IAAAC,CAAA,IAAAD,CAAA,IAAAC,CAAA,IAAAD,CAAA,IACH,EASyBojB,YACnB,SAAcpjB,CAAC,CAAC,CAKpB,IAAAob,EAAO1J,EAAA1R,CAAA,IAAAA,CAAA,KAAAqjB,EAAA1R,EAAA3R,CAAA,OAAA2R,EAAA3R,CAAA,OAAA/C,EAAAwU,EAAA4R,GAAAnmB,EAAA,CAAA8C,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KAAA/C,EAAA,MACL,CACAme,MAAAA,EAAQxJ,EACR3U,OAAQA,EACRC,OAAOA,EACPomB,MAAOA,EALFtjB,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAqjB,GAKEzR,EACP2R,MAAA,EACAC,WAAYxjB,CAAC,CAAC,EAAE,CAClByjB,WAAAzjB,CAAA,IAGF,EAUoC0jB,iBACrB,SAAO7zB,CAAA,KAClB,CAAAA,EAAOurB,KAAO,CACf,OAAAjlB,GAAAwgB,OAAA,CAAA7hB,MAAA,EACD,CAGA,IAAA6uB,EAAOxtB,GAAAqc,IAAA,CAAAjB,gBAAA,CAAA1hB,EAAAurB,KAAA,EAAAD,EAAAhlB,GAAAqc,IAAA,CAAA2I,GAAA,CAAAwI,GAAA7Q,EAAA3c,GAAAqc,IAAA,CAAAM,GAAA,CAAA6Q,GAAA,MAAC,CAAKxI,EAAKrI,EAAM,CAAAA,EAAKqI,EAAG,EAAE,EACpC,EAmBwCyI,qBACzB,SAAO/zB,CAAc,EAEhB,IACZoN,EAAQ,KAAwB,IAAhBpN,EAACoN,MAAS,CAAM,EAAApN,EAAAoN,MAAA,CAAAC,EAAA,SAAArN,EAAAqN,MAAA,GAAArN,EAAAqN,MAAA,CAAA2mB,EAAA,CAChCh0B,EAAAi0B,KAAA,EAAA7mB,EAAAA,CAAA,CACA,EACA,EACApN,EAAAk0B,KAAA,EAAA7mB,EAAAA,CAAA,CACA,EACF,EAEJ,CAAA4f,EAAY3mB,GAAOqc,IAAA,CAAA0Q,yBAAA,CAAA3R,EAAApb,GAAAqc,IAAA,CAAAjB,gBAAA,CAarB,OAZI1hB,EAAAyzB,KAAA,EAEEO,CAAAA,EAAC/G,EAAA+G,EAAA,CAAG,EAAG,EAA2CjwB,KAAAowB,GAAA,CAAAzS,EAAA1hB,EAAAyzB,KAAA,GAClD,EACH,MAECzzB,EAAA0zB,KAAA,EAEEM,CAAAA,EAAC/G,EAAA+G,EAAA,CAAG,EAA2CjwB,KAAAowB,GAAA,CAAAzS,EAAA1hB,EAAA0zB,KAAA,GAAG,EAClD,EACH,MAEHM,CAEA,EAkBiCI,cAC3B,SAASp0B,CAAA,MAACq0B,EAAA,CAAG,EAAG,EAAG,EAAG,EAAyBr0B,EAAQ2zB,UAAU,EAAI,EACrE3zB,EAAA4zB,UAAkB,EAAK,EAC3B,CAAA3G,EAAY3mB,GAAOqc,IAAA,CAAA0Q,yBAAA,CAQrB,OAPIrzB,EAAAurB,KAAS,EACV8I,CAAAA,EAAApH,EAAAoH,EAAA/tB,GAAAqc,IAAA,CAAAkR,gBAAA,CAAA7zB,GAAA,EAGCA,CAAAA,IAAAA,EAAAoN,MAAS,EAASpN,IAAAA,EAAQqN,MAAY,EAAArN,EAAAyzB,KAAqB,EAAAzzB,EAAA0zB,KAAA,EAAA1zB,EAAAi0B,KAAA,EAAAj0B,EAAAk0B,KAAA,GAC5DG,CAAAA,EAAApH,EAAAoH,EAAA/tB,GAAAqc,IAAA,CAAAoR,oBAAA,CAAA/zB,GAAA,EAEHq0B,CAEA,EAMwCC,qBACtB,SAAA5zB,CAAA,EAChBA,EAAO0M,MAAM,CAAG,EAChB1M,EAAO2M,MAAK,CAAG,EACf3M,EAAO+yB,KAAK,CAAG,EACf/yB,EAAOgzB,KAAK,CAAG,EACfhzB,EAAOuzB,KAAK,CAAG,GACfvzB,EAAOwzB,KAAA,CAAO,GAChBxzB,EAAA6zB,MAAA,GAEA,EAOuCC,oBAC9B,SAAA9zB,CAAA,QACL,CACA0M,OAAQ1M,EAAO0M,MAAM,CACrBC,OAAO3M,EAAO2M,MAAK,CACnBomB,MAAO/yB,EAAO+yB,KAAK,CACnBC,MAAOhzB,EAAOgzB,KAAK,CACnBnI,MAAM7qB,EAAO6qB,KAAI,CACjBxd,KAAArN,EAAOqN,IAAO,CACdkmB,MAAOvzB,EAAOuzB,KAAK,CACnBC,MAAKxzB,EAAOwzB,KAAG,CACjBpmB,IAAApN,EAAAoN,GAAA,CAGF,EAQ8C2mB,cAE5C,SAAA1P,CAAA,CAAAsH,CAAA,CAAAC,CAAA,CAAAoI,CAAA,EAGEA,EAAQ,IACNrI,EAAAqI,EACFrI,GACKqI,EAEJrI,EAAA,EAECC,EAAAoI,EACFpI,GACKoI,EAEJpI,EAAA,GAOH,IAAArhB,EAAA0pB,EAAA,GAAAC,EAAA7P,EAAA8P,YAA2D,CAAAxI,EAAAC,EAAAoI,EAAAA,GAAA,EAAAA,EAAAA,GAAA,GAAAI,EAAAF,EAAA7kB,IAAA,CAAA3P,MAAA,CAChC,IACzB6K,EAAA,EAAOA,EAAA6pB,GAGLH,CAAO,GADTA,CAAAA,EAAII,EADahlB,IAAA,CAAA9E,EAAA,EACM,GAFhBA,GAAU,GAUrB,OADE2pB,EAAO,KACTD,CAEA,EAKuDK,kCAC3B,SAASC,CAAO,CAAS,CAGnD,IAAiDC,EAA7CC,EAAA,OAAoBC,EAAA,MAAiBC,EAAQ,MAAAC,EAAAL,EAAA1E,KAAA,MAa1C,OAZL+E,GAAcA,EAAoBl1B,MAAA,GAEhC+0B,SADFA,CAAAA,EAAIG,EAA0BC,GAAA,KACpBJ,UAAAA,GACRD,EAAAC,EACFA,EACS,QACPG,EAAQl1B,MAAoB,EAC7B80B,CAAAA,EAAAI,EAAAC,GAAA,KAIHH,EAASF,SAAAA,EAAmBA,EAAMpqB,KAAK,CAAC,EAAG,GAAK,MAAM,CACtDuqB,EAAOH,SAAAA,EAAAA,EAAApqB,KAAA,aACL,CACAqqB,YAAQA,EACRC,OAAQA,EACVC,OAAAA,CACF,CAEA,EAY2CG,qBAC3B,SAAAC,CAAkB,EAChCA,CAAAA,EAAK,CAAAA,GAAY,IAAAC,WAAA,IAIRpvB,GAAO6gB,eAAe,CAACsO,EAAW,EAC1C,OAAAnvB,GAAA6gB,eAAA,CAAAsO,EAAA,CAHDnvB,GACS6gB,eAAO,GAKlB,EAS2CwO,gBACrC,SAAkBC,CAAA,CAAIC,CAAC,EAE3B,IAAAC,EAAO/xB,KAAA6d,IAAA,CAAAiU,EAAAD,GAAA,MAAK,CAAwBvJ,EAAGtoB,KAAAgf,KAAA,CAAA+S,GAAexJ,EAA/CvoB,KAAAgf,KAAA,CAAA8S,EAAAC,EACT,CAEA,EAAoCC,SAClC,SAAe7xB,CAAC,CAAAvD,CAAK,CAAKwD,CAAI,EAChC,OAAAJ,KAAAI,GAAA,CAAAD,EAAAH,KAAAG,GAAA,CAAAvD,EAAAwD,GAEA,EAa8C6xB,eAChC,SAAIhL,CAAA,CAAY8H,CAAQ,EACtC,OAAA/uB,KAAAG,GAAA,CAAA4uB,EAAAnuB,KAAA,CAAAqmB,EAAArmB,KAAA,CAAAmuB,EAAAtuB,MAAA,CAAAwmB,EAAAxmB,MAAA,CAEA,EAagDyxB,iBAClC,SAAIjL,CAAY,CAAA8H,CAAQ,CAAO,CAC7C,OAAA/uB,KAAAI,GAAA,CAAA2uB,EAAAnuB,KAAA,CAAAqmB,EAAArmB,KAAA,CAAAmuB,EAAAtuB,MAAA,CAAAwmB,EAAAxmB,MAAA,CAEA,EAOiC0xB,YACxB,SAAApH,CAAY,CAAU,CAAoB,MAC/C,UAAcA,EAAK3f,GAAQ,UAAOxO,CAAO,EACxC,OAAK2F,GAAOqc,IAAA,CAAAnB,OAAA,CAAA7gB,EAAA2F,GAAA4W,MAAA,CAAAiZ,mBAAA,CACjB,GAAAC,IAAA,SAEA,EAYuDC,0BAC/B,SAAK91B,CAAA,CAAAuuB,CAAgB,EAE3C,IAAAwH,EAAYhwB,GAAAqc,IAAA,CAAA0M,eAAuB,CAAQP,GAAAyH,EAAAjwB,GAAAqc,IAAA,CAAA0Q,yBAAA,CAAAiD,EAAA/1B,EAAAi2B,aAAA,IAC7ClwB,GAAAqc,IAAA,CAAA8T,sBAAA,CAAAl2B,EAAAg2B,EAEA,EASkDG,qBACpC,SAAAn2B,CAAA,CACVuuB,CACA,EAEJxoB,GAAAqc,IAAA,CAAA8T,sBAAA,CAAAl2B,EAAA+F,GAAAqc,IAAA,CAAA0Q,yBAAA,CAAAvE,EAAAvuB,EAAAi2B,aAAA,IAEA,EAMoDC,uBACpC,SAAYl2B,CAAA,CAAWuuB,CAAC,EAEtC,IAAA9uB,EAAYsG,GAAQqc,IAAA,CAAA4Q,WAAA,CAAAzE,GAAA6H,EAAA,IAAArwB,GAAA8lB,KAAA,CAAApsB,EAAA2zB,UAAA,CAAA3zB,EAAA4zB,UAAA,CACpBrzB,CAAAA,EAAO0zB,KAAK,CAAG,GACf1zB,EAAO2zB,KAAI,IACX3zB,EAAOkL,GAAG,CAAC,SAAUzL,EAAQoN,MAAM,EACnC7M,EAAOkL,GAAA,UAAQzL,EAAaqN,MAAA,EAC5B9M,EAAOkzB,KAAK,CAAGzzB,EAAQyzB,KAAK,CAC5BlzB,EAAOmzB,KAAK,CAAG1zB,EAAQ0zB,KAAK,CAC5BnzB,EAAOgrB,KAAA,CAAAvrB,EAAAurB,KAAoB,CAC7BhrB,EAAAq2B,mBAAA,CAAAD,EAAA,kBAEA,EAgBqDE,mBACxC,SAAWlyB,CAAO,CAAAH,CAAS,CAAAxE,CAClC,EAAS,IACP82B,EAAAnyB,EAAA,EAAAoyB,EAAAvyB,EAAA,EAkBNwyB,EAAO1wB,GAAAqc,IAAA,CAAAoR,oBAAA,CAAA/zB,GAAAi3B,EAAA3wB,GAAAqc,IAAA,CAAAkM,yBAAA,CAlBD,EAEExC,EAAG,CAACyK,EACNxK,EAAA,CAAAyK,CACA,GAEE1K,EAAGyK,EACLxK,EAAA,CAAAyK,CACA,GAEE1K,EAAG,CAAAyK,EACLxK,EAAAyK,CACA,GAEE1K,EAAGyK,EACLxK,EAAAyK,CACF,EAEJ,CAAOC,GAAA,MACF,CACH3K,EAAG4K,EAAKtyB,KAAA,CACV2nB,EAAA2K,EAAAzyB,MAAA,CAGF,EAmBkC0yB,eACpB,SAAIC,CAAA,CAAAC,CAAA,EAChB,IAAIjnB,EAAEgnB,EAAA/mB,EAAQgnB,CACZjnB,CAAAA,EAAAmmB,QAAA,EAAY,CAAAlmB,EAAAkmB,QAAA,GAEZnmB,EAAIinB,EACLhnB,EAAA+mB,GASD7wB,GAAAqc,IAAA,CAAA8T,sBAAA,CAAArmB,EAAA9J,GAAAqc,IAAA,CAAA0Q,yBAAoD,CAAA/sB,GAAAqc,IAAA,CAAA0M,eAAA,CAAAlf,EAAAknB,mBAAA,IAAAjnB,EAAAinB,mBAAA,KAEpD,IAAIf,EAAUnmB,EAAAmmB,QAAA,EAAAlmB,EAAAkmB,QAAA,CAIU,OAHtBA,GAEDnmB,CAAAA,EAAAmmB,QAAA,CAAAlmB,EAAAkmB,QAAA,KACwB,IAAAhwB,GAAAqsB,KAAA,EAAIxiB,EAAA,EAAemnB,SAAUlnB,EAASkmB,SAAAA,CACjE,EAEA,EAO8DiB,gBAC5D,SAAeC,CAAgB,CAAAC,CAAK,CAAAC,CAAA,EAatC,OAZEA,EAAOA,GAAoB,GAY7BF,EAAA3O,IAAA,GAAA4O,EAAA5O,IAAA,EAAA2O,EAAAG,MAAA,GAAAF,EAAAE,MAAA,EAAAH,EAAA/Z,WAAA,GAAAga,EAAAha,WAAA,EAAA+Z,EAAAt0B,QAAA,GAAAu0B,EAAAv0B,QAAA,EAAAs0B,EAAA/B,UAAA,GAAAgC,EAAAhC,UAAA,EAAA+B,EAAAI,UAAA,GAAAH,EAAAG,UAAA,EAAAJ,EAAAK,SAAA,GAAAJ,EAAAI,SAAA,EAAAL,EAAAM,MAAA,GAAAL,EAAAK,MAAA,EAAAJ,GAAAF,CAAAA,EAAAO,QAAA,GAAAN,EAAAM,QAAA,EAAAP,EAAAQ,SAAA,GAAAP,EAAAO,SAAA,EAAAR,EAAAS,WAAA,GAAAR,EAAAQ,WAAA,CAEA,EASsCC,cACpC,SAAAv4B,CAAA,CAAAw4B,CAAA,EAK2C,IACzC,IAFFx4B,EAAA2G,GAAAqc,IAAA,CAAApiB,MAA4B,CAAAsN,KAAA,CAAAlO,EAAA,IAAAy4B,EAAAD,EAAA5H,KAAA,OAAA8H,EAAA,GAAAb,EAAA,GAAAc,EAAA,GAEtBrtB,EAAC,EAAMA,EAAGmtB,EAAEh4B,MAAA,CAAA6K,IAAA,IACd,CAAAtL,CAAA,CAAAsL,EAAA,EAEAotB,GAASD,CAAA,CAAAntB,EAAA,CAAA7K,MAAA,CACV,SACD,IAEE,IAAAm4B,EAAA,EAAAA,EAAAH,CAAA,CAAAntB,EAAA,CAAA7K,MAAA,CAAAm4B,IAAA,CACAF,IACA,IAAAZ,EAAA93B,CAAA,CAAAsL,EAAA,CAAAstB,EAAA,CAEEd,IACkBnxB,GAAAqc,IAAA,CAAA4U,eAAA,CAAAC,EAAAC,EAAA,IACCa,EACRl+B,IAAA,EACPo+B,MAAKH,EACLI,IAAAJ,EAAO,EACTp1B,MAAAw0B,CACF,GAICa,CAAA,CAAAA,EAAAl4B,MAAA,IAAAq4B,GAAA,IAGLjB,EAAAC,GAAA,EACF,CACA,CACF,OAAAa,CAEA,EASwCI,gBAC3B,SAAQ/4B,CAAS,CAAAw4B,CAAA,KAC1B,CAAA9zB,MAAOC,OAAA,CAAA3E,GACR,OAAAA,CACD,CAG2C,IACzC,IAFFy4B,EAAAD,EAAA5H,KAAA,OAA4B8H,EAAA,GAAAM,EAAA,EAAAC,EAAA,GAE1B3tB,EAAA,EAAAA,EAAAmtB,EAAAh4B,MAAA,CAAA6K,IAC8C,IAC5C,IAAAstB,EAAA,EAAAA,EAAAH,CAAA,CAAAntB,EAAA,CAAA7K,MAAA,CAAAm4B,IACAF,IAIE14B,CAAA,CAAAg5B,EAAA,EAAAh5B,CAAA,CAAAg5B,EAAA,CAAAH,KAAA,EAAkDH,GAAAA,EAAA14B,CAAA,CAAAg5B,EAAA,CAAAF,GAAA,GAElDG,CAAA,CAAA3tB,EAAA,CAAA2tB,CAAA,CAAA3tB,EAAA,KAEA2tB,CAAA,CAAA3tB,EAAA,CAAAstB,EAAA,CAAArb,OAAA2b,MAAA,IAAAl5B,CAAA,CAAAg5B,EAAA,CAAA11B,KAAA,EAEEo1B,IAAA14B,CAAA,CAAAg5B,EAAA,CAAAF,GAAA,IACDE,KAKT,OAAAC,CACF,CACC,EACS,UACN,CACiB,IACfE,EAAGz0B,MAAA8Y,SAAA,CAAAiZ,IAAA,CAAA2C,EAAA,CACHC,EAAG,EACHlE,EAAG,EACHmE,EAAG,EACH1M,EAAG,EACHgM,EAAG,EACHzK,EAAG,EACHoL,EAAG,EACHvK,EAAG,EAELxe,EAAA,CAAmB,EAAAgpB,EACd,CACHH,EAAG,IACLI,EAAA,GACJ,EAiFyC,SACnCC,EAAgBC,CAAI,CAAAC,CACpB,CAAAC,CAAA,CAAKC,CAAA,CAAK,CACd,IAAIC,EAAA31B,KAAU8d,KAAA,CAAA0X,EAAAD,GAAAK,EAAA51B,KAAA8d,KAAA,CAAA4X,EAAAD,UAAA,GACZE,EAEGC,EAAAD,EAEJ,EAAA31B,KAAAsnB,EAAA,CAAAqO,CAAAA,EAAAC,CAAA,CACH,CAiTwC,SAC/BC,EAAWC,CAAK,CAACC,CAAA,CAAMC,CAAA,CAAAC,CAAK,CAAC,CACtC,OAAAj2B,KAAA6d,IAAA,EAAAmY,EAAAF,CAAA,EAAAE,CAAAA,EAAAF,CAAA,GAAAG,EAAAF,CAAA,EAAAE,CAAAA,EAAAF,CAAA,EAEA,CAsEwC,SAClCG,EAAQC,CAAA,CAAAL,CAAA,CAAAC,CAAA,MACZ7yB,EAAekzB,EADDC,EAAG,CAAI/N,EAAGwN,EAAMvN,EAAGwN,CACjC,EAAKO,EAAU,EAAwB,IACrCF,EAAI,EAAAA,GAAS,IAAOA,GAAA,EACpBlzB,EAAAizB,EAAUC,EAAA,KACVE,GAAQT,EAAAQ,EAAA/N,CAAA,CAAA+N,EAAA9N,CAAA,CAAArlB,EAAAolB,CAAA,CAAAplB,EAAAqlB,CAAA,EACV8N,EAAAnzB,EAEF,OAAAozB,CAEA,CAuCmC,SAC7BC,EAAuB7H,CAAA,CAAK,CAIF,IAC5B,IAHE3vB,EAE0Bo3B,EAAAK,EAAAC,EAF1BC,EAAA,EAAArR,EAAAqJ,EAAAryB,MAAA,CAEJy5B,EAAK,EAAIC,EAAI,EAAGC,EAAI,EAAKC,EAAK,EAAAU,EAAA,GAC5BzvB,EAAA,EAAUA,EAAKme,EAAEne,IAAA,CAMC,OALPsvB,EACN,CACHlO,EAAGwN,EACHvN,EAAAwN,EACFa,QAAA73B,CAJAA,EAAA2vB,CAAW,CAAAxnB,EAAA,CAIX,KAEEnI,CAAK,SACH,IACAy3B,EAAKn6B,MAAK,CAAQ,EAClB25B,EAAKF,EAAK/2B,CAAO,CAAC,EAAE,CACpBk3B,EAAMF,EAAAh3B,CAAA,IACR,KAAK,KACH,IACAy3B,EAAKn6B,MAAU,CAAAw5B,EAAAC,EAAAC,EAAAh3B,CAAA,IAAAA,CAAA,KACf+2B,EAAK/2B,CAAO,CAAC,EAAE,CACfg3B,EAAMh3B,CAAA,IACR,KAAK,KACH,IAUAo3B,EAAAU,SAzIeC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,SACnB,SAASC,CAAI,EACb,IAAAlE,EAdJxI,EAcW0M,EAAAA,EAAAjE,EAXX,EAWWiE,EAAAA,EAXX,GAWWA,CAXX1M,EAWW2M,EARX,EAQWD,EARX,GAQWA,CARX1M,EAAA,GAQW0M,CARX1M,EAQW4M,EALX,GAKWF,CALX1M,EAAA,GAKW0M,CALX1M,EAAA,GAKW0M,CALX1M,EAKW,MACF,CACHtC,EAAG8O,EAAMhE,EAAK8D,EAAM7D,EAAK2D,EAAMO,EAAKT,EAAMU,EAC5CjP,EAAA8O,EAAAjE,EAAA+D,EAAA9D,EAAA4D,EAAAM,EAAAR,EAAAS,CACF,CACF,CAEA,EAiIU1B,EACAC,EACAh3B,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,KAEZ03B,EAASgB,SAzIOX,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,SACpB,SAAWC,CAAI,EAKf,IAAAI,EAAO,EAAKJ,EACd,OAAAt3B,KAAA8d,KAAA,CAD8B,EAAA4Z,EAAAA,EAAAT,CAAAA,EAAAF,CAAA,IAAAW,EAAAJ,EAAAH,CAAAA,EAAAF,CAAA,IAAAK,EAAAA,EAAAD,CAAAA,EAAAF,CAAA,IAAAO,EAAAA,EAAAV,CAAAA,EAAAF,CAAA,IAAAY,EAAAJ,EAAAJ,CAAAA,EAAAF,CAAA,IAAAM,EAAAA,EAAAF,CAAAA,EAAAF,CAAA,EAEhC,CAEA,EA+H4BpB,EAAAC,EAAAh3B,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACpBy3B,EAASL,QAAA,CAAWA,EACpBK,EAASC,WAAS,CAAAA,EAClBD,EAAKn6B,MAAU,CAAA65B,EAAAC,EAAAL,EAAAC,GACfD,EAAK/2B,CAAO,CAAC,EAAE,CACfg3B,EAAMh3B,CAAA,IACR,KAAK,KACH,IAQAo3B,EAAAwB,SAjIeb,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,SACnB,SAASG,CAAI,EACb,IAAAlE,EAbJxI,EAaW0M,EAAAjE,EATX,EASWiE,EATX,GASWA,CATX1M,EASW2M,EALX,GAKWD,CALX1M,EAAA,GAKW0M,CALX1M,EAKW,MACF,CACHtC,EAAG4O,EAAM9D,EAAK4D,EAAM3D,EAAKyD,EAAMS,EACjChP,EAAA4O,EAAA/D,EAAA6D,EAAA5D,EAAA0D,EAAAQ,CACF,CACF,CAEA,EAyHUzB,EACAC,EACAh3B,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,GACV,CAAAA,CAAU,KAEZ03B,EAASmB,SA/HOd,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,SACpB,SAAWG,CAAI,EAGf,IAAAI,EAAO,EAAKJ,EACd,OAAAt3B,KAAA8d,KAAA,CAD8B,EAAA4Z,EAAAT,CAAAA,EAAAF,CAAA,IAAAO,EAAAH,CAAAA,EAAAF,CAAA,IAAAS,EAAAV,CAAAA,EAAAF,CAAA,IAAAQ,EAAAJ,CAAAA,EAAAF,CAAA,EAEhC,CAGA,EAsH4BlB,EAAAC,EAAAh3B,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACpBy3B,EAASL,QAAA,CAAWA,EACpBK,EAASC,WAAS,CAAAA,EAClBD,EAAKn6B,MAAU,CAAA65B,EAAAC,EAAAL,EAAAC,GACfD,EAAK/2B,CAAO,CAAC,EAAE,CACfg3B,EAAMh3B,CAAA,IACR,KAAK,KACA,QACH,IAEAy3B,EAASqB,KAAK,CAAG7B,EACjBQ,EAASsB,KAAA,CAAM7B,EACfO,EAAKn6B,MAAA,CAAAw5B,EAAAC,EAAAC,EAAAC,EAAAC,GACLH,EAAKE,EACLD,EAAME,CAEV,CACAS,GAAUF,EAAAn6B,MAAA,CACZs6B,EAAAtgC,IAAA,CAAAmgC,EACA,CAEF,OAFYG,EAAEtgC,IAAA,EAAqBgG,OAAGq6B,EAAIpO,EAAGwN,EAAGvN,EAAAwN,CAC9C,GACFY,CAEA,CAiM0Cp0B,GACxCqc,IAAO,CAAAmZ,QAAS,CAAI,SAAUC,CAAS,SAAEA,EAAO5sB,GAAQ,UAAK6sB,CAAA,EAAS,OAAKA,EAAA5F,IAAA,KAC7E,GAAAA,IAAA,KACA,EACA9vB,GAAOqc,IAAI,CAACsZ,SAAA,CAnJmB,SAEzBC,CAAS,CAAE,CAaX,IAAAC,EAAAC,EAAAn7B,EAAAo7B,EACJ5J,EADIhwB,EAAA,GAAAorB,EAAA,GAAAyO,EAAAh2B,GAAAqgB,aAAA,CAAA4V,EAAA,sDAAAC,EAAA,IAAAD,EAAA,IAAAj2B,GAAAogB,QAAA,CAAA+V,EAAA,SAAAn2B,GAAAogB,QAAA,KAAAgW,EAAA,OAAAF,EAAA,IAAAA,EAAA,IAAAA,EAAAC,EAAAA,EAAAD,EAAA,KAAAD,EAAA,SACkC,GACpC,CAAAL,GAAO,CAAAA,EAAAj7B,KAAA,CACR,OAAAwB,CACD,CAEAgwB,EAAKyJ,EAAWj7B,KAAA,iCAA+C,IAC7D,IAAA07B,EAAA1xB,EAAA,EAAqBme,EAAAqJ,EAAAryB,MAAA,CAAA6K,EAAAme,EAAAne,IAAA,CAGrBoxB,EAAOF,CADPA,EAAY1J,CAAA,CAAAxnB,EAAA,EACIH,KAAA,IAAAiE,IAAA,GAEhB8e,EAAIztB,MAAA,CAAU,EACd,IAKSsH,EALTizB,EAAAwB,EAAehM,MAAA,IAEoB,GAFpBwM,EAAC,CAAQhC,EAExB,CACEA,MAAAA,EAAAjF,WAAA,GACiE,KACtDhuB,EAAOg1B,EAAsB/M,IAAA,CAAA0M,IAAA,IACpC,IAAAO,EAAO,EAAIA,EAACl1B,EAAOtH,MAAA,CAAAw8B,IACrB/O,EAAAzzB,IAAA,CAAAsN,CAAA,CAAAk1B,EAAA,OAImC,KACnC37B,EAAOq7B,EAAK3M,IAAK,CAAC0M,IACpBxO,EAAAzzB,IAAA,CAAA6G,CAAA,IAGF,CAAqD,IACnD,IAAA27B,EAAA,EAASC,EAAAhP,EAAWztB,MAAS,CAAAw8B,EAAAC,EAAAD,IAE3BE,MADFV,EAAKtiB,WAAe+T,CAAA,CAAA+O,EAAA,IAEnBD,EAAAviC,IAAA,CAAAgiC,GAMH,IAAIW,EAAahE,CAAa,CAAA4B,EAAAjF,WAAe,IAAAsH,EAAA7D,CAAA,CAAAwB,EAAA,EAAAA,EAAA,GAC3CgC,EAAav8B,MAAG,CAAO,EAAA28B,EAAmD,IACxE,IAAAE,EAAO,EAAIC,EAACP,EAAAv8B,MAAA,CAAA68B,EAAAC,EAAAD,GAAAF,EAAAt6B,EAACrI,IAAA,EAASugC,EACtB,CAAA11B,MAAA,CAAA03B,EAAU7xB,KAAA,CAAAmyB,EAAAA,EAAAF,KACZpC,EAAAqC,OAIDv6B,EAAArI,IAAA,CAAAuiC,EACH,CAGF,OAAAl6B,CAAA,EAkFA6D,GAAOqc,IAAI,CAACwa,eAAA,CAzkBmB,SAC7B1K,CAAA,EAKI,IAIA3vB,EAAAmI,EAAAmyB,EAEmBC,EAAGC,EAAAC,EANtBlR,EAAA,EAAAC,EAAA,EAAAlD,EAAAqJ,EAAAryB,MAAA,CAIAy5B,EAAA,EAAAC,EAAA,EAEJ0D,EAAgB,EAAK,CAAK,IACxBvyB,EAAA,EAAAA,EAAAme,EAAY,EAAKne,EAAA,CAEC,OADlBmyB,EAAU,GAERt6B,CADFA,EAAQ2vB,CAAO,CAACxnB,EAAE,CAAAH,KAAA,IACX,SACH,IACAhI,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACAD,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IACR,KAAK,KACH,IACAA,CAAA,KAAgBupB,CACb,KACH,IACAvpB,CAAO,CAAC,EAAE,CAAG,IACbA,CAAI,IAAQwpB,EACZD,EAAAvpB,CAAM,IACR,KAAK,KACH,IACAA,CAAA,KAAgBwpB,CACb,KACH,IACAxpB,CAAI,IAAQ,IACZwpB,EAAAxpB,CAAU,GAAG,CACbA,CAAO,CAAC,EAAE,CAAGupB,EACbvpB,CAAM,IAAAwpB,EACR,KAAK,KACH,IACAxpB,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACAD,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAK,CAAO,EAAC,CACb+2B,EAAK/2B,CAAO,CAAC,EAAE,CACfg3B,EAAMh3B,CAAA,IACR,KAAK,KACH,IACAA,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAO,CAAC,EAAE,EAAIwpB,EACdxpB,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAO,CAAC,EAAE,EAAIwpB,EACdxpB,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACAgR,EAAWx6B,CAAO,CAAC,EAAE,CACrBy6B,EAAWz6B,CAAG,IACdupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IACR,KAAK,KACH,IACAA,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAO,CAAC,EAAE,EAAIwpB,EACdxpB,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IAEE+Q,MAAAA,GAEAC,EAAW,EAAIjR,EAAIiR,EACrBC,EACK,EAAAjR,EAAAiR,IAIHD,EAAWjR,EACZkR,EAAAjR,GAEDD,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAU,GAAG,CACbA,CAAO,CAAC,EAAE,CAAG,IACbA,CAAO,CAAC,EAAE,CAAGA,CAAO,CAAC,EAAE,CACvBA,CAAO,CAAC,EAAE,CAAGA,CAAO,CAAC,EAAE,CACvBA,CAAO,CAAC,EAAE,CAAGA,CAAO,CAAC,EAAE,CACvBA,CAAO,CAAC,EAAE,CAAGA,CAAA,IACbA,CAAO,CAAC,EAAE,CAAGw6B,EACbx6B,CAAA,IAAAy6B,EAGAD,EAAWx6B,CAAO,CAAC,EAAE,CACrBy6B,EAAMz6B,CAAA,IACR,KAAK,KACH,IACAA,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAO,CAAC,EAAE,EAAIwpB,EACdxpB,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACAgR,EAAWx6B,CAAO,CAAC,EAAE,CACrBy6B,EAAWz6B,CAAG,IACdupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IACR,KAAK,KACH,IACAA,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACE+Q,MAAAA,GAEAC,EAAW,EAAIjR,EAAIiR,EACrBC,EACK,EAAAjR,EAAAiR,IAIHD,EAAWjR,EACZkR,EAAAjR,GAEDxpB,CAAI,IAAQ,IACZupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAU,GAAG,CACbA,CAAO,CAAC,EAAE,CAAGw6B,EACbx6B,CAAO,CAAC,EAAE,CAAGy6B,EACbz6B,CAAO,CAAC,EAAE,CAAGupB,EACbvpB,CAAM,IAAAwpB,EACR,KAAK,KACH,IACAxpB,CAAO,CAAC,EAAE,KACVA,CAAO,CAAC,EAAE,EAAIupB,EACdvpB,CAAA,KAAgBwpB,CACb,KACH,IACA8Q,EAAA,GACAI,EAAcA,EAAAv4B,MAAA,CAAAw4B,SA9KhBC,CAAK,CAAAC,CAAA,CAAO9P,CACZ,EAOiD,IACnD,IADG+P,EAAI/P,CAAO,IAAAgQ,EAAMhQ,CAAS,IAAMiQ,EAAMjQ,CAAK,GAAK,CAAAkQ,EAAAlQ,CAAA,IAAAmQ,EAAAnQ,CAAA,IAAAoQ,EAAAC,SAnLnCC,CAAK,CAAAC,CAAA,CAAAR,CAAU,CAAAC,CAAA,CAAKE,CAClC,CAAAC,CAAQ,CAAAK,CAAO,CAAI,CAIvB,IAAAhT,EAAKtnB,KAASsnB,EAAA,CAAAiT,EAAAD,EAAAhT,EAAA,IAAAkT,EAAAj4B,GAAAqc,IAAA,CAAAM,GAAA,CAAAqb,GAAAE,EAAAl4B,GAAAqc,IAAA,CAAA2I,GAAA,CAAAgT,GAAAG,EAAA,EAAAC,EAAA,EASVC,EAAK,CAAAH,EAAGL,EAAA,GAAAI,EAAAH,EAAA,GAAAQ,EAAA,CAAAJ,EAAAJ,EAAA,GAAAG,EAAAJ,EAAA,GAAAU,EAAAjB,CARZA,EAAK75B,KAAKif,GAAG,CAAC4a,EAAA,EAQFA,EAAAkB,EAAAjB,CANZA,EAAI95B,KAAMif,GAAA,CAAA6a,EAAA,EAMEA,EAAAkB,EAAAH,EAAAA,EAAAI,EAAAL,EAAAA,EAAAM,EAAAJ,EAAAC,EAAAD,EAAAE,EAAAD,EAAAE,EAAAE,EAAA,KACVD,EAAI,EAAI,CACR,IAAAnR,EAAM/pB,KAAA6d,IAAA,GAAAqd,EAAAJ,CAAAA,EAAAC,CAAA,GACNlB,GAAM9P,EACR+P,GACK/P,CAAA,MAGJoR,EAAA,CAAAnB,IAAAC,EAAA,MAAAj6B,KAAA6d,IAAA,CAAAqd,EAAAJ,CAAAA,EAAAE,EAAAD,EAAAE,CAAA,EAED,CAOA,IAAIG,EAAAD,EAAUtB,EAAKgB,EAAAf,EAASuB,EAAG,CAAAF,EAAArB,EAAAc,EAAAf,EAAAyB,EAAAb,EAAAW,EAAAZ,EAAAa,EAAAjB,GAAAA,EAAAmB,EAAAf,EAAAY,EAAAX,EAAAY,EAAAhB,GAAAA,EAAAmB,EAAAlG,EAAA,KAAAsF,EAAAQ,CAAA,EAAAvB,EAAA,CAAAgB,EAAAQ,CAAA,EAAAvB,GAAA2B,EAAAnG,EAAA,CAAAsF,EAAAQ,CAAA,EAAAvB,EAAA,CAAAgB,EAAAQ,CAAA,EAAAvB,EAAA,EAAAc,EAAAQ,CAAA,EAAAvB,EAAA,EAAAgB,EAAAQ,CAAA,EAAAvB,EAC7BG,CAAU,IAAVA,GAAcwB,EAAA,EAChBA,GACS,EAAAnU,EACO,IAAd2S,GAAcwB,EAAA,GACfA,CAAAA,GAAA,EAAAnU,CAAA,EAQkC,IACjC,IADGoU,EAAW17B,KAAImf,IAAA,CAAAnf,KAAUif,GAAK,CAAAwc,EAAAnU,EAAA,IAAA5oB,EAAA,GAAAi9B,EAAAF,EAAAC,EAAAE,EAAA,IAAA57B,KAAAkf,GAAA,CAAAyc,EAAA,GAAA37B,KAAAkf,GAAA,CAAAyc,EAAA,GAAA37B,KAAAkf,GAAA,CAAAyc,EAAA,GAAAE,EAAAL,EAAAG,EACjCz0B,EAAO,EAAEA,EAAGw0B,EAAAx0B,IACZxI,CAAA,CAAAwI,EAAQ,CAAA40B,SArEUC,CAAI,CAACF,CAAI,CAAApB,CACzB,CAAAD,CAAA,CAASX,CAAA,CAAAC,CAAO,CAAAwB,CAAK,CAAAC,CAAI,CAAAK,CAAA,CACzBlB,CAAA,CAAAC,CAAS,EASb,IAAAqB,EAAOz5B,GAAAqc,IAAA,CAAA2I,GAAA,CAAAwU,GAAAE,EAAA15B,GAAAqc,IAAA,CAAAM,GAAA,CAAA6c,GAAAG,EAAA35B,GAAAqc,IAAA,CAAA2I,GAAA,CAAAsU,GAAAM,EAAA55B,GAAAqc,IAAA,CAAAM,GAAA,CAAA2c,GAAAzB,EAAAK,EAAAZ,EAAAqC,EAAA1B,EAAAV,EAAAqC,EAAAb,EAAAjB,EAAAG,EAAAX,EAAAqC,EAAAzB,EAAAX,EAAAqC,EAAAZ,EAAA,MAAC,CACN,IADKb,EAAAkB,EAAA,EAAAnB,EAAAZ,EAAAoC,EAAAzB,EAAAV,EAAAkC,CAAA,EAAArB,EAAAiB,EAAA,EAAApB,EAAAX,EAAAoC,EAAAxB,EAAAX,EAAAkC,CAAA,EAAA5B,EAAAwB,EAAAnB,CAAAA,EAAAZ,EAAAsC,EAAA3B,EAAAV,EAAAoC,CAAA,EAAA7B,EAAAuB,EAAApB,CAAAA,EAAAX,EAAAsC,EAAA1B,EAAAX,EAAAoC,CAAA,EAGA9B,EACNC,EACH,EAqDwBmB,EAAAK,EAAApB,EAAAD,EAAAX,EAAAC,EAAAwB,EAAAC,EAAAK,EAAAlB,EAAAC,GACpBD,EAAQh8B,CAAM,CAACwI,EAAE,CAAC,EAAE,CACpByzB,EAAAj8B,CAAS,CAAAwI,EAAA,IACTs0B,EAAOK,EACTA,GAAAF,EAEF,OAAAj9B,CAEA,EA6HuD09B,CAAA,IAAAzC,EAAA0C,CAAA,IAAAzC,EAAAC,EAAAC,EAAAE,EAAAC,EAAAF,GACnD7yB,EAAQ,EAAGme,EAAG6U,EAAI79B,MAAA,CAAA6K,EAAAme,EAAAne,IAClBgzB,CAAQ,CAAChzB,EAAE,CAAC,EAAE,EAAIyyB,EAClBO,CAAQ,CAAChzB,EAAE,CAAC,EAAE,EAAI0yB,EAClBM,CAAQ,CAAChzB,EAAE,CAAC,EAAE,EAAIyyB,EAClBO,CAAQ,CAAChzB,EAAE,CAAC,EAAE,EAAI0yB,EAClBM,CAAQ,CAAChzB,EAAE,CAAC,EAAE,EAAIyyB,EACpBO,CAAA,CAAAhzB,EAAA,KAAA0yB,EAEF,OAAAM,CAAA,EA6JsB5R,EAAAC,EAAAxpB,IACdupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IACR,KAAK,KACA,QACH,IACAupB,EAAIwN,EACJvN,EAAAwN,CAGJ,CACEsD,GACDI,EAAApjC,IAAA,CAAA0I,GAEHu6B,EAAAv6B,CAAA,IAEF,OAAA06B,CAAA,EAsaAl3B,GAAOqc,IAAI,CAAC0d,uBAAsB,CA1EmB,SAEtC1S,CAAO,CAAK2S,CAAU,CAAE,CAGrC,IAAar1B,EAAbwnB,EAAA,EAAa,CAAA8N,EAAA,IAAcj6B,GAAA8lB,KAAA,CAAAuB,CAAA,IAAAtB,CAAA,CAAAsB,CAAA,IAAArB,CAAA,EAAAkU,EAAA,IAAAl6B,GAAA8lB,KAAA,CAAAuB,CAAA,IAAAtB,CAAA,CAAAsB,CAAA,IAAArB,CAAA,EAAAlD,EAAAuE,EAAAvtB,MAAA,CAAAqgC,EAAA,EAAAC,EAAA,EAAAC,EAAAvX,EAAA,EAOD,IAL1BkX,EAAIA,GAAY,EACdK,IACAF,EAAY9S,CAAM,CAAC,EAAE,CAACtB,CAAC,CAAGmU,EAAGnU,CAAC,CAAG,GAAKsB,CAAM,CAAC,EAAE,CAACtB,CAAC,GAAKmU,EAAGnU,CAAC,CAAG,EAAI,CAAC,CACnEqU,EAAA/S,CAAA,IAAArB,CAAA,CAAAkU,EAAAlU,CAAA,IAAAqB,CAAA,IAAArB,CAAA,GAAAkU,EAAAlU,CAAA,MACSmG,EAACr4B,IAAA,EAAK,IAA+BmmC,EAAGlU,CAAC,CAAGoU,EAAYH,EAAWC,EAAAjU,CAAA,CAAAoU,EAAAJ,EAC7E,EACEr1B,EAAI,EAACA,EAAMme,EAAKne,IAAA,IACd,CAAAs1B,EAAIK,EAAA,CAAAJ,GAAA,CACJ,IAAAK,EAAAN,EAAAO,YAAA,CAAAN,GAGU/N,EAACr4B,IAAA,EAAK,IAAMmmC,EAAGlU,CAAC,CAAEkU,EAAAjU,CAAA,CAAYuU,EAASxU,CAAC,CAACwU,EAAAvU,CAAA,CACpD,CACD,GACIqB,CAAK,CAAK1iB,EAAA,CACZA,EAAA,EAAK0iB,EAAOvtB,MAAM,EACnBogC,CAAAA,EAAA7S,CAAA,CAAA1iB,EAAA,GAEH,CAMF,OALI01B,IACAF,EAAYF,EAAGlU,CAAC,CAAGsB,CAAM,CAAC1iB,EAAI,EAAE,CAACohB,CAAC,CAAG,EAAIkU,EAAGlU,CAAC,GAAKsB,CAAM,CAAC1iB,EAAI,EAAE,CAACohB,CAAC,CAAG,EAAI,EAAE,CAC3EqU,EAAAH,EAAAjU,CAAA,CAAAqB,CAAA,CAAA1iB,EAAA,GAAAqhB,CAAA,GAAAiU,EAAAjU,CAAA,GAAAqB,CAAA,CAAA1iB,EAAA,GAAAqhB,CAAA,OACSmG,EAACr4B,IAAA,EAAK,IAA+BmmC,EAAGlU,CAAC,CAAGoU,EAAYH,EAAWC,EAAAjU,CAAA,CAAAoU,EAAAJ,EAC7E,EACF7N,CACA,EA2CAnsB,GAAOqc,IAAI,CAAC2X,mBAAmB,CAAAA,EAC/Bh0B,GAAOqc,IAAI,CAACoe,gBAAc,CAhsBgC,SACpDC,CAAA,CAAAC,CAAA,CAAApH,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAkH,CAAA,CAAAC,CAAA,EAC4B,GAC9B76B,GAAAshB,mBAAwB,GACxBwZ,EAAWtI,EAAAzP,IAAA,CAAA5hB,WACTnB,GAAOqhB,kBAAO,CAAAyZ,EAAmB,EAClC,OAAA96B,GAAAqhB,kBAAA,CAAAyZ,EAAA,CAMU,IAVTA,EAaJjxB,EAAIC,EAAImoB,EAAA5J,EAAK0S,EAAKC,EAAKC,EAAIC,EAHb5f,EAAE7d,KAAA6d,IAAA,CAAA1d,EAAAH,KAAAG,GAAA,CAAAC,EAAAJ,KAAAI,GAAA,CAAA6e,EAAAjf,KAAAif,GAAA,CAAAye,EAAA,GAAAC,EAAA,CAAE,EAAE,CAChB,EAAG,CAEP,CACAtxB,EAAI,EAAC4wB,EAAI,GAASnH,EAAK,EAAIE,EAC3B5pB,EAAI,GAAI6wB,EAAK,EAAInH,EAAA,EAAAE,EAAA,EAAAmH,EAEjB3I,EAAK,EAAIsB,EAAI,EAAGmH,EAAY,IAC1B,IAAI/1B,EAAI,EAAGA,EAAA,IAAAA,EAAA,CAMS,GALlBA,EAAI,IACJmF,EAAI,EAAC6wB,EAAI,GAASnH,EAAK,EAAIE,EAC3B7pB,EAAI,GAAI8wB,EAAK,EAAInH,EAAA,EAAAE,EAAA,EAAAmH,EAClB5I,EAAA,EAAAuB,EAAA,EAAAmH,GAGCje,MAAAA,EAAI7S,GAAS,CAAO,GAClB6S,MAAAA,EAAA5S,GACD,SAGC,EADFue,CAAAA,EAAI,CAAA4J,EAAInoB,CAAAA,GACEue,EAAK,GACd8S,EAAArnC,IAAA,CAAAu0B,GAEF,SACD,CAEE4S,CAAAA,CADFA,EAAInxB,EAAOA,EAAG,EAAAmoB,EAAApoB,CAAAA,EACZ,KAKA,EADFkxB,CAAAA,EAAI,EAAAjxB,EADJoxB,CAAAA,EAAW5f,EAAA2f,EAAO,CACJ,EAAQ,GAAApxB,CAAAA,CAAA,GACZkxB,EAAK,GACdI,EAAArnC,IAAA,CAAAinC,GAGC,EADFC,CAAAA,EAAI,EAAAlxB,EAAIoxB,CAAM,EAAQ,GAAArxB,CAAAA,CAAA,GACZmxB,EAAK,GACdG,EAAArnC,IAAA,CAAAknC,GAGH,CACY,IAAZ,IAAAjV,EAAOC,EAAKqV,EAAA/E,EAAA6E,EAAArhC,MAAA,CAAAy8B,EAAAD,EACVA,KAGAvQ,EAAAsV,CADAA,EAAI,EADJhT,CAAAA,EAAA8S,CAAS,CAAA7E,EAAA,CACCjO,EACDgT,EAAGA,EAAGX,EAAA,EAAAW,EAAAA,EAAAhT,EAAAkL,EAAA,EAAA8H,EAAAhT,EAAAA,EAAAoL,EAAApL,EAAAA,EAAAA,EAAAuS,EAEfQ,CAAI,GAAM,CAAA9E,EAAA,CAAKvQ,EACfC,EAAAqV,EAASA,EAAGA,EAAGV,EAAA,EAAAU,EAAAA,EAAAhT,EAAAmL,EAAA,EAAA6H,EAAAhT,EAAAA,EAAAqL,EAAArL,EAAAA,EAAAA,EAAAwS,EACjBO,CAAA,IAAA9E,EAAA,CAAAtQ,CAGAoV,CAAAA,CAAM,CAAC,EAAE,CAAC7E,EAAK,CAAGmE,EAClBU,CAAM,CAAC,EAAE,CAAC7E,EAAA,CAAOoE,EACjBS,CAAM,CAAC,EAAE,CAAC7E,EAAO,EAAE,CAAGqE,EACtBQ,CAAI,IAAA7E,EAAS,GAAAsE,EAAA,IACX1+B,EAAA,EAEE4pB,EAAGnoB,EAAI8kB,KAAK,CAAC,IAAI,CAAE0Y,CAAM,CAAC,EAAE,EAC9BpV,EAAApoB,EAAA8kB,KAAA,MAAA0Y,CAAA,IACA,GAEErV,EAAGloB,EAAI6kB,KAAK,CAAC,IAAI,CAAE0Y,CAAM,CAAC,EAAE,EAC9BpV,EAAAnoB,EAAA6kB,KAAA,MAAA0Y,CAAA,IACD,EACD,CAIF,OAHIp7B,GAAOshB,mBAAmB,EAC3BthB,CAAAA,GAAAqhB,kBAAA,CAAAyZ,EAAA,CAAA3+B,CAAA,EAEHA,CAEA,EA+mBA6D,GAAOqc,IAAI,CAACif,cAAa,CA1MsB,SACjCnP,CAAA,CAAAoP,CAAA,CAAAC,CAAA,EACVA,GACDA,CAAAA,EAAAxH,EAAA7H,EAAA,EAEkE,IAAnE,IAAAxnB,EAAO,EACL42B,EAAYC,CAAM,CAAA72B,EAAG,CAAA7K,MAAM,IAAA6K,EAAA62B,EAAA1hC,MAAA,IAC3ByhC,GAAAC,CAAA,CAAA72B,EAAA,CAAA7K,MAAA,CACF6K,IAKA,IAAQyvB,EAARqH,EAAQD,CAAA,CAAA72B,EAAA,CAAA+2B,EAAAH,EAAAE,EAAA3hC,MAAA,CAAAu6B,EAAAoH,EAAApH,OAAA,CAAAqB,EAAAvJ,CAAA,CAAAxnB,EAAA,QACN0vB,GAAK,IACH,IAAO,MAAK,CAAWtO,EAAG0V,EAAQ1V,CAAC,CAAEC,EAAAyV,EAAOzV,CAAA,CAAEf,MAAA,CAChD,CACA,KAAK,QACH,IAMF,MADEmP,CADAA,EAAK,IAAKp0B,GAAQ8lB,KAAK,CAAC2V,EAAQ1V,CAAA,CAAA0V,EAAQzV,CAAA,EAAA2V,IAAS,CAAE,IAAA37B,GAAQ8lB,KAAQ,CAAA2V,EAASnG,KAAA,CAAAmG,EAAAlG,KAAA,EAAAmG,EAAA,EAC5EzW,KAAO,CAAAxnB,KAAA8d,KAAA,CAAAkgB,EAAAlG,KAAA,CAAAkG,EAAAzV,CAAA,CAAAyV,EAAAnG,KAAA,CAAAmG,EAAA1V,CAAA,EACJqO,CAAA,KACH,IAMF,MADEA,CADAA,EAAK,IAAKp0B,GAAQ8lB,KAAK,CAAC2V,EAAQ1V,CAAA,CAAE0V,EAAGzV,CAAA,EAAS2V,IAAE,KAAO37B,GAAM8lB,KAAA,CAAA4P,CAAS,IAAAA,CAAA,KAAAgG,EAAA,EACtEzW,KAAO,CAAAxnB,KAAA8d,KAAA,CAAAma,CAAA,IAAA+F,EAAAzV,CAAA,CAAA0P,CAAA,IAAA+F,EAAA1V,CAAA,EACJqO,CAAA,KACH,IACG,IACH,IADF,OAAKwH,SAzJmBH,CAAW,CAAAF,CAAQ,EAIE,IAJgB,IAE/D56B,EAAAk7B,EAA2DC,EAFMjI,EAAG,EAAAE,EAAS,EAAAH,EAAA6H,EAAA7H,QAAA,CAAAE,EAAA,CAAE/N,EAAG0V,EAAQ1V,CAAC,CACvFC,EAAGyV,EAASzV,CAAA,EAChB+V,EAAA,IAAA7H,EAAAuH,EAAAvH,WAA2D,CAGzDH,EAAIwH,GAASQ,EAAA,MACbp7B,EAAAizB,EAAWC,GACXiI,EAAUjI,EAGRgI,CAFFA,EAAAvI,EAAAQ,EAAA/N,CAAA,CAAA+N,EAAA9N,CAAA,CAAArlB,EAAAolB,CAAA,CAAAplB,EAAAqlB,CAAA,GAEE+N,EAAAwH,GAEA1H,GAAAkI,EACFA,GACK,IAEHjI,EAAQnzB,EACRkzB,GAAAkI,EACDhI,GAAA8H,GAIL,OADEl7B,EAAAskB,KAAO,CAAAiP,EAAA4H,GACTn7B,CAEA,EAiIS86B,EAAAF,EAGT,CAEA,EAqKFv7B,GAAAqc,IAAA,CAAA2f,aAAA,CAnCsD,SAClC7P,CAAA,CAAA3D,CAAA,CAAAyT,CAAA,EAMsB,OALpCA,GAEEzT,CAAAA,EAACxoB,GAAAqc,IAAA,CAAA0Q,yBAAA,CAAAvE,EAAA,CAAG,EAAG,EAAG,EAAG,EAAe,CAACyT,EAAWlW,CAAC,CAAC,CAAAkW,EAAAjW,CAAA,CAE7C,GAECmG,EAAItjB,GAAA,UAAaqzB,CAAY,CAAK,CACkB,IAClD,IADGC,EAAWD,EAAI13B,KAAY,IAAMmhB,EAAM,CAAK,EAC/ChhB,EAAO,EAAGA,EAAAu3B,EAAcpiC,MAAA,GAAA6K,GAAA,EACxBghB,EAAMI,CAAC,CAAGmW,CAAW,CAACv3B,EAAA,CACtBghB,EAAAK,CAAA,CAAQkW,CAAY,CAAAv3B,EAAA,GACpBghB,EAAA3lB,GAAaqc,IAAG,CAAAE,cAAO,CAAAoJ,EAAA6C,GACvB2T,CAAU,CAACx3B,EAAA,CAAIghB,EAAKI,CAAA,CACtBoW,CAAA,CAAAx3B,EAAA,GAAAghB,EAAAK,CAAA,CAEF,OAAAmW,CACF,EAEA,CAgBD,IAAW,UAEN,CAEJ,IAAA33B,EAAAzG,MAAA8Y,SAAA,CAAArS,KAAA,CAuD4C,SACrCqN,EAAAyQ,CAAS,CAAA8Z,CAAY,CAAKC,CAAG,KAChC,GAAA/Z,IAAAA,EAAAxoB,MAAA,EAKF,IAAI6K,EAAA2d,EAAAxoB,MAAY,GAAAqC,EAAAigC,EAAA9Z,CAAA,CAAA3d,EAAA,CAAAy3B,EAAA,CAAA9Z,CAAA,CAAA3d,EAAA,IACdy3B,EAAY,KACVz3B,KACE03B,EAAS/Z,CAAM,CAAA3d,EAAG,CAAAy3B,EAAW,CAAAjgC,IAC9BA,CAAAA,EAAAmmB,CAAA,CAAA3d,EAAA,CAAAy3B,EAAA,OAIS,KACVz3B,KACE03B,EAAS/Z,CAAM,CAAA3d,EAAE,CAAAxI,IAClBA,CAAAA,EAAAmmB,CAAA,CAAA3d,EAAA,CAGL,CACF,OAAAxI,EAjBE,CAsBkB6D,GAClBqc,IAAM,CAAAiG,KAAA,EACNC,KAxC0B,SAClBD,CAAM,CAAAjoB,CAAM,EACR,IAAZ,IAAAs8B,EAAOrU,EAAKxoB,MAAA,CACV68B,KACFrU,CAAA,CAAAqU,EAAA,CAAAt8B,EAEF,OAAAioB,CAEA,EAiCEga,OA9E6B,SAClBha,CAAM,CAAIia,CAAC,EAC4B,IAChD,IADGn7B,EAAIoD,EAAOue,IAAM,CAAA5hB,UAAY,GAAEhF,EAAS,EAAK,CAChDwI,EAAO,EAAEme,EAAQR,EAAMxoB,MAAG,CAAK6K,EAAIme,EAAAne,IACrCxI,CAAA,CAAAwI,EAAA,CAAAvD,EAAAtH,MAAA,CAAAwoB,CAAA,CAAA3d,EAAA,CAAA43B,EAAA,CAAA7Z,KAAA,CAAAJ,CAAA,CAAA3d,EAAA,CAAAvD,GAAAkhB,CAAA,CAAA3d,EAAA,CAAA43B,EAAA,CAAAxZ,IAAA,CAAAT,CAAA,CAAA3d,EAAA,EAEF,OAAAxI,CAEA,EAuEEyB,IAnD8B,SACvB0kB,CAAK,CAAA8Z,CAAO,EAAqC,OACtDvqB,EAAOyQ,EAAA8Z,EAAS,SAAAI,CAAA,CAAAC,CAAA,EAClB,OAAAD,EAAAC,CACF,EAEA,EA8CA5+B,IAjEgC,SACvBykB,CAAK,CAAA8Z,CAAO,EAAqC,OACtDvqB,EAAOyQ,EAAA8Z,EAAU,SAAAI,CAAA,CAAAC,CAAA,EACnB,OAAAD,GAAAC,CACF,EAEA,CA6DF,CACC,IAAW,UACV,CAa2C,SACzCxhB,EAAAuR,CAAA,CAAA9H,CAAA,CAAAb,CAAA,EAGU,GACRA,GAAuD,GACrD,CAAA7jB,GAAAigB,YAAA,EAAAyE,aAAuCgY,QAEzClQ,EACS9H,OACP,GAAAA,aAAgB3mB,MAAA,CAChByuB,EAAa,EAAG,CAAmC,IACjD,IAAA7nB,EAAA,EAAWme,EAAM4B,EAAO5qB,MAAK,CAAA6K,EAAOme,EAAIne,IAC1C6nB,CAAA,CAAA7nB,EAAA,CAAAsW,EAAA,GAAAyJ,CAAA,CAAA/f,EAAA,CAAAkf,EAE6C,MAC7C,GAAKa,GAAI,iBAAYA,EAAQ,IAC3B,IAAIJ,KAAAI,EACFJ,WAAAA,GAAAA,UAAAA,EAGFkI,CACS,CAAAlI,EAAO,KAAc,CAC5BI,EAAYiY,cAAY,CAAArY,IACzBkI,CAAAA,CAAA,CAAAlI,EAAA,CAAArJ,EAAA,GAAAyJ,CAAA,CAAAJ,EAAA,CAAAT,EAAA,OAMJ2I,EAAA9H,CACH,MAE+B,IAC3B,IAAAJ,KAAYI,EACd8H,CAAA,CAAAlI,EAAA,CAAAI,CAAA,CAAAJ,EAAA,CAGJ,OAAAkI,CAEA,CAgBUxsB,GAAAqc,IAAA,CAAApiB,MAAA,EACRghB,OAAOA,EACT1T,MAR6B,SACpBtN,CAAS,CAAG4pB,CAAA,EACrB,OAAA5I,EAAA,GAAAhhB,EAAA4pB,EAEA,CAKA,EACF7jB,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAqc,IAAA,CAAArc,GAAA2iB,UAAA,CACC,IAuGsB3iB,GACnBqc,IAAA,CAAUsN,MAAA,EACVC,SAjGwB,SACVD,CAAQ,EAAsC,OAC1DA,EAAO/f,OAAA,WAAsB,SAAAjP,CAAW,CAAKiiC,CAAE,EACjD,OAAAA,EAAAA,EAAA7yB,WAAA,OAGF,EA4FEoR,WAnF2C,SAC7BwO,CAAU,CAAAkT,CACrB,EACL,OAAAlT,EAAAE,MAAA,IAAA9f,WAAA,GAAA8yB,CAAAA,EAAAlT,EAAAnlB,KAAA,IAAAmlB,EAAAnlB,KAAA,IAAA4qB,WAAA,GAEA,EA+EE0N,UAzEyB,SACXnT,CAAQ,EAKxB,OAAAA,EAAA/f,OAAA,eAAAA,OAAA,gBAAAA,OAAA,gBAAAA,OAAA,cAAAA,OAAA,aAEA,EAkEAmzB,cA5DmC,SACjBC,CAAc,EAC9B,IAAYC,EAAPt4B,EAAI,EAAQu4B,EAAI,GAAwB,IAC3Cv4B,EAAI,EAAOA,EAAAq4B,EAAaljC,MAAA,CAAA6K,IACb,KAATs4B,CAAAA,EAAAE,SASWC,CAAA,CAAAz4B,CAAA,CAAW,CAE1B,IAAI04B,EAAMD,EAAAE,UAAO,CAAA34B,GAAA,GACf6xB,MAAA6G,GACD,QACD,CAAoC,GAClCA,EAAO,OAAUA,EAAC,MACnB,OAAAD,EAAAvT,MAAA,CAAAllB,EAED,CAEsC,GACpC,OAAQ04B,GAAWA,GAAQ,UACzBD,EAAAtjC,MAAM,EAAA6K,EAAA,EACP,sDAED,IAAI44B,EAAAH,EAASE,UAAQ,CAAA34B,EAAO,GAAQ,GAClC,MAAM44B,GAAAA,EAAA,MACP,sDAEF,OAAAH,EAAAvT,MAAA,CAAAllB,GAAAy4B,EAAAvT,MAAA,CAAAllB,EAAA,EACD,IAEEA,IAAAA,EACD,sDAGD,IAAA64B,EAAAJ,EAAAE,UAAA,CAAA34B,EAAA,GAEoC,GAClC,MAAM64B,GAAAA,EAAA,MACP,sDAIH,QAGA,EA/CeR,EAAAr4B,EAAA,GAGbu4B,EAAAppC,IAAA,CAAAmpC,GAEF,OAAAC,CAEA,CAkDF,EACY,UAEN,CAEgC,IAC9B14B,EAASzG,MAAK8Y,SAAA,CAAArS,KAAA,CAAAi5B,EAAA,aAAAC,EAAA,eAAE,IAAA/8B,IAAA,CAAeg9B,SAAA,GACP,GACpBh9B,aAAAA,EACD,QACH,CAEF,MAEA,EAC6C,IAClCi9B,EAAoB,SAAAC,CAAA,CAAAnZ,CAAA,CAAAoZ,CAAA,MAE3B,IAAIxZ,KAAYI,EAIdJ,KAAMuZ,EAAUhnB,SAAS,EAAG,mBAAUgnB,EAAAhnB,SAAU,CAAAyN,EAAA,GAAAI,CAAA,CAAAJ,EAAA,KAAAjC,OAAA,iBAAAwb,EAC9ChnB,SAAO,CAAAyN,EAAW,UAAAA,CAAA,SAEhB,UAAI,CACJ,IAAIyZ,EAAa,KAAAC,WAAa,CAAAD,UAAA,CAC9B,IAAI,CAAAC,WAAA,CAAAD,UAAqB,CAAAD,EACzB,IAAIG,EAAavZ,CAAA,CAAAJ,EAAa,CAAA5B,KAAA,MAAAvhB,WAEC,GAA/B,IAAI,CAAA68B,WAAA,CAAaD,UAAA,CAAAA,EACfzZ,eAAAA,EACD,OAAA2Z,CACH,CAEJ,EAAA3Z,GAGCuZ,EAAAhnB,SAAA,CAAAyN,EAAA,CAAAI,CAAA,CAAAJ,EAAA,CAGCoZ,IACEhZ,EAAMiZ,QAAS,GAAC/mB,OAAWC,SAAO,CAAA8mB,QAAQ,EAC3CE,CAAAA,EAAAhnB,SAAA,CAAA8mB,QAAA,CAAAjZ,EAAAiZ,QAAA,EAECjZ,EAAMwZ,OAAA,GAAUtnB,OAAUC,SAAO,CAAAqnB,OAAO,EACzCL,CAAAA,EAAAhnB,SAAA,CAAAqnB,OAAA,CAAAxZ,EAAAwZ,OAAA,EAKX,EAEA,SAASC,GAAU,EAAY,SACzBC,EAAAC,CACA,EAGiC,IADrC,IAAAC,EAAA,KAAAC,EAAA,KAEEA,EAAIP,WAAA,CAAAD,UAAyB,GAC7B,IAAIS,EAAiBD,EAAKP,WAAA,CAAAD,UAAkB,CAAAlnB,SAAA,CAAAwnB,EAAA,IAC1CE,CAAA,CAAAF,EAAe,GAAAG,EAAA,CACfF,EAAME,EACP,MACD,EAEFD,EAAAP,WAAA,CAAAD,UAAA,CAAAlnB,SAAA,QAEmB,EAOrB1V,UAAArH,MAAA,GAAAwkC,EAAA5b,KAAA,MAAAle,EAAAue,IAAA,CAAA5hB,UAAA,IAAAm9B,EAAAvb,IAAA,OALGrB,QAAAC,GAAA,uBAAA0c,EAAA,6CAED,CA2CJr+B,GAAAqc,IAAA,CAAAG,WAAA,CA/ByB,UAEjB,CAEJ,IAAIshB,EAAO,KAAArR,EAAkBjoB,EAAAue,IAAY,CAAA5hB,UAAA,GAGxB,SACV08B,GAAA,CACP,KAAAY,UAAA,CAAA/b,KAAA,MAAAvhB,UAEA,CAN2B,YAAzB,OAAAsrB,CAAS,GAAW,EACrBqR,CAAAA,EAAArR,EAAAiS,KAAA,IAMDb,EAAME,UAAU,CAAGD,EAEnBD,EAAIc,UAAQ,IACVb,IACAK,EAAMtnB,SAAY,CAAAinB,EAAIjnB,SAAA,CACtBgnB,EAAAhnB,SAAO,CAAW,IAAIsnB,EACvBL,EAAAa,UAAA,CAAA7qC,IAAA,CAAA+pC,IAC4D,IAC3D,IAAAl5B,EAAA,EAAW7K,EAAO2yB,EAAa3yB,MAAE,CAAA6K,EAAA7K,EAAA6K,IACnCi5B,EAAAC,EAAApR,CAAA,CAAA9nB,EAAA,CAAAm5B,GAOF,OALID,EAAMhnB,SAAU,CAAA4nB,UAAU,EAC3BZ,CAAAA,EAAAhnB,SAAA,CAAA4nB,UAAA,CAAAhB,CAAA,EAEDI,EAAMhnB,SAAS,CAACmnB,WAAS,CAAGH,EAC5BA,EAAAhnB,SAAO,CAAAunB,SAAA,CAAAA,EACTP,CAEA,CAED,IAGoBliB,EAAA,EAAA3b,GAAAod,QAAA,CAAAsN,aAAA,QAAAkU,WAAA,CAAAhjB,EAAA,CAAc,aAAa,YAAW,WACzD,CAQyE5b,GACvEqc,IAAA,CAAAwiB,WAAmB,UAAAllC,CAAiB,CAAAsoB,CAAW,CAAAC,CAAS,CAAAxoB,CAAA,EAC1DC,GAAAA,EAAAsC,gBAAA,CAAAgmB,EAAAC,EAAAvG,CAAAA,GAAAjiB,EAEA,EAQ4EsG,GAC1Eqc,IAAA,CAAAyiB,cAAmB,UAAAnlC,CAAoB,CAAAsoB,CAAW,CAAAC,CAAS,CAAAxoB,CAAA,EAC7DC,GAAAA,EAAAolC,mBAAA,CAAA9c,EAAAC,EAAAvG,CAAAA,GAAAjiB,EAEA,EAQyCsG,GACvCqc,IAAI,CAAA2iB,UAAU,CAAM,SAChB7kC,CAAA,CAAS,CAEb,IAVI8kC,EAUJtlC,EAAOQ,EAAAC,MAAA,CAAA8kC,EAAAl/B,GAAAqc,IAAA,CAAA8iB,gBAAA,CAAAxlC,GAAAylC,EAVwB,CAA3BH,EAAA9kC,EAAaklC,cAAc,GACtBJ,CAAY,IACpBA,CAAA,IAQM9kC,CAPP,CAOO,MACF,CACH4rB,EAAGqZ,EAAKE,OAAO,CAAGJ,EAAOz3B,IAAG,CAC9Bue,EAAAoZ,EAAAG,OAAA,CAAAL,EAAA13B,GAAA,CAGF,EAA2CxH,GACzCqc,IAAO,CAAAmjB,YAAY,UAAQrlC,CAAU,EACvC,OAAAyhB,EAAAyG,OAAA,CAAAloB,EAAAc,IAAA,MAAAd,UAAAA,EAAAslC,WAAA,EA0C6C3jB,EAAA,gBAAAD,CAAPA,EAAO7b,GAAAod,QAAA,CAAAsN,aAAA,SAAA/tB,KAAA,CAAA6B,OAAA,CAAAud,EAAA,iBAAAF,EAAAlf,KAAA,CAAAgM,MAAA,CAAAqT,EAAA,wCAAAC,EAAA,SAAAtiB,CAAA,EAAS,OAAAA,CAEtD,EACEmiB,EAEUG,EAAgB,SAAAtiB,CAAA,CAAAU,CAAA,EAE1B,OADEV,EAAOgD,KAAA,CAAA6B,OAAA,CAAAnE,EACTV,CACF,EAEEoiB,GAEWE,CAAAA,EAAa,SAAAtiB,CAAA,CAAAU,CAAA,EACtB,IAAI5E,EAAAkE,EAAQgD,KAAA,CAWd,OAVIhD,EAAO+lC,YAAG,GAAA/lC,EAAA+lC,YAAA,CAAAC,SAAA,EACXlqC,CAAAA,EAAAmqC,IAAA,IAEC5jB,EAAQ6jB,IAAA,CAAApqC,EAASkT,MAAA,GACjBtO,EAAGA,GAAY,MAAO,GAAQ,iBAAWA,IAAAA,EAAA,IAC3C5E,EACKkT,MAAA,CAAAlT,EAAAkT,MAAA,CAAAiB,OAAA,CAAAoS,EAAA3hB,IAEJ5E,EAAAkT,MAAA,oBAAAtO,IAAAA,EAAA,IAEHV,CACD,GAIHqG,GAAAqc,IAAA,CAAAyjB,QAAA,CA5DqC,SAC7BnmC,CAAe,CAAAN,CAAQ,CAAK,CAChC,IAAI0mC,EAAepmC,EAAAgD,KAAA,IACjB,CAAAojC,EACD,OAAApmC,CACD,CAAgC,GAC9B,iBAAAN,EAID,OAHCM,EAAOgD,KAAA,CAAOqjC,OAAO,EAAC,IAAA3mC,EAGvBA,EAAAgpB,OAAA,eAAApG,EAAAtiB,EAAAN,EAAAsB,KAAA,+BAAAhB,CAAA,CAC4B,IAC3B,IAAI2qB,KAAAjrB,EAAwB,GAC1BirB,YAAAA,EACFrI,EACKtiB,EAAAN,CAAA,CAAAirB,EAAA,MACH,CAGA,IAAA2b,EAAyB3b,UAAAA,GAAoBA,aAAAA,EAAgB,SAAAyb,EAAAG,UAAA,yBAAA5b,CAAA,CAC9Dyb,EAAAI,WAAA,CAAAF,EAAA5mC,CAAA,CAAAirB,EAAA,CACH,QAEF3qB,CAEA,EAoCU,UAEN,CAEJ,IAgNEgD,EAAAyjC,EA5BEC,EAzKAC,EAXJC,EAAAxiC,MAAA8Y,SAAA,CAAArS,KAAA,CAkBMg8B,EAAO,SAAYC,CAAW,EAChC,OAAAF,EAAAxd,IAAA,CAAA0d,EAAA,EAEJ,EAAI,GACF,CAEFH,EAAcE,EAAAxgC,GAAAod,QAAA,CAAAsjB,UAAA,aAAA3iC,KAEd,OAAKkb,EAAA,EAiBqC,SACpC0nB,EAAYC,CAAS,CAAAtnC,CAAa,CAAC,CACvC,IAAKunC,EAAI7gC,GAAQod,QAAA,CAAAsN,aAAY,CAAAkW,GAAA,IAC3B,IAAI5d,KAAA1pB,EACF0pB,UAAAA,EACF6d,EACK/lC,SAAI,CAAAxB,CAAgB,CAAA0pB,EAAA,CACpBA,QAAAA,EACL6d,EACKxlC,OAAA,CAAA/B,CAAA,CAAA0pB,EAAA,CAEJ6d,EAAAC,YAAA,CAAA9d,EAAA1pB,CAAA,CAAA0pB,EAAA,EAGL,OAAA6d,CAEA,CAqCmC,SAE7B1B,EAEAxlC,CAAA,EASoD,IARrB,IAC7B8N,EAAA,EAAAD,EAAY,EAAAu5B,EAAA/gC,GAAAod,QAAA,CAAA4jB,eAAA,CAAAC,EAAAjhC,GAAAod,QAAA,CAAA6jB,IAAA,GAAGC,WAAW,EAC5BC,UAAA,CAEJ,EAMExnC,GAAAA,CAAAA,EAAAgU,UAAA,EAAAhU,EAAAynC,IAAA,IAIEznC,CADFA,EAAIA,EAAYgU,UAAO,EAAQhU,EAAEynC,IAAA,IACnBphC,GAAAod,QAAc,EAC1B3V,EAAMw5B,EAAKC,UAAS,EAAKH,EAAWG,UAAS,EAAI,EACnD15B,EACKy5B,EAAAE,SAAA,EAAAJ,EAAAI,SAAA,MAEH15B,GAAO9N,EAAQunC,UAAS,EAAI,EAC7B15B,GAAA7N,EAAAwnC,SAAA,KAGCxnC,IAAAA,EAAM0nC,QAAA,EAAA1nC,UAAAA,EAAAgD,KAAA,CAAAguB,QAAA,IAIH,MAAE,CAAYljB,KAAKA,EAAID,IAAAA,CAChC,CAEA,CAxGE84B,GAA8BE,CAAAA,EACxB,SAAUC,CAAM,EACR,IAAZ,IAAAa,EAAY,MAAAb,EAAA3mC,MAAA,EAAA6K,EAAA87B,EAAA3mC,MAAA,CACV6K,KACF28B,CAAA,CAAA38B,EAAA,CAAA87B,CAAA,CAAA97B,EAAA,CAEF,OAAA28B,CACD,GAmJ2CjB,EAA1CrgC,GAAAod,QAAA,CAAAmkB,WAA2B,EAAAvhC,GAASod,QAAM,CAAAmkB,WAAA,CAAAC,gBAAA,CAC5B,SAAO7nC,CAAS,CAAA8nC,CAAA,EAC5B,IAAA9kC,EAAOqD,GAAQod,QAAW,CAAAmkB,WAAY,CAAAC,gBAAA,CAAA7nC,EAAA,MACxC,OAAAgD,EAAAA,CAAA,CAAA8kC,EAAA,CAAA5kC,KAAAA,CAAA,EAIc,SAAQlD,CAAM,CAAK8nC,CAAA,EAC/B,IAAIpnC,EAACV,EAASgD,KAAQ,CAAA8kC,EAAA,CAIxB,MAHI,CAAApnC,GAAQV,EAAQ+lC,YAAa,EAC9BrlC,CAAAA,EAAAV,EAAA+lC,YAAA,CAAA+B,EAAA,EAEHpnC,CACD,EAcC+lC,EAAA,eAAAzjC,EAAAqD,GAAAod,QAAA,CAAA4jB,eAAA,CAAArkC,KAAA,iCAAAA,EAAA,qCAAAA,EAAA,uCAAAA,EAAA,qBAuCAqD,GAAOqc,IAAI,CAACqlB,uBAAqB,CAjCS,SACrB/nC,CAAa,CAAK,CAUvC,OATmC,SAA/BA,EAAQgoC,aAAgB,EACzBhoC,CAAAA,EAAAgoC,aAAA,CAAA3hC,GAAAqc,IAAA,CAAAmN,aAAA,EAEC4W,EACFzmC,EACSgD,KAAA,CAAOyjC,EAAQ,QACC,UAAvB,OAAQzmC,EAAYioC,YAAG,EACxBjoC,CAAAA,EAAAioC,YAAA,OAEHjoC,CAEA,EAqBFqG,GAAAqc,IAAA,CAAAwlB,qBAAA,CAf0C,SACnBloC,CAAa,EAUlC,OATgC,SAA5BA,EAAQgoC,aAAoB,EAC7BhoC,CAAAA,EAAAgoC,aAAA,OAECvB,EACFzmC,EACSgD,KAAA,CAAOyjC,EAAQ,IACC,UAAvB,OAAQzmC,EAAYioC,YAAG,EACxBjoC,CAAAA,EAAAioC,YAAA,KAEHjoC,CAEA,EAuCFqG,GAAOqc,IAAK,CAAAylB,iBAAU,CAfiB,SACjCrjB,CAAqB,CAAGpkB,CAAI,EAEhCokB,EAAIsjB,qBAAqB,CAAGtjB,EAAAsjB,qBAAA,EAAAtjB,EAAAujB,2BAAA,EAAAvjB,EAAAwjB,wBAAA,EAAAxjB,EAAAyjB,uBAAA,EAAAzjB,EAAA0jB,sBAAA,CAC9B1jB,EAAAsjB,qBAAA,CAAA1nC,CAEA,EAUA2F,GAAOqc,IAAI,CAAC+lB,OAAO,CAxRE,SACLlnC,CAAA,EAChB,uBAAAA,EAAA8E,GAAAod,QAAA,CAAAilB,cAAA,CAAAnnC,GAAAA,CAAA,EAuRA8E,GAAOqc,IAAI,CAACmkB,OAAA,CAAQA,EACpBxgC,GAAOqc,IAAI,CAACimB,QAAA,CA/N0B,SACpB3oC,CAAM,CAAAmB,CAAQ,EAC5BnB,GAAQ,UAASA,EAAKmB,SAAQ,IAAS,EAAGunB,OAAQ,KAAIvnB,EAAA,MACvDnB,CAAAA,EAAAmB,SAAA,GAAAnB,EAAAmB,SAAA,SAAAA,CAAA,CAGH,EA0NAkF,GAAOqc,IAAI,CAACskB,WAAW,CAAGA,EAC1B3gC,GAAOqc,IAAI,CAACkmB,WAAA,CAnNuC,SACtC5oC,CAAY,CAAA6oC,CAAU,CAAAlpC,CAAA,EAQnC,MAPc,UAAV,OAAAkpC,GACDA,CAAAA,EAAA7B,EAAA6B,EAAAlpC,EAAA,EAECK,EAAQgU,UAAU,EACnBhU,EAAAgU,UAAA,CAAA80B,YAAA,CAAAD,EAAA7oC,GAED6oC,EAAO5X,WAAA,CAAAjxB,GACT6oC,CAEA,EAyMAxiC,GAAOqc,IAAI,CAAC8iB,gBAAgB,CAAGA,EAC/Bn/B,GAAOqc,IAAI,CAACqmB,gBAAgB,CA1JO,SAEvB/oC,CAAW,EACX,IAAEgpC,EAGWC,EAHLC,EAAAlpC,GAAAA,EAAAmpC,aAAA,CAAAC,EAAA,CAAGt7B,KAAK,EACtBD,IAAA,CAAS,EAAA5N,EAAQ,CAAG6N,KAAK,EACzBD,IAAA,CACmB,EACjBw7B,EAAiB,CACjBC,gBAAiB,OACjBC,eAAiB,MACjBC,YAAiB,OACnBC,WAAA,KAEJ,EAAU,GACR,CAAAP,EACD,OAAAjpC,CAED,CAAmC,IACjC,IAAA6nC,KAAOuB,EACTppC,CAAA,CAAAopC,CAAA,CAAAvB,EAAA,GAAAnsB,SAAA+qB,EAAA1mC,EAAA8nC,GAAA,OASO,OANPkB,EAAKE,EAAO7B,eAAQ,CACiB,SAA7BrnC,EAAQ0pC,qBAAqB,EACpCN,CAAAA,EAAAppC,EAAA0pC,qBAAA,IAIDT,EAAOzD,EAAAxlC,GACL,CACA8N,KAAKs7B,EAAIt7B,IAAG,CAAGm7B,EAAcn7B,IAAO,CAAAk7B,CAAAA,EAAQW,UAAa,KAAM1pC,EAAU6N,IAAA,CAC3ED,IAAAu7B,EAAAv7B,GAAA,CAAAo7B,EAAAp7B,GAAA,CAAAm7B,CAAAA,EAAAY,SAAA,KAAA3pC,EAAA4N,GAAA,CAGF,EAyHAxH,GAAOqc,IAAI,CAACmnB,aAAA,CA3CoB,SACZ7pC,CAAA,EAClB,IAAA8pC,EAAOzjC,GAAKge,mBAAsB,CAAArkB,GACpC,OAAA8pC,EAAAC,OAAA,EAAAD,EAAAE,MAAA,EA0CF3jC,GAAAqc,IAAA,CAAAunB,gBAAA,CAxCqC,SACrBjqC,CAAc,KACxBqG,GAAAigB,YAAA,EAGF,IAAIwjB,EAAMzjC,GAAAge,mBAAA,CAAArkB,GACR8pC,IACAA,EAAKE,MAAA,CAAO,IAAG,CACfF,EAAAC,OAAA,MAEAD,EAAKI,WAAW,CAAG,IAAI,CACvBJ,EAAKK,WAAU,CAAG,IAAI,CACvBL,EAAAM,UAAA,OARD,CAqCH,IAAW,UAEV,CAMA,SAAAC,GAAA,EA6CFhkC,GAAAqc,IAAA,CAAA4nB,OAAA,CAlCiC,SACjB7jC,CAAA,CAAA1G,CAAY,EAExBA,GAAIA,CAAAA,EAAiB,IAKrB,IAxBmB0G,EAAKqC,EAwBxB85B,EAAY7iC,EACR6iC,MAAA,CAAA7iC,EAAkB6iC,MAAG,CAAAxyB,WAAW,SAAAm6B,EAAAxqC,EAAAwqC,UAAA,eAAAC,EAAA,IAAAnkC,GAAA9L,MAAA,CAAAkwC,cAAA,CAAAnD,EAAAvnC,EAAAunC,IAAA,EAAAvnC,EAAA2qC,UAAA,CAsBtC,OArBYF,EAAAG,kBAAkB,YACb,IAAXH,EAAAI,UAAW,GACXL,EAAIC,GACLA,EAAAG,kBAAA,CAAAN,EAGH,EACa,QAAXzH,IACA0E,EAAI,IAAO,CACT,iBAAMvnC,EAAA2qC,UAAmB,IAnCVjkC,EAoChBA,EApCqBqC,EAoCrB/I,EAAA2qC,UAAA,CAAAjkC,EAnCLA,EAAA,MAAAy/B,IAAA,CAAAz/B,GAAA,SAAAqC,GAwCE0hC,EAAIK,IAAA,CAAAjI,EAAWn8B,EAAA,IACbm8B,CAAAA,SAAAA,GAAqBA,QAAAA,CAAA,GACtB4H,EAAAM,gBAAA,qDAGDN,EAAAO,IAAO,CAAAzD,GACTkD,CAEA,CAEF,IAMAnkC,GAAA2hB,GAAA,CAAAD,QAAAC,GAAA,CAKC3hB,GAAA2kC,IAAY,CAAAjjB,QAAAijB,IAAA,WAEP,CAGJ,IAAA1pB,EAAAjb,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA1T,EAAAvH,GAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CA0CAq9B,EAA0B,GAgFV,SACdC,GAAY,CACd,QAEA,CAAmC,SACjCC,EAAiBzc,CAAG,CAACve,CAAA,CAAImoB,CAAA,CAAA39B,CAAK,EAChC,OAAA29B,EAAAx0B,KAAAunB,GAAA,CAAAqD,EAAA/zB,EAAAmJ,CAAAA,KAAAsnB,EAAA,KAAAkN,EAAAnoB,CAEA,CAxF8C9J,GAE5Cqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA2pB,EAAA,CAIuBG,UACjB,UAAa,CACjB,IAAArxB,EAAW,IAAQ,CAAA4P,MAAU,IAI/B,OAJ0C5P,EACtCmU,OAAU,UAAMmd,CAAA,EAClBA,EAAAC,MAAA,EACA,GACFvxB,CAEA,EAKkCwxB,eAC3B,SAAQ9sC,CAAA,KACX,CAAAA,EACD,SACgD,IAC/C+sC,EAAO,IAAO,CAAAx8B,MAAA,CAAU,SAAMq8B,CAAK,EACrC,uBAAAA,EAAA5qC,MAAA,EAAA4qC,EAAA5qC,MAAA,CAAAhC,MAAA,GAAAA,CACA,GAIF,OAJyC+sC,EACrCtd,OAAU,UAAMmd,CAAA,EAClBA,EAAAC,MAAA,EACA,GACFE,CAEA,EAKkCC,eAC5B,SAAiBhrC,CAAA,EACrB,IAAA+qC,EAAU,IAAQ,CAAAE,sBAAqB,CAAAjrC,GAIzC,OAJyC+qC,EACrCtd,OAAU,UAAMmd,CAAA,EAClBA,EAAAC,MAAA,EACA,GACFE,CAEA,EAK0CG,mBAC5B,SAAaC,CAAA,EAC3B,YAAAljB,OAAA,MAAAmjB,aAAA,CAAAD,GAEA,EAKqCC,cACxB,SAAMD,CAAU,EAAW,OACpC,IAAO,CAAA1zB,IAAA,UAAUmzB,CAAW,EAC9B,OAAAA,EAAAC,MAAA,GAAAM,CACF,EAEA,EAK0CF,uBAC3B,SAAAjrC,CAAA,WAIX,IAAO,CAAAuO,MAAA,UAAgBq8B,CAAK,EAC9B,OAAAA,EAAA5qC,MAAA,GAAAA,CACF,GAJG,GAOL,GAqG2C,IACjBqrC,EAAoBzlC,GAAC9L,MAAW,CAAAwxC,qBAAiB,EAAA1lC,GAAA9L,MAAA,CAAAyxC,2BAAA,EAAA3lC,GAAA9L,MAAA,CAAA0xC,wBAAA,EAAA5lC,GAAA9L,MAAA,CAAA2xC,sBAAA,EAAA7lC,GAAA9L,MAAA,CAAA4xC,uBAAA,WAAAriB,CAAA,EACnD,OAAAzjB,GAAA9L,MAAA,CAAAyjB,UAAA,CAAA8L,EAAA,OAExB,EAEAsiB,EAAA/lC,GAAA9L,MAAA,CAAA8xC,oBAAA,EAAAhmC,GAAA9L,MAAA,CAAAwjB,YAAA,CAO4B,SACnBuuB,GAAkB,CAC3B,OAAAR,EAAA/iB,KAAA,CAAA1iB,GAAA9L,MAAA,CAAAiN,UAEA,CAKAnB,GAAOqc,IAAI,CAAC6pB,OAAA,CAzGc,SACZxsC,CAAU,CAAC,CACvBA,GAAIA,CAAAA,EACA,IACiC,IACnBvE,EAAZ8vC,EAAI,GAAekB,EAA0B,WAC7C,IAAAr0B,EAAO9R,GAASomC,iBAAY,CAAA/jB,OAAA,CAAiBltB,GAC/C,OAAA2c,EAAA,IAAA9R,GAAAomC,iBAAA,CAAA9iB,MAAA,CAAAxR,EAAA,OAqEN,OAnEmC3c,EAC/B8lB,EAAQ1T,EAAY7N,GAAA,CAAAurC,OAClB,UAAa,CAEf,OADEA,EAAO,GACTkB,GACA,EACAE,aAAA,eAAgB3sC,EAAAA,EAAA4sC,UAAA,GAChBC,eAAc,EAChBC,aAAA,CACA,GAEAxmC,GAAAomC,iBAAiB,CAAAtyC,IAAS,CAAAqB,GAAW8wC,EACvB,SAAAQ,CAAkB,EAU+C,IACrCC,EAAlCxU,EAAOuU,GAAc,KAAAE,KAAaC,EAAAltC,EAAAktC,QAAA,MAAAC,EAAA3U,EAAA0U,EAAAxrC,EAAA1B,EAAA0B,QAAA,EAAAypC,EAAAiC,EAAAptC,EAAAotC,KAAA,EAAAjC,EAAAX,EAAAxqC,EAAAwqC,UAAA,EAAAW,EAAAkC,EAAArtC,EAAAqtC,MAAA,EAAAjC,EAAAkC,EAAA,eAAAttC,GAAAA,EAAA4sC,UAAA,CAAAxsC,MAAA,GAAAwsC,EAAA,eAAA5sC,EAAAA,EAAA4sC,UAAA,GAAAW,EAAA,aAAAvtC,EAAAA,EAAAutC,QAAA,KAAAC,EAAAxtC,EAAAwtC,OAAA,EAAAF,CAAAA,EAAAV,EAAAz9B,GAAA,UAAAxO,CAAA,CAAAsK,CAAA,EACpC,OAAKsiC,CAAW,CAAAtiC,EAAA,CAAA2hC,CAAU,CAAA3hC,EAAA,GAE9BsiC,EAAeX,CAAI,CAElB5sC,CAAAA,EAAAytC,OAAc,EAAAztC,EAAUytC,OAAA,YACvBC,EAAOC,CAAY,CAAC,CAGsC,IACpDC,EAAcZ,CAHpBA,EAAIW,GAAc,KAAAV,IAAO,EAGLE,EAAaD,EAAaF,EAAExU,CAAU,CAAEqV,EAAAD,EAAAV,EAAApqC,EAAAwqC,EAAAV,EAAAz9B,GAAA,UAAA2+B,CAAA,CAAA7iC,CAAA,EACxD,OAAKoiC,EAAOO,EAAahB,CAAY,CAAA3hC,EAAA,CAASuiC,CAAA,CAAAviC,EAAS,CACvDiiC,EAEJ,GAAAG,EAAAO,EAAkBhB,EAAAY,EAAAN,EAAA,CAAAa,EAAAT,EAAAvpC,KAAAif,GAAA,EAAAlgB,CAAA,IAAA8pC,CAAA,KAAAY,CAAA,KAAAzpC,KAAAif,GAAA,EAAAlgB,EAAA8pC,CAAA,EAAAY,EAAA,CAIN,GAFZ/xC,EAAQkxC,YAAA,CAAcW,EAAGxqC,EAAAgI,KAAA,GAAAhI,CAAA,CACzBrH,EAAQoxC,cAAY,CAAGkB,EACvBtyC,EAAIqxC,YAAQ,CAAAe,GACVtC,GAEuC,GACvC6B,EAAAtqC,EAAAirC,EAAAF,GAAA,CACApB,IACD,MACD,IACEO,EAAAG,EAAA,CAEA1xC,EAAQkxC,YAAA,CAAcW,EAAGC,EAAAziC,KAAA,GAAAyiC,CAAA,CACzB9xC,EAAQoxC,cAAY,CAAG,EACvBpxC,EAAAqxC,YAAA,CAAqB,EAErBprC,EAAA4rC,EAAWC,EAAaziC,KAAA,GAAAyiC,CAAA,MACxB/C,EAAA+C,EAAA,KACAd,IACF,MACK,CAIJ,EAFC3pC,EAAiBirC,EAAAF,GAClBtB,EAAAmB,GAlBD,EAoBJlV,EAEA,GACF/8B,EAAA8vC,MAAA,EA8BAjlC,GAAOqc,IAAI,CAAC4pB,gBAAe,CAAGA,EAC9BjmC,GAAOqc,IAAA,CAAAqrB,eAAoB,CAPA,UAClB,CACT,OAAA3B,EAAArjB,KAAA,CAAA1iB,GAAA9L,MAAA,CAAAiN,UAEA,EAIFnB,GAAAomC,iBAAA,CAAAxB,CACC,IAAW,UACV,CAGyC,SACnC+C,EAAQC,CACN,CAAAzV,CAAA,CAAU0V,CAAA,CAAM,CAOxB,MADEx9B,QAFgBiL,SAAesyB,CAAA,IAAWC,EAAM1V,CAAAA,CAAE,CAAG,GAAAyV,CAAU,CAAC,EAAE,EAAG,IAAM,IAAEtyB,SAAMsyB,CAAA,IAAAC,EAAA1V,CAAAA,CAAA,IAAAyV,CAAA,aAAAtyB,SAAAsyB,CAAA,IAAAC,EAAA1V,CAAAA,CAAA,IAAAyV,CAAA,SAC1E,KAAAA,CAAAA,GAAAzV,EAAA3e,WAAAo0B,CAAA,IAAAC,EAAA1V,CAAAA,CAAA,IAAAyV,CAAA,UACF,GAGT,CA0DF5nC,GAAAqc,IAAA,CAAAyrB,YAAA,CA7C+D,SAC1CC,CAAW,CAAAC,CAAM,CAAApB,CAAW,CAAAltC,CAAS,CAClD,CAGJ,IAAAuuC,EAAU,IAAWjoC,GAACkoC,KAAA,CAAAH,GAAAI,SAAA,GAAAC,EAAA,IAAApoC,GAAAkoC,KAAA,CAAAF,GAAAG,SAAA,GAAAE,EAAA3uC,EAAAwqC,UAAA,CAAAoE,EAAA5uC,EAAA0B,QAAA,CAEwC,OAA9D1B,EAAOA,GAAY,GACjBsG,GAAUqc,IAAA,CAAA6pB,OAAY,CAAAlmC,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAvhB,EAAA,CACtBktC,SAAAA,GAAY,IACZN,WAAU2B,EACVhB,SAASmB,EACTlB,QAAQkB,EAAsDrB,OACxD,SAAAO,CAAmB,CAAAhB,CAAW,CAC9BY,CAAQ,CAAAN,CAAA,CAAY,CAG1B,OAAAe,EAAArB,EAAAY,EADSxtC,EAAe6uC,WAAY,CAAA7uC,EAAS6uC,WAAA,CAAAjB,EAAAV,GAAA,EAAAnpC,KAAAunB,GAAA,CAAAsiB,EAAAV,EAAAnpC,CAAAA,KAAAsnB,EAAA,KAE7C,EACmDmf,WAC7C,SAAA1nC,CAAoB,CAAAirC,CAAA,CAAAF,CAAA,KACtBc,EAKD,OAAAA,EAAAV,EAAAS,EAAAA,EAAA,GAAAX,EAAAF,EACH,EACiDnsC,SAC3C,SAAAoB,CAAkB,CAAAirC,CAAA,CAAAF,CAAA,KACpBe,EAAkB,CAAU,GAC1BvqC,MAAAC,OAAO,CAAAxB,GAKR,OAAA8rC,EAAAX,EAAAnrC,EAAAA,EAAA,GAAAirC,EAAAF,EACD,CACDe,EAAA9rC,EAAAirC,EAAAF,EACH,EAEJ,GAEA,CAGD,IAAiB,SAEhBvzB,CAAA,EAEA,aAIkB,IAAAhU,EAAAgU,EAAAhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,QAChBA,EAAO8lB,KAAK,EACZ9lB,EAAA2kC,IAAA,oCACD,MAED,UAYQ7e,EAAGC,CAAA,CAAAC,CAAA,EACT,IAAI,CAACD,CAAC,CAAGA,EACX,KAAAC,CAAA,CAAAA,CAEA,CAdAhmB,EAAA8lB,KAAA,CAAAA,EAcuDA,EAErDjP,SAAM,EAEN5b,KAAA,QAEA+iC,YAAAlY,EAKqB/f,IACnB,SAAOyiC,CAAI,EACb,WAAA1iB,EAAA,KAAAC,CAAA,CAAAyiB,EAAAziB,CAAA,MAAAC,CAAA,CAAAwiB,EAAAxiB,CAAA,CAEA,EAM2BG,UACnB,SAAUqiB,CAAA,EAGlB,OAFE,IAAI,CAACziB,CAAC,EAAIyiB,EAAKziB,CAAC,CAChB,KAAAC,CAAA,EAAOwiB,EAAIxiB,CAAA,CACb,MAO6ByiB,UACpB,SAAI7gB,CAAW,CAAC,CACzB,WAAA9B,EAAA,KAAAC,CAAA,CAAA6B,EAAA,KAAA5B,CAAA,CAAA4B,EAEA,EAMmC8gB,gBACvB,SAAA9gB,CAAA,EAGZ,OAFE,IAAI,CAAC7B,CAAC,EAAI6B,EACV,KAAA5B,CAAA,EAAO4B,EACT,MAO0BO,SACxB,SAAWqgB,CAAM,CAAI,CACvB,WAAA1iB,EAAA,KAAAC,CAAA,CAAAyiB,EAAAziB,CAAA,MAAAC,CAAA,CAAAwiB,EAAAxiB,CAAA,CAEA,EAMgC2iB,eACpB,SAAMH,CAAA,EAGlB,OAFE,IAAI,CAACziB,CAAC,EAAIyiB,EAAKziB,CAAC,CAChB,KAAAC,CAAA,EAAOwiB,EAAIxiB,CAAA,CACb,MAOkC4iB,eACrB,SAAUhhB,CAAK,EAC5B,WAAA9B,EAAA,KAAAC,CAAA,CAAA6B,EAAA,KAAA5B,CAAA,CAAA4B,EAEA,EAMwCihB,qBAC5B,SAAAjhB,CAAA,EAGZ,OAFE,IAAI,CAAC7B,CAAC,EAAI6B,EACV,KAAA5B,CAAA,EAAO4B,EACT,MAQ4BjB,SAC1B,SAAWiB,CAAU,CAAE,CACzB,WAAA9B,EAAA,KAAAC,CAAA,CAAA6B,EAAA,KAAA5B,CAAA,CAAA4B,EAEA,EAOkCkhB,eACtB,SAAAlhB,CAAA,EAGZ,OAFE,IAAI,CAAC7B,CAAC,EAAI6B,EACV,KAAA5B,CAAA,EAAO4B,EACT,MAQ0BmhB,OACxB,SAAWnhB,CAAM,CAAI,CACvB,WAAA9B,EAAA,KAAAC,CAAA,CAAA6B,EAAA,KAAA5B,CAAA,CAAA4B,EAEA,EAOgCohB,aACpB,SAAAphB,CAAA,EAGZ,OAFE,IAAI,CAAC7B,CAAC,EAAI6B,EACV,KAAA5B,CAAA,EAAO4B,EACT,MAOoB0S,GAClB,SAAQkO,CAAM,EAChB,YAAAziB,CAAA,GAAAyiB,EAAAziB,CAAA,OAAAC,CAAA,GAAAwiB,EAAAxiB,CAAA,EAOoBijB,GAClB,SAAQT,CAAM,EAChB,YAAAziB,CAAA,CAAAyiB,EAAAziB,CAAA,OAAAC,CAAA,CAAAwiB,EAAAxiB,CAAA,EAOqBkjB,IACnB,SAAQV,CAAM,EAChB,YAAAziB,CAAA,EAAAyiB,EAAAziB,CAAA,OAAAC,CAAA,EAAAwiB,EAAAxiB,CAAA,EAQoBmjB,GAClB,SAAQX,CAAM,EAChB,YAAAziB,CAAA,CAAAyiB,EAAAziB,CAAA,OAAAC,CAAA,CAAAwiB,EAAAxiB,CAAA,EAOqBojB,IACnB,SAAQZ,CAAM,EAChB,YAAAziB,CAAA,EAAAyiB,EAAAziB,CAAA,OAAAC,CAAA,EAAAwiB,EAAAxiB,CAAA,EAQyB2V,KACvB,SAAW6M,CAAA,CAAMngB,CAAA,EAKnB,OAJQ,SAAAA,GACLA,CAAAA,EAAA,IAEDA,EAAA5qB,KAAOI,GAAI,CAAAJ,KAAMG,GAAI,CAAC,EAACyqB,GAAI,GAC7B,IAAAvC,EAAA,KAAAC,CAAA,EAAAyiB,EAAAziB,CAAA,MAAAA,CAAA,EAAAsC,EAAA,KAAArC,CAAA,EAAAwiB,EAAAxiB,CAAA,MAAAA,CAAA,EAAAqC,EAEA,EAK8BghB,aACnB,SAASb,CAAK,CAAC,CAExB,IAAAc,EAAO,IAAK,CAAAvjB,CAAA,CAAKyiB,EAAKziB,CAAA,CAAAwjB,EAAK,IAAK,CAAAvjB,CAAA,CAAAwiB,EAAAxiB,CAAA,CAClC,OAAAvoB,KAAA6d,IAAA,CAAAguB,EAAAA,EAAAC,EAAAA,EAEA,EAK8B/O,aACrB,SAAUgO,CAAA,EACnB,YAAA7M,IAAA,CAAA6M,EAEA,EAKqB5qC,IACnB,SAAO4qC,CAAI,EACb,WAAA1iB,EAAAroB,KAAAG,GAAA,MAAAmoB,CAAA,CAAAyiB,EAAAziB,CAAA,EAAAtoB,KAAAG,GAAA,MAAAooB,CAAA,CAAAwiB,EAAAxiB,CAAA,EAEA,EAKqBnoB,IACnB,SAAO2qC,CAAI,EACb,WAAA1iB,EAAAroB,KAAAI,GAAA,MAAAkoB,CAAA,CAAAyiB,EAAAziB,CAAA,EAAAtoB,KAAAI,GAAA,MAAAmoB,CAAA,CAAAwiB,EAAAxiB,CAAA,EAEA,EAIsB2X,SACpB,UAAgB,CAClB,YAAA5X,CAAA,UAAAC,CAAA,EAQuBwjB,MACrB,SAASzjB,CAAA,CAAAC,CAAA,EAGX,OAFE,IAAI,CAACD,CAAC,CAAGA,EACT,KAAAC,CAAA,CAAOA,EACT,MAOmByjB,KACjB,SAAS1jB,CAAA,EAEX,OADE,KAAAA,CAAA,CAAOA,EACT,MAOmB2jB,KACjB,SAAS1jB,CAAA,EAEX,OADE,KAAAA,CAAA,CAAOA,EACT,MAO8B2jB,aACnB,SAAMnB,CAAA,EAGjB,OAFE,IAAI,CAACziB,CAAC,CAAGyiB,EAAKziB,CAAC,CACf,KAAAC,CAAA,CAAOwiB,EAAIxiB,CAAA,CACb,MAMsB4jB,KACpB,SAAQpB,CAAM,CACV,CACJ,IAAIziB,EAAE,IAAG,CAAAA,CAAK,CAACC,EAAA,KAAAA,CAAA,CACf,IAAI,CAACD,CAAC,CAAGyiB,EAAKziB,CAAC,CACf,KAAKC,CAAC,CAAGwiB,EAAAxiB,CAAA,CACTwiB,EAAKziB,CAAC,CAAGA,EACXyiB,EAAAxiB,CAAA,CAAAA,CAEA,EAImBze,MACjB,UAAW,CACb,WAAAue,EAAA,KAAAC,CAAA,MAAAC,CAAA,CACF,CAEC,CACF,EAAShL,GAAQ,SAEhBhH,CAAA,EAEA,aAGyB,IAAAhU,EAAAgU,EAAAhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,QACvBA,EAAO6pC,YAAK,EACZ7pC,EAAA2kC,IAAA,2CACD,MAED,UAOOkF,EAASC,CAAA,EACd,IAAI,CAACA,MAAM,CAAGA,EAChB,KAAAziB,MAAA,IAIArnB,EAAO6pC,YAAY,CAACA,EAAwD7pC,EAE1E6pC,YAAa,CAAAhzB,SAAA,EAEbmnB,YAAA6L,EAM8BE,YACvB,SAAYpkB,CAAA,EAEnB,OADE,KAAA0B,MAAW,CAAAvzB,IAAA,CAAA6xB,GACb,MAQgCqkB,aACzB,SAAc3iB,CAAM,CAAC,CAE5B,OADE,KAAAA,MAAW,MAAAA,MAAA,CAAA1oB,MAAA,CAAA0oB,GACb,KAGF,EAUkErnB,EAC5D6pC,YACA,CAAMI,iBAAiB,CAAG,SAAQC,CAAA,CAAKC,CAAA,CAAIC,CAAA,CAAGC,CAAG,CAAC,CAGtD,IAAIluC,EAAOmuC,EAAG,CAAAD,EAAAtkB,CAAA,CAAAqkB,EAAArkB,CAAA,EAAAmkB,CAAAA,EAAAlkB,CAAA,CAAAokB,EAAApkB,CAAA,GAAAqkB,EAAArkB,CAAA,CAAAokB,EAAApkB,CAAA,EAAAkkB,CAAAA,EAAAnkB,CAAA,CAAAqkB,EAAArkB,CAAA,EAAAwkB,EAAA,CAAAJ,EAAApkB,CAAA,CAAAmkB,EAAAnkB,CAAA,EAAAmkB,CAAAA,EAAAlkB,CAAA,CAAAokB,EAAApkB,CAAA,GAAAmkB,EAAAnkB,CAAA,CAAAkkB,EAAAlkB,CAAA,EAAAkkB,CAAAA,EAAAnkB,CAAA,CAAAqkB,EAAArkB,CAAA,EAAAykB,EAAA,CAAAH,EAAArkB,CAAA,CAAAokB,EAAApkB,CAAA,EAAAmkB,CAAAA,EAAApkB,CAAA,CAAAmkB,EAAAnkB,CAAA,GAAAskB,EAAAtkB,CAAA,CAAAqkB,EAAArkB,CAAA,EAAAokB,CAAAA,EAAAnkB,CAAA,CAAAkkB,EAAAlkB,CAAA,KACZwkB,IAAAA,EAAS,CAET,IAAIC,EAAKH,EAAME,EAAAE,EAAMH,EAAKC,CACxB,IAAAC,GAASA,GAAI,MAAaC,GAAAA,GAAA,EAE5BvuC,CADEA,EAAO,IAAA0tC,EAAgB,eAAiB,EAErCE,WAAA,KAAA/pC,EAAA8lB,KAAA,CAAAokB,EAAAnkB,CAAA,CAAA0kB,EAAAN,CAAAA,EAAApkB,CAAA,CAAAmkB,EAAAnkB,CAAA,EAAAmkB,EAAAlkB,CAAA,CAAAykB,EAAAN,CAAAA,EAAAnkB,CAAA,CAAAkkB,EAAAlkB,CAAA,IAEJ7pB,EAAA,IAAA0tC,CAEE,MAGH1tC,MACK0tC,EAFHS,IAAAA,GAAaC,IAAAA,EAEV,aAEJ,WAEH,CACF,OAAApuC,CAEA,EAUoE6D,EAC9D6pC,YAAa,CAAAc,oBACb,UAAgBT,CAAA,CAAAC,CAAM,CACtB9iB,CAAI,CAAI,CAEZ,IAA6B+iB,EAAAC,EAAAO,EAAAjmC,EAAxBxI,EAAO,IAAI0tC,EAAa/vC,EAAAutB,EAAAvtB,MAAA,KAC3B6K,EAAA,EAAKA,EAAM7K,EAAG6K,IACdylC,EAAK/iB,CAAM,CAAC1iB,EAAC,CACb0lC,EAAAhjB,CAAQ,EAAA1iB,EAAA,GAAa7K,EAAA,CAErB8wC,EAAOf,EAAaI,iBAAY,CAAAC,EAAAC,EAAAC,EAAAC,GAClCluC,EAAA6tC,YAAA,CAAAY,EAAAvjB,MAAA,EAKF,OAHIlrB,EAAOkrB,MAAM,CAAAvtB,MAAG,IACjBqC,CAAAA,EAAA2tC,MAAA,iBAEH3tC,CAEA,EAO0E6D,EACpE6pC,YAAa,CAAAgB,uBACb,CAAS,SAAQC,CAAQ,CAAAC,CAAA,EAE7B,IAA6BpmC,EAAxBxI,EAAO,IAAI0tC,EAAa/vC,EAAAgxC,EAAAhxC,MAAA,KAC3B6K,EAAI,EAAAA,EAAK7K,EAAU6K,IACf,CAGJ,IAAAulC,EAAOY,CAAA,CAAAnmC,EAAY,CAACwlC,EAAMW,CAAM,EAAAnmC,EAAA,GAAA7K,EAAA,CAAA8wC,EAAAf,EAAAc,oBAAA,CAAAT,EAAAC,EAAAY,GAClC5uC,EAAA6tC,YAAA,CAAAY,EAAAvjB,MAAA,CACA,CAIF,OAHIlrB,EAAOkrB,MAAM,CAAAvtB,MAAG,IACjBqC,CAAAA,EAAA2tC,MAAA,iBAEH3tC,CAEA,EAQ0E6D,EACpE6pC,YAAa,CAAAmB,yBAEb,UAAe3jB,CAAA,CAAO4jB,CAAA,CAAKC,CAAC,EAQhC,IAAAttC,EAAOqtC,EAAArtC,GAAA,CAAAstC,GAAartC,EAAOotC,EAAAptC,GAAM,CAAAqtC,GAAAC,EAAA,IAAAnrC,EAAA8lB,KAAA,CAAAjoB,EAAAkoB,CAAA,CAAAnoB,EAAAooB,CAAA,EAAAolB,EAAA,IAAAprC,EAAA8lB,KAAA,CAAAloB,EAAAmoB,CAAA,CAAAloB,EAAAmoB,CAAA,EAAAqlB,EAAAxB,EAAAc,oBAAA,CAAA/sC,EAAAutC,EAAA9jB,GAAAikB,EAAAzB,EAAAc,oBAAA,CAAAQ,EAAAttC,EAAAwpB,GAAAkkB,EAAA1B,EAAAc,oBAAA,CAAA9sC,EAAAutC,EAAA/jB,GAAAmkB,EAAA3B,EAAAc,oBAAA,CAAAS,EAAAxtC,EAAAypB,GAAAlrB,EAAA,IAAA0tC,EASnC,OARE1tC,EAAO6tC,YAAY,CAACqB,EAAOhkB,MAAM,EACjClrB,EAAO6tC,YAAY,CAACsB,EAAOjkB,MAAM,EACjClrB,EAAO6tC,YAAY,CAACuB,EAAOlkB,MAAM,EAEjClrB,EAAI6tC,YAAc,CAAAwB,EAASnkB,MAAG,EAC5BlrB,EAAOkrB,MAAM,CAAAvtB,MAAG,IACjBqC,CAAAA,EAAA2tC,MAAA,iBAEH3tC,CAEC,CACF,EAAS6e,GAAQ,SAEhBhH,CAAA,EAEA,aAEA,IAAIhU,EAAOgU,EAAOhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,QAChBA,EAAOkoC,KAAK,EACZloC,EAAA2kC,IAAA,qCACD,MAED,UAWOuD,EAAO79B,CAAA,EACVA,EAID,KAAAohC,gBAAA,CAAAphC,GAJgB,IAAC,CAAAqhC,SAAA,EAAG,EAAG,EAAG,EAAE,EAC7B,CAMF,CAmb0B,SACpBC,EAAOhrC,CAAA,CAAAiyB,CAAA,CAAAvK,CAAA,QAMI,CALbA,EAAA,GACDA,CAAAA,GAAA,GAECA,EAAA,GACDA,CAAAA,GAAA,GAECA,EAAA,EAAO,GACR1nB,EAAA,CAAAiyB,EAAAjyB,CAAAA,EAAA,EAAA0nB,EAECA,EAAA,GACDuK,EAECvK,EAAA,EAAO,EACR1nB,EAAA,CAAAiyB,EAAAjyB,CAAAA,EAAA,KAAA0nB,CAAAA,EAAA,EAEH1nB,CAPE,CA3bFX,EAAOkoC,KAAK,CAACA,EAAiDloC,EAE5DkoC,KAAA,CAAArxB,SAAA,EAIkC40B,iBAC5B,SAAAphC,CAAA,EAEJ,IAAIqa,EACFra,KAAQ69B,EAAM0D,YAAa,EAC5BvhC,CAAAA,EAAA69B,EAAA0D,YAAA,CAAAvhC,EAAA,EAGU,gBAATA,GAASqa,CAAAA,EAAC,CAAK,IAAK,IAAK,IAAE,EAC5B,EAGCA,GACDA,CAAAA,EAAAwjB,EAAA2D,aAAA,CAAAxhC,EAAA,EAECqa,GACDA,CAAAA,EAAAwjB,EAAA4D,aAAA,CAAAzhC,EAAA,EAECqa,GACDA,CAAAA,EAAAwjB,EAAA6D,aAAA,CAAA1hC,EAAA,EAECqa,GACSA,CAAAA,EAAC,CAAG,EAAG,EAAG,EAAE,EACtB,EAECA,GACD,KAAAgnB,SAAA,CAAAhnB,EAGH,EAQ6BsnB,UACtB,SAAA33C,CAAA,CAAA43C,CAAA,CAAAniC,CAAA,EAAKzV,GAAK,IAAK43C,GAAK,IAEzBniC,GAAI,IAC4B,IAAC6oB,EAAAnL,EAAAgH,EAAA3wB,EAAAmC,EAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,EAAGxJ,EAAG43C,EACnCniC,EAA4B,EAAClM,EAAAoC,EAAAqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,EAAGvJ,EAAG43C,EAAEniC,EAEzC,EAEiB,GAAjB0kB,EAAI,CAAA3wB,EAAAD,CAAQ,EAAK,EACfC,IAAQD,EACV+0B,EACKnL,EAAA,MACH,CACA,IAAIlzB,EAAIuJ,EAAMD,EACN,OAAR4pB,EAAAgH,EAAQ,GAAAl6B,EAAA,GAAAuJ,EAAAD,CAAA,EAAAtJ,EAAAuJ,CAAAA,EAAAD,CAAA,EACNC,GAAK,KACHxJ,EACAs+B,EAAA,CAAMsZ,EAAAniC,CAAAA,EAAAxV,EAAA23C,CAAAA,EAAAniC,EAAA,KACR,KAAK,MACHmiC,EACAtZ,EAAA,CAAM7oB,EAAAzV,CAAAA,EAAAC,EAAA,EACR,KAAK,MACHwV,EACA6oB,EAAA,CAAMt+B,EAAA43C,CAAAA,EAAA33C,EAAA,CAEV,CACDq+B,GAAA,CAED,OACE,CACAl1B,KAAKC,KAAK,CAACi1B,IAAAA,GACXl1B,KAAKC,KAAK,CAAC8pB,IAAAA,GACZ/pB,KAAAC,KAAA,CAAA8wB,IAAAA,GACH,EAMsB2Z,UACb,UAAK,CACd,YAAA+D,OAAA,EAM4BR,UACrB,SAAUhnB,CAAA,EACjB,KAAAwnB,OAAA,CAAAxnB,CAEA,EAIkBynB,MAChB,UAAa,CACb,IAAAznB,EAAO,IAAS,CAAAyjB,SAAS,GAC3B,aAAAzjB,CAAA,QAAAA,CAAA,QAAAA,CAAA,OAEA,EAImB0nB,OACb,UAAS,CACb,IAAA1nB,EAAO,IAAU,CAAAyjB,SAAS,GAC5B,cAAAzjB,CAAA,QAAAA,CAAA,QAAAA,CAAA,QAAAA,CAAA,OAEA,EAIkB2nB,MAChB,UAAa,CAGb,IAAA3nB,EAAO,IAAS,CAAAyjB,SAAS,GAAMmE,EAAM,IAAG,CAAAN,SAAW,CAAAtnB,CAAK,IAAAA,CAAA,IAAAA,CAAA,KAC1D,aAAA4nB,CAAA,QAAAA,CAAA,SAAAA,CAAA,QAEA,EAImBC,OACb,UAAS,CAGb,IAAA7nB,EAAO,IAAU,CAAAyjB,SAAS,GAAAmE,EAAU,IAAK,CAAAN,SAAU,CAACtnB,CAAK,IAAAA,CAAO,CAAM,EAAC,CAAEA,CAAG,KAC9E,cAAA4nB,CAAA,QAAAA,CAAA,SAAAA,CAAA,SAAA5nB,CAAA,OAEA,EAIkB8nB,MAChB,UAAa,CAEb,IAAuBn4C,EAAA43C,EAAAniC,EAAnB4a,EAAS,IAAC,CAAAyjB,SAAS,GAUzB,OAPE9zC,EAAIA,IAAAA,CAFJA,EAAIqwB,CAAG,GAAM,CAAAiZ,QAAW,MAEpB7jC,MAAO,CAAG,IAASzF,EAAAA,CAAA,CAGvB43C,EAAIA,IAAAA,CAFJA,EAAIvnB,CAAG,GAAM,CAAAiZ,QAAW,MAEpB7jC,MAAO,CAAG,IAASmyC,EAAAA,CAAA,CAGvBniC,EAAAA,IAAAA,CAFAA,EAAI4a,CAAG,GAAM,CAAAiZ,QAAW,MAExB7jC,MAAS,CAAW,IAAOgQ,EAAAA,CAAA,CAC7BzV,EAAA0V,WAAA,GAAAkiC,EAAAliC,WAAA,GAAAD,EAAAC,WAAA,EAEA,EAImB0iC,OACb,UAAS,CAEb,IAA2B5iC,EAK7B,OADEA,EAAAA,IAAAA,CAFAA,EAAIA,CADJA,EAAIpM,KAAEC,KAAQ,CAACgnB,IAAAA,IADA,CAAAyjB,SAAY,EACZ,MACRxK,QAAM,IAAK,EAElB7jC,MAAY,CAAK,IAAO+P,EAAAA,CAAA,CAC1B,KAAA2iC,KAAA,GAAA3iC,EAAAE,WAAA,EAEA,EAIqB2iC,SACnB,UAAY,CACd,YAAAvE,SAAA,OAO0BwE,SACpB,SAASzlB,CAAK,EAClB,IAAAxC,EAAY,KAAAyjB,SAAA,GAGd,OAFEzjB,CAAK,IAAAwC,EACL,KAAAwkB,SAAW,CAAAhnB,GACb,MAMwBkoB,YAClB,UAAc,CAGlB,IAAIloB,EAAC,IAAU,CAAAyjB,SAAA,GAAA0E,EAAAv3B,SAAA,CAAAoP,GAAAA,CAAA,IAAAA,IAAAA,CAAA,IAAAA,IAAAA,CAAA,KAAAxJ,OAAA,QAAA4xB,EAAApoB,CAAA,IAEjB,OAFiB,IAAC,CAAAgnB,SAAA,EAASmB,EAASA,EAASA,EAAaC,EACxD,EACF,MAOkCC,aAC5B,SAAcC,CAAS,EAI3B,IAAAtoB,EAAY,KAAAyjB,SAAa,GAAA0E,EAAA,CAAAnoB,GAAAA,CAAA,IAAAA,IAAAA,CAAA,IAAAA,IAAAA,CAAA,KAAAxJ,OAAA,IAAA4xB,EAAApoB,CAAA,IAK3B,OAHEsoB,EAAUA,GAAQ,IAClBH,EAAK3jB,OAAU2jB,GAAA3jB,OAAA8jB,GAAA,UAAC,CAAAtB,SAAA,EAASmB,EAASA,EAASA,EAAaC,EACxD,EACF,MAOkCG,YAC1B,SAAAC,CAAsB,EAC1BA,aAAuBhF,GACxBgF,CAAAA,EAAA,IAAAhF,EAAAgF,EAAA,EAQD,IAAwBvoC,EAAnBxI,EAAO,EAAI,CAAA+qB,EAAQ,KAAAwlB,QAAA,GAAAhoB,EAAA,KAAAyjB,SAAA,GAAAgF,EAAAD,EAAA/E,SAAA,OACtBxjC,EAAA,EAAOA,EAAI,EAACA,IACdxI,EAAArI,IAAA,CAAA2J,KAAAC,KAAA,CAAAgnB,GAAAA,CAAA,CAAA/f,EAAA,CAAAwoC,GAAAA,CAAA,CAAAxoC,EAAA,GAKF,OAFExI,CAAK,IAAA+qB,EACL,KAAAwkB,SAAW,CAAAvvC,GACb,KAGF,EASA6D,EAAAkoC,KAAA,CAAAkF,MAAA,qIAQAptC,EAAAkoC,KAAA,CAAAmF,MAAA,iGAQArtC,EAAAkoC,KAAA,CAAAoF,KAAA,0DAO4BttC,EAC1BkoC,KAAA,CAAsB0D,YAAA,EACtB2B,UAAA,UACAC,aAAsB,UACtBC,KAAA,UACAC,WAAsB,UACtBC,MAAsB,UACtBC,MAAA,UACAC,OAAsB,UACtBC,MAAA,UACAC,eAAsB,UACtBC,KAAA,UACAC,WAAsB,UACtBC,MAAA,UACAC,UAAsB,UACtBC,UAAA,UACAC,WAAsB,UACtBC,UAAsB,UACtBC,MAAA,UACAC,eAAsB,UACtBC,SAAsB,UACtBC,QAAsB,UACtBC,KAAA,UACAC,SAAsB,UACtBC,SAAA,UACAC,cAAsB,UACtBC,SAAsB,UACtBC,SAAA,UACAC,UAAsB,UACtBC,UAAA,UACAC,YAAA,UACAC,eAAsB,UACtBC,WAAsB,UACtBC,WAAsB,UACtBC,QAAA,UACAC,WAAA,UACAC,aAAA,UACAC,cAAsB,UACtBC,cAAsB,UACtBC,cAAsB,UACtBC,cAAsB,UACtBC,WAAsB,UACtBC,SAAA,UACAC,YAAsB,UACtBC,QAAsB,UACtBC,QAAA,UACAC,WAAsB,UACtBC,UAAA,UACAC,YAAsB,UACtBC,YAAsB,UACtBC,QAAA,UACAC,UAAA,UACAC,WAAsB,UACtBC,KAAA,UACAC,UAAsB,UACtBC,KAAsB,UACtBC,KAAA,UACAC,MAAA,UACAC,YAAsB,UACtBC,SAAsB,UACtBC,QAAA,UACAC,UAAsB,UACtBC,OAAsB,UACtBC,MAAsB,UACtBC,MAAA,UACAC,SAAA,UACAC,cAAsB,UACtBC,UAAA,UACAC,aAAsB,UACtBC,UAAA,UACAC,WAAsB,UACtBC,UAAA,UACAC,qBAAsB,UACtBC,UAAsB,UACtBC,UAAA,UACAC,WAAsB,UACtBC,UAAA,UACAC,YAAA,UACAC,cAAsB,UACtBC,aAAA,UACAC,eAAsB,UACtBC,eAAsB,UACtBC,eAAsB,UACtBC,YAAsB,UACtBC,KAAA,UACAC,UAAsB,UACtBC,MAAA,UACAC,QAAsB,UACtBC,OAAA,UACAC,iBAAsB,UACtBC,WAAA,UACAC,aAAsB,UACtBC,aAAA,UACAC,eAAA,UACAC,gBAAA,UACAC,kBAAsB,UACtBC,gBAAsB,UACtBC,gBAAsB,UACtBC,aAAsB,UACtBC,UAAsB,UACtBC,UAAsB,UACtBC,SAAA,UACAC,YAAsB,UACtBC,KAAA,UACAC,QAAsB,UACtBC,MAAA,UACAC,UAAsB,UACtBC,OAAA,UACAC,UAAsB,UACtBC,OAAA,UACAC,cAAsB,UACtBC,UAAA,UACAC,cAAsB,UACtBC,cAAsB,UACtBC,WAAsB,UACtBC,UAAsB,UACtBC,KAAsB,UACtBC,KAAsB,UACtBC,KAAA,UACAC,WAAsB,UACtBC,OAAA,UACAC,cAAsB,UACtBC,IAAA,UACAC,UAAsB,UACtBC,UAAA,UACAC,YAAsB,UACtBC,OAAA,UACAC,WAAsB,UACtBC,SAAsB,UACtBC,SAAsB,UACtBC,OAAsB,UACtBC,OAAA,UACAC,QAAA,UACAC,UAAsB,UACtBC,UAAsB,UACtBC,UAAsB,UACtBC,KAAA,UACAC,YAAsB,UACtBC,UAAsB,UACtBloB,IAAA,UACAmoB,KAAA,UACAC,QAAsB,UACtBC,OAAA,UACAC,UAAsB,UACtBC,OAAsB,UACtBC,MAAsB,UACtBC,MAAA,UACAC,WAAsB,UACtBC,OAAA,UACFC,YAAA,SAEA,EAgCuCz2C,EACrCkoC,KAAO,CAAAwO,OAAM,UAAiBrsC,CAAA,EAChC,OAAA69B,EAAAyO,UAAA,CAAAzO,EAAA4D,aAAA,CAAAzhC,GAEA,EAM6CrK,EACvCkoC,KAAA,CAAA4D,aAAoB,UAAYzhC,CAAA,EACpC,IAAI1P,EAAO0P,EAAA1P,KAAA,CAAAutC,EAAAkF,MAAA,KACTzyC,EAAI,CAIJ,IAAAtG,EAAOihB,SAAA3a,CAAA,cAAAklC,IAAA,CAAAllC,CAAA,kBAAAklC,IAAA,CAAAllC,CAAA,YAAAsxC,EAAA32B,SAAA3a,CAAA,cAAAklC,IAAA,CAAAllC,CAAA,kBAAAklC,IAAA,CAAAllC,CAAA,YAAAmP,EAAAwL,SAAA3a,CAAA,cAAAklC,IAAA,CAAAllC,CAAA,kBAAAklC,IAAA,CAAAllC,CAAA,kBACL,CACA2a,SAASjhB,EAAG,IACZihB,SAAS22B,EAAG,IACZ32B,SAAQxL,EAAG,IACZnP,CAAA,IAAA6Y,WAAA7Y,CAAA,OACF,CACH,EAYAqF,EAAAkoC,KAAA,CAAA0O,QAAA,CAAA1O,EAAAwO,OAAA,CAMuC12C,EACrCkoC,KAAO,CAAA2O,OAAM,UAAiBxsC,CAAA,EAChC,OAAA69B,EAAAyO,UAAA,CAAAzO,EAAA6D,aAAA,CAAA1hC,GAEA,EAQ6CrK,EACvCkoC,KAAA,CAAA6D,aAAoB,UAAY1hC,CAAA,EACpC,IAAI1P,EAAQ0P,EAAA1P,KAAA,CAAAutC,EAAAmF,MAAA,KACV1yC,GAQF,IAAatG,EAAA43C,EAAAniC,EAAT6oB,EAAA,CAAAnf,WAAS7Y,CAAA,sBAAA6sB,EAAAhU,WAAA7Y,CAAA,WAAAklC,IAAA,CAAAllC,CAAA,YAAA6zB,EAAAhb,WAAA7Y,CAAA,WAAAklC,IAAA,CAAAllC,CAAA,eACX6sB,IAAAA,EACFnzB,EACK43C,EAAAniC,EAAA0kB,MACH,CAGA,IAAIoE,EAAApE,GAAQ,GAAMA,EAAIhH,CAAAA,EAAI,GAAAgH,EAAAhH,EAAAgH,EAAAhH,CAAA,CAAA7mB,EAAA6tB,EAAAA,EAAAoE,EAC1Bv+B,EAAIs3C,EAAQhrC,EAAGiyB,EAAGD,EAAA,KAClBsZ,EAAIN,EAAQhrC,EAAGiyB,EAAGD,GACnB7oB,EAAA6hC,EAAAhrC,EAAAiyB,EAAAD,EAAA,IAED,OACE,CACAl1B,KAAKC,KAAK,CAACrJ,IAAAA,GACXoJ,KAAKC,KAAK,CAACuuC,IAAAA,GACXxuC,KAAKC,KAAG,CAAGoM,IAAAA,GACZnP,CAAA,IAAA6Y,WAAA7Y,CAAA,OACH,CAvBE,EAmCFqF,EAAAkoC,KAAA,CAAA4O,QAAA,CAAA5O,EAAA2O,OAAA,CAOuC72C,EACrCkoC,KAAO,CAAA6O,OAAM,UAAiB1sC,CAAA,EAChC,OAAA69B,EAAAyO,UAAA,CAAAzO,EAAA2D,aAAA,CAAAxhC,GAEA,EAO6CrK,EACvCkoC,KAAM,CAAA2D,aAAY,CAAK,SAAGxhC,CAAA,KAC5BA,EAAI1P,KAAA,CAAQutC,EAAMoF,KAAK,EAAC,CAQxB,IAAAjzC,EAAOgQ,EAAA7F,KAAA,CAAA6F,EAAAgY,OAAA,SAAA20B,EAAA38C,IAAAA,EAAAP,MAAA,EAAAO,IAAAA,EAAAP,MAAA,CAAAm9C,EAAA58C,IAAAA,EAAAP,MAAA,EAAAO,IAAAA,EAAAP,MAAA,CAAAzF,EAAA2iD,EAAA38C,EAAAwvB,MAAA,IAAAxvB,EAAAwvB,MAAA,IAAAxvB,EAAAkwB,SAAA,MAAA0hB,EAAA+K,EAAA38C,EAAAwvB,MAAA,IAAAxvB,EAAAwvB,MAAA,IAAAxvB,EAAAkwB,SAAA,MAAAzgB,EAAAktC,EAAA38C,EAAAwvB,MAAA,IAAAxvB,EAAAwvB,MAAA,IAAAxvB,EAAAkwB,SAAA,MAAA1gB,EAAAotC,EAAAD,EAAA38C,EAAAwvB,MAAA,IAAAxvB,EAAAwvB,MAAA,IAAAxvB,EAAAkwB,SAAA,iBACL,CACAjV,SAASjhB,EAAG,IACZihB,SAAS22B,EAAG,IACZ32B,SAAAxL,EAAY,IACb0J,WAAA,CAAA8B,SAAAzL,EAAA,SAAAqR,OAAA,KACF,CACH,EAS2Clb,EACrCkoC,KAAA,CAAAyO,UAAa,UAAAjyB,CAAA,EACjB,IAAAwyB,EAAO,IAAUhP,EAEnB,OADEgP,EAAOxL,SAAA,CAAAhnB,GACTwyB,CAEC,CACF,EAASl8B,GAAQ,SAEhBhH,CAAA,EAEA,aACe,IAAChU,EAAAgU,EAAAhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,KAAAm3C,EAAA,CAAK,IAAM,KAAK,IAAM,KAAK,IAAM,KAAK,IAAM,KACxD,IAAU,CAAAC,EAAC,CAAM,KAAQ,OAAM,KAC/B,OAEW,CAAAl7B,EACJ,GAAAm7B,EAAA,OAAAC,EAAA,QAAAC,EAAA,SAAAC,EAAA,SAAAC,EAAA,CACLjwC,IAAA+vC,EACAG,OAFK,MAGLjwC,KAAA6vC,EACAK,MAAAN,EACChnB,OAAAmnB,CAC8B,EAAAhyB,EAAqBxlB,EAAIqc,IAAQ,CAAAmJ,gBAAA,CAAAN,EAAAznB,KAAAynB,IAAA,WAAAa,CAAA,EAAG,OAAAA,EAAA,GAAAA,CAAAA,EAAA,KAAAA,CAEzE,EAOmD,SAC7C6xB,EAAcC,CAAkB,CAAGC,CAAA,EAEzC,OAAAr6C,KAAAC,KAAA,CAAAq6C,CADoBF,EAAA5yB,KAAe,CAAOO,EAAA/nB,KAAA8d,KAAA,CAAAu8B,EAAA9xB,CAAA,CAAA8xB,EAAA/xB,CAAA,QAC1C,OAEA,CAAuC,SACjCiyB,EAAS/1B,CAAQ,CAAAvoB,CAAU,EAG/B,IAAAU,EAAAV,EAAoB8uB,SAAG,CAAApuB,MAAA,CAAAhC,EAAAgC,EAAAhC,MAAA,CAAA6/C,EAAAj4C,EAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CAAA7N,EACvBu+C,CAAAA,EAAU79C,MAAO,CAAKA,EACtBhC,GAAOA,EAAKwqB,IAAA,WAAWX,EAAAg2B,GACzB79C,EAAAwoB,IAAA,CAAAX,EAAAvoB,EAEA,CAMsD,SAChDw+C,EAAsBC,CAAQ,CAAAN,CAAc,EAEhD,IAAAz/C,EAAOy/C,EAAQz/C,MAAkB,CACxBggD,EAAkBD,CAAA,CADO//C,EAChCigD,WAAO,CAAkB,CAC7B,OAAAjgD,EAAAkgD,cAAA,GAAAF,GAAA,CAAAhgD,EAAAkgD,cAAA,EAAAF,CAEA,CAKwC,SAC/BG,EAAiB/vB,CAAK,EAC/B,OAAAA,EAAAgwB,OAAA,GAAAhB,GAAAhvB,EAAAiwB,OAAA,GAAAjB,CAEA,CAOmE,SAC7DkB,EAAqBb,CAAY,CAAEc,CAAA,CAAAC,CAAqB,EAC5D,IAAIC,EAAAhB,EAAgB3xC,YAAA,CAAA4yC,EAAAjB,EAAA1xC,YAAA,SAClB0yC,KAAOC,GAGP,CAAAH,GAAOE,CAAAA,EAAAA,KAAIC,CAAA,KAAAF,GAGXC,EAAAA,GAAOF,MAAAA,GAGPG,EAAAA,GAAOH,MAAAA,CAKX,CA2FqD,SACnDI,EAAOZ,CAAA,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,QACF,CACH1d,EAAA6vC,EACA3vB,UAASA,EAAAwwB,QACJ,CACHjzB,EAAGA,EACLC,EAAAA,CACF,CACF,CAEA,CAM4C,SACnCizB,EAAoBC,CAAY,CAAG,CAAE,OAC1C,SAAIf,CAAS,CAAU3vB,CAAQ,CAAAzC,CAAA,CAAAC,CAAA,EAG/B,IAAA5rB,EAAOouB,EAAApuB,MAAoB,CAAAgyB,EAAYhyB,EAAU++C,cAAS,GAAUC,EAAOh/C,EAAAi/C,sBAAA,CAAAjtB,EAAA5D,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,EAAAa,EAAAJ,EAAAf,EAAA3vB,EAAAzC,EAAAC,GAE7E,OADE5rB,EAAOk2B,mBAAA,CAAA8oB,EAAA5wB,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,EACTa,CACF,CAEA,CAKqD,SAC5CC,EAAkBt3B,CAAE,CAASi3B,CAAQ,SAC1C,SAAIf,CAAA,CAAkB3vB,CAAA,CAAAzC,CAAA,CAAcC,CAAA,EACpC,IAAIszB,EAAiBJ,EAAAf,EAAA3vB,EAAAzC,EAAAC,GAIvB,OAHIszB,GACDtB,EAAA/1B,EAAA82B,EAAAZ,EAAA3vB,EAAAzC,EAAAC,IAEHszB,CACF,CAEA,CAU0D,SACpDE,EAAShxB,CAAgB,CACzBgwB,CAAA,CAAUC,CAAO,CAAA1yB,CAAA,CAAAC,CAAA,CAAQ,CAI7B,IAAI5rB,EAAAouB,EAAgBpuB,MAAS,CAAA09C,EAAA19C,EAAA8hB,QAAA,CAAAsM,EAAAixB,MAAA,EAAA7Z,EAAAxlC,EAAAhC,MAAA,CAAAshD,OAAA,GAAAC,EAAAv/C,EAAAu/C,OAAA,CAAA/Z,EAAAga,EAAAx/C,EAAAy/C,YAAA,KAAA75C,EAAA8lB,KAAA,CAAAC,EAAAC,GAAAwyB,EAAAC,GAe/B,OAdImB,EAAW7zB,CAAC,EAAI4zB,GACjBC,CAAAA,EAAA7zB,CAAA,EAAA4zB,CAAA,EAECC,EAAW7zB,CAAC,EAAI,CAAA4zB,GACjBC,CAAAA,EAAA7zB,CAAA,EAAA4zB,CAAA,EAECC,EAAW5zB,CAAC,EAAI2zB,GACjBC,CAAAA,EAAA5zB,CAAA,EAAA2zB,CAAA,EAECC,EAAW5zB,CAAC,EAAI2zB,GACjBC,CAAAA,EAAA5zB,CAAA,EAAA2zB,CAAA,EAEDC,EAAW7zB,CAAC,EAAI+xB,EAAQgC,OAAO,CAC/BF,EAAO5zB,CAAA,EAAA8xB,EAAAiC,OAAA,CACTH,CAEA,CAKkC,SACzBI,EAAiB5/C,CAAA,CAAO,CACjC,OAAAA,EAAAuzB,KAAA,GAAAvzB,EAAAwzB,KAAA,CAM0F,SACpFqsB,EAAyB7/C,CAAG,CAAA8/C,CAAA,CAAAC,CAAA,CAAAC,CAAA,CAAAC,CAAA,KAC9BjgD,IAAAA,CAAI,CAAA8/C,EAAgB,EAEpB,IAAAI,EAAWD,EADPjgD,EAAWmgD,yBAA4B,GAAAH,EAAA,CACbhgD,CAAA,CAAA+/C,EAAA,CAC/B//C,EAAA+K,GAAA,CAAAg1C,EAAAG,EACH,EAMiD,SAC3CE,EAASrC,CAAU,CAAM3vB,CACzB,CAAAzC,CAAA,CAAAC,CAAA,EACA,IAOmBy0B,EAPnBrgD,EAAYouB,EAAOpuB,MAAA,CAGnBsgD,EAAAtgD,EAAAmgD,yBAAA,GAAAngD,EAAsDgzB,KAAA,EAI1DutB,EAAIl9C,KAAgBif,GAAG,CAAAk9B,EAAAA,EAJmCpxB,EAAAA,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,CAAA1yB,EAAAC,GAInCD,CAAA,EAAA20B,EAAA30B,CAAA,CAAA60B,EAAAxgD,EAAA+yB,KAAA,CACrBwtB,EAAA,EAEFF,EACK,GAIHA,EAAAj1B,EAAA/nB,KAAA8d,KAAA,CAAAo/B,EAA4CvgD,EAAA0M,MAAA,CAAA4zC,EAAA10B,CAAA,CAAA5rB,EAAA2M,MAAA,GAG1CyhB,EAAUgwB,OAAC,GAAAnB,GAAA7uB,EAAAiwB,OAAA,GAAAlB,GACZkD,CAAAA,EAAA,CAAAA,CAAA,EAECjyB,EAAUgwB,OAAC,GAAAlB,GAAA9uB,QAAAA,EAAAiwB,OAAA,EACZgC,CAAAA,EAAA,CAAAA,CAAA,EAECT,EAAW5/C,IACZqgD,CAAAA,EAAA,CAAAA,CAAA,GAGH,IAAII,EAAWD,IAAAH,EAAA,GACbI,EAAI,CACJ,IAAAC,EAAoB1gD,EAAAmgD,yBAAA,GAAAv0B,CAAA,CACpB5rB,EAAA+K,GAAA,SAAAs1C,GACDR,EAAA7/C,EAAA,qBAAA0gD,EACD,QACFD,CAEA,CAIiD,SAC3CE,EAAS5C,CAAU,CAAM3vB,CACzB,CAAAzC,CAAA,CAAAC,CAAA,EACA,IAOmBy0B,EAPnBrgD,EAAYouB,EAAOpuB,MAAA,CAGnBsgD,EAAAtgD,EAAAmgD,yBAAA,CAAAngD,EAAA+yB,KAAsD,IAI1DwtB,EAAIl9C,KAAgBif,GAAG,CAAAk9B,EAAAA,EAJmCpxB,EAAAA,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,CAAA1yB,EAAAC,GAInCA,CAAA,EAAA00B,EAAA10B,CAAA,CAAA40B,EAAAxgD,EAAAgzB,KAAA,CACrButB,EAAA,EAEFF,EACK,GAIHA,EAAAj1B,EAAA/nB,KAAA8d,KAAA,CAAAo/B,EAA4CvgD,EAAA2M,MAAA,CAAA2zC,EAAA30B,CAAA,CAAA3rB,EAAA0M,MAAA,GAG1C0hB,EAAUgwB,OAAC,GAAAnB,GAAA7uB,EAAAiwB,OAAA,GAAAlB,GACZkD,CAAAA,EAAA,CAAAA,CAAA,EAECjyB,EAAUgwB,OAAC,GAAAlB,GAAA9uB,QAAAA,EAAAiwB,OAAA,EACZgC,CAAAA,EAAA,CAAAA,CAAA,EAECT,EAAW5/C,IACZqgD,CAAAA,EAAA,CAAAA,CAAA,GAGH,IAAII,EAAWD,IAAAH,EAAA,GACbI,EAAI,CACJ,IAAAC,EAAoB1gD,EAAAmgD,yBAAA,GAAAx0B,CAAA,CACpB3rB,EAAA+K,GAAA,SAAAs1C,GACDR,EAAA7/C,EAAA,qBAAA0gD,EACD,QACFD,CAEA,CAiK0D,SACxDG,EAAU7C,CAAY,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,CAAAtsB,CAAA,EACtBA,EAAIA,GAAS,GAOb,IAAmBmsB,EAAA/e,EAAAC,EAAAk0C,EAAAC,EAAAC,EAAf/gD,EAAAouB,EAAepuB,MAAA,CAAA8L,EAAA9L,EAAA8L,YAAA,CAAAC,EAAA/L,EAAA+L,YAAA,CAAAwyC,EAAAj/C,EAAAi/C,EAAA,CAAAC,EAAAV,EAAAC,EAAA/9C,GAAAghD,EAAA1C,EAAAt+C,EAAAu+C,EAAAC,GAAAyC,EAAA7yB,EAAA6yB,YAAA,IACjBD,EACD,QACD,CAAkB,GAChBC,EACAv0C,EAAS0hB,EAAU1hB,MAAM,CAAGu0C,EAC9Bt0C,EACKyhB,EAAAzhB,MAAA,CAAAs0C,MACH,CAiBE,GAhBFx1B,EAAA2zB,EAAAhxB,EAAAA,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,CAAA1yB,EAAAC,GAMAk1B,EAAQvC,MAAAA,EAAazzB,EAAKW,EAASE,CAAC,EAAI,CAAC,CACzCo1B,EAAKxC,MAAAA,EAAezzB,EAAEW,EAAAG,CAAA,IACpBwC,EAAU0yB,KAAK,EAChB1yB,CAAAA,EAAA0yB,KAAA,CAAAA,CAAA,EAEC1yB,EAAU2yB,KAAK,EAChB3yB,CAAAA,EAAA2yB,KAAA,CAAAA,CAAA,EAKC/gD,EAAOkhD,eAAK,EAAA9yB,CAAAA,EAAA0yB,KAAA,GAAAA,GAAA1yB,EAAA2yB,KAAA,GAAAA,CAAA,EACb,QAED,CAEgC,GADhCF,EAAA7gD,EAAAmgD,yBAAA,GAEE3B,GAAkB,CAAAD,EAAA,CAMlB,IAAApd,EAAS99B,KAASif,GAAA,CAAMmJ,EAAGE,CAAA,EAAAtoB,KAAAif,GAAA,CAAAmJ,EAAAG,CAAA,EAAAu1B,EAAA/yB,EAAA+yB,QAAA,CAAA10C,EAAA00B,EAAA99B,CAAAA,KAAAif,GAAA,CAAAu+B,EAAAl1B,CAAA,CAAAw1B,EAAAz0C,MAAA,CAAA1M,EAAA0M,MAAA,EAAArJ,KAAAif,GAAA,CAAAu+B,EAAAj1B,CAAA,CAAAu1B,EAAAx0C,MAAA,CAAA3M,EAAA2M,MAAA,GAC3BD,EAASy0C,EAASz0C,MAAM,CAAGD,EAC7BE,EACKw0C,EAAAx0C,MAAA,CAAAF,CAAA,MAEHC,EAASrJ,KAAKif,GAAG,CAACmJ,EAASE,CAAC,CAAG3rB,EAAO0M,MAAM,CAAGm0C,EAAIl1B,CAAC,EACrDhf,EAAAtJ,KAAAif,GAAA,CAAAmJ,EAAAG,CAAA,CAAA5rB,EAAA2M,MAAA,CAAAk0C,EAAAj1B,CAAA,CACD,CAEEuyB,EAAU/vB,KACV1hB,GAAU,EACXC,GAAA,GAECyhB,EAAU0yB,KAAA,GAAUA,GAASvC,MAAAA,IAC7BnwB,EAAUgwB,OAAC,CAAAf,CAAA,CAAAjvB,EAAAgwB,OAAA,EACX1xC,GAAU,GACX0hB,EAAA0yB,KAAA,CAAAA,GAEC1yB,EAAU2yB,KAAA,GAAUA,GAASxC,MAAAA,IAC7BnwB,EAAUiwB,OAAC,CAAAhB,CAAA,CAAAjvB,EAAAiwB,OAAA,EACX1xC,GAAU,GACXyhB,EAAA2yB,KAAA,CAAAA,EAEH,KAEIK,EAAKphD,EAAA0M,MAAA,CAAA20C,EAAArhD,EAAA2M,MAAA,CAUX,OATK4xC,GAMDA,MAAAA,GAAcv+C,EAAO+K,GAAG,CAAC,SAAU2B,GACpC6xC,MAAAA,GAAAv+C,EAAA+K,GAAA,UAAA4B,KANC,GAAiB3M,EAAO+K,GAAG,CAAC,SAAU2B,GACxC,GACK1M,EAAA+K,GAAA,UAAA4B,IAMPy0C,IAAAphD,EAAA0M,MAAA,EAAA20C,IAAArhD,EAAA2M,MAAA,CAsHAmV,EAASw/B,uBAAsB,CAnnBoC,SAChDvD,CACb,CAAAL,CAAA,CAAAD,CAAsB,EAE1B,IAAgCe,EAAQV,EAAAC,EAAAN,GAAAc,EAAA,SAMuB,CAL7Db,IAAAA,EAAK/xB,CAAA,EAAA+xB,IAAAA,EAAA9xB,CAAA,CACP2yB,EACK,IACE,IAAAb,EAAA/xB,CAAA,EAAA+xB,IAAAA,EAAA9xB,CAAA,EACN2yB,CAAAA,EAAA,KAECD,EAAOb,EAAAc,EAAAC,IAPI,cAWfzB,CAAA,CADSS,EAAcC,EAAAC,GACvB,UAFE,EAumBF57B,EAASy/B,sBAAA,CA5lByD,SAC/CxD,CAAA,CAAAL,CAAA,CAAAD,CAAA,SACiC,IAChDC,EAAO/xB,CAAA,EAAA8xB,EAAA+D,YAAA,EAGP9D,IAAAA,EAAO9xB,CAAA,EAAA6xB,EAAAgE,YAAA,CAJI,cAQfzE,CAAA,CADSQ,EAAaC,EAAAC,GAAA,EACtB,UALE,EAwlBF57B,EAAS4/B,2BAAuB,CA1kBuC,SACnC3D,CAAA,CAAYL,CAAG,CAAAD,CAAA,UACxC,CAAAA,EAASz/C,MAAA,CAAA2jD,YAAuB,EACxC7/B,EAAAy/B,sBAAA,CAAAxD,EAAAL,EAAAD,GAEH37B,EAAAw/B,uBAAA,CAAAvD,EAAAL,EAAAD,EADE,EAukBF37B,EAAS8/B,oBAAiB,CAAAzC,EAAkB,WAAWN,EA9PG,SAE3Cd,CAAQ,CACjB3vB,CAAA,CAAAzC,CAAa,CAAAC,CAAA,EAEjB,IAAW5rB,EAAciuB,EAAAjuB,MAAA,CAAA6hD,EAAA7hD,EAAAi/C,sBAAA,CAAAj/C,EAAA++C,cAAA,GAAA9wB,EAAAmwB,OAAA,CAAAnwB,EAAAowB,OAAA,KACvBr+C,EAAOgM,YAAK,CACb,QAED,CAKA,IAAI81C,EAAOz+C,KAAS8d,KAAM,CAAA8M,EAAA8zB,EAAA,CAAAF,EAAAj2B,CAAA,CAAAqC,EAAA+zB,EAAA,CAAAH,EAAAl2B,CAAA,EAAAd,EAAAO,EAAA62B,KAAA9gC,KAAA,CAAAyK,EAAAi2B,EAAAj2B,CAAA,CAAAD,EAAAk2B,EAAAl2B,CAAA,EAAAm2B,EAAA7zB,EAAAmF,KAAA,EAAA8uB,EAAA,MACxBliD,EAAImiD,SAAa,IAKjB,IAAIA,EAASniD,EAAQmiD,SAAA,CAAAC,EAAmBpiD,EAAeoiD,aAAA,EAAAD,EAAAE,EAAAh/C,KAAAmf,IAAA,CAAAqI,EAAAs3B,GAAAA,EAAAG,EAAAj/C,KAAAgf,KAAA,CAAAwI,EAAAs3B,GAAAA,CACrD9+C,CAAAA,KAAAif,GAAQ,CAAAuI,EAAAy3B,GAAAF,EACVv3B,EACSy3B,EACPj/C,KAAQif,GAAA,CAAAuI,EAAAw3B,GAAAD,GACTv3B,CAAAA,EAAAw3B,CAAA,CAGH,QAEEx3B,EAAQ,GACTA,CAAAA,EAAA,IAAAA,CAAA,EAGDA,GAAA,IACAq3B,EAAYliD,EAAG6qB,KAAA,GAAAA,EACf7qB,EAAO6qB,KAAA,CAAAA,EACTq3B,CAEA,IAwNApgC,EAASygC,cAAW,CAAApD,EAAkB,UAAWN,EA/GU,SACtCd,CAAW,CAAA3vB,CAAc,CAAAzC,CAAA,CAAAC,CAAA,EAC9C,OAAAg1B,EAAA7C,EAAA3vB,EAAAzC,EAAAC,EAEA,IA4GA9J,EAAS0gC,QAAQ,CAAGrD,EAAkB,UAAWN,EAnGC,SAC7Bd,CAAA,CAAW3vB,CAAA,CAAWzC,CAAA,CAAGC,CAAA,CAAI,QAAEg1B,EAAI7C,EAAA3vB,EAAAzC,EAAAC,EAAA,CAAI2yB,GAAA,GAC5D,EAEA,IAgGAz8B,EAAS2gC,QAAA,CAAAtD,EAAqB,UAAAN,EAvFoB,SAC7Bd,CAAA,CAAW3vB,CAAA,CAAWzC,CAAA,CAAGC,CAAA,CAAI,QAAEg1B,EAAI7C,EAAA3vB,EAAAzC,EAAAC,EAAA,CAAI2yB,GAAA,GAC5D,EAEA,IAoFAz8B,EAAS4gC,kBAAkB,CA3E6B,SACtD3E,CAA8B,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,SACuB,CAC5C,CAAAwC,EAASpuB,MAAA,CAAAhC,MAAa,CAAA2jD,YAAW,EACzC7/B,EAAA6gC,YAAA,CAAA5E,EAAA3vB,EAAAzC,EAAAC,GAEH9J,EAAA2gC,QAAA,CAAA1E,EAAA3vB,EAAAzC,EAAAC,EADE,EAuEF9J,EAAS8gC,kBAAc,CA3DiC,SACtD7E,CAA8B,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,SACuB,CAC5C,CAAAwC,EAASpuB,MAAA,CAAAhC,MAAa,CAAA2jD,YAAW,EACzC7/B,EAAA+gC,YAAA,CAAA9E,EAAA3vB,EAAAzC,EAAAC,GAEH9J,EAAA0gC,QAAA,CAAAzE,EAAA3vB,EAAAzC,EAAAC,EADE,EAuDF9J,EAASghC,WAAA,CAAY3D,EAAG,WAAAN,EA3CyB,SAClCd,CAAU,CAAM3vB,CAAE,CAAAzC,CAAA,CAAaC,CAAA,EAK5C,IAAA5rB,EAAWouB,EAASpuB,MAAS,CAAAw/C,EAAUJ,EAAAhxB,EAAAA,EAAAgwB,OAAA,CAAAhwB,EAAAiwB,OAAA,CAAA1yB,EAAAC,GAAAm3B,EAAA/iD,EAAA+c,WAAA,CAAA/c,CAAAA,EAAAstB,aAAA,CAAAttB,EAAA0M,MAAA,IAAAs2C,EAAA7E,EAAA/vB,GAAA,IAAA60B,EAAAjjD,EAAAiE,KAAA,CAAAi/C,EAAA7/C,KAAAif,GAAA,CAAAk9B,EAAA7zB,CAAA,CAAAq3B,EAAAhjD,EAAA0M,MAAA,EAAAq2C,EAEzC,OADE/iD,EAAO+K,GAAA,SAAa1H,KAAAI,GAAA,CAAAy/C,EAAA,IACtBD,IAAAC,CAEA,IAkCAphC,EAAS6gC,YAAY,CA1W6B,SAChD5E,CAAA,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,CAAgD,CAOhD,IAAyBwyB,EAArBp+C,EAAOouB,EAAYpuB,MAAE,CAAAwgD,EAAAxgD,EAAA+yB,KAAA,CAAAsrB,EAAAjwB,EAAAiwB,OAAA,QACvBr+C,EAAOyhD,YAAK,GAGZjB,IAAAA,EAIApC,EAFE+E,EAD8B/0B,EAAAgvB,EAAAA,EAAAzxB,EAAAC,GAC9BD,CAAA,GAGGsxB,EAGJC,GAICsD,EAAU,GACXpC,CAAAA,EAAAC,QAAAA,EAAApB,EAAAC,CAAA,EAECsD,EAAU,GACXpC,CAAAA,EAAAC,QAAAA,EAAAnB,EAAAD,CAAA,EAGC2C,EAAU5/C,IACXo+C,CAAAA,EAAAA,IAAAnB,EAAAC,EAAAD,CAAA,GAKH7uB,EAAIgwB,OAAA,CAAeA,EAErBgF,EADiC,UAAcvE,EAAAuB,IAC/CrC,EAAA3vB,EAAAzC,EAAAC,GAEA,EAkUA9J,EAAS+gC,YAAW,CAzT8B,SAChD9E,CAAA,CAAA3vB,CAAA,CAAAzC,CAAA,CAAAC,CAAA,CAAgD,CAOhD,IAAyByyB,EAArBr+C,EAAOouB,EAAYpuB,MAAE,CAAAwgD,EAAAxgD,EAAAgzB,KAAA,CAAAorB,EAAAhwB,EAAAgwB,OAAA,QACvBp+C,EAAOwhD,YAAK,GAGZhB,IAAAA,EAIAnC,EAFE8E,EAD8B/0B,EAAAgvB,EAAAA,EAAAzxB,EAAAC,GAC9BA,CAAA,GAraK,MA2aNuxB,GAICqD,EAAU,GACXnC,CAAAA,EAAAD,IAAAnB,EAhbM,MAgbNE,CAAA,EAECqD,EAAU,GACXnC,CAAAA,EAAAD,IAAAnB,EAAAE,EAnbM,KAmbN,EAGCyC,EAAU5/C,IACXq+C,CAAAA,EAAAA,QAAAA,EAAAlB,EAvbM,KAubN,GAKH/uB,EAAIiwB,OAAA,CAAeA,EAErB+E,EADiC,UAAcvE,EAAA8B,IAC/C5C,EAAA3vB,EAAAzC,EAAAC,GAEA,EAiRA9J,EAASuhC,WAAA,CA3BwC,SAClCtF,CAAU,CAAM3vB,CACzB,CAAUzC,CAAA,CAAAC,CAAI,EAIlB,IAAA5rB,EAASouB,EAAWpuB,MAAQ,CAAAsjD,EAAA33B,EAAAyC,EAAAsxB,OAAA,CAAA6D,EAAA33B,EAAAwC,EAAAuxB,OAAA,CAAA6D,EAAA,CAAAxjD,EAAAsK,GAAA,mBAAAtK,EAAAqN,IAAA,GAAAi2C,EAAAG,EAAA,CAAAzjD,EAAAsK,GAAA,mBAAAtK,EAAAoN,GAAA,GAAAm2C,EAM9B,OALEC,GAASxjD,EAAO+K,GAAG,CAAC,OAAOu4C,GAC3BG,GAAIzjD,EAAS+K,GAAA,CAAO,MAAAw4C,GAClBC,CAAAA,GAAAC,CAAU,GACX7F,EAAA,SAAAe,EAAAZ,EAAA3vB,EAAAzC,EAAAC,IAEH43B,GAAAC,CAEA,EAcA3hC,EAAS4hC,qBAAoB,CAvkBoC,SAClC3F,CAAC,CAAAL,CAAa,CAAMD,CAAC,CAAa,CAC/D,IAAIkG,EAAc5F,CAAG,CAAAN,EAAAz/C,MAAA,CAAA2jD,YAAA,aACnBjE,EAAA/xB,CAAA,CAEDg4B,EAAA,iBAECjG,IAAAA,EAAA9xB,CAAA,CAED+3B,EAAA,uBAHD,EAkkBF7hC,EAAS8hC,oBAAY,CApjB2C,SAC7C7F,CAAc,CAAAL,CAAA,CAAAD,CAAA,WACtBzxC,YAAA,CACR,cAEH0xC,EAAAmG,WAAA,EAgjBA/hC,EAAS87B,SAAA,CAAAA,EACT97B,EAAS+8B,mBAAiB,CAAGA,EAC7B/8B,EAASq9B,iBAAgB,CAAAA,EACzBr9B,EAAOs9B,aAAa,CAAGA,EAEtBx5C,EAAiCk+C,aAAc,CAAAhiC,CACjD,EAASlB,GAQRI,EAAApb,CAAAA,EAAAgU,CANAA,EAiGQgH,GA3FRhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAqc,IAAA,CAAAjB,gBAAA,CAwFAc,CAxFAA,EAAAlc,EAAAk+C,aAAA,EAwFSC,mBAAmB,CA7E+C,SACzD1/B,CAAA,CAAAhX,CAAkB,CAAAD,CAAA,CAAA42C,CAAA,CAAAvG,CAAA,EAClCuG,EAAgBA,GAAU,GAQ1B,IAAQz+C,EAAJ0+C,EAAI,KAAAC,KAAA,EAAAF,EAAArnC,UAAA,EAAA8gC,EAAA9gC,UAAA,CAAAwnC,EAAA,KAAAC,KAAA,EAAAJ,EAAArnC,UAAA,EAAA8gC,EAAA9gC,UAAA,CAAAD,EAAA,SAAAsnC,EAAAtnC,kBAAA,CAAAsnC,EAAAtnC,kBAAA,CAAA+gC,EAAA/gC,kBAAA,CAAAua,EAAA,CAAAva,GAAAsnC,CAAAA,EAAAlnC,iBAAA,EAAA2gC,EAAA3gC,iBAAA,EAAAunC,EAAAh3C,EAAAi3C,EAAAl3C,EACRiX,EAAIkgC,IAAA,GACJlgC,EAAImgC,SAAA,CAAWR,EAAGnnC,WAAc,EAAA4gC,EAAqB5gC,WAAa,CAClEwH,EAAAogC,WAAA,CAAAT,EAAAlnC,iBAAA,EAAA2gC,EAAA3gC,iBAAoE,CAElEmnC,EAAOE,GACP5+C,EAAI0+C,EACJ5/B,EAAA5X,KAAQ,GAAM03C,EAAQF,GACxBK,EACSl3C,EAAA62C,EAAeE,GACfA,EAAAF,GACP1+C,EAAI4+C,EACJ9/B,EAAA5X,KAAS,CAAAw3C,EAAOE,EAAQ,GAC1BE,EACKh3C,EAAA82C,EAAAF,GAEJ1+C,EAAA0+C,EAGD5/B,EAAIqgC,SAAS,GACbrgC,EAAIsgC,SAAI,GACRtgC,EAAIugC,GAAA,CAAAP,EAAWC,EAAA/+C,EAAA,MAAAlC,KAAAsnB,EAAA,KACftG,CAAA,CAtBQ3H,EAAA,gBAsBI,GACVua,GACD5S,EAAA4S,MAAA,GAEH5S,EAAAwgC,OAAA,EAEA,EAyCC/iC,EAAiCgjC,mBAAc,CA9B0B,SACxDzgC,CAAA,CAAAhX,CAAkB,CAAAD,CAAA,CAAA42C,CAAA,CAAAvG,CAAA,EAClCuG,EAAgBA,GAAU,GAQ1B,IAAIC,EAAI,KAAAC,KAAA,EAAAF,EAAArnC,UAAA,EAAA8gC,EAAA9gC,UAAA,CAAAwnC,EAAA,KAAAC,KAAA,EAAAJ,EAAArnC,UAAA,EAAA8gC,EAAA9gC,UAAA,CAAAD,EAAA,SAAAsnC,EAAAtnC,kBAAA,CAAAsnC,EAAAtnC,kBAAA,CAAA+gC,EAAA/gC,kBAAA,CAAAua,EAAA,CAAAva,GAAAsnC,CAAAA,EAAAlnC,iBAAA,EAAA2gC,EAAA3gC,iBAAA,EAAAioC,EAAAd,EAAA,EAAAe,EAAAb,EAAA,EACR9/B,EAAIkgC,IAAA,GACJlgC,EAAImgC,SAAA,CAAWR,EAAGnnC,WAAc,EAAA4gC,EAAqB5gC,WAAa,CAClEwH,EAAAogC,WAAA,CAAAT,EAAsBlnC,iBAAA,EAAA2gC,EAAA3gC,iBAAA,CAEtBuH,EAAIqgC,SAAS,CAAC,EACdrgC,EAAIE,SAAO,CAAAlX,EAAAD,GACXiX,EAAAwP,MAAA,CAAA7S,EAAAy8B,EAAA5yB,KAAA,GAIAxG,CAAA,CAAI4f,CAXIvnB,EAAA,iBAWI,SAAAqoC,EAAA,CAAAC,EAAAf,EAAAE,GACVltB,GACD5S,EAAA4gC,UAAA,EAAAF,EAAA,CAAAC,EAAAf,EAAAE,GAEH9/B,EAAAwgC,OAAA,EAEA,EAkBAj/C,CARAA,EAASgU,CAJTA,EAiVDgH,GA7UkBhb,MAAS,EAAAgU,CAAAA,EAAAhU,MAAA,MAQnBs/C,OAAO,CARY,SACV5lD,CAAA,CAAS,KACrB,IAAIiL,KAAGjL,EACT,KAAAiL,EAAA,CAAAjL,CAAA,CAAAiL,EAAA,EAKgE3E,EAEhEs/C,OAAA,CAAAzoC,SAAA,EAUA0oC,QAAA,GAaAC,WAAA,QASAv6B,MAAA,EASAc,EAAA,EASAC,EAAA,EAcA8zB,QAAA,EAQAC,QAAA,EAQAuE,MAAA,KAQAE,MAAA,KAQAiB,WAAA,KAQAC,WAAA,KAQAzB,YAAA,YAQA0B,eAAA,GAUAzG,cAAA,aAUA0G,iBAAA,aAUAC,eAAA,aAOmEC,iBACrD,UAAa,CAC3B,YAAA5G,aAAA,EASsE6G,oBACxD,UAAgB,CAC9B,YAAAH,gBAAA,EASoEI,kBACtD,UAAc,CAC5B,YAAAH,cAAA,EAWoEI,mBACnD,SAAA9H,CAAW,CAAAL,CAAA,EAC5B,OAAAA,EAAAmG,WAAA,EAS+DiC,cACtD,SAAQ/H,CAAU,CAAAL,CAAA,EAC3B,OAAAA,EAAA0H,UAAA,EAQkDW,cAC5C,SAAAtI,CAAmB,CAAAuI,CAAa,EACpC,IAAIC,EAAAxI,EAA2ByI,mBAAiB,QAA6B,GACpE,KAA4B,IAAXD,CAAW,CAAAD,EAAA,CACpCC,CAAA,CAAAD,EAAA,CAEH,KAAAb,OAAA,EAO6DgB,cACtD,SAAUC,CAAA,EACjB,KAAAjB,OAAA,CAAAiB,CAGA,EAAgFC,gBAClE,SAAOxF,CAAK,CAAAyF,CAAc,CAAC,CAIzC,OAHY1gD,EAAIqc,IAAK,CAAGE,cAAY,EAChCwJ,EAAG,IAAI,CAACA,CAAC,CAAGk1B,EAAIl1B,CAAC,CAAG,IAAI,CAAC+zB,OAAO,CAAI9zB,EAAA,KAAAA,CAAA,CAAAi1B,EAAAj1B,CAAA,MAAA+zB,OAAA,EACtC2G,EAGF,EASqFC,iBAC/E,SACAC,CACA,CAAAC,CAAA,CACAC,CAAA,CAAAC,CAAA,CACAC,CAAA,CAAQ,CAEZ,IAAIC,EAASC,EAAmBC,EAAOC,EAAA/C,EAAA2C,EAAA,KAAAvB,UAAA,MAAAnB,KAAA,CAAAC,EAAAyC,EAAA,KAAAtB,UAAA,MAAAlB,KAAA,IACrCH,GAAAE,GAAAF,IAAAE,EAA6B,CAE7B,IAAI8C,EAAmB5jD,KAAS8d,KAAC,CAAAgjC,EAAQF,GACrCiD,EAAW7jD,KAAA6d,IAAA,CAAA+iC,EAAuBA,EAAWE,EAACA,GAAgB,EAC9DgD,EAAAF,EAA6BrhD,EAAAqc,IAAA,CAAAjB,gBAA8B,CAAIwlC,GACnEY,EAAgB/jD,KAAAsnB,EAAA,GAAAs8B,EAAmCrhD,EAAAqc,IAAA,CAAAjB,gBAAA,CAAAwlC,GACnDK,EAAgBK,EAAmBthD,EAAOqc,IAAI,CAAC2I,GAAG,CAACu8B,GACnDL,EAAAI,EAAAthD,EAA0Cqc,IAAA,CAAAM,GAAA,CAAA4kC,GAE1CJ,EAAoBG,EAAmBthD,EAAOqc,IAAI,CAAC2I,GAAG,CAACw8B,GACzDJ,EACKE,EAAAthD,EAAAqc,IAAA,CAAAM,GAAA,CAAA6kC,EAAA,KACH,CAKAF,EAAAvqC,YAFAsnC,CAAAA,GAAAE,EAAAF,EACAwC,CAAA,EAGA,IAAAU,EAAAvhD,EAAgBqc,IAAA,CAAAjB,gBAAoB,IAAAwlC,GACpCK,EAAgBE,EAAoBG,EAAmBthD,EAAOqc,IAAI,CAAC2I,GAAG,CAACu8B,GACxEL,EAAAE,EAAAE,EAAAthD,EAAAqc,IAAA,CAAAM,GAAA,CAAA4kC,EAED,OACE,CAAIE,GACF,CACA17B,EAAG+6B,EAAUM,EACfp7B,EAAA+6B,EAAAI,CACA,EAAIO,GACF,CACA37B,EAAG+6B,EAAUG,EACfj7B,EAAA+6B,EAAAG,CACA,EAAIS,GACF,CACA57B,EAAG+6B,EAAUG,EACfj7B,EAAA+6B,EAAAG,CACA,EAAIU,GACF,CACA77B,EAAG+6B,EAAUM,EACfp7B,EAAA+6B,EAAAI,CACF,CACF,CAEA,EAY8DU,OAC5D,SAAApjC,CAAA,CAAgBhX,CAAA,CAAAD,CAAA,CAAA42C,CAAkB,CAAAvG,CAAA,EAG9B,WADFuG,CAAAA,CADFA,EAAQA,GAAyB,IAC1BpnC,WAAA,EAAA6gC,EAAA7gC,WAAA,EAEHhX,EAAMk+C,aAAA,CAAAC,mBAAA,CAAAp7B,IAAA,MAAAtE,EAAAhX,EAAAD,EAAA42C,EAAAvG,GAGV73C,EAAAk+C,aAAA,CAAAgB,mBAAA,CAAAn8B,IAAA,MAAAtE,EAAAhX,EAAAD,EAAA42C,EAAAvG,EAEJ,CAEC,EACU,UAEX,CAEA,aAAyB,GACvB73C,GAAO8hD,YAAK,EACZ9hD,GAAA2kC,IAAA,4CACD,MAED,KAYA1pB,EAAAjb,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAynB,EAAA1iC,GAAAqc,IAAA,CAAAqmB,gBAAA,CAAAvd,EAAAnlB,GAAAqc,IAAA,CAAA8I,eAAA,CAAA5I,GAAAvc,GAAAqc,IAAA,CAAAnB,OAAA,CAAAlb,GAAAqc,IAAA,CAAAE,cAAA,EAAAwM,EAAA/oB,GAAAqc,IAAA,CAAA0M,eAAA,CAAAya,EAAAxjC,GAAAqc,IAAA,CAAAmnB,aAAA,CAAA9W,EAAA1sB,GAAAqc,IAAA,CAAAqQ,mBAAA,CAAAq1B,EAAA,8CAagH/hD,CAAAA,GAE9G8hD,YAAA,CAAA9hD,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAkkB,aAAA,EAMkCua,WAChC,SAAYoC,CAAA,CAAAnnC,CAAY,EACxBA,GAAKA,CAAAA,EAAA,IACL,IAAI,CAACsoD,mBAAA,CAAqB,IAAG,CAAAC,cAAK,CAAAz5C,IAAiB,KAAK,EACxD,IAAI,CAAC05C,qBAAgB,MAAAj6C,gBAAA,CAAAO,IAAA,OACvB,KAAA25C,WAAA,CAAAthB,EAAAnnC,EAEA,EAQAnD,gBAAA,GAUA6rD,gBAAA,KASAC,aAAA,GAUAC,aAAA,KAQAC,qBAAA,GAOAC,SAAA,GAYAnsC,kBAAA,GAOAosC,qBAAA,GAOAC,oBAAA,GAOA3gB,sBAAA,GAWA4gB,kBAAA3iD,GAAAwgB,OAAA,CAAA7hB,MAAA,GAQAikD,cAAA,GAQAC,WAAA,GAOAC,oBAAA,GAWAC,UAAA,GAYAC,cAAA,GASAhyB,SAAAn0B,KAAAA,EAKmCslD,YACxB,SAAKthB,CAAA,CAAAnnC,CAAA,EACd,IAAIupD,EAAC,IAAQ,CAAAf,qBAAK,CAClB,IAAI,CAAC1kD,QAAA,IACL,IAAI,CAAC0lD,kBAAa,CAAAriB,GAClB,KAAAsiB,YAAA,CAAAzpD,GAEE,IAAK,CAAA0pD,WAAA,EACN,KAAAC,kBAAA,GAGC3pD,EAAK4oD,YAAe,EACrB,KAAAgB,eAAA,CAAA5pD,EAAA4oD,YAAA,CAAAW,GAECvpD,EAAK0oD,eAAkB,EACxB,KAAAmB,kBAAA,CAAA7pD,EAAA0oD,eAAA,CAAAa,GAECvpD,EAAKnD,eAAkB,EACxB,KAAAC,kBAAA,CAAAkD,EAAAnD,eAAA,CAAA0sD,GAECvpD,EAAK2oD,YAAe,EACrB,KAAAmB,eAAA,CAAA9pD,EAAA2oD,YAAA,CAAAY,GAEH,KAAAhrC,UAAA,EAEA,EAG6BwrC,iBACZ,WACjB,OAAAzjD,GAAAghB,gBAAA,SAAA8hC,mBAAA,EAM6BY,iBACf,WACd,YAAAD,gBAAA,GAAAhmD,KAAAI,GAAA,GAAAmC,GAAAghB,gBAAA,KAK+BqiC,mBACnB,UAAgB,CAAI,GAC5B,KAAAI,gBAAA,IAGF,IAAIE,EAAC3jD,GAAmBghB,gBAAa,CACrC,IAAI,CAAA4iC,mBAAoB,CAAAD,EAAA,KAAAE,aAAA,MAAAC,gBAAA,EACtB,IAAI,CAACC,aAAA,EACN,KAAAH,mBAAA,CAAAD,EAAA,KAAAI,aAAA,MAAAC,UAAA,EAJD,EAOyDJ,oBAClD,SAAaD,CAAc,CAAAvrD,CAAQ,CAAAjD,CAAA,EAC1CiD,EAAO0oC,YAAY,CAAC,YAAU,CAAIziC,KAAC,CAAMslD,GACzCvrD,EAAA0oC,YAAc,UAAY,KAAA5iC,MAAA,CAAAylD,GAC5BxuD,EAAA0R,KAAA,CAAA88C,EAAAA,EAGA,EAMwB1rC,WACjB,UAAU,CAEjB,OADE,KAAAgsC,OAAW,CAAAvhB,EAAA,KAAAmhB,aAAA,EACb,MAiDqDP,gBACvC,SAAA58C,CAAA,CAAA+c,CAAoB,CAAA/pB,CAAA,CAAgB,CAClD,YAAAwqD,mBAAA,gBAAAx9C,EAAA+c,EAAA/pB,EAEA,EAgDwD6pD,mBAC1C,SAAA78C,CAAA,CAAoB+c,CAAA,CAAA/pB,CAAA,CAAmB,CACrD,YAAAwqD,mBAAA,mBAAAx9C,EAAA+c,EAAA/pB,EAEA,EAqBkD8pD,gBACpC,SAAAnB,CAAoB,CAAA5+B,CAAA,EAClC,YAAA0gC,mBAAA,gBAAA9B,EAAA5+B,EAEA,EAqBwDjtB,mBAC1C,SAAAD,CAAoB,CAAAktB,CAAA,CAAmB,CACrD,YAAA0gC,mBAAA,mBAAA5tD,EAAAktB,EAEA,EAQkEygC,oBACrD,SAAU5/B,CAAU,CAAA5d,CAAA,CAAA+c,CAAA,CAAA/pB,CAAA,EAkBjC,MAjBI,iBAAOgN,EAA6C1G,GAClDqc,IAAI,CAAAtD,SAAK,CAAArS,EAAA,SAAAwjB,CAAA,CAAAk6B,CAAA,KACPl6B,EAAI,CACJ,IAAIm6B,EAAU,IAAGrkD,GAAAK,KAAA,CAAA6pB,EAAAxwB,EACjB,MAAA4qB,EAAS,CAAM+/B,EAChBA,EAAAjsD,MAAA,MACD,GACOqrB,EAAWyG,EAAQk6B,EAC9B,EACK,KAAA1qD,GAAAA,EAAA6G,WAAA,GAEH7G,GAAKgN,EAAY49C,UAAA,CAAA5qD,GACjB,KAAA4qB,EAAU,CAAM5d,EAChBA,GAAAA,CAAAA,EAAYtO,MAAS,KAAO,EAC7BqrB,GAAAA,EAAA/c,EAAA,KAGH,MASyDy9C,oBACtC,SAAA7/B,CAAA,CAAAja,CAAA,CAAAoZ,CAAA,EAInB,OAHE,IAAI,CAACa,EAAA,CAAAja,EACL,IAAI,CAAC+Z,aAAa,CAAA/Z,EAAOia,GACzB,KAAAG,YAAW,CAAApa,EAAAia,EAAAb,GACb,MAKiC8gC,qBACjB,WACd,IAAI5qD,EAAU+yB,IAAA,GACZ,CAAA/yB,IAGAA,EAAQgD,KAAK,EACdhD,CAAAA,EAAAgD,KAAA,KAEC,KAAwB,IAAlBhD,EAAA+kB,UAAkB,EALzB,MAAAqjC,CAAA,CAQH,OAAApoD,CAEA,EAIiCwpD,aAC3B,SAAAzpD,CAAqB,EACzB,IAAImqD,EAAa,KAAAA,aAAA,CAEjB,IAAI,CAAC1/B,WAAQ,CAAIzqB,GACjB,IAAI,CAAC2E,KAAA,CAAM,IAAG,CAAIA,KAAC,EAAMiX,SAAIuuC,EAASxlD,KAAc,MAAQ,EAE5D,IAAI,CAACH,MAAK,MAAAA,MAAc,EAAKoX,SAAEuuC,EAAA3lD,MAAA,QAC7B,KAAA2lD,aAAA,CAAAlnD,KAAA,GAIFknD,EAAcxlD,KAAA,CAAM,IAAG,CAAIA,KAAC,CAE5BwlD,EAAc3lD,MAAM,KAAK,CAAGA,MAAK,CACjC2lD,EAAclnD,KAAK,CAAC0B,KAAA,CAAM,IAAG,CAAIA,KAAC,CAAM,KAExCwlD,EAAKlnD,KAAA,CAAAuB,MAAoB,CAAI,IAAC,CAAAA,MAAA,MAChC,KAAAykD,iBAAA,MAAAA,iBAAA,CAAAn+C,KAAA,GAEA,EAKwC0+C,mBACtC,SAAAr2B,CAAA,EAEEA,GAAKA,EAAgBnO,UAAA,CACvB,IACK,CAAAmlC,aAAA,CAAAh3B,EAEJ,KAAAg3B,aAAA,CAAA7jD,GAAAqc,IAAA,CAAA+lB,OAAA,CAAAvV,IAAA,KAAA03B,oBAAA,GAGDvkD,GAAKqc,IAAA,CAAAimB,QAAA,KAAoB,CAAAuhB,aAAQ,iBACjC,IAAI,CAAAW,oBAAkB,MAAAX,aAAA,CAAAlnD,KAAA,CACpB,IAAI,CAACymD,WAAA,EACN,KAAAqB,iBAAA,MAAAZ,aAAA,EAGH,KAAAC,gBAAA,MAAAD,aAAA,CAAAnlC,UAAA,MAEA,EAIsBgmC,SACpB,UAAiB,CACnB,YAAArmD,KAAA,EAMuBsmD,UACd,UAAW,CACpB,YAAAzmD,MAAA,EAWoC0mD,SAClC,SAAYvqD,CAAA,CAAAX,CAAc,SAAE,IAAO,CAAAmrD,aAAA,EAASxmD,MAAAhE,CAC9C,EAAAX,EAEA,EASqCorD,UAC5B,SAAKzqD,CAAA,CAAAX,CAAc,SAAE,KAAQmrD,aAAA,EAAS3mD,OAAA7D,CAC/C,EAAAX,EAEA,EAW8CmrD,cACxC,SAAAE,CAAA,CAAArrD,CAAA,EAEJ,IAAAsrD,EAE6B,IAC3B,IAAAhiC,KADFtpB,EAASA,GAAQ,GACJqrD,EAEXC,EAAKD,CAAe,CAAE/hC,EAAA,CACpBtpB,EAAKurD,OAAA,GACL,KAAAC,sBAAY,CAAAliC,EAAA+hC,CAAA,CAAA/hC,EAAA,EACZgiC,GAAK,KACN,KAAAG,cAAA,KAGCzrD,EAAK0rD,aAAiB,EACvB,KAAAC,gBAAA,CAAAriC,EAAAgiC,GAaL,OAVI,IAAI,CAACM,mBAAgB,EACtB,KAAAl7C,gBAAA,OAAAA,gBAAA,CAAAm7C,eAAA,MAAAvB,UAAA,EAED,IAAI,CAACX,kBAAU,GAEf,IAAI,CAACprC,UAAQ,GACXve,EAAKurD,OAAA,EACN,KAAAh9C,gBAAA,GAGH,MAU+Ci9C,uBAC1B,SAAQliC,CAAA,CAAA3oB,CAAA,EAa7B,OAXE,IAAI,CAAAwpD,aAAK,CAAA7gC,EAAe,CAAA3oB,EACtB,IAAI,CAAC0pD,aAAa,EACnB,MAAAA,aAAA,CAAA/gC,EAAA,CAAA3oB,CAAA,EAGC,IAAI,CAACmrD,aAAa,EACnB,MAAAA,aAAA,CAAAxiC,EAAA,CAAA3oB,CAAA,EAID,KAAA2oB,EAAO,CAAI3oB,EACb,MAUyCgrD,iBAClC,SAAcriC,CAAM,CAAA3oB,CAAQ,EAWnC,OATE,IAAI,CAAAwpD,aAAK,CAAAlnD,KAAe,CAAAqmB,EAAA,CAAA3oB,EACtB,IAAI,CAAC0pD,aAAa,EACnB,MAAAA,aAAA,CAAApnD,KAAA,CAAAqmB,EAAA,CAAA3oB,CAAA,EAGC,IAAI,CAACorD,SAAS,EACf,MAAAA,SAAA,CAAA9oD,KAAA,CAAAqmB,EAAA,CAAA3oB,CAAA,EAGH,MAMqBq/C,QACnB,UAAY,CACd,YAAAiJ,iBAAA,KAQqC+C,qBAC/B,SAAoBC,CAAA,EAIxB,IAAyB1rD,EAAA0K,EAAAme,EAArB8iC,EAAC,IAAiB,CAAAC,aAAG,CAAAC,EAAA,KAAA1D,eAAA,CAAA2D,EAAA,KAAAzD,YAAA,CAC6B,IACpD39C,EAAA,EADF,IAAK,CAAAg+C,iBAAkB,CAAAgD,EACrB7iC,EAAa,IAAC,CAAAtlB,QAAW,CAAA1D,MAAA,CAAA6K,EAAAme,EAAAne,IAE3B1K,CADEA,EAAO,IAAK,CAAAuD,QAAI,CAAOmH,EAAA,EACzBqhD,KAAA,EAAA/rD,EAAA2N,SAAA,KAaF,OAXIg+C,GACDA,EAAAh+C,SAAA,GAECk+C,GACDA,EAAAl+C,SAAA,KAECm+C,GACDA,EAAAn+C,SAAA,KAED,IAAI,CAACq+C,sBAAqB,GAC1B,KAAA5vC,iBAAW,OAAApO,gBAAA,GACb,MAYqCi+C,YACnC,SAAAvgC,CAAA,CAAAtrB,CAAA,EAEA,IAAA8rD,EAAQxgC,EAAAggC,EAAe,IAAO,CAAAhD,iBAAgB,CAAAn+C,KAAK,IACnDmhB,EAAMpJ,EAAGoJ,EAAAoD,EAAA,KAAA45B,iBAAA,GACTgD,CAAG,CAAC,EAAE,CAAGtrD,EACTsrD,CAAA,CAAI,GAAAtrD,EACJ,IAAI+rD,EAAM7pC,EAAiBoJ,EAACggC,GAG9B,OAFEA,CAAG,CAAC,EAAE,EAAIQ,EAAOpgC,CAAC,CAAGqgC,EAAMrgC,CAAC,CAC5B4/B,CAAA,KAAOQ,EAAKngC,CAAA,CAAAogC,EAAApgC,CAAA,CACd,KAAA0/B,oBAAA,CAAAC,EAEA,EAM0BU,QACnB,SAAAhsD,CAAY,CAAI,CAEvB,OADE,KAAA6rD,WAAW,KAAAlmD,GAAA8lB,KAAA,MAAAzrB,GACb,MAQ8BisD,YACxB,SAAW3gC,CAAA,EACf,IAAIggC,EAAM,KAAAhD,iBAAO,CAAAn+C,KAAA,IAGnB,OAFEmhD,CAAG,CAAC,EAAE,CAAG,CAAChgC,EAAMI,CAAC,CACjB4/B,CAAA,IAAO,CAAAhgC,EAAKK,CAAA,CACd,KAAA0/B,oBAAA,CAAAC,EAEA,EAM8BY,YACrB,SAAK5gC,CAAW,CAAC,CAI1B,YAAA2gC,WAAA,KAAAtmD,GAAA8lB,KAAA,EAAAH,EAAAI,CAAA,MAAA48B,iBAAA,KAAAh9B,EAAAK,CAAA,MAAA28B,iBAAA,KAEA,EAIwB6D,WACf,UAAK,CACd,YAAA3C,aAAA,EAM8B1gC,eACvB,SAAgBY,CAAA,EACrB,IAAI,CAAAy+B,QAAK,EAAAz+B,EAAU0iC,UAAI,GACvB1iC,EAAIc,IAAA,UAAS,MACbd,EAAInc,SAAM,GAAgB,IAAE,CAAAgb,IAAA,gBAAQ,CAAIxoB,OAAA2pB,CACxC,GACFA,EAAAnB,IAAA,SAEA,EAIgCY,iBACpB,SAAAO,CAAA,CAAkB,KAAE,CAAAnB,IAAA,kBAAQ,CAAIxoB,OAAA2pB,CAC1C,GACAA,EAAAnB,IAAO,YACT,OAAAmB,EAAA3rB,MAAA,EAQ4BsuD,aACtB,SAAajoC,CAAG,CAAI,CAE1B,OADEA,EAAAkoC,SAAW,UAAAtoD,KAAA,MAAAH,MAAA,EACb,MAMwBwgB,WACf,UAAK,CACd,YAAAolC,gBAAA,EAOmBxtC,MACjB,UAAY,CAcd,OAbE,IAAI,CAACtO,MAAA,CAAA0a,KAAA,KAAe,CAAG,IAAI,CAAAgB,UAAA,IAC3B,IAAI,CAAC0+B,eAAe,KAAI,CACxB,IAAI,CAACE,YAAA,CAAe,IAAG,CACvB,IAAI,CAAC/rD,eAAe,IACpB,IAAI,CAAA8rD,YAAK,IACP,IAAI,CAACuE,iBAAgB,GACrB,IAAI,CAACz8C,GAAA,YAAe,IAAG,CAAA08C,oBAAI,EAC3B,IAAI,CAACC,eAAA,CAAiB,IAAG,CAC1B,KAAAF,iBAAA,KAED,IAAI,CAACF,YAAK,MAAA5C,gBAAA,EACV,IAAI,CAAClhC,IAAA,mBACL,KAAAvM,iBAAW,OAAApO,gBAAA,GACb,MAOuBuO,UACjB,WACJ,IAAIuwC,EAAc,KAAAjD,gBAAqB,CAEzC,OADE,KAAAkD,YAAW,CAAAD,EAAA,KAAAvpD,QAAA,EACb,MAY2BykD,eACpB,UAAc,CACnB,IAAI,CAACgF,WAAS,GAChB,KAAAzwC,SAAA,EAEA,EAO8BvO,iBAClB,UAAa,CAIzB,OAHI,IAAK,CAAAg/C,WAAW,EACjB,MAAAA,WAAA,CAAAjnD,GAAAqc,IAAA,CAAA4pB,gBAAA,MAAA+b,mBAAA,GAEH,MASmCiE,uBACf,UAAa,CAE/B,IAAA5+B,EAAY,GAAAhpB,EAAA,IAAe,CAAAA,KAAA,CAAAH,EAAA,KAAAA,MAAA,CAAAgpD,EAAAn+B,EAAA,KAAA45B,iBAAA,EAM7B,OAN6Bt7B,EAAKo6B,EAAA,CAAAllC,EAAA,CAAGwJ,EAAG,EAAKC,EAAA,CAC3C,EAAAkhC,GAA2B7/B,EAAKu6B,EAAA,CAAArlC,EAAA,CAAOwJ,EAAG1nB,EAAU2nB,EAAA9nB,CACpD,EAAAgpD,GACA7/B,EAAOq6B,EAAE,CAAG,IAAI1hD,GAAO8lB,KAAK,CAACuB,EAAOu6B,EAAE,CAAC77B,CAAC,CAAEsB,EAAOo6B,EAAE,CAACz7B,CAAC,EACrDqB,EAAKs6B,EAAA,KAAS3hD,GAAG8lB,KAAA,CAAAuB,EAAAo6B,EAAA,CAAA17B,CAAA,CAAAsB,EAAAu6B,EAAA,CAAA57B,CAAA,EACjB,KAAA+8B,SAAO,CAAA17B,EACTA,CAEA,EAAkC8/B,sBACvB,UAAa,CACpB,KAAAF,WAAY,GACZjnD,GAAKqc,IAAA,CAAAqrB,eAAc,MAAAuf,WAAA,EACpB,KAAAA,WAAA,GAGH,EAOqCD,aAC3B,SAAKvoC,CAAA,CAAA3W,CAAiB,CAAE,CAChC,IAAIme,EAAC,KAAA08B,iBAAqB,CAAAx2B,EAAA,KAAA6E,QAAA,CAC1B,IAAI,CAACm2B,qBAAA,GACL,IAAI,CAAClB,sBAAa,GAClB,KAAAS,YAAY,CAAAjoC,GACZze,GAAKqc,IAAK,CAAAylB,iBAAiB,CAAArjB,EAAA,KAAAsjB,qBAAA,MAAE,CAAAnf,IAAK,kBAAKnE,IAAAA,CACvC,GAEA,IAAI,CAAA2oC,iBAAI,CAAA3oC,GACRA,EAAAkgC,IAAA,GAEAlgC,EAAI+J,SAAC,CAAAvC,CAAA,IAAeA,CAAA,IAAKA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACzB,IAAI,CAAAohC,cAAO,CAAA5oC,EAAA3W,GACX2W,EAAIwgC,OAAM,GACR,KAAK,CAAAwD,oBAAa,OAAAW,WAAA,EACnB,KAAAkE,YAAA,CAAA7oC,GAEC0N,IACAA,EAAA/zB,MAAA,MAEA+zB,EAAKo7B,WAAA,GACLp7B,EAAKq7B,cAAY,IAAAr7B,EAAEs7B,WAAA,CAAa,CAAKC,YAAA,EACrC,GACD,KAAAC,oBAAA,CAAAlpC,IAED,IAAI,CAAAmpC,cAAK,CAAAnpC,GACP,IAAI,CAACgkC,oBAAa,OAAAW,WAAA,EACnB,KAAAkE,YAAA,CAAA7oC,GACyB,IAAE,CAAAmE,IAAK,iBAAKnE,IAAAA,CACxC,EAEA,EAIoCkpC,qBACrB,SAAAlpC,CAAiB,CAAE,CAChC,IAAIwH,EAAI,KAAA08B,iBAAA,CAAAx2B,EAAA,KAAA6E,QAAA,CACRvS,EAAIkgC,IAAA,GACJlgC,EAAA+J,SAAA,CAAAvC,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KAGAxH,EAAAopC,wBAAe,kBACf17B,EAAI3D,SAAU,CAAA/J,GACdA,EAAI5X,KAAA,GAAUslB,EAAK27B,KAAA,GAAA37B,EAAe47B,KAAK,EACvCtpC,EAAII,SAAO,CAAAsN,EAAA67B,YAAA,EAAA77B,EAAA87B,iBAAA,EAAA97B,EAAA+7B,iBAAA,EACbzpC,EAAAwgC,OAAA,EAEA,EAKuCoI,eAC9B,SAAA5oC,CAAA,CAAA3W,CAAA,EACP,IAAKnD,EAAAme,EAA2C,IAC9Cne,EAAA,EAAOme,EAAGhb,EAAWhO,MAAI,CAAA6K,EAAOme,EAAA,EAAAne,EAClCmD,CAAA,CAAAnD,EAAA,EAAAmD,CAAA,CAAAnD,EAAA,CAAAk9C,MAAA,CAAApjC,EAGF,EAKoD0pC,2BAClC,SAAW1pC,CAAQ,CAAE6F,CAAS,EAE9C,IAAI/B,EAAC,IAAS,CAAA+B,EAAQ,SAAArqB,EAAA,KAAAqqB,EAAA,SAAA2B,EAAA,KAAA08B,iBAAA,CAAAyF,EAAA,KAAA9jC,EAAA,UACpB,GAAArqB,GAEQ,GACRsoB,EAAI,CACJ9D,EAAIkgC,IAAA,GACJlgC,EAAIsgC,SAAO,GACXtgC,EAAI4pC,MAAM,CAAC,KACX5pC,EAAI6pC,MAAM,CAAC,IAAI,CAACjqD,KAAK,CAAE,GACvBogB,EAAI6pC,MAAM,CAAC,IAAG,CAAAjqD,KAAK,KAAM,CAAAH,MAAA,EACzBugB,EAAI6pC,MAAA,GAAS,KAAApqD,MAAA,EACbugB,EAAI8pC,SAAS,GAGb9pC,EAAImgC,SAAA,CAAUr8B,EAAAimC,MAAA,CAAAjmC,EAAAimC,MAAA,CAAA/pC,EAAA,MAAA8D,CAAA,CACZ6lC,GACD3pC,EAAA+J,SAAA,CAAAvC,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KAEDxH,EAAI+J,SAAS,SAAAjG,EAAiBu3B,OAAI,EAAK,EAAAv3B,EAAAw3B,OAAgB,KACvD,IAAArnB,EAAKnQ,EAAIkmC,iBAAoB,EAAIlmC,EAAMmmC,gBAAc,CACrDh2B,GAAIjU,EAAI+J,SAAA,CAAAkK,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACRjU,EAAI8D,IAAA,GACL9D,EAAAwgC,OAAA,EACD,KAEExgC,EAAIkgC,IAAA,GACFyJ,GACD3pC,EAAA+J,SAAA,CAAAvC,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KAEDhsB,EAAI4nD,MAAO,CAAApjC,GACZA,EAAAwgC,OAAA,IA3BD,EAkC+BmI,kBAC1B,SAAA3oC,CAAA,EACP,KAAA0pC,0BAAA,CAAA1pC,EAAA,aAEA,EAI8BmpC,eACvB,SAAAnpC,CAAA,EACP,KAAA0pC,0BAAA,CAAA1pC,EAAA,UAEA,EAMuBkqC,UACd,iBACL,CACAnhD,IAAA,IAAM,CAAItJ,MAAM,CAAG,EACrBuJ,KAAA,KAAApJ,KAAA,EACF,CAEA,EAI4B86C,eACf,UAAY,CACzB,WAAAn5C,GAAA8lB,KAAA,MAAAznB,KAAA,QAAAH,MAAA,GAEA,EAKiC0qD,cACpB,SAAC3uD,CAAc,EAC5B,YAAA4uD,aAAA,CAAA5uD,EAAA,IAAA+F,GAAA8lB,KAAA,MAAAqzB,cAAA,GAAApzB,CAAA,CAAA9rB,EAAAk/C,cAAA,GAAAnzB,CAAA,EAEA,EAMiC8iC,cACpB,SAAC7uD,CAAc,EAC5B,YAAA4uD,aAAA,CAAA5uD,EAAA,IAAA+F,GAAA8lB,KAAA,CAAA7rB,EAAAk/C,cAAA,GAAApzB,CAAA,MAAAozB,cAAA,GAAAnzB,CAAA,EAEA,EAM+B9e,aACzB,SAAcjN,CAAA,EAClB,IAAAo2B,EAAY,KAAA8oB,cAAc,GAC5B,YAAA0P,aAAA,CAAA5uD,EAAAo2B,EAEA,EAMuC04B,qBACtB,SAAK9uD,CAAW,EAC/B,IAAA+uD,EAAY,KAAAC,WAAc,GAC5B,YAAAJ,aAAA,CAAA5uD,EAAA+uD,EAEA,EAMwCE,sBACnB,SAACjvD,CAAW,EAC/B,IAAI+uD,EAAC,IAAc,CAAAC,WAAY,GAEjC,OADE,KAAAJ,aAAW,CAAA5uD,EAAA,IAAA+F,GAAA8lB,KAAA,CAAAkjC,EAAAjjC,CAAA,CAAA9rB,EAAAk/C,cAAA,GAAAnzB,CAAA,GACb,MAQwCmjC,sBACnB,SAAClvD,CAAW,EAE/B,IAAA+uD,EAAY,KAAAC,WAAc,GAC5B,YAAAJ,aAAA,CAAA5uD,EAAA,IAAA+F,GAAA8lB,KAAA,CAAA7rB,EAAAk/C,cAAA,GAAApzB,CAAA,CAAAijC,EAAAhjC,CAAA,EAEA,EAKwBijC,YAClB,UAAc,CAGpB,OAAA1sC,EADS,KAAA48B,cAAuB,GAAApwB,EAAA,KAAA45B,iBAAA,EAGhC,EAOwCkG,cAC/B,SAAA5uD,CAAmB,CAACo2B,CAAA,CAAQ,CAIrC,OAHEp2B,EAAOq2B,mBAAS,CAAAD,EAAA,mBAChBp2B,EAAK2N,SAAA,GACL,KAAAyO,iBAAW,OAAApO,gBAAA,GACb,MAO+CmhD,eACjC,SAAAC,CAAiB,EAC/B,YAAAC,gBAAA,CAAAD,EAEA,EAKyCE,SACvC,SAAYF,CAAgB,EAC9B,YAAAG,eAAA,YAAAH,EAEA,EAKiDC,iBACnC,SAAAD,CAAgB,EAC9B,YAAAG,eAAA,oBAAAH,EAEA,EAG4DG,gBAEtD,SAAgBnrB,CAAU,CAAAgrB,CAAO,MACnCr4B,EAAS,KAAOA,QAAO,CAAAvnB,EAAA,CACvB0T,QAASnd,GAAKmd,OAAA,CAChBrV,QAAA,KAAA2hD,UAAA,CAAAprB,EAAAgrB,EACA,EAQF,OAPIr4B,GAAK,CAAQA,EAAQ04B,iBAAe,EACrCjgD,CAAAA,EAAAunB,QAAA,MAAAjU,SAAA,MAAAiU,QAAA,CAAAqN,EAAAgrB,EAAA,EAGDpuC,EAAOxR,EAAK,KAAAkgD,oBAAuB,CAAItrB,EAAQgrB,IAE/CrpD,GAAOqc,IAAA,CAAAkQ,sBAAA,MAAA9iB,EAAA4/C,GACT5/C,CAEA,EAGsDggD,WAC7C,SAAKprB,CAAe,CAACgrB,CAAiB,SAC3C,IAAO,CAAC7rD,QAAO,CAAAmL,MAAA,UAAiB1O,CAAA,EAC/B,MAAI,CAAAA,EAASyvD,iBAAU,GAAA7gD,GACxB,UAAYw7C,CAAA,CAAU,CACrB,OAAI,KAAAtnC,SAAA,CAAAsnC,EAAAhmB,EAAAgrB,EACT,OAEA,EAG+DtsC,UACzD,SAAAsnC,CAAA,CAAAhmB,CAAA,CAAAgrB,CAAA,EAGF,KAAA9G,oBAAyB,GACzBqH,EAASvF,EAAA9B,oBAA4B,CACtC8B,EAAA9B,oBAAA,KAGD,IANIqH,EAMA3vD,EAAMoqD,CAAA,CAAAhmB,EAAsB,CAAAgrB,GAIlC,OAHI,KAAA9G,oBAAS,EACV8B,CAAAA,EAAA9B,oBAAA,CAAAqH,CAAA,EAEH3vD,CAEA,EAGgE0vD,qBAC/C,SAAUtrB,CAAK,CAAAgrB,CAAiB,EAG/C,IAAI5/C,EAAA,GAAWogD,EAAQ,KAAAzH,eAAU,CAAAE,EAAA,KAAAA,YAAA,CAAAwH,EAAA,KAAAvzD,eAAA,CAAA8rD,EAAA,KAAAA,YAAA,CA0BnC,OAzBIyH,GAAKA,EAAQP,QAAA,CACXO,EAAKJ,iBAAqB,EAC3BjgD,CAAAA,EAAAtL,UAAA,CAAA2rD,EAAAP,QAAA,CAAAF,EAAA,EAGIS,GACNrgD,CAAAA,EAAAtL,UAAA,CAAA2rD,CAAA,EAGCzH,GAAKA,EAAakH,QAAmB,CACnClH,EAAYqH,iBAAgB,EAC7BjgD,CAAAA,EAAAsgD,OAAA,CAAA1H,EAAAkH,QAAA,CAAAF,EAAA,EAGIhH,GACN54C,CAAAA,EAAAsgD,OAAA,CAAA1H,CAAA,EAGCwH,GAAK,CAAAA,EAAeH,iBAAiB,EACtCjgD,CAAAA,EAAA24C,eAAA,MAAArlC,SAAA,CAAA8sC,EAAAxrB,EAAAgrB,EAAA,EAEC/G,GAAK,CAAYA,EAAQoH,iBAAU,EACpCjgD,CAAAA,EAAA64C,YAAA,MAAAvlC,SAAA,CAAAulC,EAAAjkB,EAAAgrB,EAAA,EAGH5/C,CAIA,EAO8BugD,WACvB,SAAQ/vD,CAAA,KACX,CAAAA,EACD,YAGD,IAAyC0K,EAAIof,EAAKkmC,EAA9CC,EAAW,KAAArE,aAAmB,CAAmC,GACnE5rD,IAAOiwD,GAAgBjwD,oBAAAA,EAAQgB,IAAA,CACH,IAC1B0J,EAAAslD,CADFA,EAAKC,EAAiB1sD,QAAM,EACpB1D,MAAO,CAAA6K,KACbof,EAAAkmC,CAAA,CAAAtlD,EAAA,CACAwgB,EAAc,KAAO3nB,QAAC,CAAAumB,GACxB,KAAAvmB,QAAA,CAAA2sD,OAAA,CAAApmC,QAIAoB,EAAc,KAAO3nB,QAAC,CAAAvD,GACvB,KAAAuD,QAAA,CAAA2sD,OAAA,CAAAlwD,EACD,CAEF,OADE,KAAAoc,iBAAW,OAAApO,gBAAA,GACb,MASgCmiD,aACzB,SAAQnwD,CAAA,KACX,CAAAA,EACD,YAGD,IAAyC0K,EAAIof,EAAKkmC,EAA9CC,EAAW,KAAArE,aAAmB,CAAmC,GACnE5rD,IAAOiwD,GAAgBjwD,oBAAAA,EAAQgB,IAAA,CACG,IAChC0J,EAAA,EADFslD,EAAKC,EAAgB1sD,QAAQ,CACrBmH,EAAKslD,EAAEnwD,MAAA,CAAA6K,IACbof,EAAAkmC,CAAA,CAAAtlD,EAAA,CACAwgB,EAAc,IAAK,CAAA3nB,QAAA,CAAAumB,GACrB,KAAAvmB,QAAA,CAAA1J,IAAA,CAAAiwB,QAIAoB,EAAc,IAAK,CAAA3nB,QAAA,CAAAvD,GACpB,KAAAuD,QAAA,CAAA1J,IAAA,CAAAmG,EACD,CAEF,OADE,KAAAoc,iBAAW,OAAApO,gBAAA,GACb,MAa+C1B,cACxC,SAAQtM,CAAA,CAAAowD,CAAA,KACX,CAAApwD,EACD,YAID,IAAyC0K,EAAIof,EAAKqB,EAAAklC,EAAAL,EAA9CC,EAAW,KAAArE,aAAmB,CAAmC0E,EAAA,KACnEtwD,IAAOiwD,GAAgBjwD,oBAAAA,EAAQgB,IAAA,CACG,IAChC0J,EAAA,EADFslD,EAAKC,EAAgB1sD,QAAQ,CACrBmH,EAAKslD,EAAEnwD,MAAA,CAAA6K,IACbof,EAAMkmC,CAAI,CAACtlD,EAAA,CACXygB,CAAAA,EAAI,IAAM,CAAA5nB,QAAI,CAAA6kB,OAAW,CAAA0B,EAAA,EACvB,EAASwmC,IACTD,EAAAllC,EAAA,EACAD,EAAc,IAAM,CAAC3nB,QAAQ,CAAAumB,GAC9B,KAAAvmB,QAAA,CAAA8lB,MAAA,CAAAgnC,EAAA,EAAAvmC,IAEHwmC,SAKE,IADFnlC,CAAAA,EAAI,KAAA5nB,QAAW,CAAA6kB,OAAA,CAAApoB,EAAA,IAGbqwD,EAAA,KAAAE,kBAA+B,CAAAvwD,EAAAmrB,EAAAilC,GAC/BllC,EAAc,IAAM,CAAC3nB,QAAQ,CAAAvD,GAC9B,KAAAuD,QAAA,CAAA8lB,MAAA,CAAAgnC,EAAA,EAAArwD,GAEH,CAEF,OADE,KAAAoc,iBAAW,OAAApO,gBAAA,GACb,MAKwDuiD,mBAC1C,SAAAvwD,CAAA,CAAAmrB,CAAA,CAAAilC,CAAA,EAEZ,IAAIC,EAAA3lD,EAAc,GAChB0lD,EAG+B,KAD/BC,EAAAllC,EAGEzgB,EAAIygB,EAAA,EAAAzgB,GAAA,EAAiB,EAAAA,EAID,GAAA1K,EAAAwwD,oBAAA,MAAAjtD,QAAA,CAAAmH,EAAA,GAAA1K,EAAAywD,uBAAA,MAAAltD,QAAA,CAAAmH,EAAA,QAAAnH,QAAA,CAAAmH,EAAA,CAAA+lD,uBAAA,CAAAzwD,GACT,CACTqwD,EAAM3lD,EACP,MACH,MAID2lD,EAAAllC,EAAA,CAED,CACF,OAAAklC,CAEA,EAW8CzzD,aACvC,SAAQoD,CAAA,CAAAowD,CAAA,KACX,CAAApwD,EACD,YAID,IAAyC0K,EAAIof,EAAKqB,EAAAklC,EAAAL,EAA9CC,EAAW,KAAArE,aAAmB,CAAmC0E,EAAA,KACnEtwD,IAAOiwD,GAAgBjwD,oBAAAA,EAAQgB,IAAA,CACH,IAC1B0J,EAAAslD,CADFA,EAAKC,EAAiB1sD,QAAM,EACpB1D,MAAO,CAAA6K,KACbof,EAAMkmC,CAAI,CAACtlD,EAAA,CACXygB,CAAAA,EAAI,IAAM,CAAA5nB,QAAK,CAAA6kB,OAAS,CAAA0B,EAAM,EAC5B,IAAS,CAAAvmB,QAAM,CAAA1D,MAAA,GAAAywD,IACfD,EAAAllC,EAAA,EACAD,EAAc,IAAM,CAAC3nB,QAAQ,CAAAumB,GAC9B,KAAAvmB,QAAA,CAAA8lB,MAAA,CAAAgnC,EAAA,EAAAvmC,IAEHwmC,QAIAnlC,CAAAA,EAAI,KAAA5nB,QAAa,CAAA6kB,OAAS,CAAApoB,EAAM,IAC9B,KAAAuD,QAAA,CAAA1D,MAAA,KAEAwwD,EAAA,KAAAK,kBAA+B,CAAA1wD,EAAAmrB,EAAAilC,GAC/BllC,EAAc,IAAM,CAAC3nB,QAAQ,CAAAvD,GAC9B,KAAAuD,QAAA,CAAA8lB,MAAA,CAAAgnC,EAAA,EAAArwD,GAEH,CAEF,OADE,KAAAoc,iBAAW,OAAApO,gBAAA,GACb,MAKwD0iD,mBACvC,SAAA1wD,CAAA,CAAAmrB,CAAA,CAAAilC,CAAA,EAEf,IAAIC,EAAA3lD,EAAAme,EAAc,GAChBunC,EAG4D,KAE1D1lD,EAHFygB,EAGEzgB,EAAIygB,EAAA,EAAAtC,EAAA,IAAiB,CAAAtlB,QAAO,CAAA1D,MAAA,CAAA6K,EAAAme,EAAqB,EAAAne,EAI7B,GAAA1K,EAAAwwD,oBAAA,MAAAjtD,QAAA,CAAAmH,EAAA,GAAA1K,EAAAywD,uBAAA,MAAAltD,QAAA,CAAAmH,EAAA,QAAAnH,QAAA,CAAAmH,EAAA,CAAA+lD,uBAAA,CAAAzwD,GACT,CACTqwD,EAAM3lD,EACP,MACH,MAID2lD,EAAAllC,EAAA,CAED,CACF,OAAAklC,CAEA,EAOiCjC,OAC/B,SAAApuD,CAAgB,CAAK6X,CAAA,EAGvB,OAFEqT,EAAc,IAAM,CAAC3nB,QAAO,CAAGvD,GAC/B,KAAAuD,QAAY,CAAA8lB,MAAA,CAAAxR,EAAA,EAAiB7X,GAC/B,KAAAoc,iBAAA,OAAApO,gBAAA,EAEA,EAKqB+P,QACnB,WA6BF,OA3BI,KAAAivC,WAAY,GACZjnD,GAAKqc,IAAA,CAAAqrB,eAAc,MAAAuf,WAAA,EACpB,KAAAA,WAAA,IACmC,IAClC,CAAAt/C,aAAc,UAAI1N,CAAO,CAAO,CAClCA,EAAA+d,OAAA,EAAA/d,EAAA+d,OAAA,EACA,GACA,IAAI,CAAAxa,QAAK,IACP,IAAI,CAAC4kD,eAAe,EAAC,IAAO,CAAAA,eAAA,CAAApqC,OAAA,EAC7B,KAAAoqC,eAAA,CAAApqC,OAAA,GAED,IAAI,CAAAoqC,eAAK,CAAY,IAAI,CACvB,IAAI,CAACE,YAAY,EAAC,IAAO,CAAAA,YAAA,CAAAtqC,OAAA,EAC1B,KAAAsqC,YAAA,CAAAtqC,OAAA,GAED,IAAI,CAACsqC,YAAA,CAAe,IAAG,CACvB,IAAI,CAACwE,eAAA,CAAgB,IAAG,CACxB,KAAAhD,gBAAA,CAAuB,KAEvB,KAAAD,aAAY,CAAA+G,SAAc,CAAA5iD,MAAA,iBAC1BhI,GAAOqc,IAAI,CAACyjB,QAAA,MAAA+jB,aAAoB,MAAAW,oBAAA,EAChC,YAAAA,oBAAA,CAEA,IAAI,CAACX,aAAa,CAAC/iB,YAAY,CAAC,YAAU,CAAIziC,KAAC,EAC/C,KAAAwlD,aAAY,CAAA/iB,YAAiB,UAAK,KAAa5iC,MAAA,EAC/C8B,GAAKqc,IAAA,CAAAunB,gBAAgB,MAAAigB,aAAA,EACrB,KAAAA,aAAW,CAAAhnD,KAAAA,EACb,MAMsB8gC,SACpB,UAAO,CAET,+BAAA3Z,UAAA,yBAAAxmB,QAAA,CAAA1D,MAAA,MACF,CAEA,GACAmhB,EAAOjb,GAAO8hD,YAAY,CAACjrC,SAAS,CAAE7W,GAAO2iB,UAAU,EACvD1H,EAAOjb,GAAO8hD,YAAY,CAACjrC,SAAS,CAAE7W,GAAOkjB,UAAA,EAE7CjI,EAAOjb,GAAO8hD,YAAY,CAAAjrC,SAAE,CAAA7W,GAAA6qD,eAA+B,EAAG5vC,EAE5Djb,GAAA8hD,YAAA,EAOAgJ,WAAA,yCASgCC,SAC1B,SAAK1sB,CAAA,EAET,IAAIwC,EAACnU,IAAsB,GACzB,CAAAmU,GAAO,CAAAA,EAAIniB,UAAA,CACZ,YAGD,IAAID,EAAMoiB,EAAAniB,UAAA,cACRD,GAME,gBADF4f,EAGA,SAAA5f,EAAAusC,WAAA,CAEF,KAIJ,GAoBAhrD,GAAI8hD,YAAO,CAAAjrC,SAAc,CAAAkB,MAAA,CAAA/X,GAAA8hD,YAAA,CAAAjrC,SAAA,CAAA0yC,QAAA,CACvBvpD,GAAOigB,YAAY,GAAwCjgB,GACzD8hD,YAAW,CAAAjrC,SAAc,CAAAo0C,eAAK,CAAa,WAC3C,IAAAxnB,EAAOD,EAAa,KAAAqgB,aAAe,EACrC,OAAApgB,GAAAA,EAAAwnB,eAAA,EACA,EAAgEjrD,GAC9D8hD,YAAW,CAAAjrC,SAAc,CAAAq0C,gBAAK,CAAa,SAAAC,CAAA,EAC3C,IAAA1nB,EAAOD,EAAa,KAAAqgB,aAAiB,EACvC,OAAApgB,GAAAA,EAAAynB,gBAAA,CAAAC,EACD,EAEH,IAOEnrD,GAAAorD,SAAA,CAAAprD,GAAAqc,IAAA,CAAAG,WAAA,EAOAnS,MAAA,eAOAhM,MAAA,EASAgtD,OAAA,KAOAC,cAAA,QAOArjC,eAAA,QAOAC,iBAAA,GAOAqjC,gBAAA,KASAC,oBAAA,GAKgCjG,gBACf,SAAQ9mC,CAAA,CAAK,CAC5BA,EAAIogC,WAAS,CAAG,IAAK,CAAAx0C,KAAK,CAC1BoU,EAAIqgC,SAAO,CAAG,IAAK,CAAAzgD,KAAA,CACnBogB,EAAIgtC,OAAA,CAAU,IAAG,CAAAH,aAAK,CACtB7sC,EAAIitC,UAAQ,CAAG,IAAK,CAAAxjC,gBAAc,CAClCzJ,EAAIktC,QAAA,CAAW,IAAC,CAAI1jC,cAAC,CACvBxJ,EAAAusC,WAAA,MAAAO,eAAA,KAEA,EAKiCK,kBAClB,SAAOntC,CAAA,EACpB,IAAIwH,EAAI,KAAA7tB,MAAA,CAAAuqD,iBAAA,CACRlkC,EAAIkgC,IAAA,GACNlgC,EAAA+J,SAAA,CAAAvC,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAEA,EAIuB4lC,WACX,UAAQ,IAChB,KAAAR,MAAA,EAOF,IAAIjzD,EAAA,IAAU,CAAAA,MAAO,CAAAizD,EAAA,IAAgB,CAAAA,MAAI,CAAA5sC,EAAArmB,EAAA4rD,UAAA,CAAApkB,EAAAxnC,EAAAshD,OAAA,GACvCthD,GAAQA,EAAOqrD,gBAAgB,IAChC7jB,CAAAA,GAAA5/B,GAAAghB,gBAAA,EAGDvC,EAAIqtC,WAAU,CAAGT,EAAOhhD,KAAI,CAC5BoU,EAAIstC,UAAA,CAAaV,EAAGW,IAAO,CAAApsB,EAC3BnhB,EAAIwtC,aAAa,CAAGZ,EAAOvR,OAAO,CAAGla,EACvCnhB,EAAAytC,aAAA,CAAAb,EAAAtR,OAAA,CAAAna,EAZE,EAc0BusB,gBACd,UAAW,CAEzB,OAAA9hD,EAAAA,IADerK,GAAQkoC,KAAK,KAAO,CAAA79B,KAAK,EACxCqiC,QAAA,WAAA2e,MAAA,EAMyBe,aACb,UAAY,CAEtB,IAAI3tC,EAAA,KAAWrmB,MAAG,CAAA4rD,UAAA,CAClBvlC,EAAIqtC,WAAU,CAAG,GACnBrtC,EAAAstC,UAAA,CAAAttC,EAAAwtC,aAAA,CAAAxtC,EAAAytC,aAAA,EAEA,EAKoCG,iBACnB,SAASrT,CAAA,CAAS,CACnC,OAAAA,EAAAjzB,CAAA,IAAAizB,EAAAjzB,CAAA,MAAA3tB,MAAA,CAAAssD,QAAA,IAAA1L,EAAAhzB,CAAA,IAAAgzB,EAAAhzB,CAAA,MAAA5tB,MAAA,CAAAusD,SAAA,EACF,CACC,GAM2G3kD,GAExGssD,WAAA,CAAAtsD,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAorD,SAAA,EAOAmB,SAAA,GASAC,iBAAA,GAOAC,gBAAA,WAK6BhuB,WACtB,SAASrmC,CAAA,EACd,IAAI,CAACA,MAAA,CAAOA,EACd,KAAAs0D,OAAA,KAE6BP,gBACf,UAAU,CACxB,YAAA/tB,SAAA,0BAAAuuB,gBAAA,EAMqCC,aAC/B,SAAcnuC,CAAA,CAAAwb,CAAA,CAAAC,CAAY,CAAC,CAC/B,IAAIK,EAAAN,EAAAO,YAA0B,CAACN,GAEjC,OADEzb,EAAAouC,gBAAO,CAAA5yB,EAAAlU,CAAA,CAAAkU,EAAAjU,CAAA,CAAAuU,EAAAxU,CAAA,CAAAwU,EAAAvU,CAAA,EACTuU,CAEA,EAIwCuyB,YAC7B,SAAQ9T,CAAA,CAAAt/C,CAAa,EAC5B,KAAAtB,MAAA,CAAA20D,YAAA,CAAArzD,EAAA4O,CAAA,IAGF,IAAI,CAACkkD,gBAAA,CAAmB9yD,EAAA4O,CAAA,MAAAmkD,eAAA,EACxB,KAAAO,kBAAA,CAAAhU,GAGA,IAAI,CAACiU,mBAAO,CAAAjU,GACd,KAAAkU,OAAA,GAEA,EAIwCC,YAC7B,SAAQnU,CAAA,CAAAt/C,CAAa,EAAY,GACxC,KAAAtB,MAAA,CAAA20D,YAAA,CAAArzD,EAAA4O,CAAA,IAGF,IAAI,CAAAkkD,gBAAK,CAAA9yD,EAAmB4O,CAAK,KAAI,CAAAmkD,eAAS,GAC5C,WAAAjB,mBAAA,OAAAa,gBAAA,CAAArT,EAAA,GAGA,IAAI,CAAAiU,mBAAoB,CAAAjU,IAAI,KAAA0T,OAAA,CAAA5yD,MAAA,QAC1B,KAAAqyD,eAAe,GAGf,IAAI,CAAC/zD,MAAA,CAAOsuD,YAAA,MAAAtuD,MAAA,CAAA4rD,UAAA,EACd,IACK,CAAAkJ,OAAA,OACH,CACA,IAAA7lC,EAAA,KAAAqlC,OAAwB,CAAA5yD,EAAAutB,EAAAvtB,MAAA,CAAA2kB,EAAA,KAAArmB,MAAA,CAAA4rD,UAAA,CAExB,IAAI,CAAA4H,iBAAa,CAAAntC,GACf,IAAI,CAAA2uC,MAAA,GACJ3uC,EAAIsgC,SAAO,GACZtgC,EAAA4pC,MAAA,MAAA+E,MAAA,CAAArnC,CAAA,MAAAqnC,MAAA,CAAApnC,CAAA,GAED,IAAI,CAAAonC,MAAM,MAAAR,YAAA,CAAAnuC,EAAA4I,CAAA,CAAAvtB,EAAA,GAAAutB,CAAA,CAAAvtB,EAAA,OACV2kB,EAAI4S,MAAA,GACL5S,EAAAwgC,OAAA,EACF,EAvBD,EA6B2BoO,UACtB,SAAW3zD,CAAC,QAAyB,CACxC,KAAAtB,MAAW,CAAA20D,YAAA,CAAArzD,EAAA4O,CAAA,IAGb,IAAI,CAACkkD,gBAAS,IACd,IAAI,CAACY,MAAA,CAAAvwD,KAAAA,EACL,KAAAywD,mBAAY,GACd,GAEA,EAIsCN,mBAExB,SAAahU,CAAA,CAAS,CAElC,IAAIr4C,EAAC,IAAMX,GAAA8lB,KAAA,CAAAkzB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,EACX,IAAI,CAACunC,MAAA,GACL,IAAI,CAACC,SAAO,CAAA7sD,GACd,KAAAvI,MAAA,CAAA4rD,UAAA,CAAAqE,MAAA,CAAA1nD,EAAAolB,CAAA,CAAAplB,EAAAqlB,CAAA,CAEA,EAI2BwnC,UACrB,SAAY7nC,CAAC,CAAM,OAAyD,CAC9E,MAAA+mC,OAAY,CAAA5yD,MAAA,IAAA6rB,EAAA2U,EAAA,MAAAoyB,OAAA,MAAAA,OAAA,CAAA5yD,MAAA,QAGZ,IAAI,CAAC0yD,gBAAgB,EAAG,IAAI,CAAAE,OAAA,CAAA5yD,MAAA,KAC5B,IAAI,CAAC6yD,gBAAW,IACjB,KAAAD,OAAA,CAAAz9B,GAAA,IAED,KAAAy9B,OAAW,CAAA54D,IAAA,CAAA6xB,GACb,GAEA,EAImB4nC,OACb,UAAW,CACf,IAAI,CAACb,OAAA,IACL,IAAI,CAACnH,eAAU,MAAAntD,MAAA,CAAA4rD,UAAA,EACf,IAAI,CAAC6H,UAAA,GACP,KAAAc,gBAAA,GAEA,EAIuCM,oBACjC,SAAmBjU,CAAO,CAAK,CACnC,IAAAyU,EAAY,IAAUztD,GAAA8lB,KAAA,CAAAkzB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,EACxB,YAAAwnC,SAAA,CAAAC,EAEA,EAKuBP,QACjB,SACAzuC,CAAK,EAET,IAAA9Z,EAAMme,EAAAmX,EAAW,IAAC,CAAAyyB,OAAO,IAAAxyB,EAAU,KAAAwyB,OAAA,IAO8B,GANjEjuC,EAAKA,GAAA,KAAArmB,MAAkB,CAAA4rD,UAAA,CACvB,IAAI,CAAA4H,iBAAS,CAAAntC,GACbA,EAAAsgC,SAAA,GAKE,QAAI,CAAA2N,OAAQ,CAAA5yD,MAAK,EAAQmgC,EAAAlU,CAAA,GAAAmU,EAAAnU,CAAA,EAAAkU,EAAAjU,CAAA,GAAAkU,EAAAlU,CAAA,EACzB,IAAA3nB,EAAS,IAAO,CAAAA,KAAM,CAAG,IACzB47B,EAAK,IAAIj6B,GAAO8lB,KAAK,CAACmU,EAAGlU,CAAC,CAAEkU,EAAGjU,CAAC,EAChCkU,EAAI,IAAIl6B,GAAA8lB,KAAA,CAAAoU,EAAAnU,CAAA,CAAAmU,EAAAlU,CAAA,EACRiU,EAAGlU,CAAC,EAAI1nB,EACT67B,EAAAnU,CAAA,EAAA1nB,CACD,KAGEsG,EADG0jD,MAAI,CAAGpuB,EAAAlU,CAAA,CAAMkU,EAAAjU,CAAI,EACpBrhB,EAAA,EAAAme,EAAA,KAAA4pC,OAAA,CAAA5yD,MAAA,CAAA6K,EAAAme,EAAAne,IAGA,KAAKioD,YAAY,CAACnuC,EAAEwb,EAAAC,GACpBD,EAAK,IAAI,CAACyyB,OAAO,CAAC/nD,EAAA,CACpBu1B,EAAA,KAAAwyB,OAAA,CAAA/nD,EAAA,GAKA8Z,EAAI6pC,MAAM,CAAAruB,EAAAlU,CAAA,CAAAkU,EAAAjU,CAAA,EACVvH,EAAI4S,MAAA,GACN5S,EAAAwgC,OAAA,EAEA,EAK0CyO,uBACvB,SAAUrmC,CAAG,EAC9B,IAAA2S,EAAc,IAAK,CAAA37B,KAAA,KACrB,OAAA2B,GAAAqc,IAAA,CAAA0d,uBAAA,CAAA1S,EAAA2S,EAEA,EAKqC2zB,gBAC/B,SAAal4B,CAAY,EAE/B,MAAAG,0BADS51B,GAAeqc,IAAA,CAAAmZ,QAAA,CAAAC,EAGxB,EAK+Bm4B,WACzB,SAAWn4B,CAAO,CAAK,CAAU,IACnCtJ,EAAM,IAAInsB,GAAA6tD,IAAA,CAAAp4B,EAAA,CACVlT,KAAA,IAAQ,CACR8O,OAAA,KAAahnB,KAAK,CAClB8M,YAAA,IAAe,CAAA9Y,KAAK,CACpBitD,cAAA,IAAkB,CAAAA,aAAK,CACvBpjC,iBAAgB,IAAK,CAAAA,gBAAc,CACnCD,eAAA,IAAiB,CAAIA,cAAC,CACxBsjC,gBAAA,KAAAA,eAAA,GAOF,OALI,IAAI,CAACF,MAAM,GACX,KAAKA,MAAM,CAAAyC,YAAO,CAAO,GAC1B3hC,EAAAk/B,MAAA,KAAArrD,GAAA+tD,MAAA,MAAA1C,MAAA,GAGHl/B,CAEA,EAG2C6hC,eAC9B,SAAU3mC,CAAG,CAAAkU,CAAA,KACtBlU,EAAOvtB,MAAA,IACR,OAAAutB,CACD,CACiE,IAAC1iB,EAAAspD,EAAAxwD,KAAA+d,GAAA,CAAA+f,EAAA,KAAAnjC,MAAA,CAAAshD,OAAA,MAAAlrB,EAAAnH,EAAAvtB,MAAA,GAAAo0D,EAAA7mC,CAAA,IAAA8mC,EAAA,CAC9DD,EACJ,CAA4B,IAC1BvpD,EAAA,EAAAA,EAAA6pB,EAAY,EAAK7pB,IACblH,KAAa+d,GAAA,CAAA0yC,EAAAnoC,CAAA,CAAkBsB,CAAA,CAAA1iB,EAAA,CAAAohB,CAAA,IAAAtoB,KAAA+d,GAAA,CAAA0yC,EAAAloC,CAAA,CAAAqB,CAAA,CAAA1iB,EAAA,CAAAqhB,CAAA,KACrBioC,GAEbE,EAAAr6D,IAAA,CADCo6D,EAAU7mC,CAAK,CAAA1iB,EAAA,EASrB,OAF0BwpD,EACjBr6D,IAAA,CAAAuzB,CAAA,CAAAmH,EAAA,EACT2/B,CAEA,EAKgCb,oBACf,UAAO,CAEtB7uC,IADa,CAAArmB,MAAA,CAAA4rD,UAAA,CACTuE,SAAK,GACP,IAAI,CAACgE,QAAO,EACb,MAAAG,OAAA,MAAAsB,cAAA,MAAAtB,OAAA,MAAAH,QAAA,GAED,IAAI92B,EAAK,KAAAi4B,sBAA2B,MAAAhB,OAAA,KAClC,KAAAiB,eAAA,CAAAl4B,GAAA,CAKA,KAAAr9B,MAAA,CAAA6P,gBAAA,GACD,MAED,KACIkkB,EAAO,IAAC,CAAAyhC,UAAa,CAAAn4B,GACzB,IAAI,CAACr9B,MAAM,CAACsuD,YAAK,MAAAtuD,MAAA,CAAA4rD,UAAuB,MAAE,CAAA5rD,MAAM,CAAAwqB,IAAA,wBAAKuJ,KAAAA,CACrD,GACA,IAAI,CAAC/zB,MAAM,CAAC2N,GAAA,CAAAomB,GACZ,KAAK/zB,MAAA,CAAA6P,gBAAS,GACdkkB,EAAKvkB,SAAA,GAGL,KAAAwkD,YAAA,GACiC,IAAE,CAAAh0D,MAAM,CAAAwqB,IAAA,iBAAKuJ,KAAAA,CAChD,EACF,CACF,GAOEnsB,GAAAouD,WAAA,CAAApuD,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAorD,SAAA,EAOA/sD,MAAA,GAK6BogC,WACtB,SAASrmC,CAAA,EACd,IAAI,CAACA,MAAM,CAAGA,EAChB,KAAAivB,MAAA,KAM2BgnC,QACrB,SAAYrV,CAAC,CAAQ,CAEzB,IAAIrzB,EAAC,KAAA2oC,QAAkB,CAAAtV,GAAAv6B,EAAA,KAAArmB,MAAA,CAAA4rD,UAAA,CACvB,IAAI,CAAC4H,iBAAS,CAAAntC,GACd,IAAI,CAAA8vC,GAAA,CAAA9vC,EAAOkH,GACblH,EAAAwgC,OAAA,EAEA,EAA0BsP,IACxB,SAAI9vC,CAAS,CAAAkH,CAAG,CAAM,CACtBlH,EAAImgC,SAAS,CAAAj5B,EAAApD,IAAA,CACb9D,EAAIsgC,SAAI,GACRtgC,EAAIugC,GAAA,CAAAr5B,EAASI,CAAA,CAAAJ,EAAAK,CAAA,CAAAL,EAAA6oC,MAAA,GAAA/wD,EAAAA,KAAAsnB,EAAA,KACbtG,EAAI8pC,SAAI,GACV9pC,EAAA8D,IAAA,EAEA,EAG+BuqC,YAClB,SAAO9T,CAAG,EACrB,IAAI,CAAC3xB,MAAM,CAACvtB,MAAA,GACZ,IAAI,CAAC1B,MAAA,CAAAsuD,YAAU,MAAAtuD,MAAA,CAAA4rD,UAAA,EACf,IAAI,CAAC6H,UAAQ,GACf,KAAAwC,OAAA,CAAArV,EAEA,EAIoBkU,QACd,UAAY,CAEhB,IAAuBvoD,EAAAme,EAAnBrE,EAAC,KAAArmB,MAAA,CAAiB4rD,UAAC,CAAA38B,EAAA,KAAAA,MAAA,CACwB,IAC7C1iB,IADG,CAAAinD,iBAAa,CAAAntC,GAChB9Z,EAAI,EAACme,EAAIuE,EAAWvtB,MAAG,CAAA6K,EAAAme,EAAAne,IACzB,KAAA4pD,GAAA,CAAA9vC,EAAA4I,CAAA,CAAA1iB,EAAA,EAEF8Z,EAAAwgC,OAAA,EAEA,EAI+BkO,YACpB,SAAAnU,CAAA,CAAmB,CAC1B,UAAAwS,mBAAA,OAAAa,gBAAA,CAAArT,KAGA,IAAI,CAACmT,eAAO,IACZ,IAAI,CAAC/zD,MAAA,CAAAsuD,YAAS,MAAAtuD,MAAA,CAAA4rD,UAAA,EACd,IAAI,CAACsK,QAAO,CAAAtV,GACd,IACK,CAAAkU,OAAA,IAEJ,KAAAmB,OAAA,CAAArV,GAGH,EAGsBqU,UAChB,WACJ,IAAqC1oD,EAAAme,EAAjC2rC,EAA4B,KAAKr2D,MAAA,CAAAie,iBAAA,CAErC,IAAI,CAAAje,MAAA,CAAAie,iBAAY,IAEhB,IAAKq4C,EAAO,GAAwC,IAClD/pD,EAAI,EAAAme,EAAQ,IAAK,CAAAuE,MAAO,CAAAvtB,MACpB,CAAA6K,EAASme,EAAIne,IAAA,CAAc,IACzBghB,EAAQ,KAAA0B,MAAM,CAAM1iB,EAAA,CAAAgqD,EAAA,IAAA3uD,GAAA4uD,MAAA,EACpBJ,OAAM7oC,EAAO6oC,MAAA,CACb/mD,KAAKke,EAAOI,CAAA,CACZve,IAAAme,EAASK,CAAA,CACTwyB,QAAS,SACTC,QAAM,SACRl2B,KAAAoD,EAAApD,IAAA,EAIJ,MAAA8oC,MAAQ,EAAKsD,CAAAA,EAAAtD,MAAA,KAAArrD,GAAA+tD,MAAA,MAAA1C,MAAA,GACfqD,EAAA56D,IAAA,CAAA66D,EACA,CACA,IAAA3I,EAAY,IAAGhmD,GAAKqsB,KAAM,CAAAqiC,EAE1B1I,CAAAA,EAAK5tD,MAAO,KAAK,CAAAA,MAAA,CAAuB,IAAE,CAAAA,MAAM,CAAAwqB,IAAA,wBAAMuJ,KAAA65B,CACtD,GACA,IAAI,CAAC5tD,MAAM,CAAC2N,GAAA,CAAIigD,GAAiB,IAAE,CAAA5tD,MAAM,CAAAwqB,IAAA,iBAAMuJ,KAAA65B,CAE/C,GACA,IAAI,CAAC5tD,MAAA,CAAAsuD,YAAY,MAAAtuD,MAAA,CAAA4rD,UAAA,EACjB,IAAI,CAACoI,YAAO,GACZ,IAAI,CAACh0D,MAAM,CAACie,iBAAgB,CAAAo4C,EAC9B,KAAAr2D,MAAA,CAAA6P,gBAAA,EAEA,EAI4BqmD,SACtB,SAAAtV,CAAmB,EASvB,IAAAyU,EAAmB,IAAGztD,GAAA8lB,KAAA,CAAAkzB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,EAAA6oC,EAAA7uD,GAAAqc,IAAA,CAAAgJ,YAAA,CAAA5nB,KAAAI,GAAA,QAAAQ,KAAA,UAAAA,KAAA,OAAAywD,EAAA,IAAA9uD,GAAAkoC,KAAA,MAAA79B,KAAA,EAAAsiC,QAAA,CAAA3sC,GAAAqc,IAAA,CAAAgJ,YAAA,aAAA+mB,MAAA,GAMxB,OALEqhB,EAAae,MAAI,CAAGK,EAEpBpB,EAAYlrC,IAAK,CAAAusC,EAEjB,KAAAznC,MAAO,CAAAvzB,IAAA,CAAA25D,GACTA,CACF,CACA,GAMEztD,GAAA+uD,UAAA,CAAA/uD,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAorD,SAAA,EAOA/sD,MAAA,GAOA2wD,QAAA,GAOAC,SAAA,EAOAC,iBAAA,EAOAC,cAAA,GAOAC,oBAAA,GAK6B3wB,WACtB,SAASrmC,CAAA,EACd,IAAI,CAACA,MAAA,CAAAA,EACP,KAAAi3D,WAAA,KAM+BvC,YACxB,SAAY9T,CAAS,EAC1B,IAAI,CAACqW,WAAO,CAAAv1D,MAAA,CAAa,EACzB,IAAI,CAAC1B,MAAA,CAAAsuD,YAAU,MAAAtuD,MAAA,CAAA4rD,UAAA,EAEf,IAAI,CAAC6H,UAAA,GACL,IAAI,CAACyD,aAAY,CAAAtW,GACnB,KAAA6I,MAAA,MAAA0N,gBAAA,CAEA,EAI+BpC,YACpB,SAAAnU,CAAA,CAAmB,CAC1B,UAAAwS,mBAAA,OAAAa,gBAAA,CAAArT,KAGF,IAAI,CAACsW,aAAY,CAAAtW,GACnB,KAAA6I,MAAA,MAAA0N,gBAAA,EAEA,EAGsBlC,UAChB,WACJ,IAAIoB,EAA4B,KAAKr2D,MAAA,CAAAie,iBAAA,CAErC,IAAI,CAAAje,MAAA,CAAQie,iBAAE,IAEiD,IAC7D,IADGm5C,EAAQ,GACP7qD,EAAA,EAAA8qD,EAAa,IAAK,CAAAJ,WAAY,CAAAv1D,MAAE,CAAA6K,EAAA8qD,EAAA9qD,IAEqB,IAEvD,IAFG+qD,EAAW,KAAOL,WAAW,CAAA1qD,EAAA,CAE5B2xB,EAAA,EAAOC,EAAIm5B,EAAY51D,MAAA,CAAAw8B,EAAAC,EAAAD,IAAA,KACzBq5B,EAAO,IAAA3vD,GAAW4vD,IAAG,EACrBvxD,MAAAqxD,CAAQ,CAAUp5B,EAAC,CAAEj4B,KAAC,CACtBH,OAAMwxD,CAAW,CAAEp5B,EAAE,CAAAj4B,KAAG,CACxBoJ,KAAKioD,CAAW,CAAAp5B,EAAG,CAACvQ,CAAA,CAAG,EACvBve,IAAAkoD,CAAS,CAAAp5B,EAAA,CAAAtQ,CAAA,GACTwyB,QAAS,SACTC,QAAM,SACRl2B,KAAA,KAAAlY,KAAA,GAEFmlD,EAAA17D,IAAA,CAAA67D,EACF,CAGE,KAAAP,mBAAa,EACdI,CAAAA,EAAA,KAAAK,kBAAA,CAAAL,EAAA,EAGD,IAAIxJ,EAAO,IAAIhmD,GAAMqsB,KAAI,CAAAmjC,EACzB,KAAI,CAACnE,MAAM,EAACrF,EAAK7gD,GAAA,cAAAnF,GAAuB+tD,MAAA,MAAA1C,MAAA,OAAE,CAAAjzD,MAAM,CAAAwqB,IAAA,wBAAMuJ,KAAA65B,CACtD,GACA,IAAI,CAAC5tD,MAAM,CAAC2N,GAAA,CAAIigD,GAAiB,IAAE,CAAA5tD,MAAM,CAAAwqB,IAAA,iBAAMuJ,KAAA65B,CAE/C,GACA,IAAI,CAAC5tD,MAAA,CAAAsuD,YAAY,MAAAtuD,MAAA,CAAA4rD,UAAA,EACjB,IAAI,CAACoI,YAAO,GACZ,IAAI,CAACh0D,MAAM,CAACie,iBAAgB,CAAAo4C,EAC9B,KAAAr2D,MAAA,CAAA6P,gBAAA,EAEA,EAIoC4nD,mBAElC,SAAAL,CAAA,EAGA,IAAkBnqD,EAAMV,EAAMme,EAAzBgtC,EAAa,GAA4B,IAC5CnrD,EAAA,EAAMme,EAAM0sC,EAAO11D,MAAG,CAAK6K,EAAAme,EAASne,IAElCmrD,CAAY,CADdzqD,EAAKmqD,CAAA,CAAA7qD,EAAA,CAAA8C,IAAY,CAAI,GAAE+nD,CAAA,CAAA7qD,EAAA,CAAA6C,GAAA,CACL,EACjBsoD,CAAAA,CAAA,CAAAzqD,EAAA,CAAAmqD,CAAA,CAAA7qD,EAAA,EAGH,IAAKorD,EAAoB,OACvB1qD,KAAAyqD,EACFC,EAAAj8D,IAAA,CAAAg8D,CAAA,CAAAzqD,EAAA,EAGF,OAAA0qD,CAEA,EAG6BlO,OACvB,SAAW6N,CAAO,EACtB,IAA0B/qD,EAAAme,EAAtBrE,EAAA,IAAS,CAAArmB,MAAQ,CAAA4rD,UAAK,CAIyB,IACjDr/C,EAHEi6C,SAAC,MAAAv0C,KAAkB,CAEvB,IAAK,CAAAuhD,iBAAa,CAAAntC,GAChB9Z,EAAI,EAAAme,EAAQ4sC,EAAW51D,MAAE,CAAA6K,EAAAme,EAAAne,IAAA,CACzB,IAAIghB,EAAO+pC,CAAM,CAAA/qD,EAAO,MACE,IAApBghB,EAAAnnB,OAAc,EACnBigB,CAAAA,EAAAuxC,WAAA,CAAArqC,EAAAnnB,OAAA,EAEHigB,EAAAwxC,QAAA,CAAAtqC,EAAAI,CAAA,CAAAJ,EAAAK,CAAA,CAAAL,EAAAtnB,KAAA,CAAAsnB,EAAAtnB,KAAA,CACA,CACFogB,EAAAwgC,OAAA,EAEA,EAGoBiO,QACd,UAAW,CACf,IAA0BvoD,EAAA8qD,EAAtBhxC,EAAA,IAAS,CAAArmB,MAAQ,CAAA4rD,UAAK,CAIiC,IACzDr/C,EAHEi6C,SAAC,MAAAv0C,KAAkB,CAEvB,IAAK,CAAAuhD,iBAAkB,CAACntC,GACtB9Z,EAAI,EAAC8qD,EAAO,IAAK,CAAAJ,WAAY,CAAEv1D,MAAA,CAAA6K,EAAA8qD,EAAA9qD,IACjC,KAAAk9C,MAAA,MAAAwN,WAAA,CAAA1qD,EAAA,EAEF8Z,EAAAwgC,OAAA,EAEA,EAGiCqQ,cAC1B,SAAgBtW,CAAK,EAE1B,IAAI,CAAAuW,gBAAa,GAAS,CAE1B,IAAKxpC,EAAAC,EAAI3nB,EAA0BsG,EAAnB6pD,EAAK,IAAS,CAAAnwD,KAAK,OAEjCsG,EAAI,EAAAA,EAAO,IAAI,CAACqqD,OAAA,CAAArqD,IAAa,CAC7BohB,EAAI/lB,GAAOqc,IAAI,CAACgJ,YAAY,CAAC2zB,EAAQjzB,CAAC,CAAGyoC,EAAQxV,EAAQjzB,CAAC,CAAGyoC,GAE7DxoC,EAAIhmB,GAAKqc,IAAA,CAAAgJ,YAAkB,CAAA2zB,EAAAhzB,CAAA,CAAAwoC,EAAAxV,EAAAhzB,CAAA,CAAAwoC,GAGvBnwD,EAFF,KAAA6wD,gBAAoB,CAEVlvD,GAAIqc,IAAK,CAAAgJ,YAAe,CAEpC5nB,KACKI,GAAA,QAAAoxD,QAAA,MAAAC,gBAAA,OAAAD,QAAA,MAAAC,gBAAA,EAEJ,KAAAD,QAAA,CAGD,IAAAtpC,EAAW,IAAG3lB,GAAA8lB,KAAA,CAAAC,EAAAC,EAEdL,CAAAA,EAAItnB,KAAK,CAAAA,EACP,KAAA8wD,aAAgB,EACjBxpC,CAAAA,EAAAnnB,OAAA,CAAAwB,GAAAqc,IAAA,CAAAgJ,YAAA,aAGH,KAAAkqC,gBAAA,CAAAz7D,IAAA,CAAA6xB,EAEA,CACF,KAAA0pC,WAAA,CAAAv7D,IAAA,MAAAy7D,gBAAA,CACF,CACA,GAOEvvD,GAAAkwD,YAAe,CAAAlwD,GAAWqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAssD,WAAA,EAAA6D,cAEpB,UACA,CAIJ,IAAoCC,EAASpwD,GAAWqc,IAAA,CAAAqQ,mBAAA,GAAA2jC,EAAAD,EAAA1xC,UAAA,OAS1D,OAPE0xC,EAAW/xD,KAAA,CAAS+xD,EAAalyD,MAAA,CAAA+wD,GACjCoB,EAAWzR,SAAS,MAAAv0C,KAAA,CACpBgmD,EAAWtR,SAAI,GACfsR,EAAWrR,GAAA,CAAAiQ,GAASA,GAAAA,GAAA,EAAAxxD,EAAAA,KAAAsnB,EAAA,KACpBsrC,EAAW9H,SAAI,GAEf8H,EAAO9tC,IAAA,GACT6tC,CAEA,EAAkCE,sBACb,WACrB,OAAAC,OAAA,KAAAJ,aAAA,EAAAvmD,OAAA,uBAAAS,KAAA,KAEA,EAI0BmmD,WACjB,SAAI/xC,CAAA,CAAa,CAC1B,OAAAA,EAAAgyC,aAAA,MAAA/rC,MAAA,OAAAyrC,aAAA,YAEA,EAI+B5K,gBACd,SAAA9mC,CAAA,EACf,IAAI,CAAA2f,SAAA,CAAW,kBAAmB3f,GACpCA,EAAAogC,WAAA,MAAA2R,UAAA,CAAA/xC,EAEA,EAG+BmvC,WACzB,SAAYn4B,CAAU,EAG1B,IAAAtJ,EAAW,IAAG,CAAAiS,SAAW,cAAQ3I,GAAAi7B,EAAAvkC,EAAAwkC,iBAAA,GAAAloB,SAAA,CAAAtc,EAAAhV,WAAA,IAMnC,OANmCgV,EAC/BkF,MAAA,CAAQ,IAAKrxB,GAAM2kB,OAAS,EAC5BD,OAAA,IAAU,CAAAA,MAAS,OAAA4rC,qBAAA,GACnBxW,QAAS,CAAC4W,EAAQ3qC,CAAC,CACrBg0B,QAAA,CAAA2W,EAAA1qC,CAAA,GAEFmG,CACF,CACC,GAAW,UAEN,CAIJ,IAAA6S,EAAAh/B,GAAAqc,IAAA,CAAA2iB,UAAA,CAAA5jB,EAAApb,GAAAqc,IAAA,CAAAjB,gBAAA,CAAAokB,EAAAx/B,GAAAqc,IAAA,CAAAmjB,YAAA,CAoxCsC,IACpC,IAAIxc,KA9uC6FhjB,GAEjGuV,MAAA,CAAAvV,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAA8hD,YAAA,EAMkCrjB,WAChC,SAAYoC,CAAA,CAAAnnC,CAAY,EACxBA,GAAKA,CAAAA,EAAA,IACL,IAAI,CAACsoD,mBAAA,CAAqB,IAAG,CAAAC,cAAK,CAAAz5C,IAAiB,KAAK,EACxD,IAAI,CAAC05C,qBAAgB,MAAAj6C,gBAAA,CAAAO,IAAA,OACrB,IAAI,CAAC25C,WAAA,CAAAthB,EAAgBnnC,GACrB,IAAI,CAACk3D,gBAAA,GACP,KAAAC,kBAAA,EAEA,EASAvY,eAAA,GAcAD,YAAA,WASAyY,gBAAA,GASAC,iBAAA,GAWAC,YAAA,SAWAjV,aAAA,WAOAqH,YAAA,GAOA6N,UAAA,GAYAC,aAAA,WAcAC,gBAAA,KAOAC,eAAA,2BAOAC,mBAAA,GAOAC,qBAAA,2BAOAC,mBAAA,EAOAC,wBAAA,GAOAr5C,YAAA,OAOAC,WAAA,OAOAq5C,cAAA,UAOAC,kBAAA,YAQAC,iBAAA,cAOAC,eAAA,mBAOAx6C,mBAAA,GAOAE,oBAAA,EAWAu6C,eAAA,GAUAx5D,cAAA,GAQAgf,uBAAA,GAQAklC,UAAA,EASAC,cAAA,KAQAsV,gBAAA,GAQAC,eAAA,GAQAC,gBAAA,GAMAC,QAAA,GAOAC,oBAAA,GAOAC,eAAA,KAOAC,gBAAA,GAG6BxB,iBACtB,UAAoB,CACzB,IAAI,CAACyB,iBAAiB,KAAI,CAC1B,IAAI,CAACC,cAAA,KAAmB,CACxB,IAAI,CAACC,mBAAkB,GACvB,IAAI,CAACC,kBAAA,GAEL,IAAI,CAACC,mBAAkB,GAEvB,IAAI,CAACpP,kBAAgB,GAErB,IAAI,CAACj5C,gBAAU,CAAApK,GAAAssD,WAAA,MAAAtsD,GAAAssD,WAAA,OACjB,KAAAr0C,UAAA,EAEA,EAKmCy6C,uBACb,UAAK,CAGzB,IAAsCz4D,EAAA04D,EAAwBC,EAA1DC,EAAc,IAAM,CAAA9qD,gBAAc,GAAwB,GAC5D8qD,EAAA/4D,MAAiB,UAAAud,sBAAA,EACjBs7C,EAAA,GACAC,EAAgB,GAAgD,IAC9D,IAAAjuD,EAAA,EAAS7K,EAAK,IAAS,CAAE0D,QAAA,CAAA1D,MAAA,CAAA6K,EAAA7K,EAAA6K,IACzB1K,EAAI,KAAAuD,QAAc,CAAAmH,EAAO,CACvBkuD,KAAAA,EAAaxwC,OAAK,CAAApoB,GACpB04D,EACK7+D,IAAA,CAAAmG,GAEJ24D,EAAA9+D,IAAA,CAAAmG,EAGD44D,CAAAA,EAAK/4D,MAAc,IACpB,MAAA+rD,aAAA,CAAAroD,QAAA,CAAAo1D,CAAA,EAEHD,EACK7+D,IAAA,CAAA4uB,KAAA,CAAAiwC,EAAAC,EAAA,MAEJD,EAAA,KAAAn1D,QAAA,CAEH,OAAAm1D,CAEA,EAKuBn8C,UACjB,UAAK,EACP,IAAI,CAACs8C,eAAa,EAAK,KAAAR,cAAU,OAAAj6D,aAAA,GACjC,IAAI,CAACquD,YAAA,KAAe,CAAG1C,UAAK,EAC7B,KAAA8O,eAAA,KAEC,IAAI,CAAC3N,cAAc,GACnB,IAAI,CAAC4N,cAAc,KAAG,CAAA/O,UAAK,EAC5B,KAAAmB,cAAA,KAED,IAAI4B,EAAc,KAAAjD,gBAAqB,CAEzC,OADE,KAAAkD,YAAW,CAAAD,EAAA,KAAA2L,sBAAA,IACb,MAE8BK,eACpB,SAAAt0C,CAAA,EACRA,EAAIkgC,IAAI,GACN,IAAI,CAACtmD,aAAA,EAAgB,IAAI,CAAAitD,mBAAqB,GAC9C,IAAI,CAACl7C,gBAAe,EAAG,IAAI,CAAAA,gBAAA,CAAA8iD,OAAA,GAC5B,KAAA4F,eAAA,KAGC,IAAI,CAAC7B,SAAA,MAAe,CAAAqB,cAAA,GACpB,IAAI,CAACU,cAAA,CAAev0C,GACrB,KAAAq0C,eAAA,KAEHr0C,EAAAwgC,OAAA,EAEA,EAMuBgU,UACjB,UAAW,CACf,IAAIx0C,EAAC,KAAAulC,UAAa,CAIpB,OAHE,IAAI,CAAC0C,YAAA,CAAAjoC,GACL,IAAI,CAACs0C,cAAK,CAAAt0C,GACV,KAAAmE,IAAO,iBACT,MAK8CswC,kBAC7B,SAAAj5D,CAAA,CAAA++C,CACX,EAEJ,IAAAtmB,EAAOz4B,EAAO82B,mBAAoB,GAAAoiC,EAAYnzD,GAAAqc,IAAA,CAAA0M,eAAA,CAAA2J,GAAA0gC,EAAA,KAAAC,iBAAA,CAAAra,GAChD,OAAAh5C,GAAAqc,IAAA,CAAAE,cAAA,CAAA62C,EAAAD,EAEA,EAO6CG,oBAC3C,SAAAl5D,CAAA,CAAA2rB,CAAA,CAAAC,CAAA,EAEkF,GAChF5rB,EAAImtD,WAAA,IAAoBntD,EAAK4tD,YAAA,EAAkB5tD,IAAQ,KAAAyrD,aAAA,MAAC0N,EAAG,KAAAL,iBAAA,CAAA94D,EAAA,CAAG2rB,EAAGA,EAC7DC,EAAAA,CAGJ,GAAIwtC,EAAgB/1D,KAAOI,GAAA,CAAIzD,EAAC6tD,iBACvB,CAAAsL,EAAoBxtC,CAAA,CAAM3rB,EAAA0tD,KAAA,IAAkB2L,EAAWh2D,KAAAI,GAAA,CAAAzD,EAAuB8tD,iBAAA,CAAmBqL,EAAAvtC,CAAA,CAAA5rB,EAAA2tD,KAAA,IAE1G55B,EAAOnuB,GAAAqc,IAAA,CAAA8R,aAAA,CAAA/zB,EAAAs5D,aAAA,CAAAj2D,KAAAC,KAAA,CAAA81D,GAAA/1D,KAAAC,KAAA,CAAA+1D,GAAA,KAAAn8C,mBAAA,EACR,OAAA6W,CAED,KAGA1P,EAAO,KAAAk1C,YAAA,CAAAC,EAA2Bx5D,EAAAy5D,wBAAA,CAAA5tC,EAAA,KAAA08B,iBAAA,CAElCvoD,EAAKy5D,wBAAa,IAElB,IAAI,CAAAnN,YAAI,CAAAjoC,GACRA,EAAIkgC,IAAA,GACJlgC,EAAA+J,SAAa,CAACvC,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACd7rB,EAAIynD,MAAO,CAAApjC,GAEXA,EAAAwgC,OAAO,GAEP7kD,EAAIy5D,wBAA2B,CAACD,EAGhC,IAAAzlC,EAAOnuB,GAAAqc,IAAA,CAAA8R,aAAA,CAAA1P,EAAAsH,EAAAC,EAAA,KAAA1O,mBAAA,EACT,OAAA6W,CAEA,EAKoC2lC,uBAC9B,SAAsBxrD,CAAA,CAAK,CAUjC,OAPIvK,MAAAC,OAAA,MAAAkzD,YAA6B,EAAoD,MAAI,CAAAA,YAAA,CAAAr/C,IAAA,UAAAxM,CAAA,EAAE,MAAAiD,CAAA,IAAAA,CAAA,CAAAjD,EAAA,GAIxFiD,CAAA,MAAA4oD,YAAA,GAUyC6C,sBACtC,SAAqBzrD,CAAA,CAAAlO,CAAA,EAGzB,IAAAy4D,EAGG,KAAA9qD,gBACC,GACA69C,EAAc,IAAM,CAAAC,aACpB,CAWN,OAAAzrD,GAAAA,GAAAwrD,GAAAiN,EAAA/4D,MAAA,IAAA+4D,KAAAA,EAAAxwC,OAAA,CAAAjoB,IAAAwrD,IAAAxrD,GAAA,MAAA05D,sBAAA,CAAAxrD,IAAAlO,GAAA,CAAAA,EAAAsN,OAAA,EAAAtN,GAAA,CAAAA,EAAAwO,UAAA,EAAAg9C,GAAAA,IAAAxrD,CAEA,EAU0D45D,uBAC3C,SAAA55D,CAAA,CAAA65D,CAAA,CAAA/nD,CAAA,MAMTgoD,EANS,GACX95D,EAaJ,MAPI65D,UAAAA,GAAsBA,WAAAA,GAAoBA,WAAAA,GAAsBA,aAAAA,EAClEC,EACoB,KAAApD,eAAU,EAAA12D,EAAA02D,eAAA,CACV,WAAlBmD,GACDC,CAAAA,EAAA,KAAAnD,gBAAA,EAAA32D,EAAA22D,gBAAA,EAGHmD,EAAA,CAAAhoD,EAAAA,CAAA,EAM+CioD,qBAChC,SAAA/5D,CAAA,CAAAq/C,CAAA,MACX7zB,EAAG,CACHG,EAAG3rB,EAAOo+C,OAAO,CACnBxyB,EAAA5rB,EAAAq+C,OAAA,EAgBF,MAbIgB,OAAAA,GAAWA,OAAAA,GAAAA,OAAAA,EACb7zB,EACSG,CAAA,SACA0zB,CAAAA,OAAAA,GAAIA,OAAAA,GAAAA,OAAAA,CAAA,GACZ7zB,CAAAA,EAAAG,CAAA,SAGC0zB,OAAAA,GAAWA,OAAAA,GAAAA,OAAAA,EACb7zB,EACSI,CAAA,UACAyzB,CAAAA,OAAAA,GAAIA,OAAAA,GAAAA,OAAAA,CAAA,GACZ7zB,CAAAA,EAAAI,CAAA,QAEHJ,CAEA,EAOmEwuC,qBACjD,SAAAC,CAAiB,CAAA5a,CAAA,CAAAnxC,CAAA,CAAAlO,CAAA,KAC/B,CAAAq/C,GAAO,CAAA4a,EACR,YACD,CACA,IAAAvc,EAAO19C,EAAQ8hB,QAAc,CAAAu9B,EAAG,CAClC,OAAA3B,EAAAoI,aAAA,CAAA53C,EAAAwvC,EAAA19C,EAEA,EAK8Dk6D,uBAC/C,SAAAhsD,CAAA,CAAAlO,CAAA,CAAAi6D,CAAA,KACXj6D,GAUc,IACV4+C,EAAQ,KAAAha,UAAA,CAAA12B,GAAAmxC,EAAAr/C,EAAAm6D,QAAA,CAAAzc,EAAA19C,EAAA8hB,QAAA,CAAAu9B,EAAA,CAAAP,EAAAmb,GAAA5a,EAAA3B,EAAAgI,gBAAA,CAAAx3C,EAAAlO,EAAA09C,GAAA93C,GAAAk+C,aAAA,CAAAT,WAAA,CAAAwW,EAAA,KAAAG,oBAAA,CAAAC,EAAA5a,EAAAnxC,EAAAlO,GAAAwrB,EAAA,KAAAuuC,oBAAA,CAAA/5D,EAAAq/C,GAAAvtC,EAAA5D,CAAA,MAAA0oD,WAAA,EAAAxoC,EAAA,CACRpuB,OAAQA,EACR65D,OAAAA,EACA/a,cAAQA,EACRO,OAAQA,EACR3yC,OAAQ1M,EAAO0M,MAAM,CACrBC,OAAO3M,EAAO2M,MAAK,CACnBomB,MAAO/yB,EAAO+yB,KAAK,CACnBC,MAAAhzB,EAAAgzB,KAAA,CAEA0sB,QAASd,EAAQjzB,CAAC,CAAG3rB,EAAOqN,IAAG,CAC/BsyC,QAASf,EAAQhzB,CAAA,CAAA5rB,EAAAoN,GAAA,CACjBgxC,QAAS5yB,EAAOG,CAAC,CACjB0yB,QAAI7yB,EAASI,CAAA,CACbo2B,GAAIpD,EAAQjzB,CAAC,CACbo2B,GAAAnD,EAAOhzB,CAAA,CACPwuC,MAAOxb,EAAQjzB,CAAC,CAChB0uC,MAAAzb,EAAAhzB,CAAA,CAIAwH,MAAApS,EAAgBhhB,EAAA6qB,KAAA,EAEhB5mB,MAAAjE,EAAYiE,KAAA,CAAQjE,EAAA0M,MAAA,CACpBqF,SAAQ7D,EAAA6D,QAAA,CACRD,OAAAA,EACFqvC,SAAAv7C,GAAAqc,IAAA,CAAA6R,mBAAA,CAAA9zB,EAEJ,EACE,KAAA45D,sBAAoB,CAAA55D,EAAA65D,EAAA/nD,KACpBsc,EAAUgwB,OAAO,CAAG,SACrBhwB,EAAAiwB,OAAA,WAEDjwB,EAAU+yB,QAAQ,CAAC/C,OAAO,CAAG5yB,EAAOG,CAAC,CACrCyC,EAAK+yB,QAAA,CAAA9C,OAAoB,CAAA7yB,EAAAI,CAAA,CACzB,IAAI,CAACqsC,iBAAiB,CAAA7pC,EACxB,KAAAksC,gBAAA,CAAApsD,GA5CE,EAmD0BqsD,UACrB,SAAAt6D,CAAc,EACrB,KAAA0pD,aAAA,CAAApnD,KAAA,CAAAi4D,MAAA,CAAAv6D,CAEA,EAI+B24D,eACzB,SAAgBv0C,CAAA,EAWpB,IAAIo2C,EAAK,KAAAvC,cAAgB,CAAAwC,EAAA,IAAA90D,GAAA8lB,KAAA,CAAA+uC,EAAAzY,EAAA,CAAAyY,EAAA1Y,EAAA,EAAAjqB,EAAAlyB,GAAAqc,IAAA,CAAAE,cAAA,CAAAu4C,EAAA,KAAAnS,iBAAA,EAAAoS,EAAA,IAAA/0D,GAAA8lB,KAAA,CAAA+uC,EAAAzY,EAAA,CAAAyY,EAAAptD,IAAA,CAAAotD,EAAA1Y,EAAA,CAAA0Y,EAAArtD,GAAA,EAAAwtD,EAAAh1D,GAAAqc,IAAA,CAAAE,cAAA,CAAAw4C,EAAA,KAAApS,iBAAA,EAAAj6B,EAAAjrB,KAAAG,GAAA,CAAAs0B,EAAAnM,CAAA,CAAAivC,EAAAjvC,CAAA,EAAA8C,EAAAprB,KAAAG,GAAA,CAAAs0B,EAAAlM,CAAA,CAAAgvC,EAAAhvC,CAAA,EAAA2C,EAAAlrB,KAAAI,GAAA,CAAAq0B,EAAAnM,CAAA,CAAAivC,EAAAjvC,CAAA,EAAA+C,EAAArrB,KAAAI,GAAA,CAAAq0B,EAAAlM,CAAA,CAAAgvC,EAAAhvC,CAAA,EAAAivC,EAAA,KAAA1D,kBAAA,EACvB,KAAI,CAAAH,cAAY,GAChB3yC,EAAImgC,SAAS,KAAM,CAAAwS,cAAa,CACjC3yC,EAAAwxC,QAAA,CAAAvnC,EAAAG,EAAAF,EAAAD,EAAAI,EAAAD,IAGC,KAAA0oC,kBAAA,OAAAD,oBAAA,GAGF7yC,EAAIqgC,SAAA,CAAW,IAAG,CAAAyS,kBAAK,CAEvB9yC,EAAAogC,WAAQ,MAAAyS,oBAAA,CACR5oC,GAAQusC,EACRpsC,GAAQosC,EACRtsC,GAAQssC,EACRnsC,GAAAmsC,EAEAj1D,GAAI4W,MAAA,CAAUC,SAAO,CAAAq+C,YAAa,CAAAnyC,IAAM,MAAOtE,EAAA,KAAA4yC,kBAAA,EACjD5yC,EAAA4gC,UAAA,CAAA32B,EAAAG,EAAAF,EAAAD,EAAAI,EAAAD,GAEA,EASoCssC,WAC1B,SAAC7sD,CAAA,CAAA8sD,CAAgB,MACvB,KAAAvD,cAAA,EAWF,IAA4CwD,EAAAC,EAA5Ctc,EAAA,KAAAha,UAA4C,CAAA12B,EAA5C,IAA4Cs9C,EAAA,KAAAC,aAAA,CAAA0P,EAAA,KAAAxtD,gBAAA,GAAAi5C,EAAAxhB,EAAAl3B,GAAAktD,EAAAD,EAAAz7D,MAAA,KAAAs7D,GAAAG,IAAAA,EAAAz7D,MAAA,CAMiC,GAD7E,KAAAm4D,OAAA,IAEEuD,GAAO5P,EAAA6P,iBAAA,CAAAzc,EAAAgI,IAE8EuU,EAAAz7D,MAAA,KAAAs7D,GAAAxP,IAAA,KAAA8P,sBAAA,EAAe9P,EAAU,CAAA5M,GAD/G,OAAA4M,CACD,CAI+C,GAAC2P,IAAAA,EAAAz7D,MAAA,EAAA8rD,IAAA,KAAA8P,sBAAA,EAAe9P,EAAU,CAAA5M,GAC9D,CAAyB,GAChC,MAAA3hC,sBAAO,CACT,OACKuuC,CAKN,CAHGyP,EAAAzP,EACA0P,EAAiB,KAAArD,OAAA,CAClB,KAAAA,OAAA,IAEH,IACI73D,EAAO,KAAAs7D,sBAAoB,CAAU,KAAAl4D,QAAA,CAAAw7C,GAK3C,OAJI1wC,CAAA,MAAA6oD,eAAS,GAAA/2D,GAAAi7D,GAAAj7D,IAAAi7D,IACTj7D,EAAKi7D,EACN,KAAApD,OAAA,CAAAqD,GAEHl7D,EArCE,EA+CkDu7D,aAC9C,SACI3c,CACJ,CAAAj1B,CAAI,CAAA6xC,CACJ,EACA,GAAA7xC,GAAAA,EAAAw7B,OAAA,EAAAx7B,EAAArc,OAAA,EAEFqc,EACA8xC,aAAU,CAAA7c,MACR,IAAI,CAAA5hC,kBAAoB,GAAC2M,EAAA3M,kBAAyB,EAAA2M,EAAA+xC,SAAiB,EAEjE,CADkB,KAAAxC,mBAAA,CAAAvvC,EAAA6xC,EAAA7vC,CAAA,CAAA6vC,EAAA5vC,CAAA,GAMrB,QAEL,EASmD0vC,uBACjD,SAAA5tD,CAAA,CAAAkxC,CAAA,EAIY,IAFZ,IAAA5+C,EAAA27D,EAAApxD,EAAAmD,EAAAhO,MAAA,CAGE6K,KAAI,CACJ,IAAIqxD,EAAAluD,CAAe,CAAAnD,EAAA,CAEfsxD,EAAKD,EAAahQ,KAAA,CAAc,KAAAkN,iBAAsB,CAAA8C,EAAAhQ,KAAA,CAAAhN,GAAAA,CAAA,IACxD,KAAA2c,YAAiB,CAAAM,EAAED,EAAAhd,GAAA,CAEjB5+C,CADFA,EAAI0N,CAAO,CAAAnD,EAAA,EACTuxD,cAAiB,EAAA97D,aAAuB4F,GAAOqsB,KAAQ,EACvD0pC,CAAAA,EAAA,IAAa,CAAIL,sBAAc,CAAAt7D,EAAAoD,QAAA,CAAAw7C,EAAA,GAChC,KAAAiZ,OAAA,CAAAn+D,IAAA,CAAAiiE,GAEF,MACH,CAEF,OAAA37D,CAEA,EAKqCi5D,kBACrB,SAAKra,CAAA,CAAc,CAInC,OAAAh5C,GAAAqc,IAAA,CAAAE,cAAA,CAAAy8B,EAAAh5C,GAAAqc,IAAA,CAAA0M,eAAA,MAAA45B,iBAAA,EAEA,EAkBqC3jB,WACnC,SAAA12B,CAAA,CAAA6tD,CAAA,EAC0C,GACxC,KAAAC,gBAAY,GAAAD,EACb,YAAAC,gBAAA,CACgC,GAC/B,KAAAC,QAAY,EAAAF,EACb,YAAAE,QAAA,CASD,IAAoCC,EAAhCtd,EAACha,EAAgB12B,GAAAy7C,EAAe,KAAAA,aAAA,CAAA3oB,EAAA2oB,EAAA1gB,qBAAA,GAAAkzB,EAAAn7B,EAAA/8B,KAAA,IAAAm4D,EAAAp7B,EAAAl9B,MAAA,IAClC,EAAAq4D,GAAa,CAAAC,CAAU,IACrB,QAAAp7B,GAAe,WAAiBA,GACjCo7B,CAAAA,EAAA/4D,KAAAif,GAAA,CAAA0e,EAAA5zB,GAAA,CAAA4zB,EAAAsc,MAAA,GAEC,UAAAtc,GAAmB,SAAYA,GAChCm7B,CAAAA,EAAA94D,KAAAif,GAAA,CAAA0e,EAAAuc,KAAA,CAAAvc,EAAA3zB,IAAA,IAIH,KAAAwQ,UAAY,GACZ+gC,EAAQjzB,CAAC,CAAGizB,EAAQjzB,CAAC,CAAG,IAAI,CAACk+B,OAAO,CAACx8C,IAAG,CACxCuxC,EAAKhzB,CAAA,CAAAgzB,EAAYhzB,CAAA,MAAAi+B,OAAA,CAAAz8C,GAAA,CACf2uD,GACDnd,CAAAA,EAAA,KAAAqa,iBAAA,CAAAra,EAAA,EAGD,IAAIyd,EAAA,IAAkB,CAAG/S,gBAAA,GAgBlB,OAfQ,IAAb+S,IACAzd,EAAQjzB,CAAC,EAAI0wC,EACdzd,EAAAhzB,CAAA,EAAAywC,GAIYH,EADXC,IAAAA,GAAAC,IAAAA,EACoB,CAAGn4D,MAAA,EAAUH,OAAA,CACnC,EAGW,CACPG,MAAA0lD,EAAQ1lD,KAAc,CAAMk4D,EAC9Br4D,OAAA6lD,EAAA7lD,MAAA,CAAAs4D,CACD,EAGI,CACHzwC,EAAGizB,EAAQjzB,CAAC,CAAGuwC,EAASj4D,KAAA,CAC1B2nB,EAAAgzB,EAAAhzB,CAAA,CAAAswC,EAAAp4D,MAAA,CAGF,EAIgCs0D,mBAC1B,UAAuB,CAG3B,IAAAkE,EAAA,KAAA7S,aAAA,CAAA/oD,SAAA,CAAA8O,OAAA,sBAA+E,IAAAi6C,EAAA,KAAAA,aAAA,CAAAE,EAAA,KAAAA,aAAA,CAE7EA,EACFA,EACKjpD,SAAA,KAEHipD,EAAK,IAAa,CAAGQ,oBAAA,GACtB,KAAAR,aAAA,CAAAA,GAGD/jD,GAAKqc,IAAA,CAAAimB,QAAU,CAAAyhB,EAAY,gBAAA2S,GAE3B,IAAI,CAACjR,SAAA,CAAA76B,WAAiB,CAAAm5B,GACtB,IAAI,CAAC4S,gBAAA,CAAiB9S,EAACE,GACvB,IAAI,CAACU,iBAAa,CAAAV,GACpB,KAAAC,UAAA,CAAAD,EAAArlC,UAAA,MAEA,EAI2Bk4C,cACd,UAAW,CACxB,YAAA5S,UAAA,EAKgC6M,mBACzB,UAAqB,CAC1B,IAAI,CAACrL,aAAa,CAAC,KAAAjB,oBAA2B,GAC9C,IAAI,CAACiB,aAAa,CAAC1kB,YAAY,CAAC,YAAU,CAAIziC,KAAC,EAC/C,IAAI,CAACmnD,aAAY,CAAA1kB,YAAQ,UAAc,KAAA5iC,MAAW,EACpD,KAAAy1D,YAAA,MAAAnO,aAAA,CAAA9mC,UAAA,MAEA,EAGiC6zC,oBACd,UAAW,CAAwC,IAClE,CAAA9M,SAAS,CAAIzlD,GAACqc,IAAA,CAAAkmB,WAAc,MAAAshB,aAAA,QAC9B,WAAA+N,cAAA,GACqC5xD,GACnCqc,IAAO,CAAAyjB,QAAK,CAAK,IAAG,CAAA2lB,SAAA,EACpBpnD,MAAA,IAAQ,CAAIA,KAAC,CAAM,KACnBH,OAAA,IAAU,CAAAA,MAAA,MACZysB,SAAA,UACA,GACF3qB,GAAAqc,IAAA,CAAAqlB,uBAAA,MAAA+jB,SAAA,CAEA,EAIsChB,kBACxB,SAAU9qD,CAAI,EAG1B,IAAA0E,EAAY,KAAAA,KAAS,EAAA1E,EAAS0E,KAAA,CAAAH,EAAA,KAAAA,MAAA,EAAAvE,EAAAuE,MAAA,CAAA8B,GAC5Bqc,IAAA,CAAAyjB,QAAU,CAAAnmC,EAAA,CACVgxB,SAAO,WACPtsB,MAAAA,EAAQ,KACRH,OAAMA,EAAA,KACNuJ,KAAK,EACLD,IAAA,EACA,mBAAoB,CAAAk7C,mBAAK,gBAAsB,MAAiB,CAClE,wBAAAA,mBAAA,yBAEA/oD,EAAQ0E,KAAA,CAAMA,EACd1E,EAAOuE,MAAK,CAAAA,EACd8B,GAAAqc,IAAA,CAAAqlB,uBAAA,CAAA/nC,EAEA,EAM0Cg9D,iBAC7B,SAAUE,CAAO,CAAAC,CAAM,EACpCA,EAAAn6D,KAAA,CAAAqjC,OAAA,CAAA62B,EAAAl6D,KAAA,CAAAqjC,OAAA,EAMgC+2B,oBAClB,UAAU,CACxB,YAAA/S,UAAA,EAMiCgT,oBACnB,UAAa,CAC3B,YAAAjT,aAAA,EAM6Bz9C,gBACf,WACd,YAAAu/C,aAAA,EAM8B99C,iBACf,UAAK,CAClB,IAAIkvD,EAAQ,KAAApR,aAAA,UACgD,oBACxDoR,EAAOh8D,IAAA,EAAsBg8D,EAAAz5D,QAAA,CAE1By5D,EAAAz5D,QAAA,CAAAgH,KAAA,IACK,CAAOyyD,EAChB,CAGL,IAMgCzzC,iBAC9B,SAAAO,CAAA,EAEEA,IAAK,IAAK,CAAA8hC,aAAA,GAA4B,IAAE,CAAAjjC,IAAA,4BAAQ,CAAIxoB,OAAA2pB,CACpD,GACA,IAAI,CAACmzC,oBAAK,GAAqB,IAAE,CAAAt0C,IAAA,qBAAQ,CAAIxoB,OAAA2pB,CAC7C,GACDA,EAAAnB,IAAA,gBAECmB,IAAK,KAAAouC,cAAqB,GAC1B,IAAI,CAACA,cAAA,CAAe,IAAK,CAC1B,KAAAC,eAAA,KAEH,KAAAh0B,SAAA,oBAAAra,EAEA,EAK8CozC,qBACxC,SAAmBC,CAAO,CAAA9uD,CAAU,EAExC,IAAA+uD,EAAmB,GAASvvD,EAAW,KAAAC,gBAAA,GAAAuvD,EAAA,GAAAC,EAAA,GAAAH,EACjCvvC,OAAQ,UAAQ2vC,CAAA,CAAe,CACV,KAAvB1vD,EAAAua,OAAA,CAAAm1C,KACAH,EAAe,GAAcG,EACxB50C,IAAA,eACHta,EAAAA,EACFlO,OAAAo9D,CACA,GACDD,EAAAzjE,IAAA,CAAA0jE,GAEH,GAAiC1vD,EAC3B+f,OAAA,UAAW5tB,CAAQ,EACE,KAAvBm9D,EAAA/0C,OAAA,CAAmBpoB,KACnBo9D,EAAY,GAAYp9D,EACnB2oB,IAAA,aACHta,EAAAA,EACFlO,OAAAH,CACA,GACDq9D,EAAAxjE,IAAA,CAAAmG,GAEH,GACEm9D,EAAAt9D,MAAA,CAAoB,GAAKgO,EAAKhO,MAAA,GAAqBu9D,GAC9C,KAAAz0C,IAAA,sBACHta,EAAAA,EACAmvD,SAAAH,EACFI,WAAAH,CACF,GAEOzvD,EAAKhO,MAAA,GAAqB,IAC7B,CAAA8oB,IAAG,sBACHta,EAAAA,EACFmvD,SAAAH,CACF,GAEOF,EAAKt9D,MAAA,IAAqB,IAC7B,CAAA8oB,IAAG,sBACHta,EAAAA,EACFovD,WAAAH,CACD,EAGH,EAOsCpwD,gBAChC,SAAiBlN,CAAK,CAAAqO,CAAA,EAC1B,IAAIqvD,EAAiB,IAAC,CAAA5vD,gBAAQ,GAGhC,OAFE,IAAI,CAAC6vD,gBAAA,CAAA39D,EAAqBqO,GAC1B,KAAA6uD,oBAAW,CAAAQ,EAAArvD,GACb,MAYsCsvD,iBAC3B,SAAa39D,CAAK,CAAAqO,CAAA,QAAQ,EACjC,KAAAu9C,aAAY,GAAA5rD,GAGZ,MAAAi9D,oBAAY,CAAA5uD,EAAArO,IAEQA,EAAG49D,QAAA,EAAMvvD,EAAAA,CAAA,MAI/B,KAAAu9C,aAAW,CAAA5rD,EACb,GAEA,EAU0Ci9D,qBACzB,SAAA5uD,CAAa,CAAArO,CAAA,EAC5B,IAAI8pB,EAAK,KAAA8hC,aAAA,IACP9hC,EAAA,CACmB,GAAEA,EAAG+zC,UAAA,EAAGxvD,EAAAA,EAAmBrO,OAAAA,CAAA,GAE7C,QACD,CACD,KAAA4rD,aAAA,MACD,MACF,EAEA,EASkCh+C,oBAC5B,SAAsBS,CAAA,EAC1B,IAAIqvD,EAAe,IAAM,CAAA5vD,gBAAE,GAAA69C,EAAA,KAAAt/C,eAAA,GAM7B,OALIqxD,EAAU79D,MAAA,EAA4B,IAAE,CAAA8oB,IAAA,4BAAQ,CAAcxoB,OAAGwrD,EAAEt9C,EAAAA,CACpE,GAED,IAAI,CAAC4uD,oBAAoB,CAAC5uD,GAC1B,KAAA6uD,oBAAW,CAAAQ,EAAArvD,GACb,MAOqB0P,QACf,UAAU,CACd,IAAIwqB,EAAC,KAAAijB,SAAe,CAetB,OAdE,KAAAsS,eAAoB,GACpBv1B,EAAQ1X,WAAW,CAAC,IAAI,CAACi5B,aAAa,EACtCvhB,EAAK1X,WAAY,CAAG,IAAI,CAAA+4B,aAAA,EACxB,IAAI,CAAC8P,YAAU,CAAG,IAAI,CACtB,KAAA3P,UAAA,OAAkB,gBAAiB,gBAA2B,CAAAn8B,OAC5D,EAAO,SAAKluB,CAAA,EACZqG,GAAKqc,IAAA,CAAAunB,gBAAW,MAAAjqC,EAAA,EACf,IAAK,CAAAA,EAAI,CAAAkD,KAAAA,CACZ,GAAA2L,IAAI,KAAQ,GACVg6B,EAAQ70B,UAAU,EACnB60B,EAAA70B,UAAA,CAAA80B,YAAA,MAAAohB,aAAA,MAAA4B,SAAA,EAED,OAAO,KAAAA,SAAa,CACpBzlD,GAAO8hD,YAAI,CAAAjrC,SAAA,CAAAmB,OAAA,CAAA+K,IAAA,OACb,MAOmBzM,MACjB,WAIF,OAFE,IAAI,CAACzO,mBAAkB,GACvB,KAAA6+C,YAAY,KAAU,CAAA1C,UAAA,EACxB,KAAA5lB,SAAA,SAEA,EAI4BkpB,aACtB,SAAe7oC,CAAA,CAAK,CAExB,IAAImnC,EAAc,KAAAC,aAAA,CAChBD,GACDA,EAAAoS,eAAA,CAAAv5C,EAGH,EAG+D1B,UAC7D,SAAAsnC,CAAA,CAAAhmB,CAAA,CAAAgrB,CAAA,EAMA,IAAA4O,EAAA,KAAAC,8BAA0D,CAAA7T,GAAApqD,EAAA,KAAAmkC,SAAA,aAAAimB,EAAAhmB,EAAAgrB,GAG5D,OADE,KAAA8O,6BAAO,CAAA9T,EAAA4T,GACTh+D,CAEA,EAMmDi+D,+BAC3B,SAAe7T,CAAI,CAAK,CAA4D,GACxGA,CAAAA,EAAI2B,KAAA,EAAc3B,oBAAAA,EAAA2B,KAAA,CAAA/qD,IAAA,OAAA4qD,aAAA,GAAAxB,EAAA2B,KAAA,CAWnB,YARC,IAAAoS,EAAoB,GAKtB,MALqCC,CAHP,QAAS,QAAS,QAAQ,OAAU,SAAU,SAAS,QAAS,QAAM,MAClG,CAGExwC,OAAe,UAAQ7E,CAAA,CAAQ,CACjCo1C,CAAA,CAAAp1C,EAAA,CAAAqhC,CAAA,CAAArhC,EAAA,GAEAhjB,GAAOqc,IAAA,CAAA+T,oBAAA,CAAAi0B,EAAA,KAAAwB,aAAA,CAAA31B,aAAA,IAEJkoC,CAKP,EAMkED,8BAC5C,SAAA9T,CAAA,CAAA+T,CAAA,EAClBA,GACD/T,EAAAl/C,GAAA,CAAAizD,EAGH,EAGmDE,cACjD,SAAAC,CAAA,CAAAlU,CAAA,CAAAr5B,CAAA,EAGA,IAAIitC,EAAW,KAAAC,8BAAmC,CAAA7T,GAClD,IAAI,CAACjmB,SAAA,iBAAAm6B,EAA8BlU,EAAUr5B,GAC/C,KAAAmtC,6BAAA,CAAA9T,EAAA4T,EAEA,EAAqCvS,qBAC1B,SAAiBC,CAAI,EAC5B,IAAI,CAACtvC,iBAAc,OAAAwvC,aAAe,OAAAA,aAAA,CAAAiQ,SAAA,EACnC,KAAAjQ,aAAA,CAAA2S,eAAA,GAEHx4D,GAAA8hD,YAAA,CAAAjrC,SAAA,CAAA6uC,oBAAA,CAAA3iC,IAAA,MAAA4iC,EACF,CAEA,GAGM3lD,GAAS8hD,YAAa,CACjB,cAAP9+B,GACDhjB,CAAAA,GAAAuV,MAAA,CAAAyN,EAAA,CAAAhjB,GAAA8hD,YAAA,CAAA9+B,EAAA,CAGJ,IAAW,UAEN,CAGkB,IAAE6b,EAAc7+B,GAAAqc,IAAA,CAAAwiB,WAAA,CAAAC,EAAA9+B,GAAAqc,IAAA,CAAAyiB,cAAA,CAAA25B,EAAA,CAACC,QAAA,EAEvC,EAA8B,SAC5BC,EAAerwD,CAAA,CAAKjO,CAAE,EACxB,OAAAiO,EAAAswD,MAAA,EAAAtwD,EAAAswD,MAAA,GAAAv+D,EAAA,CAEA,CAAyF2F,GAEvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAuV,MAAA,CAAAsB,SAAA,EAOAgiD,YAAA,KAIiCpG,oBAC/B,WAIA,IAAI,CAACsF,eAAW,GAChB,IAAI,CAACe,WAAW,GAClB,KAAAC,WAAA,CAAAl6B,EAAA,MAEA,EAI6Bm6B,gBACf,WACd,YAAA9G,mBAAA,oBAE+C6G,YACzC,SAAAE,CAAqB,CAAAC,CACrB,EACJ,IAAAC,EAAe,IAAQ,CAAApV,aAAe,CAAAqV,EAAS,KAAAJ,eAAA,GAC/CC,EAAQj5D,GAAA9L,MAAA,CAAe,cAAAmlE,SAAkB,EACzCJ,EAAQE,EAAeC,EAAkB,OAAQ,IAAI,CAACE,YAAY,EAClEL,EAAQE,EAAeC,EAAkB,OAAO,IAAK,CAAAG,YAAW,CAAAd,GAChEQ,EAAQE,EAAeC,EAAkB,UAAS,CAAAI,WAAK,EACvDP,EAAQE,EAAeC,EAAc,QAAa,KAAAK,aAAA,EAClDR,EAAQE,EAAe,aAAAO,aAAoB,EAC3CT,EAAQE,EAAe,cAAY,IAAK,CAAAQ,cAAc,EACtDV,EAAQE,EAAe,WAAY,IAAI,CAACS,cAAW,EACnDX,EAAQE,EAAe,eAAa,CAAIU,WAAC,EACzCZ,EAAQE,EAAe,YAAa,IAAI,CAACW,YAAY,EACrDb,EAAQE,EAAe,YAAa,KAAAY,YAAO,EAC3Cd,EAAKE,EAAK,OAAqB,KAAAa,OAAA,EAC7B,KAAA9H,mBAAuB,EACxB+G,EAAAE,EAAA,kBAAAc,aAAA,CAAAxB,GAES,aAAR,OAAOyB,SAAiBhB,KAA0BgB,UAClDA,OAAO,CAAChB,EAAe,CAACC,EAAe,UAAQ,IAAK,CAAAgB,UAAO,EAC3DD,OAAO,CAAChB,EAAe,CAACC,EAAe,YAAAiB,OAAoB,EAC3DF,OAAO,CAAChB,EAAe,CAACC,EAAe,cAAc,KAAAkB,oBAAQ,EAC7DH,OAAO,CAAChB,EAAe,CAACC,EAAe,YAAa,CAAAmB,QAAK,EAC1DJ,OAAA,CAAAhB,EAAA,CAAAC,EAAA,iBAAAoB,YAAA,EAGH,EAG4BxC,gBACrB,UAAY,CACjB,KAAAgB,WAAA,CAAAj6B,EAAA,UAEA,IAAAs6B,EAAsB,KAAAJ,eAAU,GAChCl6B,EAAe9+B,GAAOod,QAAQ,CAAEg8C,EAAiB,SAAW,CAAAoB,UAAE,EAC9D17B,EAAe9+B,GAAOod,QAAQ,CAAE,gBAAAq9C,WAA0B,CAAIhC,GAC9D35B,EAAe9+B,GAAOod,QAAQ,CAAEg8C,EAAkB,WAAY,CAAAG,YAAE,CAAAd,GAClE35B,EAAA9+B,GAAAod,QAAA,kBAAAm8C,YAAA,CAAAd,EAEA,EAGwBK,YACb,UAAW,CAClB,KAAA4B,WAAA,GAIF,IAAI,CAACpB,YAAA,CAAa,IAAG,CAAIA,YAAC,CAAA9wD,IAAc,KAAK,EAC7C,IAAI,CAACyxD,aAAY,CAAG,IAAK,CAAAA,aAAa,CAAAzxD,IAAK,KAAI,EAC/C,IAAI,CAAC+wD,YAAU,CAAG,IAAK,CAAAA,YAAW,CAAI/wD,IAAC,CAAI,MAC3C,IAAI,CAACgyD,UAAA,CAAW,IAAG,CAAIA,UAAC,CAAAhyD,IAAY,KAAK,EACzC,IAAI,CAACiyD,WAAS,CAAG,IAAK,CAAAA,WAAU,CAAIjyD,IAAC,CAAI,MACzC,IAAI,CAAC6wD,SAAA,CAAU,IAAG,CAAIA,SAAC,CAAA7wD,IAAW,KAAK,EACvC,IAAI,CAAC2xD,UAAU,KAAK,CAAAA,UAAa,CAAA3xD,IAAI,OACrC,IAAI,CAAC4xD,OAAA,CAAQ,IAAG,CAAIA,OAAC,CAAA5xD,IAAS,KAAK,EACnC,IAAI,CAAC8xD,QAAA,KAAe,CAAAA,QAAK,CAAA9xD,IAAA,KAAa,EACtC,IAAI,CAAC+xD,YAAA,MAAoBA,YAAQ,CAAA/xD,IAAA,OACjC,IAAI,CAAC6xD,oBAAoB,CAAC,KAAAA,oBAAuB,CAAA7xD,IAAA,OACjD,IAAI,CAACkxD,aAAW,CAAG,IAAK,CAAAA,aAAY,CAAIlxD,IAAC,CAAI,MAC7C,IAAI,CAACgxD,WAAA,CAAa,IAAG,CAAAA,WAAK,CAAAhxD,IAAc,KAAK,EAC7C,IAAI,CAACixD,aAAA,CAAc,IAAG,CAAIA,aAAC,CAAAjxD,IAAe,KAAK,EAC/C,IAAI,CAACmxD,cAAc,CAAG,IAAI,CAACA,cAAc,CAACnxD,IAAI,CAAC,IAAI,EACnD,IAAI,CAACoxD,cAAc,KAAK,CAAAA,cAAiB,CAAApxD,IAAI,OAC7C,IAAI,CAACqxD,WAAA,CAAY,IAAG,CAAIA,WAAC,CAAArxD,IAAA,KAAoB,EAC7C,IAAI,CAACsxD,YAAY,CAAG,IAAI,CAACa,mBAAmB,CAACnyD,IAAI,CAAC,IAAI,CAAE,aACxD,IAAI,CAACuxD,YAAU,CAAK,KAAAY,mBAAiB,CAAAnyD,IAAA,mBACrC,IAAI,CAACwxD,OAAA,KAAc,CAAAA,OAAI,CAAAxxD,IAAA,OACzB,KAAAkyD,WAAA,IAEA,EAK8BP,WACvB,SAAA7xD,CAAA,CAAAzU,CAAA,CAAoB,CAC3B,KAAA+mE,oBAAA,OAAAA,oBAAA,CAAAtyD,EAAAzU,EAEA,EAK2BumE,QACpB,SAAQ9xD,CAAA,CAAIzU,CAAI,CAAC,CACxB,KAAAgnE,QAAA,OAAAA,QAAA,CAAAvyD,EAAAzU,EAEA,EAI2B6lE,cACpB,SAAepxD,CAAA,EACtB,KAAAwyD,cAAA,CAAAxyD,EAEA,EAIyBkxD,YACnB,SAAclxD,CAAA,EAClB,IAAIlO,EAAM,KAAA+3D,cAAa,KAAE,CAAAvvC,IAAA,aAAQ,CAAQxoB,OAAGA,EAAEkO,EAAAA,CAC9C,GACA,KAAA6pD,cAAiB,CAAK,KAAY/3D,GAAKA,EAAAwoB,IAAA,aAAEta,EAAAA,CAEzC,GACA,IAAIi2B,EAAC,KAAyC,IAC5C,CAAA6zB,eAAW,CAAAvqC,OAAa,UAAAkzC,CAAA,EAAAx8B,EAAE3b,IAAA,aAAQ,CAAQxoB,OAAGA,EAAEkO,EAAAA,CAC/C,GAAmCyyD,GAAK3gE,EAAAwoB,IAAA,aAAEta,EAAAA,CAC5C,EACA,GAEA,IAAI,CAAA8pD,eAAK,GAAe,CACtB,IAAI,CAACtL,eAAe,EAAuB,IACzC,CAAAA,eAAQ,CAASj/B,OAAE,UAAA9D,CAAA,EACjBA,EAAI+xC,SAAA,EACL/xC,EAAAi3C,cAAA,CAAApgE,KAAA,EAEJ,EAGH,EAI2B6+D,cACzB,SAAAnxD,CAAA,EAOE,IAAK,CAAA+pD,iBAAK,EAAc,KAAA8C,UAAA,CAAA7sD,KAAA,IAAE,CAAAsa,IAAA,cAAY,CAAExoB,OAAG,KAAEkO,EAAAA,CAC7C,GACA,IAAI,CAAC6pD,cAAA,CAAe,IAAK,CAC1B,KAAAC,eAAA,IAGH,EAKwCiI,qBACjC,SAAqB/xD,CAAA,CAAIzU,CAAI,CAAC,CACrC,KAAAonE,qBAAA,OAAAA,qBAAA,CAAA3yD,EAAAzU,EAEA,EAK4BymE,SACrB,SAAShyD,CAAA,CAAIzU,CAAI,CAAC,CACzB,KAAAqnE,SAAA,OAAAA,SAAA,CAAA5yD,EAAAzU,EAEA,EAKgC0mE,aACzB,SAAajyD,CAAA,CAAIzU,CAAI,CAAC,CAC7B,KAAAsnE,aAAA,OAAAA,aAAA,CAAA7yD,EAAAzU,EAEA,EAKyBgmE,YACrB,SAAcvxD,CAAA,EAChBA,EAAA6C,cAAa,GACb,IAAI/Q,EAAC,KAAAugE,mBAA8B,YAAAryD,GACrC,KAAA8yD,qBAAA,CAAAhhE,EAAAkO,EAEA,EAOsB0xD,QACf,SAAA1xD,CAAA,EAEP,OADE,KAAAqyD,mBAAY,eAA4BryD,GAC1C,KAAAqyD,mBAAA,QAAAryD,EAEA,EAI6BqxD,eAClB,SAAArxD,CAAA,CAAe,CAK1B,OAJI,IAAE,CAAAwpD,eAAe,GACjBxpD,EAAE+yD,eAAc,GACjB/yD,EAAA6C,cAAA,IAEH,EAEA,EAI6ByuD,eACtB,SAAAtxD,CAAA,EACL,IAAI,CAACgzD,wBAAgB,CAAAhzD,GACrB,IAAI,CAACizD,YAAA,CAAAjzD,EAAA,YACP,KAAAkzD,wBAAA,CAAAlzD,EAEA,EAM4BmzD,aACtB,SAAAC,CAAiB,EAErB,IAAIr8B,EAAgBq8B,EAAAr8B,cAAA,UAEnBA,CAAA,KAAAA,CAAA,IAAAs8B,UAAA,CAGC,KAAAzJ,mBAAoB,CACrBwJ,EAAAE,SAAA,CAGH,EALE,EAY0B7O,aAClB,SAAS2O,CAAK,QAAM,CACf,IAAXA,EAAAG,SAAW,EAGC,KAAZH,EAAAG,SAAY,GAGD,aAAXH,EAAAzgE,IAAO,EAAIygE,IAAAA,EAAAI,OAAA,CAAAhiE,MAAA,GAGX4hE,EAAAr8B,cAAW,EACZq8B,EAAAr8B,cAAA,IAAAs8B,UAAA,QAAA9C,WAAA,CAIH,EAI2BoB,cACvB,SAAc3xD,CAAA,EAChBA,EAAA6C,cAAS,GACY,IAAK,GAAxB,IAAI,CAAC0tD,WAAW,EACjB,MAAAA,WAAA,MAAA4C,YAAA,CAAAnzD,EAAA,EAED,IAAI,CAACyzD,aAAA,CAAAzzD,GACL,IAAI,CAAAkzD,wBAAqB,GAEzB,IAAArC,EAAmB,KAAApV,aAAU,CAAAqV,EAA4B,IAAE,CAAAJ,eAAA,GAC3Dn6B,EAAY7+B,GAAOod,QAAQ,CAAE,eAAa,CAAIq9C,WAAC,CAAYhC,GAC3D55B,EAAA7+B,GAAAod,QAAA,kBAAAm8C,YAAA,CAAAd,GAEF35B,EAAAq6B,EAAAC,EAAA,YAAAE,YAAA,CAEA,EAI2BA,aACpB,SAAchxD,CAAA,EACnB,IAAI,CAACyzD,aAAA,CAAAzzD,GACL,IAAI,CAAAkzD,wBAAqB,GAEzB,IAAArC,EAAe,KAAApV,aAAe,CAAAqV,EAA0B,IAAK,CAAAJ,eAAc,GAC3El6B,EAAYq6B,EAAiBC,EAAkB,OAAM,IAAK,CAAAG,YAAU,CAAAd,GACpE55B,EAAY7+B,GAAOod,QAAQ,CAAEg8C,EAAkB,SAAQ,CAAAoB,UAAK,EAC9D37B,EAAA7+B,GAAAod,QAAA,CAAAg8C,EAAA,YAAAG,YAAA,CAAAd,EAEA,EAIyBgC,YACjB,SAAQnyD,CAAA,CAAM,CAAM,IACxBA,CAAAA,EAAAwzD,OAAA,CAAAhiE,MAAA,KAIF,IAAI,CAACkiE,WAAA,CAAA1zD,GACL,IAAI,CAACkzD,wBAAkB,GACvB,IAAI,CAAA3C,WAAA,KAAkB,CACtB,IAAAO,EAAsB,KAAAJ,eAAU,GAChCl6B,EAAe9+B,GAAOod,QAAQ,CAAE,eAAa,CAAIq9C,WAAC,CAAYhC,GAC9D35B,EAAY9+B,GAAIod,QAAA,kBAAAm8C,YAAA,CAAAd,GAChB,IAAIl6B,EAAK,KACP,KAAA09B,iBAAkB,EACnBvkD,aAAA,KAAAukD,iBAAA,EAC8C,IAC7C,CAAAA,iBAAA,CAAAtkD,WAAA,WAGAknB,EAAMN,EAAAwlB,aAAoB,CAAAqV,EAAA,OAAA76B,EAAA+6B,YAAA,EACzB/6B,EAAA09B,iBAAA,EACL,OAhBE,EAsBuBzB,WAClB,SAAYlyD,CAAA,EACjB,IAAI,CAAC0zD,WAAA,CAAA1zD,GACL,IAAI,CAAAkzD,wBAAqB,GAEzB,IAAIrC,EAAK,IAAa,CAAApV,aAAI,CAAAqV,EAAA,KAAAJ,eAAA,GACxB,KAAAjM,YAAe,CAAAzkD,KACfw2B,EAAe9+B,GAAOod,QAAQ,CAAEg8C,EAAkB,SAAQ,CAAAoB,UAAK,EAC/D17B,EAAY9+B,GAAAod,QAAe,CAAAg8C,EAAkB,OAAa,KAAAG,YAAc,CAAAd,GACzE55B,EAAAs6B,EAAAC,EAAA,YAAAG,YAAA,CAAAd,GAGH,EAI2Bc,aACnB,SAAAjxD,CAAA,EACN,KAAK,CAAAo6C,mBAAc,EAAAp6C,EAAA6C,cAAA,EAAA7C,EAAA6C,cAAA,GACrB,KAAA+wD,aAAA,CAAA5zD,EAEA,EAGuB+wD,UAChB,UAAU,CACjB,KAAAphD,UAAA,EAEA,EAKgCkkD,cAC1B,SAAe/hE,CAAK,EAExB,IACEwrD,EAAE,IAAiB,CAACC,aACnB,OACD,CACA,CAAAD,GAAA,EAAAxrD,GAAAwrD,EAAAA,KAAAxrD,GAAAwrD,IAAAxrD,IAKAwrD,GAAAA,EAAAkQ,SAAA,CAKJ,GAEA,EAO0BkG,YACpB,SAAQ1zD,CAAA,EAGZ,IA2CImxC,EAAQT,EA3CR5+C,EAACouB,EAAA,KAAwB6pC,iBAAC,CAAA+J,EAAA,KAAA9J,cAAA,CAAA+J,EAAA,GAAAC,EAAA,CAAAF,GAAAA,IAAAA,EAAA30D,IAAA,EAAA20D,IAAAA,EAAA50D,GAAA,CAKE,GAJhC,KAAA8zD,wBAAqB,CAAAhzD,GACrBlO,EAAK,KAAA2gE,OAAgB,CACrB,KAAAQ,YAAA,CAAAjzD,EAAA,aAGEqwD,EAASrwD,EAvauB,GAuaP,CACvB,IAAI,CAACypD,cAAa,EACnB,KAAAwJ,YAAA,CAAAjzD,EAAA,KAza+B,EAya/Bg0D,GAEF,MAED,IACE3D,EAASrwD,EA9auB,GA8aN,CACxB,IAAI,CAAC0pD,eAAa,EACnB,KAAAuJ,YAAA,CAAAjzD,EAAA,KAhb+B,EAgb/Bg0D,GAED,KAAAd,wBAAA,GACD,MAED,IACE,IAAI,CAACnjE,aAAA,OAAAitD,mBAAwB,EAC7B,KAAAiX,uBAAA,CAAAj0D,GACD,MAED,IACE,KAAAykD,YAAA,CAAAzkD,IAMY,GAHZkgB,IACA,KAAAg0C,yBAAyB,CAAAl0D,GAC1B+zD,EAAA7zC,EAAA8wB,eAAA,EAEC,CAAAgjB,EAAI,CACJ,IAAIG,EAACriE,IAAmB,KAAAyrD,aAAA,CACxB,IAAI,CAAC6W,kBAAc,CAAAp0D,GACjB+zD,GAIDA,CAAAA,EAAA,KAAAF,aAAA,CAAA/hE,IAAA,CAAAqiE,GAAAriE,IAAA,KAAAyrD,aAAA,CAEH,IAEEzrD,EAAA,CAIoF,GAApFq/C,EAAIr/C,EAAOq7D,iBAAc,KAAW,CAAAz2B,UAAK,CAAA12B,EAAA,IAAiBtI,GAAOqc,IAAA,CAAAmjB,YAAmB,CAAAl3B,IAClFlO,EAAKwO,UAAA,EAAgBxO,IAAQ,KAAAyrD,aAAA,EAAAzrD,OAAAA,EAAAuiE,QAAA,CAC7B,KAAAx1D,eAAmB,CAAA/M,EAAAkO,GACrB+zD,EACK,OACH,CAEA,IAAIvkB,EAAA19C,EAAgB8hB,QAAA,CAAAu9B,EAAA,CAAAoG,EAAA/H,GAAAA,EAAAkI,iBAAA,CAAA13C,EAAAlO,EAAA09C,GAClB+H,IACA7G,EAAA,KAAeha,UAAG,CAAA12B,GACnBu3C,EAAAv3C,EAAAkgB,EAAAwwB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,EAEH,GACD42C,QAAA,GACD,IAGEp0C,GAAIA,CAAAA,EAAkBpuB,MAAA,GAAUA,GAAUouB,EAAUixB,MAAO,GAAAA,CAAS,GAEpE,IAAAojB,EAAqBr0C,EAAKpuB,MAAW,EAAAouB,EAAApuB,MAAA,CAAA8hB,QAAA,CAAAsM,EAAAixB,MAAA,EAAAqjB,EAAAD,GAAAA,EAAA7c,iBAAA,CAAA13C,EAAAlO,EAAA09C,GACrCkB,EAAAA,GAAA,KAA0Bha,UAAA,CAAA12B,GAC3Bw0D,GAAAA,EAAAx0D,EAAAkgB,EAAAwwB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,CACD,KACI,CAAC+2C,mBAAgB,CAAAz0D,EAAMlO,GAC3B,IAAI,CAACmhE,YAAA,CAAAjzD,EAAc,KAzee,EAyeRg0D,GAC1B,IAAI,CAAChK,cAAA,CAAiB,IAAG,CACzB,KAAAD,iBAAA,MAEAj4D,GAAIA,CAAAA,EAAcm6D,QAAA,IAChB8H,EACF,IACK,CAAAp0D,gBAAc,GACZq0D,GACN,KAAArJ,SAAA,GArDD,EA+D0C0H,oBACzB,SAACqC,CACd,CAAA10D,CAAA,EACU,IACRlO,EAAG,KAAA+6D,UAAA,CAAA7sD,GAAA2pD,EAAA,KAAAA,OAAA,CAAAv4D,EAAA,CACH4O,EAAAA,EACAlO,OAAAA,EACF6iE,WAAAhL,CACJ,EAEc,GADd,KAAArvC,IAAA,CAAUo6C,EAAWtjE,GACrBU,GAAKA,EAASwoB,IAAA,CAAAo6C,EAAAtjE,GACZ,CAAAu4D,EACD,OAAA73D,CACD,CAAyC,IACvC,IAAAuK,EAAQ,EAAGA,EAAIstD,EAACn4D,MAAW,CAAA6K,IAC7BstD,CAAA,CAAAttD,EAAA,CAAAie,IAAA,CAAAo6C,EAAAtjE,GAEF,OAAAU,CAEA,EASsDmhE,aAChD,SAAcjzD,CAAA,CAAA00D,CACd,CAAApE,CAAU,CAAI0D,CAAC,CAAO,CACZ,IACRliE,EAAG,KAAA2gE,OAAA,CAAA9I,EAAA,KAAAA,OAAA,KAAAv4D,EAAA,CACH4O,EAAAA,EACAlO,OAAAA,EACA6iE,WAAQhL,EACR2G,OAAAA,GAhiB4B,EAiiB5B0D,QAASA,GAAK,GACdtjB,QAAA,KAAAqd,QAAsB,CACtB6G,gBAAgB,KAAA9G,gBAAiB,CACnC5tC,UAAA,KAAA6pC,iBAAA,EAEM,OAAR2K,IACAtjE,EAAQ2D,aAAA,KAAoB,CAAA83D,UAAK,CAAO7sD,GACzC5O,EAAAyjE,iBAAA,MAAAlL,OAAA,EAED,KAAArvC,IAAA,CAAU,SAAWo6C,EAAWtjE,GAChCU,GAASA,EAAOwoB,IAAI,SAAQo6C,EAAatjE,GAAA,IACvC,IAAAiL,EAAQ,EAAGA,EAAIstD,EAACn4D,MAAU,CAAA6K,IAC5BstD,CAAA,CAAAttD,EAAA,CAAAie,IAAA,SAAAo6C,EAAAtjE,EAGF,EAIuC8iE,0BAEhB,SAAAl0D,CAAA,EAEP,IACRkgB,EAAG,KAAA6pC,iBAAA,CAAAj4D,EAAAouB,EAAApuB,MAAA,CAAAV,EAAA,CACH4O,EAAAA,EACAlO,OAAAA,EACAouB,UAAQA,EACVyrC,OAAAzrC,EAAAyrC,MAAA,CAGF75D,CAAAA,EAAOgjE,QAAQ,EAChBhjE,CAAAA,EAAAgjE,QAAA,KAIDhjE,EAAIwN,SAAU,GACZ4gB,CAAAA,EAAU8wB,eAAa,OAAAkJ,QAAA,EAAApoD,EAAAijE,eAAA,KACxB,KAAAC,KAAA,YAAA5jE,EAGH,EAIuC6jE,0BAChC,SAA0Bj1D,CAAA,EAC/B,IAAI,CAAAg9C,mBAAoB,IACtB,IAAI,CAACh/C,eAAA,IACN,KAAAuB,mBAAA,CAAAS,GAAAL,gBAAA,GAED,IAAI+wC,EAAC,KAAAha,UAAiB,CAAA12B,GAAqB,IAAE,CAAA8B,gBAAG,CAAA0iD,WAAA,CAAA9T,EAAA,CAAG1wC,EAAAA,EAAiB0wC,QAAAA,CACpE,GACF,KAAAuiB,YAAA,CAAAjzD,EAAA,OAEA,EAIuCk1D,0BAC5B,SAAqBl1D,CAAA,KAC5B,IAAI,CAAAg9C,mBAAe,EACnB,IAAItM,EAAC,KAAAha,UAAiB,CAAA12B,GAAqB,IAAE,CAAA8B,gBAAG,CAAA+iD,WAAA,CAAAnU,EAAA,CAAG1wC,EAAAA,EAAiB0wC,QAAAA,CACrE,EACD,KACI,CAAC2b,SAAA,KAAa,CAAAjD,iBAAG,EACvB,KAAA6J,YAAA,CAAAjzD,EAAA,OAEA,EAIqCi0D,wBAChB,SAAWj0D,CAAA,EAC9B,IAAI0wC,EAAC,KAAAha,UAAsB,CAAA12B,EAAgC,KAAE,CAAAg9C,mBAAG,MAAAl7C,gBAAA,CAAAijD,SAAA,EAAG/kD,EAAAA,EAAiB0wC,QAAAA,CACpF,GACF,KAAAuiB,YAAA,CAAAjzD,EAAA,KAEA,EAQ4ByzD,cACrB,SAAAzzD,CAAA,EACL,IAAI,CAACgzD,wBAAgB,CAAAhzD,GACrB,IAAI,CAAAizD,YAAa,CAACjzD,EAAA,eAClB,IAAAlO,EAAA,KAAA2gE,OAAA,CACgC,GAC9BpC,EAASrwD,EA7nBuB,GA6nBP,CACvB,IAAI,CAACypD,cAAa,EACnB,KAAAwJ,YAAA,CAAAjzD,EAAA,OA/nB+B,GAioBjC,MAED,IACEqwD,EAASrwD,EApoBuB,GAooBN,CACxB,IAAI,CAAC0pD,eAAa,EACnB,KAAAuJ,YAAA,CAAAjzD,EAAA,OAtoB+B,GAwoBjC,MAED,IACE,IAAI,CAACjQ,aAAA,EACL,KAAAklE,yBAAA,CAAAj1D,GACD,MAED,IACE,KAAAykD,YAAA,CAAAzkD,KAKA,KAAA+pD,iBAAA,EAIF,IAAArZ,EAAA,KAAAqd,QAAA,CAEA,IAAI,CAAAoH,gBAAe,CAAKzkB,EAExB,IAAIqjB,EAAK,KAAAF,aAAyB,CAAA/hE,GAASsjE,EAAA,KAAAC,YAAA,CAAAr1D,EAAAlO,GAkB/B,GAjBV,IAAI,CAAC25D,qBAAoB,CAAAzrD,EAAAlO,GAC3B,IACK,CAAAyN,mBAAiB,CAAAS,GACfo1D,IACL,KAAAE,eAAc,CAAAt1D,EAAAlO,GACfA,EAAA,KAAAyrD,aAAA,GAIC,IAAI,CAACoL,SAAA,EAAc,GAAG,GAAAroD,UAAA,EAAAxO,EAAA07D,SAAA,EAAA17D,IAAA,KAAAyrD,aAAA,QACpB,CAAAyM,cAAS,EACTlW,GAAI,IAAI,CAACga,gBAAgB,CAACrwC,CAAC,CAC3Bo2B,GAAA,IAAK,CAAAia,gBAAA,CAAApwC,CAAA,CACLxe,IAAA,EACFC,KAAA,CACD,GAGCrN,EAAI,CACJ,IAAIi6D,EAAiBj6D,IAAW,KAAAyrD,aAAa,CAC3CzrD,EAAKwO,UAAA,EAAgBxO,SAAAA,EAAAuiE,QAAQ,EAC9B,KAAAx1D,eAAA,CAAA/M,EAAAkO,GAKD,IAAAmxC,EAAOr/C,EAAWq7D,iBAAA,MAAAz2B,UAAA,CAAA12B,EAAA,IAAAtI,GAAAqc,IAAA,CAAAmjB,YAAA,CAAAl3B,IAC6C,GAA/DlO,EAAIm6D,QAAW,CAAA9a,EACbr/C,IAAK,KAAAyrD,aAAuB,EAAGpM,CAAAA,GAAQ,CAAAikB,CAAA,GACvC,IAAI,CAAApJ,sBAAiB,CAAAhsD,EAASlO,EAC1Bi6D,GAEJ,IAAIvc,EAAA19C,EAAA8hB,QAAkB,CAAAu9B,EAAA,CAAAT,EAAA,KAAAha,UAAA,CAAA12B,GAAAs3C,EAAA9H,GAAAA,EAAAiI,mBAAA,CAAAz3C,EAAAlO,EAAA09C,GACpB8H,GACDA,EAAAt3C,EAAA,KAAA+pD,iBAAA,CAAArZ,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,CAEJ,EACD,IACA,CAAAu1C,YAAA,CAAAjzD,EAAA,QAEF,CAAA+zD,GAAAqB,CAAA,QAAAz1D,gBAAA,GAnDE,EAyDmCuzD,yBAChB,WACnB,IAAI,CAACT,OAAA,CAAQ,IAAG,CAChB,IAAI,CAAC1E,QAAA,MACP,KAAAD,gBAAA,OAOsCkF,yBACpC,SAAAhzD,CAAA,EAEA,IAAI,CAACkzD,wBAAgB,GACrB,IAAI,CAACnF,QAAA,MAAgBr3B,UAAQ,CAAA12B,EAAA,IAC7B,IAAI,CAAC8tD,gBAAe,MAAA/C,iBAAyB,MAAAgD,QAAA,EAC/C,KAAA0E,OAAA,MAAA1I,iBAAA,MAAAA,iBAAA,CAAAj4D,MAAA,MAAA+6D,UAAA,CAAA7sD,IAAA,MAK8BosD,iBACf,SAAApsD,CAAA,EACb,IAAI+f,EAAC,KAAQgqC,iBAAa,CAC1B,IAAI,CAAC7P,QAAK,EAAAn6B,EAAAjuB,MAAA,CAAAyjE,SAAoB,OAC5B,CAAAj7C,IAAG,qBACHta,EAAAA,EACFkgB,UAAAH,CACF,EAEA,EAS4B6zC,cACrB,SAAa5zD,CAAG,EAIG,GAHxB,IAAI,CAACizD,YAAA,CAAAjzD,EAAA,eACL,IAAI,CAAAgzD,wBAAQ,CAAAhzD,GAGV,IAAI,CAACjQ,aAAA,EACL,KAAAmlE,yBAAA,CAAAl1D,GACD,MAED,IACE,KAAAykD,YAAA,CAAAzkD,IAKF,IAXIlO,EAAK4+C,EAWTojB,EAAA,KAAA9J,cAAA,CAEE8J,GAEApjB,EAAA,IAAc,CAAAod,gBAAgB,CAC9BgG,EAAc30D,IAAG,CAAGuxC,EAASjzB,CAAA,CAAGq2C,EAAchgB,EAAE,CAEhDggB,EAAc50D,GAAA,CAAAwxC,EAAAhzB,CAAA,CAAAo2C,EAAAjgB,EAAA,CAChB,IACK,CAAA8W,SAAU,IACb,IAAS,CAAIZ,iBAAY,CAM1B,KAAAyL,gBAAA,CAAAx1D,IALClO,EAAK,KAAA+6D,UAAmB,CAAC7sD,IAAG,KAC5B,IAAI,CAACy0D,mBAAmB,CAAAz0D,EAAAlO,GAC1B,IACK,CAAA2jE,kBAAA,CAAA3jE,EAAAkO,IAIL,IAAI,CAACizD,YAAA,CAAAjzD,EAAA,QACP,KAAAkzD,wBAAA,GArBE,EA6BsCuC,mBAClC,SAAqB3jE,CAAC,CAAAkO,CAAA,EAI1B,IAAI6pD,EAAC,KAAAA,cAAiC,CAAGC,EAAA,KAAAA,eAAA,CAAAH,EAAA,KAAAA,OAAA,CAAAn4D,EAAA2D,KAAAI,GAAA,CAAAu0D,EAAAt4D,MAAA,CAAAm4D,EAAAn4D,MAAA,MACvC,CAAAkkE,wBAAW,CAAA5jE,EAAAkO,EAAA,CACX21D,UAAQ9L,EACR+L,OAAA,WACAC,aAAO,YACPC,MAAA,YACFC,YAAA,YACA,GAAgC,IAC9B,IAAI15D,EAAC,EAAAA,EAAA7K,EAAA6K,IAAwC,IAC3C,CAAAq5D,wBAAW,CAAe/L,CAAG,CAAAttD,EAAA,CAAA2D,EAAA,CAC7B21D,UAAQ7L,CAAA,CAAAztD,EAAA,CACRu5D,OAAO,WACTE,MAAA,WACF,EAEA,KAAI,CAACjM,cAAA,CAAe/3D,EACtB,KAAAg4D,eAAA,MAAAH,OAAA,CAAAtzD,MAAA,EAEA,EAM2Cy8D,sBACrC,SAAqBhhE,CAAK,CAAAkO,CAAA,EAI9B,IAAIg2D,EAAC,IAAwB,CAACA,kBAAW,CAAAlM,EAAA,KAAAA,eAAA,CAAAH,EAAA,KAAAA,OAAA,CAAAn4D,EAAA2D,KAAAI,GAAA,CAAAu0D,EAAAt4D,MAAA,CAAAm4D,EAAAn4D,MAAA,MACvC,CAAAkkE,wBAAW,CAAA5jE,EAAAkO,EAAA,CACX21D,UAAQK,EACRJ,OAAO,YACTE,MAAA,WACA,GAAiC,IAC/B,IAAIz5D,EAAC,EAAAA,EAAA7K,EAAA6K,IAAwC,IAC3C,CAAAq5D,wBAAW,CAAe/L,CAAG,CAAAttD,EAAA,CAAA2D,EAAA,CAC7B21D,UAAQ7L,CAAA,CAAAztD,EAAA,CACRu5D,OAAO,YACTE,MAAA,WACF,EAEF,MAAAE,kBAAA,CAAAlkE,CAEA,EAYsD4jE,yBACjC,SAAY5jE,CAAA,CAAOkO,CAAA,CAAAxI,CAAS,CAAE,CAEjD,IAAIy+D,EAAAC,EAAeP,EAAAn+D,EAAAm+D,SAAA,CAAAQ,EAAAR,IAAA7jE,EAAAikE,EAAAv+D,EAAAu+D,WAAA,CAAAF,EAAAr+D,EAAAq+D,YAAA,CACjBM,IAAQF,EAAK,CAAGj2D,EAAAA,EAAgBlO,OAAAA,EAA0BskE,eAAAT,CAC1D,EAASO,EAAK,CAAGl2D,EAAAA,EAAmBlO,OAAA6jE,EAAmBU,WAAAvkE,CACxD,GAGG6jE,GAAUQ,IAEZN,GAAe,KAAAv7C,IAAO,CAAAu7C,EAAQK,GAC/BP,EAAAr7C,IAAA,CAAA9iB,EAAAo+D,MAAA,CAAAM,IAJDpkE,GAAWqkE,IAOTJ,GAAY,IAAO,CAAAz7C,IAAK,CAAAy7C,EAAEE,GAC3BnkE,EAAAwoB,IAAA,CAAA9iB,EAAAs+D,KAAA,CAAAG,GAGH,EAI4BzD,eACrB,SAAAxyD,CAAA,EACL,IAAI,CAACgzD,wBAAgB,CAAAhzD,GACrB,IAAI,CAACizD,YAAA,CAAAjzD,EAAA,SACP,KAAAkzD,wBAAA,EAEA,EAI8BsC,iBACd,SAAKx1D,CAAA,EAGnB,IAAA0wC,EAAU,IAAQ,CAAAha,UAAK,CAAA12B,GAAAkgB,EAAA,KAAA6pC,iBAAA,CACvB7pC,EAAUo2C,KAAA,CAAQ,GAClBp2C,EAAUrc,QAAM,CAAK7D,EAAA6D,QAAK,CAE1Bqc,EAAKtc,MAAA,CAAA5D,CAAA,MAAA0oD,WAA2B,EAChC,KAAA6N,uBAAyB,CAAIv2D,EAAAkgB,EAAKwwB,GACpCxwB,EAAA8wB,eAAA,OAAArxC,gBAAA,EAEA,EAGyD42D,wBAEnD,SAAIv2D,CAAQ,CAACkgB,CACb,CAASwwB,CAAA,CAAU,CAGnB,IAAAjzB,EAAAizB,EAAAjzB,CAAA,CAAAC,EAAAgzB,EAAAhzB,CAAA,CAAAiuC,EAAAzrC,EAAAyrC,MAAA,CAAA3a,EAAyE,GAAAJ,EAAA1wB,EAAA0wB,aAAA,CAI3EA,GACDI,CAAAA,EAAAJ,EAAA5wC,EAAAkgB,EAAAzC,EAAAC,EAAA,EAEW,SAAViuC,GAAiB3a,IACjB9wB,EAAKpuB,MAAU,CAAAwiE,QAAU,IAC1B,KAAAjI,SAAA,CAAAnsC,EAAApuB,MAAA,CAAAge,UAAA,OAAAA,UAAA,GAEHoQ,EAAA8wB,eAAA,CAAA9wB,EAAA8wB,eAAA,EAAAA,CAEA,EAKAgkB,MAAAt9D,GAAAk+C,aAAA,CAAAlG,SAAA,CAM0C+kB,oBAC3B,SAAAz0D,CAAA,CAAAlO,CAAA,KACX,CAAAA,EAED,OADC,KAAAu6D,SAAY,MAAAlD,aAAA,EACb,EACD,CAII,IAAAt5C,EAAW/d,EAAA+d,WAAoB,OAAAA,WAAyB,CAAA+xC,EAIpC,KAAArE,aAAkB,EAAK,yBAAAA,aAAkB,CAAA5qD,IAAA,MAAA4qD,aAAA,MAEjEpM,EAAK,EAAAyQ,GAAQ,CAAAA,EAAA5sD,QAAA,CAAAlD,EAAA,GAAAA,EAAAq7D,iBAAA,MAAAz2B,UAAA,CAAA12B,EAAA,KACXmxC,EAWD,KAAAkb,SAAA,MAAAmK,eAAA,CAAArlB,EAAAr/C,EAAAkO,KAVGlO,EAAA87D,cAAA,EAEqD,IACnD,CAAAjE,OAAA,CAAAtzD,MAAc,GAAAogE,OAAQ,GAAAl2D,GAAA,UAAekyD,CAAA,EACvC5iD,EAAA4iD,EAAA5iD,WAAA,EAAAA,CACD,GAEH,IACK,CAAAw8C,SAAA,CAAAx8C,GAKP,EAG6C2mD,gBACvC,SAAiBrlB,CAAA,CAASr/C,CAAA,CAAOkO,CAAA,EACrC,IAAAwvC,EAAO19C,EAAQ8hB,QAAA,CAAAu9B,EAAsB,CACvC,OAAA3B,EAAAmI,kBAAA,CAAA33C,EAAAwvC,EAAA19C,EACF,CACF,EACC,IAKCwD,EAAOH,KAAKG,GAAM,CAACC,EAAOJ,KAAAI,GAAO,CAAwDmC,GAEvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAuV,MAAA,CAAAsB,SAAA,EAMkC8mD,aAC5B,SAAer1D,CAAA,CAAAlO,CAAK,EACxB,IAAAwrD,EAAO,IAAgB,CAAAC,aAAK,CACmE,OAAKD,GAAA,KAAAkO,sBAAA,CAAAxrD,IAAAlO,GAAAA,EAAAwO,UAAA,OAAAqoD,SAAA,EAAArL,CAAAA,IAAAxrD,GAAAwrD,oBAAAA,EAAA3qD,IAAA,IAAAb,EAAAy9D,QAAA,EAAEvvD,EAAAA,CACxG,EAEA,EAKsCs1D,gBAChC,SAAet1D,CAAI,CAAClO,CAAA,EACxB,IAAAwrD,EAAA,KAAAC,aAAA,EAEED,EAAA2O,QAAA,EAGAn6D,CAAAA,IAAAwrD,GAIE,CAFFxrD,EAAA,KAAA+6D,UAAA,CAAA7sD,EAAA,MAEElO,EAAAwO,UAAA,IAIFg9C,GAAKA,oBAAAA,EAAuB3qD,IAAA,CAC9B,IACK,CAAA+jE,sBAAA,CAAA5kE,EAAAkO,GAEJ,KAAA22D,sBAAA,CAAA7kE,EAAAkO,GAGH,EAG4C02D,uBACtC,SAAuB5kE,CAAA,CAAAkO,CAAA,CAAa,CAExC,IAAI4hD,EAAgB,KAAArE,aAAkB,CAAAqZ,EAAAhV,EAAA1sD,QAAA,CAAAgH,KAAA,IACpC0lD,EAAgB5sD,QAAA,CAAAlD,IAChB8vD,EAAKiV,gBAAiB,CAAA/kE,GACtB,IAAI,CAAC+3D,cAAA,CAAe/3D,EACpB,IAAI,CAAAg4D,eAAgB,KAAI,CAAAH,OAAU,CAAAtzD,MAAA,GAChC,IAAAurD,EAAAvqD,IAAA,IAED,KAAAi4D,gBAAA,CAAA1N,EAAA1+C,IAAA,IAAAlD,KAID4hD,EAAKkV,aAAiB,CAAAhlE,GACtB,IAAI,CAAC+3D,cAAA,CAAejI,EACrB,KAAAkI,eAAA,MAAAH,OAAA,CAAAtzD,MAAA,IAEH,KAAAw4D,oBAAA,CAAA+H,EAAA52D,EAEA,EAG4C22D,uBACtC,SAAsB7kE,CAAA,CAAAkO,CAAA,EAC1B,IAAIqvD,EAAe,IAAG,CAAA5vD,gBAAA,GAAAi+C,EAAA,KAAAqZ,YAAA,CAAAjlE,EACtB,MAAA+3D,cAAA,CAAAnM,EAIA,IAAI,CAAC4R,gBAAA,CAAA5R,EAAqB19C,GAC5B,KAAA6uD,oBAAA,CAAAQ,EAAArvD,EAEA,EAI+B+2D,aACzB,SAAejlE,CAAA,CAAQ,CAGnB,IAAC0N,EAAK,KAAAtK,QAAa,CAAA8hE,EAAAC,EAAAl9C,OAAA,MAAAwjC,aAAA,EAAA/9C,EAAAua,OAAA,CAAAjoB,GAAA,CAAE,KAAAyrD,aAAA,CACrBzrD,EAAA,CAAC,CAAQA,EAAmB,KAAAyrD,aAAA,CACpC,CACgD,OAAhD,KAAAA,aAAkB,CAAAiQ,SAAA,MAAgB,CAAAjQ,aAAc,CAAA2Z,WAAA,GAC9C,IAAAx/D,GAAYy/D,eAAA,CAAAH,EAAA,CACdlnE,OAAA,MAGF,EAIoCsnE,sBAEjB,SAAAp3D,CAAA,EAGjB,IAAAq3D,EAAA3Z,EAAA,KAAA4Z,eAAA,CAAAt3D,EAEE09C,CAAK,IAALA,EAAKlsD,MAAA,CACP,IACK,CAAAqN,eAAgB,CAAA6+C,CAAM,IAAA19C,GACzB09C,EAAalsD,MAAA,CAAO,IAAiC6lE,EACnD,IAAQ3/D,GAAIy/D,eAAA,CAAAzZ,EAAA+Y,OAAA,IACd3mE,OAAA,OAED,KAAA+O,eAAA,CAAAw4D,EAAAr3D,GAGH,EAG6Bs3D,gBACf,SACRt3D,CAAA,EAUsC,IACxC,IAFFu3D,EAAA7Z,EAAA,GAAAzyB,EAAA,KAAA++B,cAAA,CAAAlW,EAAA,CAAA5oB,EAAA,IAAkE,CAAA8+B,cAAA,CAAAnW,EAAA,CAAA1oB,EAAAF,EAAA,KAAA++B,cAAA,CAAA7qD,IAAA,CAAAisB,EAAAF,EAAA,KAAA8+B,cAAA,CAAA9qD,GAAA,CAAAs4D,EAAA,IAAA9/D,GAAA8lB,KAAA,CAAAloB,EAAA21B,EAAAE,GAAA71B,EAAA41B,EAAAE,IAAAqsC,EAAA,IAAA//D,GAAA8lB,KAAA,CAAAjoB,EAAA01B,EAAAE,GAAA51B,EAAA21B,EAAAE,IAAAssC,EAAA,MAAAxO,uBAAA,CAAA8K,EAAA/oC,IAAAE,GAAAD,IAAAE,EAEhE/uB,EAAA,KAAAnH,QAAqB,CAAA1D,MAAA,CAAS6K,MAG5B,EADFk7D,EAAK,KAAAriE,QAAkB,CAAAmH,EAAA,GACZk7D,EAAAj3D,UAAA,EAAAi3D,EAAAtgB,OAAA,EAQTygB,CAAAA,GAAWH,EAAAI,kBAAA,CAAAH,EAAAC,EAAA,KAAAF,EAAAK,qBAAA,CAAAJ,EAAAC,EAAA,KAAAC,GAAAH,EAAAhK,aAAA,CAAAiK,EAAA,UAAAE,GAAAH,EAAAhK,aAAA,CAAAkK,EAAA,YACX/Z,EAAAlyD,IAAA,CAAA+rE,GAEEvD,EAXO,IAuBf,OANItW,EAAAlsD,MAAQ,CAAM,GAAwBksD,CAAAA,EACpCA,EAAQr9C,MAAO,UAAS1O,CAAA,QAAK,CAAAA,EAAA49D,QAAA,EAAEvvD,EAAAA,CACjC,EACD,IAGH09C,CAEA,EAGgC0W,mBACrB,SAAap0D,CAAI,CAAC,CACzB,IAAI,CAAC2oD,SAAA,OAAAqB,cAAsB,EAC5B,KAAAoN,qBAAA,CAAAp3D,GAED,KAAAqsD,SAAA,MAAAlD,aAAA,EAEF,KAAAa,cAAA,MAGJ,GAEuGtyD,GAEnGqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA8hD,YAAA,CAAAjrC,SAAA,EAgC8BxN,UAC5B,SAAY3P,CAAY,EAExBA,GAAIA,CAAAA,EAAiB,IAIrB,IAAAkG,EAAOlG,EAAYkG,MAAA,EAAU,MAAAktB,EAAkBpzB,EAAAozB,OAAA,IAAAswB,EAAA,CAAA1jD,EAAA0jD,UAAA,KAAA1jD,CAAAA,EAAAopD,mBAAA,MAAAY,gBAAA,MAAA72B,EAAA,KAAAszC,eAAA,CAAA/iB,EAAA1jD,GACjD,OAAAsG,GAAAqc,IAAA,CAAAhT,SAAA,CAAAwjB,EAAAjtB,EAAAktB,EAEA,EAagDqzC,gBACjC,SAAA/iB,CAAc,CAAAgjB,CAAA,EAC3BhjB,EAAWA,GAAc,EAWb,IAACijB,EAAA,CAAAD,CAVbA,EAAIA,GAAe,IAUN/hE,KAAA,OAAAA,KAAA,EAAA++C,EAAAkjB,EAAA,CAAAF,EAAAliE,MAAA,OAAAA,MAAA,EAAAk/C,EAAAxd,EAAA,KAAA8Z,OAAA,GAAA6mB,EAAA,KAAAliE,KAAA,CAAAmiE,EAAA,KAAAtiE,MAAA,CAAAuiE,EAAA7gC,EAAAwd,EAAAsjB,EAAA,KAAA/d,iBAAA,CAAAt1B,EAAA,CAAAqzC,CAAA,IAAAN,CAAAA,EAAA34D,IAAA,MAAA21C,EAAA9vB,EAAA,CAAAozC,CAAA,IAAAN,CAAAA,EAAA54D,GAAA,MAAA41C,EAAAujB,EAAA,KAAAvd,WAAA,CAIbwd,EAAiB,KAAA9d,mBAAA,CAAAj2B,EAAA7sB,GAAAqc,IAAA,CAAAqQ,mBAAA,GAAAm0C,EAAA,KAAA7c,UAAA,CAkBnB,OAjBEn3B,EAASxuB,KAAA,CAAMgiE,EACfxzC,EAAK3uB,MAAU,CAAGoiE,EAClB,IAAI,CAACtc,UAAA,MACL,IAAI,CAAClB,mBAAmB,IACxB,IAAI,CAACM,WAAA,IACL,IAAI,CAACT,iBAAQ,CAVA,CAAS8d,EAAG,EAAG,EAASA,EAAYpzC,EAC7CC,EAGJ,CAOA,IAAI,CAACjvB,KAAA,CAAMgiE,EACX,IAAI,CAACniE,MAAA,CAAAoiE,EACL,IAAI,CAACra,sBAAsB,GAC3B,IAAI,CAACe,YAAA,CAAAn6B,EAAoBnO,UAAA,YAAAlhB,QAAA,EACzB,IAAI,CAACmlD,iBAAQ,CAAA+d,EACb,IAAI,CAACriE,KAAA,CAAMkiE,EACX,IAAI,CAACriE,MAAA,CAAAsiE,EACL,IAAI,CAACva,sBAAc,GACnB,IAAI,CAAC7C,WAAA,CAAAud,EACL,IAAI,CAAC7d,mBAAa,CAAA8d,EAClB,KAAA5c,UAAO,CAAA6c,EACTh0C,CACF,CAEF,GACqG7sB,GACnGqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA8hD,YAAA,CAAAjrC,SAAA,EAqBiDN,aACpC,SAAAuqD,CAAA,CAAAr9C,CAAA,CAAAuH,CAAA,KACT81C,GAQF,IAAIC,EAAY,iBACZD,EAAsBE,KAAQC,KAC9B,CAAAH,GAAA9gE,GAAoBqc,IAAI,CAACpiB,MAAA,CAAAsN,KAAA,CAAAu5D,EAAiB,CAE1CviC,EAAC,KAAAvN,EAAoB+vC,EAAK/vC,QAAA,CAAA3a,EAAA,KAAAA,iBAAA,CAmBhC,OAjBE,KAAAA,iBAAkB,IAElB,OAAK0qD,EAAA/vC,QAAgB,CAAgD,IACnE,CAAAkwC,eAAW,CAAAH,EAAAj5D,OAAA,UAAAmjB,CAAA,EACXsT,EAAMjoB,KAAA,GAAsCioB,EAC1C4iC,aAAc,CAAAJ,EAAA,WACZ/vC,EAAsBuN,EAAC2iC,eAAA,EAAWlwC,EAA+B,UACzDowC,CAAW,EACjB7iC,EAAMvN,QAAA,CAAAowC,CAA0B,IAClC7iC,EAAA8iC,aAAA,CAAAt+C,IAAA,CAAAwb,EAAAwiC,EAAA91C,EAAA5U,EAAAoN,EACF,GAGC8a,EAAA8iC,aAAA,CAAAt+C,IAAA,CAAAwb,EAAAwiC,EAAA91C,EAAA5U,EAAAoN,EAEF,EACH,EAAAuH,GACF,KA5BE,EAqCiFq2C,cACrE,SAAIN,CAAA,CAAA91C,CAAA,CAAA5U,CAAA,CAAAoN,CAAA,EAChB,IAAA8a,EAAA,KAA8CtT,EAC5CpD,OAAA,UAAA9D,CAAA,CAAAjS,CAAA,EAGFysB,EAAAnb,QAAA,CAAAW,EAAAjS,EACA,GACA,KAAAuE,iBAAA,CAAAA,EAEA,OAAO0qD,EAAWj5D,OAAA,CAClB,OAAOi5D,EAAW3e,eAAY,CAC9B,OAAO2e,EAAWze,YAAU,CAC5B,OAAOye,EAAW5iE,UAAO,CACzB,OAAA4iE,EAAAhX,OAAA,CAKA,IAAI,CAAC5lC,WAAS,CAAA48C,GACd,KAAAvqD,SAAY,GACdiN,GAAAA,GAEA,EAK8C09C,cAC/B,SAAAJ,CAAA,CAAAt9C,CAAA,MACX69C,EAAA,CACA/qE,gBAAc,GACd8rD,aAAA,GACAD,gBAAc,GAChBE,aAAA,EAEA,EAA8G,GAC5G,CAAAye,EAAY3e,eAAA,GAAA2e,EAAAze,YAAA,GAAAye,EAAA5iE,UAAA,GAAA4iE,EAAAhX,OAAA,EACZtmC,GAAAA,IACD,MAED,KACE89C,EAAW,WACTD,EAAAlf,eAAY,EAAAkf,EAAAhf,YAAA,EAAAgf,EAAA/qE,eAAA,EAAA+qE,EAAAjf,YAAA,EACb5+B,GAAAA,GAGH,EACA,IAAI,CAAC+9C,cAAc,CAAC,kBAAgBT,EAAW3e,eAAc,CAAAkf,EAAQC,GACrE,IAAI,CAACC,cAAc,CAAC,eAAAT,EAAmBze,YAAW,CAAUgf,EAAEC,GAC9D,IAAI,CAACC,cAAc,CAAC,kBAAgBT,EAAW5iE,UAAS,CAAAmjE,EAAQC,GAClE,KAAAC,cAAA,gBAAAT,EAAAhX,OAAA,CAAAuX,EAAAC,EAEA,EAO4DC,eAC9C,SAAIl9C,CAAA,CAAAjqB,CAAA,CAAAinE,CAAA,CAAA79C,CAAA,EAEhB,IAAI8a,EAAQ,QACV,CAAAlkC,EAAO,CACPinE,CAAA,CAAAh9C,EAAY,IACZb,GAAAA,IACD,MAED,qBACEa,GAA2BA,iBAAAA,EAAAtkB,GAACqc,IAAA,CAAA0O,cAAA,EAAQ1wB,EAAuB,UACnDonE,CAAY,EAClBljC,CAAA,CAAMja,EAAC,CAASm9C,CAAO,IACvBH,CAAA,CAAAh9C,EAAY,IACdb,GAAAA,GACF,GAEgF,IAC5E,OAAOzjB,GAASqc,IAAG,CAAAsN,MAAI,CAAAxO,UAAA,CAAAmJ,EAAA,KAAAjqB,EAAA,WACvBinE,CAAA,CAAAh9C,EAAY,IACdb,GAAAA,GACD,EAGH,EAMuDy9C,gBAChD,SAAmBp5D,CAAM,CAAA2b,CAAQ,CAAAuH,CAAA,KACpC,CAAAljB,GAAYA,IAAAA,EAAAhO,MAAW,EACvB2pB,GAAAA,EAAA,IACD,MAED,IACEpH,IAAA,CAAA0O,cAAqB,CAAAjjB,EAAA,SAAAmjB,CAAA,EACpBxH,GAAMA,EAAAwH,EACX,OAAAD,EAEA,EAKwC02C,WAC5B,SAAC9hE,CAAe,CAAE6jB,CAAA,MAC1B,CAAAlc,KAAA,UAAeA,CAAA,EACjBkc,EAAAlc,EAAA8B,SAAA,CAAAzJ,GACF,EAEA,EAMkE+hE,yBAC3C,SAAO/hE,CAAA,CAAAw9C,CAAA,CAAA35B,CAAA,MAC1B,CAAAlc,KAAA,UAAeA,CAAA,EACjBkc,EAAAlc,EAAAq6D,uBAAA,CAAAhiE,EAAAw9C,GACF,EAEA,EAKuC71C,MACjC,SAAOkc,CAAK,CAAAgJ,CAAe,EAC/B,IAAIhjB,EAACu3D,KAAAa,SAAiB,MAAS9pD,MAAK,CAAE0U,IAAA,IACpC,CAAAq1C,gBAAM,CAAY,SAAOv6D,CAAA,EAAWA,EAClCgP,YAAY,CAAA9M,EAAS,WACvBga,GAAAA,EAAAlc,EACF,EACF,EAEA,EAMqCu6D,iBACnB,SAAKr+C,CAAA,EAErB,IAAGod,EAAK7gC,GAAQqc,IAAA,CAAKqQ,mBAAA,EACrBmU,CAAAA,EAAGxiC,KAAA,CAAM,IAAG,CAAIA,KAAC,CAEjBwiC,EAAA3iC,MAAI,CAAQ,IAAI,CAAAA,MAAO,CACvB,IAAIqJ,EAAK,IAAAvH,GAAAuV,MAAiB,CAAAsrB,EACxB,MAAAuhB,eAAM,EAAwD76C,EAC5Dg8C,kBAAe,MAAAnB,eAAA,CAAA93B,GAAA,YACf/iB,EAAAiP,SAAY,GACdiN,GAAAA,EAAAlc,EACA,GACAA,EAAMw6D,sBAAsB,CAAG,IAAI,CAACA,sBAAsB,CAC5Dx6D,EACKy6D,sBAAA,MAAAA,sBAAA,EAEJv+C,GAAAA,EAAAlc,EAEL,CACC,GAaoB0T,EAAAjb,CAAfA,EAAOgU,CAXXA,EAs9DDgH,GA38DoBhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA1T,EAAAvH,EAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CAAA2T,EAAAlb,EAAAqc,IAAA,CAAAnB,OAAA,CAAAC,EAAAnb,EAAAqc,IAAA,CAAAsN,MAAA,CAAAxO,UAAA,CAAAC,EAAApb,EAAAqc,IAAA,CAAAjB,gBAAA,CAAAC,EAAA,CAAArb,EAAAigB,YAAA,CACjBjgB,EAAA4W,MAAA,GAsCkG5W,EAElG4W,MAAA,CAAA5W,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAAkkB,aAAA,EASAjpB,KAAA,SAQAu9C,QAAA,OAQAC,QAAA,MAOAjxC,IAAA,EAOAC,KAAA,EAOApJ,MAAA,EAOAH,OAAA,EAOA4I,OAAA,EAOAC,OAAA,EAOA4mB,MAAA,GAOAC,MAAA,GAOApvB,QAAA,EAOAymB,MAAA,EAOAkI,MAAA,EAOAC,MAAA,EAOArW,WAAA,GAOAkrD,gBAAA,GAOAnrD,mBAAA,GAOAqB,YAAA,KAOAC,WAAA,KAOAuhC,QAAA,EAOAp7C,YAAA,mBAOA2jE,gBAAA,KAOAjrD,YAAA,mBAQAC,kBAAA,KAOAF,YAAA,OAOAmrD,gBAAA,KAUArR,gBAAA,GAUAC,iBAAA,GAQAxuC,KAAA,aASA6/C,SAAA,UAOAva,yBAAA,cAQAtxD,gBAAA,GAQAs9D,yBAAA,GAQAxiC,OAAA,KAOAla,YAAA,EAMAo0C,gBAAA,KAOA8W,iBAAA,EAOA/W,cAAA,OAOArjC,eAAA,QAOAC,iBAAA,EAOAmjC,OAAA,KAOAiX,wBAAA,GAUAC,kBAAA,EAOAC,cAAA,EAQA55D,WAAA,GAOAlB,QAAA,GAOA63C,QAAA,GAOAkjB,YAAA,GAOAC,WAAA,GAOAtrD,mBAAA,GAOAmrC,qBAAA,GAOAv8C,cAAA,GAOAC,cAAA,GAOAG,aAAA,GAOAF,aAAA,GAOAC,aAAA,GAOA01C,aAAA,GAOAD,aAAA,GAOAN,gBAAA,GAQAoO,kBAAA,GAUAruC,cAAAA,EAYAsnD,eAAA,GAWAC,aAAA,GAaAl7C,cAAA,GAQAm7C,MAAA,GAUAtO,SAAA,EAOAuO,WAAA,OAWAnG,SAAA,OAaAoG,gBAAA,sTAAA94C,KAAA,MAYA+4C,gBAAA,wKAAA/4C,KAAA,MAQAg5C,gBAAA,8BAAAh5C,KAAA,MASA+G,SAAAn0B,KAAAA,EASAmzB,SAAA,GAYAkzC,mBAAA,GAI8BzkC,WACxB,SAAS/kC,CAAA,EACXA,GACD,KAAA4qD,UAAA,CAAA5qD,EAGH,EAI+Bm3D,mBACxB,UAAoB,CACzB,IAAI,CAACsS,gBAAe,IACpB,IAAI,CAACnb,YAAA,CAAahoD,EAAQqc,IAAA,CAAAqQ,mBAAwB,GAClD,IAAI,CAACgnC,aAAA,KAAkB,CAAA1L,YAAA,CAAAtpC,UAAA,OACvB,KAAA0kD,kBAAA,GAEF,KAAAP,KAAA,GAEA,EAegCQ,gBAC1B,SAAAC,CAAqB,EAGzB,IAAI5iD,EAAgB1gB,EAAU0gB,kBAAe,CAAAriB,EAAUilE,EAAAjlE,KAAA,CAAAH,EAAoBolE,EAAAplE,MAAA,CAAAL,EAAAmC,EAAA2gB,iBAAA,CAAA/iB,EAAAoC,EAAA4gB,iBAAA,IACzEviB,GAAIR,GAAQK,GAAKL,GAAAQ,EAAAH,GAAAwiB,EAOlB,OANGriB,EAAKT,GACN0lE,CAAAA,EAAAjlE,KAAA,CAAAT,CAAA,EAECM,EAAKN,GACN0lE,CAAAA,EAAAplE,MAAA,CAAAN,CAAA,EAEF0lE,CACD,CAIA,IAAeC,EAAAvjE,EAAAqc,IAAA,CAAAgT,eAAA,CAAXhxB,EAAWH,EAAAwiB,GAAA+O,EAAAzvB,EAAAqc,IAAA,CAAAoT,QAAA,CAAA1J,EAAA0J,EAAA7xB,EAAA2lE,EAAAx9C,CAAA,CAAAloB,GAAAmoB,EAAAyJ,EAAA7xB,EAAA2lE,EAAAv9C,CAAA,CAAAnoB,GAWjB,OAVIQ,EAAK0nB,IACLu9C,EAAKxb,KAAK,EAAGzpD,EAAA0nB,EACbu9C,EAAKjlE,KAAA,CAAM0nB,EACZu9C,EAAAE,MAAA,KAECtlE,EAAK8nB,IACLs9C,EAAKvb,KAAA,EAAS7pD,EAAA8nB,EACds9C,EAAKplE,MAAM,CAAG8nB,EACfs9C,EAAAE,MAAA,KAEHF,CAEA,EAWsCG,0BACb,WAEnB,IAAAC,EAAW,KAAAC,qBACX,GAEJ1oB,EAAA,IAAO,CAAAV,yBAAA,MAAAqpB,EAAA3oB,EAAAl1B,CAAA,CAAA29C,EAAA58D,MAAA,MAAAA,MAAA,CAAA+8D,EAAA5oB,EAAAj1B,CAAA,CAAA09C,EAAA38D,MAAA,MAAAA,MAAA,OACL,CAIA1I,MAAAulE,EAptBa,EAqtBb1lE,OAAO2lE,EArtBM,EAstBb/b,MAAO4b,EAAY58D,MAAM,CACzBihD,MAAG2b,EAAA38D,MAAA,CACHgf,EAAG69C,EACL59C,EAAA69C,CACF,CAEA,EAM+BT,mBACzB,UAAoB,CACxB,IAAI5kD,EAAK,IAAY,CAAApmB,MAAI,CAAgD,GACvE,IAAI,CAAAwqE,YAAS,EAAApkD,GAAaA,EAAwB6zC,iBACrC,EACb,IAAIj4D,EAASokB,EAAU6zC,iBAAgB,CAAAj4D,MAAO,CAAM65D,EAAGz1C,EAAgB6zC,iBAAA,CAAA4B,MAAA,IACrE,OAAO75D,GAAK65D,EAAAzvD,KAAA,EAAAyvD,UAAAA,EAAAzvD,KAAA,MACb,QACF,CACD,IASuBs/D,EAAAC,EAAnB3rE,EAAA,KAAA4vD,YAAmB,CAAAsb,EAAA,KAAAD,eAAA,MAAAI,yBAAA,IAAAO,EAAAhkE,EAAA4gB,iBAAA,CAAAviB,EAAAilE,EAAAjlE,KAAA,CAAAH,EAAAolE,EAAAplE,MAAA,CAAA4pD,EAAAwb,EAAAxb,KAAA,CAAAC,EAAAub,EAAAvb,KAAA,CAAAkc,EAAA5lE,IAAA,KAAA6lE,UAAA,EAAAhmE,IAAA,KAAAimE,WAAA,CAAAC,EAAA,KAAAtc,KAAA,GAAAA,GAAA,KAAAC,KAAA,GAAAA,EAAAsc,EAAAJ,GAAAG,EAAAE,EAAA,EAAAC,EAAA,EAAAC,EAAA,MACrBP,EAAkB,CAKlB,IAAAQ,EAAA,IAAqB,CAAAzc,YAAA,CAAe3pD,KAAA,CAAAqmE,EAAA,KAAA1c,YAAA,CAAA9pD,MAAA,CAAAymE,EAAAtmE,EAAAomE,GAAAvmE,EAAAwmE,EACpCF,EAAoBG,GADgB,CAAAtmE,EAAAomE,GAAAA,GAAAvmE,EAAAwmE,GAAAA,CAAA,GAAAD,EAAAT,GAAAU,EAAAV,EAElCW,GAAA,CAAArB,EAAkBE,MAAQ,EAAAnlE,CAAAA,EAAA2lE,GAAA9lE,EAAA8lE,CAAA,IAC1BM,EAAAjmE,GAAAA,EACDkmE,EAAArmE,GAAAA,EAEH,QAMkB,IALhB,YAAe8B,EAAIspB,IAAA,OAAA6C,IAAA,GACnBk4C,EAAA,GACAG,EAAmB,GACnBF,GAAA,IAAoB,CAAIM,eAAC,CAAe,GAAC,IAAK,CAAI9c,KAAC,CACpDyc,GAAA,KAAAK,eAAA,SAAA7c,KAAA,IAECsc,IACEG,GACApsE,EAAOiG,KAAA,CAAMZ,KAAGmf,IAAK,CAAIve,EAACimE,GAC5BlsE,EACK8F,MAAA,CAAAT,KAAAmf,IAAA,CAAA1e,EAAAqmE,KAEH,IAAI,CAAC7Q,aAAa,CAACmR,YAAU,CAAG,EAAG,MAAO,EAAK,GAChD,KAAAnR,aAAA,CAAA/M,SAAA,KAAAvuD,EAAAiG,KAAA,CAAAjG,EAAA8F,MAAA,GAED4lE,EAAAR,EAAgBv9C,CAAK,CAAC,EACtBg+C,EAAKT,EAAAt9C,CAAiB,CAAG,EACzB,IAAI,CAACiiC,iBAAiB,CAAGxqD,KAAKC,KAAK,CAACtF,EAAOiG,KAAA,CAAM,EAAGylE,GAAIA,EACxD,IAAI,CAAC5b,iBAAa,CAAAzqD,KAAAC,KAAA,CAAAtF,EAAA8F,MAAA,GAAA6lE,GAAAA,EAClB,IAAI,CAACG,UAAA,CAAW7lE,EAChB,IAAI,CAAC8lE,WAAA,CAAcjmE,EACnB,IAAI,CAACw1D,aAAa,CAAC/0C,SAAM,KAAO,CAAAspC,iBAAA,MAAAC,iBAAA,EAChC,IAAI,CAACwL,aAAQ,CAAA7sD,KAAA,CAAAihD,EAAAC,GACb,IAAI,CAACD,KAAK,CAAGA,EACb,KAAAC,KAAO,CAAIA,EACZ,GACD,EAO4BzD,WACvB,SAAY5qD,CAAA,EACjB,IAAI,CAACyqB,WAAA,CAAAzqB,GACL,IAAI,CAAC0qB,aAAa,CAAC1qB,EAAQ6oB,IAAA,CAAM,QACjC,IAAI,CAAC6B,aAAa,CAAA1qB,EAAQ23B,MAAM,WAChC,IAAI,CAAC5M,YAAY,CAAC/qB,EAAQ6oB,IAAA,CAAM,QAClC,KAAAkC,YAAA,CAAA/qB,EAAA23B,MAAA,UAEA,EAIyB7I,UACnB,SAAA/J,CAAA,EAEJ,IAAIqmD,EAAS,KAAA9e,KAAqB,QAAAA,KAAA,CAAAwB,cAAA,OAAAxB,KAAA,OAAA5tD,MAAA,EAAAqmB,IAAA,KAAArmB,MAAA,CAAA4rD,UAAA,CAC9BtxB,EAAA,KAAS3B,mBAAmB,CAAC,CAAC+zC,GACpCrmD,EAAA+J,SAAA,CAAAkK,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAEA,EAKwC62B,SAClC,SAAAF,CAA6B,EAEpB,IACPx5B,EAAmC7vB,EAAA4W,MAAA,CAAAiZ,mBAAA,CAAA51B,EAAA,CACnCgB,KAAA,IAA0B,CAAAA,IAAA,CAC1BkiB,QAA0Bnd,EAAKmd,OAAO,CACtCq7B,QAA0B,IAAI,CAACA,OAAO,CACtCC,QAA0B,KAAQA,OAAK,CACvChxC,KAA0ByT,EAAQ,IAAK,CAAAzT,IAAK,CAAAooB,GAC5CroB,IAAA0T,EAA0B,IAAQ,CAAA1T,GAAK,CAAAqoB,GACvCxxB,MAAA6c,EAA0B,IAAQ,CAAI7c,KAAC,CAAMwxB,GAC7C3xB,OAA0Bgd,EAAU,IAAI,CAAAhd,MAAK,CAAK2xB,GAClDtN,KAAA,IAA0B,CAAAA,IAAM,EAAM,IAAI,CAAAA,IAAK,CAAAgnC,QAAO,KAAQ,CAAAhnC,IAAI,CAAIgnC,QAAQ,OAAQ,CAAAhnC,IAAK,CAC3F8O,OAAA,KAA0BA,MAAA,EAAQ,IAAK,CAAAA,MAAA,CAAAk4B,QAAa,MAAAl4B,MAAA,CAAAk4B,QAAA,QAAAl4B,MAAA,CACpDla,YAAA+D,EAA8B,IAAC,CAAA/D,WAAe,CAAA0Y,GAC9C07B,gBAA0B,IAAK,CAAAA,eAAa,MAAAA,eAAA,CAAA5sD,MAAA,QAAA4sD,eAAA,CAC5CD,cAAA,IAA0B,CAAAA,aAAK,CAC/B+W,iBAA0B,IAAK,CAAAA,gBAAc,CAC7Cp6C,eAA0B,IAAK,CAAAA,cAAa,CAC5CP,cAAA,IAA0B,CAAAA,aAAa,CACvCQ,iBAAkChN,EAAK,IAAQ,CAAAgN,gBAAA,CAAA2H,GAC/C/oB,OAA0BoU,EAAQ,IAAI,CAACpU,MAAM,CAAE+oB,GAC/C9oB,OAA0BmU,EAAQ,IAAK,CAAAnU,MAAO,CAAA8oB,GAC9C5K,MAA0B/J,EAAK,IAAK,CAAA+J,KAAA,CAAA4K,GACpClC,MAA0B,IAAI,CAACA,KAAK,CACpCC,MAAA,IAA0B,CAAAA,KAAQ,CAClCpvB,QAA0B0c,EAAM,IAAM,CAAA1c,OAAS,CAAAqxB,GAC/Cw7B,OAAA,IAA0B,CAAIA,MAAC,EAAO,KAAAA,MAAA,CAAA9B,QAAA,MAAA8B,MAAA,CAAA9B,QAAA,QAAA8B,MAAA,CACtC9L,QAAA,KAAAA,OAA8B,CAC9BhpD,gBAA+B,KAAAA,eAAQ,CACvC6rE,SAAA,IAA0B,CAAAA,QAAK,CAC/BU,WAAA,KAAAA,UAA0B,CAC1Bjb,yBAA4C,IAAE,CAAAA,wBAAA,CAC9C16B,MAA0BjS,EAAQ,IAAI,CAACiS,KAAK,CAAE0C,GAChDzC,MAAAlS,EAAA,KAAAkS,KAAA,CAAAyC,EAEJ,EAYF,OAXI,KAAAmB,QAAO,EAAQ,CAAG,IAAI,CAACA,QAAQ,CAAC04B,iBAAS,GACzCzvD,EAAO+2B,QAAQ,CAAC,KAAAA,QAAe,CAACu4B,QAAQ,CAACF,GACzCpvD,EAAO+2B,QAAQ,CAAChB,QAAA,MAAAgB,QAAqB,CAAIhB,QAAC,CAC3C/1B,EAAA+2B,QAAA,CAAAkyC,kBAAA,MAAAlyC,QAAA,CAAAkyC,kBAAA,EAGDljE,EAAKqc,IAAK,CAAAkQ,sBAAsB,MAAAtyB,EAAAovD,GAC9B,KAAA9G,oBAAc,EACftoD,CAAAA,EAAA,KAAA8qE,oBAAA,CAAA9qE,EAAA,EAGHA,CAEA,EAKgDqvD,iBAC9C,SAAAD,CAAoC,EAEtC,YAAAE,QAAA,CAAAF,EAEA,EAIuC0b,qBACrB,SAAW9qE,CAAC,EAE5B,IAAA4c,EAAgB7W,EAAOqc,IAAC,CAAAoN,QAAS,CAAIxvB,EAAEgB,IAAA,EAAA4b,SAAA,CAezC,OAfyCksD,EAAAA,eAAA,CACjCl7C,OAAS,UAAU7E,CAAS,EAC9B,SAAAA,GAAAA,QAAAA,IAGA/oB,CAAA,CAAO+oB,EAAA,GAAOnM,CAAK,CAAAmM,EAAA,EACpB,OAAA/oB,CAAA,CAAA+oB,EAAA,CAICjlB,MAAAC,OAAa,CAAC/D,CAAK,CAAA+oB,EAAA,GAAAjlB,MAAAC,OAAA,CAAA6Y,CAAA,CAAAmM,EAAA,GAAA/oB,IAAAA,CAAA,CAAA+oB,EAAA,CAAAlpB,MAAA,EAAA+c,IAAAA,CAAA,CAAAmM,EAAA,CAAAlpB,MAAA,EACpB,OAAAG,CAAA,CAAA+oB,EAAA,CAGH,GACF/oB,CAEA,EAIqB0jC,SACnB,UAAO,CACT,kBAAAxiB,EAAA,KAAAlgB,IAAA,KAEA,EAI6B+pE,iBAC3B,WAIiB,GACf,MAAAhf,KAAO,OACL,CACAl/C,OAAQ,IAAI,CAACA,MAAM,CACrBC,OAAA,KAAAA,MAAA,CAEF,CAEA,IAAArN,EAAOsG,EAAAqc,IAAA,CAAA4Q,WAAA,MAAA8D,mBAAA,UAAE,CAAkCjqB,OAAQrJ,KAAKif,GAAG,CAAChjB,EAAQoN,MAAM,EAAEC,OAAAtJ,KAAAif,GAAA,CAAAhjB,EAAAqN,MAAA,CAC9E,CAEA,EAIkC48D,sBACf,WACjB,IAAI98D,EAAK,IAAM,CAAEm+D,gBAAA,GAAAl+D,EAAAD,EAAAC,MAAA,CAAAC,EAAAF,EAAAE,MAAA,IACf,IAAI,CAAA3O,MAAO,EACX,IAAIwnC,EAAA,IAAS,CAAAxnC,MAAK,CAAAshD,OAAO,GACzBurB,EAAU,IAAO,CAAA7sE,MAAA,CAAAsrD,gBAAA,GACjB58C,GAAU84B,EAAOqlC,EAClBl+D,GAAA64B,EAAAqlC,CACD,OAAS,CAAgBn+D,OAAQA,EAAOC,OAAAA,CAC1C,CAEA,EAI6Bm+D,iBACb,UAAK,CACnB,IAAI1mE,EAAU,IAAE,CAAAA,OAAA,CAIlB,OAHI,KAAAwnD,KAAA,EACDxnD,CAAAA,GAAA,KAAAwnD,KAAA,CAAAkf,gBAAA,IAEH1mE,CAEA,EAM2BqmB,KACzB,SAAIxf,CAAA,CAAAhL,CAAA,EAGJ,IAA0B8qE,EAAA,KAAA9/D,EAAA,GAAAhL,EAAA+qE,EAAA,GA+B5B,MA/B4B//D,CAAAA,WAAAA,GAAAA,WAAAA,CAAA,GAEzBhL,CAAAA,EAAA,KAAAgrE,eAAA,CAAAhrE,EAAA,EAECgL,WAAAA,GAAmBhL,EAAK,GACxB,KAAAszB,KAAU,OAAAA,KAAA,CACZtzB,GACS,IACFgL,WAAAA,GAAmBhL,EAAA,GACxB,KAAAuzB,KAAU,OAAAA,KAAA,CACZvzB,GACS,IACPgL,WAAAA,IAA0BhL,GAAAA,aAAA2F,EAAA+tD,MAAA,CAGX,UAAV1oD,GAAmB,KAAA2gD,KAAA,EACzB,KAAAA,KAAA,CAAA7gD,GAAA,SAAA9K,GAHDA,EACS,IAAA2F,EAAQ+tD,MAAA,CAAW1zD,GAM5B,IAAI,CAAAgL,EAAA,CAAAhL,EACF8qE,IACAC,EAAS,KAAepf,KAAC,EAAQ,KAAAA,KAAQ,CAAGsf,UAAA,GAC1C,IAAI,CAACtC,eAAY,CAAA3gD,OAAA,CAAAhd,GAAA,IACjB,KAAAw9D,KAAA,IACFuC,GACS,KAAApf,KAAoB,CAAI7gD,GAAC,cAC3BigE,GAAmB,IAAI,CAAArC,eAAA,CAAA1gD,OAAA,CAAAhd,GAAA,IAC7B,KAAA2gD,KAAA,CAAA7gD,GAAA,cAGL,MASEogE,WAAA,WAGF,EAMiCC,qBAChB,UAAS,QAA0B,IAChD,CAAAptE,MAAW,EAAC,IAAO,CAAAA,MAAA,CAAAuqD,iBAAiB,CACrC,KAAAvqD,MAAA,CAAAuqD,iBAAA,CAEH3iD,EAAAwgB,OAAA,CAAA7hB,MAAA,EADE,EASuB8mE,aAChB,UAAY,CAGrB,gBAAAjnE,OAAA,QAAAH,KAAA,QAAAH,MAAA,WAAAiZ,WAAA,QAAAooC,OAAA,EAMsBsC,OACpB,SAAApjC,CAAA,GAEE,KAAAgnD,YAAA,IAGA,OAAArtE,MAAA,QAAAA,MAAA,CAAA4qD,aAAA,OAAAgD,KAAA,OAAA0f,UAAA,MAGFjnD,EAAIkgC,IAAC,GACL,IAAI,CAACgnB,wBAAwB,CAAAlnD,GAC7B,IAAI,CAACmnD,uBAAU,CAAAnnD,GACf,IAAI,CAAC+J,SAAA,CAAA/J,GACL,IAAI,CAAConD,WAAW,CAAApnD,GAChB,IAAI,CAAAotC,UAAK,CAAAptC,EAAW,IAAI,EACtB,IAAI,CAAC8oC,WAAW,IAChB,IAAI,CAACE,WAAA,GACP,IACK,CAAAqe,iBAAA,CAAArnD,KAEH,IAAI,CAACsnD,kBAAa,GAClB,IAAI,CAAClD,KAAA,IACL,IAAI,CAAAmD,UAAK,CAAAvnD,GACP,IAAI,CAACpD,aAAU,OAAAsnD,cAAA,MAAE,CAAA9E,SAAA,EAA+BoI,YAAA,iBACjD,IAGLxnD,EAAAwgC,OAAA,GAEA,EAA+BwI,YAC7B,SAAU/tD,CAAY,EACtBA,EAAUA,GAAA,CAAY,EACpB,IAAK,CAAAsuD,YAAA,EAAkB,KAAA0L,aAAA,EACxB,KAAA7C,kBAAA,GAEC,IAAI,CAACqV,YAAA,KAAiC,IAAE,CAAAvD,cAAa,OAAA9E,SAAA,EAAkBoI,YAAA,iBACvE,GACA,IAAI,CAACD,UAAQ,KAAK,CAAAtS,aAAA,CAAAh6D,EAAAguD,WAAA,EACnB,KAAAmb,KAAA,IAGH,EAG+BkD,mBACxB,UAAmB,CACxB,IAAI,CAAC/d,YAAA,CAAa,IAAG,CACrB,IAAI,CAAC0L,aAAa,MAClB,IAAI,CAACwQ,UAAA,CAAW,EAClB,KAAAC,WAAA,EAEA,EAUsBgC,UACb,UAAW,CACpB,YAAA90C,MAAA,uBAAAA,MAAA,WAAAla,WAAA,EAYoBivD,QAClB,UAAgB,CAClB,YAAA7jD,IAAA,uBAAAA,IAAA,EAU6B8jD,iBAClB,UAAe,SAEtB,iBAAAvD,UAAW,OAAAsD,OAAA,SAAAD,SAAA,2BAAA9a,MAAA,IAGX,KAAAr6B,QAAW,EAcSu2B,YACjB,UAAa,CAKpB,OADE,KAAA+e,UAAY,KAAU,CAAAD,gBAAA,SAAAhrD,aAAA,SAAA2qC,KAAA,QAAAA,KAAA,CAAAsf,UAAA,IACxB,KAAAgB,UAAA,EAO2BC,eAChB,UAAW,CACtB,aAAAlb,MAAA,YAAAA,MAAA,CAAAvR,OAAA,WAAAuR,MAAA,CAAAtR,OAAA,CAEA,EAK6CysB,oBACnC,SAAA/nD,CAAA,CAAAuS,CAAA,EAUyB,GATjCvS,EAAAkgC,IAAA,GAGE3tB,EAAIhB,QAAA,CACNvR,EACKopC,wBAAA,mBAEJppC,EAAAopC,wBAAA,kBAGC72B,EAAQkyC,kBAAY,EACpB,IAAIxwC,EAAA1yB,EAAWqc,IAAG,CAAE0M,eAAc,CAAE,IAAI,CAAAgI,mBAAQ,IACjDtS,EAAA+J,SAAA,CAAAkK,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IACD,GACSlK,SAAK,CAAA/J,GACdA,EAAI5X,KAAA,GAAUmqB,EAAS82B,KAAA,GAAA92B,EAAe+2B,KAAS,EAC/CtpC,EAAII,SAAO,CAAAmS,EAAAg3B,YAAA,EAAAh3B,EAAAi3B,iBAAA,EAAAj3B,EAAAk3B,iBAAA,EACbzpC,EAAAwgC,OAAA,EAEA,EAIuC+mB,WACjC,SAAAvnD,CAAe,CAAAipC,CAAW,EAC9B,IAAI+e,EAAa,KAAAlkD,IAAA,CAAAmkD,EAAA,KAAAr1C,MAAA,CACfq2B,GACA,IAAI,CAACnlC,IAAA,CAAM,QACX,IAAI,CAAC8O,MAAA,IACP,IACK,CAAAs1C,sBAAA,CAAAloD,IAEJ,KAAA2oC,iBAAA,CAAA3oC,GAED,IAAI,CAACyuC,OAAA,CAAAzuC,GACL,IAAI,CAACmoD,aAAO,CAAAnoD,EAAA,KAAAuS,QAAA,EACZ,IAAI,CAACzO,IAAA,CAAMkkD,EACb,KAAAp1C,MAAA,CAAAq1C,CAEA,EAKwCE,cACjC,SAAUnoD,CAAA,CAAAuS,CAAA,EAAEA,IAKjBA,EAAS54B,MAAA,KAAW,CAAAA,MAAA,CACpB44B,EAASu2B,WAAA,GACTv2B,EAASw2B,cAAY,IAAAx2B,EAAEy2B,WAAa,CAAI,CAACC,YAAA,EACzC,GACF,KAAA8e,mBAAA,CAAA/nD,EAAAuS,GAEA,EAIiC80C,kBACjB,SAAUrnD,CAAE,EAC1BA,EAAI5X,KAAA,GAAU,IAAI,CAACihD,KAAA,OAAe,CAAAC,KAAK,EACzCtpC,EAAAI,SAAA,MAAAmpC,YAAA,OAAAC,iBAAA,OAAAC,iBAAA,CAEA,EAKmCge,aACxB,SAAAW,CAAgB,KACvB,KAAApB,YAAY,GACb,QACD,CAAyF,GACvF,KAAAzd,YAAA,OAAA0L,aAAA,GAAAmT,GAA+C,KAAAzD,kBAAA,GAEjD,MACK,EAaL,CATI,GACA,IAAI,CAAAP,KAAK,OAAA7xC,QAAgB,EAAK,KAAAA,QAAa,CAAAkyC,kBAAiB,OAAAP,cAAA,OAAAtF,eAAA,wBAC1D,IAAI,CAAArV,YAAa,OAAA0L,aAAkB,EAAK,CAAAmT,EAAA,CACxC,IAAIxoE,EAAA,IAAS,CAAI6lE,UAAC,CAAW,IAAG,CAAApc,KAAK,CACjC5pD,EAAC,KAAaimE,WAAW,CAAC,KAAApc,KAAY,CAC3C,KAAA2L,aAAA,CAAA/M,SAAA,EAAAtoD,EAAA,GAAAH,EAAA,EAAAG,EAAAH,EACD,OACD,EACF,OAEH,EAEA,EAKiCkpD,kBACrB,SAAA3oC,CAAiB,KACzB,KAAAloB,eAAA,EAGF,IAAI0kD,EAAA,IAAS,CAAA6rB,4BAAuB,EAEpCroD,CAAAA,EAAImgC,SACF,CAAC,IAAK,CAAAroD,eACG,CAIXkoB,EAAAwxC,QAAA,EAAAhV,EAAAl1B,CAAA,IAAAk1B,EAAAj1B,CAAA,GAAAi1B,EAAAl1B,CAAA,CAAAk1B,EAAgDj1B,CAAA,EAGlD,KAAA+gD,aAAA,CAAAtoD,GAZE,EAkByBonD,YAChB,SAASpnD,CAAC,CAAI,CACrB,IAAI,CAAAunC,KAAA,GAAW,IAAG,CAAAA,KAAK,CAAAwB,cAAgB,CACzC/oC,EACKuxC,WAAA,MAAAkV,gBAAA,GAEJzmD,EAAAuxC,WAAA,OAAAxxD,OAAA,EAGmCwoE,iBACvB,SAAKvoD,CAAM,CAAAwoD,CAAA,EACxB,IAAI51C,EAAQ41C,EAAA51C,MAAA,CACVA,IACA5S,EAAIqgC,SAAO,CAAGmoB,EAAK9vD,WAAa,CAChCsH,EAAIgtC,OAAA,CAAAwb,EAAc3b,aAAQ,CAC1B7sC,EAAIyoD,cAAW,CAAKD,EAAA5E,gBAAc,CAClC5jD,EAAIktC,QAAA,CAAUsb,EAAGh/C,cAAK,CACtBxJ,EAAIitC,UAAO,CAAMub,EAAE/+C,gBAAA,CACjBmJ,EAAIm3B,MAAO,CACTn3B,eAAAA,EAAA81C,aAAA,EAAA91C,EAA2Co3B,iBAAA,EAAAp3B,EAAAq3B,gBAAA,CAK7C,IACK,CAAA0e,mCAAA,CAAA3oD,EAAA4S,IAGH5S,EAAIogC,WAAC,CAAAxtB,EAAAm3B,MAAA,CAAA/pC,EAA+B,IAAK,EAC1C,KAAA4oD,8BAAA,CAAA5oD,EAAA4S,IAKF5S,EAAAogC,WAAA,CAAAooB,EAAA51C,MAAA,CAIL,EAAoCi2C,eACvB,SAAS7oD,CAAA,CAAAwoD,CAAA,EACpB,IAAI1kD,EAAM0kD,EAAA1kD,IAAA,CACRA,IACEA,EAAIimC,MAAA,EACJ/pC,EAAImgC,SAAC,CAAAr8B,EAAAimC,MAAA,CAAA/pC,EAAA,IAA+B,EACtC,IACK,CAAA4oD,8BAAA,CAAA5oD,EAAAwoD,EAAA1kD,IAAA,GAEJ9D,EAAAmgC,SAAA,CAAAr8B,EAIL,EAAsCokD,uBAClB,SAAAloD,CAAA,EAClBA,EAAIuxC,WAAW,CAAG,EAClBvxC,EAAIogC,WAAS,CAAG,cAClBpgC,EAAAmgC,SAAA,UAEA,EAMuCsW,aAChC,SAAaz2C,CAAA,CAAA8oD,CAAU,CAAM,CAChCA,GAAAA,IAAAA,EAAAztE,MAAA,GAIA,EAAAytE,EAAcztE,MAAM,EACrBytE,EAAAzzE,IAAA,CAAA4uB,KAAA,CAAA6kD,EAAAA,GAEH9oD,EAAAusC,WAAA,CAAAuc,GAEA,EAM8CvP,gBAClC,SAAKv5C,CAAA,CAAA2/B,CACX,EAEJ,IAAmC1kD,EAAA8tE,EAAAlgB,EAAnC3B,EAAA,KAAA6f,oBAAmC,GAAAz3C,EAAA,KAAAgD,mBAAA,GAEnCy2C,EAAA,KAA+C,IAAhCppB,CADfA,EAAcA,GAAO,IACCskB,UAAc,CAAgBtkB,EAAcskB,UAAc,CAAW,IAAG,CAAAA,UAAK,CACnGpb,EAAS,KAA2C,IAA/BlJ,EAAAqkB,WAA0B,CAAKrkB,EAAAqkB,WAAA,MAAAA,WAAA,CACpD10C,EAAA/tB,EAAUqc,IAAO,CAAI0Q,yBAAa,CAAA44B,EAAA53B,GAClCr0B,EAAQsG,EAAAqc,IAAA,CAAA4Q,WAAA,CAAAc,GACRtP,EAAIkgC,IAAA,GACJlgC,EAAIE,SAAS,CAAAjlB,EAAO2zB,UAAK,CAAA3zB,EAAiB4zB,UAAA,EAC1C7O,EAAIqgC,SAAM,CAAK,EAAE,KAAAyjB,iBAAA,CACf,IAAI,CAAAvc,KAAA,EACLvnC,CAAAA,EAAAuxC,WAAA,MAAA4M,QAAA,MAAA0F,uBAAA,IAEC,KAAA30C,KAAQ,EACTj0B,CAAAA,EAAAurB,KAAA,OAEDxG,EAAIwP,MAAA,CAAA7S,EAAc,KAAA4qC,KAAkB,CAAItsD,EAAKurB,KAAO,MAAAA,KAAA,GAClDm5B,EAAAqpB,kBAAoB,MAAmB,CAAAzhB,KAAK,CAC9CwhB,GACK,KAAAE,kBAAA,CAAAjpD,EAAA/kB,EAAA0kD,GAEJopB,GAAA,KAAAA,WAAA,CAAA/oD,EAAA2/B,GAEDkJ,GAAW,KAAAA,YAAA,CAAA7oC,EAAA2/B,GACb3/B,EAAAwgC,OAAA,EAEA,EAI0B4M,WACnB,SAAWptC,CAAE,KAChB,KAAA4sC,MAAA,EAMF,IAAuBsc,EAAnBtc,EAAO,KAAAA,MAAY,CAAAjzD,EAAA,KAAAA,MAAA,CAAAwvE,EAAAxvE,GAAAA,EAAAuqD,iBAAA,OAAAklB,EAAAzvE,GAAAA,EAAAuqD,iBAAA,OACXglB,EAAVtc,EAAAyc,UAAU,CAAE,CAAWhhE,OAAQ,EAAEC,OAAA,CACnC,EAGC,KAAAi+D,gBAAA,GAEC5sE,GAASA,EAAOqrD,gBAAgB,KAChCmkB,GAAS5nE,EAAOghB,gBAAgB,CACjC6mD,GAAA7nE,EAAAghB,gBAAA,EAEDvC,EAAIqtC,WAAU,CAAGT,EAAOhhD,KAAI,CAE5BoU,EAAIstC,UAAA,CAAaV,EAAGW,IAAO,CAAAhsD,EAAUmhB,yBAAsB,CAAAymD,CAAAA,EAAAC,CAAA,EAAAF,CAAAA,EAAA7gE,MAAA,CAAA6gE,EAAA5gE,MAAA,IAC3D0X,EAAIwtC,aAAa,CAAGZ,EAAOvR,OAAO,CAAG8tB,EAAQD,EAAQ7gE,MAAM,CAC7D2X,EAAAytC,aAAA,CAAAb,EAAAtR,OAAA,CAAA8tB,EAAAF,EAAA5gE,MAAA,CAlBE,EAwB2BggE,cACjB,SAAQtoD,CAAA,EAChB,KAAA4sC,MAAA,GAIF5sC,EAAIqtC,WAAU,CAAG,GACnBrtC,EAAAstC,UAAA,CAAAttC,EAAAwtC,aAAA,CAAAxtC,EAAAytC,aAAA,GAEA,EAOsDmb,+BAC7B,SAAQ5oD,CAAA,CAAA4F,CAAA,KAC7B,CAAAA,GAAO,CAAAA,EAAAmkC,MAAA,OAAE,CAAY1O,QAAS,EAAEC,QAAA,CACjC,CACD,CACA,IAAI1xB,EAAAhE,EAAWokC,iBAAiB,EAAApkC,EAAOqkC,gBACnC,CAEA5O,EAAO,MAAAz7C,KAAa,GAAKgmB,EAAAy1B,OAAc,IAAAC,EAAA,MAAA77C,MAAA,GAAAmmB,EAAA01B,OAAA,IASpC,MARL11B,eAAAA,EAAI8iD,aAAe,CACrB1oD,EACK+J,SAAA,MAAAnqB,KAAA,UAAAH,MAAA,CAAA47C,EAAAC,GAEJt7B,EAAA+J,SAAA,SAAAsxB,EAAAC,GAEC1xB,GACD5J,EAAA+J,SAAA,CAAAH,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACQ,CAAkByxB,QAASA,EAAQC,QAAAA,CAC9C,CAEA,EAImCguB,oBACxB,SAAetpD,CAAA,EACtB,eAAI,CAACqkD,UAAA,EACL,IAAI,CAACkF,aAAY,CAAAvpD,GACnB,IACK,CAAAwpD,WAAA,CAAAxpD,KAEH,IAAI,CAACwpD,WAAA,CAAAxpD,GACN,KAAAupD,aAAA,CAAAvpD,GAGH,EAWAyuC,QAAA,aAI2B+a,YAChB,SAAOxpD,CAAA,EACd,KAAA8D,IAAA,GAIF9D,EAAIkgC,IAAC,GACL,IAAI,CAAA2oB,cAAa,CAAA7oD,EAAK,MACpB,gBAAI,CAAA2jD,QAAK,CACX3jD,EACK8D,IAAA,YAEJ9D,EAAA8D,IAAA,GAEH9D,EAAAwgC,OAAA,GAEA,EAI6B+oB,cACjB,SAAUvpD,CAAA,CAAK,CAAmB,GAC1C,KAAA4S,MAAA,WAAAla,WAAA,EAQoC,GAJpC,IAAI,CAACk0C,MAAA,OAAc,CAAAA,MAAA,CAAAyC,YAAA,EACpB,KAAAiZ,aAAA,CAAAtoD,GAGDA,EAAIkgC,IAAI,GACN,IAAI,CAAAj3B,aAAc,EAAC,KAAAs+B,KAAA,EACnB,IAAI2hB,EAAU,KAAA3C,gBAAoB,GACpCvmD,EACK5X,KAAI,GAAK8gE,EAAA7gE,MAAe,GAAA6gE,EAAA5gE,MAAA,OACvB,IAAM,CAAA2gB,aAAe,EAC1BjJ,EAAA5X,KAAA,QAAAC,MAAA,QAAAC,MAAA,CACD,CACA,IAAI,CAACmuD,YAAA,CAAAz2C,EAAiB,IAAK,CAAA8sC,eAAI,EAC/B,IAAI,CAAAyb,gBAAM,CAAAvoD,EAAA,MACVA,EAAI4S,MAAA,GACN5S,EAAAwgC,OAAA,GAhBE,EA6ByDmoB,oCACzB,SAAK3oD,CAAA,CAAA4F,CAAA,EAGrC,IAAgB6jD,EAAhB5E,EAAQ,IAAK,CAAGD,eAAA,MAAAI,yBAAA,IAAA0E,EAAAnoE,EAAAqc,IAAA,CAAAqQ,mBAAA,GAAA+pC,EAAA,KAAAr+D,MAAA,CAAAsrD,gBAAA,GAAArlD,EAAAilE,EAAAv9C,CAAA,MAAAjf,MAAA,CAAA2vD,EAAAv4D,EAAAolE,EAAAt9C,CAAA,MAAAjf,MAAA,CAAA0vD,CAChB0R,CAAAA,EAAQ9pE,KAAA,CAAMA,EACd8pE,EAAOjqE,MAAA,CAAQA,EACGgqE,CAAlBA,EAAKC,EAASzpD,UAAA,QAASqgC,SAAO,GAAOmpB,EAAK7f,MAAM,CAAC,KAAW6f,EAAK5f,MAAM,CAACjqD,EAAO,GAC/E6pE,EAAK5f,MAAM,CAACjqD,EAAGH,GAASgqE,EAAK5f,MAAA,GAASpqD,GACtCgqE,EAAK3f,SAAS,GACd2f,EAAKvpD,SACH,CAAAtgB,EAAU,EAAGH,EAAW,GAG1BgqE,EAAKrhE,KAAA,CAAAy8D,EAAAxb,KAAA,MAAAhhD,MAA8B,CAAC2vD,EAAM6M,EAAAvb,KAAA,MAAAhhD,MAAA,CAAA0vD,GAC1C,KAAK4Q,8BAA0B,CAAAa,EAAA7jD,GAC/B6jD,EAAKtpB,SAAI,CAAAv6B,EAAAmkC,MAAA,CAAA/pC,GACTypD,EAAI3lD,IAAA,GACJ9D,EAAIE,SACF,OAAAtgB,KAAA,CAAgB,EAAK,KAAM8Y,WAAQ,CAAK,EACxC,MAAAjZ,MAAA,CAAgB,EAAK,KAAAiZ,WAAc,CAAK,GAE1CsH,EAAI5X,KAAA,CAAA4vD,EAAmB,KAAA3vD,MAAc,CAAAw8D,EAAAxb,KAAS,CAAA2O,EAAA,KAAA1vD,MAAA,CAAAu8D,EAAAvb,KAAA,EAChDtpC,EAAAogC,WAAA,CAAAqpB,EAAAzX,aAAA,CAAA0X,EAAA,YAEA,EAMmCC,uBAC1B,iBAAK,CAA4BriD,EAAG,IAAI,CAACte,IAAG,CAAG,IAAK,CAAApJ,KAAM,CAAG,EAAE2nB,EAAA,KAAAxe,GAAA,MAAAtJ,MAAA,EACxE,CAEA,EAOwCmqE,4BACd,UAAE,IACxB,IAAI,CAAA33C,eAAU,CAAO,CACrB,IAAIh3B,EAASsG,EAAKqc,IAAA,CAAA4Q,WAAA,MAAAyD,eAAA,CAClB,KAAI,CAAC/C,KAAK,CAAG,GACb,IAAI,CAACC,KAAI,IACT,IAAI,CAACzoB,GAAG,CAAC,SAAUzL,EAAQoN,MAAM,EACjC,IAAI,CAAC3B,GAAA,UAAQzL,EAAaqN,MAAA,EAC1B,IAAI,CAACke,KAAK,CAAGvrB,EAAQurB,KAAK,CAC1B,IAAI,CAACkI,KAAK,CAAGzzB,EAAAyzB,KAAA,CACd,KAAAC,KAAA,EACH,GAS6Dk7C,uBACzC,SAAAC,CAAsB,EACxC,IAAIl4C,EAAK,KAAA+3C,sBAAiB,EACxB,KAAI,CAAC13C,eAAA,GACL,KAAA23C,2BAAqB,GACtBh4C,EAAArwB,EAAAqc,IAAA,CAAAE,cAAA,CAAA8T,EAAA,KAAAK,eAAA,GAED,IAAI,CAAAA,eAAA,MACF63C,IACA,IAAI,CAACzhE,MAAM,EAAIyhE,EAA2BzhE,MAAM,CAChD,IAAI,CAACC,MAAK,EAAGwhE,EAA2BxhE,MAAK,CAC7C,IAAI,CAACyhE,KAAK,CAAGD,EAA2BC,KAAK,CAC7C,KAAAC,KAAQ,CAAIF,EAA2BE,KAAA,CACvCp4C,EAAOtK,CAAC,EAAIwiD,EAA2BG,UAAS,CAChDr4C,EAAKrK,CAAA,EAAKuiD,EAAGI,SAAgC,CAC7C,IAAI,CAACtqE,KAAA,CAAMkqE,EAAGlqE,KAA2B,CAC1C,KAAAH,MAAA,CAAAqqE,EAAArqE,MAAA,EAEH,KAAAoyB,mBAAA,CAAAD,EAAA,kBAEA,EAK+C9oB,MAC7C,SAAIkc,CAAa,CAAK4lC,CAAS,EAC/B,IAAIuf,EAAK,IAAY,CAAArf,QAAA,CAAUF,EAC7B,KAAI,CAACrrB,WAAW,CAAC3S,UAAU,CAC7B,IACK,CAAA2S,WAAA,CAAA3S,UAAA,CAAAu9C,EAAAnlD,GAEJzjB,EAAA4W,MAAA,CAAAiyD,WAAA,UAAAD,EAAAnlD,EAGH,EAqB0CqlD,aACpC,SAAerlD,CAAC,CAAA/pB,CAAgB,EACpC,IAAImzB,EAAU,KAAAszC,eAAA,CAAAzmE,GAIhB,OAHI+pB,GACDA,EAAA,IAAAzjB,EAAAK,KAAA,CAAAwsB,IAEH,MAemCszC,gBACrB,SAAUzmE,CAAE,EAExBA,GAAYA,CAAAA,EAAO,CAAI,GAIvB,IAAAqvE,EAAY/oE,EAAKqc,IAAA,CAAA2sD,EAAAD,EAAA76C,mBAAA,OAAA+6C,EAAA,KAAAjjB,KAAA,CAAAkjB,EAAA,KAAA7d,MAAA,CAAA3uC,EAAAjf,KAAAif,GAAA,CAAA0gC,EAAA,CAAA1jD,EAAA0jD,UAAA,KAAA1jD,CAAAA,EAAAopD,mBAAA,CAAA9iD,EAAAghB,gBAAA,GACjB,QAAI,KAAQglC,KAAA,CACVtsD,EAAMyvE,gBAAA,EACPJ,EAAA/6C,oBAAA,OAECt0B,EAAK0vE,aAAa,EACnB,MAAA/d,MAAA,OAIG,IAEoBsc,EAGxB5b,EAAY1tD,EAAAH,EALR2iC,EAAA7gC,EAAeqc,IAAK,CAAAqQ,mBAAoB,GAEzB28C,EAAK,KAAAC,eAAA,QAAAje,EAAA,KAAAA,MAAA,CAAAke,EAAA,CAAGxjD,EAAG,EAAKC,EAAA,CAGnC,EACEqlC,IACAU,EAAWV,EAAAW,IAAY,CACX2b,EAAVtc,EAAAyc,UAAU,CAAE,CAAWhhE,OAAQ,EAAEC,OAAA,CACnC,EAGC,KAAAi+D,gBAAA,GAGDuE,EAAaxjD,CAAC,CAAG,EAAItoB,KAAKC,KAAK,CAACgf,EAAI2uC,EAAOvR,OAAO,EAAIiS,GAAervC,EAAIirD,EAAQ7gE,MAAM,EACxFyiE,EAAAvjD,CAAA,GAAAvoB,KAAAC,KAAA,CAAAgf,EAAA2uC,EAAAtR,OAAA,EAAAgS,GAAArvC,EAAAirD,EAAA5gE,MAAA,GAED1I,EAAAgrE,EAAShrE,KAAa,CAAMkrE,EAAGxjD,CAAA,CAC/B7nB,EAAAmrE,EAAAnrE,MAAA,CAAAqrE,EAAAvjD,CAAA,CAGA6a,EAAGxiC,KAAA,CAAMZ,KAAGmf,IAAK,CAAIve,GACrBwiC,EAAA3iC,MAAI,CAAAT,KAAamf,IAAA,CAAA1e,GAAwB,IACvC9F,EAAA,IAAA4H,EAAA8hD,YAA0B,CAAAjhB,EAAA,CAC1BiiB,oBAAmB,GACnBzsC,kBAAe,GACjB2sC,cAAA,EACA,GACS,SAAPtpD,EAAOkG,MAAA,EACRxH,CAAAA,EAAA7B,eAAA,SAGD,IAAI,CAAA+5B,mBAAiB,CAAI,IAACtwB,EAAM8lB,KAAA,CAAA1tB,EAAAiG,KAAA,GAAAjG,EAAA8F,MAAA,uBAChC,IAAAsrE,EAAe,KAAApxE,MAAA,CACfA,EAAI2N,GAAA,KAAW,EACf,IAAI8mB,EAAUz0B,EAAA+nE,eAAA,CAAA/iB,GAAA,EAAA1jD,GAchB,OAbE,IAAI,CAAC2xD,MAAI,CAAA6d,EACT,IAAI,CAAA/jE,GAAA,UAAeqkE,GACjBP,GACD,MAAAjjB,KAAA,CAAAijB,CAAA,EAED,KAAA9jE,GAAA,CAAA6jE,GAAAphE,SAAA,GAIAxP,EAAOoF,QAAO,IACdpF,EAAA4f,OAAa,GAEb5f,EAAO,KACTy0B,CAEA,EAe6BxjB,UAC3B,SAAY3P,CAAY,EAE1B,OADEA,GAAOA,CAAAA,EAAY,IACrBsG,EAAAqc,IAAA,CAAAhT,SAAA,MAAA82D,eAAA,CAAAzmE,GAAAA,EAAAkG,MAAA,QAAAlG,EAAAozB,OAAA,IAEA,EAKuB28C,OACrB,SAAOxuE,CAAU,EACnB,OAAAkG,UAAArH,MAAA,GAAAiE,MAAAwN,IAAA,CAAApK,WAAA8M,QAAA,MAAAhT,IAAA,OAAAA,IAAA,GAAAA,CAAA,EAMuB+oB,WACd,WACT,QAEA,EAKsCjM,OACpC,SAAAsxC,CAAsB,EAExB,YAAAE,QAAA,CAAAF,EAEA,EAMwBp7B,OAClB,SAAAhJ,CAAA,EAEJ,IAAIykD,EAAoB,iBAAAlxB,OAAA,kBAAAC,OAAA,QAAAsY,gBAAA,CAW1B,OAVI2Y,GACD,KAAAC,kBAAA,GAID,IAAI,CAAAxkE,GAAA,SAAA8f,GACFykD,GACD,KAAAE,YAAA,GAGH,MAQqBC,QACd,UAAU,CAEjB,OADE,KAAAzxE,MAAW,OAAAA,MAAA,CAAAwwD,aAAA,OACb,MAQ6BkhB,gBAChB,UAAS,CAEtB,OADE,KAAA1xE,MAAW,OAAAA,MAAA,CAAA8wD,qBAAA,OACb,MAQqB6gB,QACd,UAAU,CAEjB,OADE,KAAA3xE,MAAW,OAAAA,MAAA,CAAA0wD,aAAA,OACb,MAQ6BkhB,gBAChB,UAAS,CAEtB,OADE,KAAA5xE,MAAW,OAAAA,MAAA,CAAA+wD,qBAAA,OACb,MAQoB94B,OACd,UAAW,CAEjB,OADE,KAAAj4B,MAAW,OAAAA,MAAA,CAAA8O,YAAA,OACb,MAQ4B+iE,eACf,UAAS,CAEtB,OADE,KAAA7xE,MAAW,OAAAA,MAAA,CAAA2wD,oBAAA,OACb,MAQsCmhB,gBAC1B,SAAW5hE,CAAA,CAAI0wC,CAAO,CAAC,CACjCA,EAAIA,GAAe,KAAO5gD,MAAM,CAAA4mC,UAAW,CAAA12B,GAE3C,IAAI6hE,EAAU,IAAEnqE,EAAA8lB,KAAA,CAAAkzB,EAAAjzB,CAAA,CAAAizB,EAAAhzB,CAAA,EAAAokD,EAAA,KAAAzZ,iBAAA,GAIT,OAHL,KAAA1rC,KAAA,EAEDklD,CAAAA,EAAAnqE,EAAAqc,IAAA,CAAAqJ,WAAA,CAAAykD,EAAAC,EAAAhvD,EAAA,MAAA6J,KAAA,IAEI,CACHc,EAAGokD,EAASpkD,CAAC,CAAGqkD,EAAcrkD,CAAC,CACjCC,EAAAmkD,EAAAnkD,CAAA,CAAAokD,EAAApkD,CAAA,CAGF,EAKyC2/C,yBAC9B,SAAAlnD,CAAwB,CAAE,CACjC,IAAI,CAAAopC,wBAAwB,EAC7BppC,CAAAA,EAAAopC,wBAAA,MAAAA,wBAAA,CAGH,EAIqB7vC,QACf,UAAO,CACThY,EAAOomC,iBAAiB,EACzBpmC,EAAAomC,iBAAA,CAAAhB,cAAA,MAEL,CAEA,GAEAplC,EAAOqc,IAAA,CAAAguD,eAAc,EAASrqE,EAAEqc,IAAO,CAAAguD,eAAU,CAAArqE,EAAA4W,MAAA,EAEjDqE,EAAAjb,EAAA4W,MAAA,CAAAC,SAAA,CAAA7W,EAAA2iB,UAAA,EAUA3iB,EAAA4W,MAAA,CAAAiZ,mBAAA,GAO8B7vB,EAAC4W,MAAA,CAAA6U,aAAA,EAAW,WAE1C,CAA8EzrB,EAC5E4W,MAAI,CAAAiyD,WAAe,UAAU/tE,CAAA,CAAAb,CAAA,CAAAwpB,CAAA,CAAA6mD,CAAA,EAC7B,IAAAzsC,EAAS79B,CAAM,CAAAlF,EAAY,CAC3Bb,EAAOsN,EAAKtN,EAAA,IAAgB+F,EAACqc,IAAO,CAAAsP,eAAI,EAAE1xB,EAAOsoB,IAAA,CAAStoB,EAAAo3B,MAAS,CAAU,UACvEzF,CAAO,EACc,SAAhBA,CAAO,KACf3xB,CAAAA,EAAAsoB,IAAA,CAAAqJ,CAAA,KAEiB,SAATA,CAAM,CAAG,IACjB3xB,CAAAA,EAAAo3B,MAAA,CAAAzF,CAAA,KAC+D5rB,EAC9Dqc,IAAI,CAAAkP,uBAAwB,CAAItxB,EAAMA,EAAO,UAAa,CAC1D,IAAAoqD,EAAYimB,EAAS,IAAAzsC,EAAA5jC,CAAA,CAAAqwE,EAAA,CAAArwE,GAAA,IAAA4jC,EAAA5jC,EAAA,CACvBwpB,GAAAA,EAAA4gC,EACF,EACF,EAEA,EAOCrkD,EAAiC4W,MAAA,CAAA2zD,KAAc,IAK1CnvD,EAAOpb,GAAAqc,IAAA,CAAAjB,gBAAA,CAAAe,EAAA,CACP1U,KAAA,IACA4oB,OAAO,EAETsnB,MAAA,EAAgB,EAAAv7B,EACR,CACN5U,IAAA,IACA6oB,OAAQ,EACVqnB,OAAA,EAEJ,EAAyF13C,GAEvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EASwF2zD,uBAElF,SAAW7kD,CACX,CAAA8kD,CAAS,CAASC,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAEtB,IAA2B9wB,EAAUC,EAAAkB,EAAjCl1B,EAAAJ,EAAOI,CAAA,CAAAC,EAAAL,EAAgBK,CAAA,CAuC7B,MAtCI,iBAAAykD,EACFA,EACKtuD,CAAA,CAAAsuD,EAAA,CAEJA,GAAA,GAGC,iBAAAE,EACFA,EACKxuD,CAAA,CAAAwuD,EAAA,CAEJA,GAAA,GAID7wB,EAAI6wB,EAAOF,EACT,iBAAAC,EACFA,EACKtuD,CAAA,CAAAsuD,EAAA,CAEJA,GAAA,GAGC,iBAAAE,EACFA,EACKxuD,CAAA,CAAAwuD,EAAA,CAEJA,GAAA,GAID7wB,EAAI6wB,EAAWF,EACb5wB,CAAAA,GAAWC,CAAA,IACXkB,EAAI,IAAM,CAACV,yBAAkB,GAC7Bx0B,EAAIJ,EAAMI,CAAC,CAAG+zB,EAAUmB,EAAIl1B,CAAC,CAC9BC,EAAAL,EAAAK,CAAA,CAAA+zB,EAAAkB,EAAAj1B,CAAA,EAGH,IAAAhmB,GAAA8lB,KAAA,CAAAC,EAAAC,EAEA,EAO0D6kD,uBAC3C,SAAAllD,CAAA,CAAuB6yB,CAAO,CAAAC,CAAS,EACpD,IAAI93C,EAAI,IAAC,CAAA6pE,sBAAO,CAAA7kD,EAAA6yB,EAAAC,EAAA,8BACd,CAAAxzB,KAAO,CACRjlB,GAAAqc,IAAA,CAAAqJ,WAAA,CAAA/kB,EAAAglB,EAAAvK,EAAA,KAAA6J,KAAA,GAEHtkB,CADE,EAUyD04C,uBAC5C,SAAAhpB,CAAsB,CAACmoB,CAAQ,CAAAC,CAAA,CAAU,CACtD,IAAI93C,EAAI,IAAC,CAAA6pE,sBAAO,CAAAn6C,EAAA,kBAAAmoB,EAAAC,UAAA,IACd,CAAAxzB,KAAO,CACRjlB,GAAAqc,IAAA,CAAAqJ,WAAA,CAAA/kB,EAAA0vB,EAAAjV,EAAA,KAAA6J,KAAA,GAEHtkB,CADE,EAOyBw4C,eACrB,UAAc,CAClB,IAAA2xB,EAAY,IAAA9qE,GAAA8lB,KAAA,KAAuB,CAAAre,IAAA,KAAS,CAAAD,GAAK,EACnD,YAAAqjE,sBAAA,CAAAC,EAAA,KAAAtyB,OAAA,MAAAC,OAAA,CAEA,EAe6CsyB,iBAC9B,SAAKvyB,CAAA,CAAcC,CAAA,EAChC,IAAApoB,EAAY,KAAA8oB,cAAA,GACd,YAAAE,sBAAA,CAAAhpB,EAAAmoB,EAAAC,EAEA,EAOgDoB,aAC1C,SAAcl0B,CAAA,CAAA6yB,CAAc,CAAAC,CACzB,EAEP,IAAuB93C,EAAeu5B,EAAlC7J,EAAO,KAAA8oB,cAAY,GAYzB,OAVEx4C,EADE,KAAS,IAAL63C,GAA4B,KAAkB,IAAVC,EAErC,KAAA+xB,sBAAA,CAAAn6C,EAAA,kBAAAmoB,EAAAC,GAEJ,IAAAz4C,GAAA8lB,KAAA,MAAAre,IAAA,MAAAD,GAAA,EAGD0yB,EAAI,IAAKl6B,GAAO8lB,KAAA,CAAAH,EAAAI,CAAA,CAAAJ,EAAAK,CAAA,EACd,KAAKf,KAAA,EACNiV,CAAAA,EAAAl6B,GAAAqc,IAAA,CAAAqJ,WAAA,CAAAwU,EAAA7J,EAAA,CAAAjV,EAAA,KAAA6J,KAAA,IAEHiV,EAAAyO,cAAA,CAAAhoC,EAEA,EAgBqD2vB,oBAClC,SAACuX,CAAA,CAAA2Q,CAAA,CAAsBC,CAAM,EAE9C,IAAIpoB,EAAK,IAAQ,CAAAw6C,sBAAU,CAAAhjC,EAAA2Q,EAAAC,GAAA9tB,EAAA,KAAA0uB,sBAAA,CAAAhpB,EAAA,KAAAmoB,OAAA,MAAAC,OAAA,EAC3B,IAAI,CAACtzC,GAAG,CAAC,OAAOwlB,EAAU5E,CAAA,EAC5B,KAAA5gB,GAAA,OAAAwlB,EAAA3E,CAAA,CAEA,EAG6BglD,eACf,SAAA1kD,CAAA,EAMZ,IAAyE2kD,EAAAC,EAAzEjmD,EAAA7J,EAAA,KAAA6J,KAAA,EAAAkmD,EAAA,KAAAC,cAAyE,GAAAC,EAAArrE,GAAAqc,IAAA,CAAA2I,GAAA,CAAAC,GAAAkmD,EAAAG,EAAAtrE,GAAAqc,IAAA,CAAAM,GAAA,CAAAsI,GAAAkmD,EAGzEF,EADE,sBAAAzyB,OAAa,CAEVr8B,CAAA,MAAAq8B,OAAA,EAEJ,KAAAA,OAAA,IAGD0yB,EADE,iBAAA5kD,EAEGnK,CAAA,CAAAmK,EAAA,CAEJA,EAAA,GAED,IAAI,CAAC7e,IAAG,EAAI4jE,EAASH,CAAAA,EAAWD,CAAS,EACzC,IAAI,CAACzjE,GAAA,EAAA8jE,EAASJ,CAAAA,EAAAD,CAAA,EACd,IAAI,CAACrjE,SAAO,GACd,KAAA4wC,OAAA,CAAAlyB,CAEA,EAK+BqjD,mBACxB,UAAmB,CACxB,IAAI,CAAC4B,gBAAgB,CAAG,IAAI,CAAC/yB,OAAO,CAEpC,IAAI,CAAAgzB,gBAAc,MAAA/yB,OAAc,CAEhC,IAAIpoB,EAAQ,IAAG,CAAA8oB,cAAA,EACf,KAAI,CAACX,OAAO,CAAG,SAEf,IAAI,CAACC,OAAO,UACZ,IAAI,CAAChxC,IAAG,CAAG4oB,EAAQtK,CAAA,CACrB,KAAAve,GAAA,CAAA6oB,EAAArK,CAAA,EAOyB4jD,aACnB,UAAc,CAKlB,IAAI6B,EAAW,IAAK,CAAApyB,sBAAgB,MAAAF,cAAA,QAAAoyB,gBAAA,MAAAC,gBAAA,CACpC,KAAI,CAAChzB,OAAO,CAAG,IAAI,CAAC+yB,gBAAgB,CAEpC,IAAI,CAAC9yB,OAAO,MAAA+yB,gBAAa,CACzB,IAAI,CAAC/jE,IAAG,CAAGgkE,EAAa1lD,CAAA,CAExB,IAAI,CAACve,GAAA,CAAAikE,EAAgBzlD,CAAG,CACxB,IAAI,CAACulD,gBAAgB,CAAG,IAAI,CAC9B,KAAAC,gBAAA,OAK8B7a,kBAChB,WACd,YAAAtX,sBAAA,MAAAF,cAAA,gBACF,CAEF,GAiBqB/9B,EAAuBiB,CAA1CA,EAAWrc,GAAOqc,IAAC,EAAyBjB,gBAAA,CAAAkB,EAAsCD,EAAA0Q,yBAAA,CAAAxQ,EAAAF,EAAAE,cAAA,CAAAF,EAEhFpiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAYA60D,QAAA,KAcAC,QAAA,KAQAC,WAAA,KAKAC,eAAA,KAKAC,YAAA,KAMA5vD,SAAA,GAM0C6vD,WACpC,SAAWC,CAAA,CAAAC,CAAA,WAEdD,EAAA,KAAAE,WAAA,QAAAC,cAAA,IAEC,IAAK,CAAAR,OAAA,EAAU,IAAI,CAAAC,UAAA,EACpB,KAAAhkE,SAAA,KAEHokE,EAAA,KAAAL,OAAA,MAAAC,UAAA,CAJE,EAYuCQ,UAChC,SAAAJ,CAAgB,CAAAC,CAAK,MAxFvB1kD,EAyFP,OAzFOA,EAyFP,KAAAwkD,UAAA,CAAAC,EAAAC,GAxFE,CACA,IAAIjsE,GAAO8lB,KAAK,CAACyB,EAAOk6B,EAAE,CAAC17B,CAAC,CAAEwB,EAAOk6B,EAAE,CAACz7B,CAAC,EACzC,IAAIhmB,GAAO8lB,KAAK,CAACyB,EAAOm6B,EAAE,CAAC37B,CAAC,CAAEwB,EAAOm6B,EAAE,CAAC17B,CAAC,EACzC,IAAIhmB,GAAO8lB,KAAK,CAACyB,EAAOq6B,EAAE,CAAC77B,CAAC,CAAEwB,EAAOq6B,EAAE,CAAC57B,CAAC,EAC1C,IAAAhmB,GAAA8lB,KAAA,CAAAyB,EAAAo6B,EAAA,CAAA57B,CAAA,CAAAwB,EAAAo6B,EAAA,CAAA37B,CAAA,EACH,EA6FsEi6C,mBACrD,SAAKoM,CAAU,CAAAC,CAAU,CAAAN,CAClC,CAAAC,CAAA,EAKJ,IAAA1kD,EAAO,KAAA6kD,SAAmB,CAAAJ,EAAKC,GACjC,MAAAM,iBAAAA,GADiC1iC,YAAA,CAAAmB,yBAAA,CAAAzjB,EAAA8kD,EAAAC,GACjCxiC,MAAA,EAS2D2gB,qBACrD,SAAsB+hB,CAAA,CAAAR,CAAa,CAAAC,CAAA,EAQzC,MAAAM,iBAAAA,GAH4B1iC,YAAK,CAAAgB,uBACpB,MAAAuhC,SAAA,CAAuBJ,EAAOC,GAAUO,EAAAJ,SACzC,CAAAJ,EAAAC,IACZniC,MAAA,EAAA0iC,EAAA9hB,uBAAA,MAAAshB,EAAAC,IAAA,KAAAvhB,uBAAA,CAAA8hB,EAAAR,EAAAC,EAEA,EAO8DvhB,wBAC1C,SAAU8hB,CAAA,CAAAR,CAAU,CAAAC,CAClC,EAEe,IAAnB,IAAA5kD,EAAc,IAAK,CAAA+kD,SAAA,CAAAJ,EAAAC,GAAAQ,EAAAT,EAAAQ,EAAAb,OAAA,CAAAa,EAAAZ,UAAA,CAAAjnE,EAAA,EAAA+nE,EAAAF,EAAAG,cAAA,CAAAF,GACjB9nE,EAAK,EAAAA,IAAuC,GAC1C,CAAA6nE,EAAO3W,aAAK,CAAAxuC,CAAA,CAAA1iB,EAAA,CAAA+nE,GACb,QACH,CAEF,QAEA,EAQuExM,sBAClD,SAAKmM,CAAA,CAAAC,CAAgB,CAAAN,CAAU,CAAAC,CAAA,EAElD,IAAA5C,EACE,IAAa,CAAIC,eAAa,CAAA0C,EAC9BC,GAIJ,OAAA5C,EAAA5hE,IAAA,EAAA4kE,EAAAtmD,CAAA,EAAAsjD,EAAA5hE,IAAA,CAAA4hE,EAAAhrE,KAAA,EAAAiuE,EAAAvmD,CAAA,EAAAsjD,EAAA7hE,GAAA,EAAA6kE,EAAArmD,CAAA,EAAAqjD,EAAA7hE,GAAA,CAAA6hE,EAAAnrE,MAAA,EAAAouE,EAAAtmD,CAAA,EAU2D6vC,cACrD,SAAclwC,CAAA,CAAA+mD,CAAW,CAAAV,CAAU,CAAAC,CACnC,EAEJ,IAAA1kD,EAAA,KAAAwkD,UAAA,CAAAC,EAAAC,GAAAS,EAAoDA,GAAA,KAAAC,cAAA,CAAAplD,GAAAkB,EAAA,KAAAmkD,gBAAA,CAAAjnD,EAAA+mD,GAEtD,OAAAjkD,IAAAA,GAAAA,EAAA,IAEA,EAMgCi9C,WACzB,SAAWuG,CAAE,KAChB,MAAA7zE,MAAY,CACb,QACD,CACA,IAAIi0E,EAAS,IAAK,CAAAj0E,MAAA,CAAA2qD,SAAgB,CAAAtB,EAAA,CAAA6qB,EAAA,KAAAl0E,MAAA,CAAA2qD,SAAA,CAAAnB,EAAA,OAEF,GAC9Bv6B,IAFF,CAAA+kD,SAAA,IAAAH,GAESnoD,IAAA,UAAW6B,CAAQ,CAAC,CAEzB,OAAAA,EAAAI,CAAA,EAAAumD,EAAAvmD,CAAA,EAAAJ,EAAAI,CAAA,EAAAsmD,EAAAtmD,CAAA,EAAAJ,EAAAK,CAAA,EAAAsmD,EAAAtmD,CAAA,EAAAL,EAAAK,CAAA,EAAAqmD,EAAArmD,CAAA,IAKF,KAAAi6C,kBAAW,CAAAoM,EAAAC,EAAA,GAAAL,KAGf,KAAAY,uBAAA,CAAAR,EAAAC,EAAAL,EAEA,EAS+DY,wBAC7D,SAAAR,CAAA,CAAAC,CAAA,CAAAL,CAAA,EACkB,IAAE7/C,EAAa,CAAmBrG,EAAG,CAACsmD,EAAQtmD,CAAC,CAAGumD,EAAQvmD,CAAC,EAAI,EAAEC,EAAA,CAAAqmD,EAAArmD,CAAA,CAAAsmD,EAAAtmD,CAAA,GACnF,UACE,KAAA6vC,aAAW,CAAAzpC,EAAA,QAAA6/C,EAKf,EAKyCa,oBACvB,SAAEb,CAAA,KAChB,MAAA7zE,MAAY,CACb,QACD,CACA,IAAIi0E,EAAK,KAAAj0E,MAAA,CAAA2qD,SAAmB,CAAAtB,EAAS,CAAA6qB,EAAa,IAAE,CAAAl0E,MAAA,CAAA2qD,SAAY,CAAAnB,EAAA,SAC9D,KAAAqe,kBAAW,CAAAoM,EAAAC,EAAA,GAAAL,IAOfc,IAJuB,CAAQX,SAAK,IAAWH,GAASlyE,KACnD,UAAW4rB,CAAA,EACd,OAAAA,EAAAI,CAAA,EAAAumD,EAAAvmD,CAAA,EAAAJ,EAAAI,CAAA,EAAAsmD,EAAAtmD,CAAA,GAAAJ,CAAAA,EAAAK,CAAA,EAAAsmD,EAAAtmD,CAAA,EAAAL,EAAAK,CAAA,EAAAqmD,EAAArmD,CAAA,CACA,IACF,KAAA6mD,uBAAA,CAAAR,EAAAC,EAAAL,EAEA,EAKkCU,eAEpB,SAAAjB,CAAA,EAmCd,MAlCI,CAASsB,QACJ,CACHrpD,EAAG+nD,EAAQjqB,EAAE,CACfntD,EAAAo3E,EAAAhqB,EAAA,EACWurB,UACN,CACHtpD,EAAG+nD,EAAQhqB,EAAE,CACfptD,EAAAo3E,EAAA9pB,EAAA,EACYsrB,WACP,CACHvpD,EAAG+nD,EAAQ9pB,EAAE,CACfttD,EAAAo3E,EAAA/pB,EAAA,EACUwrB,SACL,CACHxpD,EAAG+nD,EAAQ/pB,EAAE,CACfrtD,EAAAo3E,EAAAjqB,EAAA,CAGF,CAkBF,EAQyCmrB,iBAC3B,SAAQjnD,CAChB,CAAA+mD,CAAS,CACT,CAEJ,IAASriC,EAAW+iC,EAAOC,EAAPC,EAAO,MACzB,IAAAC,KAAcb,EAEsC,GAClDW,CAAAA,CAAAA,CAAAA,CAFFA,EAAAX,CAAA,CAAAa,EAAA,EAEE5pD,CAAA,CAASqC,CAAA,CAAAL,EAAAK,CAAA,IAAAqnD,CAAAA,EAAA/4E,CAAA,CAAA0xB,CAAA,CAAAL,EAAAK,CAAA,CAAAA,GAITqnD,CAAAA,CAAAA,CAAAA,EAAA1pD,CAAA,CAASqC,CAAA,EAAAL,EAAAK,CAAA,IAAAqnD,CAAAA,EAAA/4E,CAAA,CAAA0xB,CAAA,EAAAL,EAAAK,CAAA,CAAAA,IAITqnD,EAAK1pD,CAAA,CAAAoC,CAAA,GAASsnD,EAAA/4E,CAAA,CAAAyxB,CAAA,EAAAsnD,EAAA1pD,CAAA,CAAAoC,CAAA,EAAAJ,EAAAI,CAAA,CACdqnD,EAAAC,EAAA1pD,CAAgB,CAAAoC,CAAA,EAMhBskB,EAAK,CAAAgjC,EAAO/4E,CAAA,CAAA0xB,CAAG,CAAAqnD,EAAK1pD,CAAA,CAAMqC,CAAC,EAAAqnD,CAAAA,EAAA/4E,CAAA,CAAAyxB,CAAA,CAAAsnD,EAAA1pD,CAAA,CAAAoC,CAAA,EAI3BqnD,EAAA,CAAAljC,CAAAA,EAHWlkB,CAAC,CAAEokB,EAAGzkB,EAAKI,CAAA,CAEjBsnD,CAAAA,EAAE1pD,CAAK,CAAAqC,CAAC,CAAAqkB,EAAMgjC,EAAM1pD,CAAA,CAAAoC,CAAA,CACzB,EAAqBqkB,CAAAA,EAAAC,CAAA,GAIrB+iC,GAAAznD,EAAUI,CAAA,EACXunD,CAAAA,GAAA,GAGCA,IAAAA,GACD,MAGL,OAAAA,CAEA,EAO+ChE,gBAChC,SAAK0C,CAAU,CAAAC,CAAU,EACtC,IAAA1kD,EAAY,KAAA6kD,SAAA,CAAAJ,EAA0BC,GACxC,OAAA5vD,EAAAkM,yBAAA,CAAAhB,EAEA,EAK2B6jD,eACb,WACd,YAAA7wB,yBAAA,GAAAx0B,CAAA,EAO4BynD,gBACd,WACd,YAAAjzB,yBAAA,GAAAv0B,CAAA,EAQiCq/C,gBAClB,SAAShrE,CAAK,SAAe,KACpCqiB,GAAA,CAAAriB,GAAW,KAAAmoE,aAAA,GACL,EAEL,MAAAA,aAAA,CAEJ,KAAAA,aAAA,CAGD,IAAOnoE,EACR,KAEHA,CADE,EASqBwM,MACrB,SAAUxM,CAAA,EAGZ,OAFE,IAAI,CAACwqB,IAAI,CAAC,SAAUxqB,GACpB,KAAAwqB,IAAO,UAAKxqB,GACd,KAAAuN,SAAA,EAEA,EAOwC6lE,aACtC,SAAApzE,CAAA,CAAA2xE,CAAA,EAEA,IAAA0B,EAAkB,IAAQ,CAAIpE,eAAS,CAAA0C,GAAA3tE,KAAA,MAAA+sE,cAAA,GACzC,YAAAvkE,KAAA,CAAAxM,EAAA,KAAAgE,KAAA,CAAAqvE,EAEA,EAOyCC,cACvC,SAAAtzE,CAAA,CAAA2xE,CAAA,EAEA,IAAA0B,EAAkB,IAAQ,CAAIpE,eAAU,CAAA0C,GAAA9tE,MAAA,MAAAsvE,eAAA,GAC1C,YAAA3mE,KAAA,CAAAxM,EAAA,KAAA6D,MAAA,CAAAwvE,EAEA,EAA2BvB,eACf,UAAK,CAMf,IAAIxmB,EAAA,KAAA6f,oBAAa,GAAA7rB,EAAA,KAAAA,OAAA,CAAA10B,EAAA7J,EAAA,KAAA6J,KAAA,EAAAD,EAAA3I,EAAA2I,GAAA,CAAAC,GAAAtI,EAAAN,EAAAM,GAAA,CAAAsI,GAAA2oD,EAAA5oD,EAAA20B,EAAAk0B,EAAAlxD,EAAAg9B,EAAAm0B,EAAAF,EAAAC,EAAAE,EAAAH,EAAAC,EAAAlC,EAAA,KAAAO,WAAA,GACfN,EAAI,CACJnqB,GAAIllC,EAAeovD,EAAQlqB,EAAE,CAAEkE,GAC/BjE,GAAInlC,EAAeovD,EAAQjqB,EAAE,CAAEiE,GAC/BhE,GAAIplC,EAAeovD,EAAQhqB,EAAE,CAAEgE,GACjC/D,GAAArlC,EAAAovD,EAAA/pB,EAAA,CAAA+D,EAEA,EAYF,OAXIhM,IACAiyB,EAAWnqB,EAAE,CAAC17B,CAAC,EAAIgoD,EACnBnC,EAAWnqB,EAAE,CAACz7B,CAAC,EAAI8nD,EACnBlC,EAAWlqB,EAAE,CAAC37B,CAAC,EAAI+nD,EACnBlC,EAAWlqB,EAAE,CAAC17B,CAAC,EAAI+nD,EACnBnC,EAAWjqB,EAAE,CAAC57B,CAAC,EAAI+nD,EACnBlC,EAAWjqB,EAAE,CAAC37B,CAAC,EAAI+nD,EACnBnC,EAAWhqB,EAAE,CAAC77B,CAAC,EAAIgoD,EACpBnC,EAAAhqB,EAAA,CAAA57B,CAAA,EAAA8nD,GAGHlC,CAEA,EAAwBoC,YAClB,UAAe,CAK6B,IAACC,EAAU,KAAAC,iBAAA,GAAAC,EAAA,KAAAC,oBAAA,GAAAzoB,EAAA,KAAA6f,oBAAA,GAAA6I,EAAA/xD,EAAAqpC,EAAAwoB,GAAAztB,EAAApkC,EAAA+xD,EAAAJ,GAAAvtB,EAAApkC,EAAAokC,EAAA,CAAE,EAAAiF,CAAA,IAAG,EAAG,EAAY,EAAAA,CAAA,IAAG,EAC9E,EAEJ,EAAI1K,EAAC,KAAAqzB,2BAAoC,GAAE/mD,EAAY,GAezD,OAf2D,IACvD,CAAAgnD,cAAc,UAAQz2B,CAAA,CAAAzyC,CAAe,CAACwyC,CAAK,EAC7CtwB,CAAA,CAAAliB,EAAA,CAAAyyC,EAAA2I,eAAA,CAAAxF,EAAAyF,EAAA7I,EAEA,GAWFtwB,CAEA,EAAwB2kD,YAClB,UAAe,CAKnB,IAAA+B,EAAO,KAAAC,iBAAA,GAAAxtB,EAAApkC,EAAA,KAAA8xD,oBAAA,GAAAH,GAAAhzB,EAAA,KAAAV,yBAAA,GAAAi0B,EAAAvzB,EAAAl1B,CAAA,GAAA4M,EAAAsoB,EAAAj1B,CAAA,SACL,CACmBy7B,GAAEllC,EAAI,CAAGwJ,EAAG,CAACyoD,EAAKxoD,EAAA,CAAA2M,CACrC,EAAA+tB,GAAmBgB,GAAEnlC,EAAG,CAAGwJ,EAAGyoD,EAAMxoD,EAAA,CAAA2M,CACpC,EAAA+tB,GAAmBiB,GAAEplC,EAAI,CAAGwJ,EAAG,CAAAyoD,EAAKxoD,EAAA2M,CACpC,EAAA+tB,GAAmBkB,GAAErlC,EAAG,CAAGwJ,EAAGyoD,EAAKxoD,EAAA2M,CACrC,EAAA+tB,EACF,CAEA,EAWiC94C,UAC1B,SAAU6mE,CAAK,SACpB,KAAA9C,OAAA,MAAAO,WAAA,GAGA,IAAI,CAAAN,UAAA,CAAa,KAAA5lB,KAAA,MAAA2lB,OAAA,MAAAQ,cAAA,GACfsC,IAIF,IAAI,CAAC/C,OAAA,MAAAsC,WAAyB,GAC9B,KAAAU,gBAAW,OAAAA,gBAAA,IAJV,MAW2BR,kBAChB,WACd,OAAA7xD,EAAAkR,gBAAA,MAEA,EAIiC6gD,qBACb,WAClB,IAAA/9C,EAAO,KAAA8oB,cAAA,SAAC,CAAG,EAAG,EAAG,EAAG,EAAU9oB,EAAOtK,CAAC,CAACsK,EAAArK,CAAA,CACzC,EAEwC2oD,mBACvB,SAASvZ,CAAA,EACxB,IAAKwZ,EAAkB,GAMzB,MALI,CAAAxZ,GAAc,KAAKpP,KAAC,EACrB4oB,CAAAA,EAAA,KAAA5oB,KAAA,CAAA2oB,kBAAA,CAAAvZ,GAFI,GAEJ,EAIHwZ,EAAA,KAAApnE,GAAA,CANO,IAMP,KAAAC,IAAA,CANO,IAMP,KAAAX,MAAA,CANO,IAMP,KAAAC,MAAA,CANO,IAMP,KAAAomB,KAAA,CANO,IAMP,KAAAC,KAAA,CANO,IAMP,KAAAnI,KAAA,CANO,IAMP,KAAAuzB,OAAA,CANO,IAMP,KAAAC,OAAA,CANO,IAMP,KAAAp6C,KAAA,CANO,IAMP,KAAAH,MAAA,CANO,IAMP,KAAAiZ,WAAA,MAAAwW,KAAA,MAAAC,KAAA,EASyCmD,oBACtB,SAACqkC,CAAa,EAC/B,IAAIrnC,EAAA,IAAa,CAACmC,aAAY,MAC5BklC,GAAO,MAAApP,KAAA,CACR,OAAAj4B,CACD,CACA,IAAI1oB,EAAM,IAAG,CAAAspE,kBAAU,CAAAvZ,GAAAyZ,EAAA,KAAA/C,WAAA,QAAAA,WAAA,cACrBzmE,GAAO,GAAMA,EACdwpE,EAAAx0E,KAAA,EAEC,KAAA2rD,KAAS,EACVj4B,CAAAA,EAAAzR,EAAA,KAAA0pC,KAAA,CAAAj1B,mBAAA,KAAAhD,EAAA,EAED8gD,EAAMxpE,GAAA,CAAKA,EACXwpE,EAAAx0E,KAAO,CAAA0zB,EACTA,EANE,EAawBmC,cACd,UAAK,CACf,IAAI7qB,EAAM,IAAG,CAAAspE,kBAAU,KAAAE,EAAA,KAAAhD,cAAA,QAAAA,cAAA,QACrBgD,EAAAxpE,GAAO,GAAMA,EACd,OAAAwpE,EAAAx0E,KAAA,CAEa,IACRy0E,EAAO,IAAK,CAAAV,oBAAK,GAAA10E,EAAA,CACjBurB,MAAA,KAAYA,KAAA,CACZoI,WAAYyhD,CAAO,CAAC,EAAE,CACtBxhD,WAAYwhD,CAAO,IACnBhoE,OAAQ,IAAI,CAACA,MAAM,CACnBC,OAAO,IAAK,CAAAA,MAAK,CACjBomB,MAAO,IAAI,CAACA,KAAK,CACjBC,MAAO,IAAI,CAACA,KAAK,CACjBO,MAAO,IAAI,CAACA,KAAK,CACnBC,MAAA,KAAAA,KAAA,EAIN,OAFEihD,EAAMxpE,GAAA,CAAKA,EACXwpE,EAAAx0E,KAAO,CAAMgiB,EAAKyR,aAAA,CAAAp0B,GACpBm1E,EAAAx0E,KAAA,EAQyCysE,6BAChB,UACnB,CAEJ,IAAA3vD,EAAO,KAAAA,WAAA,OAAK,CAAG4O,EAAR,KAAA1nB,KAAA,CAAA8Y,EAAa6O,EAAb,KAAA9nB,MAAA,CAAAiZ,CACT,CAEA,EAQkDojC,0BAC3B,SAAAptB,CAAa,CAAAC,CAAA,EACnB,SAAbD,GACDA,CAAAA,EAAA,KAAAA,KAAA,EAEc,SAAbC,GACDA,CAAAA,EAAA,KAAAA,KAAA,EAID,IAAI23B,EAAKv0B,EAAaC,EAAEs+C,EAAA5hD,IAAAA,GAAAC,IAAAA,EASZ,GARV,KAAA1F,aAAiB,EACjB8I,EAAO,IAAI,CAACnyB,KAAA,CACdoyB,EACK,KAAAvyB,MAAA,GAGHsyB,EAAOu0B,CADPA,EAAO,KAAW+hB,4BAAC,IACD/gD,CAAC,CACpB0K,EAAAs0B,EAAA/+B,CAAA,EAEC+oD,EACD,YAAAC,mBAAA,CAAAx+C,EAAA,KAAA1pB,MAAA,CAAA2pB,EAAA,KAAA1pB,MAAA,CACD,CAA+C,IAC7C4pB,EAAAtU,EAAYkU,kBAAO,CAAAC,EAAAC,EAAA,CACnB3pB,OAAQ,IAAI,CAACA,MAAM,CACnBC,OAAO,KAAAA,MAAA,CACPomB,MAAOA,EACTC,MAAAA,CACA,GACF,YAAA4hD,mBAAA,CAAAr+C,EAAA5K,CAAA,CAAA4K,EAAA3K,CAAA,CAEA,EAQ6CgpD,oBAC/B,SAAa3wE,CACvB,CAAAH,CAAA,SAAK,KAAAwpB,aAAa,EAAa3B,EAAG1nB,EAAA,IAAS,CAAI8Y,WAAC,CAEhD6O,EAAA9nB,EAAA,KAAAiZ,WAAA,EAAE,CAAU4O,EAAG1nB,EAAQ2nB,EAAA9nB,CAC3B,GAOyCowE,4BACxB,UAAoB,CAGnC,IAAA3oB,EAAS,KAAA6f,oBAA0B,GACrC,OAAA7kE,EADqC,KAAA45C,yBAAA,GAAAoL,EAAA,IACrCld,SAAA,QAAAkR,OAAA,CACF,CACF,GACyF35C,GAEvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAKuBmzC,WACZ,UAAO,CAOlB,OANI,KAAAhE,KAAO,CACThmD,GACS8hD,YAAW,CAAEjrC,SAAA,CAAAmzC,UAAA,CAAAjnC,IAAA,MAAAijC,KAAA,OACf,IAAM,CAAC5tD,MAAA,EACb,KAAAA,MAAA,CAAA4xD,UAAA,OAEH,MAOyBI,aACd,UAAO,CAOlB,OANI,KAAApE,KAAO,CACThmD,GACS8hD,YAAW,CAAEjrC,SAAA,CAAAuzC,YAAA,CAAArnC,IAAA,MAAAijC,KAAA,OACf,IAAM,CAAC5tD,MAAA,EACb,KAAAA,MAAA,CAAAgyD,YAAA,OAEH,MAQsC7jD,cAC3B,SAAO8jD,CAAA,EAOlB,OANI,KAAArE,KAAO,CACThmD,GACS8hD,YAAW,CAAEjrC,SAAA,CAAAtQ,aAAA,CAAAwc,IAAA,MAAAijC,KAAA,MAAAqE,GACf,IAAM,CAACjyD,MAAA,EACb,KAAAA,MAAA,CAAAmO,aAAA,MAAA8jD,GAEH,MAQqCxzD,aAC1B,SAAOwzD,CAAA,EAOlB,OANI,KAAArE,KAAO,CACThmD,GACS8hD,YAAW,CAAEjrC,SAAA,CAAAhgB,YAAA,CAAAksB,IAAA,MAAAijC,KAAA,MAAAqE,GACf,IAAM,CAACjyD,MAAA,EACb,KAAAA,MAAA,CAAAvB,YAAA,MAAAwzD,GAEH,MAQwBhC,OAClB,SAAUv2C,CAAI,CAAI,CAOxB,OANI,KAAAk0C,KAAO,2BAAYA,KAAC,CAAA/qD,IAAS,CAC/B+E,GACS8hD,YAAW,CAAEjrC,SAAA,CAAAwxC,MAAA,CAAAtlC,IAAA,MAAAijC,KAAA,MAAAl0C,GACf,IAAM,CAAC1Z,MAAM,EACnB,KAAAA,MAAA,CAAAiwD,MAAA,MAAAv2C,GAEH,KAGD,GAAW,UAEN,CAGJ,IAAAmJ,EAAAjb,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAg0D,EAAA,kBAG+C,SACzCC,EAAWtpD,CAAG,CAAO4G,CAAI,CAAA2iD,CAAA,EAC7B,IAAAC,EAAa,CAAC,EAAeD,EAC3BtnD,OAAO,UAAQ7E,CAAO,EACxBosD,CAAA,CAAApsD,EAAA,CAAA4C,CAAA,CAAA5C,EAAA,GAGF/H,EAAA2K,CAAA,CAAA4G,EAAA,CAAA4iD,EALyB,GAOzB,CAyCyFpvE,GAEvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAKuCwmD,gBACrC,SAAc4I,CAAe,EAE7B,IAAIoJ,EAAiB,IADrBpJ,CAAAA,EAAIA,GAAoBgJ,CAAM,SAC8C,OACnEK,IAAI,MAAAD,EAAA,EAAAv1E,MAAA,MAAAmsE,EAAA,CAAAnsE,MAAA,EAGf,CAAAy1E,SAtDIA,EAAAC,CAAc,CAAAnpC,CAAc,CAAAopC,CAAA,KAC9BD,IAAAnpC,EAEF,MACS,EAiCX,CAhCI,GAAKtoC,MAAMC,OAAQ,CAAAwxE,GAAA,CAA2D,GAC5E,CAAAzxE,MAAOC,OAAK,CAAAqoC,IAAAmpC,EAAA11E,MAAA,GAAAusC,EAAAvsC,MAAA,CACb,QACD,CAAsD,IACpD,IAAI6K,EAAC,EAAAme,EAAS0sD,EAAY11E,MAAE,CAAA6K,EAAAme,EAAene,IAAG,GAC5C,CAAA4qE,EAAOC,CAAK,CAAA7qE,EAAA,CAAA0hC,CAAA,CAAA1hC,EAAA,EACb,QACH,CAEF,MACS,EAA4C,CAsBvD,GArBQ6qE,GAAc,iBAAKA,EAAY,CACnC,IACWnqE,EADPiqE,EAAC14D,OAAA04D,IACD,CAAAE,GAEF,GACA,CAAAnpC,GAAY,iBAAAA,GAAA,CAAAopC,GAAAH,EAAAx1E,MAAA,GAAA8c,OAAA04D,IAAA,CAAAjpC,GAAAvsC,MAAA,CACb,QACD,CAAiD,IAC/C,IAAA6K,EAAM,EAAKme,EAAEwsD,EAAAx1E,MAAA,CAAA6K,EAAAme,EAAAne,IAI4B,GACvCU,WAJFA,CAAAA,EAAAiqE,CAAA,CAAA3qE,EAAA,GAIWU,UAAAA,GAGT,CAAAkqE,EAAOC,CAAK,CAAAnqE,EAAA,CAAAghC,CAAA,CAAAhhC,EAAA,EACb,QAFD,CAKH,QACH,GAiBE,KAAAgqE,EAAA,SAEA,EAK6BxR,UACvB,SAAAnkE,CAAc,EAElB,IAAIusE,EAAMvsE,GAAcA,EAAAusE,WAAA,EAAAgJ,EAAAziD,EAAA,IAAAy5C,SAAA,IACtB,CAAAz5C,EAAY,EAGd0iD,EAAI,KAAW1iD,EAAQ,KAAAy5C,EAAiB,EACtCvsE,GAAUA,EAAMqpE,eAAa,EAC9BmM,EAAA,KAAA1iD,EAAA9yB,EAAAqpE,eAAA,EAEH,MANG,KAAAtc,UAAA,CAAA/sD,EACD,EAY4B+sD,WAC5B,SAAU/sD,CAAa,EAEvB,IAAAusE,EAAQvsE,CADRA,EAAIA,GAAc,IACIusE,WAAA,EAAAgJ,EAIxB,OAHEv1E,EAAKusE,WAAM,CAAAA,EACX,IAAI,CAAC,IAAAA,EAAU,IACf,KAAApI,SAAW,CAAAnkE,GACb,KAEJ,EACC,IAIC0hB,EAAmBpb,GAAOqc,IAAO,CAAAjB,gBAAkB,CAAsCpb,GACvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAM+C4+C,kBAC7C,SAAAzc,CAAA,CAAA02B,CAAA,EAE6F,GAC3F,MAAAjN,WAAY,OAAAzc,KAAA,QAAA5tD,MAAA,OAAAA,MAAA,CAAAytD,aAAA,QACb,QAED,CAKA,IAAgBp9B,EAAAikD,EAAA/nE,EAAZy3C,EAACpD,EAAWjzB,CAAA,CAAAo2B,EAAAnD,EAAAhzB,CAAA,CAAAspD,EAAA14D,OAAA04D,IAAA,MAAA5D,OAAA,EAAAp1C,EAAAg5C,EAAAx1E,MAAA,GAGI,IADpB,KAAAy6D,QAAA,GAEEj+B,GAAI,EAAKA,IACsB,GAA/B3xB,EAAI2qE,CAAC,CAAIh5C,EAAC,CACR,KAAAq5C,gBAAS,CAAAhrE,KAIX+nE,EAAA,KAAAC,cAAe,CAAA+C,EAAA,KAAAhE,OAAA,CAAA/mE,EAAA,CAAAirE,WAAA,MAAAlE,OAAA,CAAA/mE,EAAA,CAAA80C,MAAA,EAgBbhxB,IAF8BA,CAAAA,EAAK,KAAAmkD,gBAAA,EAAI7mD,EAAGq2B,EAAMp2B,EAAAm2B,CAClD,EAAAuwB,EAAI,GACcjkD,EAAA,MAEjB,OADC,KAAA8rC,QAAO,CAAA5vD,EACRA,CAnBD,CAsBJ,QAEA,EAK6B4pE,eAClB,SAAUsB,CAAA,EAAU,IAC3B,IAAGlrE,KAAK,KAAAuX,QAAa,CACvB2zD,EAAA,KAAA3zD,QAAA,CAAAvX,EAAA,CAAAA,EAAA,KAGF,EAO6B+pE,iBACd,UAAY,CAEzB,IAAKnnD,EAAI,KAAAmkD,OAAW,CAAQ,IAC1B,IAAI5zB,KAAAvwB,EAAgB,CACpB,IAAAuoD,EAAgB,IAAM,CAAG5zD,QAAA,CAAA47B,EAAc,CAEvCvwB,CAAM,CAACuwB,EAAQ,CAAC2B,MAAA,CAAAq2B,EAAcnvB,gBAAc,KAAgB,CAC1D17B,KAAK,KAAK,CAAElO,UAAK,CAAAwQ,CAAA,CAAAuwB,EAAiB,CAAM/xB,CAAC,CAAAwB,CAAQ,CAACuwB,EAAG,CAAM9xB,CAAC,KAChEuB,CAAA,CAAAuwB,EAAA,CAAA83B,WAAA,CAAAE,EAAAnvB,gBAAA,MAAA17B,KAAA,MAAAg9C,eAAA,CAAA16C,CAAA,CAAAuwB,EAAA,CAAA/xB,CAAA,CAAAwB,CAAA,CAAAuwB,EAAA,CAAA9xB,CAAA,IACF,CAEA,EASuC4/C,wBAC3B,SAAAnnD,CAAA,CAAwB,CAGhC,GACA,MAAAo1C,wBAAW,OAAAz7D,MAAA,QAAAA,MAAA,CAAAgrD,WAAA,OAAAhrD,MAAA,OAAAA,MAAA,CAAAytD,aAAA,QACZ,YAEDpnC,EAAIkgC,IAAA,GAEJ,IAAItuB,EAAS,IAAC,CAAA8oB,cAAkB,GAAA42B,EAAA,KAAAzB,2BAAA,GAAA3oB,EAAA,KAAAvtD,MAAA,CAAAuqD,iBAAA,CAOlC,OANElkC,EAAIE,SAAM,CAAI0R,EAAMtK,CAAE,CAAAsK,EAAQrK,CAAE,EAChCvH,EAAI5X,KAAA,CAAM,EAAC8+C,CAAA,MAAAA,CAAiB,GAAI,EAChClnC,EAAIwP,MAAA,CAAA7S,EAAiB,KAAA6J,KAAA,GACrBxG,EAAImgC,SAAS,CAAC,IAAI,CAAGiV,wBAAwB,CAC7Cp1C,EAAIwxC,QAAO,EAAA8f,EAAAhqD,CAAA,IAAAgqD,EAAA/pD,CAAA,GAAA+pD,EAAAhqD,CAAA,CAAAgqD,EAAA/pD,CAAA,EACXvH,EAAAwgC,OAAW,GACb,MAW0CuoB,YACxC,SAAgB/oD,CAAA,CAAA2/B,CAAkB,EAClCA,EAAcA,GAAA,GAQd,IAAI2xB,EAAI,KAAAzB,2BAAA,GAAAn3D,EAAA,KAAAorD,iBAAA,CAAAlkE,EAAA0xE,EAAAhqD,CAAA,CAAA5O,EAAAjZ,EAAA6xE,EAAA/pD,CAAA,CAAA7O,EAAAsrD,EAAA,SAAArkB,EAAAqkB,WAAA,CAAArkB,EAAAqkB,WAAA,MAAAA,WAAA,CAAAuN,EAAA,GAgCV,OA/BEvxD,EAAIkgC,IAAA,GACJlgC,EAAIogC,WAAC,CAAaT,EAAK7/C,WAAc,OAAeA,WAAS,CAE7D,IAAI,CAAA22D,YACD,CAAAz2C,EAAA2/B,EACS8jB,eAEV,OAAAA,eAAA,EAGFzjD,EAAI4gC,UAAA,EAAAhhD,EAAa,GAAAH,EAAA,EAAAG,EAAAH,GACfukE,IACAhkD,EAAIsgC,SAAC,GAAoD,IACvD,CAAAwvB,cAAA,UAAAz2B,CAAA,CAAAzyC,CAAA,CAAAwyC,CAAA,CAAqD,CAGnDC,EAAA6H,cAAA,EAAA7H,EAAkCqI,aAAA,CAAAtI,EAAAxyC,KAElC2qE,EAAW,GACXvxD,EAAI4pC,MAAM,CACRvQ,EAAQ/xB,CAAC,CAAG1nB,EAAAy5C,EAAQ9xB,CAAQ,CAAA9nB,GAG/BugB,EAAA6pC,MAAA,CAAAxQ,EAAA/xB,CAAA,CAAA1nB,EAAAy5C,EAAAgC,OAAA,CAAAhC,EAAA9xB,CAAA,CAAA9nB,EAAA45C,EAAAiC,OAAA,EAEH,GACEi2B,GACDvxD,EAAA4S,MAAA,IAGH5S,EAAAwgC,OAAW,GACb,MAY0DyoB,mBACxC,SAAAjpD,CAAA,CAAA/kB,CAAkB,CAAA0kD,CAAA,EAClCA,EAAWA,GAAY,GAQvB,IAAIztB,EAAI3wB,GAAAqc,IAAA,CAAAkU,kBAAA,MAAAlyB,KAAA,MAAAH,MAAA,CAAAxE,GAAAyd,EAAA,KAAAA,WAAA,CAAAuQ,EAAA,KAAAA,aAAA,CAAA66C,EAAA,KAAAA,iBAAA,CAAAlkE,EAAAsyB,EAAA5K,CAAA,CAAA5O,EAAAuQ,CAAAA,EAAA,KAAAtvB,MAAA,CAAAshD,OAAA,GAAAhgD,EAAAoN,MAAA,EAAAy7D,EAAArkE,EAAAyyB,EAAA3K,CAAA,CAAA7O,EAAAuQ,CAAAA,EAAA,KAAAtvB,MAAA,CAAAshD,OAAA,GAAAhgD,EAAAqN,MAAA,EAAAw7D,EAYV,OAXE9jD,EAAIkgC,IAAC,GACL,IAAI,CAAAuW,YAAW,CAAGz2C,EAAA2/B,EAAc8jB,eAAoB,OAAAA,eAAW,EAC/DzjD,EAAIogC,WACF,CAACT,EACA7/C,WACD,EACA,KAAAA,WAAA,CAGFkgB,EAAI4gC,UAAO,EAAAhhD,EAAA,GAAAH,EAAA,EAAAG,EAAAH,GACXugB,EAAAwgC,OAAW,GACb,MAW2CqI,aACzC,SAAgB7oC,CAAA,CAAA2/B,CAAkB,EAClCA,EAAQA,GAAA,GACR3/B,EAAIkgC,IAAA,GACJ,IAAsC5wB,EAAkBptB,EAApD81D,EAAa,KAAAr+D,MAAA,CAAesrD,gBAAM,GA2BxC,OA1BEjlC,EAAIomD,YAAW,CAAApO,EAAgB,EAAG,EAAAA,EAAc,KAChDh4C,EAAIogC,WAAM,CAAApgC,EAAAmgC,SAAoB,CAAAR,EAAAnnC,WAAA,OAAAA,WAAA,CAC5B,IAAI,CAAAH,kBAAc,EACnB2H,CAAAA,EAAAogC,WAAA,CAAAT,EAAAlnC,iBAAA,OAAAA,iBAAA,EAED,IAAI,CAACg+C,YAAS,CAAAz2C,EAAA2/B,EAAA+jB,eAAA,OAAAA,eAAA,EACd,IAAI,CAAAv6D,SAAU,GACZ,KAAAo+C,KAAA,EAMDj4B,CAAAA,EAAA,KAAAi4B,KAAA,CAAAj1B,mBAAA,IACwD,IACvD,CAAAw9C,cAAI,UAAqBz2B,CAAI,CAAAzyC,CAAA,CAAAwyC,CAAA,EAC7Bl3C,EAAIk3C,EAAQ6zB,OAAA,CAAarmE,EAAC,CACxByyC,EAAIqI,aAAQ,CAAAtI,EAAAxyC,KACV0oB,GACDptB,CAAAA,EAAAX,GAAAqc,IAAA,CAAAE,cAAA,CAAA5b,EAAAotB,EAAA,EAEF+pB,EAAA+J,MAAA,CAAApjC,EAAA9d,EAAAolB,CAAA,CAAAplB,EAAAqlB,CAAA,CAAAo4B,EAAAvG,GAEH,GAEAp5B,EAAAwgC,OAAW,GACb,MAOuC0wB,iBACzB,SAASvvB,CAAW,EAClC,YAAAlkC,QAAA,CAAAkkC,EAAA,OAAAlkC,QAAA,CAAAkkC,EAAA,CAAAD,aAAA,MAAAC,EAEA,EAOiD6vB,kBACrC,SAAA7vB,CAAqB,CAAAb,CAAA,EAKjC,OAJI,IAAK,CAAAe,mBAAmB,EACzB,MAAAA,mBAAA,KAED,KAAAA,mBAAW,CAAAF,EAAA,CAAAb,EACb,MAiByC2wB,sBAC3B,SAAYx2E,CAAA,EAED,IACrB,IAAIiH,KADNjH,GAASA,CAAAA,EAAc,IAChBA,EACP,KAAAu2E,iBAAA,CAAAtvE,EAAAjH,CAAA,CAAAiH,EAAA,EAEF,aAUEm3D,WAAA,WAIF,EAOED,SAAA,WAEJ,CACF,GACqG73D,GAEnGqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA8hD,YAAA,CAAAjrC,SAAA,EAOAs5D,YAAA,IAQ8CC,gBAChC,SAAAn2E,CAAe,CAAAo2E,CAAA,EAO3B,IAAAC,EAAO,UAAY,GAAQpsC,EAAAmsC,CAL3BA,EAAYA,GAAa,IAKEnsC,UAAA,EAAAosC,EAAAl1E,EAAAi1E,EAAAj1E,QAAA,EAAAk1E,EAAA/xC,EAAA,YACzBv+B,GAAQqc,IAAI,CAAA6pB,OAAA,EACZ9rC,OAAA,IAAY,CACZksC,WAAUrsC,EAAKwN,IAAA,CACfw/B,SAAU,IAAI,CAACkS,cAAW,GAAApzB,CAAA,CAC1B6gB,SAAU,KAAAupC,WAAgB,CAAA/0E,SACxB,SAAWf,CAAQ,EACnBJ,EAAMkL,GAAA,QAAA9K,GACNkkC,EAAAt2B,gBAAA,GACF7M,GACA,EAAuB8oC,WACd,UAAS,CAChBjqC,EAAA2N,SAAA,GACFs8B,GACF,CACF,EAEA,EAQ8CqsC,gBAChC,SAAAt2E,CAAe,CAAAo2E,CAAA,EAO3B,IAAAC,EAAO,UAAY,GAAQpsC,EAAAmsC,CAL3BA,EAAYA,GAAa,IAKEnsC,UAAA,EAAAosC,EAAAl1E,EAAAi1E,EAAAj1E,QAAA,EAAAk1E,EAAA/xC,EAAA,YACzBv+B,GAAQqc,IAAI,CAAA6pB,OAAA,EACZ9rC,OAAA,IAAY,CACZksC,WAAUrsC,EAAKuN,GAAA,CACfy/B,SAAU,IAAI,CAACkS,cAAW,GAAAnzB,CAAA,CAC1B4gB,SAAU,KAAAupC,WAAgB,CAAA/0E,SACxB,SAAWf,CAAO,EAClBJ,EAAMkL,GAAA,OAAA9K,GACNkkC,EAAAt2B,gBAAA,GACF7M,GACA,EAAuB8oC,WACd,UAAS,CAChBjqC,EAAA2N,SAAA,GACFs8B,GACF,CACF,EAEA,EAQuCssC,SACrC,SAAYv2E,CAAA,CAAao2E,CAAE,EAO3B,IAAAC,EAAO,UAAY,GAAQpsC,EAAAmsC,CAL3BA,EAAYA,GAAa,IAKEnsC,UAAA,EAAAosC,EAAAl1E,EAAAi1E,EAAAj1E,QAAA,EAAAk1E,EAAA/xC,EAAA,YACzBv+B,GAAQqc,IAAI,CAAA6pB,OAAA,EACZ9rC,OAAA,IAAY,CACZksC,WAAUrsC,EAAAuE,OAAA,CACVyoC,SAAU,EACVL,SAAU,KAAAupC,WAAgB,CAAA/0E,SACxB,SAAWf,CAAA,CAAW,CACtBJ,EAAMkL,GAAA,WAAgB9K,GACtBkkC,EAAAt2B,gBAAA,GACF7M,GACA,EAAwB8oC,WAChB,UAAO,CACb3F,EAAAv2B,MAAA,CAAA/N,GACFiqC,GACF,CACF,EACF,CAEA,GAAyFlkC,GACvFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAmBqBqvB,QACf,UAAY,CAAsC,GACpD/kC,CAAAA,SAAI,sBAAmBA,SAAQ,IAahC,YAAAsvE,QAAA,CAAA/tD,KAAA,MAAAvhB,UACH,CAbI,IAA2B6hB,EAAA0tD,EAAtBC,EAAiB,EAAC,CAAIC,EAAA,OACzB5tD,KAAA7hB,SAAe,GAAK,CACtBwvE,EAAA78E,IAAA,CAAAkvB,GAC2D,IACzD,IAAAre,EAAO,EAAAme,EAAA6tD,EAAiB72E,MAAA,CAAA6K,EAAAme,EAAAne,IACxBqe,EAAA2tD,CAAgB,CAAMhsE,EAAA,CACtB+rE,EAAc/rE,IAAQme,EAAC,EACzB8tD,EAAA98E,IAAA,MAAA28E,QAAA,CAAAztD,EAAA7hB,SAAA,IAAA6hB,EAAA,CAAA7hB,SAAA,IAAAuvE,IAEF,OACKE,CAKP,EAOyDH,SACnD,SAAYnsD,CAAE,CAAAgC,CAAA,CAAA5sB,CAAA,CAAAg3E,CAAA,EAElB,IAAgBG,EAAhBtyC,EAAQ,IAAQ,CAEhBjY,EAAKA,EAAAqX,QAAS,GAKbjkC,EAJCA,EAIDsG,GAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CAAA7N,GAFI,GAKH,CAAA4qB,EAAAjC,OAAW,OACZwuD,CAAAA,EAAAvsD,EAAA2F,KAAA,OAMD,IAAI6mD,EAAAvyC,EAAe0kC,eACN,CAAA5gD,OAAQ,CAACiC,GAAY,IAAIusD,GACzBtyC,EAAA0kC,eAAS,CAAA5gD,OAAA,CAAAwuD,CAAA,QAElBxqC,EAAYwqC,EAAU,KAAAnsE,GAAA,CAAAmsE,CAAA,KAAAA,CAAA,UAAAnsE,GAAA,CAAA4f,EAAA,CACxB,SAAY5qB,GACbA,CAAAA,EAAA6R,IAAA,CAAA86B,CAAA,EAGCyqC,IAEAxqD,EADE,CAAAA,EAAAjE,OAAK,MAEFgkB,EAAA7yB,WAAA8S,EAAA1c,OAAA,UAEJ4J,WAAA8S,IAGY,IACbyqD,EAAQ,CACR32E,OAAA,IAAY,CACZksC,WAAU5sC,EAAA6R,IAAA,CACV07B,SAAS3gB,EACT4gB,QAAQxtC,EAAQi/C,EAAA,CAChB5R,OAAArtC,EAAUqtC,MAAQ,CAClBH,SAAOltC,EAAQktC,QAAS,CAA6CE,MACnEptC,EAAOotC,KAAQ,EAAK,SAAMzsC,CAAO,CAAA22E,CAAO,CAAAC,CAAe,EACzD,OAAAv3E,EAAAotC,KAAA,CAAA/jB,IAAA,CAAAwb,EAAAlkC,EAAA22E,EAAAC,EACA,EAAwD71E,SAClD,SAAUf,CAAA,CAAA22E,CAAA,CAAAC,CAAA,EACZJ,EACFtyC,CACK,CAAAsyC,CAAA,KAAAA,CAAA,KAAAx2E,EAEJkkC,EAAAp5B,GAAA,CAAAmf,EAAAjqB,IAECq2E,GAGJh3E,EAAA0B,QAAA,EAAA1B,EAAA0B,QAAA,CAAAf,EAAA22E,EAAAC,EACA,EAA0D/sC,WACpD,SAAA7pC,CAAe,CAAA22E,CAAA,CAAAC,CAAA,GACjBP,IAIFnyC,EAAA32B,SAAQ,GACVlO,EAAAwqC,UAAA,EAAAxqC,EAAAwqC,UAAA,CAAA7pC,EAAA22E,EAAAC,GACF,CAEA,SAAiB,EAGZjxE,GAAAqc,IAAA,CAAAyrB,YAAA,CAAAipC,EAAAzqC,UAAA,CAAAyqC,EAAA9pC,QAAA,CAAA8pC,EAAAnqC,QAAA,CAAAmqC,GAEJ/wE,GAAAqc,IAAA,CAAA6pB,OAAA,CAAA6qC,EACH,CAED,GAAiB,SAEhB/8D,CAAA,EAEA,aAGA,IAAIhU,EAAOgU,EAAMhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,QAAAA,EAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CACfjb,EAAO4vD,IAAI,CAAC,CACZ5vD,EAAA2kC,IAAA,mCACD,MAED,GASEirB,IAAA,CAAA5vD,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAA4W,MAAA,EAOAmsD,gBAAA/iE,EAAA4W,MAAA,CAAAC,SAAA,CAAAksD,eAAA,CAAApkE,MAAA,YAOA1D,KAAA,OAOAq8B,GAAA,EAOAC,GAAA,EAEAyrC,gBAAAhjE,EAAA4W,MAAA,CAAAC,SAAA,CAAAmsD,eAAA,CAAArkE,MAAA,YAK8B8/B,WACvB,SAAU/kC,CAAA,EACf,IAAI,CAAC0kC,SAAS,cAAA1kC,GAChB,KAAAw3E,SAAA,EAEA,EAIsBA,UAChB,UAAY,CACd,IAAI,CAAC55C,EAAE,EAAG,KAAK,CAAEC,EAAA,CACnB,IACK,CAAAA,EAAI,KAAO,CAAAD,EAAA,CACP,IAAG,CAAAC,EAAI,EAAG,MAAAD,EAAA,EAClB,MAAAA,EAAA,MAAAC,EAAA,CAGH,EAIuB21B,QAErB,SAAAzuC,CAAA,EAYA,IAAI6Y,EAAA,IAAS,CAAAA,EAAA,CAAA75B,KAAAG,GAAA,MAAA05B,EAAA,MAAAj5B,KAAA,MAAAk5B,EAAA,KAAAA,EAAA,CAAA95B,KAAAG,GAAA,MAAA25B,EAAA,MAAAr5B,MAAA,MAAAswE,EAAA,KAAAnwE,KAAA,CAAAs0B,EAAA,KAAAz0B,MAAA,CAAA6nB,EAAA,MAAA1nB,KAAA,GAAA2nB,EAAA,MAAA9nB,MAAA,GAAAizE,EAAA75C,IAAAA,GAAAC,IAAAA,EAEb9Y,EAAIsgC,SAAO,GAEXtgC,EAAI4pC,MAAM,CAACtiC,EAAIuR,EAAItR,GACnBvH,EAAA6pC,MAAA,CAAAviC,EAAayoD,EAAIl3C,EAAAtR,GAEjBmrD,GAAW1yD,EAAI2yD,aAAW,CAAArrD,EAAAyoD,EAAA73C,YAAAW,EAAAtR,EAAAD,EAAAyoD,EAAAxoD,EAAA2Q,YAAAY,EAAAxR,EAAAyoD,EAAAxoD,EAAAuR,GAC1B9Y,EAAA6pC,MAAA,CAAAviC,EAAayoD,EAAIxoD,EAAA2M,EAAA4E,GAEjB45C,GAAW1yD,EAAI2yD,aAAQ,CAAArrD,EAAAyoD,EAAAxoD,EAAA2M,EAAAgE,YAAAY,EAAAxR,EAAAyoD,EAAA73C,YAAAW,EAAAtR,EAAA2M,EAAA5M,EAAAyoD,EAAAl3C,EAAAtR,EAAA2M,GACvBlU,EAAA6pC,MAAA,CAAAviC,EAAauR,EAAItR,EAAA2M,GAEjBw+C,GAAW1yD,EAAG2yD,aAAI,CAAArrD,EAAA4Q,YAAAW,EAAAtR,EAAA2M,EAAA5M,EAAAC,EAAA2M,EAAAgE,YAAAY,EAAAxR,EAAAC,EAAA2M,EAAA4E,GAClB9Y,EAAA6pC,MAAA,CAAAviC,EAAaC,EAAIuR,GAEjB45C,GAAa1yD,EAAA2yD,aAAA,CAAArrD,EAAAC,EAAA2Q,YAAAY,EAAAxR,EAAA4Q,YAAAW,EAAAtR,EAAAD,EAAAuR,EAAAtR,GAEbvH,EAAI8pC,SAAC,GACP,KAAAwf,mBAAA,CAAAtpD,EAEA,EAKwC8qC,SACtC,SAAYF,CAAsB,SAAC,KAAAjrB,SAAA,aAAM,KAAM,KACjD,CAAAz/B,MAAA,CAAA0qD,GAGF,CAIA,GAOoDrpD,EAClD4vD,IAAO,CAAAvkC,UAAa,CAAC,SAAWpxB,CAAC,CAAAwpB,CAAQ,CAAQ,CACnD,OAAAzjB,EAAA4W,MAAA,CAAAiyD,WAAA,QAAA5uE,EAAAwpB,EAEC,CACF,EAASzI,GAAQ,SAEhBhH,CAAA,EAEA,aAOA,IAAIhU,EAAOgU,EAAQhU,MAAE,EAAAgU,CAAAA,EAAAhU,MAAA,KAAAib,EAAAjb,EAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAArd,EAAAoC,EAAAqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,CAAAC,EAAAmC,EAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,CAAAupB,GAAApnB,EAAAqc,IAAA,CAAAnB,OAAA,CAAAlb,EAAAqc,IAAA,CAAA+K,qBAAA,KACnBpnB,EAAOqxE,QAAK,EACZrxE,EAAA2kC,IAAA,uCACD,MAED,GAQE0sC,QAAA,CAAArxE,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAA4W,MAAA,EAOA3b,KAAA,WAOAosB,OAAA,KAWAiqD,iBAAiB,GAEjBtO,gBAAAhjE,EAAA4W,MAAA,CAAAC,SAAA,CAAAmsD,eAAA,CAAArkE,MAAA,WAmBsC8/B,WACpC,SAAUpX,CAAY,CAAA3tB,CAAA,EACtBA,EAAKA,GAAS,GACd,IAAI,CAAC2tB,MAAA,CAASA,GAAC,GACf,IAAI,CAAC+W,SAAA,cAAuB1kC,GAC9B,KAAA63E,sBAAA,CAAA73E,EAEA,EAGoC83E,uBAC3B,UAAsB,CAC/B,OAAApqD,EAAA,KAAAC,MAAA,SAEA,EAA0CkqD,uBACrB,SAAA73E,CAAgB,EAEnC,IAA6B+3E,EAAzBC,EAAS,KAAAC,eAAgB,CAAAj4E,GAAAk4E,EAAA,KAAAN,gBAAA,MAAAn6D,WAAA,GAC7B,IAAI,CAAC9Y,KAAA,CAAMqzE,EAAGrzE,KAAQ,CAAMuzE,EAC5B,IAAI,CAAC1zE,MAAA,CAAQwzE,EAASxzE,MAAA,CAAA0zE,EACpBl4E,EAAAm4E,OAAA,EACEJ,CAAAA,EACE,KAAAjH,sBAAA,EAEAzkD,EAAG2rD,EAAQjqE,IAAG,CAAG,IAAK,CAAA0P,WAAW,CAAG,EAAIy6D,EAAc,EAExD5rD,EAAA0rD,EACAlqE,GACA,KAAK,CAAA2P,WACA,GAAOy6D,EAAA,CAEf,oBAAAp5B,OAAA,MAAAC,OAAA,GAEqB,SAAf/+C,EAAO+N,IAAA,EACb,MAAAA,IAAA,CAAA/N,EAAAm4E,OAAA,CAAAH,EAAAjqE,IAAA,CAAAgqE,EAAA1rD,CAAA,EAEoB,SAAdrsB,EAAM8N,GAAA,EACZ,MAAAA,GAAA,CAAA9N,EAAAm4E,OAAA,CAAAH,EAAAlqE,GAAA,CAAAiqE,EAAAzrD,CAAA,EACiB,IAChB,CAAAiW,UAAW,EACXlW,EAAG2rD,EAAQjqE,IAAG,CAAG,IAAK,CAAApJ,KAAM,CAAG,EAAIuzE,EAAc,EACnD5rD,EAAA0rD,EAAAlqE,GAAA,MAAAtJ,MAAA,GAAA0zE,EAAA,CACF,CAEA,EAU4BD,gBAEb,UAAK,CAQlB,IAAAtqD,EAAO,KAAAiqD,gBAAA,MAAAE,sBAAA,QAAAnqD,MAAA,CAAAqB,EAAA9qB,EAAAypB,EAAA,QAAAwB,EAAAjrB,EAAAypB,EAAA,cACL,CACA5f,KAAKihB,EACLlhB,IAAAqhB,EACAxqB,MAJKsqB,CAAA9qB,EAAAwpB,EAAA,SAAAqB,EAKPxqB,OALO4qB,CAAAjrB,EAAAwpB,EAAA,SAAAwB,CAMT,CAEA,EAKwC0gC,SACtC,SAAcF,CAAe,EAAkC,OAC7DpuC,EAAQ,IAAK,CAAAmjB,SAAO,YAAMirB,GAAA,CAC5BhiC,OAAA,KAAAA,MAAA,CAAA1oB,MAAA,EACF,EAKA,EAI4BmzE,aACtB,SAAarzD,CAAK,EAItB,IAAIkH,EAAC7C,EAAO,IAAM,CAAIuE,MAAC,CAAMvtB,MAAC,CAAMisB,EAAI,IAAG,CAAAkW,UAAA,CAAAlW,CAAA,CAAAC,EAAA,KAAAiW,UAAA,CAAAjW,CAAA,IACzC,CAAAlD,GAAA0T,MAAA,KAAAnP,MAAA,CAAAvE,EAAA,GAAAkD,CAAA,EAGD,QACD,CACAvH,EAAIsgC,SAAO,GACXtgC,EAAK4pC,MAAI,KAAO,CAAAhhC,MAAI,GAAK,CAAAtB,CAAA,CAAKA,EAAA,KAAAsB,MAAA,IAAArB,CAAA,CAAAA,GAAA,IAC5B,IAAArhB,EAAQ,EAAAA,EAAKme,EAAOne,IACpBghB,EAAI,IAAO,CAAA0B,MAAO,CAAA1iB,EAAG,CACvB8Z,EAAA6pC,MAAA,CAAA3iC,EAAAI,CAAA,CAAAA,EAAAJ,EAAAK,CAAA,CAAAA,GAEF,QAEA,EAIuBknC,QAChB,SAAKzuC,CAAA,EACR,KAAAqzD,YAAA,CAAArzD,IAGJ,KAAAspD,mBAAA,CAAAtpD,EAEA,EAIuBuF,WACd,UAAS,CAClB,YAAAtf,GAAA,WAAA5K,MAAA,CAKF,GAOwDkG,EACtDqxE,QAAO,CAAOhmD,UAAO,UAAYpxB,CAAA,CAAAwpB,CAAY,CAAQ,CACvD,OAAAzjB,EAAA4W,MAAA,CAAAiyD,WAAA,YAAA5uE,EAAAwpB,EAAA,SAEC,CACF,EAASzI,GAAQ,SAEhBhH,CAAA,EAEA,aAOA,IAAIhU,EAAOgU,EAAMhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,KAAApC,EAAAoC,EAAAqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,CAAAC,EAAAmC,EAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,CAAAod,EAAAjb,EAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA1T,EAAAvH,EAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,IAAAvH,EAAAqc,IAAA,CAAAnB,OAAA,CACflb,EAAO6tD,IAAI,CAAC,CACZ7tD,EAAA2kC,IAAA,mCACD,MAED,GASEkpB,IAAA,CAAA7tD,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAA4W,MAAA,EAOA3b,KAAA,OAOAkxB,KAAA,KAEA62C,gBAAiBhjE,EAAO4W,MAAM,CAACC,SAAS,CAACmsD,eAAe,CAACrkE,MAAM,CAAC,mBAEhEokE,gBAAA/iE,EAAA4W,MAAA,CAAAC,SAAA,CAAAksD,eAAA,CAAApkE,MAAA,SAMqC8/B,WACnC,SAAgBtS,CAAA,CAAAzyB,CAAY,EAE5B,MAAKA,CADLA,EAAO6N,EAAQ7N,GAAI,KACJyyB,IAAA,CACf,IAAI,CAACiS,SAAS,cAAY1kC,GAC5B,KAAAq4E,QAAA,CAAA5lD,GAAA,GAAAzyB,EAEA,EAKmCq4E,SAC5B,SAAO5lD,CAAA,CAAOzyB,CAAK,EAIxB,KAAAyyB,IAAO,CAAAnsB,EAASqc,IAAA,CAAAwa,eAAU,CAAA94B,MAAAC,OAA2B,CAACmuB,GAAMA,EAAAnsB,EAAYqc,IAAA,CAAAsZ,SAAA,CAAAxJ,EAAA,EAC1EnsB,EAAAqxE,QAAA,CAAAx6D,SAAA,CAAA06D,sBAAA,CAAAxuD,IAAA,MAAArpB,GAAA,GAEA,EAImCs4E,oBAE7B,SAAAvzD,CAAgB,EASpB,IAAIjiB,EAASy1E,EAAA,EAAAC,EAAA,EAAAnsD,EAAA,EAAAC,EAAA,EAAAgR,EAAA,EAAAC,EAAA,EAAAzI,EAAA,MAAAyN,UAAA,CAAAlW,CAAA,CAAAsC,EAAA,MAAA4T,UAAA,CAAAjW,CAAA,CAEbvH,EAAKsgC,SAAQ,GAAyC,IAEpD,IAAAp6C,EAAA,EAAUme,EAAK,IAAK,CAAEqJ,IAAA,CAAAryB,MAAA,CAAA6K,EAAAme,EAAA,EAAAne,EAEJ,OAEhBnI,CAFFA,EAAQ,IAAO,CAAC2vB,IAAE,CAAAxnB,EAAA,CAEX,SACH,IACAohB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAIxpB,CAAO,IACXiiB,EAAA6pC,MAAM,CAAAviC,EAAAyI,EAAAxI,EAAAqC,GAER,KAAK,KACH,IACAtC,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAA,IACAy1E,EAAgBlsD,EAChBmsD,EAAelsD,EACfvH,EAAA4pC,MAAM,CAAAtiC,EAAAyI,EAAAxI,EAAAqC,GAER,KAAK,KACH,IACAtC,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAW,IACXw6B,EAAWx6B,CAAO,CAAC,EAAE,CACrBy6B,EAAIz6B,CACF,IAOFiiB,EAAA2yD,aAAM,CAAA50E,CAAA,IAAAgyB,EAAAhyB,CAAA,IAAA6rB,EAAA2O,EAAAxI,EAAAyI,EAAA5O,EAAAtC,EAAAyI,EAAAxI,EAAAqC,GAER,KAAK,KACH,IAMA5J,EAAIouC,gBAAU,CAAArwD,CAAA,IAAAgyB,EAAAhyB,CAAA,IAAA6rB,EAAA7rB,CAAA,IAAAgyB,EAAAhyB,CAAA,IAAA6rB,GACdtC,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAW,IACXw6B,EAAWx6B,CAAO,CAAC,EAAE,CACrBy6B,EAAMz6B,CAAA,IAER,KAAK,KACA,QACH,IACAupB,EAAIksD,EACJjsD,EAAIksD,EACJzzD,EAAA8pC,SAAM,EAEZ,CAGF,EAIuB2E,QAChB,SAAAzuC,CAAA,EACL,IAAI,CAACuzD,mBAAmB,CAACvzD,GAC3B,KAAAspD,mBAAA,CAAAtpD,EAEA,EAIqBkf,SACnB,UAAO,CAET,6BAAA3Z,UAAA,uBAAAxc,GAAA,mBAAAC,IAAA,MAEA,EAKwC8hD,SACtC,SAAcF,CAAe,EAAkC,OAC7DpuC,EAAU,IAAC,CAAImjB,SAAK,YAAeirB,GAAA,CAAAl9B,KAAE,KAAOA,IAAA,CAAKtjB,GAAA,UAAK2C,CAAA,EAAI,OAAAA,EAAAhH,KAAA,EAC5D,EACF,EAEA,EAKgD8kD,iBACjC,SAASD,CAAA,MAAC1lC,EAAA,KAAA4lC,QAAA,EAAc,aACrC,CAAA5qD,MAAM,CAAA0qD,IAIR,OAHI1lC,EAAA2I,UAAS,EACV,OAAA3I,EAAAwI,IAAA,CAEHxI,CAIA,EAIuBK,WACd,UAAU,CACnB,YAAAmI,IAAA,CAAAryB,MAAA,EAK4B63E,gBAGtB,UACA,CAOkD,IAEpD,IAFoBn1E,EAAgC4+B,EAAjD+2C,EAAI,GAAIC,EAAG,GAAgBH,EAAY,EAAOC,EAAG,EAAAnsD,EAAA,EAAAC,EAAA,EAEpDrhB,EAAA,EAAUme,EAAK,IAAK,CAAEqJ,IAAA,CAAAryB,MAAA,CAAA6K,EAAAme,EAAA,EAAAne,EAAA,CAEJ,OAEhBnI,CAFFA,EAAQ,IAAO,CAAC2vB,IAAE,CAAAxnB,EAAA,CAEX,SACH,IACAohB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAW,IACX4+B,EAAM,GAER,KAAK,KACH,IACArV,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAA,IACAy1E,EAAgBlsD,EAChBmsD,EAAWlsD,EACXoV,EAAM,GAER,KAAK,KACH,IAQAA,EAAIp7B,EAAUqc,IAAA,CAAAoe,gBAAA,CAAA1U,EAAAC,EAAAxpB,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACdupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IAER,KAAK,KACH,IAQA4+B,EAAIp7B,EAAUqc,IAAA,CAAAoe,gBAAA,CAAA1U,EAAAC,EAAAxpB,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,IAAAA,CAAA,KACdupB,EAAIvpB,CAAO,CAAC,EAAE,CACdwpB,EAAAxpB,CAAM,IAER,KAAK,KACA,QACH,IACAupB,EAAIksD,EACJjsD,EAAAksD,CAEJ,CAAgC92C,EAC3BvT,OAAK,UAAOlC,CAAA,EACfwsD,EAAGr+E,IAAI,CAAC6xB,EAAMI,CAAC,EACjBqsD,EAAAt+E,IAAA,CAAA6xB,EAAAK,CAAA,CACA,GACAmsD,EAAGr+E,IAAI,CAACiyB,GACVqsD,EAAAt+E,IAAA,CAAAkyB,EAEA,CA5DA,IAmEA0C,EAAO9qB,EAAAu0E,IAAA,EAAAtpD,EAAAjrB,EAAAw0E,IAAA,QACL,CACA3qE,KAAKihB,EACLlhB,IAAAqhB,EACAxqB,MAJKsqB,CAAA9qB,EAAAs0E,IAAA,GAAAzpD,EAKPxqB,OALO4qB,CAAAjrB,EAAAu0E,IAAA,GAAAvpD,CAMT,CACF,CAEA,GAOoD7oB,EAC9C6tD,IAAA,CAAAxiC,UAAc,UAAUpxB,CAAK,CAAAwpB,CAAU,KACzC,iBAAIxpB,EAAUqyB,UAAO,CAAU,CAC/B,IAAA+lD,EAAOp4E,EAAcqyB,UAAU,CAAoBtsB,EACjDsyE,cAAW,CAAAD,EAAW,SAAAnmD,CAAA,EACtB,IAAAC,EAAKD,CAAW,IAChBC,EAAAm4B,UAAY,CAAArqD,GACdwpB,GAAAA,EAAA0I,EACF,EACK,MAEJnsB,EAAA4W,MAAA,CAAAiyD,WAAA,QAAA5uE,EAAAwpB,EAAA,OACH,CAKD,EAASzI,GAQUpd,EAAAoC,CAAdA,EAAOgU,CANXA,EA2hBQgH,GArhBUhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAqc,IAAA,CAAAiG,KAAA,CAAA1kB,GAAA,CAAAC,EAAAmC,EAAAqc,IAAA,CAAAiG,KAAA,CAAAzkB,GAAA,CAChBmC,EAAAqsB,KAAA,GAW4GrsB,EAE5GqsB,KAAA,CAAArsB,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAA4W,MAAA,CAAA5W,EAAAkjB,UAAA,EAOAjoB,KAAA,QAOAkc,YAAA,EAOA++C,eAAA,GAOA8M,gBAAA,GASAuP,cAAA,GAOyD9zC,WACvD,SAAU32B,CAAY,CAAApO,CAAA,CAAA84E,CAAA,EACtB94E,EAAKA,GAAa,GAClB,KAAA8D,QAAA,IAIAg1E,GAAgB,KAAAp0C,SAAa,cAAA1kC,GAC7B,IAAK,CAAA8D,QAAQ,CAAIsK,GAAU,GAAe,IACxC,IAAInD,EAAC,KAAQnH,QAAI,CAAK1D,MAAG,CAAI6K,KAC/B,KAAAnH,QAAA,CAAAmH,EAAA,CAAAqhD,KAAA,MAEuB,GACrBwsB,EAoBD,KAAAC,qBAAA,OApBc,CACb,IAAApiD,EAAA32B,GAAAA,EAAA0yB,WAAA,MAKiBvvB,IAAfnD,EAAK8+C,OAAU,EAChB,MAAAA,OAAA,CAAA9+C,EAAA8+C,OAAA,EAEgB37C,KAAAA,IAAfnD,EAAK++C,OAAU,EAChB,MAAAA,OAAA,CAAA/+C,EAAA++C,OAAA,EAIDpoB,GAAK,KAAAqiD,WAAqB,GAC1B,KAAAC,oBAAe,CAAWtiD,GAC1B,OAAK32B,EAAU0yB,WAAA,CACjB,IACK,CAAAgS,SAAA,cAAA1kC,EAAA,CAIL,IACF,CAAAkO,SAAA,EAEA,EAGkC6qE,sBACb,UAAI,CACkB,IACvC,IAAI9tE,EAAC,KAAQnH,QAAI,CAAA1D,MAAU,CAAA6K,KAC7B,KAAAnH,QAAA,CAAAmH,EAAA,CAAAiD,SAAA,CAFkB,GAKpB,EAIuC+qE,qBACxB,SAActiD,CAAC,EACa,IACvC,IADGA,EAAQA,GAAK,IAAS,CAAA8oB,cAAc,GACnCx0C,EAAC,KAAAnH,QAAA,CAAA1D,MAAoB,CAAK6K,KAChC,KAAAiuE,mBAAA,MAAAp1E,QAAA,CAAAmH,EAAA,CAAA0rB,EAGF,EAK8CuiD,oBAC3B,SAAO34E,CACpB,CAAAo2B,CAAA,CAAY,CAGhB,IAAAwiD,EAAW54E,EAAAwN,IAAA,CAAAqrE,EAAA74E,EAAAuN,GAAA,CAAAvN,EACTkL,GAAM,EACNsC,KAAKorE,EAAYxiD,EAAQtK,CAAA,CAC3Bve,IAAAsrE,EAAAziD,EAAArK,CAAA,GAEA/rB,EAAO+rD,KAAA,KAAU,CACnB/rD,EAAA2N,SAAA,CANa,GAQb,EAIqB+1B,SACnB,UAAO,CACT,+BAAA3Z,UAAA,OAEA,EAMgCo7C,cAC1B,SAAgBnlE,CAAK,EACzB,IAAI84E,EAAC,OAAA/sB,KAAoB,CAqB3B,OApBE,KAAAgtB,oBAAY,GACZhzE,EAAIqc,IAAA,CAAQ2R,oBAAA,OACV/zB,IACE84E,GAED/yE,EAAAqc,IAAA,CAAA0T,yBAAA,CAAA91B,EAAA,KAAA+rD,KAAA,CAAAj1B,mBAAA,IAED,KAAAvzB,QAAY,CAAA1J,IAAG,CAAImG,GACnBA,EAAO+rD,KAAK,MACb/rD,EAAA4qB,IAAA,eAAAzsB,MAAA,GAED,IAAI,CAACs6E,WAAA,GACL,IAAI,CAACC,oBAAY,GACjB,IAAI,CAAA9P,KAAA,CAAQ,GACVkQ,EACF,IACK,CAAA/sB,KAAA,CAAAoZ,aAAA,GAEJ,KAAAx3D,SAAA,GAEH,MAQmCu3D,iBAC5B,SAAAllE,CAAoB,EAS3B,OARE,KAAA+4E,oBAAY,GAEZhzE,EAAKqc,IAAM,CAAC2R,oBAAA,OACZ,IAAI,CAAChmB,MAAA,CAAA/N,GACL,IAAI,CAACy4E,WAAA,GACL,IAAI,CAACC,oBAAS,GACd,IAAI,CAAC/qE,SAAQ,GACb,KAAAi7D,KAAO,CAAI,GACb,MAKiC1/C,eACrB,SAAOlpB,CAAA,EACjB,KAAA4oE,KAAO,CAAK,GACZ5oE,EAAO+rD,KAAK,MACd/rD,EAAA4qB,IAAA,eAAAzsB,MAAA,CAEA,EAGmCorB,iBACpB,SAAIvpB,CAAA,EACjB,KAAA4oE,KAAO,IACT,OAAA5oE,EAAA+rD,KAAA,EAK2BnhC,KACzB,SAAQxf,CAAK,CAAAhL,CAAQ,CAAC,CACtB,IAAIsK,EAAI,IAAC,CAAAnH,QAAA,CAAa1D,MAAE,IACtB,KAAAy4E,aAAY,MACV5tE,KACF,KAAAnH,QAAA,CAAAmH,EAAA,CAAA4gE,UAAA,CAAAlgE,EAAAhL,EAEF,CAAsB,GACpBgL,WAAAA,EAAY,KACVV,KACF,KAAAnH,QAAA,CAAAmH,EAAA,CAAAkgB,IAAA,CAAAxf,EAAAhL,EAEF,CACF2F,EAAA4W,MAAA,CAAAC,SAAA,CAAAgO,IAAA,CAAA9B,IAAA,MAAA1d,EAAAhL,EAEA,EAKwCkvD,SAClC,SAAAF,CAA6B,EACjC,IAAI4pB,EAAoB,IAAQ,CAC7B1wB,oBAAoB,CACnB2wB,EAAY,KAAA11E,QAAA,CAAiBmL,MAAA,UAAAob,CAAA,EAE9B,MAAI,CAAAA,EAAU2lC,iBAAK,GAAA7gD,GAClB,UAAIkb,CAAA,EACJ,IAAIovD,EAAApvD,EAAuBw+B,oBAAA,CAC3Bx+B,EAAIw+B,oBAAoB,CAAA0wB,EACxB,IAAIG,EAAArvD,EAAAwlC,QAAA,CAAoBF,GAE1B,OADEtlC,EAAAw+B,oBAAO,CAAA4wB,EACTC,CACF,GACIrvD,EAAA/jB,EAAU4W,MAAA,CAAAC,SAAA,CAAA0yC,QAAA,CAAAxmC,IAAA,MAAAsmC,GAEhB,OADEtlC,EAAAjc,OAAO,CAAAorE,EACTnvD,CAEA,EAKgDulC,iBAC1C,SAAcD,CAAkB,EACpC,IAAI6pB,EAAY5mD,EAAA,KAAAA,UAAA,IACdA,EACF4mD,EACK5mD,MACH,CACA,IAAA2mD,EAA4B,IAAI,CAAC1wB,oBAAc,CAAA2wB,EACzC,KAAA11E,QAAmB,CAAAqL,GAAI,UAAAkb,CAAA,EAC3B,IAAIovD,EAAApvD,EAAuBw+B,oBAAA,CAC3Bx+B,EAAIw+B,oBAAW,CAAA0wB,EACf,IAAIG,EAAArvD,EAAAulC,gBAAuB,CAAAD,GAE7B,OADEtlC,EAAAw+B,oBAAO,CAAA4wB,EACTC,CACD,EACD,KACIrvD,EAAA/jB,EAAU4W,MAAA,CAAAC,SAAA,CAAAyyC,gBAAA,CAAAvmC,IAAA,MAAAsmC,GAEhB,OADEtlC,EAAAjc,OAAO,CAAAorE,EACTnvD,CAEA,EAIsB89B,OAChB,SAACpjC,CAAA,EACL,IAAI,CAAC+oC,cAAU,IACf,IAAI,CAACppB,SAAA,UAAiB3f,GACxB,KAAA+oC,cAAA,GAEA,EAOwBD,YAClB,UAAW,CACf,IAAI8rB,EAAUrzE,EAAA4W,MAAA,CAAAC,SAAA,CAAA0wC,WAAA,CAAAxkC,IAAA,UACZswD,EAA0D,KACxD,IAAI1uE,EAAI,EAACme,EAAQ,IAAI,CAAAtlB,QAAA,CAAA1D,MAAc,CAAI6K,EAAAme,EAAAne,IAAA,GACrC,IAAI,CAACnH,QAAA,CAAAmH,EAAU,CAAA4hE,cAAQ,GAExB,OADC,KAAAD,UAAY,IACb,EACH,CAEF,OACF+M,CAEA,EAI2B9M,eACd,UAAO,CAAqC,GACrDvmE,EAAO4W,MAAI,CAAAC,SAAA,CAAA0vD,cAAA,CAAAxjD,IAAA,OACZ,QACD,CAA0D,IACxD,IAAIpe,EAAI,EAACme,EAAQ,IAAI,CAAAtlB,QAAA,CAAA1D,MAAc,CAAI6K,EAAAme,EAAAne,IAAA,GACrC,KAAAnH,QAAW,CAAAmH,EAAA,CAAA4hE,cAAA,GACZ,QACH,CAEF,QAEA,EAIuBjB,WACd,UAAK,CACd,YAAAgB,UAAA,OAAAtgB,KAAA,OAAAA,KAAA,CAAAsf,UAAA,EAEA,EAI0BU,WACf,SAAOvnD,CAAA,CAAM,CAAoC,IACxD,IAAI9Z,EAAC,EAAAme,EAAY,KAAAtlB,QAAO,CAAA1D,MAAA,CAAA6K,EAAAme,EAAAne,IAC1B,KAAAnH,QAAA,CAAAmH,EAAA,CAAAk9C,MAAA,CAAApjC,GAEF,KAAAmoD,aAAA,CAAAnoD,EAAA,KAAAuS,QAAA,CAEA,EAGmCk1C,aACxB,SAAUW,CAAA,EAA6B,GAC9C,KAAAzoC,SAAW,gBAAAyoC,GACZ,QACD,CAA0B,GACxB,MAAAlE,cAAY,CACb,QACD,CAA0D,IACxD,IAAIh+D,EAAI,EAACme,EAAQ,IAAI,CAAAtlB,QAAA,CAAA1D,MAAa,CAAI6K,EAAGme,EAAAne,IAAA,GACvC,IAAI,CAAAnH,QAAK,CAAAmH,EAAA,CAAAuhE,YAAc,SACrB,KAAAle,YAAA,EAEA,IAAIjiC,EAAC,KAAAm+C,UAAc,KAAW,CAAApc,KAAI,CAAI9hC,EAAI,IAAG,CAAAm+C,WAAG,MAAApc,KAAA,CACjD,KAAA2L,aAAA,CAAA/M,SAAA,EAAA5gC,EAAA,GAAAC,EAAA,EAAAD,EAAAC,EACD,OACD,EACH,OAEF,EAEA,EASiCgtD,qBACb,UAAK,CACvB,IAAIM,EAAU,IAAQ,CAAApjD,aAAS,GAOjC,OAPyC,IACrC,CAAA1yB,QAAA,CAAAqqB,OAAA,UAAA5tB,CAAiC,EAEjC+F,EAAOqc,IAAA,CAAA+T,oBAAY,CAAAn2B,EAAAq5E,GACnB,OAAOr5E,EAAA+rD,KAAS,CAClB/rD,EAAA2N,SAAA,EACA,GACF,MAOoB2rE,QAClB,WAMF,OAJyC,IACrC,CAAA/1E,QAAO,CAAGqqB,OAAC,UAAa5tB,CAAA,EAC1BA,EAAAkL,GAAA,YACA,GACF,KAAA6tE,oBAAA,EAEA,EAAqBh7D,QACd,UAAU,CACf,IAAI,CAAComB,SAAA,YAAgC,IACnC,CAAAz2B,aAAc,UAAI1N,CAAO,CAAO,CAClCA,EAAA+d,OAAA,EAAA/d,EAAA+d,OAAA,EACA,GACF,KAAAxa,QAAA,KAQ8Bg2E,kBAClB,UAAQ,IAChB,KAAAp7E,MAAA,EAGF,IAAI0P,EAAS,IAAK,CAAAtK,QAAA,CAAApF,EAAA,KAAAA,MAAA,CAClB,IAAI,CAAAoF,QAAA,CAAU,EAAI,CAClB,IAAA9D,EAAO,IAAQ,CAAA6vD,QAAO,EACtB,QAAI7vD,EAAAoO,OAAkB,CACtB,IAAAoiD,EAAoB,IAAAlqD,EAAAy/D,eAAA,KAatB,OAZEvV,EAAgB/kD,GAAA,CAAIzL,GACpBwwD,EAAcjvD,IAAI,mBAClB7C,EAAA4P,MAAQ,KAAQ,EAAiBF,EAC/B+f,OAAO,CAAK,SAAG5tB,CAAA,EACfA,EAAO+rD,KAAK,CAAGkE,EACfjwD,EAAO4oE,KAAI,IACbzqE,EAAA2N,GAAA,CAAA9L,EACA,GACAiwD,EAAgB9xD,MAAA,CAAQA,EACxB8xD,EAAO1sD,QAAgB,CAAAsK,EACvB1P,EAAAytD,aAAgB,CAAAqE,EAChBA,EAAOtiD,SAAA,GACTsiD,EAlBE,EAyB0BupB,gBACd,WACd,YAAAT,oBAAA,EAEA,EAK6BU,iBACvB,UAAmB,CAKzB,OAJsC,IAClC,CAAA/rE,aAAO,UAAU1N,CAAA,EACnBA,EAAA2N,SAAA,CAFmB,GAGnB,GACF,MAKuC8qE,YAC5B,SACAiB,CACI,EAKU,IAJX,IAAChwD,EAAAX,EAAAuE,EAIU+O,EAJV67C,EAAA,GAAAC,EAAA,GAAAjD,EAAA,CAAM,KAAM,KAAM,KAC3B,KAGJ,CAAAxqE,EAAQ,EAAIivE,EAAM,IAAK,CAAAp2E,QAAA,CAAA1D,MAAA,CAAA+5E,EAAA1E,EAAAr1E,MAAA,CACrB6K,EAAIivE,EAAK,EAAAjvE,EAAA,CAEkB,IACzB2xB,EAAA,EADF/O,EAAS5D,CADTA,EAAA,KAASnmB,QAAE,CAAAmH,EAAA,EACCunE,WAAU,GACb51C,EAAAu9C,EAAQv9C,IACftT,EAAOmsD,CAAC,CAAA74C,EAAO,CACf67C,EAAGr+E,IAAI,CAACyzB,CAAM,CAACvE,EAAK,CAAC+C,CAAC,EACxBqsD,EAAAt+E,IAAA,CAAAyzB,CAAA,CAAAvE,EAAA,CAAAgD,CAAA,CAEFrC,CAAAA,EAAAgoD,OAAA,CAAApkD,CAEA,CACF,KAAAusD,UAAA,CAAA3B,EAAAC,EAAAuB,EAEA,EAG8CG,WACxC,SAAY3B,CAAA,CAAAC,CAAO,CAAAuB,CAAe,CAAI,CAK1C,IAAII,EAAM,IAAG/zE,EAAA8lB,KAAA,CAAAloB,EAAAu0E,GAAAv0E,EAAAw0E,IAAA4B,EAAA,IAAAh0E,EAAA8lB,KAAA,CAAAjoB,EAAAs0E,GAAAt0E,EAAAu0E,IAAA5qE,EAAAusE,EAAA/tD,CAAA,IAAAve,EAAAssE,EAAAhuD,CAAA,IAAA1nB,EAAA21E,EAAAjuD,CAAA,CAAAguD,EAAAhuD,CAAA,IAAA7nB,EAAA81E,EAAAhuD,CAAA,CAAA+tD,EAAA/tD,CAAA,GACb,KAAI,CAAC3nB,KAAA,CAAMA,EACX,IAAI,CAACH,MAAA,CAAAA,EACHy1E,GAEyB,IAAE,CAAArjD,mBAAG,EAAMvK,EAAGte,EAAOue,EAAAxe,CAC/C,eAIL,CAEA,GAOqDxH,EAC/CqsB,KAAA,CAAAhB,UAAiB,UACjBpxB,CAAA,CAAUwpB,CAAO,CAAI,CACzB,IAAA3b,EAAO7N,EAAQ6N,OAAO,CAAApO,EAAAsG,EAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CAAAtN,EAAA,IACW,GAAjC,OAAIP,EAAOoO,OAAA,CACT,iBAAAA,EAAA,CACmD9H,EACjDsyE,cAAY,CAAAxqE,EAAY,SAAAokB,CAAiB,EACzC,IAAA85B,EAAUhmD,EAAAqc,IAAA,CAAA4P,gBAAA,CAAAC,EAAAjyB,EAAA6N,GACVk+C,EAAA7gD,GAAA,CAAAzL,GACF+pB,GAAAA,EAAAuiC,EACA,GACD,MACD,GACE3pC,IAAI,CAAA0O,cAAiB,CAAAjjB,EAAW,SAAOmjB,CAAY,EACnD,IAAAvxB,EAAOsG,EAAQqc,IAAO,CAAApiB,MAAA,CAAAsN,KAAA,CAAAtN,EAAA,GACtB,QAAOP,EAAKoO,OAAA,CAAqD9H,EAC/Dqc,IAAA,CAAAkP,uBAAyB,CAAOtxB,EAAMP,EAAA,UAAkB,CAC1D+pB,GAAAA,EAAA,IAAAzjB,EAAAqsB,KAAA,CAAApB,EAAAvxB,EAAA,IACF,EACF,EAEC,GAQCsG,CADEA,EAAOgU,CAJXA,EAyJQgH,GArJGhb,MAAe,EAAEgU,CAAAA,EAAAhU,MAAA,MAC1By/D,eAAA,GAU4Gz/D,EAE5Gy/D,eAAA,CAAAz/D,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAAqsB,KAAA,EAOApxB,KAAA,kBAMuCwjC,WACrC,SAAU32B,CAAY,CAAApO,CAAA,EACtBA,EAAKA,GAAW,GAChB,IAAK,CAAA8D,QAAQ,CAAIsK,GAAU,GAAe,IACxC,IAAInD,EAAC,KAAQnH,QAAI,CAAK1D,MAAG,CAAI6K,KAC/B,KAAAnH,QAAA,CAAAmH,EAAA,CAAAqhD,KAAA,MAGEtsD,EAAK8+C,OAAU,EAChB,MAAAA,OAAA,CAAA9+C,EAAA8+C,OAAA,EAEC9+C,EAAK++C,OAAU,EAChB,MAAAA,OAAA,CAAA/+C,EAAA++C,OAAA,EAED,IAAI,CAACi6B,WAAA,GACL,KAAAC,oBAAwB,GACxB3yE,EAAK4W,MAAA,CAASC,SAAA,CAAA4nB,UAAA,CAAA1b,IAAA,MAAArpB,GAChB,KAAAkO,SAAA,EAEA,EAOoBqsE,QACd,UAAU,CACd,IAAInsE,EAAS,IAAK,CAAAtK,QAAA,CAAAmB,MAAA,EAClB,KAAI,CAAAnB,QAAA,CAAU,GACd,IAAI9D,EAAAsG,EAAe4W,MAAO,CAAAC,SAAQ,CAAA0yC,QAAA,CAAAxmC,IAAA,OAClCmxD,EAAe,IAAIl0E,EAAAqsB,KAAA,KAOD,GANlB,OAAA3yB,EAAauB,IAAA,CACbi5E,EAAQ/uE,GAAA,CAAAzL,GAAyBoO,EAC/B+f,OAAO,UAAc5tB,CAAA,EACrBA,EAAO7B,MAAK,CAAA4P,MAAG,CAAA/N,GACjBA,EAAA+rD,KAAA,CAAAkuB,CACA,GACAA,EAAS12E,QAAO,CAAEsK,EAChB,MAAA1P,MAAO,CACR,OAAA87E,CACD,CACA,IAAA97E,EAAW,KAAAA,MAAA,CAIb,OAHEA,EAAO2N,GAAA,CAAAmuE,GACP97E,EAAAytD,aAAkB,CAAAquB,EAClBA,EAAOtsE,SAAA,GACTssE,CAEA,EAKuBpc,WAChB,UAAO,CAEd,OADE,KAAAyb,OAAY,GACd,EAEA,EAIqB51C,SACnB,UAAO,CACT,yCAAA3Z,UAAA,OAEA,EAQwBujC,YACf,UAAK,CACd,QAEA,EAIuB+d,WACd,UAAK,CACd,QAEA,EAMgEtN,gBACtD,SAAAv5C,CAAA,CAAA2/B,CAAA,CAAA+1B,CAAA,EACR11D,EAAIkgC,IAAA,GACJlgC,EAAIuxC,WAAW,MAAA4M,QAAA,CAAmB,KAAK0F,uBAAA,GACvC,KAAAlkC,SAAA,mBAAmB3f,EAAoB2/B,GAED,SAApC+1B,CADFA,EAAWA,GAA4B,IACpB1R,WAAc,EAChC0R,CAAAA,EAAA1R,WAAA,KAED0R,EAAgB1M,kBAAoB,IAAsB,IACxD,IAAI9iE,EAAC,EAAAme,EAAY,KAAAtlB,QAAA,CAAA1D,MAAgB,CAAK6K,EAAAme,EAAAne,IACxC,KAAAnH,QAAA,CAAAmH,EAAA,CAAAqzD,eAAA,CAAAv5C,EAAA01D,GAEF11D,EAAAwgC,OAAA,EACF,CAEA,GAO+Dj/C,EAC7Dy/D,eAAY,CAAAp0C,UAAe,CAAO,SAASpxB,CAAA,CAAAwpB,CAAS,EAAkBzjB,EACpEqc,IAAO,CAAA0O,cAAc,CAAA9wB,EAAA6N,OAAA,UAAAmjB,CAAA,EACrB,OAAAhxB,EAAY6N,OAAS,CACvB2b,GAAAA,EAAA,IAAAzjB,EAAAy/D,eAAA,CAAAx0C,EAAAhxB,EAAA,IACF,EAEC,GACe,SAEhB+Z,CAAA,EAEA,aAEA,IAAIiH,EAAQjb,GAAQqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAIK,GAHvBjH,EAAOhU,MAAM,EACdgU,CAAAA,EAAAhU,MAAA,KAGCgU,EAAOhU,MAAK,CAAAK,KAAA,EACZL,GAAA2kC,IAAA,qCACD,MAED,IASEtkC,KAAA,CAAAL,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAA4W,MAAA,EAOA3b,KAAA,QAQAkc,YAAA,EASAi9D,iBAAA,GAQAC,YAAA,EAQAC,YAAA,EAOAC,gBAAA,EAOAC,gBAAA,EAQAC,oBAAA,GAQA1R,gBAAA/iE,GAAA4W,MAAA,CAAAC,SAAA,CAAAksD,eAAA,CAAApkE,MAAA,kBASAqkE,gBAAAhjE,GAAA4W,MAAA,CAAAC,SAAA,CAAAmsD,eAAA,CAAArkE,MAAA,kBAQA+1E,SAAA,GAQAlM,MAAA,EAQAC,MAAA,EASAkM,eAAA,GAWuCl2C,WACrC,SAAY9kC,CAAY,CAAAD,CAAA,EACxBA,GAAYA,CAAAA,EAAK,IACjB,IAAI,CAAC4L,OAAA,CAAQ,EAAG,CAChB,IAAI,CAACovE,QAAA,CAAU,UAAA10E,GAAc4W,MAAA,CAAA2zD,KAAA,GAC7B,IAAI,CAACnsC,SAAA,cAAsB1kC,GAC7B,KAAAk7E,YAAA,CAAAj7E,EAAAD,EAEA,EAIuB8sD,WACd,UAAK,CACd,YAAAquB,QAAA,IAEA,EASuCC,WAChC,SAAAn7E,CAAmB,CAAAD,CAAQ,EAgBlC,OAfE,IAAI,CAACq7E,aAAa,CAAC,IAAI,CAACL,QAAQ,EAChC,IAAI,CAACK,aAAW,MAAAL,QAAA,cAChB,IAAI,CAACG,QAAA,CAAAl7E,EACL,IAAI,CAACq7E,gBAAY,CAAAr7E,EACjB,IAAI,CAAAs7E,WAAY,CAACv7E,GACE,IAAjB,IAAI,CAAC4L,OAAA,CAAAxL,MAAY,EAClB,KAAA+L,YAAA,GAMC,IAAI,CAACqvE,YAAA,EACN,KAAAC,kBAAA,GAEH,MAK6BJ,cACvB,SAAU1vE,CAAO,EACrB,IAAI+vE,EAAAp1E,GAAWq1E,aAAQ,CACrBD,GAAQA,EAAAE,iBAAkB,EAC3BF,EAAAE,iBAAA,CAAAjwE,EAGH,EAGqB2S,QACd,UAAU,CACf,IAAI,CAAComB,SAAA,YACL,IAAI,CAAC22C,aAAa,CAAC,IAAI,CAACL,QAAQ,EAChC,IAAI,CAACK,aAAa,KAAG,CAAAL,QAAA,cACrB,KAAAhhB,aAAA,CAAA72D,KAAAA,EAAA,CAAqB,mBAAY,WAAe,cAAgB,eAA2B,CAAAgrB,OACzF,EAAO,SAAKluB,CAAA,EACZqG,GAAKqc,IAAA,CAAAunB,gBAAW,MAAAjqC,EAAA,EACf,IAAK,CAAAA,EAAI,CAAAkD,KAAAA,CACd,GAAA2L,IAAA,OAEA,EAG2B+sE,eACb,WACd,YAAAP,gBAAA,QAAAA,gBAAA,CAAAz0E,WAAA,OAEA,EAI4Bi1E,gBACtB,UAAe,CACnB,IAAA77E,EAAO,KAAA6sD,UAAA,SACL,CACAnoD,MAAA1E,EAAQ87E,YAAQ,EAAa97E,EAAI0E,KAAQ,CAC3CH,OAAAvE,EAAA+7E,aAAA,EAAA/7E,EAAAuE,MAAA,CAGF,EAIuBy3E,QAChB,SAAKl3D,CAAM,EAA4B,GAC1C,KAAA4S,MAAA,WAAAla,WAAA,EAGF,IAAIq3D,EAAA,KAASnwE,KAAA,GAAAs0B,EAAA,KAAAz0B,MAAA,GACbugB,EAAIsgC,SAAQ,GACZtgC,EAAI4pC,MAAM,CAAC,CAAAmmB,EAAI,CAAA77C,GACflU,EAAI6pC,MAAM,CAACkmB,EAAG,CAAA77C,GACdlU,EAAI6pC,MAAM,CAACkmB,EAAC77C,GACZlU,EAAI6pC,MAAM,CAAC,CAACkmB,EAAG77C,GACflU,EAAI6pC,MAAA,EAAAkmB,EAAS,CAAA77C,GACflU,EAAA8pC,SAAA,GARE,EAesCgB,SAClC,SAAUF,CAAE,EAEhB,IAAI/jD,EAAS,GAA4B,IACvC,CAAAA,OAAI,CAAAuiB,OAAW,UAAA+tD,CAAA,EACbA,GACDtwE,EAAAxR,IAAA,CAAA8hF,EAAArsB,QAAA,GAEH,GAGI,IAACtvD,EAAAghB,EAAA,KAAAmjB,SAAA,aAAS,QAAS,QAClB,CAAAz/B,MACD,CAAK0qD,IAAW,CAChB/+B,IAAA,KAAAurD,MAAa,GACbt1E,YAAS,KAAAg1E,cAAA,GACXjwE,QAAAA,CACF,GAIF,OAHI,KAAA4vE,YAAO,EACRj7E,CAAAA,EAAAi7E,YAAA,MAAAA,YAAA,CAAA3rB,QAAA,IAEHtvD,CAEA,EAIoB67E,QAClB,UAAY,CACd,YAAAtN,KAAA,OAAAC,KAAA,OAAApqE,KAAA,MAAAw2E,QAAA,CAAAx2E,KAAA,OAAAH,MAAA,MAAA22E,QAAA,CAAA32E,MAAA,EAS2B23E,OACrB,SAAAE,CAAU,EACd,IAAIp8E,EAASo8E,EAAA,KAAAlB,QAAA,MAAAG,gBAAA,UACY,EACd3rE,SAAQ,CAChB1P,EAAA0P,SAAA,GAGC,KAAA+qE,gBAAe,CAEZz6E,EAAAq8E,YAAA,QAEJr8E,EAAA2wB,GAAA,CAIF,KAAAA,GAAA,IACH,EAYyC2rD,OACvC,SAAY3rD,CAAA,CAAA7G,CAAU,CAAK/pB,CAAA,CAAS,CAMtC,OANoDsG,GAChDqc,IAAK,CAAAtD,SAAW,CAAAuR,EAAK,SAAAJ,CAAA,CAAAk6B,CAAA,EACrB,IAAI,CAAC0wB,UAAA,CAAA5qD,EAAexwB,GACpB,KAAAw8E,eAAY,GACXzyD,GAAMA,EAAW,IAAQ,CAAA2gC,EAC5B,MAAO,CAAA1qD,GAAIA,EAAA6G,WAAA,EACb,MAMqBo9B,SACnB,UAAO,CACT,sCAAAk4C,MAAA,SAEA,EAA+BV,mBAChB,UAAK,CAMlB,IAAIxsE,EAAK,IAAO,CAAAusE,YAAA,CAAAiB,EAAA,KAAA1B,mBAAA,CAAA/Q,EAAA,KAAAC,qBAAA,GAAA78D,EAAA48D,EAAA58D,MAAA,CAAAC,EAAA28D,EAAA38D,MAAA,CAAAqvE,EAAA,KAAAC,WAAA,OAAArB,gBAAA,CAGiD,GAF/D,IAAI,CAAChvB,KAAI,EACV,KAAA7gD,GAAA,aAEC,CAAAwD,GAAK7B,EAAWqvE,GAAApvE,EAAAovE,EAAA,CAChB,IAAI,CAACtB,QAAA,CAAAuB,EACL,IAAI,CAAC7B,eAAe,CAAG,EACvB,IAAI,CAACC,eAAc,GACnB,IAAI,CAACH,WAAW,CAAGvtE,EACnB,KAAAwtE,WAAA,CAAAvtE,EACD,MACD,IACSsuE,aAAa,EACrBr1E,CAAAA,GAAAq1E,aAAA,CAAAr1E,GAAAwhB,iBAAA,IAID,IAAAqL,EAAc7sB,GAAGqc,IAAA,CAAAqQ,mBAAA,GAAAgoD,EAAA,KAAA2B,WAAA,MAAA3B,QAAA,kBAAAA,QAAA,CAAA4B,EAAAF,EAAA/3E,KAAA,CAAAk4E,EAAAH,EAAAl4E,MAAA,CACjB2uB,EAASxuB,KAAA,CAAMi4E,EACfzpD,EAAK3uB,MAAQ,CAAGq4E,EAChB,IAAI,CAAC1B,QAAA,CAAWhoD,EAChB,IAAI,CAACwnD,WAAW,CAAG1rE,EAAO7B,MAAM,CAAGA,EACnC,KAAAwtE,WAAO,CAAA3rE,EAAc5B,MAAA,CACnBA,EAAA/G,GAACq1E,aAAA,CAAAxvE,YAAA,EAAS8C,EACZ,CAAAytE,EAAoBE,EAAYC,EAAa,KAAA1B,QAAA,CAAiBH,GAC9D,IAAI,CAACH,eAAe,CAAG1nD,EAASxuB,KAAA,CAAM,IAAG,CAAI22E,gBAAC,CAAgB32E,KAAC,CACjE,KAAAm2E,eAAA,CAAA3nD,EAAA3uB,MAAA,MAAA82E,gBAAA,CAAA92E,MAAA,EAUgC2H,aAEpB,SAAAP,CAAgB,EAOA,GANgBA,EAAEA,CAA5CA,EAAUA,GAAQ,IAAO,CAAAA,OAAA,EAAS,IAAiBqD,MAAW,UAAOA,CAAA,EAAkB,OAAAA,GAAA,CAAAA,EAAA6tE,cAAA,EACvF,GAEA,KAAArxE,GAAA,aAGA,IAAI,CAAA4vE,aAAc,KAAK,CAAAL,QAAG,cACxBpvE,IAAAA,EAAKxL,MAAQ,CAKd,OAJC,IAAI,CAAC+6E,QAAA,CAAW,IAAG,CAAAG,gBAAI,CACvB,IAAI,CAACqB,WAAA,KAAkB,CACvB,IAAI,CAAC9B,eAAe,CAAG,EACvB,KAAAC,eAAW,GACZ,KAMD,IAAIiC,EAAa,KAAKzB,gBAAK,CAAAsB,EAAkBG,EAAAhB,YAAA,EAAAgB,EAAAp4E,KAAA,CAAAk4E,EAAAE,EAAAf,aAAA,EAAAe,EAAAv4E,MAAA,IAC3C,KAAA22E,QAAA,QAAAG,gBAAA,EAEA,IAAAnoD,EAAc7sB,GAAGqc,IAAA,CAAAqQ,mBAAA,EACjBG,CAAAA,EAASxuB,KAAA,CAAMi4E,EACfzpD,EAAK3uB,MAAQ,CAAGq4E,EAChB,IAAI,CAAC1B,QAAA,CAAWhoD,EAClB,IACK,CAAAwpD,WAAA,CAAAxpD,CAAA,MAIH,IAAI,CAACgoD,QAAA,CAAW,IAAC,CAAAwB,WAAW,CAC5B,KAAAA,WAAA,CAAA33D,UAAA,OAAAioC,SAAA,KAAA2vB,EAAAC,GAEA,IAAI,CAAClC,WAAW,CAAG,EACpB,KAAAC,WAAA,EACD,CAWF,OAVIt0E,GAAOq1E,aAAa,EACrBr1E,CAAAA,GAAAq1E,aAAA,CAAAr1E,GAAAwhB,iBAAA,IAGDxhB,GAAIq1E,aAAK,CAAAxvE,YAAsB,CAAAP,EAAU,KAAA0vE,gBAClC,CAAAsB,EAAAC,EAA4B,IAAK,CAAA1B,QAAS,KAAM,CAAAH,QAAE,EACvD,KAAI,CAACM,gBAAe,CAAA32E,KAAO,GAAC,IAAQ,CAACw2E,QAAQ,CAAAx2E,KAAK,OAAA22E,gBAAsB,CAAA92E,MAAA,QAAA22E,QAAA,CAAA32E,MAAA,IACxE,IAAI,CAACq2E,eAAe,CAAG,IAAI,CAACM,QAAQ,CAACx2E,KAAA,CAAM,IAAG,CAAI22E,gBAAC,CAAgB32E,KAAC,CACrE,KAAAm2E,eAAA,MAAAK,QAAA,CAAA32E,MAAA,MAAA82E,gBAAA,CAAA92E,MAAA,EAEH,MAMuBgvD,QACrB,SAAYzuC,CAAA,EACZze,GAAIqc,IAAK,CAAAylB,iBAAiB,CAAIrjB,EAAK,KAAAk2D,cAAgB,EAC5C,KAAL,IAAI,CAAC/X,QAAA,EAAkB,KAAAsY,YAAA,OAAAwB,YAAA,IACxB,KAAAvB,kBAAA,GAED,IAAI,CAACQ,OAAA,CAAAl3D,GACP,KAAAspD,mBAAA,CAAAtpD,EAEA,EAKiCqnD,kBACnB,SAAArnD,CAAA,CAAiB,CAC7Bze,GAAOqc,IAAA,CAAAylB,iBAAiB,CAAArjB,EAAA,KAAAk2D,cAA6B,EACvD30E,GAAA4W,MAAA,CAAAC,SAAA,CAAAivD,iBAAA,CAAA/iD,IAAA,MAAAtE,EAEA,EAWwB8oC,YACf,UAAK,CACd,YAAA8e,gBAAA,EAEA,EAA2B4B,YACrB,SAAAxpD,CAAgB,EACpB,IAAIk4D,EAAgB,KAAA9B,QAAA,IAClB8B,GAKE,IAAA7vE,EAAY,IAAK,CAAAytE,eAAW,CAAAxtE,EAAgB,IAAC,CAAAytE,eAC7C,CAAUhG,EAAA,KAAAnwE,KAAc,CAAAs0B,EAAA,KAAAz0B,MAAgB,CAAAN,EAAAH,KAAcG,GAAA,CAAKC,EAC3DJ,KAAAI,GAAW,CAIX2qE,EAAK3qE,EAAI,IAAI,CAAA2qE,KAAQ,IAAAC,EACrB5qE,EAAA,IAAK,CAAI4qE,KAAI,IAAAmO,EAAQD,EAChBlB,YAAY,EAAIkB,EACVt4E,KAAO,CAAAw4E,EAAUF,EAC5BjB,aAAW,EAAIiB,EAAcz4E,MAAA,CAAS44E,EAAAtO,EAAA1hE,EAAAiwE,EAAAtO,EAAA1hE,EAE1CiwE,EAAAp5E,EAAA4wE,EAAA1nE,EAAqB8vE,EAAUE,GAAAG,EAAAr5E,EAAA+0B,EAAe5rB,EAAQ8vE,EAAcE,GAAUG,EAAAt5E,EAAA4wE,EAAAoI,EAAA9vE,EAAA0hE,GAAA2O,EAAAv5E,EAAA+0B,EAAAkkD,EAAA9vE,EAAA0hE,EAChFkO,CAAAA,GAAAl4D,EAAAI,SAAA,CAAA83D,EAAAG,EAAAC,EAAAC,EAAAC,EADsE,CAAUzI,EAAA,GAAA77C,EAAA,EAChFukD,EAAAC,GAhBE,EAsBuBT,aACnB,UAAa,CACjB,IAAA7vE,EAAQ,IAAM,CAAA88D,qBAAgB,GAChC,OAAA98D,EAAAC,MAAA,QAAAutE,WAAA,EAAAxtE,EAAAE,MAAA,QAAAutE,WAAA,EAK8B8C,kBACd,WAChB,KAAAjyE,GAAA,MAAAqwE,eAAA,GAEA,EAOyCZ,aAClC,SAAWj7E,CAAO,CAAKD,CAAO,CAAC,CACpC,KAAAo7E,UAAY,CAAA90E,GAASqc,IAAK,CAAA+lB,OAAA,CAAUzoC,GAAID,GAC1CsG,GAAAqc,IAAA,CAAAimB,QAAA,MAAAkkB,UAAA,GAAAxmD,GAAAK,KAAA,CAAAg3E,UAAA,CAEA,EAI+BpC,YAC7B,SAAYv7E,CAAY,EACxBA,GAAKA,CAAAA,EAAW,IAChB,IAAI,CAAC4qD,UAAA,CAAA5qD,GACP,KAAAw8E,eAAA,CAAAx8E,EAEA,EAK0C49E,aACpC,SAAWhyE,CAAQ,CAAAme,CAAQ,EAC7Bne,GAAWA,EAACxL,MAAA,CAAmDkG,GAC7Dqc,IAAA,CAAA0O,cAAqB,CAAAzlB,EAAA,SAAA2lB,CAAA,EACpBxH,GAAAA,EAAAwH,EACL,EACK,wBAEJxH,GAAAA,GAGH,EAMmCyyD,gBACrB,SAAUx8E,CAAE,EACxBA,GAASA,CAAAA,EAAK,IACd,IAAImnC,EAAC,IAAQ,CAAA2lB,UAAQ,EACrB,KAAI,CAACnoD,KAAA,CAAM3E,EAAG2E,KAAQ,EAAMwiC,EAAI40C,YAAG,EAAa50C,EAAIxiC,KAAG,EAAM,EAC/D,KAAAH,MAAA,CAAAxE,EAAAwE,MAAA,EAAA2iC,EAAA60C,aAAA,EAAA70C,EAAA3iC,MAAA,GAEA,EAM8CwwB,kCACtB,WAGqD,IAAS90B,EAAP29E,EAAAv3E,GAAOqc,IAAA,CAAAqS,iCAAA,MAAA8oD,mBAAA,MAAAC,EAAA,KAAA5C,QAAA,CAAAx2E,KAAA,CAAAq5E,EAAA,KAAA7C,QAAA,CAAA32E,MAAA,CAAA4I,EAAA,EAAAC,EAAA,EAAA2hE,EAAA,EAAAC,EAAA,EAAAH,EAAA,EAAAC,EAAA,EAAAkP,EAAA,KAAAt5E,KAAA,CAAAu5E,EAAA,KAAA15E,MAAA,CAAA25E,EAAA,CAAQx5E,MAAAs5E,EAAgBz5E,OAAA05E,CAC5G,EA0CO,OAzCLL,GAAQA,CAAAA,SAAAA,EAAAzoD,MAAA,EAAwByoD,SAAAA,EAAAxoD,MAAA,GACZ,SAAlBwoD,EAAA1oD,WAAS,GACT/nB,EAASC,EAAC/G,GAASqc,IAAS,CAAAqT,cAAU,MAAAmlD,QAAA,CAAAgD,GACtCj+E,EAAQ,CAAA+9E,EAAWF,EAAO3wE,CAAA,IACV,QAAdywE,EAAAzoD,MAAA,EACD45C,CAAAA,EAAA,CAAA9uE,CAAA,EAEc,QAAb29E,EAAAzoD,MAAA,EACD45C,CAAAA,EAAA9uE,CAAA,EAEDA,EAAQ,CAAAg+E,EAAWF,EAAO3wE,CAAA,IACX,QAAbwwE,EAAAxoD,MAAA,EACD45C,CAAAA,EAAA,CAAA/uE,CAAA,EAEa,QAAZ29E,EAAAxoD,MAAA,EACD45C,CAAAA,EAAA/uE,CAAA,GAGiB,UAAlB29E,EAAA1oD,WAAS,GACT/nB,EAASC,EAAS/G,GAAAqc,IAAS,CAAAsT,gBAAA,MAAAklD,QAAA,CAAAgD,GAC3Bj+E,EAAQ69E,EAAME,EAAY7wE,EAChB,QAARywE,EAAAzoD,MAAQ,EACT05C,CAAAA,EAAA5uE,EAAA,GAES,QAAR29E,EAAAzoD,MAAQ,EACT05C,CAAAA,EAAA5uE,CAAA,EAEDA,EAAQ89E,EAAWE,EAAO7wE,EAChB,QAARwwE,EAAAxoD,MAAQ,EACT05C,CAAAA,EAAA7uE,EAAA,GAES,QAAR29E,EAAAxoD,MAAQ,EACT05C,CAAAA,EAAA7uE,CAAA,EAED69E,EAAAE,EAAU7wE,EACX4wE,EAAAE,EAAA7wE,KAIDD,EAAS6wE,EAAAF,EACV1wE,EAAA6wE,EAAAF,GAEC,CACAr5E,MAAAo5E,EACAv5E,OAAQw5E,EACR5wE,OAAQA,EACRC,OAAAA,EACA2hE,WAAWA,EACXC,UAAOA,EACPH,MAAOA,EACTC,MAAAA,CACF,CACF,CAEA,GAQAzoE,GAAAK,KAAA,CAAAg3E,UAAA,cAMAr3E,GAAAK,KAAA,CAAAwW,SAAA,CAAAihE,SAAA,CAAA93E,GAAAK,KAAA,CAAAwW,SAAA,CAAAg/D,MAAA,CAMsD71E,GAChDK,KAAA,CAAAgrB,UAAgB,CAAI,SAAQ0sD,CAAM,CAAAt0D,CAAA,EACtC,IAAAxpB,EAAY+F,GAAAqc,IAAU,CAAApiB,MAAO,CAAGsN,KAAE,CAAAwwE,GAAuB/3E,GACvDqc,IAAI,CAAAtD,SAAS,CAAA9e,EAAAqwB,GAAA,UAAAJ,CAAA,CAAAk6B,CAAA,KACXA,EAAA,CACA3gC,GAAAA,EAAA,SACD,MACD,IACEpjB,KAAO,CAAAwW,SAAU,CAAAygE,YAAa,CAAAv0D,IAAA,CAAA9oB,EAAAA,EAAAqL,OAAA,UAAAA,CAAA,EAC9BrL,EAAOqL,OAAM,CAAAA,GAAU,GAA0BtF,GAACK,KAAO,CAAAwW,SAAA,CAAYygE,YAAA,CAAAv0D,IAAA,CAAA9oB,EAAA,CAAGA,EAAAi7E,YAAS,CAAe,UACvF8C,CAAY,CAAG,CACtB/9E,EAAOi7E,YAAK,CAAA8C,CAAuB,CAAC,GAA4Bh4E,GAC9Dqc,IAAI,CAAAkP,uBAAyB,CAAAtxB,EAAKA,EAAA,WAEpCwpB,EADW,IAAOzjB,GAAKK,KAAA,CAAA6pB,EAAAjwB,GACvB,GACF,EACF,EACC,EACL,OAAAA,EAAAsG,WAAA,CAEA,EAO2DP,GACzDK,KAAO,CAAIC,OAAC,CAAS,SAAMF,CAAA,CAAAqjB,CAAc,CAAAw0D,CAAS,EAAAj4E,GAChDqc,IAAA,CAAAtD,SAAY,CAAA3Y,EAAS,SAAW8pB,CAAA,CAAKk6B,CAAM,EAC1C3gC,GAAMA,EAAc,IAAAzjB,GAAWK,KAAA,CAAA6pB,EAAW+tD,GAAA7zB,EAC/C,OAAA6zB,GAAAA,EAAA13E,WAAA,CAIC,CACF,EAAAya,GAAW,UAEV,CAEA,aAmDqC,SAC/B6G,EAAmBnoB,CAAU,EAC/BA,GAAKA,EAAWooB,QAAQ,EACzB,MAAAA,QAAA,CAAApoB,EAAAooB,QAAA,EAED,IAAI,CAACo2D,cAAc,MAAAp2D,QAAA,MAAAA,QAAA,EACrB,KAAAq2D,cAAA,GAnC6Cn4E,GACvCyhB,gBAAO,CAAY,SAAEK,CAAA,KACvB9hB,GAAOigB,YAAK,CACb,QACD,CACA6B,EAAIA,GAAkB9hB,GAAA6hB,kBAAc,CAAAhL,SAAA,CAAAiL,QAAA,CACpC,IAAI1pB,EAAKglB,SAAOsN,aAAW,WACvBrM,EAAAjmB,EAAAsmB,UAAmB,WAAAtmB,EAAAsmB,UAAA,uBACvB05D,EAAA,GACQ,GACN/5D,EAAA,CACAre,GAAA4hB,cAAqB,CAAAvD,EAAAg6D,YAAkB,CAAAh6D,EAAAi6D,gBAAA,EACvCF,EAAIp4E,GAAa4hB,cAAA,EAAAE,EACU,IACzB,IAFgBy2D,EAAA,CAAS,QAAW,UAAO,OAC7C,CACM5zE,EAAA,EAAAA,EAAA,EAAcA,IAAmB,GACnC6zE,SA9Ben6D,CAAA,CAAAo6D,CAAA,CAAe,CAEpC,IAAGC,EAAar6D,EAAAs6D,YAAgB,CAAAt6D,EAAAu6D,eAAA,SAE+B,EAD5DC,YAAA,CAAaH,EAFK,aAAeD,EAAI,0BAGxCp6D,EAAAy6D,aAAQ,CAAAJ,KACNr6D,EAAA06D,kBAAY,CAAAL,EAAAr6D,EAAA26D,cAAA,CAEd,EAuBa36D,EAAAk6D,CAAiB,CAAA5zE,EAAA,EAAU,CAClC3E,GAAMi5E,cAAA,CAAAV,CAAA,CAAA5zE,EAAA,CACP,OAGL,OACA,KAAAyzE,WAAO,CAAAA,EACTA,CAEA,EAEAp4E,GAAA6hB,kBAAA,CAAAA,EAWiFA,EAErEhL,SAAA,EAEViL,SAAA,KAWA/D,UAAA,GAGwCm6D,eAC1B,SAAA75E,CAAA,CAAAH,CAAA,EACZ,IAAI,CAAC8Z,OAAA,GACL,KAAAkhE,iBAAA,CAAA76E,EAA2BH,GACO,IAAC,CAAAi7E,SAAA,KAAAC,aAAA,CAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EAC1D,EACF,KAAAC,6BAAA,CAAAh7E,EAAAH,EAEA,EAIuDm7E,8BAChC,SAAch7E,CAAA,CAAAH,CAAW,CAAK,CACnD,IA+BAo7E,EAAaC,EA/BTC,EAAAC,EAAA,SAAAvlF,OAAAwlF,WAAA,IACF,CACA,IAAA75D,UAAA,KAEF25D,EAAU,SACRlxE,EAAA,CACFkxE,EAAA,EACA,CAEA,IAAAG,EAAA,oBAAAC,YAGIC,EAAoB,oBAAAr6D,kBAA6D,GACnFi6D,GAAAD,GAAAG,GAAAE,GAIF,IAAAr7D,EAAAxe,GAAAqc,IAAA,CAAAqQ,mBAAoC,GAEhCpN,EAAO,IAAAs6D,YAAqBv7E,EAAAH,EAAA,MAC9B8B,GAAKuhB,mBAAc,EACnB,IAAI,CAACjC,WAAU,CAAGA,EAClB,KAAAw6D,UAAA,CAAAh7D,GACD,MACD,KACEi7D,EAAa,CACbz6D,YAAAA,EACAN,iBAAA3gB,EACA6gB,kBAAchhB,EAChBsgB,aAAAA,CACA,CAEAA,CAAAA,EAAangB,KAAA,CAAMA,EAEnBmgB,EAAYtgB,MAAO,CAAAA,EACnBo7E,EAAAplF,OAAAwlF,WAAyB,CAAAM,GAAA,GACzB57D,GAAgB2E,IAAO,CAAAg3D,EAAe,KAAK17D,EAAA,CAAA07D,GAE3CR,EAAYrlF,OAAOwlF,WAAe,CAAAM,GAAA,GAAAV,EAClCA,EAAAplF,OAAAwlF,WAA4B,CAAAM,GAAA,GAC5Bl7D,GAAmBiE,IAAO,CAAAg3D,EAAe,KAAK17D,EAAA,CAAA07D,GAG5CR,EADErlF,OAAgBwlF,WAAA,CAAkBM,GAAA,GAAAV,GAEpC,IAAI,CAACh6D,WAAU,CAAGA,EACpB,IACK,CAAAw6D,UAAA,CAAAh7D,IAEJ,KAAAg7D,UAAA,CAAA17D,GAhCD,EAuCyC86D,kBAC5B,SAAW76E,CAAC,CAAAH,CAAA,EACzB,IAAA9F,EAAY4H,GAAGqc,IAAA,CAAAqQ,mBAAA,EACft0B,CAAAA,EAAOiG,KAAA,CAAMA,EACbjG,EAAI8F,MAAA,CAAYA,EAAA,IACV+7E,EAAW,CACX/yD,MAAA,GACAgzD,mBAAY,GACZC,MAAA,GACAC,QAAA,GAEFC,UAAY,EAChB,EAAAh8D,EAAKjmB,EAAIsmB,UAAA,SAAAu7D,GACP57D,GACDA,CAAAA,EAAAjmB,EAAAsmB,UAAA,sBAAAu7D,EAAA,EAEC57D,IAGFA,EAAAi8D,UAAA,UAEA,IAAI,CAACliF,MAAK,CAAAA,EACZ,KAAAimB,EAAA,CAAAA,EAEA,EAY+ExY,aACpE,SAAOP,CAAA,CAAAof,CAAA,CAAArmB,CAAA,CAAAH,CAAA,CAAAsgB,CAAA,CAAAk2D,CAAA,EAChB,IA6JAl2D,EAAwCngB,EAAAH,EAAA6gB,EAAAE,EA5JpCs7D,EADAl8D,EAAA,KAAAA,EAAA,CAEFq2D,GACD6F,CAAAA,EAAA,KAAAC,gBAAA,CAAA9F,EAAAhwD,EAAA,EACmB,IAClBpG,EAAe,CACfiiD,cAAA77C,EAAgBrmB,KAAO,EAAMqmB,EAAI67C,aAAO,CACxCC,eAAa97C,EAAAxmB,MAAA,EAAAwmB,EAAA87C,cAAA,CACb8V,YAAAj4E,EACAk4E,aAAAr4E,EACA8gB,iBAAA3gB,EACA6gB,kBAAShhB,EACT/I,QAAAkpB,EACAo8D,cAAe,IAAI,CAACtpE,aAAa,CAACkN,EAAIhgB,EAAOH,EAAA,CAAAq8E,GAAA71D,GAC7Cg2D,cAAA,IAAiB,CAAAvpE,aAAA,CACfkN,EAAIhgB,EAACH,GACPy8E,gBAAgBJ,GAAM,KAAAppE,aAAA,CAAAkN,EAAAhgB,EAAAH,EAAA,CAAAq8E,GAAA71D,GACtBk2D,OAAOt1E,EAAIxL,MAAA,CACX+gF,MAAA,GACA1B,UAAA,IAAc,CAAAA,SAAK,CACnB2B,aAAM,KAAAA,YAAA,CACNC,KAAA,EACA1F,cAAc,KAChB72D,aAAAA,CACA,EACGw8D,EAAA38D,EAAA48D,iBAA8B,GAUnC,OATE58D,EAAA68D,eAAgB,CAAA78D,EAAA88D,WAAiB,CAAAH,GAAA11E,EAAEuiB,OAAU,UAAOlf,CAAQ,EAAgBA,GAAAA,EAAAyyE,OAAA,CAAA98D,EAC5E,GAkIwCjgB,EAAAmgB,CAAxCA,EAAUF,EAAUE,YAAoB,EAAAngB,KAAA,CAAAH,EAAAsgB,EAAAtgB,MAAA,CAAA6gB,EAAAT,EAAAU,gBAAA,CAAAC,EAAAX,EAAAY,iBAAA,CAC1C7gB,CAAAA,IAAA0gB,GAAkB7gB,IAAG+gB,CAAA,IACrBT,EAAangB,KAAA,CAAM0gB,EACpBP,EAAAtgB,MAAA,CAAA+gB,GAnIG,IAAG,CAAA66D,UAAY,CAAAz7D,EAAGC,GAClBD,EAAGg9D,WAAA,CAAAh9D,EAAci9D,UAAA,KAAc,EAC/Bj9D,EAAGk9D,aAAa,CAACj9D,EAAcm8D,aAAa,EAC5Cp8D,EAAGk9D,aAAA,CAAAj9D,EAAkBo8D,aAAA,EACrBr8D,EAAAm9D,iBAAa,CAAAR,GACbx8D,EAAOE,UAAA,OAAAmmD,YAAA,cACTvmD,CAEA,EAGoBtG,QACd,UAAW,CACb,IAAI,CAAC5f,MAAM,GACX,IAAI,CAACA,MAAK,CAAI,KACf,KAAAimB,EAAA,OAEH,KAAAo9D,gBAAA,EAEA,EAG6BA,iBACtB,UAAgB,CACrB,IAAI,CAACX,YAAY,CAAG,CAAC,EACvB,KAAAY,YAAA,GAEA,EAW+DvqE,cACzD,SAAakN,CAAA,CAAAhgB,CAAA,CAAaH,CAAA,CAAAy9E,CAAA,EAC9B,IAAGzqE,EAAWmN,EAAClN,aAAe,GAYhC,OAXEkN,EAAGg9D,WAAA,CAAAh9D,EAAci9D,UAAG,CAAUpqE,GAC9BmN,EAAGu9D,aAAa,CAACv9D,EAAGi9D,UAAU,CAAEj9D,EAAGw9D,kBAAkB,CAAEx9D,EAAGy9D,OAAO,EACjEz9D,EAAGu9D,aAAa,CAACv9D,EAAGi9D,UAAU,CAAEj9D,EAAG09D,kBAAgB,CAAG19D,EAAAy9D,OAAA,EACtDz9D,EAAGu9D,aAAa,CAACv9D,EAAGi9D,UAAU,CAAEj9D,EAAG29D,cAAc,CAAE39D,EAAG49D,aAAa,EACnE59D,EAAAu9D,aAAI,CAAAv9D,EAAAi9D,UAAoB,CAAAj9D,EAAA69D,cAAA,CAAA79D,EAAA49D,aAAA,EACtBN,EACFt9D,EACK89D,UAAA,CAAA99D,EAAAi9D,UAAA,GAAAj9D,EAAAqB,IAAA,CAAArB,EAAAqB,IAAA,CAAArB,EAAAsB,aAAA,CAAAg8D,GAEJt9D,EAAA89D,UAAA,CAAA99D,EAAAi9D,UAAA,GAAAj9D,EAAAqB,IAAA,CAAArhB,EAAAH,EAAA,EAAAmgB,EAAAqB,IAAA,CAAArB,EAAAsB,aAAA,OAEHzO,CAEA,EASyDspE,iBAC9C,SAAa4B,CAAS,CAAET,CAAA,KAC/B,KAAAD,YAAY,CAAAU,EAAa,CAC3B,OACK,KAAAV,YAAA,CAAAU,EAAA,CAGH,IAAIlrE,EAAC,IAAa,CAAAC,aAAY,MAAAkN,EAAA,CAAAs9D,EAAAt9E,KAAA,CAAAs9E,EAAAz9E,MAAA,CAAAy9E,GAE/B,OADC,KAAAD,YAAO,CAAAU,EAAA,CAAAlrE,EACRA,CAGH,EAMsCokE,kBAC3B,SAAaZ,CAAS,CAAE,CAC/B,IAAI,CAACgH,YAAG,CAAAhH,EAAmB,GAC3B,KAAAr2D,EAAO,CAAAk9D,aAAK,KAAa,CAAAG,YAAS,CAAAhH,EAAA,EACnC,YAAAgH,YAAA,CAAAhH,EAAA,CAGH,EAEAoF,WAAA17D,GAO2B+5D,eAChB,UAAS,IAChB,KAAAkE,OAAY,CACb,YAAAA,OAAA,CAC2B,IAAEh+D,EAAA,KAAUA,EAAA,CAAAg+D,EAAA,CAAIC,SAAQ,GAAGC,OAAA,EACvD,EAAS,GACP,CAAAl+D,EACD,OAAAg+D,CACD,CACA,IAAIG,EAAKn+D,EAAAo+D,YAAA,iCACPD,EAAI,CACJ,IAAIF,EAASj+D,EAAGg6D,YAAa,CAAAmE,EAAIE,uBAAqB,EAClDH,EAAAl+D,EAAUg6D,YAAA,CAAAmE,EAAAG,qBAAA,EACZL,GACDD,CAAAA,EAAAC,QAAA,CAAAA,EAAAltD,WAAA,IAECmtD,GACDF,CAAAA,EAAAE,MAAA,CAAAA,EAAAntD,WAAA,GAEH,QACA,KAAAitD,OAAO,CAAAA,EACTA,CACF,CACF,CAEA,IAwDY,UAEV,CAEA,aAEA,IAAAx3C,EAAO,aAK2B,SAAA9iB,GAAA,EAHlC/hB,GAAA+hB,qBAAA,CAAAA,EAKuFA,EACrFlL,SAAmB,EACnBy+D,kBAASzwC,EACT7sB,QAAA6sB,EAEA42C,iBAAA52C,EAWA9mB,UAAA,GAUwFlY,aAC5E,SAAAP,CAAa,CAAAs3E,CAAW,CAAAtG,CAAA,CAAAC,CAAA,CAAA/3D,CAAA,EAClC,IAAIC,EAAAD,EAAUE,UAAkB,OAChCD,EAAII,SAAA,CAAA+9D,EAAgB,EAAY,EAACtG,EAAMC,GACvC,IAAIjoD,EAAA7P,EAAA8P,YAAwB,KAAA+nD,EAAmBC,GAC3CsG,EAAgBp+D,EAAA8P,YAAA,KAAA+nD,EAAAC,GAClBj4D,EAAa,CACbg4D,YAAAA,EACAC,aAAWA,EACXjoD,UAAAA,EACAwuD,WAAAF,EACAC,kBAAUA,EACVhwD,SAAKrO,EACLC,IAAAA,EACF42D,cAAA,MAQF,OAPmC/vE,EAAEuiB,OAAO,UAAQlf,CAAA,EAAgBA,EAAAyyE,OAAA,CAAA98D,EAClE,GACEA,CAAAA,EAAagQ,SAAQ,CAAAjwB,KAAA,GAAAi4E,GAAwBh4D,EAAKgQ,SAAA,CAAApwB,MAAA,GAAAq4E,CAAA,IAClD/3D,EAAangB,KAAA,CAAMigB,EAAGgQ,SAAc,CAASjwB,KAAC,CAC/CmgB,EAAAtgB,MAAA,CAAAogB,EAAAgQ,SAAA,CAAApwB,MAAA,EAEDugB,EAAAqB,YAAO,CAAAxB,EAAAgQ,SAAA,MACThQ,CAEF,CACF,CACA,IAOAte,GAAOK,KAAM,CAAAL,GAAUK,KAAO,EAAK,CAAC,EAEpCL,GAAAK,KAAA,CAAAiF,OAAA,CAAAtF,GAAAK,KAAA,CAAAiF,OAAA,KAOEtF,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA/8E,GAAAqc,IAAA,CAAAG,WAAA,EAOAvhB,KAAA,aAYA+hF,aAAgB,qJAOhBC,eAAA,iJAI8Bx+C,WACxB,SAAS/kC,CAAA,EACXA,GACD,KAAA4qD,UAAA,CAAA5qD,EAGH,EAI8B4qD,WACnB,SAAQ5qD,CAAS,MACxB,IAAIspB,KAAMtpB,EACZ,KAAAspB,EAAA,CAAAtpB,CAAA,CAAAspB,EAAA,EAUwDk6D,cACxD,SAAiB7+D,CAAA,CAAA4+D,CAAuB,CAAAD,CAAc,EACtDC,EAAeA,GAAoB,IAAC,CAAAA,cAAY,CAChDD,EAAWA,GAAmB,KAAAA,YAAQ,CACnB,UAAjBh9E,GAAAi5E,cAAiB,EAIlBgE,CAAAA,EAAAA,EAAArzE,OAAA,uCAAA5J,GAAAi5E,cAAA,YAED,IAAGkE,EAAa9+D,EAAAs6D,YAAc,CAAAt6D,EAAA++D,aAAA,EAE+B,GAD7D/+D,EAAGw6D,YAAA,CAAasE,EAACH,GACjB3+D,EAAAy6D,aAAQ,CAAAqE,GACN,CAAA9+D,EAAA06D,kBACE,CAAAoE,EAAA9+D,EAAA26D,cAAA,EACA,YAGH,wCAAA/9E,IAAA,MAAAojB,EAAAg/D,gBAAA,CAAAF,GAAA,CAGD,IAAGzE,EAAar6D,EAAAs6D,YAAgB,CAAAt6D,EAAAu6D,eAAA,EAE+B,GAD/Dv6D,EAAGw6D,YAAA,CAAaH,EAACuE,GACjB5+D,EAAAy6D,aAAQ,CAAAJ,GACN,CAAAr6D,EAAA06D,kBACE,CAAAL,EAAAr6D,EAAA26D,cAAA,EACA,YAGH,0CAAA/9E,IAAA,MAAAojB,EAAAg/D,gBAAA,CAAA3E,GAAA,CAGD,IAAG4E,EAAAj/D,EAAa6+D,aAAS,GAG6B,GAFtD7+D,EAAGk/D,YAAY,CAACD,EAASH,GACzB9+D,EAAGk/D,YAAY,CAAAD,EAAA5E,GACfr6D,EAAAm/D,WAAQ,CAAAF,GACN,CAAAj/D,EAAAo/D,mBACE,CAAAH,EAAAj/D,EAAAq/D,WAAA,EACA,YAGH,wCAAAr/D,EAAAs/D,iBAAA,CAAAL,GAAA,CAGD,IAAIM,EAAmB,IAAK,CAAAC,qBAAoB,CAAIx/D,EAAAi/D,GACpDQ,EAAuB,IAAG,CAAAC,mBAAqB,CAAC1/D,EAAAi/D,IAAS,GAElD,OADPQ,EAAiBE,MAAM,CAAG3/D,EAAG4/D,kBAAkB,CAACX,EAAS,UACzDQ,EAAOI,MAAA,CAAA7/D,EAAA4/D,kBAAA,CAAAX,EAAA,UACL,CACAA,QAAAA,EACAM,mBAAkBA,EACpBE,iBAAAA,CACF,CAEA,EAO6CD,sBACpC,SAAAx/D,CAAA,CAAAi/D,CAAA,QACL,CACFnE,UAAA96D,EAAA8/D,iBAAA,CAAAb,EAAA,YACF,CAEA,EASkDS,oBAChD,WAEF,QAEA,EAMmEK,kBAC7D,SAAoB//D,CAAA,CAAAu/D,CAAmB,CAAAS,CAAS,EACpD,IAAIC,EAAYV,EAAYzE,SAAA,CACzBoF,EAAUlgE,EAACmgE,YAAG,GACjBngE,EAAGogE,UAAA,CAAApgE,EAAAqgE,YAAwB,CAAAH,GAC3BlgE,EAAGsgE,uBAAoB,CAAAL,GACvBjgE,EAAGugE,mBAAc,CAAAN,EAAc,EAAAjgE,EAAewgE,KAAG,IAAW,KAC9DxgE,EAAAygE,UAAA,CAAAzgE,EAAAqgE,YAAA,CAAAL,EAAAhgE,EAAA0gE,WAAA,CAEA,EAAqCC,kBAC1B,SAAetlF,CAAE,CAAO,CACjC,IAAwB2E,EAAAH,EAApBmgB,EAAA3kB,EAAQvE,OAAY,CACtBuE,EAAQkhF,MAAA,CAAQ,GAChBv8E,EAAA3E,EAASslB,gBAAQ,CACjB9gB,EAAIxE,EAAQwlB,iBAAgB,CAC1BxlB,CAAAA,EAAG48E,WAAc,GAAAj4E,GAAQ3E,EAAa68E,YAAA,GAAAr4E,CAAA,IACtCmgB,EAAAk9D,aAAQ,CAAA7hF,EAAgBghF,aAAQ,EACjChhF,EAAAghF,aAAA,CAAAhhF,EAAA27E,aAAA,CAAAlkE,aAAA,CAAAkN,EAAAhgB,EAAAH,IAGHmgB,EACK4gE,oBAAA,CAAA5gE,EAAA88D,WAAA,CAAA98D,EAAA6gE,iBAAA,CAAA7gE,EAAAi9D,UAAA,CAAA5hF,EAAAghF,aAAA,MAGHr8D,EAAG68D,eAAM,CAAA78D,EAAA88D,WAAA,OACV98D,EAAAwoB,MAAA,GAGH,EAAiCs4C,cACvB,SAAMzlF,CAAA,EACdA,EAAQkhF,MAAI,GACZlhF,EAAIqhF,IAAO,GACX,IAAAtsD,EAAQ/0B,EAAAghF,aAAwB,CAChChhF,EAAQghF,aAAa,CAAGhhF,EAAA+gF,aAAA,CAC1B/gF,EAAA+gF,aAAA,CAAAhsD,CAEA,EAOwC+nD,eACvB,UAAC,CAEhB,IAAI4I,EAAM,KAAAC,aAAA,CAAAC,EAAAt/E,GAAAK,KAAA,CAAAiF,OAAA,MAAArK,IAAA,EAAA4b,SAAA,KACRuoE,EAcD,QACH,CAfqC,IAC/BrhF,MAAKC,OAAQ,CAAAshF,CAAO,CAAAF,EAAM,EAS3B,OAAAE,CAAA,CAAAF,EAAA,QAAAA,EAAA,CATyC,IACtC,IAAIz6E,EAAI26E,CAAM,CAACF,EAAE,CAAAtlF,MAAK,CAAO6K,KAAU,GACrC,KAAAy6E,EAAO,CAAAz6E,EAAK,GAAA26E,CAAA,CAAAF,EAAA,CAAAz6E,EAAA,CACb,QACH,CAEF,MACK,EAST,EAa2By2E,QACrB,SAAQ1hF,CAAO,EACjBA,EAAKmhF,KAAA,EACL,IAAI,CAACmE,iBAAa,CAAAtlF,GAClB,IAAI,CAAC6lF,YAAA,CAAa7lF,GACpB,IACK,CAAAylF,aAAA,CAAAzlF,IAEJ,KAAA8lF,SAAA,CAAA9lF,EAGH,EAMkC+lF,eACnB,SAAA/lF,CAAa,EAI5B,OAHIA,EAAQohF,YAAa,CAAAn+C,cAAa,KAAK,CAAA1hC,IAAA,GACxCvB,CAAAA,EAAAohF,YAAA,MAAA7/E,IAAA,OAAAiiF,aAAA,CAAAxjF,EAAAvE,OAAA,GAEHuE,EAAAohF,YAAA,MAAA7/E,IAAA,GAcgCskF,aACrB,SAAQ7lF,CAAO,EACxB,IAAI2kB,EAAA3kB,EAAavE,OAAC,CACduqF,EAAQ,IAAI,CAAAD,cAAU,CAAA/lF,EACxBA,CAAe,IAAfA,EAAGqhF,IAAA,EAAerhF,EAAYihF,eAAQ,CACxCt8D,EACKg9D,WAAA,CAAAh9D,EAAAi9D,UAAA,CAAA5hF,EAAAihF,eAAA,EAEJt8D,EAAAg9D,WAAA,CAAAh9D,EAAAi9D,UAAA,CAAA5hF,EAAA+gF,aAAA,EAEDp8D,EAAAshE,UAAK,CAAAD,EAAApC,OAAsB,EAE3B,IAAG,CAAAc,iBAAiB,CAAA//D,EAAAqhE,EAAA9B,kBAA6B,CAAAlkF,EAAQy/E,SAAW,EACpE96D,EAAGuhE,SAAS,CAACF,EAAO5B,gBAAgB,CAACE,MAAM,CAAE,EAAItkF,EAAQ48E,WAAA,EAEzDj4D,EAAAuhE,SAAK,CAAAF,EAAe5B,gBAAY,CAAAI,MAAA,GAAgBxkF,EAAA68E,YAAA,EAChD,IAAG,CAAAsJ,eAAe,CAAAxhE,EAAAqhE,EAAQ5B,gBAAkB,EAC5Cz/D,EAAGyhE,QAAA,GAAW,EAAGpmF,EAAAslB,gBAAmB,CAAAtlB,EAAAwlB,iBAAA,EACtCb,EAAA0hE,UAAA,CAAA1hE,EAAA2hE,cAAA,KAEA,EAA0DC,sBACvC,SAAA5hE,CAAA,CAAAnN,CAAA,CAAAgvE,CAAA,EACjB7hE,EAAG8hE,aAAY,CAAAD,GACf7hE,EAAAg9D,WAAA,CAAAh9D,EAAAi9D,UAAA,CAAApqE,GAEFmN,EAAA8hE,aAAA,CAAA9hE,EAAA+hE,QAAA,CAEA,EAAmDC,wBAChC,SAAAhiE,CAAA,CAAA6hE,CAAA,EACjB7hE,EAAG8hE,aAAY,CAAAD,GACf7hE,EAAGg9D,WAAA,CAAAh9D,EAAci9D,UAAW,OAC9Bj9D,EAAA8hE,aAAA,CAAA9hE,EAAA+hE,QAAA,CAEA,EAA6BE,iBACf,UAAK,CACnB,iBAAAjB,aAAA,GAEkCkB,iBACtB,SAAalmF,CAAI,EAC7B,UAAAglF,aAAA,EAAAhlF,CAEA,EASEwlF,gBAAA,WAGF,EAImCW,gBACpB,SAAW9mF,CAAA,KACtB,CAAAA,EAAI+mF,SAAY,EAChB,IAAAA,EAAerjE,SAAGsN,aAAmB,UACrC+1D,CAAAA,EAAUpiF,KAAA,CAAM3E,EAAG48E,WAAQ,CAC3BmK,EAAQviF,MAAA,CAASxE,EAAG68E,YAAA,CACrB78E,EAAA+mF,SAAA,CAAAA,CACH,GAMqBl3B,SACf,UAAS,KAAEtvD,EAAM,CAAagB,KAAA,IAAQ,CAAIA,IAAC,EAC/CylF,EAAW,KAAArB,aAAA,CAIb,OAHIqB,GACDzmF,CAAAA,CAAA,CAAAymF,EAAA,MAAAA,EAAA,EAEHzmF,CAEA,EAImB8d,OACjB,WAEF,YAAAwxC,QAAA,EACF,CAEA,GAAwEvpD,GACtEK,KAAI,CAAAiF,OAAS,CAAIy3E,UAAO,CAAA1xD,UAAc,UAAYpxB,CAAC,CAAAwpB,CAAA,EACnD,IAAA9a,EAAY,IAAA3I,GAASK,KAAA,CAAAiF,OAAA,CAAArL,EAAAgB,IAAA,EAAAhB,GAEvB,OADEwpB,GAAOA,EAAA9a,GACTA,CACC,EAQCrD,EAAAtF,CAAAA,EAAAgU,CANAA,EA6JQgH,GAvJRhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,EAAAxc,EAAAqc,IAAA,CAAAG,WAAA,CAqB+GlX,EAE7Gq7E,WAAA,CAAAnkE,EAAAlX,EAAAy3E,UAAA,EAOA9hF,KAAA,cAYAgiF,eAAA,0QAQQlvD,OACN,CAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACb,EAED,CAEAsxD,cAAA,SAQAuB,WAAA,GAI8BniD,WACvB,SAAU/kC,CAAA,EACf,KAAA0kC,SAAA,cAAA1kC,GAEF,KAAAq0B,MAAA,MAAAA,MAAA,CAAAvpB,KAAA,GAEA,EAM6Bg7E,UACvB,SAAY9lF,CAAA,CAAQ,CAMxB,IAA8BrF,EAAA43C,EAAAniC,EAAAD,EAAAlF,EAAA8E,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAmqE,EAAAnqE,EAAA3P,MAAA,CAAA44B,EAAA,KAAA3E,MAAA,CAAA6yD,EAAA,KAAAA,UAAA,KAC5Bj8E,EAAI,EAAAA,EAAOivE,EAAAjvE,GAAA,EACXtQ,EAAIoV,CAAI,CAAC9E,EAAA,CACTsnC,EAAIxiC,CAAI,CAAC9E,EAAI,EAAE,CACfmF,EAAIL,CAAA,CAAA9E,EAAA,GACFi8E,GACAn3E,CAAI,CAAC9E,EAAA,CAAItQ,EAAKq+B,CAAA,GAAI,CAAEuZ,EAAKvZ,CAAA,GAAI,CAAE5oB,EAAK4oB,CAAA,GAAI,CAAEA,IAAAA,CAAE,GAAG,CAC/CjpB,CAAI,CAAC9E,EAAI,EAAE,CAAGtQ,EAAIq+B,CAAC,CAAC,GAAGuZ,EAAGvZ,CAAI,CAAC,EAAC,CAAG5oB,EAAG4oB,CAAA,CAAI,EAAE,CAAGA,IAAAA,CAAA,GAAI,CACrDjpB,CACK,CAAA9E,EAAA,GAAAtQ,EAAAq+B,CAAA,KAAAuZ,EAAAvZ,CAAA,KAAA5oB,EAAA4oB,CAAA,KAAAA,IAAAA,CAAA,OAEH7oB,EAAIJ,CAAG,CAAA9E,EAAG,EAAK,CACf8E,CAAI,CAAC9E,EAAA,CAAItQ,EAAKq+B,CAAA,GAAI,CAAEuZ,EAAKvZ,CAAA,GAAI,CAAE5oB,EAAK4oB,CAAA,GAAI,CAAE7oB,EAAK6oB,CAAA,GAAI,CAAEA,IAAAA,CAAE,GAAG,CAC1DjpB,CAAI,CAAC9E,EAAI,EAAE,CAAGtQ,EAAIq+B,CAAC,CAAC,GAAGuZ,EAAGvZ,CAAI,CAAC,EAAC,CAAG5oB,EAAG4oB,CAAA,CAAI,EAAE,CAAG7oB,EAAG6oB,CAAA,GAAK,CAACA,IAAAA,CAAG,GAAG,CAC9DjpB,CAAI,CAAC9E,EAAI,EAAE,CAAGtQ,EAAIq+B,CAAC,CAAC,GAAG,CAAGuZ,EAAIvZ,CAAC,CAAC,GAAG,CAAG5oB,EAAI4oB,CAAC,CAAC,GAAG,CAAG7oB,EAAI6oB,CAAC,CAAC,GAAG,CAAGA,IAAAA,CAAC,CAAC,GAAG,CACpEjpB,CAAA,CAAA9E,EAAA,GAAAtQ,EAAAq+B,CAAA,KAAAuZ,EAAAvZ,CAAA,KAAA5oB,EAAA4oB,CAAA,KAAA7oB,EAAA6oB,CAAA,KAAAA,IAAAA,CAAA,KAIL,EAM2CqrD,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACAuD,aAAYxiE,EAAG4/D,kBAAmB,CAAAX,EAAS,gBAC7CwD,WAAAziE,EAAA4/D,kBAAA,CAAAX,EAAA,aACF,CAEA,EAMgDuC,gBACjC,SACTxhE,CAAA,CAAAy/D,CAAS,MACPprD,EAAI,KAAA3E,MAAA,CAAAA,EAAA,CAAE2E,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,EAAE,CACtBA,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,EAAE,CACtBA,CAAC,CAAC,GAAKA,CAAC,CAAC,GAAG,CAAEA,CAAC,CAAC,GAAG,CAAEA,CAAC,CAAC,GAAG,CAC1BA,CAAC,CAAC,GAAG,CAAEA,CAAC,CAAC,GAAG,CAAEA,CAAC,CAAC,GAAG,CAAEA,CAAC,CAAC,GAAG,CAE5BA,CAAA,KAAY,CAAAquD,EAAK,CAAEruD,CAAC,CAAC,EAAE,CAAEA,CAAC,CAAC,GAAKA,CAAC,CAAC,GAAG,CAACA,CAAA,KAC1C,CACArU,EAAG2iE,gBAAW,CAAAlD,EAAiB+C,YAAY,IAAA9yD,GAC7C1P,EAAA4iE,UAAA,CAAAnD,EAAAgD,UAAA,CAAAC,EACF,CAEA,GAQC/gF,EAAiCK,KAAA,CAAAiF,OAAc,CAAAq7E,WAAA,CAAAt1D,UAAA,CAAArrB,EAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,EAAAtF,CAAAA,EAAAgU,CANAA,EA+GQgH,GAzGRhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,EAAAxc,EAAAqc,IAAA,CAAAG,WAAA,CAc6GlX,EAE3GM,UAAA,CAAA4W,EAAAlX,EAAAy3E,UAAA,EAOA9hF,KAAA,aAaAgiF,eAAA,6NASAplF,WAAA,EAOAwnF,cAAA,aAM6BG,UACvB,SAAK9lF,CAAU,CAAK,CAAG,GACzB,SAAA7B,UAAA,EAKF,IAA6B8M,EAAA8E,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,CAAAjC,EAAA4F,KAAAC,KAAA,UAAA7F,UAAA,MAC3B8M,EAAI,EAAGA,EAAGme,EAAKne,GAAK,EACpB8E,CAAI,CAAC9E,EAAA,CAAI8E,CAAK,CAAA9E,EAAA,CAAK9M,EACnB4R,CAAI,CAAC9E,EAAI,EAAE,CAAG8E,CAAI,CAAC9E,EAAI,EAAE,CAAG9M,EAC9B4R,CAAA,CAAA9E,EAAA,GAAA8E,CAAA,CAAA9E,EAAA,GAAA9M,EAPA,EAgByCkmF,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACF4D,YAAA7iE,EAAA4/D,kBAAA,CAAAX,EAAA,cACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA4B,CAAE,CAC7Cz/D,EAAAuhE,SAAA,CAAA9B,EAAAoD,WAAA,MAAArpF,UAAA,CACF,CAEA,GASCmI,EAAiCK,KAAA,CAAAiF,OAAc,CAAAM,UAAA,CAAAylB,UAAA,CAAArrB,EAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAUhDpQ,GAAAjb,CAAAA,GAAAgU,CAPAA,EA8VQgH,GAvVRhb,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,MAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA3V,GAAAtF,GAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CA6C2GlX,GAEzG67E,SAAA,CAAA3kE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,YAKAmmF,OAAA,GAGQrzD,OAAC,CAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EAEnC,CAGgBkvD,eACd,CAgBAoE,cAAe,qcAkBfC,cAAe,2hBAgBfC,cAAe,0cAkBfC,cAAe,4hBAgBfC,cAAe,0cAkBfC,cAAe,4hBAgBfC,cAAe,0cAkBjBC,cAAA,2hBAEA,EAekCnC,eACrB,SAAS/lF,CAAM,EAC1B,IAAIiG,EAAAlC,KAAW6d,IAAK,KAAI,CAAAyS,MAAG,CAAMj0B,MAAA,EAC7B46E,EAAA,IAAe,CAAAz5E,IAAK,KAAA0E,EAAe,SAAS,CAAAyhF,MAAA,MAC5CvI,EAAS,KAAAoE,cAAa,CAAAvI,EAAe,CAI3C,OAHIh7E,EAAQohF,YAAa,CAAAn+C,cAAY,CAAI+3C,IACtCh7E,CAAAA,EAAAohF,YAAA,CAAApG,EAAA,MAAAwI,aAAA,CAAAxjF,EAAAvE,OAAA,CAAA0jF,EAAA,EAEHn/E,EAAAohF,YAAA,CAAApG,EAAA,EAQ6B8K,UACvB,SAAY9lF,CAAA,CAAQ,CAUpB,IAKqBrF,EAAA43C,EAAAniC,EAAAD,EAAAg4E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAl8D,EAAAC,EAAA6S,EAAAC,EALrBxK,EAAgB50B,EAAM40B,SACtB,CAAG7kB,EAAM6kB,EACT7kB,IAAA,CAAKy4E,EAAK,IAAQ,CAAAn0D,MACf,CAAGo0D,EAAI1kF,KAAAC,KAAA,CAAAD,KAAA6d,IAAA,CAAA4mE,EAAApoF,MAAA,GAAAsoF,EAAA3kF,KAAAgf,KAAA,CAAA0lE,EAAA,GAAAE,EAAA/zD,EAAAjwB,KAAA,CAAAikF,EAAAh0D,EAAApwB,MAAA,CAAAqkF,EAAA7oF,EAAA+kB,GAAA,CAAA+jE,eAAA,CAAAH,EAAAC,GAAAG,EAAAF,EAAA94E,IAAA,CAEdi5E,EAAY,IAAI,CAAAtB,MAAI,CAAK,QACvBp7D,EAAK,EAAAA,EAAOs8D,EAAIt8D,IAAS,IACvBD,EAAA,EAAAA,EAAUs8D,EAAIt8D,IAAK,CAKW,IAC5B+S,EAAK,EALP+oD,EAAA,CAAA77D,EAAAq8D,EAAAt8D,CAAAA,EAAA,EAEO1xB,EAAI,EAAG43C,EAAI,EAAGniC,EAAI,EAEzBD,EAAK,EACEivB,EAAQqpD,EAAKrpD,IAAY,IAC5BD,EAAA,EAAMA,EAAIspD,EAAKtpD,IACfkpD,EAAM/7D,EAAI8S,EAAKspD,EAEfN,EAAA/7D,EAAA8S,EAAAupD,EAEEL,EAAA,GAASA,GAAAO,GAAAR,EAAA,GAAAA,GAAAO,IAIXL,EAAK,CAAAD,EAAQM,EAAKP,CAAA,EAAU,EAE5BG,EAAKC,CAAK,CAAAppD,EAAOqpD,EAAGtpD,EAAA,CACpBxkC,GAAKoV,CAAI,CAACu4E,EAAA,CAASC,EACnBh2C,GAAKxiC,CAAI,CAACu4E,EAAS,EAAE,CAAGC,EACxBn4E,GAAAL,CAAA,CAAAu4E,EAAA,GAAAC,EAEES,GACD74E,CAAAA,GAAAJ,CAAA,CAAAu4E,EAAA,GAAAC,CAAA,EAILQ,CAAAA,CAAG,CAACZ,EAAA,CAASxtF,EACbouF,CAAG,CAACZ,EAAS,EAAE,CAAG51C,EAClBw2C,CAAA,CAAIZ,EAAC,EAAU,CAAA/3E,EACb44E,EAIDD,CAAA,CAAAZ,EAAA,GAAAp4E,CAAA,CAAAo4E,EAAA,GAHDY,CACK,CAAAZ,EAAA,GAAAh4E,CAIT,CAEFnQ,EAAA40B,SAAA,CAAAi0D,CAEA,EAM2CxE,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACAqF,QAAStkE,EAAG4/D,kBAAkB,CAACX,EAAS,WACxCsF,QAAAvkE,EAAW4/D,kBAAG,CAAAX,EAAmB,WACjCuF,UAAUxkE,EAAA4/D,kBAAmB,CAAAX,EAAS,aACxCwF,MAAAzkE,EAAA4/D,kBAAA,CAAAX,EAAA,QACF,CAEA,EAMgDuC,gBACjC,SAACxhE,CAAA,CAAAy/D,CAA0B,CAAI,CAC9Cz/D,EAAA0kE,UAAA,CAAAjF,EAAA6E,OAAA,MAAA50D,MAAA,CAEA,EAIqBw7B,SACnB,UAAc,CAA4B,OACxCtuC,GAAQ,IAAK,CAAAmjB,SAAM,cACnBgjD,OAAQ,IAAI,CAACA,MAAM,CACrBrzD,OAAA,KAAAA,MAAA,EAEJ,CAEA,GASC/tB,GAAiCK,KAAA,CAAAiF,OAAc,CAAA67E,SAAA,CAAA91D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAwJQgH,GAlJRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAW2GlX,GAEzG2B,SAAA,CAAAuV,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,YAAgBgiF,eACL,CAQTpwC,QAAA,+PASAm2C,UAAA,+SASFC,WAAA,qRAGA,EAOAC,KAAA,UAEA7D,cAAA,OAM6BG,UACvB,SAAY9lF,CAAA,CAAQ,CAIxB,IAA6BiL,EAAAtK,EAAAoP,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,CAAAopF,EAAA,KAAAA,IAAA,KAC3Bv+E,EAAI,EAAAA,EAAAme,EAASne,GAAA,EACXu+E,YAAAA,EACF7oF,EACS,CAAAoP,CAAA,CAAA9E,EAAS,CAAA8E,CAAA,CAAA9E,EAAA,EAAa,CAAA8E,CAAA,CAAA9E,EAAA,MAC7Bu+E,cAAAA,EAEF7oF,EACS,CAAAoD,KAAAG,GAAS,CAAA6L,CAAA,CAAA9E,EAAA,CAAA8E,CAAc,CAAA9E,EAAA,GAAA8E,CAAA,CAAA9E,EAAA,IAAAlH,KAAAI,GAAA,CAAA4L,CAAA,CAAA9E,EAAA,CAAA8E,CAAA,CAAA9E,EAAA,GAAA8E,CAAA,CAAA9E,EAAA,OACf,eAAfu+E,GACD7oF,CAAAA,EAAA,IAAAoP,CAAA,CAAA9E,EAAA,KAAA8E,CAAA,CAAA9E,EAAA,OAAA8E,CAAA,CAAA9E,EAAA,IAED8E,CAAI,CAAC9E,EAAA,CAAItK,EACToP,CAAI,CAAC9E,EAAI,EAAE,CAAGtK,EAChBoP,CAAA,CAAA9E,EAAA,GAAAtK,CAGF,EAMkColF,eAC5B,SAAgB/lF,CAAO,EAC3B,IAAIg7E,EAAS,KAAAz5E,IAAA,CAAa,SAAAioF,IAAe,CAAW,GAClD,CAAAxpF,EAAIohF,YAAe,CAAAn+C,cAAK,CAAA+3C,GAAwB,CAChD,IAAAmE,EAAQ,IAAa,CAAAoE,cAAiB,MAAAiG,IAAA,EACvCxpF,EAAAohF,YAAA,CAAApG,EAAA,MAAAwI,aAAA,CAAAxjF,EAAAvE,OAAA,CAAA0jF,EACD,QACFn/E,EAAAohF,YAAA,CAAApG,EAAA,EAQ2CqJ,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACF6F,MAAA9kE,EAAA4/D,kBAAA,CAAAX,EAAA,QACF,CAEA,EAMgDuC,gBAC9C,SAAAxhE,CAAwB,CAAAy/D,CAAA,EAG1Bz/D,EAAA+kE,SAAA,CAAAtF,EAAAqF,KAAA,CADK,EAGL,EAK2B3M,eACb,WACd,QACF,CAEA,GASCx2E,GAAiCK,KAAA,CAAAiF,OAAc,CAAA2B,SAAA,CAAAokB,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GA6GQgH,GAvGRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAWqGlX,GAEnG+9E,MAAA,CAAA7mE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,SAaAgiF,eAAA,qSAOAqG,OAAA,GAEAjE,cAAA,SAM6BG,UACvB,SAAY9lF,CAAA,CAAQ,CAGxB,IAA6BiL,EAAA8E,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,KAC3B6K,EAAI,EAAGA,EAAGme,EAAMne,GAAK,EACrB8E,CAAI,CAAC9E,EAAA,CAAI,IAAK8E,CAAM,CAAA9E,EAAA,CACpB8E,CAAI,CAAC9E,EAAI,EAAE,CAAG,IAAM8E,CAAI,CAAC9E,EAAI,EAAE,CACjC8E,CAAA,CAAA9E,EAAA,OAAA8E,CAAA,CAAA9E,EAAA,IASyB6xE,eACZ,UAAM,CACrB,YAAA8M,MAAA,EAQ2CvF,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACFiG,QAAAllE,EAAA4/D,kBAAA,CAAAX,EAAA,UACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA0B,CAAK,CAC9Cz/D,EAAA+kE,SAAA,CAAAtF,EAAAyF,OAAA,MAAAD,MAAA,CACF,CAEA,GAUCtjF,GAAiCK,KAAA,CAAAiF,OAAc,CAAA+9E,MAAA,CAAAh4D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAUhDpQ,GAAAjb,CAAAA,GAAAgU,CAPAA,GAoIQgH,GA7HRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA3V,GAAAtF,GAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAemGlX,GAEjGk+E,KAAA,CAAAhnE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,QAkBAgiF,eAAA,ucAOAoC,cAAA,QAOAoE,MAAA,EAM6BjE,UACvB,SAAU9lF,CAAQ,KACpB,SAAA+pF,KAAA,EAMF,IAAgD9+E,EAAA++E,EAAbj6E,EAAK6kB,EAAjBA,SAAQ,CAAiB7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,CAAA2pF,EAAA,KAAAA,KAAA,KAE9C9+E,EAAA,EAAOme,EAACrZ,EAAM3P,MAAK,CAAM6K,EAACme,EAAKne,GAAA,EAE/B++E,EAAO,IAAIjmF,KAAA6nB,MAAA,IAAAm+D,EACXh6E,CAAI,CAAC9E,EAAA,EAAM++E,EACXj6E,CAAI,CAAC9E,EAAI,EAAE,EAAI++E,EACjBj6E,CAAA,CAAA9E,EAAA,IAAA++E,EAXA,EAoByC3F,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACAqG,OAAOtlE,EAAG4/D,kBAAmB,CAAAX,EAAS,UACxCsG,MAAAvlE,EAAA4/D,kBAAA,CAAAX,EAAA,QACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA6B,CAAC,CAC3Cz/D,EAAGuhE,SAAS,CAAC9B,EAAiB6F,MAAK,CAAE,IAAK,CAAAF,KAAM,MAClDplE,EAAAuhE,SAAA,CAAA9B,EAAA8F,KAAA,CAAAnmF,KAAA6nB,MAAA,GAEA,EAIqBikC,SACnB,UAAc,CAA4B,OACxCtuC,GAAO,IAAK,CAAAmjB,SAAK,cACnBqlD,MAAA,KAAAA,KAAA,EAEJ,CAEA,GASCzjF,GAAiCK,KAAA,CAAAiF,OAAc,CAAAk+E,KAAA,CAAAn4D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAuIQgH,GAjIRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAcyGlX,GAEvGu+E,QAAA,CAAArnE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,WAEA6oF,UAAA,EAEAzE,cAAA,YAqBApC,eAAA,6fAM6BuC,UACvB,SAAY9lF,CAAA,CAAQ,CAOxB,IAA2CoY,EAAAnN,EAAA2xB,EAAAjiC,EAAA43C,EAAAniC,EAAAD,EAAAk6E,EAAAC,EAAAC,EAAAC,EAAtC51D,EAAW50B,EAAM40B,SAAU,CAAA7kB,EAAW6kB,EAAA7kB,IAAA,CAAAmqE,EAAAtlD,EAAApwB,MAAA,CAAA21E,EAAAvlD,EAAAjwB,KAAA,KACzCsG,EAAK,EAAAA,EAAOivE,EAAIjvE,GAAM,IAAK,CAAAm/E,SAAK,CAAW,IAEzCxtD,EAAA,EAAAA,EAAQu9C,EAAUv9C,GAAA,IAAQ,CAAIwtD,SAAA,CASC,IAN/BzvF,EAAIoV,CAAI,CADRqI,EAAQnN,EAAAA,EAAOkvE,EAAAv9C,EAAAA,EACN,CACT2V,EAAIxiC,CAAI,CAACqI,EAAQ,EAAE,CACnBhI,EAAIL,CAAI,CAACqI,EAAQ,EAAE,CAEnBjI,EAAAJ,CAAQ,CAAAqI,EAAS,GACjBmyE,EAAQxmF,KAAKG,GAAG,CAAC+G,EAAI,IAAI,CAACm/E,SAAS,CAAElQ,GACrCsQ,EAAKzmF,KAAQG,GAAA,CAAK04B,EAAA,IAAO,CAAAwtD,SAAM,CAAAjQ,GAC7BkQ,EAAKp/E,EAAAo/E,EAAQE,EAAKF,IAAa,IAC7BC,EAAA1tD,EAAQ0tD,EAAME,EAAKF,IAEnBv6E,CAAI,CADJqI,EAAKiyE,EAAAA,EAASlQ,EAAAmQ,EAAAA,EACT,CAAQ3vF,EACboV,CAAI,CAACqI,EAAQ,EAAE,CAAGm6B,EAClBxiC,CAAI,CAACqI,EAAQ,EAAE,CAAGhI,EACpBL,CAAA,CAAAqI,EAAA,GAAAjI,CAMR,EAG2B2sE,eACb,UAAS,CACvB,gBAAAsN,SAAA,EAQ2C/F,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACA6G,WAAW9lE,EAAA4/D,kBAAmB,CAAAX,EAAS,cACvCU,OAAQ3/D,EAAG4/D,kBAAkB,CAACX,EAAS,UACzCY,OAAA7/D,EAAA4/D,kBAAA,CAAAX,EAAA,SACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA6B,EAC5Cz/D,EAAAuhE,SAAA,CAAA9B,EAAAqG,UAAA,MAAAL,SAAA,CACF,CAEA,GASC9jF,GAAiCK,KAAA,CAAAiF,OAAc,CAAAu+E,QAAA,CAAAx4D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAUhDpQ,GAAAjb,CAAAA,GAAAgU,CAPAA,GA2KQgH,GApKRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAA3V,GAAAtF,GAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAe+GlX,GAE7G8+E,WAAA,CAAA5nE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,cAOAoP,MAAA,UAeA4yE,eAAA,uTAMA1hD,SAAA,IAMA8oD,SAAA,GAY6B7E,UACvB,SAAY9lF,CAAA,CAAQ,CAKb,IACOiL,EAAAtQ,EAAA43C,EAAAniC,EAAAL,EAAA6kB,EAAAA,SAAA,CAAA7kB,IAAA,CAAA8xB,EAAA,SAAAA,QAAA,CAAA7W,EAAA,IAAA1kB,GAAAkoC,KAAA,MAAA79B,KAAA,EAAA89B,SAAA,GAAAm8C,EAAA,CACZ5/D,CAAM,CAAC,EAAE,CAAG6W,EACZ7W,CAAM,CAAC,EAAE,CAAG6W,EAEd7W,CAAA,CAAQ,GAAA6W,EAAA,CAAAgpD,EACC,CACP7/D,CAAM,CAAC,EAAE,CAAG6W,EACZ7W,CAAM,CAAC,EAAE,CAAG6W,EACb7W,CAAA,IAAA6W,EAGL,CAAqC,IACnC52B,EAAI,EAAAA,EAAO8E,EAAA3P,MAAA,CAAA6K,GAAA,EACXtQ,EAAIoV,CAAI,CAAC9E,EAAA,CACTsnC,EAAIxiC,CAAI,CAAC9E,EAAI,EAAE,CAEfmF,EAAIL,CAAI,CAAA9E,EAAK,EAAE,CAMbtQ,EAAIiwF,CAAC,CAAI,EAAE,EAAGr4C,EAAAq4C,CAAA,KAAAx6E,EAAAw6E,CAAA,KAAAjwF,EAAAkwF,CAAA,KAAAt4C,EAAAs4C,CAAA,KAAAz6E,EAAAy6E,CAAA,KACf96E,CAAAA,CAAA,CAAA9E,EAAA,KAIL,EAM2Co5E,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACAkH,KAAAnmE,EAAO4/D,kBAAG,CAAkBX,EAAC,QAC/BmH,MAAApmE,EAAA4/D,kBAAA,CAAAX,EAAA,QACF,CAEA,EAMgDuC,gBACjC,SAAIxhE,CAAO,CAAAy/D,CAAkB,EAE/B,IACLp5D,EAAI,IAAS1kB,GAAGkoC,KAAM,MAAA79B,KAAA,EAAA89B,SAAA,GAAA5M,EAAA/nB,WAAA,KAAA+nB,QAAA,EAAA+oD,EAAA,CACtB,EAAI5/D,CAAM,CAAC,EAAE,CAAG,IAAM6W,EACtB,EAAI7W,CAAM,CAAC,EAAE,CAAG,IAAM6W,EACtB,EAAA7W,CAAA,QAAA6W,EAEF,EAAQ,CAAAgpD,EACC,CACP7/D,CAAM,CAAC,EAAE,CAAG,IAAM6W,EAClB7W,CAAM,CAAC,EAAE,CAAG,IAAM6W,EAClB7W,CAAA,QAAA6W,EACD,EACL,CACAld,EAAG4iE,UAAU,CAACnD,EAAiB0G,IAAA,CAAKF,GACtCjmE,EAAA4iE,UAAA,CAAAnD,EAAA2G,KAAA,CAAAF,EAEA,EAIqBh7B,SACnB,UAAc,CAA4B,OACxCtuC,GAAO,IAAK,CAAAmjB,SAAK,cACjB/zB,MAAA,IAAU,CAAAA,KAAK,CACjBkxB,SAAA,KAAAA,QAAA,EAEJ,CAEA,GASCv7B,GAAiCK,KAAA,CAAAiF,OAAc,CAAA8+E,WAAA,CAAA/4D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAChC,SAEhBrX,CAAA,EAEA,aAIA,IAAIhU,EAAAgU,EAAWhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,KAAAsF,EAAAtF,EAAAK,KAAA,CAAAiF,OAAA,CAAAkX,EAAAxc,EAAAqc,IAAA,CAAAG,WAAA,CACbkoE,EAAS,CAAAC,QACP,CAAQ,MAAQ,OAAS,QAAE,EAC3B,KAAS,OAAQ,OAAQ,OAAE,EAC3B,OAAQ,OAAS,QAAQ,OAAE,EAC3B,QAAE,EAAE,EAAE,EAAE,EACT,EACD,CAASC,QACP,CAAQ,OAAQ,OAAS,QAAE,EAC3B,OAAQ,OAAQ,OAAQ,OAAE,EAC1B,OAAQ,MAAS,QAAQ,OAAE,EAC3B,OAAE,EAAE,EAAE,EAAE,EACT,EACD,CAAYC,WACV,CAAQ,QAAS,QAAS,QAAE,EAC5B,OAAS,QAAQ,QAAS,QAAE,EAC5B,OAAS,QAAS,QAAQ,QAAE,EAC5B,OAAE,EAAE,EAAE,EAAE,EACT,EACD,CAAaC,YACX,CAAQ,QAAS,QAAS,QAAE,EAC5B,OAAS,QAAQ,QAAS,QAAE,EAC5B,QAAS,OAAS,QAAQ,QAAE,EAC5B,OAAE,EAAE,EAAE,EAAE,EACT,EACD,CAAUC,SACR,CAAM,MAAO,MAAO,MAAE,EACtB,EAAO,MAAM,MAAO,MAAE,EACtB,EAAO,MAAO,MAAM,MAAE,EACtB,EAAE,EAAE,EAAE,EAAE,EACT,EACD,CAAOC,MACL,CAAO,KAAO,KAAO,KAAG,EACxB,EAAO,KAAO,KAAO,KAAG,EACxB,EAAO,KAAO,KAAO,KAAG,EACxB,EAAG,EAAG,EAAG,EAAG,EACb,EACD,CAAYC,WACV,CAAK,IAAK,IAAK,IAAG,EAClB,GAAK,IAAK,IAAK,IAAG,EAClB,GAAK,IAAK,IAAK,IAAG,EAClB,GAAG,EAAG,EAAG,EAAG,EACb,EACH,EAE0B,IACxB,IAAA5/E,KAAQq/E,EAA2Fp/E,CAEjG,CAAAD,EAAA,CAAAmX,EAAAlX,EAAAq7E,WAAA,EAKM1lF,KAENoK,EAOqB0oB,OAErB22D,CAAA,CAAAr/E,EAAA,CAGoBg6E,cACpB,GAKFuB,WAAA,EACA,GACF5gF,EAAAK,KAAA,CAAAiF,OAAA,CAAAD,EAAA,CAAAgmB,UAAA,CAAArrB,EAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,EAEQrQ,GAOR1V,GAAAtF,CAAAA,GAAAgU,EAAAhU,MAAA,EAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAqBwGlX,GAChG4/E,UAAA,CAAA1oE,GAAAlX,GAAAy3E,UAAA,EAEN9hF,KAAA,aAQAoP,MAAA,UAQA64E,KAAA,WAOAh8D,MAAA,EAGgB+1D,eACJ,CACVt2D,SAAQ,oCACRw+D,OAAK,4EACLp/E,IAAA,oCACAq/E,KAAA,2DACAj9D,SAAS,oCACTk9D,QAAQ,0DACRC,OAAA,0DACAC,UAAS,4EAeTx7B,QAAM,mbAERy7B,KAAA,0EAEA,EAO4BC,YACnB,SAAAvC,CAAA,EAWT,4NAAAjG,cAAA,CAAAiG,EAAA,OAEA,EAMkCzD,eAC5B,SAAgB/lF,CAAO,EAC3B,IAAyCm/E,EAArCnE,EAAS,KAAAz5E,IAAA,CAAa,SAAAioF,IAAe,CAK3C,OAJIxpF,EAAAohF,YAAoB,CAAAn+C,cAAgB,CAAC+3C,KACrCmE,EAAQ,KAAY4M,WAAU,KAAG,CAAIvC,IAAC,EACvCxpF,EAAAohF,YAAA,CAAApG,EAAA,MAAAwI,aAAA,CAAAxjF,EAAAvE,OAAA,CAAA0jF,IAEHn/E,EAAAohF,YAAA,CAAApG,EAAA,EAQ6B8K,UACvB,SAAY9lF,CAAA,CAAQ,CAMxB,IAA+CgoD,EAAAgkC,EAAAryD,EAAAh/B,EAAA43C,EAAAniC,EAAA4a,EAAhBjb,EAAO6kB,EAAlBA,SAAW,CAAgB7kB,IAAA,CAAAmqE,EAAAnqE,EAAA3P,MAAA,CAAA6rF,EAAA,OAAAz+D,KAAA,CAE/Cw6B,EAAKh9B,CADLA,EAAK,IAAO1kB,GAAKkoC,KAAK,KAAK,CAAA79B,KAAA,EAAA89B,SAAA,GAChB,CAAC,EAAE,CAAG,IAAI,CAACjhB,KAAK,CAC3Bw+D,EAAKhhE,CAAM,CAAC,EAAE,CAAG,IAAI,CAACwC,KAAK,CAE3BmM,EAAK3O,CAAI,CAAI,GAAG,IAAI,CAAAwC,KAAM,CAAQ,IAEhC,IAAIviB,EAAI,EAAGA,EAAAivE,EAAAjvE,GAAA,EAIM,OAHjBtQ,EAAIoV,CAAI,CAAC9E,EAAA,CACTsnC,EAAIxiC,CAAI,CAAC9E,EAAI,EAAE,CAEfmF,EAAAL,CAAQ,CAAA9E,EAAK,GACX,IAAK,CAAAu+E,IAAA,MACH,WACAz5E,CAAI,CAAC9E,EAAA,CAAItQ,EAAKqtD,EAAI,IAClBj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGsnC,EAAIy5C,EAAK,IACvBj8E,CAAA,CAAM9E,EAAA,GAAAmF,EAAAupB,EAAA,IACR,KAAK,KACH,SACA5pB,CAAI,CAAC9E,EAAA,CAAI,IAAK,KAAOtQ,CAAAA,EAAM,KAAMqtD,CAAA,EAAO,IACxCj4C,CAAI,CAAC9E,EAAI,EAAE,CAAG,IAAM,CAAC,IAAMsnC,CAAAA,EAAM,KAAMy5C,CAAA,EAAM,IAC7Cj8E,CAAA,CAAM9E,EAAA,YAAAmF,CAAAA,EAAA,KAAAupB,CAAA,MACR,KAAK,KACH,MACA5pB,CAAI,CAAC9E,EAAA,CAAItQ,EAAKqtD,EACdj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGsnC,EAAIy5C,EAClBj8E,CAAA,CAAM9E,EAAA,GAAAmF,EAAAupB,EACR,KAAK,KACA,WACH,aACA5pB,CAAI,CAAC9E,EAAA,CAAIlH,KAAKif,GAAA,CAAKroB,EAAIqtD,GACvBj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGlH,KAAKif,GAAG,CAACuvB,EAAIy5C,GAC3Bj8E,CAAA,CAAM9E,EAAA,GAAAlH,KAAAif,GAAA,CAAA5S,EAAAupB,GACR,KAAK,KACH,WACA5pB,CAAI,CAAC9E,EAAA,CAAItQ,EAAKqtD,EACdj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGsnC,EAAIy5C,EAClBj8E,CAAA,CAAM9E,EAAA,GAAAmF,EAAAupB,EACR,KAAK,KACH,SACA5pB,CAAI,CAAC9E,EAAA,CAAIlH,KAAKG,GAAA,CAAKvJ,EAAGqtD,GACtBj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGlH,KAAKG,GAAG,CAACquC,EAAGy5C,GAC1Bj8E,CAAA,CAAM9E,EAAA,GAAAlH,KAAAG,GAAA,CAAAkM,EAAAupB,GACR,KAAK,KACH,UACA5pB,CAAI,CAAC9E,EAAA,CAAIlH,KAAKI,GAAA,CAAKxJ,EAAGqtD,GACtBj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGlH,KAAKI,GAAG,CAACouC,EAAGy5C,GAC1Bj8E,CAAA,CAAM9E,EAAA,GAAAlH,KAAAI,GAAA,CAAAiM,EAAAupB,GACR,KAAK,KACH,UACA5pB,CAAI,CAAC9E,EAAA,CAAI+8C,EAAK,IAAK,EAAOrtD,EAAIqtD,EAAI,IAAK,IAAQ,EAAM,KAAKrtD,CAAAA,EAAM,KAAMqtD,CAAA,EAAO,IAC7Ej4C,CAAI,CAAC9E,EAAI,EAAE,CAAG+gF,EAAK,IAAO,EAAIz5C,EAAIy5C,EAAK,IAAQ,IAAM,EAAK,KAAMz5C,CAAAA,EAAM,KAAMy5C,CAAA,EAAM,GAAI,CACtFj8E,CAAA,CAAM9E,EAAA,GAAA0uB,EAAA,MAAAvpB,EAAAupB,EAAA,eAAAvpB,CAAAA,EAAA,KAAAupB,CAAA,MACR,KAAK,KACH,YACA5pB,CAAI,CAAC9E,EAAA,CAAI+8C,EAAKrtD,EAAK,EAAKqtD,EAAKrtD,EAAK,IAClCoV,CAAI,CAAC9E,EAAI,EAAE,CAAG+gF,EAAKz5C,EAAK,EAAKy5C,EAAKz5C,EAAK,IACvCxiC,CAAA,CAAM9E,EAAA,GAAA0uB,EAAAvpB,EAAA,EAAAupB,EAAAvpB,EAAA,IACR,KAAK,KACH,OACAL,CAAI,CAAC9E,EAAA,CAAI+8C,EAAKrtD,EAAKsxF,EACnBl8E,CAAI,CAAC9E,EAAI,EAAE,CAAG+gF,EAAKz5C,EAAI05C,EAC3Bl8E,CAAA,CAAA9E,EAAA,GAAA0uB,EAAAvpB,EAAA67E,CACF,CAGF,EAM2C5H,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACFsI,OAAAvnE,EAAA4/D,kBAAA,CAAAX,EAAA,SACF,CAEA,EAMgDuC,gBACjC,SAAIxhE,CAAO,CAAAy/D,CAAkB,EAC1C,IAAAp5D,EAAY,IAAK1kB,GAAKkoC,KAAG,KAAS,CAAA79B,KAAG,EAAA89B,SAAA,EACrCzjB,CAAAA,CAAM,CAAC,EAAE,CAAG,IAAI,CAACwC,KAAK,CAAGxC,CAAM,CAAC,EAAE,CAAG,IACrCA,CAAM,CAAC,EAAE,CAAG,IAAI,CAACwC,KAAK,CAAGxC,CAAM,CAAC,EAAE,CAAG,IACrCA,CAAM,CAAC,EAAE,CAAG,IAAI,CAACwC,KAAK,CAAAxC,CAAA,QACtBA,CAAG,QAAW,CAAAwC,KAAA,CAChB7I,EAAA4iE,UAAA,CAAAnD,EAAA8H,MAAA,CAAAlhE,EAEA,EAIqB6kC,SACnB,UAAO,OACL,CACAtuD,KAAA,IAAO,CAAIA,IAAC,CACZoP,MAAM,IAAK,CAAAA,KAAI,CACf64E,KAAA,IAAO,CAAIA,IAAC,CACdh8D,MAAA,KAAAA,KAAA,CAEJ,CAEA,GASClnB,GAAiCK,KAAA,CAAAiF,OAAc,CAAA4/E,UAAA,CAAA75D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAQhD/lB,GAAAtF,CAAAA,GAAAgU,EAAAhU,MAAA,EAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAqB6GlX,GACrGugF,UAAA,CAAArpE,GAAAlX,GAAAy3E,UAAA,EAEN9hF,KAAA,aAMAyL,MAAA,KAOAw8E,KAAA,WAMAh8D,MAAA,EAUA81D,aAAA,2QAGgBC,eACJ,CAYVt2D,SAAM,2TAYRm/D,KAAA,mTAEA,EAMkCrG,eAC5B,SAAgB/lF,CAAO,EAC3B,IAAIg7E,EAAA,IAAe,CAAAz5E,IAAK,UAAcioF,IAAC,CACnCrK,EAAS,KAAAoE,cAAa,KAAe,CAAAiG,IAAA,EAI3C,OAHIxpF,EAAQohF,YAAa,CAAAn+C,cAAY,CAAI+3C,IACtCh7E,CAAAA,EAAAohF,YAAA,CAAApG,EAAA,MAAAwI,aAAA,CAAAxjF,EAAAvE,OAAA,CAAA0jF,EAAA,EAEHn/E,EAAAohF,YAAA,CAAApG,EAAA,EAEgC6K,aAC9B,SAAA7lF,CAAyB,EAGzB,IAAI2kB,EAAC3kB,EAAAvE,OAAA,CAAqB+b,EAAK,IAAS,CAAAC,aAAW,CAAAzX,EAAA27E,aAAA,MAAA3uE,KAAA,EACnD,IAAI,CAACu5E,qBAAU,CAAA5hE,EAAgBnN,EAAAmN,EAAA0nE,QAAA,EAC/B,IAAI,CAAC3nD,SAAA,gBAAwB1kC,GAC/B,KAAA2mF,uBAAA,CAAAhiE,EAAAA,EAAA0nE,QAAA,CAEA,EAAwC50E,cAC/B,SAAQikE,CAAA,CAAA1uE,CAAiB,EAClC,OAAA0uE,EAAAoF,gBAAA,CAAA9zE,EAAAguE,QAAA,CAAAhuE,EAAAmuE,QAAA,CAEA,EAM4BmR,gBACd,UACR,CAEJ,IAAAt/E,EAAO,KAAAA,KAAA,CAAArI,EAAAqI,EAAAmuE,QAAA,CAAAx2E,KAAA,CAAAH,EAAAwI,EAAAmuE,QAAA,CAAA32E,MAAA,OACL,CAAkB,EAAAwI,EAAAI,MAAA,CAAG,EACrB,EAAG,EAAkB,EAAAJ,EAAAK,MAAA,CACrB,EAAqB,CAACL,EAAMe,IAAG,CAAGpJ,EAAQ,CAAAqI,EAAAc,GAAA,CAAAtJ,EAC3C,EACH,EAQ6BshF,UACvB,SAAY9lF,CAAA,CAAQ,CASxB,IAA2BgoD,EAAAgkC,EAAAryD,EAAAD,EAAA/+B,EAAA43C,EAAAniC,EAAAD,EAAAo8E,EAAA9wF,EAAA+wF,EAAvB53D,EAAW50B,EAAA40B,SAAY,CAAAvQ,EAAArkB,EAAA27E,aAAA,CAAAt3D,SAAA,CAAAtU,EAAA6kB,EAAA7kB,IAAA,CAAAmqE,EAAAnqE,EAAA3P,MAAA,CAAAuE,EAAAiwB,EAAAjwB,KAAA,CAAAH,EAAAowB,EAAApwB,MAAA,CAAAwI,EAAA,KAAAA,KAAA,CACzBqX,EAAUooE,UAAU,EACrBpoE,CAAAA,EAAAooE,UAAA,CAAAnmF,GAAAqc,IAAA,CAAAqQ,mBAAA,IAGDv3B,EAAI8wF,CADJA,EAAUloE,EAAQooE,UAAW,EACZznE,UAAK,OACpBunE,EAAQ5nF,KAAK,GAAGA,GAAA4nF,EAAA/nF,MAAA,GAAAA,GAChB+nF,EAAQ5nF,KAAA,CAAMA,EAChB4nF,EACK/nF,MAAA,CAAAA,GAEJ/I,EAAAwxD,SAAA,KAAAtoD,EAAAH,GAED/I,EAAQ0vE,YAAU,CAAAn+D,EAAMI,MAAQ,CAAE,EAAG,EAAGJ,EAAOK,MAAA,CAAAL,EAAAe,IAAA,CAAAf,EAAAc,GAAA,EAC/CrS,EAAA0pB,SAAY,CAAAnY,EAAQmuE,QAAY,CAAC,EAAG,EAAGx2E,EAAOH,GAC9CgoF,EAAa/wF,EAAOo5B,YAAc,KAAAlwB,EAAAH,GAAAuL,IAAA,KAEhC,IAAI9E,EAAI,EAAGA,EAAAivE,EAAAjvE,GAAA,EAUM,OATjBtQ,EAAIoV,CAAI,CAAC9E,EAAA,CACTsnC,EAAIxiC,CAAI,CAAC9E,EAAI,EAAE,CACfmF,EAAIL,CAAI,CAAC9E,EAAI,EAAE,CAEfkF,EAAAJ,CAAK,CAAA9E,EAAA,EAAU,CACf+8C,EAAKwkC,CAAS,CAACvhF,EAAA,CACf+gF,EAAKQ,CAAS,CAACvhF,EAAI,EAAE,CACrB0uB,EAAK6yD,CAAS,CAACvhF,EAAI,EAAE,CAErByuB,EAAA8yD,CAAa,CAAAvhF,EAAI,GACf,IAAK,CAAAu+E,IAAA,MACH,WACAz5E,CAAI,CAAC9E,EAAA,CAAItQ,EAAKqtD,EAAI,IAClBj4C,CAAI,CAAC9E,EAAI,EAAE,CAAGsnC,EAAIy5C,EAAK,IACvBj8E,CAAI,CAAC9E,EAAI,EAAE,CAAGmF,EAAIupB,EAAK,IACvB5pB,CAAA,CAAM9E,EAAA,GAAAkF,EAAAupB,EAAA,IACR,KAAK,KACH,OACA3pB,CAAA,CAAM9E,EAAA,GAAAyuB,CAEZ,CAGF,EAM2C2qD,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACA8I,iBAAW/nE,EAAA4/D,kBAA4B,CAAAX,EAAA,oBACzC+I,OAAAhoE,EAAA4/D,kBAAA,CAAAX,EAAA,SACF,CAEA,EAMgDuC,gBACjC,SAAKxhE,CAAA,CAAAy/D,CAAe,EACjC,IAAG/vD,EAAU,KAAAi4D,eAAiB,GAC9B3nE,EAAG+kE,SAAA,CAAAtF,EAAiBuI,MAAA,CAAiB,GACvChoE,EAAAioE,gBAAA,CAAAxI,EAAAsI,gBAAA,IAAAr4D,EAEA,EAIqBw7B,SACnB,UAAO,OACL,CACAtuD,KAAA,IAAO,CAAIA,IAAC,CACZyL,MAAM,IAAK,CAAAA,KAAI,OAAAA,KAAA,CAAA6iD,QAAA,GACf25B,KAAA,IAAO,CAAIA,IAAC,CACdh8D,MAAA,KAAAA,KAAA,CAEJ,CAEA,GAOwElnB,GACtEK,KAAO,CAAAiF,OAAM,CAAAugF,UAAW,CAAAx6D,UAAc,UAAcpxB,CAAE,CAAAwpB,CAAA,EAAAzjB,GACpDK,KAAI,CAAAgrB,UAAU,CAAApxB,EAAYyM,KAAM,CAAC,SAAMA,CAAA,EACvC,IAAAhN,EAAasG,GAAGqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,CAAAtN,EAChBP,CAAAA,EAAAgN,KAAa,CAAAA,EACf+c,EAAA,IAAAzjB,GAAAK,KAAA,CAAAiF,OAAA,CAAAugF,UAAA,CAAAnsF,GACF,EAEC,EAWDsG,GAAAgU,CARAA,GAweQgH,GAheRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,KAAAwb,GAAA/d,KAAA+d,GAAA,CAAAiB,GAAAhf,KAAAgf,KAAA,CAAAnB,GAAA7d,KAAA6d,IAAA,CAAAoB,GAAAjf,KAAAif,GAAA,CAAAhf,GAAAD,KAAAC,KAAA,CAAAif,GAAAlf,KAAAkf,GAAA,CAAAC,GAAAnf,KAAAmf,IAAA,CAAAtX,GAAAtF,GAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAWqGlX,GAEnGihF,MAAA,CAAA/pE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,SASAurF,WAAA,UAOA1/E,OAAA,EAOAC,OAAA,EAQA0/E,aAAA,EAM2C1I,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACAoJ,OAAOroE,EAAG4/D,kBAAmB,CAAAX,EAAS,UACxCqJ,MAAAtoE,EAAA4/D,kBAAA,CAAAX,EAAA,QACF,CAEA,EAMgDuC,gBACjC,SAACxhE,CAAA,CAAAy/D,CAAyB,CAAK,CAAaz/D,EAAAuoE,UAAU,CAAA9I,EAAK4I,MAAA,MAAAG,UAAA,EAAE,OAAAxoF,KAAA,CAAK,GAAC,CAAG,EAAgB,OAAAH,MAAA,CACnG,EACFmgB,EAAA0kE,UAAA,CAAAjF,EAAA6I,KAAA,MAAAG,IAAA,CAEA,EAMkCrH,eAC5B,SAAe/lF,CAAK,EACxB,IAAIqtF,EAAS,KAAAC,eAAa,GAAetS,EAAW,KAAAz5E,IAAA,KAAA8rF,EAAA,GAClD,CAAArtF,EAAIohF,YAAiB,CAAAn+C,cAAK,CAAA+3C,GAAe,CACzC,IAAAgE,EAAqB,KAAAuO,cAAiB,CAAAF,EACvCrtF,CAAAA,EAAAohF,YAAA,CAAApG,EAAA,MAAAwI,aAAA,CAAAxjF,EAAAvE,OAAA,CAAAujF,EACD,QACFh/E,EAAAohF,YAAA,CAAApG,EAAA,EAE4BsS,gBACd,UAAK,CACjB,IAAAngF,EAAY,IAAI,CAACqgF,SAAK,CACxB,OAAAzpF,KAAAmf,IAAA,MAAA6pE,YAAA,CAAA5/E,EAEA,EAAoBsgF,QACd,WAEoC,IACtC,IADGC,EAAW,IAAK,CAAAC,aAAc,CAAK,KAAAZ,YAAA,EAAA5/E,EAAA,KAAAqgF,SAAA,CAAAH,EAAA,KAAAC,eAAA,GAAAF,EAAA,MAAAC,GAClCpiF,EAAC,EAAMA,GAAGoiF,EAAapiF,IAC7BmiF,CAAA,CAAAniF,EAAA,GAAAyiF,EAAAziF,EAAAkC,GAEF,OAAAigF,CAEA,EAIuCG,eACjC,SAAcF,CAAM,EAGgB,IACtC,IADGO,EAAQ,MAAQP,GAAmBrO,EAAA,KAAA6O,iBAAA,CACtC5iF,EAAQ,EAAAA,GAAMoiF,EAAOpiF,IACvB2iF,CAAA,CAAA3iF,EAAA,GAAAA,EAAA,cAeF,OARE+zE,GAJkB,uBAAAqO,4FAIkBO,EAClCz/D,OAAA,UAAkBjuB,CAAA,CAAA+K,CAAA,EAGpB+zE,GAFoB,8CAAgD9+E,EAAS,aAAe+K,EAAI,OAC5E,+CAA8B/K,EAAA,cAAA+K,8BAClDA,EAAA,MACA,GAEA+zE,qCAGF,EAKA6O,kBAAA,uGAY2BnM,QACrB,SAAQ1hF,CAAO,EACjBA,EAAQmhF,KAAA,EACRnhF,EAAKkhF,MAAQ,GACb,IAAI,CAACv8E,KAAA,CAAA3E,EAAa48E,WAAI,CACtB,IAAI,CAACuQ,UAAU,IACf,IAAI,CAACW,EAAE,CAAG/pF,KAAAC,KAAQ,MAAAW,KAAY,MAAAyI,MAAA,EAC9B,IAAI,CAAC2gF,EAAA,CAAA/tF,EAAY68E,YAAU,CAC3B,IAAI,CAAC2Q,SAAO,CAAK,KAAAM,EAAO,MAAAnpF,KAAA,CACxB,KAAAyoF,IAAQ,MAAAK,OAAgB,GACxBztF,EAAKslB,gBAAkB,MAAAwoE,EAAA,CACvB,IAAI,CAACxI,iBAAa,CAAAtlF,GAClB,IAAI,CAAC6lF,YAAA,CAAa7lF,GAClB,KAAAylF,aAAQ,CAAWzlF,GAEnBA,EAAK48E,WAAS,CAAQ58E,EAAAslB,gBAAY,CAClC,IAAI,CAAC9gB,MAAA,CAAAxE,EAAa68E,YAAK,CACvB,IAAI,CAACsQ,UAAU,IACf,IAAI,CAACY,EAAA,CAAAhqF,KAASC,KAAG,CAAI,IAAG,CAAAQ,MAAQ,KAAM,CAAA6I,MAAA,EACtC,IAAI,CAACmgF,SAAO,CAAK,KAAAO,EAAO,MAAAvpF,MAAA,CACxB,KAAA4oF,IAAQ,MAAAK,OAAA,GACRztF,EAAKwlB,iBAAkB,MAAAuoE,EAAA,CACvB,IAAI,CAACzI,iBAAa,CAAAtlF,GAClB,IAAI,CAAC6lF,YAAA,CAAa7lF,GAClB,KAAAylF,aAAQ,CAAAzlF,GACVA,EACK68E,YAAA,CAAA78E,EAAAwlB,iBAAA,EAEJ,KAAAsgE,SAAA,CAAA9lF,EAGH,EAA2B88E,eACb,UAAW,CACzB,gBAAA1vE,MAAA,WAAAC,MAAA,EAE+BsgF,cACtB,SAAYK,CAAA,SACjB,SAAS3hE,CAAA,EAAsB,GAC7BA,GAAA2hE,GAAO3hE,GAAA,CAAA2hE,EACR,QACD,CAA+C,GAC7C3hE,EAAA,cAAOA,EAAA,iBACR,QACD,CAEA,IAAA4hE,EAAO5hE,CADPA,GAAItoB,KAAKsnB,EAAA,EACG2iE,EACd,OAAA/qE,GAAAoJ,GAAAA,EAAApJ,GAAAgrE,GAAAA,CACF,CAEA,EAO6BnI,UACvB,SAAY9lF,CAAA,CAAQ,CAIxB,IAAI40B,EAAU50B,EAAO40B,SAAA,CAAAxnB,EAAA,KAAAA,MAAA,CAAAC,EAAA,KAAAA,MAAA,CACrB,IAAI,CAAC6gF,SAAS,CAAG,EAAI9gF,EAErB,IAAI,CAAA+gF,SAAK,GAAU9gF,EAInB,IAAqC+gF,EAAjCC,EAAKz5D,EAAUjwB,KAAK,CAAA2pF,EAAA15D,EAAapwB,MAAA,CAAAspF,EAAA9pF,GAAAqqF,EAAAjhF,GAAA2gF,EAAA/pF,GAAAsqF,EAAAjhF,EACnC,CAAe,cAAf,KAAAy/E,UAAe,CACjBsB,EACS,IAAK,CAAAG,UAAU,CAAAvuF,EAAKquF,EAAWC,EAAAR,EAAAC,GACtC,gBAAU,CAAAjB,UAAK,CACjBsB,EACS,IAAK,CAAAI,iBAAe,CAAAxuF,EAAYquF,EAAAC,EAAAR,EAAAC,GACvC,iBAAU,CAAAjB,UAAK,CACjBsB,EACS,IAAK,CAAAK,iBAAe,CAAAzuF,EAAWquF,EAAAC,EAAAR,EAAAC,GACvB,YAAf,IAAU,CAAAjB,UAAK,EAChBsB,CAAAA,EAAA,KAAAM,aAAA,CAAA1uF,EAAAquF,EAAAC,EAAAR,EAAAC,EAAA,EAEH/tF,EAAA40B,SAAA,CAAAw5D,CAEA,EAS8CG,WACxC,SAAYvuF,CAAQ,CAAAquF,CAAA,CAAAC,CAAA,CAASR,CAC7B,CAAAC,CAAA,CAAO,CAGX,IAA2BY,EAAA5pE,EAAvB6P,EAAW50B,EAAA40B,SAAY,CAAAg6D,EAAA,GAAAC,EAAA,GAAAC,EAAAT,GAAAA,EAAAU,EAAAT,GAAAA,EAAAjqE,EAAA/d,GAAAq1E,aAAA,CAAAt3D,SAAA,CAAA+4D,EAAA,EAAAC,EAAA,EAAA2R,EAAAX,EAAAY,EAAA,EAeF,IAdvB5qE,EAAUkqE,UAAU,EACrBlqE,CAAAA,EAAAkqE,UAAA,CAAA7qE,SAAAsN,aAAA,YAGC29D,CAAAA,CADFA,EAAItqE,EAAkBkqE,UAAK,EACf5pF,KAAK,CAAG0pF,IAAAA,GAAKM,EAAAnqF,MAAA,CAAA8pF,CAAA,IACvBK,EAAUhqF,KAAA,CAAM0pF,IAAAA,EACjBM,EAAAnqF,MAAA,CAAA8pF,GAGDvpE,CADAA,EAAI4pE,EAAU3pE,UAAW,MAAK,EAC1BioC,SAAA,GAAa,EAAAohC,IAAAA,EAAWC,GAE5BvpE,EAAAqB,YAAW,CAAAwO,EAAA,KACXk5D,EAAK/qE,GAAM+qE,GAEXC,EAAAhrE,GAAQgrE,GACN,CAAAa,GAAK,CAAAC,GACLR,EAAKS,EACLR,EAAIS,EACFjB,EAAA/qE,GAAQ+rE,GAAAA,GACVA,EACK/rE,GAAA+rE,GAAAA,IAEHA,EAAQhB,EACTc,EAAA,IAECb,EAAAhrE,GAAQgsE,GAAAA,GACVA,EACKhsE,GAAAgsE,GAAAA,IAEHA,EAAQhB,EACTc,EAAA,IAED9pE,EAAAI,SAAK,CAAAwpE,EAAAvR,EAAAC,EAAAgR,EAAAC,EAAAU,EAAAC,EAAAH,EAAAC,GACL3R,EAAK4R,EACL3R,EAAA4R,EACFA,GAAAF,EAEF,OAAAhqE,EAAA8P,YAAA,CAAAuoD,EAAAC,EAAAyQ,EAAAC,EAEA,EASiDW,cAEtC,SAAW1uF,CAAA,CAAAquF,CAAA,CAAAC,CAAA,CAAAR,CAAA,CAAAC,CAAA,EA6DpB,IAAAmB,EAAOlvF,EAAQ40B,SAAA,CAAA7kB,IAAA,CAAAo/E,EAAAnvF,EAAA+kB,GAAA,CAAA+jE,eAAA,CAAAgF,EAAAC,GAAAqB,EAAAD,EAAAp/E,IAAA,CAAAs/E,EAAA,KAAA1B,aAAA,MAAAZ,YAAA,EAAAuC,EAAA,KAAApB,SAAA,CAAAqB,EAAA,KAAApB,SAAA,CAAAqB,EAAA,OAAAtB,SAAA,CAAAuB,EAAA,OAAAtB,SAAA,CAAAuB,EAAAxsE,GAAAosE,EAAA,KAAAvC,YAAA,IAAA4C,EAAAzsE,GAAAqsE,EAAA,KAAAxC,YAAA,IAAA6C,EAAA,GAAAj5D,EAAA,GAAAk5D,EAAA,GACjB,OAAAC,SA7DQA,EAAMC,CAAA,EAEV,IAAAxjE,EAAOthB,EAAC+kF,EAAQtkE,EAAOvb,EAAAkrC,EAAAjE,EAAA9C,EAAA9mB,EAAAyiE,EAAAC,EAEE,IACvB3jE,EAAA,EAFFoK,EAAAtK,CAAQ,CAAC,CAAG0jE,EAAA,EAAM,EAAAT,EAClBO,EAASxjE,CAAA,CAAGtJ,GAAI4T,EAAStK,CAAA,EAChBE,EAAIwhE,EAACxhE,IAAM,CAG2C,IAF7DoK,EAAArK,CAAQ,CAAC,CAAGC,EAAA,EAAM,EAAAgjE,EAClBM,EAAIvjE,CAAA,CAAAvJ,GAAA4T,EAAArK,CAAA,EAAGnc,EAAA,EAASkrC,EAAA,EAAWjE,EAAO,EAAG9C,EAAA,EACrC9mB,EAAS,EACPviB,EAAI4kF,EAAIxjE,CAAK,CAAAqjE,EAASzkF,GAAA4kF,EAAAxjE,CAAA,CAAAqjE,EAAAzkF,IAAA,GACpBA,CAAAA,CAAAA,EAAA,KAASA,CAAAA,GAAAojF,CAAA,GAITuB,CAAU,CADZK,EAAKltE,GAAA,IAAaC,GAAE/X,EAAA0rB,EAAAtK,CAAA,GACL,EACdujE,CAAAA,CAAA,CAAAK,EAAA,KACgE,IAC/D,IAAIrzD,EAAIizD,EAAKvjE,CAAA,CAAKqjE,EAAI/yD,GAAAizD,EAAAvjE,CAAA,CAAAqjE,EAAA/yD,IACpBA,EAAA,GAASA,GAAA0xD,IAGX4B,EAAKntE,GAAA,IAAaC,GAAI4Z,EAAEjG,EAAArK,CAAA,GACtBsjE,CAAU,CAAAK,EAAI,CAAAC,EAAG,EAClBN,CAAAA,CAAA,CAAAK,EAAA,CAAAC,EAAA,CAAAb,EAAAztE,GAAAE,GAAAmuE,EAAAT,EAAA,GAAA1tE,GAAAouE,EAAAT,EAAA,UAEDO,CAAAA,EAAIJ,CAAY,CAAAK,EAAA,CAAAC,EAAA,EACP,IACPxkE,EAAK,CAAAkR,EAAAyxD,EAAApjF,CAAAA,EAAA,EACLkF,GAAA6/E,EACA30C,GAAA20C,EAASd,CAAS,CAAAxjE,EAAQ,CAC1B0rB,GAAQ44C,EAASd,CAAQ,CAAAxjE,EAAM,EAAE,CACjC4oB,GAAA07C,EAASd,CAAS,CAAOxjE,EAAC,EAAM,CACjC8B,GAAAwiE,EAAAd,CAAA,CAAAxjE,EAAA,KApBH,CAyBM,CADRA,EAAA,CAAAa,EAASuhE,EAAOiC,CAAAA,EAAA,EACP,CAAM10C,EAAKlrC,EACpBi/E,CAAQ,CAAC1jE,EAAM,EAAE,CAAG0rB,EAAOjnC,EAC3Bi/E,CAAQ,CAAC1jE,EAAM,EAAE,CAAG4oB,EAAAnkC,EACtBi/E,CAAA,CAAA1jE,EAAA,GAAA8B,EAAArd,CAEA,OAAc,EACZ4/E,EAAAjC,EAEGgC,EAAAC,GAEJZ,CACH,EAaF,EAEA,EASqDV,kBACtC,SAASzuF,CAAM,CAAAquF,CAAO,CAAAC,CAAA,CAAAR,CAAO,CAAAC,CAAA,CACtC,CAKJ,IAAK59E,EAAWkc,EAAIC,EAAArhB,EAAK2xB,EAAAuzD,EAAAC,EAAAC,EAAA1/E,EAAA2/E,EAAApwF,EAAA,EAAAovF,EAAA,KAAApB,SAAA,CAAAqB,EAAA,KAAApB,SAAA,CAAAoC,EAAA,EAAAlC,CAAAA,EAAA,GAAAmC,EAAAhgE,EAAAoE,SAAA,CAAA7kB,IAAA,CAAA0gF,EAAAzwF,EAAA+kB,GAAA,CAAA+jE,eAAA,CAAAgF,EAAAC,GAAA2C,EAAAD,EAAA1gF,IAAA,KACvB9E,EAAK,EAAAA,EAAO8iF,EAAI9iF,IAAS,IACvB2xB,EAAI,EAAAA,EAAMkxD,EAAAlxD,IAMuB,IAC/ByzD,EAAI,EANNhkE,EAAItJ,GAAMusE,EAAS1yD,GACnBtQ,EAAAvJ,GAAQwsE,EAAStkF,GACjBklF,EAAQb,EAAS1yD,EAAIvQ,EACrB+jE,EAAAb,EAAetkF,EAAIqhB,EAEnBgkE,EAAK,EAAUhkE,CAAAA,EAAA+hE,EAAUhiE,CAAAA,EACbgkE,EAAC,EAAAA,IACXlgF,EAAIqgF,CAAM,CAACF,EAAUD,EAAI,CAKzB1/E,EAAAR,EAAW,GAAAggF,CAAS,EAAG,GAAAC,CAAA,EAAAhgF,CAJb,CAACkgF,EAAU,EAAAD,EAAK,CAIHF,EAAA,GAAAC,CAAA,EAAA73D,CAHb,CAAC+3D,EAAUC,EAAKF,EAAI,CAGPD,EAAA,GAAAD,CAAA,EAAAv1F,CAFf,CAAA01F,EAASC,EAAU,EAAAF,EAAI,CAERF,EAAAC,EACzBM,CAAA,CAAAxwF,IAAA,CAAAyQ,EAIN,OAAA8/E,CAEA,EASqDjC,kBACtC,SAAKxuF,CAAW,CAAAquF,CAAA,CAAAC,CAAS,CAAAR,CAAK,CAAAC,CAAA,EAKd,IAC3B,IADG4C,EAAQ,IAAG,CAAAzC,SAAa,CAAA0C,EAAA,KAAAzC,SAAA,CAAA0C,EAAA3tE,GAAAytE,EAAA,GAAAG,EAAA5tE,GAAA0tE,EAAA,GAAA7gF,EAAAygB,EAAAoE,SAAA,CAAA7kB,IAAA,CAAAghF,EAAA/wF,EAAA+kB,GAAA,CAAA+jE,eAAA,CAAAgF,EAAAC,GAAAiD,EAAAD,EAAAhhF,IAAA,CACtB6sB,EAAI,EAAAA,EAAOmxD,EAAInxD,IAAS,IAC3B,IAAI3xB,EAAA,EAAMA,EAAI6iF,EAAI7iF,IAAC,CAE2C,IAC5D,IADG8uB,EAAI,CAAA9uB,EAAK2xB,EAAAkxD,CAAM,EAAI,EAAAkC,EAAS,EAAMxH,EAAS,EAAAyI,EAAc,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAhqC,EAAA,CAAAzqB,EAAA,IAAAg0D,EACxDU,EAAKvuE,GAAI6Z,EAAAg0D,GAAWU,EAAO,CAAA10D,EAAM,GAAAg0D,EACjCU,IAC0D,IAC5D,IADGzhD,EAAI7sB,GAAKqkC,EAAUiqC,CAAAA,EAAA,KAAcR,EAAU1pC,EAAQ,CAAMn8C,EAAA,IAAA0lF,EAAAY,EAAA1hD,EAAAA,EACxDo+C,EAAKlrE,GAAI9X,EAAA0lF,GAAW1C,EAAO,CAAAhjF,EAAM,GAAA0lF,EACjC1C,IAAI,CACR,IAAAr+C,EAAA5sB,GAAAokC,EAAA6mC,CAAAA,EAA4B,EAC5B,GAAI4C,EAAc/b,EAAGlzD,GAAA2vE,EAAA3hD,EAAAA,GACVklC,EAAA,GAAAA,EAAA,KAKTkb,CAAAA,CADFA,EAAI,EAASlb,EAAGA,EAAAA,EAAA,EAAAA,EAAAA,EAAA,GACJ,KAGVuc,GAAArB,EAAgBjgF,CAAA,CAAA6/B,CAFhBA,EAAA,EAAOq+C,CAAAA,EAAAqD,EAAAjD,CAAA,GAES,GAChB4C,GAAQjB,EAENjgF,CAAA,CAAA6/B,EAAS,QACVogD,CAAAA,EAAAA,EAAAjgF,CAAA,CAAA6/B,EAAA,QAEDshD,GAAOlB,EAASjgF,CAAI,CAAC6/B,EAAA,CACrBuhD,GAAOnB,EAASjgF,CAAI,CAAC6/B,EAAK,EAAE,CAC5BwhD,GAAApB,EAAWjgF,CAAA,CAAA6/B,EAAA,GACZ44C,GAAAwH,EAGL,CAEAgB,CAAK,CAACj3D,EAAA,CAAKm3D,EAAK1I,EAChBwI,CAAK,CAACj3D,EAAK,EAAE,CAAGo3D,EAAM3I,EACtBwI,CAAK,CAACj3D,EAAK,EAAE,CAAGq3D,EAAM5I,EACxBwI,CAAA,CAAAj3D,EAAA,GAAAs3D,EAAAJ,CACF,CAEF,OAAAF,CAEA,EAIqBlhC,SACnB,UAAO,OACL,CACAtuD,KAAA,IAAQ,CAAAA,IAAK,CACb6L,OAAQ,IAAI,CAACA,MAAM,CACnBC,OAAA,IAAY,CAAAA,MAAK,CACjBy/E,WAAA,IAAc,CAAAA,UAAK,CACrBC,aAAA,KAAAA,YAAA,CAEJ,CAEA,GASCzmF,GAAiCK,KAAA,CAAAiF,OAAc,CAAAihF,MAAA,CAAAl7D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GA+GQgH,GAzGRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAcyGlX,GAEvG4lF,QAAA,CAAA1uE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,WAWAgiF,eAAA,8TAOAkO,SAAA,EAEA9L,cAAA,WAa6BG,UACnB,SAAS9lF,CAAK,CAAG,IACvB,SAAAyxF,QAAA,EAOF,IAA6BxmF,EAAAme,EAAArZ,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,CAAAqxF,EAAA1tF,KAAAgf,KAAA,UAAA0uE,QAAA,EAAAC,EAAA,IAAAD,CAAAA,EAAA,eAAAA,CAAA,OAC3BxmF,EAAI,EAAGA,EAAGme,EAAAne,GAAA,EACV8E,CAAI,CAAC9E,EAAA,CAAIymF,EAAK3hF,CAAAA,CAAa,CAAA9E,EAAA,CAAK,KAAM,IACtC8E,CAAI,CAAC9E,EAAI,EAAE,CAAGymF,EAAa3hF,CAAAA,CAAI,CAAC9E,EAAI,EAAE,CAAG,KAAO,IAClD8E,CAAA,CAAA9E,EAAA,GAAAymF,EAAA3hF,CAAAA,CAAA,CAAA9E,EAAA,YATA,EAkByCo5E,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACF+N,UAAAhtE,EAAA4/D,kBAAA,CAAAX,EAAA,YACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA4B,EAC3Cz/D,EAAAuhE,SAAA,CAAA9B,EAAAuN,SAAA,MAAAF,QAAA,CACF,CAEA,GASCnrF,GAAiCK,KAAA,CAAAiF,OAAc,CAAA4lF,QAAA,CAAA7/D,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAqHQgH,GA/GRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAc6GlX,GAE3GK,UAAA,CAAA6W,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,aAcAgiF,eAAA,weAUAtlF,WAAA,EAEA0nF,cAAA,aAa6BG,UACvB,SAAK9lF,CAAU,CAAK,CAAG,GACzB,SAAA/B,UAAA,EAMF,IAA6BgN,EAAA9G,EAAA4L,EAAA6kB,EAARA,SAAQ,CAAA7kB,IAAA,CAAAqZ,EAAArZ,EAAA3P,MAAA,CAAAwxF,EAAA,MAAA3zF,UAAA,KAC3BgN,EAAA,EAAMA,EAAKme,EAAIne,GAAK,EACpB9G,EAAKJ,KAAMI,GAAA,CAAA4L,CAAQ,CAAA9E,EAAA,CAAK8E,CAAE,CAAG9E,EAAC,GAAM8E,CAAK,CAAA9E,EAAE,EAAI,EAC/C8E,CAAI,CAAC9E,EAAA,EAAM9G,IAAI4L,CAAQ,CAAA9E,EAAA,CAAK,CAAA9G,EAAM4L,CAAI,CAAA9E,EAAA,EAAM2mF,EAAW,EACvD7hF,CAAI,CAAC9E,EAAI,EAAE,EAAI9G,IAAQ4L,CAAI,CAAC9E,EAAI,EAAE,CAAG,CAAC9G,EAAM4L,CAAI,CAAC9E,EAAI,EAAE,EAAI2mF,EAAS,CAAC,CACvE7hF,CAAA,CAAA9E,EAAA,IAAA9G,IAAA4L,CAAA,CAAA9E,EAAA,IAAA9G,EAAA4L,CAAA,CAAA9E,EAAA,IAAA2mF,EAAA,EATA,EAkByCvN,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACFiO,YAAAltE,EAAA4/D,kBAAA,CAAAX,EAAA,cACF,CAEA,EAMgDuC,gBACjC,SAAAxhE,CAAA,CAAAy/D,CAA4B,CAAG,CAC9Cz/D,EAAAuhE,SAAA,CAAA9B,EAAAyN,WAAA,OAAA5zF,UAAA,CACF,CAEA,GASCqI,GAAiCK,KAAA,CAAAiF,OAAc,CAAAK,UAAA,CAAA0lB,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAuNQgH,GAjNRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAeiGlX,GAEzFkmF,IAAA,CAAAhvE,GAAAlX,GAAAy3E,UAAA,EAEN9hF,KAAA,OA0CAgiF,eAEA,mnBASAjxB,KAAA,EAEAqzB,cAAS,OAAkBjE,QACrB,SAAQ1hF,CAAO,EACjBA,EAAAmhF,KAAA,EAEA,KAAA4Q,WAAc,CAAA/xF,EAAA48E,WAAA,CAAA58E,EAAA68E,YAAA,CACd78E,EAAKkhF,MAAA,GACL,IAAI,CAACoE,iBAAiB,CAAAtlF,GACtB,IAAI,CAACmtF,UAAA,CAAa,GAClB,IAAI,CAACtH,YAAA,CAAa7lF,GAClB,IAAI,CAACylF,aAAA,CAAAzlF,GACL,IAAI,CAACslF,iBAAa,CAAKtlF,GACvB,IAAI,CAACmtF,UAAA,CAAa,GAClB,IAAI,CAACtH,YAAA,CAAa7lF,GACpB,IACK,CAAAylF,aAAA,CAAAzlF,IAEJ,KAAA8lF,SAAA,CAAA9lF,EAGH,EAA6B8lF,UAC3B,SAAA9lF,CAAA,EAGFA,EAAA40B,SAAA,MAAAo9D,UAAA,CAAAhyF,EAEA,EAA8BgyF,WACxB,SAAYhyF,CAAQ,EAIxB,IAA2BusF,EAAA0F,EAAvB5tE,EAAWrkB,EAAA27E,aAAY,CAAAt3D,SAAA,CAAA1f,EAAA3E,EAAA40B,SAAA,CAAAjwB,KAAA,CAAAH,EAAAxE,EAAA40B,SAAA,CAAApwB,MAAA,CACzB6f,EAAU6tE,UAAU,GACpB7tE,EAAU6tE,UAAU,CAAG5rF,GAAOqc,IAAI,CAACqQ,mBAAmB,GACvD3O,EAAA8tE,UAAA,CAAA7rF,GAAAqc,IAAA,CAAAqQ,mBAAA,IAEDu5D,EAAUloE,EAAU6tE,UAAU,CAC9BD,EAAI5tE,EAAa8tE,UAAK,CACpB5F,CAAAA,EAAQ5nF,KAAK,GAAGA,GAAQ4nF,EAAQ/nF,MAAA,GAAAA,CAAA,IAChCytF,EAAQttF,KAAA,CAAM4nF,EAAG5nF,KAAQ,CAAMA,EAChCstF,EAAAztF,MAAA,CAAA+nF,EAAA/nF,MAAA,CAAAA,GAOD,IAAoBonB,EAAAwmE,EAAAx1D,EAAA3xB,EAApBonF,EAAA9F,EAAAvnE,UAAoB,OAAAstE,EAAAL,EAAAjtE,UAAA,OAAAstC,EAAA,SAAAA,IAAA,CAIoB,IAFxC+/B,EAAKjsE,YAAU,CAAGpmB,EAAG40B,SAAO,MAE5B09D,EAAKrlC,SAAK,KAAUtoD,EAAKH,GACvByG,EAAA,IAAeA,GALG,GAKUA,IAC5B2gB,EAAA,CAAU7nB,KAAI6nB,MAAA,SAEdgR,EAAA01B,EADA8/B,CAAAA,EAAInnF,EAPc,EAOG,EACFtG,EAASinB,EAC5B0mE,EAAKh8B,WAAU,GAAAvyD,KAAYif,GAAA,CAAAovE,GAC3BE,EAAKntE,SAAS,CAAConE,EAAS3vD,EAAGhR,GAC3BymE,EAAKltE,SAAA,CAAA8sE,EAAc,KACnBK,EAAKh8B,WAAU,CAAG,EACpBg8B,EAAArlC,SAAA,KAAAglC,EAAAttF,KAAA,CAAAstF,EAAAztF,MAAA,EACwC,IACtCyG,EAAA,IAAeA,GAfG,GAeUA,IAC5B2gB,EAAA,CAAU7nB,KAAI6nB,MAAA,SAEdgR,EAAA01B,EADA8/B,CAAAA,EAAInnF,EAjBc,EAiBG,EACFzG,EAASonB,EAC5B0mE,EAAKh8B,WAAU,GAAAvyD,KAASif,GAAA,CAAQovE,GAChCE,EAAKntE,SAAS,CAAConE,EAAS3gE,EAAGgR,GAC3By1D,EAAKltE,SAAA,CAAA8sE,EAAc,KACnBK,EAAKh8B,WAAU,CAAG,EACpBg8B,EAAArlC,SAAA,KAAAglC,EAAAttF,KAAA,CAAAstF,EAAAztF,MAAA,EAEAxE,EAAI+kB,GAAA,CAAAI,SAAe,CAAAonE,EAAY,KAC/B,IAAAgG,EAAmBvyF,EAAA+kB,GAAA,CAAA8P,YAAA,KAAA03D,EAAA5nF,KAAA,CAAA4nF,EAAA/nF,MAAA,EAGrB,OAFE6tF,EAAK/7B,WAAU,CAAG,EAClB+7B,EAAAplC,SAAO,KAAAs/B,EAAA5nF,KAAA,CAAA4nF,EAAA/nF,MAAA,EACT+tF,CAEA,EAM2ClO,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACF4O,MAAA7tE,EAAA4/D,kBAAA,CAAAX,EAAA,SACF,CAEA,EAMgDuC,gBAClC,SAAKxhE,CAAA,CAAAy/D,CAAgB,EACjC,IAAGoO,EAAA,IAAW,CAAAC,gBAAiB,GACjC9tE,EAAAuoE,UAAA,CAAA9I,EAAAoO,KAAA,CAAAA,EAEA,EAI6BC,iBACvB,UAAe,CAAQ,IAC3BngC,EAD4BogC,EAAA,EAAAF,EAAA,CAAG,EAAI,EACnC,CAoBF,OAnBI,IAAI,CAAArF,UAAK,CACP,KAAA4E,WAAA,IAEDW,CAAAA,EAAA,OAAAX,WAAA,EAIC,KAAAA,WAAA,IAEDW,CAAAA,EAAA,KAAAX,WAAA,EAGHz/B,EAAIogC,EAAe,IAAE,CAAApgC,IAAA,KACnB,KAAK66B,UAAM,CACbqF,CACK,IAAAlgC,EAEJkgC,CAAA,IAAAlgC,EAEHkgC,CACF,CAEA,GAKC5mF,GAAiCkmF,IAAA,CAAAngE,UAAc,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAsIQgH,GAhIRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAcmGlX,GAEjG+mF,KAAA,CAAA7vE,GAAAlX,GAAAy3E,UAAA,EAOA9hF,KAAA,QAcAgiF,eAAA,kXAKOqP,MAAC,CAAG,EAAG,EAAE,EAEhB,CAOAjN,cAAA,QAI8B5gD,WACvB,SAAQ/kC,CAAA,MAAC,CAAA4yF,KAAA,EAAG,EAAG,EAAE,EACtB,CACFhnF,GAAAy3E,UAAA,CAAAlmE,SAAA,CAAA4nB,UAAA,CAAA1b,IAAA,MAAArpB,EAEA,EAM6B8lF,UACvB,SAAY9lF,CAAA,CAAQ,CAKxB,IAAiBiL,EAAA8E,EAAA6kB,EAAAA,SAAA,CAAA7kB,IAAA,CAAA6iF,EAAA,KAAAA,KAAA,CAAAxpE,EAAArZ,EAAA3P,MAAA,CAAAyyF,EAAA,EAAAD,CAAA,IAAAE,EAAA,EAAAF,CAAA,IAAAG,EAAA,EAAAH,CAAA,IAWoB,IACnC3nF,IAXA,CAAA+nF,KAAA,GAEA,KAAAA,KAAA,KAAArtE,WAA2B,KAE3B,KAAAstE,KAAA,KAAAttE,WAA2B,KAE5B,KAAAutE,KAAA,KAAAvtE,WAAA,MAKC1a,EAAI,EAACme,EAAQ,GAAG,CAAAne,EAAKme,EAAIne,IACzB,IAAI,CAAC+nF,KAAK,CAAC/nF,EAAE,CAAGlH,IAAAA,KAAK+d,GAAG,CAAC7W,EAAI,IAAK4nF,GAClC,IAAI,CAACI,KAAK,CAAChoF,EAAE,CAAGlH,IAAAA,KAAK+d,GAAG,CAAC7W,EAAI,IAAK6nF,GACpC,KAAAI,KAAA,CAAAjoF,EAAA,CAAAlH,IAAAA,KAAA+d,GAAA,CAAA7W,EAAA,IAAA8nF,GACgD,IAC9C9nF,EAAI,EAAGme,EAAGrZ,EAAK3P,MAAM,CAAK6K,EAAGme,EAAAne,GAAA,EAC7B8E,CAAI,CAAC9E,EAAA,CAAI,IAAK,CAAA+nF,KAAK,CAAAjjF,CAAM,CAAA9E,EAAA,CAAI,CAC7B8E,CAAI,CAAC9E,EAAI,EAAE,CAAG,IAAI,CAACgoF,KAAK,CAACljF,CAAI,CAAC9E,EAAI,EAAE,CAAC,CACvC8E,CAAA,CAAA9E,EAAA,QAAAioF,KAAA,CAAAnjF,CAAA,CAAA9E,EAAA,KASyCo5E,oBAClC,SAAA1/D,CAAA,CAAAi/D,CAAA,QACL,CACFuP,OAAAxuE,EAAA4/D,kBAAA,CAAAX,EAAA,SACF,CAEA,EAMgDuC,gBACjC,SAACxhE,CAAA,CAAAy/D,CAAyB,CAAK,CAC9Cz/D,EAAAyuE,UAAA,CAAAhP,EAAA+O,MAAA,MAAAP,KAAA,CACF,CAEA,GASCtsF,GAAiCK,KAAA,CAAAiF,OAAc,CAAA+mF,KAAA,CAAAhhE,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAShD/lB,GAAAtF,CAAAA,GAAAgU,CANAA,GAsEQgH,GAhERhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAGyGlX,GAEjGynF,QAAA,CAAAvwE,GAAAlX,GAAAy3E,UAAA,EAEN9hF,KAAA,WAKA+xF,WAAA,GAI8BvuD,WACvB,SAAU/kC,CAAA,EACf,KAAA0kC,SAAA,cAAA1kC,GAEF,KAAAszF,UAAA,MAAAA,UAAA,CAAAxoF,KAAA,GAEA,EAM2B42E,QACzB,SAAc1hF,CAAI,CAAK,CACvBA,EAAKkhF,MAAA,EAAW,KAAOoS,UAAU,CAAAlzF,MAAM,CAAE,MACvC,CAAAkzF,UAAO,CAAAnlE,OAAQ,UAAAlf,CAAA,EACjBA,EAAAyyE,OAAA,CAAA1hF,EACF,EAEA,EAKqB6vD,SACnB,UAAc,CAA+C,OAC3DvpD,GAAAqc,IAAY,CAAApiB,MAAK,CAAAghB,MAAW,KAAI,CAAAmjB,SAAS,aAAQ,CAAA4uD,WAAS,KAAAA,UAAe,CAAAnkF,GAAA,UAAAF,CAAA,EAAI,OAAAA,EAAA4gD,QAAA,EAC/E,EACF,EAEA,EAA2BitB,eACb,UAAW,CAAuB,MAAE,KAAQ,CAAAwW,UAAO,CAAAlpE,IAAA,UAAcnb,CAAA,EAAI,OAAAA,EAAA6tE,cAAA,EACnF,EACF,CAEA,GAGsEx2E,GAChEK,KAAA,CAAAiF,OAAU,CAAAynF,QAAO,CAAA1hE,UAAgB,CACjC,SAAApxB,CAAa,CAAAwpB,CAAY,EAAiB,IACRupE,EAAa1nF,CAAtCrL,EAAI+yF,UAAa,EAAO,EAAC,EAAankF,GAAA,UAAAF,CAAA,EAE/C,WAAW3I,GAAIK,KAAO,CAAAiF,OAAM,CAAAqD,EAAQ1N,IAAA,CAAQ,CAAC0N,EAAA,GAAE07C,EAAA,IAAYrkD,GAAAK,KAAA,CAAAiF,OAAA,CAAAynF,QAAA,EAAWC,WAAAA,CAC1E,GAEF,OADEvpE,GAAOA,EAAA4gC,GACTA,CACC,EASD/+C,GAAAtF,CAAAA,GAAAgU,CANAA,GAyGQgH,GAnGRhb,MAAA,EAAAgU,CAAAA,GAAAhU,MAAA,MAAAK,KAAA,CAAAiF,OAAA,CAAAkX,GAAAxc,GAAAqc,IAAA,CAAAG,WAAA,CAcgHlX,GAE9GG,WAAA,CAAA+W,GAAAlX,GAAAq7E,WAAA,EAOA1lF,KAAA,cAQAyK,SAAA,EAOA25E,cAAA,WAA4B2G,gBAChB,UAAa,CAEvB,IAAIiH,EAAC,IAAS,CAAAvnF,QAAA,CAAAjI,KAAAsnB,EAAA,CAAAC,EAAAhlB,GAAAqc,IAAA,CAAA2I,GAAA,CAAAioE,GAAAtwE,EAAA3c,GAAAqc,IAAA,CAAAM,GAAA,CAAAswE,GAAAC,EAAA,IAAAC,EAAA1vF,KAAA6d,IAAA,MAAAqB,EAAAywE,EAAA,EAAApoE,CAAA,KACZ,CAAA+I,MAAA,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACZ,EAAG,EAAG,EAAG,EAAG,EACb,EACD,CACA,IAAI,CAACA,MAAM,CAAC,EAAE,CAAG/I,EAAAooE,EAAS,EAC1B,IAAI,CAACr/D,MAAM,CAAC,EAAE,CAAGm/D,EAASE,EAAcD,EACxC,IAAI,CAACp/D,MAAM,CAAC,EAAE,CAAGm/D,EAASE,EAAcD,EACxC,IAAI,CAACp/D,MAAM,CAAC,EAAE,CAAGm/D,EAAME,EAASD,EAChC,IAAI,CAACp/D,MAAM,CAAC,EAAE,CAAG/I,EAAAkoE,EAASE,EAC1B,IAAI,CAACr/D,MAAM,CAAC,GAAGm/D,EAAGE,EAASD,EAC3B,IAAI,CAACp/D,MAAM,CAAC,GAAG,CAAGm/D,EAASE,EAAcD,EACzC,IAAI,CAACp/D,MAAM,CAAC,GAAG,CAAGm/D,EAAME,EAASD,EACnC,KAAAp/D,MAAA,KAAA/I,EAAAkoE,EAAAE,CAEA,EAMkC5W,eAC3B,SAAe98E,CAAA,EAEtB,OADE,KAAAssF,eAAe,GACjB1gF,GAAAy3E,UAAA,CAAAlmE,SAAA,CAAA2/D,cAAA,CAAAzzD,IAAA,MAAArpB,EAEA,EAa2B0hF,QACpB,SAAA1hF,CAAe,EACpB,KAAAssF,eAAmB,GACrB1gF,GAAAy3E,UAAA,CAAAlmE,SAAA,CAAAukE,OAAA,CAAAr4D,IAAA,MAAArpB,EAEF,CAEA,GASCsG,GAAiCK,KAAA,CAAAiF,OAAc,CAAAG,WAAA,CAAA4lB,UAAA,CAAArrB,GAAAK,KAAA,CAAAiF,OAAA,CAAAy3E,UAAA,CAAA1xD,UAAA,CAChC,SAEhBrX,CAAA,EAEA,aAGA,IAAIhU,EAAOgU,EAAMhU,MAAA,EAAAgU,CAAAA,EAAAhU,MAAA,KAAAuH,EAAAvH,EAAAqc,IAAA,CAAApiB,MAAA,CAAAsN,KAAA,IACfvH,EAAOspB,IAAI,CAAC,CACZtpB,EAAA2kC,IAAA,mCACD,MAED,KAKA0oD,EAAA,6LAAApjE,KAAA,KAQyFjqB,CAAAA,EAEvFspB,IAAA,CAAAtpB,EAAAqc,IAAA,CAAAG,WAAA,CAAAxc,EAAA4W,MAAA,EAK0B02E,yBACxB,CACA,WACA,aACA,aACA,YACA,aACA,OACA,cACA,YACA,SACA,OACA,kBACA,WACD,YAED,CAKAC,WAAA,QAOAC,iBAAA,WAOAC,eAAA,UAOAC,SAAA,OAOAzyF,KAAA,OAOA2B,SAAA,GAOA00B,WAAA,SAOAnC,WAAA,kBAOAuC,UAAA,GAOAD,SAAA,GAOAE,YAAA,GAQAg8D,UAAA,OAOAp8D,UAAA,SAOAq8D,WAAA,KAKaC,YACA,CACXluF,KAAA,GACFmuF,SAAA,IAEA,EAKWC,UACE,CACXpuF,KAAA,GACFmuF,SAAA,GAEA,EAOAE,oBAAA,GAQAjrB,gBAAA/iE,EAAA4W,MAAA,CAAAC,SAAA,CAAAksD,eAAA,CAAApkE,MAAA,CAAA0uF,GAMArqB,gBAAAhjE,EAAA4W,MAAA,CAAAC,SAAA,CAAAmsD,eAAA,CAAArkE,MAAA,CAAA0uF,GAQAh8D,OAAA,KAQAg6B,OAAA,KAwBAl/B,KAAA,KAQA8hE,gBAAA,EAQAC,SAAA,OAUAC,UAAA,WAKAC,kBAAA,KAGS9G,QACP,CACA51D,UAAA,GACAC,YAAW,MACbF,SAAA,IAEA,EAOA48D,cAAA,KAQAC,YAAA,EAQAj1F,OAAA,KAUAk1F,kBAAA,KAOA/8D,OAAA,EAaAg9D,UAAA,MAKkBC,iBAChB,CACA,SACA,cACA,OACA,aACA,WACA,aACA,YACA,YACA,WACA,cACA,SACD,sBAED,CAKAC,aAAA,GASAC,gBAAA,IAOAC,eAAA,EAMoCnwD,WAC7B,SAAS5M,CAAA,CAAAn4B,CAAW,CAAQ,CACjC,IAAI,CAACL,MAAI,CAAGK,GAAAA,EAAAL,MAAA,KACZ,IAAI,CAACw4B,IAAA,CAAAA,EACL,IAAI,CAACg9D,eAAU,IACf,IAAI,CAAAzwD,SAAS,CAAE,aAAA1kC,GACb,IAAI,CAACyyB,IAAA,EACN,KAAA2iE,WAAA,GAED,IAAI,CAACD,eAAc,IACnB,IAAI,CAACE,cAAS,GACd,IAAI,CAACnnF,SAAA,GAAW,IAAE,CAAA6+C,UAAA,EAAwCwf,YAAA,0BAC5D,EAEA,EAKwB6oB,YAClB,UAAgB,CACpB,IAAI3iE,EAAM,KAAAA,IAAA,CACRA,GACDA,CAAAA,EAAA6iE,YAAA,CAAAhvF,EAAAqc,IAAA,CAAA2X,mBAAA,CAAA7H,EAAAA,IAAA,EAGH,EASgC8iE,oBAC9B,WAMF,OAJIjvF,EAAOuuF,iBAAiB,EAEzBvuF,CAAAA,EAAAuuF,iBAAA,MAAAn2F,MAAA,OAAAA,MAAA,CAAAu7D,YAAA,EAAA3zD,EAAAqc,IAAA,CAAAqQ,mBAAA,GAAAhO,UAAA,QAEH1e,EAAAuuF,iBAAA,EAMuBW,WACjB,UAAe,CACnB,IAAIC,EAAU,IAAG,CAAAC,mBAAc,MAAAv9D,IAAA,EAKjC,OAJE,IAAI,CAACC,SAAA,CAAUq9D,EAAGziB,KAAS,CAC3B,IAAI,CAAC2iB,UAAA,CAAAF,EAAsBG,aAAS,CACpC,IAAI,CAACC,mBAAiB,CAAAJ,EAAYK,eAAA,CAClC,KAAAC,KAAO,CAAAN,EAAAO,YAAA,CACTP,CAEA,EAK2BJ,eAChB,WACP,KAAAF,eAAA,GAGF,IAAI,CAACK,UAAA,GACL,IAAI,CAAAS,WAAW,GACb,IAAI,CAACxjE,IAAA,EACL,IAAI,CAAC9tB,KAAA,CAAM,IAAG,CAAI8tB,IAAC,CAAI9tB,KAAC,CAC1B,IACK,CAAAH,MAAA,MAAAiuB,IAAA,CAAAjuB,MAAA,GAEH,IAAI,CAACG,KAAA,CAAM,IAAG,CAAIuxF,aAAC,IAAc,KAAAC,WAAA,OAAAjB,cAAA,CAClC,KAAA1wF,MAAA,MAAA4xF,cAAA,IAEC,UAAAnC,SAAA,CAAAtrE,OAAA,aAED,KAAA0tE,aAAA,GACc,IAAE,CAAAlyB,SAAA,EAAwCoI,YAAA,0BAC3D,GAEA,EAG0B8pB,cACpB,UAAW,CAC6C,IAC1D,IADGC,EAAWC,EAAWC,EAAuBC,EAAUC,EAAAC,EAAAC,EACtD3rF,EAAI,EAACme,EAAA,IAAS,CAAAusE,UAAK,CAAAv1F,MAAc,CAAA6K,EAAMme,EAAMne,IAA+B,IAC9E,kBAAAgpF,SAAS,EAAAhpF,CAAAA,IAAAme,EAAA,QAAAytE,eAAA,CAAA5rF,EAAA,KAGXwrF,EAAY,EACZC,EAAA,KAAAf,UAAmB,CAAI1qF,EAAC,CAEtBsrF,CADFA,EAAI,IAAmB,CAAAO,YAAU,CAAK7rF,EAAA,EACnB,KAAOtG,KAAA,EAAMiyF,CAAAA,EAAA,KAAAx+D,SAAA,CAAAntB,EAAA,CAAAhK,KAAA,MAAA6yF,gBAAA,KAC9B0C,EAAiBI,EAAMx2F,MAAG,CAC1Bk2F,EAAa,KAAG,CAAA3xF,KAAO,CAAA4xF,CAAkB,EAAMC,EAAK,IAClD,IAAA55D,EAAA,EAAAC,EAAiB65D,EAAAt2F,MAAY,CAACw8B,GAAKC,EAAAD,IACnC+5D,EAAS,KAAA3B,YAAoB,CAAA/pF,EAAA,CAAI2xB,EAAC,CAChC,KAAAm3D,cAAmB,CAAA5tD,IAAA,CAAAuwD,CAAA,CAAA95D,EAAA,GACnB+5D,EAAUhyF,KAAA,EAAA2xF,EACVK,EAAUI,WAAQ,EAAAT,EAClBK,EAAA5oF,IAAA,EAAA0oF,EACFA,GACKH,GAEJK,EAAA5oF,IAAA,EAAA0oF,CAGP,CAnBE,EA2BiCI,gBAC5B,SAAcG,CAAK,EAC5B,OAAAA,IAAA,KAAArB,UAAA,CAAAv1F,MAAA,EAEA,EAMiC62F,qBACxB,WACT,QAEA,EAIqBhzD,SACnB,UAAO,CAET,6BAAA3Z,UAAA,yBAAA6N,IAAA,2BAAA1C,UAAA,OAEA,EAWsCs0C,0BACpB,UAAU,CAC1B,IAAIH,EAAA,IAAW,CAAAllC,SAAK,8BACpBxhC,EAAc,KAAAA,QAAW,CAG3B,OAFE0mE,EAAKjlE,KAAA,EAAMzB,EAAI0mE,EAAWxb,KAAK,CAC/Bwb,EAAAplE,MAAO,EAAAtB,EAAA0mE,EAAAvb,KAAA,CACTub,CAEA,EAIuBpW,QACjB,SAAOzuC,CAAK,EAChB,IAAA0N,EAAS,IAAK,CAAAA,IAAA,CACdA,GAAK,CAAAA,EAAAs5C,YAAe,IAAAt5C,EAAA+gC,OAAA,CAAAzuC,GACpB,IAAI,CAACmyE,cAAA,CAAAnyE,GACL,IAAI,CAACoyE,0BAAsB,CAAKpyE,GAChC,IAAI,CAACqyE,qBAAY,CAAAryE,EAAA,aACjB,IAAI,CAACsyE,WAAA,CAAAtyE,GACL,IAAI,CAACqyE,qBAAqB,CAACryE,EAAK,YAClC,KAAAqyE,qBAAA,CAAAryE,EAAA,cAEA,EAI2BsyE,YAChB,SAAAtyE,CAAU,EACjB,eAAI,CAACqkD,UAAA,EACL,IAAI,CAACkuB,iBAAgB,CAAAvyE,GACvB,IACK,CAAAwyE,eAAA,CAAAxyE,KAEH,IAAI,CAACwyE,eAAA,CAAAxyE,GACN,KAAAuyE,iBAAA,CAAAvyE,GAGH,EAUuDmyE,eACjD,SAAenyE,CAAA,CAAAyyE,CAAA,CAAAC,CAAA,EACJ,GAAf1yE,EAAI2yE,YAAW,gBACb,KAAAjlE,IAAQ,CAAc,OACpB,IAAK,CAAAgiE,SAAA,MACH,SACA1vE,EAAA2yE,YAAM,UACR,KAAK,KACH,WACA3yE,EAAA2yE,YAAM,OACR,KAAK,KACH,YACA3yE,EAAA2yE,YAAM,SAEX,CACD,EACFC,IAAA,MAAAC,mBAAA,CAAAJ,EAAAC,EAEA,EAM0BvB,cACpB,UAAgB,CAEwC,IAC1D,IADG2B,EAAW,KAAAf,YAAW,IACrB7rF,EAAA,EAAAme,EAAA,KAAAusE,UAAwB,CAAAv1F,MAAA,CAAa6K,EAAAme,EAAAne,IAAA,CACzC,IAAIsrF,EAAmB,KAAAO,YAAU,CAAA7rF,GAC/BsrF,EAAWsB,GACZA,CAAAA,EAAAtB,CAAA,CAEH,CACF,OAAAsB,CAEA,EASmEC,gBAC5D,SAAaj1D,CAAQ,CAAA9d,CAAK,CAAA2xE,CAAM,CAAA3oF,CAAM,CAAAD,CAAK,CAAAkpF,CAAA,EAClD,KAAAe,YAAA,CAAAl1D,EAAA9d,EAAA2xE,EAAA3oF,EAAAD,EAAAkpF,EAEA,EAK0CG,2BAC9B,SAAuBpyE,CAAC,CAAI,CAAkC,GACtE,KAAAuvE,mBAAA,OAAA0D,QAAA,yBAU0D,IAC1D,IADGC,EAAWC,EAA4CxB,EAAAyB,EAAAC,EAAAC,EAAAC,EAAjCvrB,EAAuBhoD,EAAAmgC,SAAU,CAAAqzC,EAAA,KAAAC,cAAA,GAAAC,EAAA,KAAAC,aAAA,GAAAC,EAAA,EAAAC,EAAA,EAAAnmE,EAAA,KAAAA,IAAA,CAC1DxnB,EAAA,EAAAme,EAAe,IAAK,CAAAusE,UAAA,CAAAv1F,MAAgB,CAAA6K,EAAAme,EAAAne,IAAA,CACuC,GAA3EgtF,EAAU,KAAA/sB,eAAwB,CAAAjgE,GAChC,MAAAqpF,mBAAiB,QAAA0D,QAAA,uBAAA/sF,GAAA,CACjBwtF,GAASR,EACV,SACD,EACA,KAAAtC,UAAsB,CAAA1qF,EAAA,CACtBitF,EAAW,KAAAW,kBAAA,CAAA5tF,GACX2tF,EAAW,EACXD,EAAA,EACAR,EAAa,IAAG,CAAAW,oBAAoB,CAAA7tF,EAAI,yBAAW,IACjD,IAAA2xB,EAAA,EAAUC,EAAK65D,EAAAt2F,MAAa,CAAGw8B,EAAEC,EAAAD,IACjCw7D,EAAA,KAAepD,YAAK,CAAA/pF,EAAA,CAAA2xB,EAAA,CACpBy7D,EAAU,KAAAS,oBAAA,CAAA7tF,EAAA2xB,EAAA,uBACRnK,GACA1N,EAAIkgC,IAAA,GACJlgC,EAAIE,SAAO,CAAAmzE,EAAQW,UAAK,CAAAX,EAAA7+B,SAAA,EACxBx0C,EAAIwP,MAAA,CAAA6jE,EAAY7sE,KAAA,EAChBxG,EAAAmgC,SAAA,CAAgBmzC,EAMhBA,GAAWtzE,EAAAwxC,QAAA,EAAA6hC,EAAAzzF,KAAA,IAAAszF,EAAA,KAAA/D,UAAA,SAAAQ,iBAAA,EAAA0D,EAAAzzF,KAAA,CAAAszF,EAAA,KAAA/D,UAAA,EACbnvE,EACKwgC,OAAI,IACP8yC,IAAYF,GACZG,EAASC,EAAcL,EAAOS,EACX,QAAjB,KAAA7D,SAAY,EACbwD,CAAAA,EAAA,KAAA3zF,KAAA,CAAA2zF,EAAAM,CAAA,EAED7zE,EAAAmgC,SAAa,CAAAizC,EAMbA,GAAWpzE,EAAAwxC,QAAY,CAAA+hC,EAAAG,EAAAG,EAAAX,EAAA,KAAA/D,UAAA,EACvByE,EAAWP,EAAQrqF,IAAA,CACnB6qF,EAAAR,EAAYzzF,KAAA,CACdwzF,EACKE,GAEJO,GAAAR,EAAArB,WAAA,CAGDsB,GAAY,CAAA5lE,IACZ6lE,EAASC,EAAcL,EAAOS,EACX,QAAjB,KAAA7D,SAAY,EACbwD,CAAAA,EAAA,KAAA3zF,KAAA,CAAA2zF,EAAAM,CAAA,EAED7zE,EAAImgC,SACF,CAAAmzC,EAKHtzE,EAAAwxC,QAAA,CAAA+hC,EAAAG,EAAAG,EAAAX,EAAA,KAAA/D,UAAA,GAEHuE,GAAAR,CACA,CACAlzE,EAAAmgC,SAAA,CAAA6nB,EAGF,KAAAM,aAAA,CAAAtoD,GA1EE,EAoF2Bi0E,aACvB,SAAazrB,CAAK,EACtB,IAAI93C,EAAQ83C,EAAA93C,UAAgB,CAAAC,WAAa,EACvCpvB,CAAAA,EAAO6gB,eAAgB,CAAAsO,EAAW,EACnCnvB,CAAAA,EAAA6gB,eAAA,CAAAsO,EAAA,KAGD,IAAI0/C,EAAO7uE,EAAA6gB,eAAY,CAAAsO,EAAA,CAAAwjE,EAAA1rB,EAAA11C,SAAA,CAAAnC,WAAA,QAAA63C,EAAA31C,UAAA,KAAAlC,WAAA,GAIzB,OAHIy/C,CAAM,CAAA8jB,EAAU,EACjB9jB,CAAAA,CAAA,CAAA8jB,EAAA,KAEH9jB,CAAA,CAAA8jB,EAAA,EAYsEC,aACpE,SAAAC,CAAA,CAAA3B,CAAmC,CAAA4B,CAAA,CAAAC,CAAA,EAMnC,IAA2D10F,EAAA20F,EAAAC,EAAAxC,EAAvDyC,EAAA,IAAgB,CAAAR,YAAU,CAAAxB,GAAaiC,EAAgB,KAAA7B,mBAAA,CAAAJ,GAAAkC,EAAA,KAAA9B,mBAAA,CAAAyB,GAAAM,EAAAP,EAAAD,EAAAS,EAAAH,IAAAC,EAAAG,EAAArC,EAAAt0F,QAAA,MAAA+xF,eAAA,CAU0B,GATnFmE,GAAgBI,KAAuBr2F,IAAvBq2F,CAAS,CAACJ,EAAa,EACxCG,CAAAA,EAAAC,CAAA,CAAAJ,EAAA,EAEej2F,KAAAA,IAAdq2F,CAAA,CAAAL,EAAc,EACfpC,CAAAA,EAAApyF,EAAA60F,CAAA,CAAAL,EAAA,EAECS,GAAcJ,KAAiBr2F,IAAjBq2F,CAAU,CAAAG,EAAO,EAEhC5C,CAAAA,EAAAuC,CADCA,EAAcE,CAAA,CAAAG,EAAc,EAC7BJ,CAAA,EAEC50F,KAAUxB,IAAVwB,GAAe40F,KAAmBp2F,IAAnBo2F,GAAmBD,KAAAn2F,IAAAm2F,EAAA,CAClC,IAAAv0E,EAAA,KAAAwwE,mBAAA,GAED,KAAA2B,cAAA,CAAAnyE,EAAAyyE,EAAA,GACD,QACEr0F,KAAAA,IAAAwB,IACAoyF,EAAUpyF,EAASogB,EAAA+0E,WAAA,CAAAX,GAAAx0F,KAAA,CACpB60F,CAAA,CAAAL,EAAA,CAAAx0F,GAEiBxB,KAAAA,IAAhBo2F,GAA+BK,GAAeR,IAC9CG,EAAUx0E,EAAA+0E,WAAgB,CAAAV,GAAAz0F,KAAA,CAC3B60F,CAAA,CAAAJ,EAAA,CAAAG,GAECK,GAAAN,KAAAn2F,IAAAm2F,IAEAA,EAAUv0E,EAAO+0E,WAAG,CAAAH,GAAAh1F,KAAA,CACpB60F,CAAA,CAAAG,EAAc,CAAAL,EACfvC,EAAAuC,EAAAC,GACQ,CAA+B50F,MAAAA,EAAak1F,EAA6B9C,YAAAA,EAAA8C,CACpF,CAEA,EAMuCE,gBACzB,SAAArD,CAAA,CAAAyC,CAAqB,EACnC,YAAAL,oBAAA,CAAApC,EAAAyC,EAAA,WAEA,EAKiCa,YAC3B,SAAWhD,CAAK,EACpB,IAAIiD,EAAK,KAAWC,YAAQ,CAAAlD,GAO9B,OANsB,IAAlB,KAAApC,WAAc,EACfqF,CAAAA,EAAAt1F,KAAA,OAAAw1F,sBAAA,IAECF,EAASt1F,KAAK,CAAG,GAClBs1F,CAAAA,EAAAt1F,KAAA,IAEHs1F,CAEA,EAMkCC,aAC5B,SAAclD,CAAU,EAK5B,IAAK/rF,EAAamvF,EAAaC,EAAAC,EAAAC,EAAAC,EAA3B71F,EAAC,EAAuB+xF,EAAG,KAAAf,UAAA,CAAAqB,EAAA,CAAAyD,EAAA,MAAA/D,EAAAt2F,MAAA,EAAAs6F,EAAA,EAAAjoE,EAAA,KAAAA,IAAA,CAAA4yC,EAAA,eAAAmvB,QAAA,CACG,IAChCvpF,EAAA,EADF,IAAK,CAAA+pF,YAAW,CAAAgC,EAAa,CAAAyD,EAC3BxvF,EAAWyrF,EAAKt2F,MAAE,CAAA6K,IAClBmvF,EAAA1D,CAAe,CAAAzrF,EAAA,CACfqvF,EAAa,IAAG,CAAAK,eAAA,CAAAP,EAAApD,EAAA/rF,EAAAovF,GAChBI,CAAS,CAAAxvF,EAAA,CAAAqvF,EACT31F,GAAA21F,EAAevD,WAAA,CACjBsD,EAAAD,EASU,GANMK,CACR,CAAAxvF,EAAA,EACN8C,KAAAusF,EAAOA,EAAAvsF,IAAA,CAAAusF,EAAA31F,KAAA,GACPA,MAAA,EACAoyF,YAAa,EACfvyF,OAAA,KAAAtB,QAAA,EAEEuvB,EAAA,CAIsB,OAHtB+nE,EAAgB/nE,EAAO6iE,YAAK,CAAA7iE,EAAA6iE,YAAwB,CAAEl1F,MAAG,CAAK,GAAAA,MAAA,CAC9Dm6F,EAAej0F,EAAIqc,IAAK,CAAAif,cAAY,CAAAnP,EAAAA,IAAA,GAAAA,EAAA6iE,YAAA,EACpCiF,EAAcluE,CAAC,EAAIoG,EAAK8P,UAAU,CAAClW,CAAC,CACpCkuE,EAAajuE,CAAA,EAAAmG,EAAS8P,UAAA,CAAAjW,CAAA,CACpB,IAAK,CAAA2nE,SAAA,MACH,OACAyG,EAAMr1B,EAAAm1B,EAAA71F,EAAA,EACR,KAAK,KACH,SACA+1F,EAAM,CAAAF,EAAA71F,CAAA,IACR,KAAK,KACH,QACA+1F,EAAMr1B,EAAA,EAAAm1B,EAAA71F,CAAA,CAMa,IAFvB+1F,GAAmB,KAAKnG,eAAc,CACpClvB,CAAAA,EAAU,GAAK,CAAI,EAEnBp6D,EAAAo6D,EAAAqxB,EAAet2F,MAAU,CAAG,IAAAilE,EAAAp6D,GAAA,EAAAA,EAAAyrF,EAAAt2F,MAAA,CAAAilE,EAAAp6D,IAAAA,GAAA,CAC5BqvF,EAAIG,CAAiB,CAAAxvF,EAAA,CACnByvF,EAAAF,EACFE,GACSF,EACPE,EAAkB,GACnBA,CAAAA,GAAAF,CAAA,EAID,KAAAI,kBAAkB,CAAAF,EAAaJ,EAAWC,GAC5CG,GAAAJ,EAAAvD,WAAA,CAEF,MAAS,CAAcpyF,MAAAA,EAAyBk2F,YAlDjB,CAmDjC,CAEA,EAQ0ED,mBACpE,SAAiBF,CAAiB,CAAAJ,CAAa,CAAAC,CAC/C,EAEJ,IAAAO,EAAAJ,EAAAJ,EAAAvD,WAAA,GAAAtkE,EAAA,IAA8E,CAAAA,IAAA,CAE9EiI,EAAAp0B,EAAaqc,IAAA,CAAUif,cAAY,CAAAnP,EAAAA,IAAA,CAAcqoE,EAACroE,EAAA6iE,YAAA,CAClDgF,CAAAA,EAAavB,UAAS,CAAGr+D,EAAMrO,CAAA,CAAGkuE,EAAeluE,CAAA,CACjDiuE,EAAa/gC,SAAQ,CAAA7+B,EAAKpO,CAAK,CAAIiuE,EAAajuE,CAAA,CAClDguE,EAAA/uE,KAAA,CAAAmP,EAAAnP,KAAA,iBAAAipE,QAAA,CAAAzwF,KAAAsnB,EAAA,GAEA,EASkFsvE,gBACpE,SAAKP,CAAA,CAAApD,CAAA,CAAA3+D,CAA4B,CAAAgiE,CAAW,CACpDU,CAAA,EAKJ,IAA4BnG,EAAxB3xF,EAAK,KAAA+3F,2BAAmB,CAAAhE,EAAA3+D,GAAAb,EAAA6iE,EAAA,KAAAW,2BAAA,CAAAhE,EAAA3+D,EAAA,MAAAqC,EAAA,KAAAw+D,YAAA,CAAAkB,EAAAn3F,EAAAo3F,EAAA7iE,GAAAu/D,EAAAr8D,EAAAq8D,WAAA,CAAApyF,EAAA+1B,EAAA/1B,KAAA,CACP,IAAnB,KAAAiwF,WAAc,GAEdjwF,GADAiwF,EAAS,KAAAuF,sBAAA,GAEVpD,GAAAnC,GAES,IACRvrD,EAAA,CACA1kC,MAAMA,EACNoJ,KAAA,EACAvJ,OAAAvB,EAAaC,QAAA,CACb6zF,YAAQA,EACVj/D,OAAA70B,EAAA60B,MAAA,EACgC,GAC9BO,EAAI,IAAc0iE,EAAK,CACvB,IAAIE,EAAO,KAAYjG,YAAO,CAAAgC,EAAY,CAAK3+D,EAAQ,GACxDgR,EAAAt7B,IAAA,CAAAktF,EAAAltF,IAAA,CAAAktF,EAAAt2F,KAAA,CAAA+1B,EAAAq8D,WAAA,CAAAr8D,EAAA/1B,KAAA,CACD,OACF0kC,CAEA,EAKqC6hC,gBAC1B,SAAa8rB,CAAC,CAAU,CAAE,GACjC,KAAAkE,aAAY,CAAAlE,EAAc,CAC3B,YAAAkE,aAAA,CAAAlE,EAAA,CAMgD,IAC/C,IAHEN,EAAA,IAAa,CAAAf,UAAA,CAAAqB,EAAA,CAEjBmE,EAAa,IAAG,CAAApB,eAAiB,CAAA/C,EAAW,GAC1C/rF,EAAA,EAAAme,EAAiBstE,EAAIt2F,MAAK,CAAA6K,EAAAme,EAAAne,IAC5BkwF,EAAAp3F,KAAAI,GAAA,MAAA41F,eAAA,CAAA/C,EAAA/rF,GAAAkwF,GAGF,YAAAD,aAAA,CAAAlE,EAAA,CAAAmE,EAAA,KAAAjH,UAAA,MAAAS,aAAA,EAK2ByB,eACrB,UAAY,CAC4C,IAC1D,IADGlC,EAAW1vF,EAAU,EACxByG,EAAA,EAAAme,EAAiB,IAAC,CAAAusE,UAAA,CAAev1F,MAAC,CAAA6K,EAAAme,EAAAne,IAClCipF,EAAW,IAAM,CAAAhpB,eAAU,CAAAjgE,GAC7BzG,GAAAyG,IAAAme,EAAA,EAAA8qE,EAAA,KAAAA,UAAA,CAAAA,CAAA,CAEF,OAAA1vF,CAEA,EAI2Bg0F,eACb,UAAS,CACvB,mBAAA1D,SAAA,OAAAnwF,KAAA,QAAAA,KAAA,IAM0B+zF,cAChB,UAAc,CACxB,YAAAl0F,MAAA,EAEA,EAKyC42F,kBAC/B,SAAAr2E,CAAA,CAAA8d,CAAA,EACR9d,EAAIkgC,IAAA,GACwD,IAC1D,IADGo2C,EAAW,EAAMttF,EAAK,KAAAyqF,cAAmB,GAAI1qF,EAAK,IAAK,CAAA4qF,aAAA,GACtDztF,EAAA,EAAAme,EAAA,IAAe,CAAAusE,UAAK,CAAAv1F,MAAe,CAAC6K,EACpCme,EAAAne,IAAA,CAEJ,IAAIgtF,EAAC,IACH,CAAA/sB,eAEK,CAAAjgE,GAAAkwF,EACLlD,EAAO,IACP,CAAA/D,UAAM,CAAAqE,EAAc,IACpB,CAAAM,kBAAA,CAAA5tF,GAEF,KAAA6sF,eAAe,CAAAj1D,EAAA9d,EAAA,KAAA4wE,UAAA,CAAA1qF,EAAA,CAAA8C,EAAAwqF,EAAAzqF,EAAAutF,EAAAF,EAAAlwF,GACjBowF,GAAApD,CACA,CACFlzE,EAAAwgC,OAAA,EAEA,EAI+BgyC,gBACnB,SAASxyE,CAAK,EACtB,MAAA8D,IAAA,OAAAmvE,QAAA,WAIJ,KAAAoD,iBAAA,CAAAr2E,EAAA,WAEA,EAIiCuyE,kBACpB,SAAUvyE,CAAK,EACxB,OAAA4S,MAAA,WAAAla,WAAA,QAAA69E,aAAA,KAIA,IAAI,CAAC3pC,MAAA,OAAc,CAAAA,MAAA,CAAAyC,YAAA,EACpB,KAAAiZ,aAAA,CAAAtoD,GAGDA,EAAIkgC,IAAC,GACL,IAAI,CAAAuW,YAAS,CAAAz2C,EAAA,KAAA8sC,eAAA,EACb9sC,EAAIsgC,SAAC,GACL,IAAI,CAAA+1C,iBAAS,CAAAr2E,EAAA,cACbA,EAAI8pC,SAAO,GACb9pC,EAAAwgC,OAAA,GAEA,EASgEwyC,aAC9D,SAAAl1D,CAAyB,CAAA9d,CAAA,CAAA2xE,CAAA,CAAA3oF,CAAA,CAAAD,CAAA,CAAAkpF,CAAA,EAazB,IAAQuE,EAAAC,EAAApD,EAAAqD,EAAAC,EAAJxH,EAAI,KAAAhpB,eAAA,CAAA8rB,GAAA2E,EAAA,UAAA1H,SAAA,CAAAtrE,OAAA,YAAAizE,EAAA,GAAAhD,EAAA,EAAAnmE,EAAA,KAAAA,IAAA,CAAAopE,EAAA,CAAAF,GAAA,SAAA/G,WAAA,OAAA0G,aAAA,CAAAtE,IAAA,CAAAvkE,EAAAqpE,EAAA,aAAAhH,SAAA,CAAAtpE,EAAA,aAAAspE,SAAA,MAAAiH,EAAAh3E,EAAArmB,MAAA,CAAA49E,YAAA,QAOM,GANdv3D,EAAIkgC,IAAA,GACF82C,IAAW,IAAa,CAAAjH,SAAO,GAC/B/vE,EAAIrmB,MAAA,CAAA0oC,YAAY,CAAQ,MAAA00D,EAAa,aACrC/2E,EAAI+vE,SAAS,CAAGgH,EAAQ,WAAS,CAClC/2E,EAAAkvE,SAAA,CAAA6H,EAAA,gBAEDhuF,GAAIomF,EAAU,KAAAQ,iBAAA,MAAAR,UAAA,CACZ2H,EAAA,CAGA,IAAI,CAAAG,WAAO,CAAAn5D,EAAA9d,EAAAiyE,EAAA,EAAAN,EAAAtgE,IAAA,KAAAroB,EAAAD,EAAAomF,GACXnvE,EAAAwgC,OAAA,GACD,MACD,KACE,IAAAt6C,EAAA,EAAAme,EAAestE,EAAMt2F,MAAO,GAAK6K,GAAAme,EAAWne,IAC5CwwF,EAAAxwF,IAAqBme,GAAG,KAAAwrE,WAAA,EAAAniE,EACxBmpE,GAAelF,CAAA,CAAAzrF,EAAA,CACfmtF,EAAI,KAAApD,YAAgB,CAAAgC,EAAA,CAAA/rF,EAAA,CAClB2tF,IAAAA,GACA7qF,GAAAyd,EAAY4sE,CAAAA,EAAQrB,WAAK,CAAAqB,EAAAzzF,KAAA,EAC3Bi0F,GACKR,EAAAzzF,KAAA,EAEJi0F,GAAAR,EAAArB,WAAA,CAEC4E,GAAS,CAAAF,GACP,KAAA1H,cAAmB,CAAA5tD,IAAA,CAAAuwD,CAAA,CAAAzrF,EAAA,GACpBwwF,CAAAA,EAAA,IAGDA,IAEAF,EAAYA,GAAK,KAAAP,2BAA2C,CAAAhE,EAAA/rF,GAC5DuwF,EAAA,IAAe,CAAAR,2BAA4B,CAAAhE,EAAa/rF,EAAA,GACzDwwF,EAAAn1F,EAAAqc,IAAA,CAAA4U,eAAA,CAAAgkE,EAAAC,EAAA,KAECC,IACEhpE,GACA1N,EAAIkgC,IAAA,GACJlgC,EAAIE,SAAO,CAAAmzE,EAAQW,UAAK,CAAAX,EAAA7+B,SAAA,EACxBx0C,EAAIwP,MAAC,CAAA6jE,EAAY7sE,KAAA,EACjB,IAAI,CAAAywE,WAAO,CAAAn5D,EAAA9d,EAAAiyE,EAAA/rF,EAAA2wF,EAAA,CAAAhD,EAAA,IAAA1E,GACbnvE,EACKwgC,OAAA,KAEHm2C,EAAK3tF,EACN,KAAAiuF,WAAA,CAAAn5D,EAAA9d,EAAAiyE,EAAA/rF,EAAA2wF,EAAAF,EAAA5tF,EAAAomF,IAED0H,EAAc,GACdL,EAAQC,EACRztF,GAAAyd,EAAWotE,EACZA,EAAA,GAGL7zE,EAAAwgC,OAAA,EAEA,EAWqD02C,mCACzB,SAAAtxE,CAAmB,CAAI,CAE7C,IAAgD6jD,EAAhDC,EAAanoE,EAAQqc,IAAI,CAACqQ,mBAAa,GAC3CruB,EAAQ,KAAKA,KAAG,MAAA8Y,WAAA,CAAAjZ,EAAA,KAAAA,MAAA,MAAAiZ,WAAA,CAUlB,OATEgxD,EAAQ9pE,KAAA,CAAMA,EACd8pE,EAAOjqE,MAAA,CAAQA,EACGgqE,CAAlBA,EAAKC,EAASzpD,UAAA,QAASqgC,SAAO,GAAOmpB,EAAK7f,MAAM,CAAC,KAAW6f,EAAK5f,MAAM,CAACjqD,EAAO,GAC/E6pE,EAAK5f,MAAM,CAACjqD,EAAGH,GAASgqE,EAAK5f,MAAA,GAASpqD,GACtCgqE,EAAK3f,SAAS,GACd2f,EAAKvpD,SAAS,CAAAtgB,EAAG,EAAOH,EAAO,GAC/BgqE,EAAKtpB,SAAA,CAAAv6B,EAAAmkC,MAAA,CAAA0f,GACL,KAAKb,8BAAI,CAAAa,EAAA7jD,GACT6jD,EAAA3lD,IAAO,GACT2lD,EAAAzX,aAAA,CAAA0X,EAAA,YAEA,EAA8CytB,aACxC,SAASn3E,CAAA,CAAA6F,CAAA,CAAAD,CAAA,EACb,IAAIy1B,EAAOC,SAAQ,EACbyO,MAAO,CAAuF,eAChGnkC,EAAA8iD,aAAA,EAAA9iD,EAA2CokC,iBAAA,EAAApkC,EAAAqkC,gBAAA,EAK3C5O,EAAU,CAAC,IAAI,CAACz7C,KAAA,CAAM,EACtB07C,EAAI,KAAU,CAAA77C,MAAA,CAAS,EACvBugB,EAAIE,SAAS,CAAAm7B,EAAQC,GACrBt7B,CAAA,CAAA6F,EAAO,MAAAqxE,kCAAA,CAAAtxE,GAAE,CAAkBy1B,QAASA,EAAQC,QAAAA,CAC9C,IAIEt7B,CAAA,CAAA6F,EAAY,CAAAD,EAAAmkC,MAAA,CAAA/pC,EAAA,MACb,KAAA4oD,8BAAA,CAAA5oD,EAAA4F,GACH,EAIC5F,CAAA,CAAA6F,EAAA,CAAAD,EACQ,CAAYy1B,QAAS,EAAEC,QAAA,CAClC,EADE,EAGoCitB,iBACvB,SAAQvoD,CAAA,CAAAwoD,CAAW,EAMlC,OALExoD,EAAIqgC,SAAO,CAAGmoB,EAAK9vD,WAAa,CAChCsH,EAAIgtC,OAAA,KAAc,CAAAH,aAAQ,CAC1B7sC,EAAIyoD,cAAW,CAAK,KAAA7E,gBAAc,CAClC5jD,EAAIktC,QAAA,CAAU,IAAG,CAAA1jC,cAAK,CACtBxJ,EAAAitC,UAAY,MAAAxjC,gBAAkB,CAChC,KAAA0tE,YAAA,CAAAn3E,EAAA,cAAAwoD,EAAA51C,MAAA,CAEA,EAAoCi2C,eACtB,SAAA7oD,CAAY,CAACwoD,CAAK,EAChC,YAAA2uB,YAAA,CAAAn3E,EAAA,YAAAwoD,EAAA1kD,IAAA,CAEA,EAW2EmzE,YACrE,SAAYn5D,CAAA,CAAA9d,CAAA,CAAAiyE,CAAqB,CAAA3+D,CAAW,CAAA8gE,CAAA,CAC5CprF,CAAA,CAAAD,CAAA,CAAW,CAKf,IAAkCquF,EAAAC,EAA9B7uB,EAAC,KAAA8uB,oBAA6B,CAAArF,EAAA3+D,GAAAikE,EAAA,KAAAtB,2BAAA,CAAAhE,EAAA3+D,GAAAkkE,EAAA15D,aAAAA,GAAAy5D,EAAAzzE,IAAA,CAAAytD,EAAAzzC,eAAAA,GAAAy5D,EAAA3kE,MAAA,EAAA2kE,EAAA7+E,WAAA,CAChC,IAAA8+E,CAAA,IAIFx3E,EAAAkgC,IAAA,GACAs3C,GAAAJ,CAAAA,EAAiB,IAAgB,CAAAvuB,cAAK,CAAA7oD,EAAgBu3E,EAAM,EAE5DhmB,GAAgB8lB,CAAAA,EAAA,IAAoB,CAAA9uB,gBAAA,CAAAvoD,EAAAu3E,EAAA,EAGpCv3E,EAAI4yE,IAAA,KAAQ,CAAAC,mBAAK,CAAmB0E,GAClC/uB,GAAKA,EAAA+mB,mBAAc,EACpB,KAAAjnB,aAAA,CAAAtoD,GAECwoD,GAAOA,EAAKz1C,MAAM,EACnBhqB,CAAAA,GAAAy/D,EAAAz1C,MAAA,EAEDykE,GAAAx3E,EAAgBy3E,QAAI,CAAArD,EAAWprF,EAAOouF,EAAO/7C,OAAc,CAAAtyC,EAASquF,EAAM97C,OAAA,EAC1Ei2B,GAAWvxD,EAAA03E,UAAA,CAAAtD,EAAAprF,EAAAquF,EAAAh8C,OAAA,CAAAtyC,EAAAsuF,EAAA/7C,OAAA,EACbt7B,EAAAwgC,OAAA,GAEA,EAOqCm3C,eACvB,SAAAlkE,CAAW,CAAAC,CAAO,EAChC,YAAAkkE,UAAA,CAAAnkE,EAAAC,EAAA,KAAA07D,WAAA,CAEA,EAOmCyI,aAC1B,SAAKpkE,CAAW,CAAAC,CAAA,CAAO,CAChC,YAAAkkE,UAAA,CAAAnkE,EAAAC,EAAA,KAAA47D,SAAA,CAEA,EASyCsI,WACnC,SAAWnkE,CAAA,CAAAC,CAAA,CAAAokE,CAAoB,EAGvB,IAAEC,EAAA,IAAU,CAAAC,mBAAkB,CAAAvkE,EAAI,IAAAt1B,EAAA,KAAA41F,oBAAA,CAAAgE,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,aAAAwX,EAAA,KAAAipD,oBAAA,CAAAgE,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,WAAAp1B,EAAA,CAAEC,SAAQA,EAAK25F,EAAW52F,IAAO,CAAS6xB,OAAA+X,EAAA3sC,EAAA25F,EAAAzI,QAAA,EAG1F,OADE,KAAA4I,kBAAW,CAAA/5F,EAAAu1B,EAAAC,GACb,MAOwCogE,mBACtB,SAAK7B,CAAa,EAGlC,IAEwCH,EAFpCzxC,EAAA,IAAc,CAAA0xC,YACZ,CAAAE,GAAciG,EAAA,KAAAt4F,KAAqB,CAAAygD,EAAA6uC,EACnC,KAAAA,SAAc,CAAAa,EAAoB,KAAAA,SAAA,CACpByD,EAAA,EAAkB1B,EACpC,KAAAA,eAAA,CAAAG,SAAA,YACA/C,GAAOA,CAAAA,mBAAAA,GAAA4C,CAAA,GAAA5C,CAAAA,kBAAAA,GAAA4C,CAAA,GAAA5C,CAAAA,iBAAAA,GAAA4C,CAAA,GAGM,WAAb5C,GACDsE,CAAAA,EAAA0E,EAAA,GAEc,UAAbhJ,GACDsE,CAAAA,EAAA0E,CAAA,EAEc,mBAAbhJ,GACDsE,CAAAA,EAAA0E,EAAA,GAEc,kBAAbhJ,GACDsE,CAAAA,EAAA0E,CAAA,EAEe,QAAdnI,GACDyD,CAAAA,GAAA0E,CAAA,EAEH1E,GAjBG,CACD,EAqBsBtC,YACjB,UAAe,CACpB,IAAI,CAACiH,YAAA,CAAa,EAAG,CACrB,IAAI,CAAChC,aAAY,CAAG,EAAE,CACxB,KAAAlG,YAAA,KAKuCmI,2BACd,WACvB,IAAAC,EAAgB,KAAAC,gBAAmB,CAMrC,OALED,GAAIA,CAAAA,EAAa,KAAAz5B,eAAA,8BACfy5B,IACA,IAAI,CAACj0B,KAAA,IACN,KAAAk0B,gBAAA,KAEHD,CAEA,EAOkCtG,aACvB,SAAAE,CAAa,EAA0B,GAC9C,KAAyB7zF,IAAzB,KAAA+5F,YAAY,CAAAlG,EAAa,CAC1B,YAAAkG,YAAA,CAAAlG,EAAA,CAID,IAAIryF,EAACs1F,IADO,CAAAD,WAAc,CAAAhD,GACRryF,KAAA,CAEpB,OADE,KAAAu4F,YAAO,CAAAlG,EAAA,CAAAryF,EACTA,CAEA,EAAmCw1F,uBACb,UAAQ,YAC1B,KAAAvF,WAAY,CACb,KAAA1xF,QAAA,MAAA0xF,WAAA,KAEH,CADE,EAU6DkE,qBAC7C,SAAK9B,CAAA,CAAA3+D,CAAqB,CAAAzN,CAAW,EACrD,IAAI4sE,EAAA,IAAa,CAAA6E,oBAAiB,CAAArF,EAAc3+D,UAAa,GACpD,KAAmB,IAATm/D,CAAS,CAAA5sE,EAAA,CAC3B4sE,CAAA,CAAA5sE,EAAA,CAEH,KAAAA,EAAA,EAM2CwsE,sBACtB,SAAMryE,CAAA,CAAQxjB,CAAC,EAAO,GACvC,KAAAA,EAAA,OAAAy2F,QAAA,CAAAz2F,IAY0D,IAC1D,IADG02F,EAAWhyF,EAAMq3F,EAAKpF,EAAmBroD,EAAI0tD,EAAK7G,EAAK8G,EAAA1vF,EAAA6qF,EAAAC,EAAAR,EAAAqF,EAAAtC,EAAAuC,EAAAC,EAAApF,EAAA,KAAAC,cAAA,GAAAoF,EAAA,KAAAlF,aAAA,GAAAjmE,EAAA,KAAAA,IAAA,CAAAmiE,EAAA,KAAAuF,sBAAA,GAAA95C,EAAA,KAAAutC,OAAA,CAAArsF,EAAA,CAC1D0J,EAAA,EAAAme,EAAe,IAAK,CAAAusE,UAAA,CAAAv1F,MAAgB,CAAA6K,EAAAme,EAAAne,IAAA,CACQ,GAA5CgtF,EAAe,IAAI,CAAC/sB,eAAc,CAAAjgE,GAChC,MAAA1J,EAAA,EAAa,MAAAy2F,QAAA,CAAAz2F,EAAA0J,GAAA,CACb2yF,GAAS3F,EACV,SACD,EACA,KAAYtC,UAAA,CAAA1qF,EAAA,CACZkwF,EAAAlD,EAAsB,KAAA/D,UAAmB,CACzCgE,EAAW,KAAAW,kBAAA,CAAA5tF,GACX0tF,EAAW,EACXC,EAAA,EACA4E,EAAgB,KAAA1E,oBAAwB,CAAG7tF,EAAA,EAAA1J,GAC3Co8F,EAAM,KAAA7E,oBAA6B,CAAA7tF,EAAK,UACxC6C,EAAA8vF,EAAYzC,EAAmB,QAAAzG,iBAAA,EAC/BzuF,EAAK,IAAK,CAAA8zF,eAAA,CAAA9uF,EAAqB,GAC/B4kC,EAAK,IAAI,CAAAipD,oBAAmB,CAAA7tF,EAAM,EAAE,UAAe,IACjD,IAAA2xB,EAAA,EAAUC,EAAK65D,EAAAt2F,MAAa,CAAGw8B,EAAEC,EAAAD,IAKa,GAJ9Cw7D,EAAA,KAAApD,YAAyB,CAAA/pF,EAAA,CAAA2xB,EAAA,CACzB6gE,EAAmB,KAAA3E,oBAAwB,CAAG7tF,EAAA2xB,EAAAr7B,GAC9Cm8F,EAAa,KAAA5E,oBAAmB,CAAA7tF,EAAA2xB,EAAA,QAChC0gE,EAAM,IAAK,CAAAvD,eAAA,CAAA9uF,EAAqB2xB,GAChC2gE,EAAI,KAAAzE,oBAAQ,CAAA7tF,EAAqB2xB,EAAA,UAC/BnK,GAAQgrE,GAAAC,EACR34E,EAAIkgC,IAAA,GACJlgC,EAAImgC,SAAS,CAACy4C,EACd54E,EAAIE,SAAO,CAAAmzE,EAAQW,UAAK,CAAAX,EAAA7+B,SAAA,EACxBx0C,EAAIwP,MAAA,CAAA6jE,EACD7sE,KAAQ,EAKXxG,EAAIwxC,QAAO,EAAA6hC,EAAArB,WAAA,GAAA12C,EAAAi9C,EAAAC,EAAAnF,EAAArB,WAAA,MAAA7zF,QAAA,KACb6hB,EACKwgC,OACF,QAGD,GAAI,CAAAk4C,IAAyBD,GAAiBE,IAAAC,GAAAL,IAAAr3F,GAAAs3F,IAAA1tD,CAAA,GAAA+oD,EAAA,GAC9C,IAAIN,EAAKC,EAAcL,EAAOS,EACX,QAAjB,KAAA7D,SAAY,EACbwD,CAAAA,EAAA,KAAA3zF,KAAA,CAAA2zF,EAAAM,CAAA,EAEC4E,GAAgBG,IAChB54E,EAAImgC,SACF,CAAAy4C,EAKH54E,EAAAwxC,QAAA,CAAA+hC,EAAAxqF,EAAAuyC,EAAAp6C,EAAA4pC,EAAA+oD,EAAA,KAAA11F,QAAA,MAEDy1F,EAAWP,EAAQrqF,IAAA,CACnB6qF,EAAAR,EAAiBzzF,KAAA,CACjB64F,EAAWC,EACXE,EAAOD,EACPz3F,EAAKq3F,EACPztD,EACK0tD,CAAA,MAEJ3E,GAAAR,EAAArB,WAAA,CAGH,IAAIuB,EAAKC,EAAcL,EAAOS,EACX,QAAjB,KAAA7D,SAAY,EACbwD,CAAAA,EAAA,KAAA3zF,KAAA,CAAA2zF,EAAAM,CAAA,EAED7zE,EAAAmgC,SAAA,CAAAw4C,EAMAD,GAAaC,GAAA34E,EAAAwxC,QAAA,CAAA+hC,EAAAxqF,EAAAuyC,EAAAp6C,EAAA4pC,EAAA+oD,EAAAhE,EAAA,KAAA1xF,QAAA,KACf06F,GAAA3F,CACA,CAGF,KAAA5qB,aAAA,CAAAtoD,GAzFE,EAgGuD6yE,oBAC3C,SAAAiG,CAAqB,CAAApG,CAAc,EAE/C,IAAIx0F,EAAA46F,GAAa,IAAW,CAAAC,EAC5B,KAAAroE,UAAe,CAAAsoE,EAAcz3F,EAAOspB,IAAQ,CAAAouE,YAC5C,CAAAr1E,OAAO,CAAAm1E,EAAQpoE,WAAa,OAE5BD,EAAOqoE,KAAA36F,IAAA26F,GAAAA,EAAAn1E,OAAA,UAAAm1E,EAAAn1E,OAAA,UAAAm1E,EAAAn1E,OAAA,UAAAo1E,EAAA96F,EAAAwyB,UAAA,KAAAxyB,EAAAwyB,UAAA,WACL,CAGCnvB,EAAOigB,YAAY,CAAGtjB,EAAM20B,UAAS,CAAG30B,EAAM40B,SAAU,CACzDvxB,EAAAigB,YAAmB,CAACtjB,EAAA40B,SAAe,CAAG50B,EAAO20B,UAAM,CACnD6/D,EAAA,KAAAxC,eAAA,MAAAhyF,EAAAC,QAAA,MACAuyB,EACJ,CAAAW,IAAA,KAEA,EAIsB+xB,OACpB,SAAApjC,CAAA,EAEE,KAAA8gC,OAAA,EAGA,OAAAnnD,MAAA,QAAAA,MAAA,CAAA4qD,aAAA,OAAAgD,KAAA,OAAA0f,UAAA,MAGA,IAAI,CAACmxB,0BAAc,IACpB,KAAA9H,cAAA,GAEH,KAAA3wD,SAAA,UAAA3f,GAEA,EAKoC2wE,oBACjB,SAAMv9D,CAAK,EAIW,IACrC,IAHa66C,EAAA76C,EAAA5H,KAAA,MAAAsjE,UAAA,EAAA4B,EAAA,MAAAziB,EAAA5yE,MAAA,EAAA69F,EAAA,CACX,KACJ,CAAAC,EAAa,EAAG,CACdjzF,EAAQ,EAAGA,EAAG+nE,EAAO5yE,MAAK,CAAA6K,IAC1BwqF,CAAA,CAAAxqF,EAAU,CAAA3E,EAAQqc,IAAO,CAAAsN,MAAA,CAAQoT,aAAK,CAAA2vC,CAAA,CAAA/nE,EAAA,EACxCizF,EAAAA,EAAAj5F,MAAA,CAAAwwF,CAAA,CAAAxqF,EAAA,CAAAgzF,GAEO,OAAPC,EAAO3oE,GAAA,GAAE,CAA2BugE,gBAAOL,EAAOziB,MAAAA,EAAuBgjB,aAAAkI,EAAwBtI,cAAAH,CACnG,CAEA,EAKwC5lC,SAClC,SAAAF,CAAgB,CAAgB,CACpC,IAAIwuC,EAAWxK,EAAU1uF,MAAY,CAAA0qD,GACjCtlC,EAAM,IAAG,CAAAqa,SAAW,CAAC,WAAAy5D,GAK3B,OAJE9zE,EAAI1qB,MAAI,CAAI2G,EAAEqc,IAAA,CAAAuV,aAAA,MAAAv4B,MAAA,MAAAw4B,IAAA,EACZ9N,EAAIoI,IAAI,EACTpI,CAAAA,EAAAoI,IAAA,MAAAA,IAAA,CAAAo9B,QAAA,IAEHxlC,CAEA,EAO0B5e,IACxB,SAAKE,CAAA,CAAUhL,CAAA,CAAO,CACtB,IAAI,CAAA+jC,SAAA,OAAiB/4B,EAAAhL,GACrB,IAAIy9F,EAAA,GACAC,EAAe,GAAU,GAC3B,iBAAK1yF,EAAiB,IACpB,IAAIhE,KAAAgE,EACG,SAALhE,GACD,KAAAytF,WAAA,GAEDgJ,EAAAA,GAAe,UAAAxK,wBAAyB,CAAAjrE,OAAA,CAAAhhB,GAC1C02F,EAAAA,GAAA12F,SAAAA,OAIAy2F,EAAA,SAAe,CAAAxK,wBAAQ,CAAAjrE,OAAA,CAAAhd,GACxB0yF,EAAA1yF,SAAAA,CACD,CAQF,OAPI0yF,GACD,KAAAjJ,WAAA,GAECgJ,IACA,IAAI,CAAC/I,cAAS,GACf,KAAAnnF,SAAA,IAEH,MAMuBoc,WACd,WACT,QACF,CAIA,GAOoDhkB,EAC9CspB,IAAA,CAAA+B,UAAa,CAAM,SAASpxB,CAAA,CAAOwpB,CAAO,CAAI,CAClD,IAAAu0E,EAAOzwF,EAAetN,GAAAkyB,EAAAlyB,EAAAkyB,IAAA,CACsD,OAA5E,OAAO6rE,EAAO7rE,IAAO,CACnBnsB,EAAA4W,MAAa,CAAAiyD,WAAS,CAAO,OAAKmvB,EAAe,SAAQC,CAAQ,CAAO,CACxEA,EAAU5+F,MAAA,CAAA2G,EAAAqc,IAAA,CAAA+V,eAAA,CAAAn4B,EAAAZ,MAAA,CAAAY,EAAA43B,IAAA,EACR1F,EAA+DnsB,EAC7D4W,MAAA,CAAAiyD,WAAiB,QAAQ18C,EAAA,SAAA+rE,CAAA,EACzBD,EAAS9yF,GAAA,QAAA+yF,GACRz0E,EAAAw0E,EACL,EACK,QAEJx0E,EAAAw0E,EAEL,SAEA,EAA2Bj4F,EAACspB,IAAA,CAAAouE,YAAA,EAAc,aAAS,QAAW,UAAW,UAAY,YAErF,CAEC13F,EAAiCqc,IAAA,CAAAguD,eAAc,EAAArqE,EAAAqc,IAAA,CAAAguD,eAAA,CAAArqE,EAAAspB,IAAA,CACjD,EAAAtO,GACsFhb,GACnFqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAspB,IAAA,CAAAzS,SAAA,EAKmCm+E,cACvB,SAAQtE,CAAA,KAChB,MAAAr3F,MAAW,EAGX,KAAW,IAAJq3F,GAAI,MAAAr3F,MAAA,CAAAq3F,EAAA,CAFZ,QACD,CAG2D,IAAE3sE,EAAM,KAAY,IAAP2sE,EAAiB,KAAAr3F,MAAA,EAAE+2F,KAAA,KAAA/2F,MAAA,CAAAq3F,EAAA,CAC3F,CAAoB,IAClB,IAAKz2D,KAAIlW,EAAe,IACtB,IAAAmW,KAAAnW,CAAA,CAAAkW,EAAA,CAC4B,IAC1B,IAAAk+D,KAAOp0E,CAAK,CAAAkW,EAAA,CAAAC,EAAA,CACd,SAIN,QAEA,EAOwCw3D,SACjC,SAAKptE,CAAW,CAAAosE,CAAY,EAAiB,GAChD,MAAAr3F,MAAY,GAAAirB,GAAAA,KAAAA,GAGZ,KAAY,IAALosE,GAAK,MAAAr3F,MAAA,CAAAq3F,EAAA,CAFb,QACD,CAG2D,IAAE3sE,EAAG,KAAsB,IAAjB2sE,EAAiB,KAAAr3F,MAAA,EAAE,OAAAA,MAAA,CAAAq3F,EAAA,CACxF,CACoB,IAClB,IAAAz2D,KAAAlW,EACwB,IACtB,IAAImW,KAAAnW,CAAO,CAAGkW,EAAC,CAAmC,GAChD,KAAW,IAAJlW,CAAA,CAAIkW,EAAA,CAAAC,EAAA,CAAA5V,EAAA,CACZ,QACH,CAGJ,QAEA,EAU+B8zE,WACxB,SAAW9zE,CAAK,EAA6B,GAChD,MAAAjrB,MAAY,GAAAirB,GAAAA,KAAAA,EACb,QACD,CAEA,IAA2B+zE,EAAAC,EAAAf,EAA3BxzE,EAAA,KAAA1qB,MAAA,CAAAk/F,EAA2B,EAAAC,EAAA,GAAAC,EAAA,EACP,IAClB,IAAAx+D,KAAAlW,EAAc,CAEU,IACtB,IAAImW,KAFNm+D,EAAA,EAEMt0E,CAAA,CAAAkW,EAAA,CAAc,CAGlB,IAAAs9D,EAAAxzE,CAAA,CAAAkW,EAAA,CAAAC,EAAA,CAAAw+D,EAAAnB,EAAA56D,cAAA,CAAArY,EAEAi0E,CAAAA,IACEG,GACEJ,EAGAf,CAAA,CAAAjzE,EAAA,GAAgCg0E,GACjCE,CAAAA,EAAA,IAHDF,EACqBf,CAAS,CAAKjzE,EAAA,CAKjCizE,CAAO,CAAAjzE,EAAY,OAAS,CAAAA,EAAA,EAC7B,OAAAizE,CAAA,CAAAjzE,EAAA,EAIFk0E,EAAA,GAGC5hF,IAAAA,OAAA04D,IAAA,CAAAioB,GAAAz9F,MAAA,CACFu+F,IAGC,OAAAt0E,CAAA,CAAAkW,EAAA,CAAAC,EAAA,CAIa,IAAdm+D,GACD,OAAAt0E,CAAA,CAAAkW,EAAA,CAI8C,IAC/C,IAAAt1B,EAAA,EAAAA,EAAA,IAAiB,CAAA0qF,UAAK,CAAAv1F,MAAc,CAAA6K,IACtC8zF,GAAA,KAAApJ,UAAA,CAAA1qF,EAAA,CAAA7K,MAAA,CAEE0+F,GAAiBD,IAAAE,IACjB,IAAI,CAACn0E,EAAA,CAAYg0E,EAClB,KAAAK,WAAA,CAAAr0E,GAGH,EAOgCq0E,YACrB,SAAOr0E,CAAK,EAA6B,GAChD,KAAAjrB,MAAA,EAAAirB,GAAAA,KAAAA,GAGF,IAAqB8rE,EAAAwI,EAAAC,EAAhB90E,EAAA,KAAW1qB,MAAK,KACnBu/F,KAAW70E,EAAA,CACW,IACpB80E,KADFzI,EAAKrsE,CAAA,CAAA60E,EAAW,CAEd,OAAIxI,CAAO,CAAAyI,EAAS,CAACv0E,EAAQ,CACP,IAApB1N,OAAO04D,IAAI,CAAC8gB,CAAA,CAAAyI,EAAQ,EAAA/+F,MAAA,EACrB,OAAAs2F,CAAA,CAAAyI,EAAA,CAGkB,IAAnBjiF,OAAO04D,IAAI,CAAA8gB,GAAAt2F,MAAQ,EACpB,OAAAiqB,CAAA,CAAA60E,EAAA,EAXH,EAkBqCE,cAC3B,SAAKhnF,CAAA,CAAAzY,CAAA,CAAoB,CAEnC,IAAIm9F,EAAM,KAAAC,mBAAkB,CAAA3kF,GAC1B,IAAK,CAAAinF,aAAc,CAAAvC,EAAI9F,SAAS,GACjC,KAAAsI,aAAA,CAAAxC,EAAA9F,SAAA,EAGC,IAAK,CAAAqF,oBAAqB,CAAAS,EAAI9F,SAAS,CAAE8F,EAAIzkE,SAAS,GACvD,KAAAknE,oBAAA,CAAAzC,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,KAGH/xB,GAAAqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,MAAA86E,oBAAA,CAAAS,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,EAAA14B,EAEA,EAK4Do9F,oBAC/C,SAAAyC,CAAmB,CAAAC,CAAa,EACnB,SAAtBD,GACDA,CAAAA,EAAA,KAAAA,cAAA,EAG6B,IAC5B,IADGxsB,EAAQysB,EAAY,IAAK,CAAA5J,mBAAA,MAAAF,UAAA,CAAAvsE,EAAA4pD,EAAA5yE,MAAA,CACxB6K,EAAA,EAAAA,EAAAme,EAAAne,IAAkB,CAAiB,GACrCu0F,GAAOxsB,CAAA,CAAA/nE,EAAA,CAAA7K,MAAA,OACL,CACA42F,UAAW/rF,EACbotB,UAAAmnE,CACD,CACD,CACFA,GAAAxsB,CAAA,CAAA/nE,EAAA,CAAA7K,MAAA,MAAA62F,oBAAA,CAAAhsF,EACA,CAAO,MACL,CACA+rF,UAAW/rF,EAAA,EACbotB,UAAA26C,CAAA,CAAA/nE,EAAA,GAAA7K,MAAA,CAAAo/F,EAAAxsB,CAAA,CAAA/nE,EAAA,GAAA7K,MAAA,CAAAo/F,CAAA,CAGF,EAQ6DE,mBAChD,SAAAC,CAAe,CAAAC,CAAa,CAAAC,CAAA,EACnB,SAAlBF,GACDA,CAAAA,EAAA,KAAAH,cAAA,KAEiB,SAAhBI,GACDA,CAAAA,EAAA,KAAAE,YAAA,EAAAH,CAAA,EAE2C,IAC1C,IADGhgG,EAAQ,GACXsL,EAAO00F,EAAU10F,EAAA20F,EAAA30F,IACnBtL,EAAAvF,IAAA,MAAA2lG,kBAAA,CAAA90F,EAAA40F,IAEF,OAAAlgG,CAEA,EAOiDogG,mBAChC,SAAA9uE,CAAA,CAAoB4uE,CAAA,EAGnC,IAAA/C,EAAO,KAAAC,mBAAU,CAAA9rE,GACnB,MAAAhuB,CADmB48F,EAAA,KAAA7E,2BAAA,CAAA8B,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,OAAAgkE,oBAAA,CAAAS,EAAA9F,SAAA,CAAA8F,EAAAzkE,SAAA,IACnB,EAEA,EAQ2D2kE,mBAC9C,SAAAr9F,CAAe,CAAAggG,CAAa,CAAAC,CAAA,EACnB,SAAlBD,GACDA,CAAAA,EAAA,KAAAH,cAAA,KAEiB,SAAhBI,GACDA,CAAAA,EAAA,KAAAE,YAAA,EAAAH,CAAA,EAC2C,IAC1C,IAAI10F,EAAC00F,EAAc10F,EAAG20F,EAAA30F,IACxB,KAAAm0F,aAAA,CAAAn0F,EAAAtL,GAIF,OADa,KAAA09F,gBAAA,IACb,MAQqDhB,qBACnC,SAAWrF,CAAS,CAAA3+D,CAAO,EAC3C,IAAI2nE,EAAY,KAAArgG,MAAA,OAAAA,MAAA,CAAAq3F,EAAA,UAIlBgJ,CAAA,CAAA3nE,EAAA,CAFG,MAWyD2iE,4BACzC,SAAAhE,CAAqB,CAAA3+D,CAAW,EAEM,IACrD,IADqD/O,EAAlDrmB,EAAQ,IAAG,CAAAo5F,oBAAS,CAAArF,EAAyB3+D,IAAK,GAAAwlE,EAAA,GACrD5yF,EAAO,EAAIA,EAAC,KAAA8pF,gBAAmB,CAAA30F,MAAA,CAAA6K,IAEjC4yF,CAAA,CADEv0E,EAAA,IAAW,CAACyrE,gBAAe,CAAA9pF,EAAA,CAC7B,UAAAhI,CAAA,CAAAqmB,EAAA,MAAAA,EAAA,CAAArmB,CAAA,CAAAqmB,EAAA,CAEF,OAAAu0E,CAEA,EAM4D0B,qBAC9C,SAAWvI,CAAa,CAAA3+D,CAAA,CAAAp1B,CAAA,EACtC,KAAAtD,MAAA,CAAAq3F,EAAA,CAAA3+D,EAAA,CAAAp1B,CAEA,EAMwDg9F,wBACnC,SAAWjJ,CAAA,CAAU3+D,CAAA,EAC1C,YAAA14B,MAAA,CAAAq3F,EAAA,CAAA3+D,EAAA,EAOmCgnE,cACxB,SAAWrI,CAAC,CAAU,CACjC,aAAAr3F,MAAA,CAAAq3F,EAAA,EAOmCsI,cACtB,SAACtI,CAAc,EAC5B,KAAAr3F,MAAA,CAAAq3F,EAAA,GAEA,EAIsCkJ,iBACxB,SAAOlJ,CAAU,EAC/B,YAAAr3F,MAAA,CAAAq3F,EAAA,CAEJ,GACY,UAEN,CASJ,IAAAxyC,EAAoBl+C,GAAIk+C,aAAe,CAAA27C,EAAA37C,EAAApC,2BAAA,CAAAg+C,EAAA57C,EAAAxC,uBAAA,CAAAiB,EAAAuB,EAAAvB,cAAA,CAAAG,EAAAoB,EAAApB,kBAAA,CAAAE,EAAAkB,EAAAlB,kBAAA,CAAAc,EAAAI,EAAAJ,qBAAA,CAAAi8C,EAAA/5F,GAAA4W,MAAA,CAAAC,SAAA,CAAAqF,QAAA,CAsEnB,GAtEmB69E,EACjCC,EAAA,KAAAh6F,GAAAs/C,OAAA,EACJv5B,EAAG,IACHC,EAAA,EACAi6B,mBAAe45C,EACf3gD,cAAe8D,EACjBkD,cAAApC,CAEA,GAAuCi8C,EAClCE,EAAA,KAAAj6F,GAAAs/C,OAAA,EACHv5B,EAAG,GACHC,EAAA,EACAi6B,mBAAe45C,EACf3gD,cAAe8D,EACjBkD,cAAApC,CAEA,GAAuCi8C,EAClCG,EAAA,KAAAl6F,GAAAs/C,OAAA,EACHv5B,EAAG,EACHC,EAAA,GACAi6B,mBAAe45C,EACf3gD,cAAe4D,EACjBoD,cAAApC,CAEA,GAAuCi8C,EAClC1+D,EAAA,KAAAr7B,GAAAs/C,OAAA,EACHv5B,EAAG,EACHC,EAAA,IACAi6B,mBAAe45C,EACf3gD,cAAe4D,EACjBoD,cAAApC,CAEA,GAAuCi8C,EACjCt4C,EAAA,KAAAzhD,GAAAs/C,OAAA,EACJv5B,EAAG,IACHC,EAAA,IACAi6B,mBAAe65C,EACjB5gD,cAAAyD,CAEA,GAAuCo9C,EAClCr4C,EAAA,KAAA1hD,GAAAs/C,OAAA,EACHv5B,EAAG,GACHC,EAAA,IACAi6B,mBAAe65C,EACjB5gD,cAAAyD,CAEA,GAAuCo9C,EACjCp4C,EAAA,KAAA3hD,GAAAs/C,OAAA,EACJv5B,EAAG,IACHC,EAAA,GACAi6B,mBAAe65C,EACjB5gD,cAAAyD,CAEA,GAAuCo9C,EAClCn4C,EAAA,KAAA5hD,GAAAs/C,OAAA,EACHv5B,EAAG,GACHC,EAAA,GACAi6B,mBAAe65C,EACjB5gD,cAAAyD,CAEA,GAAwCo9C,EACnCI,GAAA,KAAAn6F,GAAAs/C,OAAA,EACHv5B,EAAG,EACHC,EAAA,IACAkzB,cAAAgF,EAAoBlC,oBAAc,CAClCiE,mBAAU/B,EAAAF,oBAAA,CACVjE,QAAA,IACA4F,eAAY,GACdH,WAAA,QAEA,GACEx/C,GAAAo6F,OAAA,EAOA,IAAAC,EAAsBr6F,GAAAo6F,OAAA,CAAevjF,SAAG,CAAAqF,QAAA,GACxCm+E,CAAAA,EAAgBF,GAAE,CAAGJ,EAAeI,GAAE,CACtCE,EAAgB34C,EAAE,CAAGq4C,EAAer4C,EAAE,CACtC24C,EAAgBz4C,EAAE,CAAGm4C,EAAen4C,EAAE,CACtCy4C,EAAgB54C,EAAE,CAAGs4C,EAAet4C,EAAE,CACtC44C,EAAgB14C,EAAE,CAAGo4C,EAAep4C,EAAE,CACtC04C,EAAgBh/D,EAAE,CAAG0+D,EAAe1+D,EAAE,CAEtCg/D,EAAgBH,EAAE,CAAGH,EAAWG,EAAA,CAAQG,EACnCJ,EAAA,KAAAj6F,GAAAs/C,OAAA,EACHv5B,EAAG,GACHC,EAAA,EACAkzB,cAAAgF,EAAoBhB,WAAA,CACpB+C,mBAAY45C,EACdr6C,WAAA,UAEA,GAAwC66C,EAClCL,EAAA,KAAAh6F,GAAAs/C,OAAA,EACJv5B,EAAG,IACHC,EAAA,EACAkzB,cAAAgF,EAAoBhB,WAAA,CACpB+C,mBAAY45C,EACdr6C,WAAA,UACD,EACH,KASEx/C,GAAI4W,MAAA,CAAA6U,aAAwB,CAAA33B,IAAM,CAAC,UAC/B+oB,GAAA7c,GAAoB4W,MAAO,CAAAC,SAAO,CAAA+vD,aAAU,CAC5C9pD,GAAmB9c,GAAO4W,MAAA,CAAAC,SAAU,CAAQwvD,gBAAA,CAC5CtpD,GAAA/c,GAAiB4W,MAAO,CAAAC,SAAO,CAAA0yC,QAAU,CACzCvpD,GAAA4W,MAAA,CAAAC,SAAuC,CAAAyjF,aAAO,CACft6F,GAAO4W,MAAA,CAAAC,SAAU,CAAA0jF,4BAAoB,CAEhDv6F,GAAA4W,MAAgB,CAAAC,SAAK,CAAA2jF,oBAAA,CAC7Cx6F,GAAO4W,MAAM,CAACC,SAAS,CAACmsD,eAAe,CAAClvE,IAAI,CAAC,UAE7CkM,GAAA4W,MAAA,CAAAC,SAAA,CAAAksD,eAAA,CAAAjvE,IAAA,WAGmDkM,GACjDqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAA4W,MAAA,CAAAC,SAAA,EAYA4jF,SAAA,GAMAC,OAAA79F,KAAAA,EAI8BwpE,iBACrB,UAAkB,CAC3B,OAAAvpD,GAAAiG,IAAA,eAAA23E,MAAA,EASwC9zB,cACtC,SAAoBnoD,CAAA,CAAIuS,CAAO,EACd,GAAjBnU,GAAekG,IAAE,MAAAtE,EAAAuS,GACf,KAAA0pE,MAAA,EAEA,IAAI/6F,EAAO,IAAC,CAAAmnE,4BAAgC,EAAI,KAC9C,CAAA4zB,MAAO,CAAAjxB,MAAM,iBAAAixB,MAAA,CAAAv1F,GAAA,EACb9G,MAAAsB,EAAQomB,CAAK,CACf7nB,OAAAyB,EAAAqmB,CAAA,GAEDnJ,GAAAkG,IAAA,MAAAtE,EAAA,KAAAi8E,MAAA,CACH,GAOyCnxC,SACnC,SAASF,CAAqB,MAACpvD,EAAA8iB,GAAAgG,IAAA,OAAY,WAC/C,CAAApkB,MAAQ,CAAC0qD,IAIX,OAHI,KAAAqxC,MAAO,EAAM,CAAG,IAAI,CAACA,MAAM,CAAChxC,iBAAS,EACtCzvD,CAAAA,EAAAygG,MAAA,MAAAA,MAAA,CAAAnxC,QAAA,CAAAF,EAAA,EAEHpvD,CAGF,CAEA,GACA+iB,GAA0Bhd,GAAOqsB,KAAM,CAAAxV,SAAW,CAAAm8D,oBAAA,CAAAhzE,GAChDqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAqsB,KAAA,CAAAxV,SAAA,EAIyC8jF,wBAClB,SAACxuE,CAAU,EAAQ,IACtC,CAAA3uB,QAAO,CAAAqqB,OAAA,CAAW,SAAC5tB,CAAU,EAK/B+F,GAAA46F,WAAA,CAAA/jF,SAAA,CAAAgkF,sBAAA,CAAA93E,IAAA,CAAA/iB,GAAA46F,WAAA,CAAA/jF,SAAA,CAAA5c,EAAAkyB,EACF,EAEA,EAIkC2uE,qBACd,UAAS,CAC3B,IAAIv8D,EAAQ,KAAAm8D,EAAA,KAAAA,MAAA,IACVA,EAAO,CACP,OAAI,KAAAA,MAAY,CAChB,IAAAlyE,EAAa+V,EAAUxN,mBAAQ,GAAA2pE,EAC7BnzF,KAAI,UAAWmzF,CAAM,EACrB,IAAA1pE,EAAOuN,EAAWvN,QACf,CAAwB0pE,EACvBh3E,UAAA,SAAAmE,OAAA,UAAAsE,CAAA,EAKA,IAAA4uE,EAAY/6F,GAAAqc,IAAuB,CAAA0Q,yBAAM,CAAAvE,EAAA2D,EAAA4E,mBAAA,IACzC/wB,GAAIqc,IAAA,CAAA8T,sBAAU,CAAAhE,EAAA4uE,GACZ/pE,EAAoCA,EAC9BzpB,KAAA,UAAayzF,CAAO,EAMxB,IAAAC,EAAMj7F,GAAA46F,WAAwB,CAAA/jF,SAAA,CAAAqkF,mBAAA,CAAAn4E,IAAA,CAAA/iB,GAAA46F,WAAA,CAAA/jF,SAAA,CAAAsV,EAAA6uE,EAAAxyE,GAC7B+V,EAAAo8D,uBAAA,CAAAM,EAAA,GAAuB,qBAAW,WACvC,EAGC18D,EAAAo8D,uBAAA,CAAAxuE,EAEP,EACD,EACH,GAMkC6mD,qBACd,UAAQ,CAE5B,MADE,CAAO,IAAP,KAAAynB,QAAO,MAAsB,CAAAK,oBAAS,GACxC99E,GAAA+F,IAAA,MACF,CAEA,GAOsD/iB,GACpDm7F,MAAA,CAAAn7F,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAqsB,KAAA,EAMApxB,KAAA,SAKAu9C,QAAA,SAKAC,QAAA,SAA2ButB,WACjB,SAAAvnD,CAAA,EACRA,EAAIkgC,IAAA,GACJlgC,EAAImgC,SAAS,CAAC,QACdngC,EAAIwxC,QAAO,OAAA5xD,KAAA,SAAAH,MAAA,QAAAG,KAAA,MAAAH,MAAA,EACXugB,EAAIwgC,OAAC,GACP,KAAA7gB,SAAA,cAAA3f,EAEA,EAQEq1D,WAAQ,WAIZ,CAEA,GAOuD9zE,GACjDm7F,MAAA,CAAA9vE,UAAiB,UAAOpxB,CAAA,CAAAwpB,CAAA,EAC5B,IAAA3b,EAAY7N,EAAA6N,OAAe,CAAqC9H,GAC9Dqc,IAAI,CAAA0O,cAAiB,CAAAjjB,EAAW,SAAOmjB,CAAY,EACnD,IAAAvxB,EAAOsG,GAAQqc,IAAO,CAAApiB,MAAA,CAAAsN,KAAA,CAAAtN,EAAA,GACtB,QAAOP,EAAKoO,OAAA,CAAqD9H,GAC/Dqc,IAAA,CAAAkP,uBAAyB,CAAOtxB,EAAOP,EAAA,UAAkB,CAC3D+pB,GAAAA,EAAA,IAAAzjB,GAAAm7F,MAAA,CAAAlwE,EAAAvxB,EAAA,IACF,EACF,EAEA,EACAujB,GAAAjd,GAAAuV,MAAA,CAAAsB,SAAA,CAAA+wC,cAAA,CAImD5nD,GACjDqc,IAAA,CAAApiB,MAAA,CAAAghB,MAAA,CAAAjb,GAAAuV,MAAA,CAAAsB,SAAA,EAIuBukF,UAEnB,UAAK,CAKT,YAAA/iG,aAAA,OAAA+R,gBAAA,kBAAAA,gBAAA,CAAAnP,IAAA,OAAAmP,gBAAA,CAAAixF,UAAA,EAO+BzzC,eAC7B,SAAqBnpC,CAAA,CAAI,CACzBxB,GAAS8F,IAAS,KAAO,CAAAtE,GACvB,IAAI,CAAC28E,SAAA,KAAgB,IAAC,CAAAhxF,gBAAO,CAAA4lB,QAAA,EAC9B,KAAA5lB,gBAAA,CAAA8iD,OAAA,EAEL,CAEA,GAqB6CltD,GACzC46F,WAAM,CAAA56F,GAAAqc,IAAA,CAAAG,WAAA,CAAAxc,GAAAssD,WAAA,EAENrxD,KAAA,SAKA+0B,SAAA,GAKAqrE,WAAA,GAM+BC,YACtB,SAAOrhG,CAAQ,CAAK,CAC7B,MAAAA,CAAA,IAAAA,EAAAwgG,QAAA,EAe4Ec,4BACjD,SAAUC,CAAK,CAAA/8E,CAAA,CAAAg9E,CAAA,EAAAD,EAClC7zF,aAAI,CAAa,SAAQoc,CAAA,EAC3BA,EAAApc,aAAY,EAAAoc,SAAAA,EAAA02E,QAAA,CAEd,IACK,CAAAc,2BAA0B,CAAAx3E,EAAQtF,EAAIg9E,GACzC,MAAAzrE,QAAA,EAAAjM,EAAA02E,QAAoC,EAAA12E,EAAAw7B,OAAA,EAEpCx7B,EAAAw7B,OAAW,IACXi8C,EAAA34B,KAAA,CAAmB,GACnB44B,EAAmBj7C,UAAU,CAAC1sD,IAAI,CAACiwB,GACrC03E,EACcD,UAAgB,CAAA1nG,IAAA,CAAO0nG,IACnC,KAAAxrE,QAAA,EAAAjM,EAAAw7B,OAAA,GAEEx7B,EAAI02E,QAAO,EAAA12E,EAAQ22E,MAAO,EAC1B32E,EAAI22E,MAAK,CAAA1qE,QAAO,IAChBjM,EAAA8+C,KAAA,CAAW,GACX24B,EAAA34B,KAAA,CAAmB,GACnB44B,EAAmBf,MAAA,CAAA5mG,IAAW,CAAAiwB,GAChC03E,EACKD,UAAA,CAAA1nG,IAAA,CAAA0nG,KAEHz3E,EAAAw7B,OAAW,IACXi8C,EAAA34B,KAAA,CAAmB,GACnB44B,EAAmBj7C,UAAU,CAAC1sD,IAAI,CAACiwB,GACpC03E,EAAAD,UAAA,CAAA1nG,IAAA,CAAA0nG,IAGP,OAEA,EAM4BE,eAChB,UAAc,CACtB,IAAK,CAAAC,cAAc,EACpB,MAAAA,cAAA,CAAA37F,GAAAqc,IAAA,CAAAqQ,mBAAA,IAED,IAAAt0B,EAAY,IAAG,CAAAujG,cAAiB,CAChCvjG,EAAOiG,KAAA,CAAM,IAAG,CAAIjG,MAAC,CAAMiG,KAAC,CAC5BjG,EAAI8F,MAAA,KAAa,CAAA9F,MAAO,CAAA8F,MAAU,CAClC,IAAImyD,EAAYj4D,EAAAsmB,UAAgB,OAAI,GAClC,IAAI,CAAAtmB,MAAA,CAAAqrD,gBAAqB,GAAO,CAChC,IAAIgT,EAAQ,KAAAr+D,MAAmB,CAACsrD,gBAAe,GAChD,KAAAtrD,MAAA,CAAAwrD,mBAAA,CAAA6S,EAAAr+D,EAAAi4D,EACD,KAIIjO,EAAmB,KAAAhqD,MAAA,CAAAgqD,eAAqB,CAAAw5C,EAAsBx5C,GAAO,IAAe,CAAAk5C,WAAG,CAAAl5C,GAAAE,EAAA,KAAAlqD,MAAA,CAAAkqD,YAAA,CAAAu5C,EAAAv5C,GAAA,KAAAg5C,WAAA,CAAAh5C,GAAA,GACzF,KAAI,CAAAtyB,QAAA,EAAYoyB,CAAAA,GAAA,CAAAw5C,GAAA,KAAAxjG,MAAA,CAAA7B,eAAA,EAAEqlG,GAA0C,MAAAxjG,MAAA,CAAAgqD,eAAA,CAAAvlD,KAAAA,CAAA,EAE5D,IAAI,CAAAzE,MAAA,CAAAgvD,iBAAY,CAAAiJ,GAAEurC,GAAgD,MAAAxjG,MAAA,CAAAgqD,eAAA,CAAAA,CAAA,OAGlE,GAAI,KAAQpyB,QAAK,EAAOoyB,GAAew5C,EAAA,CACvC,IAAIvxF,EAAQ,KAAAjS,MAAA,CAAA7B,eAAkB,CAC9B,IAAI,CAAC6B,MAAM,CAAC7B,eAAA,CAAkBsG,KAAAA,EAC9B,IAAI,CAACzE,MAAM,CAACgvD,iBAAe,CAAGiJ,GAC/B,KAAAj4D,MAAA,CAAA7B,eAAA,CAAA8T,CACD,GACWs0C,IAAA,GACX0R,EAAI7nC,SAAA,CAAA9F,KAAqB,CAAA2tC,EAAA,KAAAj4D,MAAA,CAAAuqD,iBAAA,MAAE84C,EAAc,CAAEj7C,WAAU,GAAEk6C,OAAA,GAAec,WAAA,IAUoB,GAR1F,IAAI,CAACD,2BAAsB,MAAAnjG,MAAiB,CAAAi4D,EAAOorC,GACnD,KAAArjG,MAAA,CAAAivD,cAAmB,CAAAgJ,EAAmB,KAAAj4D,MAAa,CAAAoF,QAAE,EAAAi+F,EAAgBj7C,UAAI,CAAA34B,OAAA,UAAA9D,CAAA,EAAEA,EAAAw7B,OAAA,GAC3E,GAAiDk8C,EACpCf,MAAQ,CAAG7yE,OAAK,UAAA9D,CAAA,EAC3BA,EAAI22E,MAAK,CAAA1qE,QAAO,IAClBjM,EAAA8+C,KAAA,GACA,GAAqD44B,EAAcD,UAAI,CAAA3zE,OAAA,UAAA9D,CAAA,EAAEA,EAAA8+C,KAAA,GACzE,GACAxS,EAAUpR,OAAQ,GAChB,KAAI,CAAAjvB,QAAA,EAAAsyB,CAAAA,GAAiB,CAAAu5C,GAAA,KAAAzjG,MAAA,CAAAiqD,YAAA,EAAEw5C,GAAuC,MAAAzjG,MAAA,CAAAkqD,YAAA,CAAAzlD,KAAAA,CAAA,EAE9DogB,GAAI8F,IAAA,CAAiB,KAAA3qB,MAAA,CAAAi4D,GAAEwrC,GAA0C,MAAAzjG,MAAA,CAAAkqD,YAAA,CAAAA,CAAA,OAGjE,GAAI,KAAQtyB,QAAK,EAAOsyB,GAAYu5C,EAAA,CACpC,IAAIxxF,EAAQ,KAAAjS,MAAA,CAAYiqD,YAAG,CAC3B,KAAAjqD,MAAA,CAAAiqD,YAAqB,CAAKxlD,KAAAA,EAC1BogB,GAAY8F,IAAA,KAAY,CAAA3qB,MAAG,CAAAi4D,GAC5B,KAAAj4D,MAAA,CAAAiqD,YAAA,CAAAh4C,CACH,GAOgCk7C,gBACf,SAAA9mC,CAAA,EACf,IAAI,CAAA2f,SAAA,CAAW,kBAAG3f,GACpBA,EAAAogC,WAAA,QAEA,EAckC+M,kBACjB,SAAAntC,CAAA,EACf,IAAI,CAAC2f,SAAA,qBAAgB3f,GACrB,IAAI,CAAA8mC,eAAA,CAAA9mC,GACNA,EAAAopC,wBAAA,CAAAppC,IAAA,KAAArmB,MAAA,CAAAsmB,UAAA,oCAM6BytC,gBAChB,WACb,QAEA,EAMyCW,YAC7B,SAAO9T,CAAA,CAAYt/C,CAAC,CAAQ,CACpC,KAAAtB,MAAA,CAAA20D,YAAA,CAAArzD,EAAA4O,CAAA,IAGF,KAAA0kD,kBAAA,CAAAhU,GAIA,KAAAiU,mBAAuB,CAAAjU,GAEvB,IAAI,CAAC0iD,cAAa,GAClB,IAAI,CAACL,UAAO,CAAK,GACjB,IAAI,CAACjjG,MAAA,CAAOwqB,IAAA,kBACd,KAAAsqC,OAAA,GAEA,EAMqBA,QACf,WAEF,KAAAl9B,QAAA,GAEAvR,EAAK,KAAArmB,MAAU,CAAAsmB,UAAW,GAC3B,KAAA0f,SAAA,WAAA3f,IAGDA,EAAK,KAAMrmB,MAAC,CAAA4rD,UAAa,CACzB,IAAI,CAAC5rD,MAAA,CAAAsuD,YAAU,CAAAjoC,GACf,IAAI,CAAA2f,SAAI,WAAA3f,GACRA,EAAIkgC,IAAI,GACR,IAXIlgC,EAWS+I,EAAA,EAAT,IAAM,CAAGpvB,MAAA,CAAAsrD,gBAAA,GACbjlC,EAAI5X,KAAA,CAAA2gB,EAAAA,GACJ/I,EAAIopC,wBAAe,aACnBppC,EAAII,SAAO,MAAA88E,cAAA,MACbl9E,EAAAwgC,OAAA,EAEA,EAQgC2O,WAC1B,SAAYn4B,CAAU,EAC1B,IAAAtJ,EAAK,KAAAiS,SAAA,cAAgC3I,GAGvC,OAFEtJ,EAAK07B,wBAAsB,CAAG,KAAA73B,QAAU,CAAO,gCAC/C7D,EAAAkF,MAAO,MAAArB,QAAA,iBACT7D,CAEA,EASiF+uE,oBAC3E,SAAmB/uE,CAAO,CAAI6E,CAAC,CAAA8qE,CAAwC,EAQ3E,IAAAC,EAAA/7F,GAAAqc,IAAA,CAAA0M,eAAA,CAAAoD,EAAA4E,mBAAmE,IAAAirE,EAAAhrE,EAAAD,mBAAA,GAAAvI,EAAAwI,EAAAkyC,kBAAA,CAAA64B,EAAA/7F,GAAAqc,IAAA,CAAA0Q,yBAAA,CAAAgvE,EAAAD,EAAA,CAgBrE,OAbE9qE,EAAOkyC,kBAAK,IAOZljE,GAAAqc,IAAA,CAAA8T,sBAAA,CAAAa,EAAAhxB,GAAAqc,IAAA,CAAA0Q,yBAAA,CAAAvE,EAAAwzE,IAKA7vE,EAAA6E,QAAO,CAAA7E,EAAA6E,QAAA,CAAAhxB,GAAAqc,IAAA,CAAAuU,cAAA,CAAAI,EAAA7E,EAAA6E,QAAA,EAAAA,CAAA,CACT7E,CAEA,EAQyD8vE,sBACpC,SAAO9vE,CAAA,CAAAlyB,CAAA,CAAAwpB,CAAmB,EAC7C,IAAIy4E,EAAWjiG,EAAO82B,mBAAQ,GAC1BC,EAAQ/2B,EAAI+2B,QAAA,CAChBuN,EAAW,KAAiBpS,EAC1B5kB,KAAA,UAAe40F,CAAA,EAAqBnrE,EAClCzpB,KAAS,UAAMyzF,CAAA,EACdv3E,EAAA8a,EAAA28D,mBAAA,CAAAiB,EAAAnB,EAAAkB,GAAA,GAAuB,qBAAW,WACvC,CACF,EAEA,EAO6CrB,uBAC3B,SAAA92E,CAAA,CAAAoI,CAAA,EAChB,IAAAoS,EAAA,KACkD,GAChDxa,EAAIpc,aAAU,EAAIoc,SAAAA,EAAA02E,QAAe,CAAW,CAAM,IAChDxoC,EAAOluC,EAAKvmB,QAAQ,CAAAmL,MAAA,UAAAyqE,CAAA,EACtB,OAAAA,EAAAqnB,QAAA,EAEExoC,CAAAA,EAAKn4D,MAAA,IAAAiqB,EAAqBiN,QAAO,CAAsB,IACrD,CAAAirE,qBAAgB,CAAA9vE,EAAcpI,EAAE,SAAAo4E,CAAA,EAAAlqC,EAC9BpqC,OAAM,UAAAurD,CAAA,EACR70C,EAAAs8D,sBAAA,CAAAznB,EAAA+oB,EACF,EACF,GAEElqC,EAAen4D,MAAC,IAAgBm4D,EAC9BpqC,OAAM,UAAAurD,CAAA,EACR70C,EAAAs8D,sBAAA,CAAAznB,EAAAjnD,EACD,GAEF,MACD,KAEIuuE,EAAS32E,EAAA22E,MAAA,CACXA,IACAA,EAAI,IAAS16F,GAAAm7F,MAAA,CACdp3E,EAAA22E,MAAA,CAAAA,GAE0BvuE,EACzB5kB,KAAA,UAAA4kB,CAAA,EAOA,IAAAiwE,EAAYp8F,GAAAqc,IAAsB,CAAC0Q,yBAAM,CAAA/sB,GAAAqc,IAAA,CAAA0M,eAAA,CAAAhF,EAAAgN,mBAAA,IAAA5E,EAAA4E,mBAAA,IACzC/wB,GAAOqc,IAAA,CAAA8T,sBAAc,CAAAhE,EAAAiwE,GACrB1B,EAAOt7B,aAAU,CAAIjzC,GACrBpI,EAAI5e,GAAA,CAAI,QAAC,IAAe4e,EACtBnB,IAAA,eAAM,CACRuJ,KAAAA,CACA,GACEpI,EAAAiiC,KAAM,EAAAjoD,MAAaC,OAAK,CAAAugC,EAAA89D,YAAA,GACzB99D,EAAA89D,YAAA,CAAAvoG,IAAA,CAAAiwB,EAEL,EAEA,EAOqCu4E,oBACjB,SAAMnwE,CAAA,EACxB,IAAI/zB,EAAA,IAAa,CAAAA,MAAA,CACjBmkG,EAAA,GAWF,MAXE,CAEE,kBACA,eAAwB,CAAA10E,OACpB,UAAW7E,CAAA,CAAM,CACrB,IAAIw5E,EAAApkG,CAAY,CAAA4qB,EAAS,CACvBw5E,GAAKA,EAAA/B,QAAuB,GAC5B,KAAAI,sBAAkB,CAAA2B,EAAArwE,GACnBowE,CAAA,CAAAv5E,EAAA,CAAAw5E,EAEH,MAAO,EACTD,CAEA,EAKiCjvC,oBAChB,UAAO,CACtB,IAAI7uC,EAAA,IAAS,CAAArmB,MAAA,CAAA4rD,UAAA,CAAA5rD,EAAA,KAAAA,MAAA,CACbqmB,EAAI8pC,SAAK,GACP,IAAI,CAACgE,QAAO,EACb,MAAAG,OAAA,MAAAsB,cAAA,MAAAtB,OAAA,MAAAH,QAAA,GAIDn0D,EAAKsuD,YAAa,CAAAtuD,EAAK4rD,UAAA,EAEvB,IAAI,CAAAq3C,UAAW,IAGf,IAAI5lE,EAAC,IAAY,CAAAi3B,OAAK,OAAAA,OAAgB,CAAA5yD,MAAW,QAAA4zD,sBAAA,MAAAhB,OAAA,UAC/C,CAAAj3B,GAAY,KAAAk4B,eAAA,CAAAl4B,GAAA,CACZr9B,EAAAwqB,IAAA,gBAKAxqB,EAAA6P,gBAAA,GACD,MAED,KACAkkB,EAAA,KAAAyhC,UAAA,CAAAn4B,GAEAtJ,EAAAvkB,SAAA,GACmCxP,EAAEwqB,IAAM,wBAAKuJ,KAAAA,CAEhD,GAEA,IAAIowE,EAAY,KAAAD,mBAAA,CAAAnwE,GACZoS,EAAC,KACL,IAAI,CAAA89D,YAAY,IAChB,IAAApqC,EAAO,GAA6B75D,EAClCuP,aAAgB,UAAQoc,CAAA,EACtBA,EAAA02E,QAAM,EAAA12E,EAAA0mC,oBAA4B,CAAAt+B,EAAA,SAClCoS,EAAAs8D,sBAAa,CAAA92E,EAAAoI,GACd8lC,EAAAn+D,IAAA,CAAAiwB,GAEH,GAC2B3rB,EACzBwqB,IAAM,gBACNuJ,KAAAA,EACA8lC,QAAAA,EACAgL,WAAW,KAAAo/B,YAAA,CACbE,UAAAA,CACA,GAEA,OAAO,KAAAF,YAAgB,CACvBjkG,EAAK6P,gBAAY,GAEjB,KAAAmkD,YAAA,GAC4Bh0D,EAAEwqB,IAAM,iBAAKuJ,KAAAA,CAC3C,EACF,CAGF,EACF,kBCj6uBA,kBCAA,kBCAA,YAAAl4B,CAAA,EAAAA,EAAAwoG,CAAA,kEAAAxoG,EAAAA,EAAAuzB,CAAA,SAAAk1E,KAAAzoG,EAAAwoG,CAAA","sources":["webpack://_N_E/","webpack://_N_E/./src/useCanvas.ts","webpack://_N_E/./src/useTools.ts","webpack://_N_E/./src/CanvasTools.tsx","webpack://_N_E/./src/useWarrior.ts","webpack://_N_E/./src/fabricUtils.ts","webpack://_N_E/./src/imageProcessing.worker.ts","webpack://_N_E/./src/useImageWorker.ts","webpack://_N_E/./src/useSettings.ts","webpack://_N_E/./src/imageUtils.ts","webpack://_N_E/./src/ToolsProvider.tsx","webpack://_N_E/./src/CanvasBackdrop.tsx","webpack://_N_E/./src/CanvasProvider.tsx","webpack://_N_E/./src/CanvasInteractions.tsx","webpack://_N_E/./src/CanvasToggle.tsx","webpack://_N_E/./src/WarriorSelector.tsx","webpack://_N_E/./src/WarriorProvider.tsx","webpack://_N_E/./src/useEnvironment.ts","webpack://_N_E/./src/useSkin.ts","webpack://_N_E/./src/Material.tsx","webpack://_N_E/./src/Materials.tsx","webpack://_N_E/./src/WarriorViewer.tsx","webpack://_N_E/./src/EnvironmentSelector.tsx","webpack://_N_E/./src/EnvironmentExposure.tsx","webpack://_N_E/./src/AnimationSelector.tsx","webpack://_N_E/./src/EnvironmentProvider.tsx","webpack://_N_E/./src/SkinProvider.tsx","webpack://_N_E/./src/MaterialSelector.tsx","webpack://_N_E/./src/Canvas.tsx","webpack://_N_E/./src/useImageLoader.ts","webpack://_N_E/./src/ColorCanvas.tsx","webpack://_N_E/./src/MetallicCanvas.tsx","webpack://_N_E/./src/MaterialCanvases.tsx","webpack://_N_E/./src/ImageLoaderProvider.tsx","webpack://_N_E/./src/pages/index.tsx","webpack://_N_E/./src/useModelViewer.ts","webpack://_N_E/./vendor/fabric/fabric.js","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom/lib/jsdom/living/generated/utils","webpack://_N_E/ignored|/Users/exogen/Projects/t2-model-skinner/vendor/fabric|jsdom/lib/jsdom/utils","webpack://_N_E/"],"sourcesContent":["\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return require(\"private-next-pages/index.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/\"])\n });\n }\n ","import React, { useContext } from \"react\";\nimport { fabric } from \"fabric\";\n\nexport interface CanvasInfo {\n canvas: fabric.Canvas;\n notifyChange: () => void;\n isDrawingMode: boolean;\n setDrawingMode: (isDrawingMode: boolean) => void;\n undo: () => void;\n redo: () => void;\n canUndo: boolean;\n canRedo: boolean;\n}\n\ninterface CanvasContextValue {\n canvases: Record;\n registerCanvas: (canvasId: string, canvasInfo: CanvasInfo) => void;\n unregisterCanvas: (canvasId: string) => void;\n}\n\nconst CanvasContext = React.createContext(null);\nCanvasContext.displayName = \"CanvasContext\";\n\nexport { CanvasContext };\n\nfunction useCanvas(canvasId: string | null): CanvasInfo;\nfunction useCanvas(): CanvasContextValue;\n\nfunction useCanvas(canvasId?: string | null) {\n const context = useContext(CanvasContext);\n if (!context) {\n throw new Error(\"No CanvasContext.Provider\");\n }\n if (typeof canvasId === \"undefined\") {\n return context;\n } else if (canvasId == null) {\n return {};\n } else {\n return context.canvases[canvasId] ?? {};\n }\n}\n\nexport default useCanvas;\n","import React, { useContext } from \"react\";\nimport { fabric } from \"fabric\";\n\ninterface ToolsContextValue {\n activeCanvas: string | null;\n activeCanvasType: string;\n setActiveCanvasType: (canvasType: string) => void;\n selectedObjects: Array;\n brushSize: number;\n setBrushSize: (brushSize: number) => void;\n brushColor: number;\n setBrushColor: (brushColor: number) => void;\n hueRotate: number | null;\n setHueRotate: (hueRotate: number) => void;\n saturation: number | null;\n setSaturation: (saturation: number) => void;\n brightness: number | null;\n setBrightness: (brightness: number) => void;\n layerMode: string;\n setLayerMode: (layerMode: string) => void;\n deleteSelection: () => void;\n undo: () => void;\n redo: () => void;\n canUndo: boolean;\n canRedo: boolean;\n addImages: (imageUrls: string[]) => void;\n duplicate: () => void;\n sendBackward: () => void;\n bringForward: () => void;\n lockSelection: () => void;\n unlockSelection: () => void;\n exportSkin: ({\n name,\n format,\n }: {\n name: string;\n format: string;\n }) => Promise;\n lockedObjects: Set;\n backgroundColor: string;\n setBackgroundColor: (backgroundColor: string) => void;\n selectedMaterialIndex: number;\n setSelectedMaterialIndex: (materialIndex: number) => void;\n textureSize: [number, number];\n hasMetallic: boolean;\n}\n\nconst ToolsContext = React.createContext(null);\nToolsContext.displayName = \"ToolsContext\";\n\nexport { ToolsContext };\n\nexport default function useTools() {\n const context = useContext(ToolsContext);\n if (!context) {\n throw new Error(\"No ToolsContext.Provider\");\n }\n return context;\n}\n","import { InputHTMLAttributes, useEffect, useRef, useState } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useTools from \"./useTools\";\nimport { usePopper } from \"react-popper\";\nimport Slider from \"rc-slider\";\nimport { RiFileCopyFill } from \"react-icons/ri\";\nimport { FaTrashAlt, FaLock, FaUnlock } from \"react-icons/fa\";\nimport { GoArrowUp, GoArrowDown } from \"react-icons/go\";\nimport { GiArrowCursor } from \"react-icons/gi\";\nimport { IoMdBrush } from \"react-icons/io\";\nimport { ImPlus, ImUndo2, ImRedo2, ImContrast } from \"react-icons/im\";\n\nexport default function CanvasTools() {\n const nameInputRef = useRef(null);\n const fileInputRef = useRef(null);\n const fileTypeRef = useRef(null);\n const {\n activeCanvas,\n backgroundColor,\n setBackgroundColor,\n selectedObjects,\n lockedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n activeCanvasType,\n addImages,\n exportSkin,\n } = useTools();\n const { canvas, isDrawingMode, setDrawingMode } = useCanvas(activeCanvas);\n const [isMac, setIsMac] = useState(false);\n const commandKeyPrefix = isMac ? \"⌘\" : \"Ctrl \";\n const shiftKeySymbol = \"⇧\";\n\n // Brush popup\n const [referenceElement, setReferenceElement] = useState(\n null\n );\n const [popperElement, setPopperElement] = useState(null);\n const [arrowElement, setArrowElement] = useState(null);\n const [isBrushToolsOpen, setBrushToolsOpen] = useState(false);\n const [isFilterToolsOpen, setFilterToolsOpen] = useState(false);\n const { styles, attributes } = usePopper(referenceElement, popperElement, {\n modifiers: [\n { name: \"arrow\", options: { element: arrowElement } },\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n ],\n });\n\n const isSelectionLocked = selectedObjects.length\n ? selectedObjects.every((object) => lockedObjects.has(object))\n : false;\n\n const handleBackgroundColorChange: InputHTMLAttributes[\"onChange\"] =\n (event) => {\n setBackgroundColor(event.target.value);\n };\n\n useEffect(() => {\n if (navigator.platform && navigator.platform.startsWith(\"Mac\")) {\n setIsMac(true);\n } else if (navigator.userAgent.match(/\\(Macintosh;/)) {\n setIsMac(true);\n }\n }, []);\n\n useEffect(() => {\n if (popperElement) {\n popperElement.focus();\n }\n }, [popperElement]);\n\n return (\n
\n
\n \n \n \n \n \n \n
\n
\n {activeCanvasType === \"color\" ? (\n <>\n {\n const imageUrl = await new Promise(\n (resolve, reject) => {\n const inputFile = event.target.files?.[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event) => {\n resolve(event.target?.result as string);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n }\n );\n addImages([imageUrl]);\n }}\n type=\"file\"\n accept=\".png, image/png\"\n hidden\n />\n {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }}\n >\n \n \n\n {\n setFilterToolsOpen((isOpen) => !isOpen);\n }}\n >\n \n \n\n {isFilterToolsOpen ? (\n {\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving =\n !newFocusElement ||\n !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setFilterToolsOpen(false);\n }\n }}\n {...attributes.popper}\n >\n
\n
\n \n
    \n {selectedObjects.length ? (\n
  • \n {\n setLayerMode(\"SelectedLayer\");\n }}\n />\n \n
  • \n ) : (\n <>\n
  • \n {\n setLayerMode(\"BaseLayer\");\n }}\n />{\" \"}\n \n
  • \n
  • \n {\n setLayerMode(\"AllLayers\");\n }}\n />\n \n
  • \n \n )}\n
\n
\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setHueRotate(value / 180);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setSaturation(value / 100);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrightness(value / 100);\n }}\n trackStyle={{\n height: 8,\n background: \"#03fccf\",\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n
\n\n \n
\n ) : null}\n \n {isSelectionLocked ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : null}\n\n {activeCanvasType === \"metallic\" ? (\n <>\n {\n setDrawingMode(false);\n }}\n >\n \n \n {\n setDrawingMode(true);\n setBrushToolsOpen((isOpen) => !isOpen);\n }}\n >\n \n \n\n {isBrushToolsOpen ? (\n {\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving =\n !newFocusElement ||\n !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setBrushToolsOpen(false);\n }\n }}\n {...attributes.popper}\n >\n
\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushColor(value);\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"rgb(20, 105, 241)\",\n background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background:\n \"linear-gradient(to right, black 0%, white 100%)\",\n }}\n />\n
\n
\n\n
\n \n
\n {\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushSize(value);\n }}\n handleStyle={{\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1,\n }}\n railStyle={{\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\",\n }}\n />\n
\n
\n
\n\n \n
\n ) : null}\n \n ) : null}\n \n
\n \n {\n const name = nameInputRef.current ? nameInputRef.current.value : \"\";\n const format = fileTypeRef.current\n ? fileTypeRef.current.value\n : \".png\";\n exportSkin({ name, format });\n }}\n >\n Export\n \n \n
\n \n );\n}\n","import React, { useContext } from \"react\";\n\ntype WarriorContextValue = {\n actualModel: string;\n selectedModel: string;\n setSelectedModel: (selectedModel: string) => void;\n selectedModelType: string;\n selectedAnimation: string | null;\n selectedModelUrl: string;\n setSelectedAnimation: (selectedAnimation: string | null) => void;\n animationPaused: boolean;\n setAnimationPaused: (\n animationPaused: boolean | ((animationPaused: boolean) => boolean)\n ) => void;\n skinImageUrls: Record;\n defaultSkinImageUrls: Record;\n setSkinImageUrls: (\n value:\n | Record\n | ((prevSkinImageUrls: Record) => Record)\n ) => void;\n selectedSkinType: string | null;\n setSelectedSkinType: (selectedSkinType: string | null) => void;\n selectedSkin: string | null;\n setSelectedSkin: (selectedSkin: string | null) => void;\n setSelectedModelType: (selectedModelType: string) => void;\n};\n\nconst WarriorContext = React.createContext(null);\nWarriorContext.displayName = \"WarriorContext\";\n\nexport { WarriorContext };\n\nexport default function useWarrior() {\n const context = useContext(WarriorContext);\n if (!context) {\n throw new Error(\"No WarriorContext.Provider\");\n }\n return context;\n}\n","import { fabric } from \"fabric\";\n\nexport function createFabricImage(url: string) {\n return new Promise((resolve) =>\n fabric.Image.fromURL(url, resolve, {\n crossOrigin: \"anonymous\",\n })\n );\n}\n","export default function Worker_fn() {\n return new Worker(__webpack_public_path__ + \"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js\");\n}\n","import { useEffect, useMemo, useRef } from \"react\";\nimport * as Comlink from \"comlink\";\nimport Worker from \"worker-loader!./imageProcessing.worker\";\nimport type { ImageFunctions } from \"./imageProcessing.worker\";\n\nexport default function useImageWorker() {\n const workerRef = useRef(null);\n const functionsRef = useRef\n > | null>(null);\n\n const value = useMemo(() => {\n const getFunctions = () => {\n return functionsRef.current;\n };\n return {\n async combineColorAndAlphaImageUrls(...args) {\n const functions = await getFunctions();\n return functions?.combineColorAndAlphaImageUrls(...args);\n },\n async removeAlphaFromArrayBuffer(...args) {\n const functions = await getFunctions();\n return functions?.removeAlphaFromArrayBuffer(...args);\n },\n async convertArrayBufferAlphaToGrayscale(...args) {\n const functions = await getFunctions();\n return functions?.convertArrayBufferAlphaToGrayscale(...args);\n },\n async convertGrayscaleImageUrlToMetallicRoughness(...args) {\n const functions = await getFunctions();\n return functions?.convertGrayscaleImageUrlToMetallicRoughness(...args);\n },\n } as ImageFunctions;\n }, []);\n\n useEffect(() => {\n const worker = new Worker();\n const functions = Comlink.wrap(worker);\n\n workerRef.current = worker;\n functionsRef.current = functions;\n\n return () => {\n functions[Comlink.releaseProxy]();\n worker.terminate();\n };\n }, []);\n\n return value;\n}\n","export default function useSettings() {\n return {\n canvasPadding: 64,\n basePath: process.env.NODE_ENV === \"production\" ? \"/t2-model-skinner\" : \"\",\n };\n}\n","import { PNG } from \"pngjs/browser\";\nimport getStream from \"get-stream\";\n\nexport function arrayBufferToBase64(arrayBuffer: ArrayBuffer) {\n let base64 = \"\";\n const encodings =\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n\n const bytes = new Uint8Array(arrayBuffer);\n const byteLength = bytes.byteLength;\n const byteRemainder = byteLength % 3;\n const mainLength = byteLength - byteRemainder;\n\n let a, b, c, d;\n let chunk;\n\n // Main loop deals with bytes in chunks of 3\n for (let i = 0; i < mainLength; i = i + 3) {\n // Combine the three bytes into a single integer\n chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n\n // Use bitmasks to extract 6-bit segments from the triplet\n a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12\n c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6\n d = chunk & 63; // 63 = 2^6 - 1\n\n // Convert the raw binary segments to the appropriate ASCII encoding\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n }\n\n // Deal with the remaining bytes and padding\n if (byteRemainder == 1) {\n chunk = bytes[mainLength];\n\n a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n\n // Set the 4 least significant bits to zero\n b = (chunk & 3) << 4; // 3 = 2^2 - 1\n\n base64 += encodings[a] + encodings[b] + \"==\";\n } else if (byteRemainder == 2) {\n chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1];\n\n a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4\n\n // Set the 2 least significant bits to zero\n c = (chunk & 15) << 2; // 15 = 2^4 - 1\n\n base64 += encodings[a] + encodings[b] + encodings[c] + \"=\";\n }\n\n return base64;\n}\n\nexport async function rgbaToArrayBuffer(\n rgba: Uint8Array,\n {\n width,\n height,\n }: {\n width: number;\n height: number;\n }\n) {\n const png = new PNG({\n width,\n height,\n inputHasAlpha: true,\n });\n png.data = rgba;\n png.pack();\n const arrayBuffer = await getStream.buffer(png);\n return arrayBuffer;\n}\n\nexport function arrayBufferToImageUrl(arrayBuffer: ArrayBuffer) {\n const base64 = arrayBufferToBase64(arrayBuffer);\n return `data:image/png;base64,${base64}`;\n}\n\nexport async function imageUrlToArrayBuffer(url: string) {\n const response = await fetch(url);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return arrayBuffer;\n } else {\n throw new Error(`Failed to load image URL: ${url}`);\n }\n}\n\nexport async function arrayBufferToRgba(arrayBuffer: ArrayBuffer) {\n const png = await new Promise((resolve, reject) =>\n new PNG().parse(arrayBuffer, (err, data) => {\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n })\n );\n return { rgba: png.data, width: png.width, height: png.height };\n}\n\nexport async function setGrayscaleFromAlpha(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n const alpha = rgba[i + 3];\n rgba[i] = alpha;\n rgba[i + 1] = alpha;\n rgba[i + 2] = alpha;\n rgba[i + 3] = 255;\n }\n}\n\nexport async function setAlphaFromGrayscale(\n rgba: Uint8Array,\n grayscaleRgba: Uint8Array\n) {\n const length = rgba.length;\n // Modify image to map white pixels on the metallic canvas\n // to the alpha channel.\n for (let i = 0; i < length; i += 4) {\n rgba[i + 3] = Math.max(1, grayscaleRgba[i]);\n }\n}\n\nexport async function setAlphaToMax(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n rgba[i + 3] = 255;\n }\n}\n\nexport function setMetallicFromGrayscale(rgba: Uint8Array) {\n const length = rgba.length;\n for (let i = 0; i < length; i += 4) {\n const grayscale = rgba[i];\n // Red meanings nothing, set to 0.\n rgba[i] = 0;\n // Green maps to roughness. We want more metallic to be less rough.\n rgba[i + 1] = grayscale > 0 ? 255 - Math.min(grayscale * 2 + 64, 255) : 255;\n // Blue and alpha values should already be correct.\n rgba[i + 2] = grayscale ? Math.min(grayscale * 1 + 64, 255) : 0;\n }\n}\n\nexport async function imageUrlToRgba(imageUrl: string) {\n const arrayBuffer = await imageUrlToArrayBuffer(imageUrl);\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n return { rgba, width, height };\n}\n\ntype ImageSize = {\n width: number;\n height: number;\n};\n\nexport async function rgbaToImageUrl(\n rgba: Uint8Array,\n { width, height }: ImageSize\n) {\n const arrayBuffer = await rgbaToArrayBuffer(rgba, {\n width,\n height,\n });\n const imageUrl = arrayBufferToImageUrl(arrayBuffer);\n return imageUrl;\n}\n\nexport async function combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl,\n}: {\n colorImageUrl: string;\n metallicImageUrl: string;\n}) {\n const [{ rgba, width, height }, { rgba: metallicRgba }] = await Promise.all([\n imageUrlToRgba(colorImageUrl),\n imageUrlToRgba(metallicImageUrl),\n ]);\n setAlphaFromGrayscale(rgba, metallicRgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function removeAlphaFromArrayBuffer(arrayBuffer: ArrayBuffer) {\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n setAlphaToMax(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function convertArrayBufferAlphaToGrayscale(\n arrayBuffer: ArrayBuffer\n) {\n const { rgba, width, height } = await arrayBufferToRgba(arrayBuffer);\n setGrayscaleFromAlpha(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n\nexport async function convertGrayscaleImageUrlToMetallicRoughness(\n imageUrl: string\n) {\n const { rgba, width, height } = await imageUrlToRgba(imageUrl);\n setMetallicFromGrayscale(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, { width, height });\n return outputImageUrl;\n}\n","import { ReactNode, useCallback, useEffect, useMemo, useState } from \"react\";\nimport getConfig from \"next/config\";\nimport { fabric } from \"fabric\";\nimport { ToolsContext } from \"./useTools\";\nimport useCanvas from \"./useCanvas\";\nimport useWarrior from \"./useWarrior\";\nimport { createFabricImage } from \"./fabricUtils\";\nimport useImageWorker from \"./useImageWorker\";\nimport { MaterialDefinition } from \"./Material\";\nimport useSettings from \"./useSettings\";\nimport { imageUrlToArrayBuffer } from \"./imageUtils\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nfunction lockObject(object: fabric.Object) {\n object.lockMovementX = true;\n object.lockMovementY = true;\n object.lockScalingX = true;\n object.lockScalingY = true;\n object.lockRotation = true;\n}\n\nfunction unlockObject(object: fabric.Object) {\n object.lockMovementX = false;\n object.lockMovementY = false;\n object.lockScalingX = false;\n object.lockScalingY = false;\n object.lockRotation = false;\n}\n\nfunction isActiveSelection(\n object: fabric.Object\n): object is fabric.ActiveSelection {\n return object.type === \"activeSelection\";\n}\n\ntype ObjectFilters = {\n HueRotation?: number;\n Saturation?: number;\n Brightness?: number;\n};\n\nexport default function ToolsProvider({ children }: { children: ReactNode }) {\n const { actualModel, selectedModelType } = useWarrior();\n const [selectedMaterialIndex, setSelectedMaterialIndex] = useState(0);\n const materialDefs = materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex] ?? null;\n\n const textureSize = useMemo(\n () => materialDef.size ?? [512, 512],\n [materialDef]\n );\n\n const hasMetallic = !(\n materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1\n );\n\n const [activeCanvasType, setActiveCanvasType] = useState(\"color\");\n\n if (!hasMetallic && activeCanvasType === \"metallic\") {\n setActiveCanvasType(\"color\");\n }\n\n const [backgroundColor, setBackgroundColor] = useState(\"magenta\");\n const [lockedObjects, setLockedObjects] = useState(\n () => new Set()\n );\n const [brushColor, setBrushColor] = useState(200);\n const [brushSize, setBrushSize] = useState(10);\n const [filterMap, setFilterMap] = useState(\n () => new Map()\n );\n const [selectedObjects, setSelectedObjects] = useState(\n () => []\n );\n\n const activeCanvas = materialDef\n ? `${materialDef.name}:${activeCanvasType}`\n : null;\n const metallicCanvasId = materialDef ? `${materialDef.name}:metallic` : null;\n const { canvases } = useCanvas();\n const { canvas, notifyChange, undo, redo, canUndo, canRedo } =\n useCanvas(activeCanvas);\n const { canvas: metallicCanvas } = useCanvas(metallicCanvasId);\n const [isDrawingMode, setDrawingMode] = useState(false);\n const { combineColorAndAlphaImageUrls } = useImageWorker();\n const { canvasPadding } = useSettings();\n const [filterChanges, setFilterChanges] = useState<\n Array<[fabric.Object, ObjectFilters]>\n >(() => []);\n const [layerMode, setLayerMode] = useState(\"BaseLayer\");\n\n if (selectedObjects.length) {\n if (layerMode !== \"SelectedLayer\") {\n setLayerMode(\"SelectedLayer\");\n }\n } else {\n if (layerMode === \"SelectedLayer\") {\n setLayerMode(\"BaseLayer\");\n }\n }\n\n const getFilter = (name: keyof ObjectFilters) => {\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n applyObjects = canvas?._objects ?? [];\n } else if (layerMode === \"BaseLayer\") {\n applyObjects = canvas?._objects.slice(0, 1) ?? [];\n }\n if (applyObjects.length) {\n const getValue = (i: number) =>\n (filterMap.get(applyObjects[i]) ?? {})[name] ?? 0;\n const firstValue = getValue(0);\n if (\n applyObjects\n .slice(1)\n .every((applyObject, i) => getValue(i + 1) === firstValue)\n ) {\n return firstValue;\n }\n return null;\n } else {\n return 0;\n }\n };\n\n const hueRotate = getFilter(\"HueRotation\");\n const saturation = getFilter(\"Saturation\");\n const brightness = getFilter(\"Brightness\");\n\n const setFilter = useCallback(\n (name: keyof ObjectFilters, value: number) => {\n const filterChanges: Array<[fabric.Object, ObjectFilters]> = [];\n const newFilterMap = new Map(filterMap);\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n applyObjects = canvas?._objects ?? [];\n } else if (layerMode === \"BaseLayer\") {\n applyObjects = canvas?._objects.slice(0, 1) ?? [];\n }\n for (const applyObject of applyObjects) {\n const existingFilters = filterMap.get(applyObject) ?? {};\n const newFilters = { ...existingFilters, [name]: value };\n newFilterMap.set(applyObject, newFilters);\n filterChanges.push([applyObject, newFilters]);\n }\n setFilterMap(newFilterMap);\n setFilterChanges(filterChanges);\n },\n [canvas, layerMode, filterMap, selectedObjects]\n );\n\n const setHueRotate = useCallback(\n (value: number) => setFilter(\"HueRotation\", value),\n [setFilter]\n );\n\n const setSaturation = useCallback(\n (value: number) => setFilter(\"Saturation\", value),\n [setFilter]\n );\n\n const setBrightness = useCallback(\n (value: number) => setFilter(\"Brightness\", value),\n [setFilter]\n );\n\n useEffect(() => {\n if (!filterChanges.length) {\n return;\n }\n for (const [selectedObject, newFilters] of filterChanges) {\n if (selectedObject instanceof fabric.Image) {\n selectedObject.filters = [];\n for (const key in newFilters) {\n const filterValue = newFilters[key as keyof ObjectFilters] ?? 0;\n if (filterValue !== 0) {\n switch (key) {\n case \"HueRotation\":\n selectedObject.filters.push(\n // @ts-expect-error @types/fabric does not include HueRotation.\n new fabric.Image.filters.HueRotation({\n rotation: filterValue,\n })\n );\n break;\n case \"Saturation\":\n selectedObject.filters.push(\n new fabric.Image.filters.Saturation({\n saturation: filterValue,\n })\n );\n break;\n case \"Brightness\":\n selectedObject.filters.push(\n new fabric.Image.filters.Brightness({\n brightness: filterValue,\n })\n );\n break;\n }\n }\n }\n selectedObject.applyFilters();\n }\n }\n setFilterChanges([]);\n if (notifyChange) {\n notifyChange();\n }\n }, [filterChanges, notifyChange]);\n\n const lockSelection = useCallback(() => {\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects) => {\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects) {\n newLockedObjects.add(selectedObject);\n lockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [selectedObjects]);\n\n const unlockSelection = useCallback(() => {\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects) => {\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects) {\n newLockedObjects.delete(selectedObject);\n unlockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [selectedObjects]);\n\n const bringForward = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n canvas.bringForward(object, true);\n notifyChange();\n }\n }, [canvas, notifyChange]);\n\n const sendBackward = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n // Don't allow below base skin.\n if (canvas._objects[0] === object || canvas._objects[1] === object) {\n return;\n }\n canvas.sendBackwards(object, true);\n notifyChange();\n }\n }, [canvas, notifyChange]);\n\n const addImages = useCallback(\n async (imageUrls: string[]) => {\n let lastAddedImage;\n for (const imageUrl of imageUrls) {\n const image = await createFabricImage(imageUrl);\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n const widthRatio = image.width / textureSize[0];\n const heightRatio = image.height / textureSize[1];\n if (widthRatio > 1 || heightRatio > 1) {\n let scale;\n if (widthRatio > heightRatio) {\n scale = 1 / widthRatio;\n } else {\n scale = 1 / heightRatio;\n }\n image.scaleX = scale;\n image.scaleY = scale;\n }\n if (activeCanvasType === \"metallic\") {\n if (!image.filters) {\n image.filters = [];\n }\n const grayscaleFilter = new fabric.Image.filters.Grayscale();\n image.filters.push(grayscaleFilter);\n image.applyFilters();\n }\n setDrawingMode(false);\n canvas.centerObject(image);\n canvas.add(image);\n lastAddedImage = image;\n }\n if (lastAddedImage) {\n canvas.setActiveObject(lastAddedImage);\n }\n },\n [canvas, activeCanvasType, textureSize]\n );\n\n const duplicate = useCallback(async () => {\n const object = canvas.getActiveObject();\n if (object) {\n const copy = await new Promise((resolve) =>\n object.clone(resolve)\n );\n copy.set({\n top: (copy.top ?? 0) + 20,\n left: (copy.left ?? 0) + 20,\n evented: true,\n });\n\n if (isActiveSelection(copy)) {\n copy.canvas = canvas;\n copy.forEachObject((object) => {\n canvas.add(object);\n });\n copy.setCoords();\n }\n\n canvas.discardActiveObject();\n canvas.add(copy);\n canvas.setActiveObject(copy);\n }\n }, [canvas]);\n\n const deleteSelection = useCallback(async () => {\n const objects = canvas.getActiveObjects();\n canvas.discardActiveObject();\n canvas.remove(...objects);\n canvas.requestRenderAll();\n // forceUpdateRef.current();\n }, [canvas]);\n\n const exportSkin = useCallback(\n async ({ format, name = \"\" }: { format: string; name: string }) => {\n const { savePngFile, saveZipFile, createZipFile } = await import(\n \"./exportUtils\"\n );\n\n name = name.trim() || \"MyCustomSkin\";\n\n const materialExports = await Promise.all(\n materialDefs\n .filter(\n (materialDef: MaterialDefinition) =>\n materialDef &&\n !materialDef.hidden &&\n materialDef.selectable !== false\n )\n .map(async (materialDef: MaterialDefinition) => {\n const colorCanvas = canvases[`${materialDef.name}:color`]?.canvas;\n const metallicCanvas =\n canvases[`${materialDef.name}:metallic`]?.canvas;\n\n const textureSize = materialDef.size ?? [512, 512];\n let outputImageUrl;\n\n const colorImageUrl = colorCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n\n if (metallicCanvas) {\n const metallicImageUrl = metallicCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n outputImageUrl = await combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl,\n });\n } else {\n outputImageUrl = colorImageUrl;\n }\n\n let filename;\n switch (selectedModelType) {\n case \"player\":\n filename = `${name}.${actualModel}.png`;\n break;\n case \"weapon\":\n case \"vehicle\":\n if (materialDef) {\n filename = `${materialDef.file ?? materialDef.name}.png`;\n } else if (selectedModelType === \"weapon\") {\n filename = `weapon_${actualModel}.png`;\n } else {\n filename = `${actualModel}.png`;\n }\n }\n\n return { imageUrl: outputImageUrl, filename };\n })\n );\n\n switch (format) {\n case \"png\": {\n const { imageUrl, filename } = materialExports[selectedMaterialIndex];\n savePngFile(imageUrl, filename);\n break;\n }\n case \"vl2\": {\n const files = await Promise.all(\n materialExports.map(async (materialExport) => ({\n data: await imageUrlToArrayBuffer(materialExport.imageUrl),\n name: materialExport.filename,\n }))\n );\n const zip = createZipFile(files);\n const camelCaseName = actualModel.replace(\n /(?:^([a-z])|_([a-z]))/g,\n (match, a, b) => (a || b).toUpperCase()\n );\n let zipFileName = \"\";\n switch (selectedModelType) {\n case \"player\":\n zipFileName = `zPlayerSkin-${name}.vl2`;\n break;\n case \"weapon\":\n zipFileName = `zWeapon${camelCaseName}-${name}.vl2`;\n break;\n case \"vehicle\":\n zipFileName = `z${camelCaseName}-${name}.vl2`;\n break;\n }\n await saveZipFile(zip, zipFileName);\n }\n }\n return;\n },\n [\n actualModel,\n canvasPadding,\n canvases,\n combineColorAndAlphaImageUrls,\n materialDefs,\n selectedMaterialIndex,\n selectedModelType,\n ]\n );\n\n const context = useMemo(\n () => ({\n activeCanvas,\n activeCanvasType,\n setActiveCanvasType,\n backgroundColor,\n setBackgroundColor,\n lockedObjects,\n setLockedObjects,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n setDrawingMode,\n selectedMaterialIndex,\n setSelectedMaterialIndex,\n textureSize,\n hasMetallic,\n }),\n [\n activeCanvas,\n activeCanvasType,\n backgroundColor,\n lockedObjects,\n brushColor,\n brushSize,\n hueRotate,\n saturation,\n brightness,\n layerMode,\n setHueRotate,\n setSaturation,\n setBrightness,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n selectedMaterialIndex,\n textureSize,\n hasMetallic,\n ]\n );\n\n useEffect(() => {\n if (canvas) {\n const handleSelectionUpdated = () => {\n setSelectedObjects(canvas.getActiveObjects());\n };\n canvas.on(\"selection:cleared\", handleSelectionUpdated);\n canvas.on(\"selection:updated\", handleSelectionUpdated);\n canvas.on(\"selection:created\", handleSelectionUpdated);\n\n handleSelectionUpdated();\n\n return () => {\n canvas.off(\"selection:cleared\", handleSelectionUpdated);\n canvas.off(\"selection:updated\", handleSelectionUpdated);\n canvas.off(\"selection:created\", handleSelectionUpdated);\n };\n }\n }, [canvas]);\n\n useEffect(() => {\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.width = brushSize;\n }\n }, [metallicCanvas, brushSize]);\n\n useEffect(() => {\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.color = `rgb(${brushColor}, ${brushColor}, ${brushColor})`;\n }\n }, [metallicCanvas, brushColor]);\n\n return (\n {children}\n );\n}\n","import useTools from \"./useTools\";\nimport useSettings from \"./useSettings\";\n\nexport default function CanvasBackdrop() {\n const { backgroundColor, textureSize } = useTools();\n const { canvasPadding } = useSettings();\n\n return textureSize ? (\n \n ) : null;\n}\n","import { ReactNode, useCallback, useMemo, useState } from \"react\";\nimport { CanvasContext, CanvasInfo } from \"./useCanvas\";\n\nexport default function CanvasProvider({ children }: { children: ReactNode }) {\n const [canvases, setCanvases] = useState>({});\n\n const registerCanvas = useCallback(\n (canvasId: string, canvasInfo: CanvasInfo) => {\n setCanvases((canvases) => {\n return { ...canvases, [canvasId]: canvasInfo };\n });\n },\n []\n );\n\n const unregisterCanvas = useCallback((canvasId: string) => {\n setCanvases((canvases) => {\n const { [canvasId]: canvas, ...rest } = canvases;\n return rest;\n });\n }, []);\n\n const context = useMemo(() => {\n return {\n canvases,\n registerCanvas,\n unregisterCanvas,\n };\n }, [canvases, registerCanvas, unregisterCanvas]);\n\n return (\n {children}\n );\n}\n","import { ReactNode, useRef } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useTools from \"./useTools\";\n\nexport default function CanvasInteractions({\n children,\n}: {\n children: ReactNode;\n}) {\n const ref = useRef(null);\n const {\n activeCanvas,\n bringForward,\n sendBackward,\n duplicate,\n deleteSelection,\n addImages,\n undo,\n redo,\n } = useTools();\n const { canvas, notifyChange, setDrawingMode } = useCanvas(activeCanvas);\n\n const nudge = async ({ top = 0, left = 0 } = {}) => {\n const objects = canvas.getActiveObjects();\n for (const object of objects) {\n object.top = (object.top ?? 0) + top;\n object.left = (object.left ?? 0) + left;\n }\n notifyChange();\n };\n\n return (\n {\n event.preventDefault();\n if (ref.current) {\n ref.current.focus();\n }\n const { items } = event.dataTransfer;\n const images = Array.from(items).filter(\n (item) => item.kind === \"file\" && item.type.match(/^image\\//)\n );\n const imageUrls = await Promise.all(\n images\n .map(async (droppedImageFile) => {\n const file = droppedImageFile.getAsFile();\n if (!file) {\n throw new Error(\"Not a file.\");\n }\n const reader = new FileReader();\n const imageUrl = await new Promise((resolve, reject) => {\n reader.onload = async (event) => {\n if (event.target && typeof event.target.result === \"string\") {\n resolve(event.target.result);\n } else {\n reject(new Error(\"Failed to load image data.\"));\n }\n };\n reader.readAsDataURL(file);\n });\n return imageUrl;\n })\n .filter(Boolean)\n );\n\n await addImages(imageUrls);\n }}\n onKeyDown={async (event) => {\n const target = event.target as HTMLElement;\n if (target.nodeName === \"INPUT\" || target.nodeName === \"TEXTAREA\") {\n return;\n }\n if (event.ctrlKey || event.metaKey) {\n switch (event.key) {\n case \"z\":\n if (event.altKey) {\n return;\n } else if (event.shiftKey) {\n event.preventDefault();\n redo();\n return;\n } else {\n event.preventDefault();\n undo();\n return;\n }\n case \"y\":\n if (event.altKey || event.shiftKey) {\n return;\n } else {\n event.preventDefault();\n redo();\n return;\n }\n }\n }\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return;\n }\n switch (event.key) {\n case \"Backspace\":\n case \"Delete\": {\n event.preventDefault();\n await deleteSelection();\n break;\n }\n case \"ArrowLeft\": {\n event.preventDefault();\n await nudge({ left: -1 });\n break;\n }\n case \"ArrowRight\": {\n event.preventDefault();\n await nudge({ left: 1 });\n break;\n }\n case \"ArrowUp\": {\n event.preventDefault();\n await nudge({ top: -1 });\n break;\n }\n case \"ArrowDown\": {\n event.preventDefault();\n await nudge({ top: 1 });\n break;\n }\n case \"d\": {\n event.preventDefault();\n await duplicate();\n break;\n }\n case \"f\": {\n event.preventDefault();\n await bringForward();\n break;\n }\n case \"b\": {\n event.preventDefault();\n await sendBackward();\n break;\n }\n case \"p\": {\n if (activeCanvas === \"metallic\") {\n event.preventDefault();\n setDrawingMode(true);\n }\n break;\n }\n case \"s\":\n if (activeCanvas === \"color\") {\n event.preventDefault();\n setDrawingMode(false);\n }\n break;\n }\n }}\n >\n {children}\n \n );\n}\n","import useTools from \"./useTools\";\n\nexport default function CanvasToggle() {\n const { activeCanvasType, setActiveCanvasType, hasMetallic } = useTools();\n\n return (\n
\n {\n setActiveCanvasType(\"color\");\n }}\n >\n Color\n \n {hasMetallic ? (\n {\n setActiveCanvasType(\"metallic\");\n }}\n >\n Metallic\n \n ) : null}\n
\n );\n}\n","import getConfig from \"next/config\";\nimport useWarrior from \"./useWarrior\";\nimport { AiTwotoneFolderOpen } from \"react-icons/ai\";\nimport { useRef } from \"react\";\nimport useTools from \"./useTools\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { defaultSkins, customSkins, modelDefaults, materials } =\n publicRuntimeConfig;\n\nexport default function WarriorSelector() {\n const {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n selectedSkin,\n setSelectedSkin,\n setSelectedSkinType,\n actualModel,\n setSelectedAnimation,\n setSkinImageUrls,\n setAnimationPaused,\n } = useWarrior();\n const { selectedMaterialIndex, setSelectedMaterialIndex } = useTools();\n const materialDefs = materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex];\n const fileInputRef = useRef(null);\n\n return (\n
\n
\n \n {\n const parentNode = event.target.selectedOptions[0]\n .parentNode as HTMLElement;\n const newSelectedModel = event.target.value;\n const { modelType } = parentNode.dataset;\n if (!modelType) {\n throw new Error(\"No data-model-type found\");\n }\n const newModelHasSkin =\n defaultSkins[newSelectedModel]?.includes(selectedSkin) ||\n customSkins[newSelectedModel]?.includes(selectedSkin) ||\n false;\n // startTransition(() => {\n setSelectedAnimation(null);\n setAnimationPaused(false);\n setSelectedModelType(modelType);\n setSelectedModel(newSelectedModel);\n setSelectedMaterialIndex(0);\n if (!newModelHasSkin) {\n setSelectedSkin(modelDefaults[newSelectedModel] ?? null);\n setSelectedSkinType(\"default\");\n }\n // });\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n
\n {\n const parentNode = event.target.selectedOptions[0]\n .parentNode as HTMLElement;\n const skinType = event.target.value\n ? parentNode.dataset.skinType ?? null\n : null;\n setSelectedSkin(event.target.value || null);\n setSelectedSkinType(skinType);\n }}\n >\n \n {selectedModelType === \"player\" ? (\n <>\n \n {defaultSkins[actualModel]?.map((name: string) => {\n return (\n \n );\n })}\n \n \n {customSkins[actualModel]?.map((name: string) => {\n return (\n \n );\n })}\n \n \n ) : null}\n {selectedModelType === \"weapon\" ||\n selectedModelType === \"vehicle\" ? (\n <>\n {modelDefaults[actualModel] ? (\n \n \n \n ) : null}\n {customSkins[actualModel]?.length ? (\n \n {customSkins[actualModel].map((name: string) => (\n \n ))}\n \n ) : null}\n \n ) : null}\n \n {\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n }}\n >\n \n \n {\n const imageUrl = await new Promise((resolve, reject) => {\n const inputFile = event.target.files?.[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event) => {\n resolve(event.target?.result as string);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n setSelectedSkin(null);\n setSkinImageUrls({\n [materialDef.file ?? materialDef.name]: imageUrl,\n });\n }}\n type=\"file\"\n accept=\".png, image/png\"\n hidden\n />\n
\n
\n
\n );\n}\n","import { ReactNode, useEffect, useMemo, useState } from \"react\";\nimport getConfig from \"next/config\";\nimport useSettings from \"./useSettings\";\nimport { WarriorContext } from \"./useWarrior\";\nimport type { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { materials, modelDefaults } = publicRuntimeConfig;\nconst baseSkinPath = `https://exogen.github.io/t2-skins/skins`;\n\nexport function getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n}: {\n basePath: string;\n actualModel: string;\n selectedModelType: string;\n selectedSkin: string | null;\n selectedSkinType: string | null;\n}): Record {\n const materialDefs = materials[actualModel];\n switch (selectedModelType) {\n case \"player\":\n switch (selectedSkinType) {\n case \"default\":\n return {\n base: `${basePath}/textures/${selectedSkin}.${actualModel}.png`,\n };\n case \"custom\":\n return { base: `${baseSkinPath}/${selectedSkin}.${actualModel}.png` };\n }\n break;\n case \"weapon\":\n case \"vehicle\":\n return materialDefs.reduce(\n (\n skinImageUrls: Record,\n materialDef: MaterialDefinition\n ) => {\n if (materialDef) {\n switch (selectedSkinType) {\n case \"default\":\n if (materialDef.hasDefault !== false) {\n skinImageUrls[\n materialDef.file ?? materialDef.name\n ] = `${basePath}/textures/${\n materialDef.file ?? materialDef.name\n }.png`;\n }\n break;\n case \"custom\":\n skinImageUrls[\n materialDef.file ?? materialDef.name\n ] = `${baseSkinPath}/${selectedSkin}/${\n materialDef.file ?? materialDef.name\n }.png`;\n break;\n }\n }\n return skinImageUrls;\n },\n {}\n );\n }\n return {};\n}\n\nfunction getModelUrl(\n basePath: string,\n actualModel: string,\n selectedAnimation: string | null\n) {\n switch (actualModel) {\n default:\n return `${basePath}/${actualModel}${\n selectedAnimation ? \".anim\" : \"\"\n }.glb`;\n }\n}\n\nexport default function WarriorProvider({ children }: { children: ReactNode }) {\n const [selectedModel, setSelectedModel] = useState(\"lmale\");\n const [selectedModelType, setSelectedModelType] = useState(\"player\");\n const [selectedSkin, setSelectedSkin] = useState(\n \"Blood Eagle\"\n );\n const [selectedSkinType, setSelectedSkinType] = useState(\n \"default\"\n );\n const [selectedAnimation, setSelectedAnimation] = useState(\n null\n );\n const [animationPaused, setAnimationPaused] = useState(false);\n const { basePath } = useSettings();\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const selectedModelUrl = getModelUrl(\n basePath,\n actualModel,\n selectedAnimation\n );\n\n const [skinImageUrls, setSkinImageUrls] = useState>(\n () =>\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n })\n );\n\n const defaultSkinImageUrls = useMemo(\n () =>\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin: modelDefaults[actualModel],\n selectedSkinType: \"default\",\n }),\n [actualModel, basePath, selectedModelType]\n );\n\n const context = useMemo(() => {\n return {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls,\n };\n }, [\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls,\n ]);\n\n useEffect(() => {\n if (selectedSkin) {\n setSkinImageUrls(\n getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n })\n );\n }\n }, [\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType,\n ]);\n\n return (\n \n {children}\n \n );\n}\n","import React, { useContext } from \"react\";\n\ninterface EnvironmentContextValue {\n selectedEnvironment: string | null;\n setSelectedEnvironment: (selectedEnvironment: string | null) => void;\n showEnvironment: boolean;\n setShowEnvironment: (showEnvironment: boolean) => void;\n exposure: number;\n setExposure: (exposure: number) => void;\n environmentImageUrl: string | null;\n}\n\nconst EnvironmentContext = React.createContext(\n null\n);\nEnvironmentContext.displayName = \"EnvironmentContext\";\n\nexport { EnvironmentContext };\n\nexport default function useEnvironment() {\n const context = useContext(EnvironmentContext);\n if (!context) {\n throw new Error(\"No EnvironmentContext.Provider\");\n }\n return context;\n}\n","import React, { useContext } from \"react\";\n\nexport type SkinImages = {\n colorImageUrl?: string;\n metallicImageUrl?: string;\n};\n\nexport type MaterialSkins = Record;\n\ninterface SkinContextValue {\n materialSkins: MaterialSkins;\n getSkinImages: (materialFile: string) => SkinImages;\n setSkinImages: (materialFile: string, skinImages: SkinImages) => void;\n getColorImageUrl: (materialFile: string) => string | undefined;\n setColorImageUrl: (materialFile: string, colorImageUrl: string) => void;\n getMetallicImageUrl: (materialFile: string) => string | undefined;\n setMetallicImageUrl: (materialFile: string, colorImageUrl: string) => void;\n}\n\nconst SkinContext = React.createContext(null);\nSkinContext.displayName = \"SkinContext\";\n\nexport { SkinContext };\n\nexport default function useSkin() {\n const context = useContext(SkinContext);\n if (!context) {\n throw new Error(\"No SkinContext.Provider\");\n }\n return context;\n}\n","import { useEffect } from \"react\";\nimport type { ModelViewerElement } from \"@google/model-viewer\";\nimport useSettings from \"./useSettings\";\nimport useSkin from \"./useSkin\";\nimport useModelViewer from \"./useModelViewer\";\n\n// const secondaryMaterialTextures: Record = {\n// disc: [\"textures/discshield2\"],\n// };\n\nexport type ModelMaterial = NonNullable<\n ModelViewerElement[\"model\"]\n>[\"materials\"][number];\n\nexport type MaterialDefinition = {\n index?: number;\n name: string;\n label?: string;\n file?: string;\n hasDefault?: boolean;\n size?: [number, number];\n hidden?: boolean;\n selectable?: boolean;\n alphaMode?: \"BLEND\" | \"MASK\" | \"OPAQUE\";\n alphaCutoff?: number;\n baseColorFactor?: [number, number, number, number];\n emissiveFactor?: [number, number, number];\n emissiveTexture?: boolean;\n metallicFactor?: number;\n roughnessFactor?: number;\n};\n\nfunction useTexture({\n material,\n materialDef,\n textureType,\n imageUrl,\n}: {\n material: ModelMaterial;\n materialDef?: MaterialDefinition;\n textureType: \"baseColorTexture\" | \"metallicRoughnessTexture\";\n imageUrl?: string;\n}) {\n const { modelViewer } = useModelViewer();\n const { basePath } = useSettings();\n\n useEffect(() => {\n let stale = false;\n\n const updateTexture = async () => {\n if (!materialDef || materialDef.hidden) {\n if (textureType === \"metallicRoughnessTexture\") {\n return;\n } else {\n material.setAlphaMode(\"BLEND\");\n material.pbrMetallicRoughness.setBaseColorFactor([0, 0, 0, 0]);\n }\n } else {\n const {\n alphaMode,\n alphaCutoff,\n baseColorFactor,\n emissiveFactor,\n emissiveTexture = false,\n metallicFactor = 1,\n roughnessFactor = 1,\n } = materialDef;\n let textureUrl = imageUrl ?? `${basePath}/white.png`;\n switch (textureType) {\n case \"baseColorTexture\":\n if (baseColorFactor) {\n material.pbrMetallicRoughness.setBaseColorFactor(baseColorFactor);\n }\n if (alphaMode) {\n material.setAlphaMode(alphaMode);\n }\n if (alphaCutoff) {\n material.setAlphaCutoff(alphaCutoff);\n }\n if (emissiveFactor) {\n material.setEmissiveFactor(emissiveFactor);\n }\n break;\n case \"metallicRoughnessTexture\":\n material.pbrMetallicRoughness.setMetallicFactor(metallicFactor);\n material.pbrMetallicRoughness.setRoughnessFactor(roughnessFactor);\n if (metallicFactor === 0 && roughnessFactor === 1) {\n textureUrl = `${basePath}/green.png`;\n }\n }\n const texture = await modelViewer.createTexture(textureUrl);\n if (!stale) {\n material.pbrMetallicRoughness[textureType].setTexture(texture);\n if (textureType === \"baseColorTexture\" && emissiveTexture) {\n material.emissiveTexture.setTexture(texture);\n }\n }\n }\n };\n\n updateTexture();\n\n return () => {\n stale = true;\n };\n }, [basePath, modelViewer, material, materialDef, textureType, imageUrl]);\n}\n\ninterface MaterialProps {\n material: ModelMaterial;\n materialDef?: MaterialDefinition;\n}\n\nexport default function Material({ material, materialDef }: MaterialProps) {\n const { getSkinImages } = useSkin();\n const { colorImageUrl, metallicImageUrl } =\n getSkinImages(materialDef?.file ?? material.name) ?? {};\n\n useTexture({\n material,\n materialDef,\n textureType: \"baseColorTexture\",\n imageUrl: colorImageUrl,\n });\n useTexture({\n material,\n materialDef,\n textureType: \"metallicRoughnessTexture\",\n imageUrl: metallicImageUrl,\n });\n\n return null;\n}\n","import getConfig from \"next/config\";\nimport Material, { MaterialDefinition } from \"./Material\";\nimport useModelViewer from \"./useModelViewer\";\nimport useWarrior from \"./useWarrior\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function Materials() {\n const { actualModel } = useWarrior();\n const { model } = useModelViewer();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n <>\n {model.materials.map((material, i) => {\n const materialDef =\n materialDefs.find((materialDef) => materialDef.index === i) ??\n materialDefs[i];\n return (\n \n );\n })}\n \n );\n}\n","import dynamic from \"next/dynamic\";\nimport getConfig from \"next/config\";\nimport useEnvironment from \"./useEnvironment\";\nimport useWarrior from \"./useWarrior\";\nimport Materials from \"./Materials\";\n\nconst ModelViewer = dynamic(() => import(\"./ModelViewer\"), { ssr: false });\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { cameraOverrides } = publicRuntimeConfig;\n\nexport default function WarriorViewer() {\n const {\n selectedModel,\n selectedModelUrl,\n selectedModelType,\n selectedAnimation,\n animationPaused,\n } = useWarrior();\n const { environmentImageUrl, showEnvironment, exposure } = useEnvironment();\n\n return (\n \n \n \n );\n}\n","import useEnvironment from \"./useEnvironment\";\n\nexport default function EnvironmentSelector() {\n const { selectedEnvironment, setSelectedEnvironment } = useEnvironment();\n\n return (\n <>\n \n {\n setSelectedEnvironment(event.target.value || null);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n}\n","import { ImBrightnessContrast } from \"react-icons/im\";\nimport useEnvironment from \"./useEnvironment\";\n\nexport default function EnvironmentExposure() {\n const { exposure, setExposure } = useEnvironment();\n\n return (\n <>\n \n {\n setExposure(parseFloat(event.target.value));\n }}\n />\n \n );\n}\n","import { useMemo } from \"react\";\nimport getConfig from \"next/config\";\nimport { IoMdPlay, IoMdPause } from \"react-icons/io\";\nimport useWarrior from \"./useWarrior\";\n\nconst { publicRuntimeConfig } = getConfig();\nconst { animations, animationLabels, animationLabelOverrides } =\n publicRuntimeConfig;\n\nexport default function AnimationSelector() {\n const {\n actualModel,\n selectedModelType,\n selectedAnimation,\n setSelectedAnimation,\n animationPaused,\n setAnimationPaused,\n } = useWarrior();\n\n const animationList = useMemo(\n () => [\n ...(selectedModelType === \"player\" ? animations.global : []),\n ...(animations[actualModel] ?? []),\n ],\n [actualModel, selectedModelType]\n );\n\n return (\n <>\n \n
\n {\n setSelectedAnimation(event.target.value || null);\n setAnimationPaused(false);\n }}\n >\n \n {animationList.map((animationName) => {\n const label =\n animationLabelOverrides[actualModel]?.[animationName] ??\n animationLabels[animationName];\n return (\n \n );\n })}\n \n {\n setAnimationPaused((animationPaused) => !animationPaused);\n }}\n >\n {animationPaused || !selectedAnimation ? : }\n \n
\n \n );\n}\n","import { ReactNode, useMemo, useState } from \"react\";\nimport { EnvironmentContext } from \"./useEnvironment\";\nimport useSettings from \"./useSettings\";\n\nexport default function EnvironmentProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const [selectedEnvironment, setSelectedEnvironment] = useState(\n null\n );\n const [showEnvironment, setShowEnvironment] = useState(false);\n const [exposure, setExposure] = useState(1);\n const { basePath } = useSettings();\n\n const context = useMemo(() => {\n const environmentImageUrl = selectedEnvironment\n ? `${basePath}/${selectedEnvironment}`\n : null;\n return {\n selectedEnvironment,\n setSelectedEnvironment,\n showEnvironment,\n setShowEnvironment,\n exposure,\n setExposure,\n environmentImageUrl,\n };\n }, [basePath, selectedEnvironment, showEnvironment, exposure]);\n\n return (\n \n {children}\n \n );\n}\n","import { ReactNode, useMemo, useState } from \"react\";\nimport { SkinContext, MaterialSkins, SkinImages } from \"./useSkin\";\n\nexport default function SkinProvider({ children }: { children: ReactNode }) {\n const [materialSkins, setMaterialSkins] = useState({});\n\n const setters = useMemo(\n () => ({\n setSkinImages(materialFile: string, skinImages: SkinImages) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: skinImages,\n };\n });\n },\n setColorImageUrl(materialFile: string, colorImageUrl: string) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n colorImageUrl,\n },\n };\n });\n },\n setMetallicImageUrl(materialFile: string, metallicImageUrl: string) {\n setMaterialSkins((materialSkins) => {\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n metallicImageUrl,\n },\n };\n });\n },\n }),\n []\n );\n\n const context = useMemo(() => {\n return {\n materialSkins,\n getSkinImages(materialFile: string) {\n return materialSkins[materialFile];\n },\n getColorImageUrl(materialFile: string) {\n return materialSkins[materialFile].colorImageUrl;\n },\n getMetallicImageUrl(materialFile: string) {\n return materialSkins[materialFile].metallicImageUrl;\n },\n ...setters,\n };\n }, [materialSkins, setters]);\n\n return (\n {children}\n );\n}\n","import getConfig from \"next/config\";\nimport useTools from \"./useTools\";\nimport useWarrior from \"./useWarrior\";\nimport { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function MaterialSelector() {\n const { actualModel } = useWarrior();\n const { selectedMaterialIndex, setSelectedMaterialIndex } = useTools();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n {\n setSelectedMaterialIndex(parseInt(event.target.value, 10));\n }}\n >\n {materialDefs.map((materialDef, i) =>\n materialDef &&\n !materialDef.hidden &&\n materialDef.selectable !== false ? (\n \n ) : null\n )}\n \n );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport useCanvas from \"./useCanvas\";\nimport useSettings from \"./useSettings\";\nimport useTools from \"./useTools\";\nimport { fabric } from \"fabric\";\nimport { createFabricImage } from \"./fabricUtils\";\n\ntype JSONSnapshot = ReturnType;\n\nfunction updateObjectControlOptions() {\n fabric.Object.prototype.set({\n transparentCorners: false,\n borderColor: \"#8afff1\",\n cornerSize: 9,\n cornerStyle: \"circle\",\n cornerColor: \"#8afff1\",\n cornerStrokeColor: \"#1c9f7c\",\n strokeWidth: 10,\n perPixelTargetFind: true,\n });\n}\n\nexport interface CanvasProps {\n canvasId: string;\n canvasType: \"color\" | \"metallic\";\n onChange: (canvas: fabric.Canvas) => void;\n baseImageUrl: string | null;\n textureSize: [number, number];\n defaultDrawingMode?: boolean;\n}\n\nexport default function Canvas({\n canvasId,\n onChange,\n baseImageUrl,\n textureSize,\n defaultDrawingMode = false,\n}: CanvasProps) {\n const canvasElementRef = useRef(null);\n const [canvas, setCanvas] = useState(null);\n const { activeCanvas } = useTools();\n const { canvasPadding } = useSettings();\n const { registerCanvas, unregisterCanvas } = useCanvas();\n const [isDrawingMode, setDrawingMode] = useState(defaultDrawingMode);\n const handleChangeRef = useRef();\n const trackChanges = useRef(true);\n const [undoHistory, setUndoHistory] = useState(() => []);\n const [redoHistory, setRedoHistory] = useState(() => []);\n\n const canUndo = undoHistory.length > 1;\n const canRedo = redoHistory.length > 0;\n\n const handleChange: CanvasProps[\"onChange\"] = useCallback((canvas) => {\n const handleChange = handleChangeRef.current;\n if (handleChange) {\n handleChange(canvas);\n }\n }, []);\n\n const undo = useCallback(async () => {\n if (!canvas) {\n return;\n }\n if (undoHistory.length > 1) {\n const [restoreState, currentState] = undoHistory.slice(-2);\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(restoreState, () => {\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory) => undoHistory.slice(0, -1));\n setRedoHistory((redoHistory) => [currentState, ...redoHistory]);\n }\n }, [canvas, undoHistory]);\n\n const redo = useCallback(() => {\n if (!canvas) {\n return;\n }\n if (redoHistory.length > 0) {\n const nextState = redoHistory[0];\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(nextState, () => {\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory) => [...undoHistory, nextState]);\n setRedoHistory((redoHistory) => redoHistory.slice(1));\n }\n }, [canvas, redoHistory]);\n\n useEffect(() => {\n handleChangeRef.current = onChange;\n }, [onChange]);\n\n const isActive = activeCanvas === canvasId;\n\n useEffect(() => {\n const options = {\n preserveObjectStacking: true,\n targetFindTolerance: 2,\n };\n updateObjectControlOptions();\n\n const canvas = new fabric.Canvas(canvasElementRef.current, options);\n\n let isSnapshotting = false;\n let changeTimer: ReturnType;\n\n const handleChangeWithCanvasArg = () => {\n handleChange(canvas);\n };\n\n const handleRender = () => {\n if (isSnapshotting) {\n return;\n }\n if (!trackChanges.current) {\n return;\n }\n clearTimeout(changeTimer);\n changeTimer = setTimeout(() => {\n const snapshot = snapshotCanvas();\n setUndoHistory((history) => [...history.slice(-5), snapshot]);\n setRedoHistory([]);\n }, 150);\n };\n\n const snapshotCanvas = () => {\n isSnapshotting = true;\n const snapshot = canvas.toJSON([\n \"lockMovementX\",\n \"lockMovementY\",\n \"lockRotation\",\n \"lockScalingX\",\n \"lockScalingY\",\n \"selectable\",\n \"hoverCursor\",\n \"moveCursor\",\n ]);\n isSnapshotting = false;\n return snapshot;\n };\n\n canvas.on(\"object:modified\", handleChangeWithCanvasArg);\n canvas.on(\"object:added\", handleChangeWithCanvasArg);\n canvas.on(\"object:removed\", handleChangeWithCanvasArg);\n canvas.on(\"after:render\", handleRender);\n\n setCanvas(canvas);\n\n return () => {\n clearTimeout(changeTimer);\n setCanvas(null);\n canvas.dispose();\n };\n }, [handleChange]);\n\n useEffect(() => {\n if (canvas) {\n canvas.isDrawingMode = isDrawingMode;\n }\n }, [canvas, isDrawingMode]);\n\n useEffect(() => {\n if (canvas && isActive) {\n canvas.calcOffset();\n }\n }, [canvas, isActive]);\n\n useEffect(() => {\n if (canvas) {\n registerCanvas(canvasId, {\n canvas,\n notifyChange: () => {\n canvas.renderAll();\n handleChange(canvas);\n },\n undo,\n redo,\n canUndo,\n canRedo,\n isDrawingMode,\n setDrawingMode,\n });\n return () => {\n unregisterCanvas(canvasId);\n };\n }\n }, [\n canvas,\n registerCanvas,\n unregisterCanvas,\n canvasId,\n handleChange,\n isDrawingMode,\n setDrawingMode,\n undo,\n redo,\n canUndo,\n canRedo,\n ]);\n\n useEffect(() => {\n if (canvas && textureSize) {\n trackChanges.current = false;\n canvas.clear();\n if (baseImageUrl) {\n let stale = false;\n const addImage = async () => {\n const image = await createFabricImage(baseImageUrl);\n if (!stale) {\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n image.selectable = false;\n image.lockMovementX = true;\n image.lockMovementY = true;\n image.lockScalingX = true;\n image.lockScalingY = true;\n image.lockRotation = true;\n image.hoverCursor = \"default\";\n image.moveCursor = \"default\";\n const [expectedWidth, expectedHeight] = textureSize;\n const scaleX =\n image.width === expectedWidth ? 1 : expectedWidth / image.width;\n const scaleY =\n image.height === expectedHeight\n ? 1\n : expectedHeight / image.height;\n if (scaleX !== 1 || scaleY !== 1) {\n image.scaleX = scaleX;\n image.scaleY = scaleY;\n }\n canvas.centerObject(image);\n canvas.add(image);\n }\n trackChanges.current = true;\n canvas.requestRenderAll();\n };\n\n addImage();\n\n return () => {\n stale = true;\n };\n }\n }\n }, [canvas, baseImageUrl, textureSize]);\n\n return (\n
\n \n
\n );\n}\n","import React, { useContext } from \"react\";\n\ninterface ImageLoaderContextValue {\n loadImage: (url: string) => Promise;\n}\n\nexport const ImageLoaderContext =\n React.createContext(null);\nImageLoaderContext.displayName = \"ImageLoaderContext\";\n\nexport default function useImageLoader() {\n const context = useContext(ImageLoaderContext);\n if (!context) {\n throw new Error(\"ImageLoaderContext.Provider not found!\");\n }\n return context;\n}\n","import { useCallback, useEffect, useMemo, useState } from \"react\";\nimport Canvas, { CanvasProps } from \"./Canvas\";\nimport useSettings from \"./useSettings\";\nimport useSkin from \"./useSkin\";\nimport type { MaterialDefinition } from \"./Material\";\nimport useWarrior from \"./useWarrior\";\nimport useImageWorker from \"./useImageWorker\";\nimport useImageLoader from \"./useImageLoader\";\n\nconst defaultTextureSize = [512, 512] as [number, number];\n\nexport default function ColorCanvas({\n materialDef,\n}: {\n materialDef: MaterialDefinition;\n}) {\n const { skinImageUrls, defaultSkinImageUrls } = useWarrior();\n const skinImageUrl = skinImageUrls[materialDef.file ?? materialDef.name];\n const defaultSkinImageUrl =\n defaultSkinImageUrls[materialDef.file ?? materialDef.name];\n const { setColorImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [noAlphaImageUrl, setNoAlphaImageUrl] = useState(null);\n const { removeAlphaFromArrayBuffer } = useImageWorker();\n const { loadImage } = useImageLoader();\n\n const textureSize = useMemo(\n () => materialDef.size ?? defaultTextureSize,\n [materialDef]\n );\n\n const handleChange = useCallback(\n async (canvas) => {\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n setColorImageUrl(materialDef.file ?? materialDef.name, imageUrl);\n },\n [textureSize, canvasPadding, setColorImageUrl, materialDef]\n );\n\n useEffect(() => {\n if (skinImageUrl) {\n let stale = false;\n\n const generateImageUrl = async () => {\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await removeAlphaFromArrayBuffer(arrayBuffer);\n if (!stale) {\n setNoAlphaImageUrl(outputImageUrl);\n }\n };\n\n generateImageUrl();\n\n return () => {\n stale = true;\n };\n } else {\n setNoAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n removeAlphaFromArrayBuffer,\n loadImage,\n ]);\n\n const canvasId = `${materialDef.name}:color`;\n\n return textureSize ? (\n \n ) : null;\n}\n","import { useCallback, useEffect, useRef, useMemo, useState } from \"react\";\nimport Canvas, { CanvasProps } from \"./Canvas\";\nimport useImageWorker from \"./useImageWorker\";\nimport useSettings from \"./useSettings\";\nimport type { MaterialDefinition } from \"./Material\";\nimport useSkin from \"./useSkin\";\nimport useWarrior from \"./useWarrior\";\nimport useImageLoader from \"./useImageLoader\";\n\nconst defaultTextureSize = [512, 512] as [number, number];\n\nexport default function MetallicCanvas({\n materialDef,\n}: {\n materialDef: MaterialDefinition;\n}) {\n const { skinImageUrls, defaultSkinImageUrls } = useWarrior();\n const skinImageUrl = skinImageUrls[materialDef.file ?? materialDef.name];\n const defaultSkinImageUrl =\n defaultSkinImageUrls[materialDef.file ?? materialDef.name];\n const { setMetallicImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [alphaImageUrl, setAlphaImageUrl] = useState(null);\n const runningChangeHandlers = useRef(0);\n const {\n convertGrayscaleImageUrlToMetallicRoughness,\n convertArrayBufferAlphaToGrayscale,\n } = useImageWorker();\n const { loadImage } = useImageLoader();\n\n const textureSize = useMemo(\n () => materialDef.size ?? defaultTextureSize,\n [materialDef]\n );\n\n const handleChange = useCallback(\n async (canvas) => {\n runningChangeHandlers.current += 1;\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1],\n });\n let outputImageUrl;\n try {\n outputImageUrl = await convertGrayscaleImageUrlToMetallicRoughness(\n imageUrl\n );\n } finally {\n runningChangeHandlers.current -= 1;\n }\n if (runningChangeHandlers.current === 0) {\n setMetallicImageUrl(\n materialDef.file ?? materialDef.name,\n outputImageUrl\n );\n }\n },\n [\n textureSize,\n canvasPadding,\n setMetallicImageUrl,\n convertGrayscaleImageUrlToMetallicRoughness,\n materialDef,\n ]\n );\n\n useEffect(() => {\n if (skinImageUrl) {\n let stale = false;\n\n const generateImageUrl = async () => {\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await convertArrayBufferAlphaToGrayscale(\n arrayBuffer\n );\n if (!stale) {\n setAlphaImageUrl(outputImageUrl);\n }\n };\n\n generateImageUrl();\n\n return () => {\n stale = true;\n };\n } else {\n setAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n textureSize,\n convertArrayBufferAlphaToGrayscale,\n loadImage,\n ]);\n\n const canvasId = `${materialDef.name}:metallic`;\n\n return textureSize ? (\n \n ) : null;\n}\n","import React from \"react\";\nimport getConfig from \"next/config\";\nimport ColorCanvas from \"./ColorCanvas\";\nimport MetallicCanvas from \"./MetallicCanvas\";\nimport useWarrior from \"./useWarrior\";\nimport { MaterialDefinition } from \"./Material\";\n\nconst { publicRuntimeConfig } = getConfig();\n\nconst { materials } = publicRuntimeConfig;\n\nexport default function MaterialCanvases() {\n const { actualModel } = useWarrior();\n const materialDefs: MaterialDefinition[] = materials[actualModel];\n\n return (\n <>\n {materialDefs.map((materialDef) => {\n if (!materialDef) {\n return null;\n }\n const hasMetallic = !(\n materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1\n );\n return (\n \n \n {hasMetallic ? : null}\n \n );\n })}\n \n );\n}\n","import { useQueryClient } from \"@tanstack/react-query\";\nimport { ReactNode, useMemo } from \"react\";\nimport { ImageLoaderContext } from \"./useImageLoader\";\nimport { imageUrlToArrayBuffer } from \"./imageUtils\";\n\nexport default function ImageLoaderProvider({\n children,\n}: {\n children: ReactNode;\n}) {\n const queryClient = useQueryClient();\n const context = useMemo(() => {\n return {\n async loadImage(imageUrl: string) {\n if (imageUrl.startsWith(\"data:\")) {\n return imageUrlToArrayBuffer(imageUrl);\n } else {\n const arrayBuffer = await queryClient.fetchQuery({\n queryKey: [imageUrl],\n });\n return arrayBuffer;\n }\n },\n };\n }, [queryClient]);\n\n return (\n \n {children}\n \n );\n}\n","import Head from \"next/head\";\nimport CanvasTools from \"../CanvasTools\";\nimport ToolsProvider from \"../ToolsProvider\";\nimport CanvasBackdrop from \"../CanvasBackdrop\";\nimport CanvasProvider from \"../CanvasProvider\";\nimport CanvasInteractions from \"../CanvasInteractions\";\nimport CanvasToggle from \"../CanvasToggle\";\nimport WarriorSelector from \"../WarriorSelector\";\nimport WarriorProvider from \"../WarriorProvider\";\nimport WarriorViewer from \"../WarriorViewer\";\nimport EnvironmentSelector from \"../EnvironmentSelector\";\nimport EnvironmentExposure from \"../EnvironmentExposure\";\nimport AnimationSelector from \"../AnimationSelector\";\nimport EnvironmentProvider from \"../EnvironmentProvider\";\nimport SkinProvider from \"../SkinProvider\";\nimport MaterialSelector from \"../MaterialSelector\";\nimport MaterialCanvases from \"../MaterialCanvases\";\nimport ImageLoaderProvider from \"../ImageLoaderProvider\";\nimport {\n QueryClient,\n QueryClientProvider,\n QueryKey,\n} from \"@tanstack/react-query\";\nimport { imageUrlToArrayBuffer } from \"../imageUtils\";\n\nasync function imageFetcher({ queryKey }: { queryKey: QueryKey }) {\n const [imageUrl] = queryKey as [string];\n return imageUrlToArrayBuffer(imageUrl);\n}\n\nconst queryClient = new QueryClient({\n defaultOptions: {\n queries: {\n queryFn: imageFetcher,\n staleTime: Infinity,\n cacheTime: 60000,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false,\n },\n },\n});\n\nexport default function HomePage() {\n return (\n <>\n \n T2 Model Viewer & Skinner\n \n \n
\n \n \n \n \n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n \n \n \n \n
\n
\n \n \n
\n \n \n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n \n );\n}\n","import React, { useContext } from \"react\";\nimport { ModelViewerElement } from \"@google/model-viewer\";\n\nexport const ModelViewerContext = React.createContext<{\n modelViewer: ModelViewerElement;\n model: NonNullable;\n isLoaded: boolean;\n} | null>(null);\nModelViewerContext.displayName = \"ModelViewerContext\";\n\nexport default function useModelViewer() {\n const context = useContext(ModelViewerContext);\n if (!context) {\n throw new Error(\"No ModelViewerContext.Provider\");\n }\n return context;\n}\n","/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */\n\nvar fabric = fabric || { version: '5.2.1' };\nif (typeof exports !== 'undefined') {\n exports.fabric = fabric;\n}\n/* _AMD_START_ */\nelse if (typeof define === 'function' && define.amd) {\n define([], function() { return fabric; });\n}\n/* _AMD_END_ */\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n if (document instanceof (typeof HTMLDocument !== 'undefined' ? HTMLDocument : Document)) {\n fabric.document = document;\n }\n else {\n fabric.document = document.implementation.createHTMLDocument('');\n }\n fabric.window = window;\n}\nelse {\n // assume we're running under node.js when document/window are not present\n var jsdom = require('jsdom');\n var virtualWindow = new jsdom.JSDOM(\n decodeURIComponent('%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E'),\n {\n features: {\n FetchExternalResources: ['img']\n },\n resources: 'usable'\n }).window;\n fabric.document = virtualWindow.document;\n fabric.jsdomImplForWrapper = require('jsdom/lib/jsdom/living/generated/utils').implForWrapper;\n fabric.nodeCanvas = require('jsdom/lib/jsdom/utils').Canvas;\n fabric.window = virtualWindow;\n DOMParser = fabric.window.DOMParser;\n}\n\n/**\n * True when in environment that supports touch events\n * @type boolean\n */\nfabric.isTouchSupported = 'ontouchstart' in fabric.window || 'ontouchstart' in fabric.document ||\n (fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0);\n\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */\nfabric.isLikelyNode = typeof Buffer !== 'undefined' &&\n typeof window === 'undefined';\n\n\n\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */\nfabric.DPI = 96;\nfabric.reNum = '(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[eE][-+]?\\\\d+)?)';\nfabric.commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)';\nfabric.rePathCommand = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:[eE][-+]?\\d+)?)/ig;\nfabric.reNonWord = /[ \\n\\.,;!\\?\\-]/;\nfabric.fontPaths = { };\nfabric.iMatrix = [1, 0, 0, 1, 0, 0];\nfabric.svgNS = 'http://www.w3.org/2000/svg';\n\n/**\n * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.perfLimitSizeTotal = 2097152;\n\n/**\n * Pixel limit for cache canvases width or height. IE fixes the maximum at 5000\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.maxCacheSideLimit = 4096;\n\n/**\n * Lowest pixel limit for cache canvases, set at 256PX\n * @since 1.7.14\n * @type Number\n * @default\n */\nfabric.minCacheSideLimit = 256;\n\n/**\n * Cache Object for widths of chars in text rendering.\n */\nfabric.charWidthsCache = { };\n\n/**\n * if webgl is enabled and available, textureSize will determine the size\n * of the canvas backend\n * @since 2.0.0\n * @type Number\n * @default\n */\nfabric.textureSize = 2048;\n\n/**\n * When 'true', style information is not retained when copy/pasting text, making\n * pasted text use destination style.\n * Defaults to 'false'.\n * @type Boolean\n * @default\n */\nfabric.disableStyleCopyPaste = false;\n\n/**\n * Enable webgl for filtering picture is available\n * A filtering backend will be initialized, this will both take memory and\n * time since a default 2048x2048 canvas will be created for the gl context\n * @since 2.0.0\n * @type Boolean\n * @default\n */\nfabric.enableGLFiltering = true;\n\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */\nfabric.devicePixelRatio = fabric.window.devicePixelRatio ||\n fabric.window.webkitDevicePixelRatio ||\n fabric.window.mozDevicePixelRatio ||\n 1;\n/**\n * Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,\n * which is unitless and not rendered equally across browsers.\n *\n * Values that work quite well (as of October 2017) are:\n * - Chrome: 1.5\n * - Edge: 1.75\n * - Firefox: 0.9\n * - Safari: 0.95\n *\n * @since 2.0.0\n * @type Number\n * @default 1\n */\nfabric.browserShadowBlurConstant = 1;\n\n/**\n * This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.arcToSegmentsCache = { };\n\n/**\n * This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.\n * It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing\n * you do not get any speed benefit and you get a big object in memory.\n * The object was a private variable before, while now is appended to the lib so that you have access to it and you\n * can eventually clear it.\n * It was an internal variable, is accessible since version 2.3.4\n */\nfabric.boundsOfCurveCache = { };\n\n/**\n * If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better\n * @default true\n */\nfabric.cachesBoundsOfCurve = true;\n\n/**\n * Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on\n * Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true\n * this has to be set before instantiating the filtering backend ( before filtering the first image )\n * @type Boolean\n * @default false\n */\nfabric.forceGLPutImageData = false;\n\nfabric.initFilterBackend = function() {\n if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {\n console.log('max texture size: ' + fabric.maxTextureSize);\n return (new fabric.WebglFilterBackend({ tileSize: fabric.textureSize }));\n }\n else if (fabric.Canvas2dFilterBackend) {\n return (new fabric.Canvas2dFilterBackend());\n }\n};\n(function() {\n\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */\n function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n var eventListener = this.__eventListeners[eventName];\n if (handler) {\n eventListener[eventListener.indexOf(handler)] = false;\n }\n else {\n fabric.util.array.fill(eventListener, false);\n }\n }\n\n /**\n * Observes specified event\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */\n function on(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = { };\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n this.on(prop, eventName[prop]);\n }\n }\n else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n\n function _once(eventName, handler) {\n var _handler = function () {\n handler.apply(this, arguments);\n this.off(eventName, _handler);\n }.bind(this);\n this.on(eventName, _handler);\n }\n\n function once(eventName, handler) {\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n _once.call(this, prop, eventName[prop]);\n }\n }\n else {\n _once.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */\n function off(eventName, handler) {\n if (!this.__eventListeners) {\n return this;\n }\n\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n for (eventName in this.__eventListeners) {\n _removeEventListener.call(this, eventName);\n }\n }\n // one object with key/value pairs was passed\n else if (arguments.length === 1 && typeof arguments[0] === 'object') {\n for (var prop in eventName) {\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n }\n else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Fires event with an optional options object\n * @memberOf fabric.Observable\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */\n function fire(eventName, options) {\n if (!this.__eventListeners) {\n return this;\n }\n\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return this;\n }\n\n for (var i = 0, len = listenersForEvent.length; i < len; i++) {\n listenersForEvent[i] && listenersForEvent[i].call(this, options || { });\n }\n this.__eventListeners[eventName] = listenersForEvent.filter(function(value) {\n return value !== false;\n });\n return this;\n }\n\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#events}\n * @see {@link http://fabricjs.com/events|Events demo}\n */\n fabric.Observable = {\n fire: fire,\n on: on,\n once: once,\n off: off,\n };\n})();\n/**\n * @namespace fabric.Collection\n */\nfabric.Collection = {\n\n _objects: [],\n\n /**\n * Adds objects to collection, Canvas or Group, then renders canvas\n * (if `renderOnAddRemove` is not `false`).\n * in case of Group no changes to bounding box are made.\n * Objects should be instances of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the add method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n add: function () {\n this._objects.push.apply(this._objects, arguments);\n if (this._onObjectAdded) {\n for (var i = 0, length = arguments.length; i < length; i++) {\n this._onObjectAdded(arguments[i]);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the insertAt method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */\n insertAt: function (object, index, nonSplicing) {\n var objects = this._objects;\n if (nonSplicing) {\n objects[index] = object;\n }\n else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded && this._onObjectAdded(object);\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n remove: function() {\n var objects = this._objects,\n index, somethingRemoved = false;\n\n for (var i = 0, length = arguments.length; i < length; i++) {\n index = objects.indexOf(arguments[i]);\n\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n somethingRemoved = true;\n objects.splice(index, 1);\n this._onObjectRemoved && this._onObjectRemoved(arguments[i]);\n }\n }\n\n this.renderOnAddRemove && somethingRemoved && this.requestRenderAll();\n return this;\n },\n\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n * @chainable\n */\n forEachObject: function(callback, context) {\n var objects = this.getObjects();\n for (var i = 0, len = objects.length; i < len; i++) {\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * since 2.3.5 this method return always a COPY of the array;\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */\n getObjects: function(type) {\n if (typeof type === 'undefined') {\n return this._objects.concat();\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */\n item: function (index) {\n return this._objects[index];\n },\n\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */\n isEmpty: function () {\n return this._objects.length === 0;\n },\n\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */\n size: function() {\n return this._objects.length;\n },\n\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @param {Boolean} [deep=false] `true` to check all descendants, `false` to check only `_objects`\n * @return {Boolean} `true` if collection contains an object\n */\n contains: function (object, deep) {\n if (this._objects.indexOf(object) > -1) {\n return true;\n }\n else if (deep) {\n return this._objects.some(function (obj) {\n return typeof obj.contains === 'function' && obj.contains(object, true);\n });\n }\n return false;\n },\n\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */\n complexity: function () {\n return this._objects.reduce(function (memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n/**\n * @namespace fabric.CommonMethods\n */\nfabric.CommonMethods = {\n\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */\n _setOptions: function(options) {\n for (var prop in options) {\n this.set(prop, options[prop]);\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Gradient to\n */\n _initGradient: function(filler, property) {\n if (filler && filler.colorStops && !(filler instanceof fabric.Gradient)) {\n this.set(property, new fabric.Gradient(filler));\n }\n },\n\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Pattern to\n * @param {Function} [callback] callback to invoke after pattern load\n */\n _initPattern: function(filler, property, callback) {\n if (filler && filler.source && !(filler instanceof fabric.Pattern)) {\n this.set(property, new fabric.Pattern(filler, callback));\n }\n else {\n callback && callback();\n }\n },\n\n /**\n * @private\n */\n _setObject: function(obj) {\n for (var prop in obj) {\n this._set(prop, obj[prop]);\n }\n },\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n set: function(key, value) {\n if (typeof key === 'object') {\n this._setObject(key);\n }\n else {\n this._set(key, value);\n }\n return this;\n },\n\n _set: function(key, value) {\n this[key] = value;\n },\n\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n * @return {fabric.Object} thisArg\n * @chainable\n */\n toggle: function(property) {\n var value = this.get(property);\n if (typeof value === 'boolean') {\n this.set(property, !value);\n }\n return this;\n },\n\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */\n get: function(property) {\n return this[property];\n }\n};\n(function(global) {\n\n var sqrt = Math.sqrt,\n atan2 = Math.atan2,\n pow = Math.pow,\n PiBy180 = Math.PI / 180,\n PiBy2 = Math.PI / 2;\n\n /**\n * @namespace fabric.util\n */\n fabric.util = {\n\n /**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n cos: function(angle) {\n if (angle === 0) { return 1; }\n if (angle < 0) {\n // cos(a) = cos(-a)\n angle = -angle;\n }\n var angleSlice = angle / PiBy2;\n switch (angleSlice) {\n case 1: case 3: return 0;\n case 2: return -1;\n }\n return Math.cos(angle);\n },\n\n /**\n * Calculate the sin of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */\n sin: function(angle) {\n if (angle === 0) { return 0; }\n var angleSlice = angle / PiBy2, sign = 1;\n if (angle < 0) {\n // sin(-a) = -sin(a)\n sign = -1;\n }\n switch (angleSlice) {\n case 1: return sign;\n case 2: return 0;\n case 3: return -sign;\n }\n return Math.sin(angle);\n },\n\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {*} value\n * @return {Array} original array\n */\n removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */\n getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */\n degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */\n radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */\n rotatePoint: function(point, origin, radians) {\n var newPoint = new fabric.Point(point.x - origin.x, point.y - origin.y),\n v = fabric.util.rotateVector(newPoint, radians);\n return new fabric.Point(v.x, v.y).addEquals(origin);\n },\n\n /**\n * Rotates `vector` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {Object} vector The vector to rotate (x and y)\n * @param {Number} radians The radians of the angle for the rotation\n * @return {Object} The new rotated point\n */\n rotateVector: function(vector, radians) {\n var sin = fabric.util.sin(radians),\n cos = fabric.util.cos(radians),\n rx = vector.x * cos - vector.y * sin,\n ry = vector.x * sin + vector.y * cos;\n return {\n x: rx,\n y: ry\n };\n },\n\n /**\n * Creates a vetor from points represented as a point\n * @static\n * @memberOf fabric.util\n *\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n *\n * @param {Point} from\n * @param {Point} to\n * @returns {Point} vector\n */\n createVector: function (from, to) {\n return new fabric.Point(to.x - from.x, to.y - from.y);\n },\n\n /**\n * Calculates angle between 2 vectors using dot product\n * @static\n * @memberOf fabric.util\n * @param {Point} a\n * @param {Point} b\n * @returns the angle in radian between the vectors\n */\n calcAngleBetweenVectors: function (a, b) {\n return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y)));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} v\n * @returns {Point} vector representing the unit vector of pointing to the direction of `v`\n */\n getHatVector: function (v) {\n return new fabric.Point(v.x, v.y).multiply(1 / Math.hypot(v.x, v.y));\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} A\n * @param {Point} B\n * @param {Point} C\n * @returns {{ vector: Point, angle: number }} vector representing the bisector of A and A's angle\n */\n getBisector: function (A, B, C) {\n var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C);\n var alpha = fabric.util.calcAngleBetweenVectors(AB, AC);\n // check if alpha is relative to AB->BC\n var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC);\n var phi = alpha * (ro === 0 ? 1 : -1) / 2;\n return {\n vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)),\n angle: alpha\n };\n },\n\n /**\n * Project stroke width on points returning 2 projections for each point as follows:\n * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke.\n * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector.\n * - `round`: same as `bevel`\n * Used to calculate object's bounding box\n * @static\n * @memberOf fabric.util\n * @param {Point[]} points\n * @param {Object} options\n * @param {number} options.strokeWidth\n * @param {'miter'|'bevel'|'round'} options.strokeLineJoin\n * @param {number} options.strokeMiterLimit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit\n * @param {boolean} options.strokeUniform\n * @param {number} options.scaleX\n * @param {number} options.scaleY\n * @param {boolean} [openPath] whether the shape is open or not, affects the calculations of the first and last points\n * @returns {fabric.Point[]} array of size 2n/4n of all suspected points\n */\n projectStrokeOnPoints: function (points, options, openPath) {\n var coords = [], s = options.strokeWidth / 2,\n strokeUniformScalar = options.strokeUniform ?\n new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1),\n getStrokeHatVector = function (v) {\n var scalar = s / (Math.hypot(v.x, v.y));\n return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y);\n };\n if (points.length <= 1) {return coords;}\n points.forEach(function (p, index) {\n var A = new fabric.Point(p.x, p.y), B, C;\n if (index === 0) {\n C = points[index + 1];\n B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1];\n }\n else if (index === points.length - 1) {\n B = points[index - 1];\n C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0];\n }\n else {\n B = points[index - 1];\n C = points[index + 1];\n }\n var bisector = fabric.util.getBisector(A, B, C),\n bisectorVector = bisector.vector,\n alpha = bisector.angle,\n scalar,\n miterVector;\n if (options.strokeLineJoin === 'miter') {\n scalar = -s / Math.sin(alpha / 2);\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) {\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n return;\n }\n }\n scalar = -s * Math.SQRT2;\n miterVector = new fabric.Point(\n bisectorVector.x * scalar * strokeUniformScalar.x,\n bisectorVector.y * scalar * strokeUniformScalar.y\n );\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n });\n return coords;\n },\n\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */\n transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y,\n t[1] * p.x + t[3] * p.y\n );\n }\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y + t[4],\n t[1] * p.x + t[3] * p.y + t[5]\n );\n },\n\n /**\n * Returns coordinates of points's bounding rectangle (left, top, width, height)\n * @param {Array} points 4 points array\n * @param {Array} [transform] an array of 6 numbers representing a 2x3 transform matrix\n * @return {Object} Object with left, top, width, height properties\n */\n makeBoundingBoxFromPoints: function(points, transform) {\n if (transform) {\n for (var i = 0; i < points.length; i++) {\n points[i] = fabric.util.transformPoint(points[i], transform);\n }\n }\n var xPoints = [points[0].x, points[1].x, points[2].x, points[3].x],\n minX = fabric.util.array.min(xPoints),\n maxX = fabric.util.array.max(xPoints),\n width = maxX - minX,\n yPoints = [points[0].y, points[1].y, points[2].y, points[3].y],\n minY = fabric.util.array.min(yPoints),\n maxY = fabric.util.array.max(yPoints),\n height = maxY - minY;\n\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */\n invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]),\n r = [a * t[3], -a * t[1], -a * t[2], a * t[0]],\n o = fabric.util.transformPoint({ x: t[4], y: t[5] }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */\n toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @param {Number} fontSize\n * @return {Number|String}\n */\n parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value),\n number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch (unit[0]) {\n case 'mm':\n return number * fabric.DPI / 25.4;\n\n case 'cm':\n return number * fabric.DPI / 2.54;\n\n case 'in':\n return number * fabric.DPI;\n\n case 'pt':\n return number * fabric.DPI / 72; // or * 4 / 3\n\n case 'pc':\n return number * fabric.DPI / 72 * 12; // or * 16\n\n case 'em':\n return number * fontSize;\n\n default:\n return number;\n }\n },\n\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */\n falseFunction: function() {\n return false;\n },\n\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */\n getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n\n /**\n * Returns array of attributes for given svg that fabric parses\n * @memberOf fabric.util\n * @param {String} type Type of svg element (eg. 'circle')\n * @return {Array} string names of supported attributes\n */\n getSvgAttributes: function(type) {\n var attributes = [\n 'instantiated_by_use',\n 'style',\n 'id',\n 'class'\n ];\n switch (type) {\n case 'linearGradient':\n attributes = attributes.concat(['x1', 'y1', 'x2', 'y2', 'gradientUnits', 'gradientTransform']);\n break;\n case 'radialGradient':\n attributes = attributes.concat(['gradientUnits', 'gradientTransform', 'cx', 'cy', 'r', 'fx', 'fy', 'fr']);\n break;\n case 'stop':\n attributes = attributes.concat(['offset', 'stop-color', 'stop-opacity']);\n break;\n }\n return attributes;\n },\n\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */\n resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n\n var parts = namespace.split('.'),\n len = parts.length, i,\n obj = global || fabric.window;\n\n for (i = 0; i < len; ++i) {\n obj = obj[parts[i]];\n }\n\n return obj;\n },\n\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {*} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */\n loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n\n var img = fabric.util.createImage();\n\n /** @ignore */\n var onLoadCallback = function () {\n callback && callback.call(context, img, false);\n img = img.onload = img.onerror = null;\n };\n\n img.onload = onLoadCallback;\n /** @ignore */\n img.onerror = function() {\n fabric.log('Error loading ' + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n // crossOrigin null is the same as not set.\n if (url.indexOf('data') !== 0 &&\n crossOrigin !== undefined &&\n crossOrigin !== null) {\n img.crossOrigin = crossOrigin;\n }\n\n // IE10 / IE11-Fix: SVG contents from data: URI\n // will only be available if the IMG is present\n // in the DOM (and visible)\n if (url.substring(0,14) === 'data:image/svg') {\n img.onload = null;\n fabric.util.loadImageInDom(img, onLoadCallback);\n }\n\n img.src = url;\n },\n\n /**\n * Attaches SVG image with data: URL to the dom\n * @memberOf fabric.util\n * @param {Object} img Image object with data:image/svg src\n * @param {Function} callback Callback; invoked with loaded image\n * @return {Object} DOM element (div containing the SVG image)\n */\n loadImageInDom: function(img, onLoadCallback) {\n var div = fabric.document.createElement('div');\n div.style.width = div.style.height = '1px';\n div.style.left = div.style.top = '-100%';\n div.style.position = 'absolute';\n div.appendChild(img);\n fabric.document.querySelector('body').appendChild(div);\n /**\n * Wrap in function to:\n * 1. Call existing callback\n * 2. Cleanup DOM\n */\n img.onload = function () {\n onLoadCallback();\n div.parentNode.removeChild(div);\n div = null;\n };\n },\n\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */\n enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [];\n\n var enlivenedObjects = [],\n numLoadedObjects = 0,\n numTotalObjects = objects.length;\n\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects.filter(function(obj) {\n // filter out undefined objects (objects that gave error)\n return obj;\n }));\n }\n }\n\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n\n objects.forEach(function (o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n klass.fromObject(o, function (obj, error) {\n error || (enlivenedObjects[index] = obj);\n reviver && reviver(o, obj, error);\n onLoaded();\n });\n });\n },\n\n /**\n * Creates corresponding fabric instances residing in an object, e.g. `clipPath`\n * @see {@link fabric.Object.ENLIVEN_PROPS}\n * @param {Object} object\n * @param {Object} [context] assign enlived props to this object (pass null to skip this)\n * @param {(objects:fabric.Object[]) => void} callback\n */\n enlivenObjectEnlivables: function (object, context, callback) {\n var enlivenProps = fabric.Object.ENLIVEN_PROPS.filter(function (key) { return !!object[key]; });\n fabric.util.enlivenObjects(enlivenProps.map(function (key) { return object[key]; }), function (enlivedProps) {\n var objects = {};\n enlivenProps.forEach(function (key, index) {\n objects[key] = enlivedProps[index];\n context && (context[key] = enlivedProps[index]);\n });\n callback && callback(objects);\n });\n },\n\n /**\n * Create and wait for loading of patterns\n * @static\n * @memberOf fabric.util\n * @param {Array} patterns Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * called after each fabric object created.\n */\n enlivenPatterns: function(patterns, callback) {\n patterns = patterns || [];\n\n function onLoaded() {\n if (++numLoadedPatterns === numPatterns) {\n callback && callback(enlivenedPatterns);\n }\n }\n\n var enlivenedPatterns = [],\n numLoadedPatterns = 0,\n numPatterns = patterns.length;\n\n if (!numPatterns) {\n callback && callback(enlivenedPatterns);\n return;\n }\n\n patterns.forEach(function (p, index) {\n if (p && p.source) {\n new fabric.Pattern(p, function(pattern) {\n enlivenedPatterns[index] = pattern;\n onLoaded();\n });\n }\n else {\n enlivenedPatterns[index] = p;\n onLoaded();\n }\n });\n },\n\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @param {String} path Value to set sourcePath to\n * @return {fabric.Object|fabric.Group}\n */\n groupSVGElements: function(elements, options, path) {\n var object;\n if (elements && elements.length === 1) {\n return elements[0];\n }\n if (options) {\n if (options.width && options.height) {\n options.centerPoint = {\n x: options.width / 2,\n y: options.height / 2\n };\n }\n else {\n delete options.width;\n delete options.height;\n }\n }\n object = new fabric.Group(elements, options);\n if (typeof path !== 'undefined') {\n object.sourcePath = path;\n }\n return object;\n },\n\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Properties names to include\n */\n populateWithProperties: function(source, destination, properties) {\n if (properties && Array.isArray(properties)) {\n for (var i = 0, len = properties.length; i < len; i++) {\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n\n /**\n * Creates canvas element\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n createCanvasElement: function() {\n return fabric.document.createElement('canvas');\n },\n\n /**\n * Creates a canvas element that is a copy of another and is also painted\n * @param {CanvasElement} canvas to copy size and content of\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */\n copyCanvasElement: function(canvas) {\n var newCanvas = fabric.util.createCanvasElement();\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n newCanvas.getContext('2d').drawImage(canvas, 0, 0);\n return newCanvas;\n },\n\n /**\n * since 2.6.0 moved from canvas instance to utility.\n * @param {CanvasElement} canvasEl to copy size and content of\n * @param {String} format 'jpeg' or 'png', in some browsers 'webp' is ok too\n * @param {Number} quality <= 1 and > 0\n * @static\n * @memberOf fabric.util\n * @return {String} data url\n */\n toDataURL: function(canvasEl, format, quality) {\n return canvasEl.toDataURL('image/' + format, quality);\n },\n\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */\n createImage: function() {\n return fabric.document.createElement('img');\n },\n\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @param {Boolean} is2x2 flag to multiply matrices as 2x2 matrices\n * @return {Array} The product of the two transform matrices\n */\n multiplyTransformMatrices: function(a, b, is2x2) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n is2x2 ? 0 : a[0] * b[4] + a[2] * b[5] + a[4],\n is2x2 ? 0 : a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n\n /**\n * Decomposes standard 2x3 matrix into transform components\n * @static\n * @memberOf fabric.util\n * @param {Array} a transformMatrix\n * @return {Object} Components of transform\n */\n qrDecompose: function(a) {\n var angle = atan2(a[1], a[0]),\n denom = pow(a[0], 2) + pow(a[1], 2),\n scaleX = sqrt(denom),\n scaleY = (a[0] * a[3] - a[2] * a[1]) / scaleX,\n skewX = atan2(a[0] * a[2] + a[1] * a [3], denom);\n return {\n angle: angle / PiBy180,\n scaleX: scaleX,\n scaleY: scaleY,\n skewX: skewX / PiBy180,\n skewY: 0,\n translateX: a[4],\n translateY: a[5]\n };\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle] angle in degrees\n * @return {Number[]} transform matrix\n */\n calcRotateMatrix: function(options) {\n if (!options.angle) {\n return fabric.iMatrix.concat();\n }\n var theta = fabric.util.degreesToRadians(options.angle),\n cos = fabric.util.cos(theta),\n sin = fabric.util.sin(theta);\n return [cos, sin, -sin, cos, 0, 0];\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet.\n * is called DimensionsTransformMatrix because those properties are the one that influence\n * the size of the resulting box of the object.\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewY]\n * @return {Number[]} transform matrix\n */\n calcDimensionsMatrix: function(options) {\n var scaleX = typeof options.scaleX === 'undefined' ? 1 : options.scaleX,\n scaleY = typeof options.scaleY === 'undefined' ? 1 : options.scaleY,\n scaleMatrix = [\n options.flipX ? -scaleX : scaleX,\n 0,\n 0,\n options.flipY ? -scaleY : scaleY,\n 0,\n 0],\n multiply = fabric.util.multiplyTransformMatrices,\n degreesToRadians = fabric.util.degreesToRadians;\n if (options.skewX) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, 0, Math.tan(degreesToRadians(options.skewX)), 1],\n true);\n }\n if (options.skewY) {\n scaleMatrix = multiply(\n scaleMatrix,\n [1, Math.tan(degreesToRadians(options.skewY)), 0, 1],\n true);\n }\n return scaleMatrix;\n },\n\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle]\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewX]\n * @param {Number} [options.translateX]\n * @param {Number} [options.translateY]\n * @return {Number[]} transform matrix\n */\n composeMatrix: function(options) {\n var matrix = [1, 0, 0, 1, options.translateX || 0, options.translateY || 0],\n multiply = fabric.util.multiplyTransformMatrices;\n if (options.angle) {\n matrix = multiply(matrix, fabric.util.calcRotateMatrix(options));\n }\n if (options.scaleX !== 1 || options.scaleY !== 1 ||\n options.skewX || options.skewY || options.flipX || options.flipY) {\n matrix = multiply(matrix, fabric.util.calcDimensionsMatrix(options));\n }\n return matrix;\n },\n\n /**\n * reset an object transform state to neutral. Top and left are not accounted for\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to transform\n */\n resetObjectTransform: function (target) {\n target.scaleX = 1;\n target.scaleY = 1;\n target.skewX = 0;\n target.skewY = 0;\n target.flipX = false;\n target.flipY = false;\n target.rotate(0);\n },\n\n /**\n * Extract Object transform values\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to read from\n * @return {Object} Components of transform\n */\n saveObjectTransform: function (target) {\n return {\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n angle: target.angle,\n left: target.left,\n flipX: target.flipX,\n flipY: target.flipY,\n top: target.top\n };\n },\n\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */\n isTransparent: function(ctx, x, y, tolerance) {\n\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n }\n else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n }\n else {\n y = 0;\n }\n }\n\n var _isTransparent = true, i, temp,\n imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1),\n l = imageData.data.length;\n\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for (i = 3; i < l; i += 4) {\n temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n\n imageData = null;\n\n return _isTransparent;\n },\n\n /**\n * Parse preserveAspectRatio attribute from element\n * @param {string} attribute to be parsed\n * @return {Object} an object containing align and meetOrSlice attribute\n */\n parsePreserveAspectRatioAttribute: function(attribute) {\n var meetOrSlice = 'meet', alignX = 'Mid', alignY = 'Mid',\n aspectRatioAttrs = attribute.split(' '), align;\n\n if (aspectRatioAttrs && aspectRatioAttrs.length) {\n meetOrSlice = aspectRatioAttrs.pop();\n if (meetOrSlice !== 'meet' && meetOrSlice !== 'slice') {\n align = meetOrSlice;\n meetOrSlice = 'meet';\n }\n else if (aspectRatioAttrs.length) {\n align = aspectRatioAttrs.pop();\n }\n }\n //divide align in alignX and alignY\n alignX = align !== 'none' ? align.slice(1, 4) : 'none';\n alignY = align !== 'none' ? align.slice(5, 8) : 'none';\n return {\n meetOrSlice: meetOrSlice,\n alignX: alignX,\n alignY: alignY\n };\n },\n\n /**\n * Clear char widths cache for the given font family or all the cache if no\n * fontFamily is specified.\n * Use it if you know you are loading fonts in a lazy way and you are not waiting\n * for custom fonts to load properly when adding text objects to the canvas.\n * If a text object is added when its own font is not loaded yet, you will get wrong\n * measurement and so wrong bounding boxes.\n * After the font cache is cleared, either change the textObject text content or call\n * initDimensions() to trigger a recalculation\n * @memberOf fabric.util\n * @param {String} [fontFamily] font family to clear\n */\n clearFabricFontCache: function(fontFamily) {\n fontFamily = (fontFamily || '').toLowerCase();\n if (!fontFamily) {\n fabric.charWidthsCache = { };\n }\n else if (fabric.charWidthsCache[fontFamily]) {\n delete fabric.charWidthsCache[fontFamily];\n }\n },\n\n /**\n * Given current aspect ratio, determines the max width and height that can\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Number} ar aspect ratio\n * @param {Number} maximumArea Maximum area you want to achieve\n * @return {Object.x} Limited dimensions by X\n * @return {Object.y} Limited dimensions by Y\n */\n limitDimsByArea: function(ar, maximumArea) {\n var roughWidth = Math.sqrt(maximumArea * ar),\n perfLimitSizeY = Math.floor(maximumArea / roughWidth);\n return { x: Math.floor(roughWidth), y: perfLimitSizeY };\n },\n\n capValue: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n\n /**\n * Finds the scale for the object source to fit inside the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to fit into destination\n */\n findScaleToFit: function(source, destination) {\n return Math.min(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * Finds the scale for the object source to cover entirely the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to cover destination\n */\n findScaleToCover: function(source, destination) {\n return Math.max(destination.width / source.width, destination.height / source.height);\n },\n\n /**\n * given an array of 6 number returns something like `\"matrix(...numbers)\"`\n * @memberOf fabric.util\n * @param {Array} transform an array with 6 numbers\n * @return {String} transform matrix for svg\n * @return {Object.y} Limited dimensions by Y\n */\n matrixToSVG: function(transform) {\n return 'matrix(' + transform.map(function(value) {\n return fabric.util.toFixed(value, fabric.Object.NUM_FRACTION_DIGITS);\n }).join(' ') + ')';\n },\n\n /**\n * given an object and a transform, apply the inverse transform to the object,\n * this is equivalent to remove from that object that transformation, so that\n * added in a space with the removed transform, the object will be the same as before.\n * Removing from an object a transform that scale by 2 is like scaling it by 1/2.\n * Removing from an object a transfrom that rotate by 30deg is like rotating by 30deg\n * in the opposite direction.\n * This util is used to add objects inside transformed groups or nested groups.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n removeTransformFromObject: function(object, transform) {\n var inverted = fabric.util.invertTransform(transform),\n finalTransform = fabric.util.multiplyTransformMatrices(inverted, object.calcOwnMatrix());\n fabric.util.applyTransformToObject(object, finalTransform);\n },\n\n /**\n * given an object and a transform, apply the transform to the object.\n * this is equivalent to change the space where the object is drawn.\n * Adding to an object a transform that scale by 2 is like scaling it by 2.\n * This is used when removing an object from an active selection for example.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n addTransformToObject: function(object, transform) {\n fabric.util.applyTransformToObject(\n object,\n fabric.util.multiplyTransformMatrices(transform, object.calcOwnMatrix())\n );\n },\n\n /**\n * discard an object transform state and apply the one from the matrix.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */\n applyTransformToObject: function(object, transform) {\n var options = fabric.util.qrDecompose(transform),\n center = new fabric.Point(options.translateX, options.translateY);\n object.flipX = false;\n object.flipY = false;\n object.set('scaleX', options.scaleX);\n object.set('scaleY', options.scaleY);\n object.skewX = options.skewX;\n object.skewY = options.skewY;\n object.angle = options.angle;\n object.setPositionByOrigin(center, 'center', 'center');\n },\n\n /**\n * given a width and height, return the size of the bounding box\n * that can contains the box with width/height with applied transform\n * described in options.\n * Use to calculate the boxes around objects for controls.\n * @memberOf fabric.util\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Number} options.scaleX\n * @param {Number} options.scaleY\n * @param {Number} options.skewX\n * @param {Number} options.skewY\n * @return {Object.x} width of containing\n * @return {Object.y} height of containing\n */\n sizeAfterTransform: function(width, height, options) {\n var dimX = width / 2, dimY = height / 2,\n points = [\n {\n x: -dimX,\n y: -dimY\n },\n {\n x: dimX,\n y: -dimY\n },\n {\n x: -dimX,\n y: dimY\n },\n {\n x: dimX,\n y: dimY\n }],\n transformMatrix = fabric.util.calcDimensionsMatrix(options),\n bbox = fabric.util.makeBoundingBoxFromPoints(points, transformMatrix);\n return {\n x: bbox.width,\n y: bbox.height,\n };\n },\n\n /**\n * Merges 2 clip paths into one visually equal clip path\n *\n * **IMPORTANT**:\\\n * Does **NOT** clone the arguments, clone them proir if necessary.\n *\n * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.\n * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.\n *\n * In order to handle the `inverted` property we follow logic described in the following cases:\\\n * **(1)** both clip paths are inverted - the clip paths pass the inverted prop to the wrapper and loose it themselves.\\\n * **(2)** one is inverted and the other isn't - the wrapper shouldn't become inverted and the inverted clip path must clip the non inverted one to produce an identical visual effect.\\\n * **(3)** both clip paths are not inverted - wrapper and clip paths remain unchanged.\n *\n * @memberOf fabric.util\n * @param {fabric.Object} c1\n * @param {fabric.Object} c2\n * @returns {fabric.Object} merged clip path\n */\n mergeClipPaths: function (c1, c2) {\n var a = c1, b = c2;\n if (a.inverted && !b.inverted) {\n // case (2)\n a = c2;\n b = c1;\n }\n // `b` becomes `a`'s clip path so we transform `b` to `a` coordinate plane\n fabric.util.applyTransformToObject(\n b,\n fabric.util.multiplyTransformMatrices(\n fabric.util.invertTransform(a.calcTransformMatrix()),\n b.calcTransformMatrix()\n )\n );\n // assign the `inverted` prop to the wrapping group\n var inverted = a.inverted && b.inverted;\n if (inverted) {\n // case (1)\n a.inverted = b.inverted = false;\n }\n return new fabric.Group([a], { clipPath: b, inverted: inverted });\n },\n\n /**\n * @memberOf fabric.util\n * @param {Object} prevStyle first style to compare\n * @param {Object} thisStyle second style to compare\n * @param {boolean} forTextSpans whether to check overline, underline, and line-through properties\n * @return {boolean} true if the style changed\n */\n hasStyleChanged: function(prevStyle, thisStyle, forTextSpans) {\n forTextSpans = forTextSpans || false;\n return (prevStyle.fill !== thisStyle.fill ||\n prevStyle.stroke !== thisStyle.stroke ||\n prevStyle.strokeWidth !== thisStyle.strokeWidth ||\n prevStyle.fontSize !== thisStyle.fontSize ||\n prevStyle.fontFamily !== thisStyle.fontFamily ||\n prevStyle.fontWeight !== thisStyle.fontWeight ||\n prevStyle.fontStyle !== thisStyle.fontStyle ||\n prevStyle.deltaY !== thisStyle.deltaY) ||\n (forTextSpans &&\n (prevStyle.overline !== thisStyle.overline ||\n prevStyle.underline !== thisStyle.underline ||\n prevStyle.linethrough !== thisStyle.linethrough));\n },\n\n /**\n * Returns the array form of a text object's inline styles property with styles grouped in ranges\n * rather than per character. This format is less verbose, and is better suited for storage\n * so it is used in serialization (not during runtime).\n * @memberOf fabric.util\n * @param {object} styles per character styles for a text object\n * @param {String} text the text string that the styles are applied to\n * @return {{start: number, end: number, style: object}[]}\n */\n stylesToArray: function(styles, text) {\n // clone style structure to prevent mutation\n var styles = fabric.util.object.clone(styles, true),\n textLines = text.split('\\n'),\n charIndex = -1, prevStyle = {}, stylesArray = [];\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n if (!styles[i]) {\n //no styles exist for this line, so add the line's length to the charIndex total\n charIndex += textLines[i].length;\n continue;\n }\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n var thisStyle = styles[i][c];\n //check if style exists for this character\n if (thisStyle) {\n var styleChanged = fabric.util.hasStyleChanged(prevStyle, thisStyle, true);\n if (styleChanged) {\n stylesArray.push({\n start: charIndex,\n end: charIndex + 1,\n style: thisStyle\n });\n }\n else {\n //if style is the same as previous character, increase end index\n stylesArray[stylesArray.length - 1].end++;\n }\n }\n prevStyle = thisStyle || {};\n }\n }\n return stylesArray;\n },\n\n /**\n * Returns the object form of the styles property with styles that are assigned per\n * character rather than grouped by range. This format is more verbose, and is\n * only used during runtime (not for serialization/storage)\n * @memberOf fabric.util\n * @param {Array} styles the serialized form of a text object's styles\n * @param {String} text the text string that the styles are applied to\n * @return {Object}\n */\n stylesFromArray: function(styles, text) {\n if (!Array.isArray(styles)) {\n return styles;\n }\n var textLines = text.split('\\n'),\n charIndex = -1, styleIndex = 0, stylesObject = {};\n //loop through each textLine\n for (var i = 0; i < textLines.length; i++) {\n //loop through each character of the current line\n for (var c = 0; c < textLines[i].length; c++) {\n charIndex++;\n //check if there's a style collection that includes the current character\n if (styles[styleIndex]\n && styles[styleIndex].start <= charIndex\n && charIndex < styles[styleIndex].end) {\n //create object for line index if it doesn't exist\n stylesObject[i] = stylesObject[i] || {};\n //assign a style at this character's index\n stylesObject[i][c] = Object.assign({}, styles[styleIndex].style);\n //if character is at the end of the current style collection, move to the next\n if (charIndex === styles[styleIndex].end - 1) {\n styleIndex++;\n }\n }\n }\n }\n return stylesObject;\n }\n };\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n var _join = Array.prototype.join,\n commandLengths = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7\n },\n repeatedCommands = {\n m: 'l',\n M: 'L'\n };\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var costh2 = fabric.util.cos(th2),\n sinth2 = fabric.util.sin(th2),\n costh3 = fabric.util.cos(th3),\n sinth3 = fabric.util.sin(th3),\n toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1,\n toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1,\n cp1X = fromX + mT * ( -cosTh * rx * sinth2 - sinTh * ry * costh2),\n cp1Y = fromY + mT * ( -sinTh * rx * sinth2 + cosTh * ry * costh2),\n cp2X = toX + mT * ( cosTh * rx * sinth3 + sinTh * ry * costh3),\n cp2Y = toY + mT * ( sinTh * rx * sinth3 - cosTh * ry * costh3);\n\n return ['C',\n cp1X, cp1Y,\n cp2X, cp2Y,\n toX, toY\n ];\n }\n\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */\n function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var PI = Math.PI, th = rotateX * PI / 180,\n sinTh = fabric.util.sin(th),\n cosTh = fabric.util.cos(th),\n fromX = 0, fromY = 0;\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5,\n py = -cosTh * toY * 0.5 + sinTh * toX * 0.5,\n rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px,\n pl = rx2 * ry2 - rx2 * py2 - ry2 * px2,\n root = 0;\n\n if (pl < 0) {\n var s = Math.sqrt(1 - pl / (rx2 * ry2));\n rx *= s;\n ry *= s;\n }\n else {\n root = (large === sweep ? -1.0 : 1.0) *\n Math.sqrt( pl / (rx2 * py2 + ry2 * px2));\n }\n\n var cx = root * rx * py / ry,\n cy = -root * ry * px / rx,\n cx1 = cosTh * cx - sinTh * cy + toX * 0.5,\n cy1 = sinTh * cx + cosTh * cy + toY * 0.5,\n mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry),\n dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n }\n else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)),\n result = [], mDelta = dtheta / segments,\n mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2),\n th3 = mTheta + mDelta;\n\n for (var i = 0; i < segments; i++) {\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][5];\n fromY = result[i][6];\n mTheta = th3;\n th3 += mDelta;\n }\n return result;\n }\n\n /*\n * Private\n */\n function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux),\n tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n }\n else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of bezier\n * @param {Number} y3\n */\n // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n // TODO: can we normalize this with the starting points set at 0 and then translated the bbox?\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString;\n if (fabric.cachesBoundsOfCurve) {\n argsString = _join.call(arguments);\n if (fabric.boundsOfCurveCache[argsString]) {\n return fabric.boundsOfCurveCache[argsString];\n }\n }\n\n var sqrt = Math.sqrt,\n min = Math.min, max = Math.max,\n abs = Math.abs, tvalues = [],\n bounds = [[], []],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n\n for (var i = 0; i < 2; ++i) {\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length, jlen = j, mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n x = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[0][j] = x;\n\n y = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n bounds[1][j] = y;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n if (fabric.cachesBoundsOfCurve) {\n fabric.boundsOfCurveCache[argsString] = result;\n }\n return result;\n }\n\n /**\n * Converts arc to a bunch of bezier curves\n * @param {Number} fx starting point x\n * @param {Number} fy starting point y\n * @param {Array} coords Arc command\n */\n function fromArcToBeziers(fx, fy, coords) {\n var rx = coords[1],\n ry = coords[2],\n rot = coords[3],\n large = coords[4],\n sweep = coords[5],\n tx = coords[6],\n ty = coords[7],\n segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n\n for (var i = 0, len = segsNorm.length; i < len; i++) {\n segsNorm[i][1] += fx;\n segsNorm[i][2] += fy;\n segsNorm[i][3] += fx;\n segsNorm[i][4] += fy;\n segsNorm[i][5] += fx;\n segsNorm[i][6] += fy;\n }\n return segsNorm;\n };\n\n /**\n * This function take a parsed SVG path and make it simpler for fabricJS logic.\n * simplification consist of: only UPPERCASE absolute commands ( relative converted to absolute )\n * S converted in C, T converted in Q, A converted in C.\n * @param {Array} path the array of commands of a parsed svg path for fabric.Path\n * @return {Array} the simplified array of commands of a parsed svg path for fabric.Path\n */\n function makePathSimpler(path) {\n // x and y represent the last point of the path. the previous command point.\n // we add them to each relative command to make it an absolute comment.\n // we also swap the v V h H with L, because are easier to transform.\n var x = 0, y = 0, len = path.length,\n // x1 and y1 represent the last point of the subpath. the subpath is started with\n // m or M command. When a z or Z command is drawn, x and y need to be resetted to\n // the last x1 and y1.\n x1 = 0, y1 = 0, current, i, converted,\n // previous will host the letter of the previous command, to handle S and T.\n // controlX and controlY will host the previous reflected control point\n destinationPath = [], previous, controlX, controlY;\n for (i = 0; i < len; ++i) {\n converted = false;\n current = path[i].slice(0);\n switch (current[0]) { // first letter\n case 'l': // lineto, relative\n current[0] = 'L';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'L':\n x = current[1];\n y = current[2];\n break;\n case 'h': // horizontal lineto, relative\n current[1] += x;\n // falls through\n case 'H':\n current[0] = 'L';\n current[2] = y;\n x = current[1];\n break;\n case 'v': // vertical lineto, relative\n current[1] += y;\n // falls through\n case 'V':\n current[0] = 'L';\n y = current[1];\n current[1] = x;\n current[2] = y;\n break;\n case 'm': // moveTo, relative\n current[0] = 'M';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'M':\n x = current[1];\n y = current[2];\n x1 = current[1];\n y1 = current[2];\n break;\n case 'c': // bezierCurveTo, relative\n current[0] = 'C';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n current[5] += x;\n current[6] += y;\n // falls through\n case 'C':\n controlX = current[3];\n controlY = current[4];\n x = current[5];\n y = current[6];\n break;\n case 's': // shorthand cubic bezierCurveTo, relative\n current[0] = 'S';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'S':\n // would be sScC but since we are swapping sSc for C, we check just that.\n if (previous === 'C') {\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a C, c, S, or s,\n // the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n x = current[3];\n y = current[4];\n current[0] = 'C';\n current[5] = current[3];\n current[6] = current[4];\n current[3] = current[1];\n current[4] = current[2];\n current[1] = controlX;\n current[2] = controlY;\n // current[3] and current[4] are NOW the second control point.\n // we keep it for the next reflection.\n controlX = current[3];\n controlY = current[4];\n break;\n case 'q': // quadraticCurveTo, relative\n current[0] = 'Q';\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case 'Q':\n controlX = current[1];\n controlY = current[2];\n x = current[3];\n y = current[4];\n break;\n case 't': // shorthand quadraticCurveTo, relative\n current[0] = 'T';\n current[1] += x;\n current[2] += y;\n // falls through\n case 'T':\n if (previous === 'Q') {\n // calculate reflection of previous control point\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n }\n else {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n current[0] = 'Q';\n x = current[1];\n y = current[2];\n current[1] = controlX;\n current[2] = controlY;\n current[3] = x;\n current[4] = y;\n break;\n case 'a':\n current[0] = 'A';\n current[6] += x;\n current[7] += y;\n // falls through\n case 'A':\n converted = true;\n destinationPath = destinationPath.concat(fromArcToBeziers(x, y, current));\n x = current[6];\n y = current[7];\n break;\n case 'z':\n case 'Z':\n x = x1;\n y = y1;\n break;\n default:\n }\n if (!converted) {\n destinationPath.push(current);\n }\n previous = current[0];\n }\n return destinationPath;\n };\n\n /**\n * Calc length from point x1,y1 to x2,y2\n * @param {Number} x1 starting point x\n * @param {Number} y1 starting point y\n * @param {Number} x2 starting point x\n * @param {Number} y2 starting point y\n * @return {Number} length of segment\n */\n function calcLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n\n // functions for the Cubic beizer\n // taken from: https://github.com/konvajs/konva/blob/7.0.5/src/shapes/Path.ts#L350\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n\n function getPointOnCubicBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var c1 = CB1(pct), c2 = CB2(pct), c3 = CB3(pct), c4 = CB4(pct);\n return {\n x: p4x * c1 + p3x * c2 + p2x * c3 + p1x * c4,\n y: p4y * c1 + p3y * c2 + p2y * c3 + p1y * c4\n };\n };\n }\n\n function getTangentCubicIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (3 * invT * invT * (p2x - p1x)) + (6 * invT * pct * (p3x - p2x)) +\n (3 * pct * pct * (p4x - p3x)),\n tangentY = (3 * invT * invT * (p2y - p1y)) + (6 * invT * pct * (p3y - p2y)) +\n (3 * pct * pct * (p4y - p3y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n function QB1(t) {\n return t * t;\n }\n\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n\n function getPointOnQuadraticBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var c1 = QB1(pct), c2 = QB2(pct), c3 = QB3(pct);\n return {\n x: p3x * c1 + p2x * c2 + p1x * c3,\n y: p3y * c1 + p2y * c2 + p1y * c3\n };\n };\n }\n\n function getTangentQuadraticIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function (pct) {\n var invT = 1 - pct,\n tangentX = (2 * invT * (p2x - p1x)) + (2 * pct * (p3x - p2x)),\n tangentY = (2 * invT * (p2y - p1y)) + (2 * pct * (p3y - p2y));\n return Math.atan2(tangentY, tangentX);\n };\n }\n\n\n // this will run over a path segment ( a cubic or quadratic segment) and approximate it\n // with 100 segemnts. This will good enough to calculate the length of the curve\n function pathIterator(iterator, x1, y1) {\n var tempP = { x: x1, y: y1 }, p, tmpLen = 0, perc;\n for (perc = 1; perc <= 100; perc += 1) {\n p = iterator(perc / 100);\n tmpLen += calcLineLength(tempP.x, tempP.y, p.x, p.y);\n tempP = p;\n }\n return tmpLen;\n }\n\n /**\n * Given a pathInfo, and a distance in pixels, find the percentage from 0 to 1\n * that correspond to that pixels run over the path.\n * The percentage will be then used to find the correct point on the canvas for the path.\n * @param {Array} segInfo fabricJS collection of information on a parsed path\n * @param {Number} distance from starting point, in pixels.\n * @return {Object} info object with x and y ( the point on canvas ) and angle, the tangent on that point;\n */\n function findPercentageForDistance(segInfo, distance) {\n var perc = 0, tmpLen = 0, iterator = segInfo.iterator, tempP = { x: segInfo.x, y: segInfo.y },\n p, nextLen, nextStep = 0.01, angleFinder = segInfo.angleFinder, lastPerc;\n // nextStep > 0.0001 covers 0.00015625 that 1/64th of 1/100\n // the path\n while (tmpLen < distance && nextStep > 0.0001) {\n p = iterator(perc);\n lastPerc = perc;\n nextLen = calcLineLength(tempP.x, tempP.y, p.x, p.y);\n // compare tmpLen each cycle with distance, decide next perc to test.\n if ((nextLen + tmpLen) > distance) {\n // we discard this step and we make smaller steps.\n perc -= nextStep;\n nextStep /= 2;\n }\n else {\n tempP = p;\n perc += nextStep;\n tmpLen += nextLen;\n }\n }\n p.angle = angleFinder(lastPerc);\n return p;\n }\n\n /**\n * Run over a parsed and simplifed path and extrac some informations.\n * informations are length of each command and starting point\n * @param {Array} path fabricJS parsed path commands\n * @return {Array} path commands informations\n */\n function getPathSegmentsInfo(path) {\n var totalLength = 0, len = path.length, current,\n //x2 and y2 are the coords of segment start\n //x1 and y1 are the coords of the current point\n x1 = 0, y1 = 0, x2 = 0, y2 = 0, info = [], iterator, tempInfo, angleFinder;\n for (var i = 0; i < len; i++) {\n current = path[i];\n tempInfo = {\n x: x1,\n y: y1,\n command: current[0],\n };\n switch (current[0]) { //first letter\n case 'M':\n tempInfo.length = 0;\n x2 = x1 = current[1];\n y2 = y1 = current[2];\n break;\n case 'L':\n tempInfo.length = calcLineLength(x1, y1, current[1], current[2]);\n x1 = current[1];\n y1 = current[2];\n break;\n case 'C':\n iterator = getPointOnCubicBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n angleFinder = getTangentCubicIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[5];\n y1 = current[6];\n break;\n case 'Q':\n iterator = getPointOnQuadraticBezierIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n angleFinder = getTangentQuadraticIterator(\n x1,\n y1,\n current[1],\n current[2],\n current[3],\n current[4]\n );\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[3];\n y1 = current[4];\n break;\n case 'Z':\n case 'z':\n // we add those in order to ease calculations later\n tempInfo.destX = x2;\n tempInfo.destY = y2;\n tempInfo.length = calcLineLength(x1, y1, x2, y2);\n x1 = x2;\n y1 = y2;\n break;\n }\n totalLength += tempInfo.length;\n info.push(tempInfo);\n }\n info.push({ length: totalLength, x: x1, y: y1 });\n return info;\n }\n\n function getPointOnPath(path, distance, infos) {\n if (!infos) {\n infos = getPathSegmentsInfo(path);\n }\n var i = 0;\n while ((distance - infos[i].length > 0) && i < (infos.length - 2)) {\n distance -= infos[i].length;\n i++;\n }\n // var distance = infos[infos.length - 1] * perc;\n var segInfo = infos[i], segPercent = distance / segInfo.length,\n command = segInfo.command, segment = path[i], info;\n\n switch (command) {\n case 'M':\n return { x: segInfo.x, y: segInfo.y, angle: 0 };\n case 'Z':\n case 'z':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segInfo.destX, segInfo.destY),\n segPercent\n );\n info.angle = Math.atan2(segInfo.destY - segInfo.y, segInfo.destX - segInfo.x);\n return info;\n case 'L':\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(\n new fabric.Point(segment[1], segment[2]),\n segPercent\n );\n info.angle = Math.atan2(segment[2] - segInfo.y, segment[1] - segInfo.x);\n return info;\n case 'C':\n return findPercentageForDistance(segInfo, distance);\n case 'Q':\n return findPercentageForDistance(segInfo, distance);\n }\n }\n\n /**\n *\n * @param {string} pathString\n * @return {(string|number)[][]} An array of SVG path commands\n * @example Usage\n * parsePath('M 3 4 Q 3 5 2 1 4 0 Q 9 12 2 1 4 0') === [\n * ['M', 3, 4],\n * ['Q', 3, 5, 2, 1, 4, 0],\n * ['Q', 9, 12, 2, 1, 4, 0],\n * ];\n *\n */\n function parsePath(pathString) {\n var result = [],\n coords = [],\n currentPath,\n parsed,\n re = fabric.rePathCommand,\n rNumber = '[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\\\\s*',\n rNumberCommaWsp = '(' + rNumber + ')' + fabric.commaWsp,\n rFlagCommaWsp = '([01])' + fabric.commaWsp + '?',\n rArcSeq = rNumberCommaWsp + '?' + rNumberCommaWsp + '?' + rNumberCommaWsp + rFlagCommaWsp + rFlagCommaWsp +\n rNumberCommaWsp + '?(' + rNumber + ')',\n regArcArgumentSequence = new RegExp(rArcSeq, 'g'),\n match,\n coordsStr,\n // one of commands (m,M,l,L,q,Q,c,C,etc.) followed by non-command characters (i.e. command values)\n path;\n if (!pathString || !pathString.match) {\n return result;\n }\n path = pathString.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi);\n\n for (var i = 0, coordsParsed, len = path.length; i < len; i++) {\n currentPath = path[i];\n\n coordsStr = currentPath.slice(1).trim();\n coords.length = 0;\n\n var command = currentPath.charAt(0);\n coordsParsed = [command];\n\n if (command.toLowerCase() === 'a') {\n // arcs have special flags that apparently don't require spaces so handle special\n for (var args; (args = regArcArgumentSequence.exec(coordsStr));) {\n for (var j = 1; j < args.length; j++) {\n coords.push(args[j]);\n }\n }\n }\n else {\n while ((match = re.exec(coordsStr))) {\n coords.push(match[0]);\n }\n }\n\n for (var j = 0, jlen = coords.length; j < jlen; j++) {\n parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n coordsParsed.push(parsed);\n }\n }\n\n var commandLength = commandLengths[command.toLowerCase()],\n repeatedCommand = repeatedCommands[command] || command;\n\n if (coordsParsed.length - 1 > commandLength) {\n for (var k = 1, klen = coordsParsed.length; k < klen; k += commandLength) {\n result.push([command].concat(coordsParsed.slice(k, k + commandLength)));\n command = repeatedCommand;\n }\n }\n else {\n result.push(coordsParsed);\n }\n }\n\n return result;\n };\n\n /**\n *\n * Converts points to a smooth SVG path\n * @param {{ x: number,y: number }[]} points Array of points\n * @param {number} [correction] Apply a correction to the path (usually we use `width / 1000`). If value is undefined 0 is used as the correction value.\n * @return {(string|number)[][]} An array of SVG path commands\n */\n function getSmoothPathFromPoints(points, correction) {\n var path = [], i,\n p1 = new fabric.Point(points[0].x, points[0].y),\n p2 = new fabric.Point(points[1].x, points[1].y),\n len = points.length, multSignX = 1, multSignY = 0, manyPoints = len > 2;\n correction = correction || 0;\n\n if (manyPoints) {\n multSignX = points[2].x < p2.x ? -1 : points[2].x === p2.x ? 0 : 1;\n multSignY = points[2].y < p2.y ? -1 : points[2].y === p2.y ? 0 : 1;\n }\n path.push(['M', p1.x - multSignX * correction, p1.y - multSignY * correction]);\n for (i = 1; i < len; i++) {\n if (!p1.eq(p2)) {\n var midPoint = p1.midPointFrom(p2);\n // p1 is our bezier control point\n // midpoint is our endpoint\n // start point is p(i-1) value.\n path.push(['Q', p1.x, p1.y, midPoint.x, midPoint.y]);\n }\n p1 = points[i];\n if ((i + 1) < points.length) {\n p2 = points[i + 1];\n }\n }\n if (manyPoints) {\n multSignX = p1.x > points[i - 2].x ? 1 : p1.x === points[i - 2].x ? 0 : -1;\n multSignY = p1.y > points[i - 2].y ? 1 : p1.y === points[i - 2].y ? 0 : -1;\n }\n path.push(['L', p1.x + multSignX * correction, p1.y + multSignY * correction]);\n return path;\n }\n /**\n * Transform a path by transforming each segment.\n * it has to be a simplified path or it won't work.\n * WARNING: this depends from pathOffset for correct operation\n * @param {Array} path fabricJS parsed and simplified path commands\n * @param {Array} transform matrix that represent the transformation\n * @param {Object} [pathOffset] the fabric.Path pathOffset\n * @param {Number} pathOffset.x\n * @param {Number} pathOffset.y\n * @returns {Array} the transformed path\n */\n function transformPath(path, transform, pathOffset) {\n if (pathOffset) {\n transform = fabric.util.multiplyTransformMatrices(\n transform,\n [1, 0, 0, 1, -pathOffset.x, -pathOffset.y]\n );\n }\n return path.map(function(pathSegment) {\n var newSegment = pathSegment.slice(0), point = {};\n for (var i = 1; i < pathSegment.length - 1; i += 2) {\n point.x = pathSegment[i];\n point.y = pathSegment[i + 1];\n point = fabric.util.transformPoint(point, transform);\n newSegment[i] = point.x;\n newSegment[i + 1] = point.y;\n }\n return newSegment;\n });\n }\n\n /**\n * Join path commands to go back to svg format\n * @param {Array} pathData fabricJS parsed path commands\n * @return {String} joined path 'M 0 0 L 20 30'\n */\n fabric.util.joinPath = function(pathData) {\n return pathData.map(function (segment) { return segment.join(' '); }).join(' ');\n };\n fabric.util.parsePath = parsePath;\n fabric.util.makePathSimpler = makePathSimpler;\n fabric.util.getSmoothPathFromPoints = getSmoothPathFromPoints;\n fabric.util.getPathSegmentsInfo = getPathSegmentsInfo;\n fabric.util.getBoundsOfCurve = getBoundsOfCurve;\n fabric.util.getPointOnPath = getPointOnPath;\n fabric.util.transformPath = transformPath;\n})();\n(function() {\n\n var slice = Array.prototype.slice;\n\n /**\n * Invokes method on all items in a given array\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} method Name of a method to invoke\n * @return {Array}\n */\n function invoke(array, method) {\n var args = slice.call(arguments, 2), result = [];\n for (var i = 0, len = array.length; i < len; i++) {\n result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);\n }\n return result;\n }\n\n /**\n * Finds maximum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */\n function max(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 >= value2;\n });\n }\n\n /**\n * Finds minimum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */\n function min(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 < value2;\n });\n }\n\n /**\n * @private\n */\n function fill(array, value) {\n var k = array.length;\n while (k--) {\n array[k] = value;\n }\n return array;\n }\n\n /**\n * @private\n */\n function find(array, byProperty, condition) {\n if (!array || array.length === 0) {\n return;\n }\n\n var i = array.length - 1,\n result = byProperty ? array[i][byProperty] : array[i];\n if (byProperty) {\n while (i--) {\n if (condition(array[i][byProperty], result)) {\n result = array[i][byProperty];\n }\n }\n }\n else {\n while (i--) {\n if (condition(array[i], result)) {\n result = array[i];\n }\n }\n }\n return result;\n }\n\n /**\n * @namespace fabric.util.array\n */\n fabric.util.array = {\n fill: fill,\n invoke: invoke,\n min: min,\n max: max\n };\n\n})();\n(function() {\n /**\n * Copies all enumerable properties of one js object to another\n * this does not and cannot compete with generic utils.\n * Does not clone or extend fabric.Object subclasses.\n * This is mostly for internal use and has extra handling for fabricJS objects\n * it skips the canvas and group properties in deep cloning.\n * @memberOf fabric.util.object\n * @param {Object} destination Where to copy to\n * @param {Object} source Where to copy from\n * @param {Boolean} [deep] Whether to extend nested objects\n * @return {Object}\n */\n\n function extend(destination, source, deep) {\n // JScript DontEnum bug is not taken care of\n // the deep clone is for internal use, is not meant to avoid\n // javascript traps or cloning html element or self referenced objects.\n if (deep) {\n if (!fabric.isLikelyNode && source instanceof Element) {\n // avoid cloning deep images, canvases,\n destination = source;\n }\n else if (source instanceof Array) {\n destination = [];\n for (var i = 0, len = source.length; i < len; i++) {\n destination[i] = extend({ }, source[i], deep);\n }\n }\n else if (source && typeof source === 'object') {\n for (var property in source) {\n if (property === 'canvas' || property === 'group') {\n // we do not want to clone this props at all.\n // we want to keep the keys in the copy\n destination[property] = null;\n }\n else if (source.hasOwnProperty(property)) {\n destination[property] = extend({ }, source[property], deep);\n }\n }\n }\n else {\n // this sounds odd for an extend but is ok for recursive use\n destination = source;\n }\n }\n else {\n for (var property in source) {\n destination[property] = source[property];\n }\n }\n return destination;\n }\n\n /**\n * Creates an empty object and copies all enumerable properties of another object to it\n * This method is mostly for internal use, and not intended for duplicating shapes in canvas. \n * @memberOf fabric.util.object\n * @param {Object} object Object to clone\n * @param {Boolean} [deep] Whether to clone nested objects\n * @return {Object}\n */\n\n //TODO: this function return an empty object if you try to clone null\n function clone(object, deep) {\n return extend({ }, object, deep);\n }\n\n /** @namespace fabric.util.object */\n fabric.util.object = {\n extend: extend,\n clone: clone\n };\n fabric.util.object.extend(fabric.util, fabric.Observable);\n})();\n(function() {\n\n /**\n * Camelizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to camelize\n * @return {String} Camelized version of a string\n */\n function camelize(string) {\n return string.replace(/-+(.)?/g, function(match, character) {\n return character ? character.toUpperCase() : '';\n });\n }\n\n /**\n * Capitalizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to capitalize\n * @param {Boolean} [firstLetterOnly] If true only first letter is capitalized\n * and other letters stay untouched, if false first letter is capitalized\n * and other letters are converted to lowercase.\n * @return {String} Capitalized version of a string\n */\n function capitalize(string, firstLetterOnly) {\n return string.charAt(0).toUpperCase() +\n (firstLetterOnly ? string.slice(1) : string.slice(1).toLowerCase());\n }\n\n /**\n * Escapes XML in a string\n * @memberOf fabric.util.string\n * @param {String} string String to escape\n * @return {String} Escaped version of a string\n */\n function escapeXml(string) {\n return string.replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n }\n\n /**\n * Divide a string in the user perceived single units\n * @memberOf fabric.util.string\n * @param {String} textstring String to escape\n * @return {Array} array containing the graphemes\n */\n function graphemeSplit(textstring) {\n var i = 0, chr, graphemes = [];\n for (i = 0, chr; i < textstring.length; i++) {\n if ((chr = getWholeChar(textstring, i)) === false) {\n continue;\n }\n graphemes.push(chr);\n }\n return graphemes;\n }\n\n // taken from mdn in the charAt doc page.\n function getWholeChar(str, i) {\n var code = str.charCodeAt(i);\n\n if (isNaN(code)) {\n return ''; // Position not found\n }\n if (code < 0xD800 || code > 0xDFFF) {\n return str.charAt(i);\n }\n\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 <= code && code <= 0xDBFF) {\n if (str.length <= (i + 1)) {\n throw 'High surrogate without following low surrogate';\n }\n var next = str.charCodeAt(i + 1);\n if (0xDC00 > next || next > 0xDFFF) {\n throw 'High surrogate without following low surrogate';\n }\n return str.charAt(i) + str.charAt(i + 1);\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw 'Low surrogate without preceding high surrogate';\n }\n var prev = str.charCodeAt(i - 1);\n\n // (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 > prev || prev > 0xDBFF) {\n throw 'Low surrogate without preceding high surrogate';\n }\n // We can pass over low surrogates now as the second component\n // in a pair which we have already processed\n return false;\n }\n\n\n /**\n * String utilities\n * @namespace fabric.util.string\n */\n fabric.util.string = {\n camelize: camelize,\n capitalize: capitalize,\n escapeXml: escapeXml,\n graphemeSplit: graphemeSplit\n };\n})();\n(function() {\n\n var slice = Array.prototype.slice, emptyFunction = function() { },\n\n IS_DONTENUM_BUGGY = (function() {\n for (var p in { toString: 1 }) {\n if (p === 'toString') {\n return false;\n }\n }\n return true;\n })(),\n\n /** @ignore */\n addMethods = function(klass, source, parent) {\n for (var property in source) {\n\n if (property in klass.prototype &&\n typeof klass.prototype[property] === 'function' &&\n (source[property] + '').indexOf('callSuper') > -1) {\n\n klass.prototype[property] = (function(property) {\n return function() {\n\n var superclass = this.constructor.superclass;\n this.constructor.superclass = parent;\n var returnValue = source[property].apply(this, arguments);\n this.constructor.superclass = superclass;\n\n if (property !== 'initialize') {\n return returnValue;\n }\n };\n })(property);\n }\n else {\n klass.prototype[property] = source[property];\n }\n\n if (IS_DONTENUM_BUGGY) {\n if (source.toString !== Object.prototype.toString) {\n klass.prototype.toString = source.toString;\n }\n if (source.valueOf !== Object.prototype.valueOf) {\n klass.prototype.valueOf = source.valueOf;\n }\n }\n }\n };\n\n function Subclass() { }\n\n function callSuper(methodName) {\n var parentMethod = null,\n _this = this;\n\n // climb prototype chain to find method not equal to callee's method\n while (_this.constructor.superclass) {\n var superClassMethod = _this.constructor.superclass.prototype[methodName];\n if (_this[methodName] !== superClassMethod) {\n parentMethod = superClassMethod;\n break;\n }\n // eslint-disable-next-line\n _this = _this.constructor.superclass.prototype;\n }\n\n if (!parentMethod) {\n return console.log('tried to callSuper ' + methodName + ', method not found in prototype chain', this);\n }\n\n return (arguments.length > 1)\n ? parentMethod.apply(this, slice.call(arguments, 1))\n : parentMethod.call(this);\n }\n\n /**\n * Helper for creation of \"classes\".\n * @memberOf fabric.util\n * @param {Function} [parent] optional \"Class\" to inherit from\n * @param {Object} [properties] Properties shared by all instances of this class\n * (be careful modifying objects defined here as this would affect all instances)\n */\n function createClass() {\n var parent = null,\n properties = slice.call(arguments, 0);\n\n if (typeof properties[0] === 'function') {\n parent = properties.shift();\n }\n function klass() {\n this.initialize.apply(this, arguments);\n }\n\n klass.superclass = parent;\n klass.subclasses = [];\n\n if (parent) {\n Subclass.prototype = parent.prototype;\n klass.prototype = new Subclass();\n parent.subclasses.push(klass);\n }\n for (var i = 0, length = properties.length; i < length; i++) {\n addMethods(klass, properties[i], parent);\n }\n if (!klass.prototype.initialize) {\n klass.prototype.initialize = emptyFunction;\n }\n klass.prototype.constructor = klass;\n klass.prototype.callSuper = callSuper;\n return klass;\n }\n\n fabric.util.createClass = createClass;\n})();\n(function () {\n // since ie11 can use addEventListener but they do not support options, i need to check\n var couldUseAttachEvent = !!fabric.document.createElement('div').attachEvent,\n touchEvents = ['touchstart', 'touchmove', 'touchend'];\n /**\n * Adds an event listener to an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.addListener = function(element, eventName, handler, options) {\n element && element.addEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n\n /**\n * Removes an event listener from an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.removeListener = function(element, eventName, handler, options) {\n element && element.removeEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n\n function getTouchInfo(event) {\n var touchProp = event.changedTouches;\n if (touchProp && touchProp[0]) {\n return touchProp[0];\n }\n return event;\n }\n\n fabric.util.getPointer = function(event) {\n var element = event.target,\n scroll = fabric.util.getScrollLeftTop(element),\n _evt = getTouchInfo(event);\n return {\n x: _evt.clientX + scroll.left,\n y: _evt.clientY + scroll.top\n };\n };\n\n fabric.util.isTouchEvent = function(event) {\n return touchEvents.indexOf(event.type) > -1 || event.pointerType === 'touch';\n };\n})();\n(function () {\n\n /**\n * Cross-browser wrapper for setting element's style\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {HTMLElement} Element that was passed as a first argument\n */\n function setStyle(element, styles) {\n var elementStyle = element.style;\n if (!elementStyle) {\n return element;\n }\n if (typeof styles === 'string') {\n element.style.cssText += ';' + styles;\n return styles.indexOf('opacity') > -1\n ? setOpacity(element, styles.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1])\n : element;\n }\n for (var property in styles) {\n if (property === 'opacity') {\n setOpacity(element, styles[property]);\n }\n else {\n var normalizedProperty = (property === 'float' || property === 'cssFloat')\n ? (typeof elementStyle.styleFloat === 'undefined' ? 'cssFloat' : 'styleFloat')\n : property;\n elementStyle.setProperty(normalizedProperty, styles[property]);\n }\n }\n return element;\n }\n\n var parseEl = fabric.document.createElement('div'),\n supportsOpacity = typeof parseEl.style.opacity === 'string',\n supportsFilters = typeof parseEl.style.filter === 'string',\n reOpacity = /alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/,\n\n /** @ignore */\n setOpacity = function (element) { return element; };\n\n if (supportsOpacity) {\n /** @ignore */\n setOpacity = function(element, value) {\n element.style.opacity = value;\n return element;\n };\n }\n else if (supportsFilters) {\n /** @ignore */\n setOpacity = function(element, value) {\n var es = element.style;\n if (element.currentStyle && !element.currentStyle.hasLayout) {\n es.zoom = 1;\n }\n if (reOpacity.test(es.filter)) {\n value = value >= 0.9999 ? '' : ('alpha(opacity=' + (value * 100) + ')');\n es.filter = es.filter.replace(reOpacity, value);\n }\n else {\n es.filter += ' alpha(opacity=' + (value * 100) + ')';\n }\n return element;\n };\n }\n\n fabric.util.setStyle = setStyle;\n\n})();\n(function() {\n\n var _slice = Array.prototype.slice;\n\n /**\n * Takes id and returns an element with that id (if one exists in a document)\n * @memberOf fabric.util\n * @param {String|HTMLElement} id\n * @return {HTMLElement|null}\n */\n function getById(id) {\n return typeof id === 'string' ? fabric.document.getElementById(id) : id;\n }\n\n var sliceCanConvertNodelists,\n /**\n * Converts an array-like object (e.g. arguments or NodeList) to an array\n * @memberOf fabric.util\n * @param {Object} arrayLike\n * @return {Array}\n */\n toArray = function(arrayLike) {\n return _slice.call(arrayLike, 0);\n };\n\n try {\n sliceCanConvertNodelists = toArray(fabric.document.childNodes) instanceof Array;\n }\n catch (err) { }\n\n if (!sliceCanConvertNodelists) {\n toArray = function(arrayLike) {\n var arr = new Array(arrayLike.length), i = arrayLike.length;\n while (i--) {\n arr[i] = arrayLike[i];\n }\n return arr;\n };\n }\n\n /**\n * Creates specified element with specified attributes\n * @memberOf fabric.util\n * @param {String} tagName Type of an element to create\n * @param {Object} [attributes] Attributes to set on an element\n * @return {HTMLElement} Newly created element\n */\n function makeElement(tagName, attributes) {\n var el = fabric.document.createElement(tagName);\n for (var prop in attributes) {\n if (prop === 'class') {\n el.className = attributes[prop];\n }\n else if (prop === 'for') {\n el.htmlFor = attributes[prop];\n }\n else {\n el.setAttribute(prop, attributes[prop]);\n }\n }\n return el;\n }\n\n /**\n * Adds class to an element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to add class to\n * @param {String} className Class to add to an element\n */\n function addClass(element, className) {\n if (element && (' ' + element.className + ' ').indexOf(' ' + className + ' ') === -1) {\n element.className += (element.className ? ' ' : '') + className;\n }\n }\n\n /**\n * Wraps element with another element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to wrap\n * @param {HTMLElement|String} wrapper Element to wrap with\n * @param {Object} [attributes] Attributes to set on a wrapper\n * @return {HTMLElement} wrapper\n */\n function wrapElement(element, wrapper, attributes) {\n if (typeof wrapper === 'string') {\n wrapper = makeElement(wrapper, attributes);\n }\n if (element.parentNode) {\n element.parentNode.replaceChild(wrapper, element);\n }\n wrapper.appendChild(element);\n return wrapper;\n }\n\n /**\n * Returns element scroll offsets\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to operate on\n * @return {Object} Object with left/top values\n */\n function getScrollLeftTop(element) {\n\n var left = 0,\n top = 0,\n docElement = fabric.document.documentElement,\n body = fabric.document.body || {\n scrollLeft: 0, scrollTop: 0\n };\n\n // While loop checks (and then sets element to) .parentNode OR .host\n // to account for ShadowDOM. We still want to traverse up out of ShadowDOM,\n // but the .parentNode of a root ShadowDOM node will always be null, instead\n // it should be accessed through .host. See http://stackoverflow.com/a/24765528/4383938\n while (element && (element.parentNode || element.host)) {\n\n // Set element to element parent, or 'host' in case of ShadowDOM\n element = element.parentNode || element.host;\n\n if (element === fabric.document) {\n left = body.scrollLeft || docElement.scrollLeft || 0;\n top = body.scrollTop || docElement.scrollTop || 0;\n }\n else {\n left += element.scrollLeft || 0;\n top += element.scrollTop || 0;\n }\n\n if (element.nodeType === 1 && element.style.position === 'fixed') {\n break;\n }\n }\n\n return { left: left, top: top };\n }\n\n /**\n * Returns offset for a given element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get offset for\n * @return {Object} Object with \"left\" and \"top\" properties\n */\n function getElementOffset(element) {\n var docElem,\n doc = element && element.ownerDocument,\n box = { left: 0, top: 0 },\n offset = { left: 0, top: 0 },\n scrollLeftTop,\n offsetAttributes = {\n borderLeftWidth: 'left',\n borderTopWidth: 'top',\n paddingLeft: 'left',\n paddingTop: 'top'\n };\n\n if (!doc) {\n return offset;\n }\n\n for (var attr in offsetAttributes) {\n offset[offsetAttributes[attr]] += parseInt(getElementStyle(element, attr), 10) || 0;\n }\n\n docElem = doc.documentElement;\n if ( typeof element.getBoundingClientRect !== 'undefined' ) {\n box = element.getBoundingClientRect();\n }\n\n scrollLeftTop = getScrollLeftTop(element);\n\n return {\n left: box.left + scrollLeftTop.left - (docElem.clientLeft || 0) + offset.left,\n top: box.top + scrollLeftTop.top - (docElem.clientTop || 0) + offset.top\n };\n }\n\n /**\n * Returns style attribute value of a given element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get style attribute for\n * @param {String} attr Style attribute to get for element\n * @return {String} Style attribute value of the given element.\n */\n var getElementStyle;\n if (fabric.document.defaultView && fabric.document.defaultView.getComputedStyle) {\n getElementStyle = function(element, attr) {\n var style = fabric.document.defaultView.getComputedStyle(element, null);\n return style ? style[attr] : undefined;\n };\n }\n else {\n getElementStyle = function(element, attr) {\n var value = element.style[attr];\n if (!value && element.currentStyle) {\n value = element.currentStyle[attr];\n }\n return value;\n };\n }\n\n (function () {\n var style = fabric.document.documentElement.style,\n selectProp = 'userSelect' in style\n ? 'userSelect'\n : 'MozUserSelect' in style\n ? 'MozUserSelect'\n : 'WebkitUserSelect' in style\n ? 'WebkitUserSelect'\n : 'KhtmlUserSelect' in style\n ? 'KhtmlUserSelect'\n : '';\n\n /**\n * Makes element unselectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make unselectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementUnselectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = fabric.util.falseFunction;\n }\n if (selectProp) {\n element.style[selectProp] = 'none';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = 'on';\n }\n return element;\n }\n\n /**\n * Makes element selectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make selectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementSelectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = null;\n }\n if (selectProp) {\n element.style[selectProp] = '';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = '';\n }\n return element;\n }\n\n fabric.util.makeElementUnselectable = makeElementUnselectable;\n fabric.util.makeElementSelectable = makeElementSelectable;\n })();\n\n function getNodeCanvas(element) {\n var impl = fabric.jsdomImplForWrapper(element);\n return impl._canvas || impl._image;\n };\n\n function cleanUpJsdomNode(element) {\n if (!fabric.isLikelyNode) {\n return;\n }\n var impl = fabric.jsdomImplForWrapper(element);\n if (impl) {\n impl._image = null;\n impl._canvas = null;\n // unsure if necessary\n impl._currentSrc = null;\n impl._attributes = null;\n impl._classList = null;\n }\n }\n\n function setImageSmoothing(ctx, value) {\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled || ctx.webkitImageSmoothingEnabled\n || ctx.mozImageSmoothingEnabled || ctx.msImageSmoothingEnabled || ctx.oImageSmoothingEnabled;\n ctx.imageSmoothingEnabled = value;\n }\n\n /**\n * setImageSmoothing sets the context imageSmoothingEnabled property.\n * Used by canvas and by ImageObject.\n * @memberOf fabric.util\n * @since 4.0.0\n * @param {HTMLRenderingContext2D} ctx to set on\n * @param {Boolean} value true or false\n */\n fabric.util.setImageSmoothing = setImageSmoothing;\n fabric.util.getById = getById;\n fabric.util.toArray = toArray;\n fabric.util.addClass = addClass;\n fabric.util.makeElement = makeElement;\n fabric.util.wrapElement = wrapElement;\n fabric.util.getScrollLeftTop = getScrollLeftTop;\n fabric.util.getElementOffset = getElementOffset;\n fabric.util.getNodeCanvas = getNodeCanvas;\n fabric.util.cleanUpJsdomNode = cleanUpJsdomNode;\n\n})();\n(function() {\n\n function addParamToUrl(url, param) {\n return url + (/\\?/.test(url) ? '&' : '?') + param;\n }\n\n function emptyFn() { }\n\n /**\n * Cross-browser abstraction for sending XMLHttpRequest\n * @memberOf fabric.util\n * @param {String} url URL to send XMLHttpRequest to\n * @param {Object} [options] Options object\n * @param {String} [options.method=\"GET\"]\n * @param {String} [options.parameters] parameters to append to url in GET or in body\n * @param {String} [options.body] body to send with POST or PUT request\n * @param {Function} options.onComplete Callback to invoke when request is completed\n * @return {XMLHttpRequest} request\n */\n function request(url, options) {\n options || (options = { });\n\n var method = options.method ? options.method.toUpperCase() : 'GET',\n onComplete = options.onComplete || function() { },\n xhr = new fabric.window.XMLHttpRequest(),\n body = options.body || options.parameters;\n\n /** @ignore */\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n onComplete(xhr);\n xhr.onreadystatechange = emptyFn;\n }\n };\n\n if (method === 'GET') {\n body = null;\n if (typeof options.parameters === 'string') {\n url = addParamToUrl(url, options.parameters);\n }\n }\n\n xhr.open(method, url, true);\n\n if (method === 'POST' || method === 'PUT') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n\n xhr.send(body);\n return xhr;\n }\n\n fabric.util.request = request;\n})();\n/**\n * Wrapper around `console.log` (when available)\n * @param {*} [values] Values to log\n */\nfabric.log = console.log;\n\n/**\n * Wrapper around `console.warn` (when available)\n * @param {*} [values] Values to log as a warning\n */\nfabric.warn = console.warn;\n(function () {\n\n var extend = fabric.util.object.extend,\n clone = fabric.util.object.clone;\n\n /**\n * @typedef {Object} AnimationOptions\n * Animation of a value or list of values.\n * When using lists, think of something like this:\n * fabric.util.animate({\n * startValue: [1, 2, 3],\n * endValue: [2, 4, 6],\n * onChange: function([a, b, c]) {\n * canvas.zoomToPoint({x: b, y: c}, a)\n * canvas.renderAll()\n * }\n * });\n * @example\n * @property {Function} [onChange] Callback; invoked on every value change\n * @property {Function} [onComplete] Callback; invoked when value change is completed\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * var animationOptions = { startValue: 0, endValue: 1, byValue: 0.25 }\n * var animationOptions = { startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] }\n * @property {number | number[]} [startValue=0] Starting value\n * @property {number | number[]} [endValue=100] Ending value\n * @property {number | number[]} [byValue=100] Value to modify the property by\n * @property {Function} [easing] Easing function\n * @property {Number} [duration=500] Duration of change (in ms)\n * @property {Function} [abort] Additional function with logic. If returns true, animation aborts.\n *\n * @typedef {() => void} CancelFunction\n *\n * @typedef {Object} AnimationCurrentState\n * @property {number | number[]} currentValue value in range [`startValue`, `endValue`]\n * @property {number} completionRate value in range [0, 1]\n * @property {number} durationRate value in range [0, 1]\n *\n * @typedef {(AnimationOptions & AnimationCurrentState & { cancel: CancelFunction }} AnimationContext\n */\n\n /**\n * Array holding all running animations\n * @memberof fabric\n * @type {AnimationContext[]}\n */\n var RUNNING_ANIMATIONS = [];\n fabric.util.object.extend(RUNNING_ANIMATIONS, {\n\n /**\n * cancel all running animations at the next requestAnimFrame\n * @returns {AnimationContext[]}\n */\n cancelAll: function () {\n var animations = this.splice(0);\n animations.forEach(function (animation) {\n animation.cancel();\n });\n return animations;\n },\n\n /**\n * cancel all running animations attached to canvas at the next requestAnimFrame\n * @param {fabric.Canvas} canvas\n * @returns {AnimationContext[]}\n */\n cancelByCanvas: function (canvas) {\n if (!canvas) {\n return [];\n }\n var cancelled = this.filter(function (animation) {\n return typeof animation.target === 'object' && animation.target.canvas === canvas;\n });\n cancelled.forEach(function (animation) {\n animation.cancel();\n });\n return cancelled;\n },\n\n /**\n * cancel all running animations for target at the next requestAnimFrame\n * @param {*} target\n * @returns {AnimationContext[]}\n */\n cancelByTarget: function (target) {\n var cancelled = this.findAnimationsByTarget(target);\n cancelled.forEach(function (animation) {\n animation.cancel();\n });\n return cancelled;\n },\n\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {number}\n */\n findAnimationIndex: function (cancelFunc) {\n return this.indexOf(this.findAnimation(cancelFunc));\n },\n\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {AnimationContext | undefined} animation's options object\n */\n findAnimation: function (cancelFunc) {\n return this.find(function (animation) {\n return animation.cancel === cancelFunc;\n });\n },\n\n /**\n *\n * @param {*} target the object that is assigned to the target property of the animation context\n * @returns {AnimationContext[]} array of animation options object associated with target\n */\n findAnimationsByTarget: function (target) {\n if (!target) {\n return [];\n }\n return this.filter(function (animation) {\n return animation.target === target;\n });\n }\n });\n\n function noop() {\n return false;\n }\n\n function defaultEasing(t, b, c, d) {\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n }\n\n /**\n * Changes value from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {AnimationOptions} [options] Animation options\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * fabric.util.animate({ startValue: 0, endValue: 1, byValue: 0.25 })\n * fabric.util.animate({ startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] })\n * @returns {CancelFunction} cancel function\n */\n function animate(options) {\n options || (options = {});\n var cancel = false,\n context,\n removeFromRegistry = function () {\n var index = fabric.runningAnimations.indexOf(context);\n return index > -1 && fabric.runningAnimations.splice(index, 1)[0];\n };\n\n context = extend(clone(options), {\n cancel: function () {\n cancel = true;\n return removeFromRegistry();\n },\n currentValue: 'startValue' in options ? options.startValue : 0,\n completionRate: 0,\n durationRate: 0\n });\n fabric.runningAnimations.push(context);\n\n requestAnimFrame(function(timestamp) {\n var start = timestamp || +new Date(),\n duration = options.duration || 500,\n finish = start + duration, time,\n onChange = options.onChange || noop,\n abort = options.abort || noop,\n onComplete = options.onComplete || noop,\n easing = options.easing || defaultEasing,\n isMany = 'startValue' in options ? options.startValue.length > 0 : false,\n startValue = 'startValue' in options ? options.startValue : 0,\n endValue = 'endValue' in options ? options.endValue : 100,\n byValue = options.byValue || (isMany ? startValue.map(function(value, i) {\n return endValue[i] - startValue[i];\n }) : endValue - startValue);\n\n options.onStart && options.onStart();\n\n (function tick(ticktime) {\n time = ticktime || +new Date();\n var currentTime = time > finish ? duration : (time - start),\n timePerc = currentTime / duration,\n current = isMany ? startValue.map(function(_value, i) {\n return easing(currentTime, startValue[i], byValue[i], duration);\n }) : easing(currentTime, startValue, byValue, duration),\n valuePerc = isMany ? Math.abs((current[0] - startValue[0]) / byValue[0])\n : Math.abs((current - startValue) / byValue);\n // update context\n context.currentValue = isMany ? current.slice() : current;\n context.completionRate = valuePerc;\n context.durationRate = timePerc;\n if (cancel) {\n return;\n }\n if (abort(current, valuePerc, timePerc)) {\n removeFromRegistry();\n return;\n }\n if (time > finish) {\n // update context\n context.currentValue = isMany ? endValue.slice() : endValue;\n context.completionRate = 1;\n context.durationRate = 1;\n // execute callbacks\n onChange(isMany ? endValue.slice() : endValue, 1, 1);\n onComplete(endValue, 1, 1);\n removeFromRegistry();\n return;\n }\n else {\n onChange(current, valuePerc, timePerc);\n requestAnimFrame(tick);\n }\n })(start);\n });\n\n return context.cancel;\n }\n\n var _requestAnimFrame = fabric.window.requestAnimationFrame ||\n fabric.window.webkitRequestAnimationFrame ||\n fabric.window.mozRequestAnimationFrame ||\n fabric.window.oRequestAnimationFrame ||\n fabric.window.msRequestAnimationFrame ||\n function(callback) {\n return fabric.window.setTimeout(callback, 1000 / 60);\n };\n\n var _cancelAnimFrame = fabric.window.cancelAnimationFrame || fabric.window.clearTimeout;\n\n /**\n * requestAnimationFrame polyfill based on http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * In order to get a precise start time, `requestAnimFrame` should be called as an entry into the method\n * @memberOf fabric.util\n * @param {Function} callback Callback to invoke\n * @param {DOMElement} element optional Element to associate with animation\n */\n function requestAnimFrame() {\n return _requestAnimFrame.apply(fabric.window, arguments);\n }\n\n function cancelAnimFrame() {\n return _cancelAnimFrame.apply(fabric.window, arguments);\n }\n\n fabric.util.animate = animate;\n fabric.util.requestAnimFrame = requestAnimFrame;\n fabric.util.cancelAnimFrame = cancelAnimFrame;\n fabric.runningAnimations = RUNNING_ANIMATIONS;\n})();\n(function() {\n // Calculate an in-between color. Returns a \"rgba()\" string.\n // Credit: Edwin Martin \n // http://www.bitstorm.org/jquery/color-animation/jquery.animate-colors.js\n function calculateColor(begin, end, pos) {\n var color = 'rgba('\n + parseInt((begin[0] + pos * (end[0] - begin[0])), 10) + ','\n + parseInt((begin[1] + pos * (end[1] - begin[1])), 10) + ','\n + parseInt((begin[2] + pos * (end[2] - begin[2])), 10);\n\n color += ',' + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1);\n color += ')';\n return color;\n }\n\n /**\n * Changes the color from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {String} fromColor The starting color in hex or rgb(a) format.\n * @param {String} toColor The starting color in hex or rgb(a) format.\n * @param {Number} [duration] Duration of change (in ms).\n * @param {Object} [options] Animation options\n * @param {Function} [options.onChange] Callback; invoked on every value change\n * @param {Function} [options.onComplete] Callback; invoked when value change is completed\n * @param {Function} [options.colorEasing] Easing function. Note that this function only take two arguments (currentTime, duration). Thus the regular animation easing functions cannot be used.\n * @param {Function} [options.abort] Additional function with logic. If returns true, onComplete is called.\n * @returns {Function} abort function\n */\n function animateColor(fromColor, toColor, duration, options) {\n var startColor = new fabric.Color(fromColor).getSource(),\n endColor = new fabric.Color(toColor).getSource(),\n originalOnComplete = options.onComplete,\n originalOnChange = options.onChange;\n options = options || {};\n\n return fabric.util.animate(fabric.util.object.extend(options, {\n duration: duration || 500,\n startValue: startColor,\n endValue: endColor,\n byValue: endColor,\n easing: function (currentTime, startValue, byValue, duration) {\n var posValue = options.colorEasing\n ? options.colorEasing(currentTime, duration)\n : 1 - Math.cos(currentTime / duration * (Math.PI / 2));\n return calculateColor(startValue, byValue, posValue);\n },\n // has to take in account for color restoring;\n onComplete: function(current, valuePerc, timePerc) {\n if (originalOnComplete) {\n return originalOnComplete(\n calculateColor(endColor, endColor, 0),\n valuePerc,\n timePerc\n );\n }\n },\n onChange: function(current, valuePerc, timePerc) {\n if (originalOnChange) {\n if (Array.isArray(current)) {\n return originalOnChange(\n calculateColor(current, current, 0),\n valuePerc,\n timePerc\n );\n }\n originalOnChange(current, valuePerc, timePerc);\n }\n }\n }));\n }\n\n fabric.util.animateColor = animateColor;\n\n})();\n(function(global) {\n\n 'use strict';\n\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Point) {\n fabric.warn('fabric.Point is already defined');\n return;\n }\n\n fabric.Point = Point;\n\n /**\n * Point class\n * @class fabric.Point\n * @memberOf fabric\n * @constructor\n * @param {Number} x\n * @param {Number} y\n * @return {fabric.Point} thisArg\n */\n function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n\n Point.prototype = /** @lends fabric.Point.prototype */ {\n\n type: 'point',\n\n constructor: Point,\n\n /**\n * Adds another point to this one and returns another one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point instance with added values\n */\n add: function (that) {\n return new Point(this.x + that.x, this.y + that.y);\n },\n\n /**\n * Adds another point to this one\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */\n addEquals: function (that) {\n this.x += that.x;\n this.y += that.y;\n return this;\n },\n\n /**\n * Adds value to this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point} new Point with added value\n */\n scalarAdd: function (scalar) {\n return new Point(this.x + scalar, this.y + scalar);\n },\n\n /**\n * Adds value to this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n scalarAddEquals: function (scalar) {\n this.x += scalar;\n this.y += scalar;\n return this;\n },\n\n /**\n * Subtracts another point from this point and returns a new one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point object with subtracted values\n */\n subtract: function (that) {\n return new Point(this.x - that.x, this.y - that.y);\n },\n\n /**\n * Subtracts another point from this point\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */\n subtractEquals: function (that) {\n this.x -= that.x;\n this.y -= that.y;\n return this;\n },\n\n /**\n * Subtracts value from this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n scalarSubtract: function (scalar) {\n return new Point(this.x - scalar, this.y - scalar);\n },\n\n /**\n * Subtracts value from this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n scalarSubtractEquals: function (scalar) {\n this.x -= scalar;\n this.y -= scalar;\n return this;\n },\n\n /**\n * Multiplies this point by a value and returns a new one\n * TODO: rename in scalarMultiply in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n multiply: function (scalar) {\n return new Point(this.x * scalar, this.y * scalar);\n },\n\n /**\n * Multiplies this point by a value\n * TODO: rename in scalarMultiplyEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n multiplyEquals: function (scalar) {\n this.x *= scalar;\n this.y *= scalar;\n return this;\n },\n\n /**\n * Divides this point by a value and returns a new one\n * TODO: rename in scalarDivide in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */\n divide: function (scalar) {\n return new Point(this.x / scalar, this.y / scalar);\n },\n\n /**\n * Divides this point by a value\n * TODO: rename in scalarDivideEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */\n divideEquals: function (scalar) {\n this.x /= scalar;\n this.y /= scalar;\n return this;\n },\n\n /**\n * Returns true if this point is equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n eq: function (that) {\n return (this.x === that.x && this.y === that.y);\n },\n\n /**\n * Returns true if this point is less than another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n lt: function (that) {\n return (this.x < that.x && this.y < that.y);\n },\n\n /**\n * Returns true if this point is less than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n lte: function (that) {\n return (this.x <= that.x && this.y <= that.y);\n },\n\n /**\n\n * Returns true if this point is greater another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n gt: function (that) {\n return (this.x > that.x && this.y > that.y);\n },\n\n /**\n * Returns true if this point is greater than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */\n gte: function (that) {\n return (this.x >= that.x && this.y >= that.y);\n },\n\n /**\n * Returns new point which is the result of linear interpolation with this one and another one\n * @param {fabric.Point} that\n * @param {Number} t , position of interpolation, between 0 and 1 default 0.5\n * @return {fabric.Point}\n */\n lerp: function (that, t) {\n if (typeof t === 'undefined') {\n t = 0.5;\n }\n t = Math.max(Math.min(1, t), 0);\n return new Point(this.x + (that.x - this.x) * t, this.y + (that.y - this.y) * t);\n },\n\n /**\n * Returns distance from this point and another one\n * @param {fabric.Point} that\n * @return {Number}\n */\n distanceFrom: function (that) {\n var dx = this.x - that.x,\n dy = this.y - that.y;\n return Math.sqrt(dx * dx + dy * dy);\n },\n\n /**\n * Returns the point between this point and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n midPointFrom: function (that) {\n return this.lerp(that);\n },\n\n /**\n * Returns a new point which is the min of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n min: function (that) {\n return new Point(Math.min(this.x, that.x), Math.min(this.y, that.y));\n },\n\n /**\n * Returns a new point which is the max of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */\n max: function (that) {\n return new Point(Math.max(this.x, that.x), Math.max(this.y, that.y));\n },\n\n /**\n * Returns string representation of this point\n * @return {String}\n */\n toString: function () {\n return this.x + ',' + this.y;\n },\n\n /**\n * Sets x/y of this point\n * @param {Number} x\n * @param {Number} y\n * @chainable\n */\n setXY: function (x, y) {\n this.x = x;\n this.y = y;\n return this;\n },\n\n /**\n * Sets x of this point\n * @param {Number} x\n * @chainable\n */\n setX: function (x) {\n this.x = x;\n return this;\n },\n\n /**\n * Sets y of this point\n * @param {Number} y\n * @chainable\n */\n setY: function (y) {\n this.y = y;\n return this;\n },\n\n /**\n * Sets x/y of this point from another point\n * @param {fabric.Point} that\n * @chainable\n */\n setFromPoint: function (that) {\n this.x = that.x;\n this.y = that.y;\n return this;\n },\n\n /**\n * Swaps x/y of this point and another point\n * @param {fabric.Point} that\n */\n swap: function (that) {\n var x = this.x,\n y = this.y;\n this.x = that.x;\n this.y = that.y;\n that.x = x;\n that.y = y;\n },\n\n /**\n * return a cloned instance of the point\n * @return {fabric.Point}\n */\n clone: function () {\n return new Point(this.x, this.y);\n }\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Intersection) {\n fabric.warn('fabric.Intersection is already defined');\n return;\n }\n\n /**\n * Intersection class\n * @class fabric.Intersection\n * @memberOf fabric\n * @constructor\n */\n function Intersection(status) {\n this.status = status;\n this.points = [];\n }\n\n fabric.Intersection = Intersection;\n\n fabric.Intersection.prototype = /** @lends fabric.Intersection.prototype */ {\n\n constructor: Intersection,\n\n /**\n * Appends a point to intersection\n * @param {fabric.Point} point\n * @return {fabric.Intersection} thisArg\n * @chainable\n */\n appendPoint: function (point) {\n this.points.push(point);\n return this;\n },\n\n /**\n * Appends points to intersection\n * @param {Array} points\n * @return {fabric.Intersection} thisArg\n * @chainable\n */\n appendPoints: function (points) {\n this.points = this.points.concat(points);\n return this;\n }\n };\n\n /**\n * Checks if one line intersects another\n * TODO: rename in intersectSegmentSegment\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {fabric.Point} b1\n * @param {fabric.Point} b2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectLineLine = function (a1, a2, b1, b2) {\n var result,\n uaT = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x),\n ubT = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x),\n uB = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n if (uB !== 0) {\n var ua = uaT / uB,\n ub = ubT / uB;\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n result = new Intersection('Intersection');\n result.appendPoint(new fabric.Point(a1.x + ua * (a2.x - a1.x), a1.y + ua * (a2.y - a1.y)));\n }\n else {\n result = new Intersection();\n }\n }\n else {\n if (uaT === 0 || ubT === 0) {\n result = new Intersection('Coincident');\n }\n else {\n result = new Intersection('Parallel');\n }\n }\n return result;\n };\n\n /**\n * Checks if line intersects polygon\n * TODO: rename in intersectSegmentPolygon\n * fix detection of coincident\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {Array} points\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectLinePolygon = function(a1, a2, points) {\n var result = new Intersection(),\n length = points.length,\n b1, b2, inter, i;\n\n for (i = 0; i < length; i++) {\n b1 = points[i];\n b2 = points[(i + 1) % length];\n inter = Intersection.intersectLineLine(a1, a2, b1, b2);\n\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n /**\n * Checks if polygon intersects another polygon\n * @static\n * @param {Array} points1\n * @param {Array} points2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectPolygonPolygon = function (points1, points2) {\n var result = new Intersection(),\n length = points1.length, i;\n\n for (i = 0; i < length; i++) {\n var a1 = points1[i],\n a2 = points1[(i + 1) % length],\n inter = Intersection.intersectLinePolygon(a1, a2, points2);\n\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n /**\n * Checks if polygon intersects rectangle\n * @static\n * @param {Array} points\n * @param {fabric.Point} r1\n * @param {fabric.Point} r2\n * @return {fabric.Intersection}\n */\n fabric.Intersection.intersectPolygonRectangle = function (points, r1, r2) {\n var min = r1.min(r2),\n max = r1.max(r2),\n topRight = new fabric.Point(max.x, min.y),\n bottomLeft = new fabric.Point(min.x, max.y),\n inter1 = Intersection.intersectLinePolygon(min, topRight, points),\n inter2 = Intersection.intersectLinePolygon(topRight, max, points),\n inter3 = Intersection.intersectLinePolygon(max, bottomLeft, points),\n inter4 = Intersection.intersectLinePolygon(bottomLeft, min, points),\n result = new Intersection();\n\n result.appendPoints(inter1.points);\n result.appendPoints(inter2.points);\n result.appendPoints(inter3.points);\n result.appendPoints(inter4.points);\n\n if (result.points.length > 0) {\n result.status = 'Intersection';\n }\n return result;\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.Color) {\n fabric.warn('fabric.Color is already defined.');\n return;\n }\n\n /**\n * Color class\n * The purpose of {@link fabric.Color} is to abstract and encapsulate common color operations;\n * {@link fabric.Color} is a constructor and creates instances of {@link fabric.Color} objects.\n *\n * @class fabric.Color\n * @param {String} color optional in hex or rgb(a) or hsl format or from known color list\n * @return {fabric.Color} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2/#colors}\n */\n function Color(color) {\n if (!color) {\n this.setSource([0, 0, 0, 1]);\n }\n else {\n this._tryParsingColor(color);\n }\n }\n\n fabric.Color = Color;\n\n fabric.Color.prototype = /** @lends fabric.Color.prototype */ {\n\n /**\n * @private\n * @param {String|Array} color Color value to parse\n */\n _tryParsingColor: function(color) {\n var source;\n\n if (color in Color.colorNameMap) {\n color = Color.colorNameMap[color];\n }\n\n if (color === 'transparent') {\n source = [255, 255, 255, 0];\n }\n\n if (!source) {\n source = Color.sourceFromHex(color);\n }\n if (!source) {\n source = Color.sourceFromRgb(color);\n }\n if (!source) {\n source = Color.sourceFromHsl(color);\n }\n if (!source) {\n //if color is not recognize let's make black as canvas does\n source = [0, 0, 0, 1];\n }\n if (source) {\n this.setSource(source);\n }\n },\n\n /**\n * Adapted from https://github.com/mjijackson\n * @private\n * @param {Number} r Red color value\n * @param {Number} g Green color value\n * @param {Number} b Blue color value\n * @return {Array} Hsl color\n */\n _rgbToHsl: function(r, g, b) {\n r /= 255; g /= 255; b /= 255;\n\n var h, s, l,\n max = fabric.util.array.max([r, g, b]),\n min = fabric.util.array.min([r, g, b]);\n\n l = (max + min) / 2;\n\n if (max === min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return [\n Math.round(h * 360),\n Math.round(s * 100),\n Math.round(l * 100)\n ];\n },\n\n /**\n * Returns source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @return {Array}\n */\n getSource: function() {\n return this._source;\n },\n\n /**\n * Sets source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @param {Array} source\n */\n setSource: function(source) {\n this._source = source;\n },\n\n /**\n * Returns color representation in RGB format\n * @return {String} ex: rgb(0-255,0-255,0-255)\n */\n toRgb: function() {\n var source = this.getSource();\n return 'rgb(' + source[0] + ',' + source[1] + ',' + source[2] + ')';\n },\n\n /**\n * Returns color representation in RGBA format\n * @return {String} ex: rgba(0-255,0-255,0-255,0-1)\n */\n toRgba: function() {\n var source = this.getSource();\n return 'rgba(' + source[0] + ',' + source[1] + ',' + source[2] + ',' + source[3] + ')';\n },\n\n /**\n * Returns color representation in HSL format\n * @return {String} ex: hsl(0-360,0%-100%,0%-100%)\n */\n toHsl: function() {\n var source = this.getSource(),\n hsl = this._rgbToHsl(source[0], source[1], source[2]);\n\n return 'hsl(' + hsl[0] + ',' + hsl[1] + '%,' + hsl[2] + '%)';\n },\n\n /**\n * Returns color representation in HSLA format\n * @return {String} ex: hsla(0-360,0%-100%,0%-100%,0-1)\n */\n toHsla: function() {\n var source = this.getSource(),\n hsl = this._rgbToHsl(source[0], source[1], source[2]);\n\n return 'hsla(' + hsl[0] + ',' + hsl[1] + '%,' + hsl[2] + '%,' + source[3] + ')';\n },\n\n /**\n * Returns color representation in HEX format\n * @return {String} ex: FF5555\n */\n toHex: function() {\n var source = this.getSource(), r, g, b;\n\n r = source[0].toString(16);\n r = (r.length === 1) ? ('0' + r) : r;\n\n g = source[1].toString(16);\n g = (g.length === 1) ? ('0' + g) : g;\n\n b = source[2].toString(16);\n b = (b.length === 1) ? ('0' + b) : b;\n\n return r.toUpperCase() + g.toUpperCase() + b.toUpperCase();\n },\n\n /**\n * Returns color representation in HEXA format\n * @return {String} ex: FF5555CC\n */\n toHexa: function() {\n var source = this.getSource(), a;\n\n a = Math.round(source[3] * 255);\n a = a.toString(16);\n a = (a.length === 1) ? ('0' + a) : a;\n\n return this.toHex() + a.toUpperCase();\n },\n\n /**\n * Gets value of alpha channel for this color\n * @return {Number} 0-1\n */\n getAlpha: function() {\n return this.getSource()[3];\n },\n\n /**\n * Sets value of alpha channel for this color\n * @param {Number} alpha Alpha value 0-1\n * @return {fabric.Color} thisArg\n */\n setAlpha: function(alpha) {\n var source = this.getSource();\n source[3] = alpha;\n this.setSource(source);\n return this;\n },\n\n /**\n * Transforms color to its grayscale representation\n * @return {fabric.Color} thisArg\n */\n toGrayscale: function() {\n var source = this.getSource(),\n average = parseInt((source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), 10),\n currentAlpha = source[3];\n this.setSource([average, average, average, currentAlpha]);\n return this;\n },\n\n /**\n * Transforms color to its black and white representation\n * @param {Number} threshold\n * @return {fabric.Color} thisArg\n */\n toBlackWhite: function(threshold) {\n var source = this.getSource(),\n average = (source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0),\n currentAlpha = source[3];\n\n threshold = threshold || 127;\n\n average = (Number(average) < Number(threshold)) ? 0 : 255;\n this.setSource([average, average, average, currentAlpha]);\n return this;\n },\n\n /**\n * Overlays color with another color\n * @param {String|fabric.Color} otherColor\n * @return {fabric.Color} thisArg\n */\n overlayWith: function(otherColor) {\n if (!(otherColor instanceof Color)) {\n otherColor = new Color(otherColor);\n }\n\n var result = [],\n alpha = this.getAlpha(),\n otherAlpha = 0.5,\n source = this.getSource(),\n otherSource = otherColor.getSource(), i;\n\n for (i = 0; i < 3; i++) {\n result.push(Math.round((source[i] * (1 - otherAlpha)) + (otherSource[i] * otherAlpha)));\n }\n\n result[3] = alpha;\n this.setSource(result);\n return this;\n }\n };\n\n /**\n * Regex matching color in RGB or RGBA formats (ex: rgb(0, 0, 0), rgba(255, 100, 10, 0.5), rgba( 255 , 100 , 10 , 0.5 ), rgb(1,1,1), rgba(100%, 60%, 10%, 0.5))\n * @static\n * @field\n * @memberOf fabric.Color\n */\n // eslint-disable-next-line max-len\n fabric.Color.reRGBa = /^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*(?:\\s*,\\s*((?:\\d*\\.?\\d+)?)\\s*)?\\)$/i;\n\n /**\n * Regex matching color in HSL or HSLA formats (ex: hsl(200, 80%, 10%), hsla(300, 50%, 80%, 0.5), hsla( 300 , 50% , 80% , 0.5 ))\n * @static\n * @field\n * @memberOf fabric.Color\n */\n fabric.Color.reHSLa = /^hsla?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3}\\%)\\s*,\\s*(\\d{1,3}\\%)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/i;\n\n /**\n * Regex matching color in HEX format (ex: #FF5544CC, #FF5555, 010155, aff)\n * @static\n * @field\n * @memberOf fabric.Color\n */\n fabric.Color.reHex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n\n /**\n * Map of the 148 color names with HEX code\n * @static\n * @field\n * @memberOf fabric.Color\n * @see: https://www.w3.org/TR/css3-color/#svg-color\n */\n fabric.Color.colorNameMap = {\n aliceblue: '#F0F8FF',\n antiquewhite: '#FAEBD7',\n aqua: '#00FFFF',\n aquamarine: '#7FFFD4',\n azure: '#F0FFFF',\n beige: '#F5F5DC',\n bisque: '#FFE4C4',\n black: '#000000',\n blanchedalmond: '#FFEBCD',\n blue: '#0000FF',\n blueviolet: '#8A2BE2',\n brown: '#A52A2A',\n burlywood: '#DEB887',\n cadetblue: '#5F9EA0',\n chartreuse: '#7FFF00',\n chocolate: '#D2691E',\n coral: '#FF7F50',\n cornflowerblue: '#6495ED',\n cornsilk: '#FFF8DC',\n crimson: '#DC143C',\n cyan: '#00FFFF',\n darkblue: '#00008B',\n darkcyan: '#008B8B',\n darkgoldenrod: '#B8860B',\n darkgray: '#A9A9A9',\n darkgrey: '#A9A9A9',\n darkgreen: '#006400',\n darkkhaki: '#BDB76B',\n darkmagenta: '#8B008B',\n darkolivegreen: '#556B2F',\n darkorange: '#FF8C00',\n darkorchid: '#9932CC',\n darkred: '#8B0000',\n darksalmon: '#E9967A',\n darkseagreen: '#8FBC8F',\n darkslateblue: '#483D8B',\n darkslategray: '#2F4F4F',\n darkslategrey: '#2F4F4F',\n darkturquoise: '#00CED1',\n darkviolet: '#9400D3',\n deeppink: '#FF1493',\n deepskyblue: '#00BFFF',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1E90FF',\n firebrick: '#B22222',\n floralwhite: '#FFFAF0',\n forestgreen: '#228B22',\n fuchsia: '#FF00FF',\n gainsboro: '#DCDCDC',\n ghostwhite: '#F8F8FF',\n gold: '#FFD700',\n goldenrod: '#DAA520',\n gray: '#808080',\n grey: '#808080',\n green: '#008000',\n greenyellow: '#ADFF2F',\n honeydew: '#F0FFF0',\n hotpink: '#FF69B4',\n indianred: '#CD5C5C',\n indigo: '#4B0082',\n ivory: '#FFFFF0',\n khaki: '#F0E68C',\n lavender: '#E6E6FA',\n lavenderblush: '#FFF0F5',\n lawngreen: '#7CFC00',\n lemonchiffon: '#FFFACD',\n lightblue: '#ADD8E6',\n lightcoral: '#F08080',\n lightcyan: '#E0FFFF',\n lightgoldenrodyellow: '#FAFAD2',\n lightgray: '#D3D3D3',\n lightgrey: '#D3D3D3',\n lightgreen: '#90EE90',\n lightpink: '#FFB6C1',\n lightsalmon: '#FFA07A',\n lightseagreen: '#20B2AA',\n lightskyblue: '#87CEFA',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#B0C4DE',\n lightyellow: '#FFFFE0',\n lime: '#00FF00',\n limegreen: '#32CD32',\n linen: '#FAF0E6',\n magenta: '#FF00FF',\n maroon: '#800000',\n mediumaquamarine: '#66CDAA',\n mediumblue: '#0000CD',\n mediumorchid: '#BA55D3',\n mediumpurple: '#9370DB',\n mediumseagreen: '#3CB371',\n mediumslateblue: '#7B68EE',\n mediumspringgreen: '#00FA9A',\n mediumturquoise: '#48D1CC',\n mediumvioletred: '#C71585',\n midnightblue: '#191970',\n mintcream: '#F5FFFA',\n mistyrose: '#FFE4E1',\n moccasin: '#FFE4B5',\n navajowhite: '#FFDEAD',\n navy: '#000080',\n oldlace: '#FDF5E6',\n olive: '#808000',\n olivedrab: '#6B8E23',\n orange: '#FFA500',\n orangered: '#FF4500',\n orchid: '#DA70D6',\n palegoldenrod: '#EEE8AA',\n palegreen: '#98FB98',\n paleturquoise: '#AFEEEE',\n palevioletred: '#DB7093',\n papayawhip: '#FFEFD5',\n peachpuff: '#FFDAB9',\n peru: '#CD853F',\n pink: '#FFC0CB',\n plum: '#DDA0DD',\n powderblue: '#B0E0E6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#FF0000',\n rosybrown: '#BC8F8F',\n royalblue: '#4169E1',\n saddlebrown: '#8B4513',\n salmon: '#FA8072',\n sandybrown: '#F4A460',\n seagreen: '#2E8B57',\n seashell: '#FFF5EE',\n sienna: '#A0522D',\n silver: '#C0C0C0',\n skyblue: '#87CEEB',\n slateblue: '#6A5ACD',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#FFFAFA',\n springgreen: '#00FF7F',\n steelblue: '#4682B4',\n tan: '#D2B48C',\n teal: '#008080',\n thistle: '#D8BFD8',\n tomato: '#FF6347',\n turquoise: '#40E0D0',\n violet: '#EE82EE',\n wheat: '#F5DEB3',\n white: '#FFFFFF',\n whitesmoke: '#F5F5F5',\n yellow: '#FFFF00',\n yellowgreen: '#9ACD32'\n };\n\n /**\n * @private\n * @param {Number} p\n * @param {Number} q\n * @param {Number} t\n * @return {Number}\n */\n function hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n\n /**\n * Returns new color object, when given a color in RGB format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255)\n * @return {fabric.Color}\n */\n fabric.Color.fromRgb = function(color) {\n return Color.fromSource(Color.sourceFromRgb(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in RGB or RGBA format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255), rgb(0%-100%,0%-100%,0%-100%)\n * @return {Array} source\n */\n fabric.Color.sourceFromRgb = function(color) {\n var match = color.match(Color.reRGBa);\n if (match) {\n var r = parseInt(match[1], 10) / (/%$/.test(match[1]) ? 100 : 1) * (/%$/.test(match[1]) ? 255 : 1),\n g = parseInt(match[2], 10) / (/%$/.test(match[2]) ? 100 : 1) * (/%$/.test(match[2]) ? 255 : 1),\n b = parseInt(match[3], 10) / (/%$/.test(match[3]) ? 100 : 1) * (/%$/.test(match[3]) ? 255 : 1);\n\n return [\n parseInt(r, 10),\n parseInt(g, 10),\n parseInt(b, 10),\n match[4] ? parseFloat(match[4]) : 1\n ];\n }\n };\n\n /**\n * Returns new color object, when given a color in RGBA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */\n fabric.Color.fromRgba = Color.fromRgb;\n\n /**\n * Returns new color object, when given a color in HSL format\n * @param {String} color Color value ex: hsl(0-260,0%-100%,0%-100%)\n * @memberOf fabric.Color\n * @return {fabric.Color}\n */\n fabric.Color.fromHsl = function(color) {\n return Color.fromSource(Color.sourceFromHsl(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HSL or HSLA format.\n * Adapted from https://github.com/mjijackson\n * @memberOf fabric.Color\n * @param {String} color Color value ex: hsl(0-360,0%-100%,0%-100%) or hsla(0-360,0%-100%,0%-100%, 0-1)\n * @return {Array} source\n * @see http://http://www.w3.org/TR/css3-color/#hsl-color\n */\n fabric.Color.sourceFromHsl = function(color) {\n var match = color.match(Color.reHSLa);\n if (!match) {\n return;\n }\n\n var h = (((parseFloat(match[1]) % 360) + 360) % 360) / 360,\n s = parseFloat(match[2]) / (/%$/.test(match[2]) ? 100 : 1),\n l = parseFloat(match[3]) / (/%$/.test(match[3]) ? 100 : 1),\n r, g, b;\n\n if (s === 0) {\n r = g = b = l;\n }\n else {\n var q = l <= 0.5 ? l * (s + 1) : l + s - l * s,\n p = l * 2 - q;\n\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n\n return [\n Math.round(r * 255),\n Math.round(g * 255),\n Math.round(b * 255),\n match[4] ? parseFloat(match[4]) : 1\n ];\n };\n\n /**\n * Returns new color object, when given a color in HSLA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */\n fabric.Color.fromHsla = Color.fromHsl;\n\n /**\n * Returns new color object, when given a color in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color Color value ex: FF5555\n * @return {fabric.Color}\n */\n fabric.Color.fromHex = function(color) {\n return Color.fromSource(Color.sourceFromHex(color));\n };\n\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color ex: FF5555 or FF5544CC (RGBa)\n * @return {Array} source\n */\n fabric.Color.sourceFromHex = function(color) {\n if (color.match(Color.reHex)) {\n var value = color.slice(color.indexOf('#') + 1),\n isShortNotation = (value.length === 3 || value.length === 4),\n isRGBa = (value.length === 8 || value.length === 4),\n r = isShortNotation ? (value.charAt(0) + value.charAt(0)) : value.substring(0, 2),\n g = isShortNotation ? (value.charAt(1) + value.charAt(1)) : value.substring(2, 4),\n b = isShortNotation ? (value.charAt(2) + value.charAt(2)) : value.substring(4, 6),\n a = isRGBa ? (isShortNotation ? (value.charAt(3) + value.charAt(3)) : value.substring(6, 8)) : 'FF';\n\n return [\n parseInt(r, 16),\n parseInt(g, 16),\n parseInt(b, 16),\n parseFloat((parseInt(a, 16) / 255).toFixed(2))\n ];\n }\n };\n\n /**\n * Returns new color object, when given color in array representation (ex: [200, 100, 100, 0.5])\n * @static\n * @memberOf fabric.Color\n * @param {Array} source\n * @return {fabric.Color}\n */\n fabric.Color.fromSource = function(source) {\n var oColor = new Color();\n oColor.setSource(source);\n return oColor;\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n scaleMap = ['e', 'se', 's', 'sw', 'w', 'nw', 'n', 'ne', 'e'],\n skewMap = ['ns', 'nesw', 'ew', 'nwse'],\n controls = {},\n LEFT = 'left', TOP = 'top', RIGHT = 'right', BOTTOM = 'bottom', CENTER = 'center',\n opposite = {\n top: BOTTOM,\n bottom: TOP,\n left: RIGHT,\n right: LEFT,\n center: CENTER,\n }, radiansToDegrees = fabric.util.radiansToDegrees,\n sign = (Math.sign || function(x) { return ((x > 0) - (x < 0)) || +x; });\n\n /**\n * Combine control position and object angle to find the control direction compared\n * to the object center.\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n * @param {fabric.Control} control the control class\n * @return {Number} 0 - 7 a quadrant number\n */\n function findCornerQuadrant(fabricObject, control) {\n var cornerAngle = fabricObject.angle + radiansToDegrees(Math.atan2(control.y, control.x)) + 360;\n return Math.round((cornerAngle % 360) / 45);\n }\n\n function fireEvent(eventName, options) {\n var target = options.transform.target,\n canvas = target.canvas,\n canvasOptions = fabric.util.object.clone(options);\n canvasOptions.target = target;\n canvas && canvas.fire('object:' + eventName, canvasOptions);\n target.fire(eventName, options);\n }\n\n /**\n * Inspect event and fabricObject properties to understand if the scaling action\n * @param {Event} eventData from the user action\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @return {Boolean} true if scale is proportional\n */\n function scaleIsProportional(eventData, fabricObject) {\n var canvas = fabricObject.canvas, uniScaleKey = canvas.uniScaleKey,\n uniformIsToggled = eventData[uniScaleKey];\n return (canvas.uniformScaling && !uniformIsToggled) ||\n (!canvas.uniformScaling && uniformIsToggled);\n }\n\n /**\n * Checks if transform is centered\n * @param {Object} transform transform data\n * @return {Boolean} true if transform is centered\n */\n function isTransformCentered(transform) {\n return transform.originX === CENTER && transform.originY === CENTER;\n }\n\n /**\n * Inspect fabricObject to understand if the current scaling action is allowed\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @param {String} by 'x' or 'y' or ''\n * @param {Boolean} scaleProportionally true if we are trying to scale proportionally\n * @return {Boolean} true if scaling is not allowed at current conditions\n */\n function scalingIsForbidden(fabricObject, by, scaleProportionally) {\n var lockX = fabricObject.lockScalingX, lockY = fabricObject.lockScalingY;\n if (lockX && lockY) {\n return true;\n }\n if (!by && (lockX || lockY) && scaleProportionally) {\n return true;\n }\n if (lockX && by === 'x') {\n return true;\n }\n if (lockY && by === 'y') {\n return true;\n }\n return false;\n }\n\n /**\n * return the correct cursor style for the scale action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function scaleCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = 'not-allowed',\n scaleProportionally = scaleIsProportional(eventData, fabricObject),\n by = '';\n if (control.x !== 0 && control.y === 0) {\n by = 'x';\n }\n else if (control.x === 0 && control.y !== 0) {\n by = 'y';\n }\n if (scalingIsForbidden(fabricObject, by, scaleProportionally)) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control);\n return scaleMap[n] + '-resize';\n }\n\n /**\n * return the correct cursor style for the skew action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function skewCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = 'not-allowed';\n if (control.x !== 0 && fabricObject.lockSkewingY) {\n return notAllowed;\n }\n if (control.y !== 0 && fabricObject.lockSkewingX) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control) % 4;\n return skewMap[n] + '-resize';\n }\n\n /**\n * Combine skew and scale style handlers to cover fabric standard use case\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function scaleSkewCursorStyleHandler(eventData, control, fabricObject) {\n if (eventData[fabricObject.canvas.altActionKey]) {\n return controls.skewCursorStyleHandler(eventData, control, fabricObject);\n }\n return controls.scaleCursorStyleHandler(eventData, control, fabricObject);\n }\n\n /**\n * Inspect event, control and fabricObject to return the correct action name\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} an action name\n */\n function scaleOrSkewActionName(eventData, control, fabricObject) {\n var isAlternative = eventData[fabricObject.canvas.altActionKey];\n if (control.x === 0) {\n // then is scaleY or skewX\n return isAlternative ? 'skewX' : 'scaleY';\n }\n if (control.y === 0) {\n // then is scaleY or skewX\n return isAlternative ? 'skewY' : 'scaleX';\n }\n }\n\n /**\n * Find the correct style for the control that is used for rotation.\n * this function is very simple and it just take care of not-allowed or standard cursor\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */\n function rotationStyleHandler(eventData, control, fabricObject) {\n if (fabricObject.lockRotation) {\n return 'not-allowed';\n }\n return control.cursorStyle;\n }\n\n function commonEventInfo(eventData, transform, x, y) {\n return {\n e: eventData,\n transform: transform,\n pointer: {\n x: x,\n y: y,\n }\n };\n }\n\n /**\n * Wrap an action handler with saving/restoring object position on the transform.\n * this is the code that permits to objects to keep their position while transforming.\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */\n function wrapWithFixedAnchor(actionHandler) {\n return function(eventData, transform, x, y) {\n var target = transform.target, centerPoint = target.getCenterPoint(),\n constraint = target.translateToOriginPoint(centerPoint, transform.originX, transform.originY),\n actionPerformed = actionHandler(eventData, transform, x, y);\n target.setPositionByOrigin(constraint, transform.originX, transform.originY);\n return actionPerformed;\n };\n }\n\n /**\n * Wrap an action handler with firing an event if the action is performed\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */\n function wrapWithFireEvent(eventName, actionHandler) {\n return function(eventData, transform, x, y) {\n var actionPerformed = actionHandler(eventData, transform, x, y);\n if (actionPerformed) {\n fireEvent(eventName, commonEventInfo(eventData, transform, x, y));\n }\n return actionPerformed;\n };\n }\n\n /**\n * Transforms a point described by x and y in a distance from the top left corner of the object\n * bounding box.\n * @param {Object} transform\n * @param {String} originX\n * @param {String} originY\n * @param {number} x\n * @param {number} y\n * @return {Fabric.Point} the normalized point\n */\n function getLocalPoint(transform, originX, originY, x, y) {\n var target = transform.target,\n control = target.controls[transform.corner],\n zoom = target.canvas.getZoom(),\n padding = target.padding / zoom,\n localPoint = target.toLocalPoint(new fabric.Point(x, y), originX, originY);\n if (localPoint.x >= padding) {\n localPoint.x -= padding;\n }\n if (localPoint.x <= -padding) {\n localPoint.x += padding;\n }\n if (localPoint.y >= padding) {\n localPoint.y -= padding;\n }\n if (localPoint.y <= padding) {\n localPoint.y += padding;\n }\n localPoint.x -= control.offsetX;\n localPoint.y -= control.offsetY;\n return localPoint;\n }\n\n /**\n * Detect if the fabric object is flipped on one side.\n * @param {fabric.Object} target\n * @return {Boolean} true if one flip, but not two.\n */\n function targetHasOneFlip(target) {\n return target.flipX !== target.flipY;\n }\n\n /**\n * Utility function to compensate the scale factor when skew is applied on both axes\n * @private\n */\n function compensateScaleForSkew(target, oppositeSkew, scaleToCompensate, axis, reference) {\n if (target[oppositeSkew] !== 0) {\n var newDim = target._getTransformedDimensions()[axis];\n var newValue = reference / newDim * target[scaleToCompensate];\n target.set(scaleToCompensate, newValue);\n }\n }\n\n /**\n * Action handler for skewing on the X axis\n * @private\n */\n function skewObjectX(eventData, transform, x, y) {\n var target = transform.target,\n // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(0, target.skewY),\n localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.x * 2) - dimNoSkew.x,\n currentSkew = target.skewX, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n }\n else {\n newSkew = radiansToDegrees(\n Math.atan2((totalSkewSize / target.scaleX), (dimNoSkew.y / target.scaleY))\n );\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().y;\n target.set('skewX', newSkew);\n compensateScaleForSkew(target, 'skewY', 'scaleY', 'y', dimBeforeSkewing);\n }\n return hasSkewed;\n }\n\n /**\n * Action handler for skewing on the Y axis\n * @private\n */\n function skewObjectY(eventData, transform, x, y) {\n var target = transform.target,\n // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(target.skewX, 0),\n localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.y * 2) - dimNoSkew.y,\n currentSkew = target.skewY, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n }\n else {\n newSkew = radiansToDegrees(\n Math.atan2((totalSkewSize / target.scaleY), (dimNoSkew.x / target.scaleX))\n );\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().x;\n target.set('skewY', newSkew);\n compensateScaleForSkew(target, 'skewX', 'scaleX', 'x', dimBeforeSkewing);\n }\n return hasSkewed;\n }\n\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function skewHandlerX(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewX > 0 and originY bottom we anchor on right\n // if skewX > 0 and originY top we anchor on left\n // if skewX < 0 and originY bottom we anchor on left\n // if skewX < 0 and originY top we anchor on right\n // if skewX is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewX, originX, originY = transform.originY;\n if (target.lockSkewingX) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.x > 0) {\n // we are pulling right, anchor left;\n originX = LEFT;\n }\n else {\n // we are pulling right, anchor right\n originX = RIGHT;\n }\n }\n else {\n if (currentSkew > 0) {\n originX = originY === TOP ? LEFT : RIGHT;\n }\n if (currentSkew < 0) {\n originX = originY === TOP ? RIGHT : LEFT;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originX = originX === LEFT ? RIGHT : LEFT;\n }\n }\n\n // once we have the origin, we find the anchor point\n transform.originX = originX;\n var finalHandler = wrapWithFireEvent('skewing', wrapWithFixedAnchor(skewObjectX));\n return finalHandler(eventData, transform, x, y);\n }\n\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function skewHandlerY(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewY > 0 and originX left we anchor on top\n // if skewY > 0 and originX right we anchor on bottom\n // if skewY < 0 and originX left we anchor on bottom\n // if skewY < 0 and originX right we anchor on top\n // if skewY is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewY, originY, originX = transform.originX;\n if (target.lockSkewingY) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.y > 0) {\n // we are pulling down, anchor up;\n originY = TOP;\n }\n else {\n // we are pulling up, anchor down\n originY = BOTTOM;\n }\n }\n else {\n if (currentSkew > 0) {\n originY = originX === LEFT ? TOP : BOTTOM;\n }\n if (currentSkew < 0) {\n originY = originX === LEFT ? BOTTOM : TOP;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originY = originY === TOP ? BOTTOM : TOP;\n }\n }\n\n // once we have the origin, we find the anchor point\n transform.originY = originY;\n var finalHandler = wrapWithFireEvent('skewing', wrapWithFixedAnchor(skewObjectY));\n return finalHandler(eventData, transform, x, y);\n }\n\n /**\n * Action handler for rotation and snapping, without anchor point.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n * @private\n */\n function rotationWithSnapping(eventData, transform, x, y) {\n var t = transform,\n target = t.target,\n pivotPoint = target.translateToOriginPoint(target.getCenterPoint(), t.originX, t.originY);\n\n if (target.lockRotation) {\n return false;\n }\n\n var lastAngle = Math.atan2(t.ey - pivotPoint.y, t.ex - pivotPoint.x),\n curAngle = Math.atan2(y - pivotPoint.y, x - pivotPoint.x),\n angle = radiansToDegrees(curAngle - lastAngle + t.theta),\n hasRotated = true;\n\n if (target.snapAngle > 0) {\n var snapAngle = target.snapAngle,\n snapThreshold = target.snapThreshold || snapAngle,\n rightAngleLocked = Math.ceil(angle / snapAngle) * snapAngle,\n leftAngleLocked = Math.floor(angle / snapAngle) * snapAngle;\n\n if (Math.abs(angle - leftAngleLocked) < snapThreshold) {\n angle = leftAngleLocked;\n }\n else if (Math.abs(angle - rightAngleLocked) < snapThreshold) {\n angle = rightAngleLocked;\n }\n }\n\n // normalize angle to positive value\n if (angle < 0) {\n angle = 360 + angle;\n }\n angle %= 360;\n\n hasRotated = target.angle !== angle;\n target.angle = angle;\n return hasRotated;\n }\n\n /**\n * Basic scaling logic, reused with different constrain for scaling X,Y, freely or equally.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @param {Object} options additional information for scaling\n * @param {String} options.by 'x', 'y', 'equally' or '' to indicate type of scaling\n * @return {Boolean} true if some change happened\n * @private\n */\n function scaleObject(eventData, transform, x, y, options) {\n options = options || {};\n var target = transform.target,\n lockScalingX = target.lockScalingX, lockScalingY = target.lockScalingY,\n by = options.by, newPoint, scaleX, scaleY, dim,\n scaleProportionally = scaleIsProportional(eventData, target),\n forbidScaling = scalingIsForbidden(target, by, scaleProportionally),\n signX, signY, gestureScale = transform.gestureScale;\n\n if (forbidScaling) {\n return false;\n }\n if (gestureScale) {\n scaleX = transform.scaleX * gestureScale;\n scaleY = transform.scaleY * gestureScale;\n }\n else {\n newPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y);\n // use of sign: We use sign to detect change of direction of an action. sign usually change when\n // we cross the origin point with the mouse. So a scale flip for example. There is an issue when scaling\n // by center and scaling using one middle control ( default: mr, mt, ml, mb), the mouse movement can easily\n // cross many time the origin point and flip the object. so we need a way to filter out the noise.\n // This ternary here should be ok to filter out X scaling when we want Y only and vice versa.\n signX = by !== 'y' ? sign(newPoint.x) : 1;\n signY = by !== 'x' ? sign(newPoint.y) : 1;\n if (!transform.signX) {\n transform.signX = signX;\n }\n if (!transform.signY) {\n transform.signY = signY;\n }\n\n if (target.lockScalingFlip &&\n (transform.signX !== signX || transform.signY !== signY)\n ) {\n return false;\n }\n\n dim = target._getTransformedDimensions();\n // missing detection of flip and logic to switch the origin\n if (scaleProportionally && !by) {\n // uniform scaling\n var distance = Math.abs(newPoint.x) + Math.abs(newPoint.y),\n original = transform.original,\n originalDistance = Math.abs(dim.x * original.scaleX / target.scaleX) +\n Math.abs(dim.y * original.scaleY / target.scaleY),\n scale = distance / originalDistance;\n scaleX = original.scaleX * scale;\n scaleY = original.scaleY * scale;\n }\n else {\n scaleX = Math.abs(newPoint.x * target.scaleX / dim.x);\n scaleY = Math.abs(newPoint.y * target.scaleY / dim.y);\n }\n // if we are scaling by center, we need to double the scale\n if (isTransformCentered(transform)) {\n scaleX *= 2;\n scaleY *= 2;\n }\n if (transform.signX !== signX && by !== 'y') {\n transform.originX = opposite[transform.originX];\n scaleX *= -1;\n transform.signX = signX;\n }\n if (transform.signY !== signY && by !== 'x') {\n transform.originY = opposite[transform.originY];\n scaleY *= -1;\n transform.signY = signY;\n }\n }\n // minScale is taken are in the setter.\n var oldScaleX = target.scaleX, oldScaleY = target.scaleY;\n if (!by) {\n !lockScalingX && target.set('scaleX', scaleX);\n !lockScalingY && target.set('scaleY', scaleY);\n }\n else {\n // forbidden cases already handled on top here.\n by === 'x' && target.set('scaleX', scaleX);\n by === 'y' && target.set('scaleY', scaleY);\n }\n return oldScaleX !== target.scaleX || oldScaleY !== target.scaleY;\n }\n\n /**\n * Generic scaling logic, to scale from corners either equally or freely.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectFromCorner(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y);\n }\n\n /**\n * Scaling logic for the X axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectX(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y , { by: 'x' });\n }\n\n /**\n * Scaling logic for the Y axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scaleObjectY(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y , { by: 'y' });\n }\n\n /**\n * Composed action handler to either scale Y or skew X\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scalingYOrSkewingX(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerX(eventData, transform, x, y);\n }\n return controls.scalingY(eventData, transform, x, y);\n }\n\n /**\n * Composed action handler to either scale X or skew Y\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function scalingXOrSkewingY(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerY(eventData, transform, x, y);\n }\n return controls.scalingX(eventData, transform, x, y);\n }\n\n /**\n * Action handler to change textbox width\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */\n function changeWidth(eventData, transform, x, y) {\n var target = transform.target, localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y),\n strokePadding = target.strokeWidth / (target.strokeUniform ? target.scaleX : 1),\n multiplier = isTransformCentered(transform) ? 2 : 1,\n oldWidth = target.width,\n newWidth = Math.abs(localPoint.x * multiplier / target.scaleX) - strokePadding;\n target.set('width', Math.max(newWidth, 0));\n return oldWidth !== newWidth;\n }\n\n /**\n * Action handler\n * @private\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if the translation occurred\n */\n function dragHandler(eventData, transform, x, y) {\n var target = transform.target,\n newLeft = x - transform.offsetX,\n newTop = y - transform.offsetY,\n moveX = !target.get('lockMovementX') && target.left !== newLeft,\n moveY = !target.get('lockMovementY') && target.top !== newTop;\n moveX && target.set('left', newLeft);\n moveY && target.set('top', newTop);\n if (moveX || moveY) {\n fireEvent('moving', commonEventInfo(eventData, transform, x, y));\n }\n return moveX || moveY;\n }\n\n controls.scaleCursorStyleHandler = scaleCursorStyleHandler;\n controls.skewCursorStyleHandler = skewCursorStyleHandler;\n controls.scaleSkewCursorStyleHandler = scaleSkewCursorStyleHandler;\n controls.rotationWithSnapping = wrapWithFireEvent('rotating', wrapWithFixedAnchor(rotationWithSnapping));\n controls.scalingEqually = wrapWithFireEvent('scaling', wrapWithFixedAnchor( scaleObjectFromCorner));\n controls.scalingX = wrapWithFireEvent('scaling', wrapWithFixedAnchor(scaleObjectX));\n controls.scalingY = wrapWithFireEvent('scaling', wrapWithFixedAnchor(scaleObjectY));\n controls.scalingYOrSkewingX = scalingYOrSkewingX;\n controls.scalingXOrSkewingY = scalingXOrSkewingY;\n controls.changeWidth = wrapWithFireEvent('resizing', wrapWithFixedAnchor(changeWidth));\n controls.skewHandlerX = skewHandlerX;\n controls.skewHandlerY = skewHandlerY;\n controls.dragHandler = dragHandler;\n controls.scaleOrSkewActionName = scaleOrSkewActionName;\n controls.rotationStyleHandler = rotationStyleHandler;\n controls.fireEvent = fireEvent;\n controls.wrapWithFixedAnchor = wrapWithFixedAnchor;\n controls.wrapWithFireEvent = wrapWithFireEvent;\n controls.getLocalPoint = getLocalPoint;\n fabric.controlsUtils = controls;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n degreesToRadians = fabric.util.degreesToRadians,\n controls = fabric.controlsUtils;\n\n /**\n * Render a round control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */\n function renderCircleControl (ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize,\n ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize,\n transparentCorners = typeof styleOverride.transparentCorners !== 'undefined' ?\n styleOverride.transparentCorners : fabricObject.transparentCorners,\n methodName = transparentCorners ? 'stroke' : 'fill',\n stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor),\n myLeft = left,\n myTop = top, size;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // as soon as fabric react v5, remove ie11, use proper ellipse code.\n if (xSize > ySize) {\n size = xSize;\n ctx.scale(1.0, ySize / xSize);\n myTop = top * xSize / ySize;\n }\n else if (ySize > xSize) {\n size = ySize;\n ctx.scale(xSize / ySize, 1.0);\n myLeft = left * ySize / xSize;\n }\n else {\n size = xSize;\n }\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.arc(myLeft, myTop, size / 2, 0, 2 * Math.PI, false);\n ctx[methodName]();\n if (stroke) {\n ctx.stroke();\n }\n ctx.restore();\n }\n\n /**\n * Render a square control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */\n function renderSquareControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize,\n ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize,\n transparentCorners = typeof styleOverride.transparentCorners !== 'undefined' ?\n styleOverride.transparentCorners : fabricObject.transparentCorners,\n methodName = transparentCorners ? 'stroke' : 'fill',\n stroke = !transparentCorners && (\n styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor\n ), xSizeBy2 = xSize / 2, ySizeBy2 = ySize / 2;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.translate(left, top);\n ctx.rotate(degreesToRadians(fabricObject.angle));\n // this does not work, and fixed with ( && ) does not make sense.\n // to have real transparent corners we need the controls on upperCanvas\n // transparentCorners || ctx.clearRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n ctx[methodName + 'Rect'](-xSizeBy2, -ySizeBy2, xSize, ySize);\n if (stroke) {\n ctx.strokeRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n }\n ctx.restore();\n }\n\n controls.renderCircleControl = renderCircleControl;\n controls.renderSquareControl = renderSquareControl;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n function Control(options) {\n for (var i in options) {\n this[i] = options[i];\n }\n }\n\n fabric.Control = Control;\n\n fabric.Control.prototype = /** @lends fabric.Control.prototype */ {\n\n /**\n * keep track of control visibility.\n * mainly for backward compatibility.\n * if you do not want to see a control, you can remove it\n * from the controlset.\n * @type {Boolean}\n * @default true\n */\n visible: true,\n\n /**\n * Name of the action that the control will likely execute.\n * This is optional. FabricJS uses to identify what the user is doing for some\n * extra optimizations. If you are writing a custom control and you want to know\n * somewhere else in the code what is going on, you can use this string here.\n * you can also provide a custom getActionName if your control run multiple actions\n * depending on some external state.\n * default to scale since is the most common, used on 4 corners by default\n * @type {String}\n * @default 'scale'\n */\n actionName: 'scale',\n\n /**\n * Drawing angle of the control.\n * NOT used for now, but name marked as needed for internal logic\n * example: to reuse the same drawing function for different rotated controls\n * @type {Number}\n * @default 0\n */\n angle: 0,\n\n /**\n * Relative position of the control. X\n * 0,0 is the center of the Object, while -0.5 (left) or 0.5 (right) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n x: 0,\n\n /**\n * Relative position of the control. Y\n * 0,0 is the center of the Object, while -0.5 (top) or 0.5 (bottom) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n y: 0,\n\n /**\n * Horizontal offset of the control from the defined position. In pixels\n * Positive offset moves the control to the right, negative to the left.\n * It used when you want to have position of control that does not scale with\n * the bounding box. Example: rotation control is placed at x:0, y: 0.5 on\n * the boundindbox, with an offset of 30 pixels vertically. Those 30 pixels will\n * stay 30 pixels no matter how the object is big. Another example is having 2\n * controls in the corner, that stay in the same position when the object scale.\n * of the bounding box.\n * @type {Number}\n * @default 0\n */\n offsetX: 0,\n\n /**\n * Vertical offset of the control from the defined position. In pixels\n * Positive offset moves the control to the bottom, negative to the top.\n * @type {Number}\n * @default 0\n */\n offsetY: 0,\n\n /**\n * Sets the length of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n sizeX: null,\n\n /**\n * Sets the height of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n sizeY: null,\n\n /**\n * Sets the length of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n touchSizeX: null,\n\n /**\n * Sets the height of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */\n touchSizeY: null,\n\n /**\n * Css cursor style to display when the control is hovered.\n * if the method `cursorStyleHandler` is provided, this property is ignored.\n * @type {String}\n * @default 'crosshair'\n */\n cursorStyle: 'crosshair',\n\n /**\n * If controls has an offsetY or offsetX, draw a line that connects\n * the control to the bounding box\n * @type {Boolean}\n * @default false\n */\n withConnection: false,\n\n /**\n * The control actionHandler, provide one to handle action ( control being moved )\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n actionHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * The control handler for mouse down, provide one to handle mouse down on control\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n mouseDownHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * The control mouseUpHandler, provide one to handle an effect on mouse up.\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */\n mouseUpHandler: function(/* eventData, transformData, x, y */) { },\n\n /**\n * Returns control actionHandler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getActionHandler: function(/* eventData, fabricObject, control */) {\n return this.actionHandler;\n },\n\n /**\n * Returns control mouseDown handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getMouseDownHandler: function(/* eventData, fabricObject, control */) {\n return this.mouseDownHandler;\n },\n\n /**\n * Returns control mouseUp handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */\n getMouseUpHandler: function(/* eventData, fabricObject, control */) {\n return this.mouseUpHandler;\n },\n\n /**\n * Returns control cursorStyle for css using cursorStyle. If you need a more elaborate\n * function you can pass one in the constructor\n * the cursorStyle property\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */\n cursorStyleHandler: function(eventData, control /* fabricObject */) {\n return control.cursorStyle;\n },\n\n /**\n * Returns the action name. The basic implementation just return the actionName property.\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */\n getActionName: function(eventData, control /* fabricObject */) {\n return control.actionName;\n },\n\n /**\n * Returns controls visibility\n * @param {fabric.Object} object on which the control is displayed\n * @param {String} controlKey key where the control is memorized on the\n * @return {Boolean}\n */\n getVisibility: function(fabricObject, controlKey) {\n var objectVisibility = fabricObject._controlsVisibility;\n if (objectVisibility && typeof objectVisibility[controlKey] !== 'undefined') {\n return objectVisibility[controlKey];\n }\n return this.visible;\n },\n\n /**\n * Sets controls visibility\n * @param {Boolean} visibility for the object\n * @return {Void}\n */\n setVisibility: function(visibility /* name, fabricObject */) {\n this.visible = visibility;\n },\n\n\n positionHandler: function(dim, finalMatrix /*, fabricObject, currentControl */) {\n var point = fabric.util.transformPoint({\n x: this.x * dim.x + this.offsetX,\n y: this.y * dim.y + this.offsetY }, finalMatrix);\n return point;\n },\n\n /**\n * Returns the coords for this control based on object values.\n * @param {Number} objectAngle angle from the fabric object holding the control\n * @param {Number} objectCornerSize cornerSize from the fabric object holding the control (or touchCornerSize if\n * isTouch is true)\n * @param {Number} centerX x coordinate where the control center should be\n * @param {Number} centerY y coordinate where the control center should be\n * @param {boolean} isTouch true if touch corner, false if normal corner\n */\n calcCornerCoords: function(objectAngle, objectCornerSize, centerX, centerY, isTouch) {\n var cosHalfOffset,\n sinHalfOffset,\n cosHalfOffsetComp,\n sinHalfOffsetComp,\n xSize = (isTouch) ? this.touchSizeX : this.sizeX,\n ySize = (isTouch) ? this.touchSizeY : this.sizeY;\n if (xSize && ySize && xSize !== ySize) {\n // handle rectangular corners\n var controlTriangleAngle = Math.atan2(ySize, xSize);\n var cornerHypotenuse = Math.sqrt(xSize * xSize + ySize * ySize) / 2;\n var newTheta = controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n var newThetaComp = Math.PI / 2 - controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n cosHalfOffset = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = cornerHypotenuse * fabric.util.sin(newTheta);\n // use complementary angle for two corners\n cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newThetaComp);\n sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newThetaComp);\n }\n else {\n // handle square corners\n // use default object corner size unless size is defined\n var cornerSize = (xSize && ySize) ? xSize : objectCornerSize;\n /* 0.7071067812 stands for sqrt(2)/2 */\n cornerHypotenuse = cornerSize * 0.7071067812;\n // complementary angles are equal since they're both 45 degrees\n var newTheta = fabric.util.degreesToRadians(45 - objectAngle);\n cosHalfOffset = cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newTheta);\n }\n\n return {\n tl: {\n x: centerX - sinHalfOffsetComp,\n y: centerY - cosHalfOffsetComp,\n },\n tr: {\n x: centerX + cosHalfOffset,\n y: centerY - sinHalfOffset,\n },\n bl: {\n x: centerX - cosHalfOffset,\n y: centerY + sinHalfOffset,\n },\n br: {\n x: centerX + sinHalfOffsetComp,\n y: centerY + cosHalfOffsetComp,\n },\n };\n },\n\n /**\n * Render function for the control.\n * When this function runs the context is unscaled. unrotate. Just retina scaled.\n * all the functions will have to translate to the point left,top before starting Drawing\n * if they want to draw a control where the position is detected.\n * left and top are the result of the positionHandler function\n * @param {RenderingContext2D} ctx the context where the control will be drawn\n * @param {Number} left position of the canvas where we are about to render the control.\n * @param {Number} top position of the canvas where we are about to render the control.\n * @param {Object} styleOverride\n * @param {fabric.Object} fabricObject the object where the control is about to be rendered\n */\n render: function(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n switch (styleOverride.cornerStyle || fabricObject.cornerStyle) {\n case 'circle':\n fabric.controlsUtils.renderCircleControl.call(this, ctx, left, top, styleOverride, fabricObject);\n break;\n default:\n fabric.controlsUtils.renderSquareControl.call(this, ctx, left, top, styleOverride, fabricObject);\n }\n },\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function () {\n\n 'use strict';\n\n if (fabric.StaticCanvas) {\n fabric.warn('fabric.StaticCanvas is already defined.');\n return;\n }\n\n // aliases for faster resolution\n var extend = fabric.util.object.extend,\n getElementOffset = fabric.util.getElementOffset,\n removeFromArray = fabric.util.removeFromArray,\n toFixed = fabric.util.toFixed,\n transformPoint = fabric.util.transformPoint,\n invertTransform = fabric.util.invertTransform,\n getNodeCanvas = fabric.util.getNodeCanvas,\n createCanvasElement = fabric.util.createCanvasElement,\n\n CANVAS_INIT_ERROR = new Error('Could not initialize `canvas` element');\n\n /**\n * Static canvas class\n * @class fabric.StaticCanvas\n * @mixes fabric.Collection\n * @mixes fabric.Observable\n * @see {@link http://fabricjs.com/static_canvas|StaticCanvas demo}\n * @see {@link fabric.StaticCanvas#initialize} for constructor definition\n * @fires before:render\n * @fires after:render\n * @fires canvas:cleared\n * @fires object:added\n * @fires object:removed\n */\n fabric.StaticCanvas = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(el, options) {\n options || (options = { });\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n },\n\n /**\n * Background color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setBackgroundColor}.\n * @type {(String|fabric.Pattern)}\n * @default\n */\n backgroundColor: '',\n\n /**\n * Background image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as background, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */\n backgroundImage: null,\n\n /**\n * Overlay color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setOverlayColor}\n * @since 1.3.9\n * @type {(String|fabric.Pattern)}\n * @default\n */\n overlayColor: '',\n\n /**\n * Overlay image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as overlay, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */\n overlayImage: null,\n\n /**\n * Indicates whether toObject/toDatalessObject should include default values\n * if set to false, takes precedence over the object value.\n * @type Boolean\n * @default\n */\n includeDefaultValues: true,\n\n /**\n * Indicates whether objects' state should be saved\n * @type Boolean\n * @default\n */\n stateful: false,\n\n /**\n * Indicates whether {@link fabric.Collection.add}, {@link fabric.Collection.insertAt} and {@link fabric.Collection.remove},\n * {@link fabric.StaticCanvas.moveTo}, {@link fabric.StaticCanvas.clear} and many more, should also re-render canvas.\n * Disabling this option will not give a performance boost when adding/removing a lot of objects to/from canvas at once\n * since the renders are quequed and executed one per frame.\n * Disabling is suggested anyway and managing the renders of the app manually is not a big effort ( canvas.requestRenderAll() )\n * Left default to true to do not break documentation and old app, fiddles.\n * @type Boolean\n * @default\n */\n renderOnAddRemove: true,\n\n /**\n * Indicates whether object controls (borders/controls) are rendered above overlay image\n * @type Boolean\n * @default\n */\n controlsAboveOverlay: false,\n\n /**\n * Indicates whether the browser can be scrolled when using a touchscreen and dragging on the canvas\n * @type Boolean\n * @default\n */\n allowTouchScrolling: false,\n\n /**\n * Indicates whether this canvas will use image smoothing, this is on by default in browsers\n * @type Boolean\n * @default\n */\n imageSmoothingEnabled: true,\n\n /**\n * The transformation (a Canvas 2D API transform matrix) which focuses the viewport\n * @type Array\n * @example Default transform\n * canvas.viewportTransform = [1, 0, 0, 1, 0, 0];\n * @example Scale by 70% and translate toward bottom-right by 50, without skewing\n * canvas.viewportTransform = [0.7, 0, 0, 0.7, 50, 50];\n * @default\n */\n viewportTransform: fabric.iMatrix.concat(),\n\n /**\n * if set to false background image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n backgroundVpt: true,\n\n /**\n * if set to false overlya image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n overlayVpt: true,\n\n /**\n * When true, canvas is scaled by devicePixelRatio for better rendering on retina screens\n * @type Boolean\n * @default\n */\n enableRetinaScaling: true,\n\n /**\n * Describe canvas element extension over design\n * properties are tl,tr,bl,br.\n * if canvas is not zoomed/panned those points are the four corner of canvas\n * if canvas is viewportTransformed you those points indicate the extension\n * of canvas element in plain untrasformed coordinates\n * The coordinates get updated with @method calcViewportBoundaries.\n * @memberOf fabric.StaticCanvas.prototype\n */\n vptCoords: { },\n\n /**\n * Based on vptCoords and object.aCoords, skip rendering of objects that\n * are not included in current viewport.\n * May greatly help in applications with crowded canvas and use of zoom/pan\n * If One of the corner of the bounding box of the object is on the canvas\n * the objects get rendered.\n * @memberOf fabric.StaticCanvas.prototype\n * @type Boolean\n * @default\n */\n skipOffscreen: true,\n\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the canvas has rendered, and the context is placed in the\n * top left corner of the canvas.\n * clipPath will clip away controls, if you do not want this to happen use controlsAboveOverlay = true\n * @type fabric.Object\n */\n clipPath: undefined,\n\n /**\n * @private\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n */\n _initStatic: function(el, options) {\n var cb = this.requestRenderAllBound;\n this._objects = [];\n this._createLowerCanvas(el);\n this._initOptions(options);\n // only initialize retina scaling once\n if (!this.interactive) {\n this._initRetinaScaling();\n }\n\n if (options.overlayImage) {\n this.setOverlayImage(options.overlayImage, cb);\n }\n if (options.backgroundImage) {\n this.setBackgroundImage(options.backgroundImage, cb);\n }\n if (options.backgroundColor) {\n this.setBackgroundColor(options.backgroundColor, cb);\n }\n if (options.overlayColor) {\n this.setOverlayColor(options.overlayColor, cb);\n }\n this.calcOffset();\n },\n\n /**\n * @private\n */\n _isRetinaScaling: function() {\n return (fabric.devicePixelRatio > 1 && this.enableRetinaScaling);\n },\n\n /**\n * @private\n * @return {Number} retinaScaling if applied, otherwise 1;\n */\n getRetinaScaling: function() {\n return this._isRetinaScaling() ? Math.max(1, fabric.devicePixelRatio) : 1;\n },\n\n /**\n * @private\n */\n _initRetinaScaling: function() {\n if (!this._isRetinaScaling()) {\n return;\n }\n var scaleRatio = fabric.devicePixelRatio;\n this.__initRetinaScaling(scaleRatio, this.lowerCanvasEl, this.contextContainer);\n if (this.upperCanvasEl) {\n this.__initRetinaScaling(scaleRatio, this.upperCanvasEl, this.contextTop);\n }\n },\n\n __initRetinaScaling: function(scaleRatio, canvas, context) {\n canvas.setAttribute('width', this.width * scaleRatio);\n canvas.setAttribute('height', this.height * scaleRatio);\n context.scale(scaleRatio, scaleRatio);\n },\n\n\n /**\n * Calculates canvas element offset relative to the document\n * This method is also attached as \"resize\" event handler of window\n * @return {fabric.Canvas} instance\n * @chainable\n */\n calcOffset: function () {\n this._offset = getElementOffset(this.lowerCanvasEl);\n return this;\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#overlayImage|overlay image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set overlay to\n * @param {Function} callback callback to invoke when image is loaded and set as an overlay\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|overlay image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/MnzHT/|jsFiddle demo}\n * @example Normal overlayImage with left/top = 0\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage with different properties\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched overlayImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/jail_cell_bars.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched overlayImage #2 - width/height correspond to canvas width/height\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage loaded from cross-origin\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */\n setOverlayImage: function (image, callback, options) {\n return this.__setBgOverlayImage('overlayImage', image, callback, options);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#backgroundImage|background image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set background to\n * @param {Function} callback Callback to invoke when image is loaded and set as background\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|background image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/djnr8o7a/28/|jsFiddle demo}\n * @example Normal backgroundImage with left/top = 0\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage with different properties\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched backgroundImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/honey_im_subtle.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setBackgroundImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched backgroundImage #2 - width/height correspond to canvas width/height\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage loaded from cross-origin\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */\n // TODO: fix stretched examples\n setBackgroundImage: function (image, callback, options) {\n return this.__setBgOverlayImage('backgroundImage', image, callback, options);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#overlayColor|foreground color} for this canvas\n * @param {(String|fabric.Pattern)} overlayColor Color or pattern to set foreground color to\n * @param {Function} callback Callback to invoke when foreground color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/pB55h/|jsFiddle demo}\n * @example Normal overlayColor - color value\n * canvas.setOverlayColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor with repeat and offset\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */\n setOverlayColor: function(overlayColor, callback) {\n return this.__setBgOverlayColor('overlayColor', overlayColor, callback);\n },\n\n /**\n * Sets {@link fabric.StaticCanvas#backgroundColor|background color} for this canvas\n * @param {(String|fabric.Pattern)} backgroundColor Color or pattern to set background color to\n * @param {Function} callback Callback to invoke when background color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/hXzvk/|jsFiddle demo}\n * @example Normal backgroundColor - color value\n * canvas.setBackgroundColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor with repeat and offset\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */\n setBackgroundColor: function(backgroundColor, callback) {\n return this.__setBgOverlayColor('backgroundColor', backgroundColor, callback);\n },\n\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundImage|backgroundImage}\n * or {@link fabric.StaticCanvas#overlayImage|overlayImage})\n * @param {(fabric.Image|String|null)} image fabric.Image instance, URL of an image or null to set background or overlay to\n * @param {Function} callback Callback to invoke when image is loaded and set as background or overlay. The first argument is the created image, the second argument is a flag indicating whether an error occurred or not.\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|image}.\n */\n __setBgOverlayImage: function(property, image, callback, options) {\n if (typeof image === 'string') {\n fabric.util.loadImage(image, function(img, isError) {\n if (img) {\n var instance = new fabric.Image(img, options);\n this[property] = instance;\n instance.canvas = this;\n }\n callback && callback(img, isError);\n }, this, options && options.crossOrigin);\n }\n else {\n options && image.setOptions(options);\n this[property] = image;\n image && (image.canvas = this);\n callback && callback(image, false);\n }\n\n return this;\n },\n\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundColor|backgroundColor}\n * or {@link fabric.StaticCanvas#overlayColor|overlayColor})\n * @param {(Object|String|null)} color Object with pattern information, color value or null\n * @param {Function} [callback] Callback is invoked when color is set\n */\n __setBgOverlayColor: function(property, color, callback) {\n this[property] = color;\n this._initGradient(color, property);\n this._initPattern(color, property, callback);\n return this;\n },\n\n /**\n * @private\n */\n _createCanvasElement: function() {\n var element = createCanvasElement();\n if (!element) {\n throw CANVAS_INIT_ERROR;\n }\n if (!element.style) {\n element.style = { };\n }\n if (typeof element.getContext === 'undefined') {\n throw CANVAS_INIT_ERROR;\n }\n return element;\n },\n\n /**\n * @private\n * @param {Object} [options] Options object\n */\n _initOptions: function (options) {\n var lowerCanvasEl = this.lowerCanvasEl;\n this._setOptions(options);\n\n this.width = this.width || parseInt(lowerCanvasEl.width, 10) || 0;\n this.height = this.height || parseInt(lowerCanvasEl.height, 10) || 0;\n\n if (!this.lowerCanvasEl.style) {\n return;\n }\n\n lowerCanvasEl.width = this.width;\n lowerCanvasEl.height = this.height;\n\n lowerCanvasEl.style.width = this.width + 'px';\n lowerCanvasEl.style.height = this.height + 'px';\n\n this.viewportTransform = this.viewportTransform.slice();\n },\n\n /**\n * Creates a bottom canvas\n * @private\n * @param {HTMLElement} [canvasEl]\n */\n _createLowerCanvas: function (canvasEl) {\n // canvasEl === 'HTMLCanvasElement' does not work on jsdom/node\n if (canvasEl && canvasEl.getContext) {\n this.lowerCanvasEl = canvasEl;\n }\n else {\n this.lowerCanvasEl = fabric.util.getById(canvasEl) || this._createCanvasElement();\n }\n\n fabric.util.addClass(this.lowerCanvasEl, 'lower-canvas');\n this._originalCanvasStyle = this.lowerCanvasEl.style;\n if (this.interactive) {\n this._applyCanvasStyle(this.lowerCanvasEl);\n }\n\n this.contextContainer = this.lowerCanvasEl.getContext('2d');\n },\n\n /**\n * Returns canvas width (in px)\n * @return {Number}\n */\n getWidth: function () {\n return this.width;\n },\n\n /**\n * Returns canvas height (in px)\n * @return {Number}\n */\n getHeight: function () {\n return this.height;\n },\n\n /**\n * Sets width of this canvas instance\n * @param {Number|String} value Value to set width to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setWidth: function (value, options) {\n return this.setDimensions({ width: value }, options);\n },\n\n /**\n * Sets height of this canvas instance\n * @param {Number|String} value Value to set height to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setHeight: function (value, options) {\n return this.setDimensions({ height: value }, options);\n },\n\n /**\n * Sets dimensions (width, height) of this canvas instance. when options.cssOnly flag active you should also supply the unit of measure (px/%/em)\n * @param {Object} dimensions Object with width/height properties\n * @param {Number|String} [dimensions.width] Width of canvas element\n * @param {Number|String} [dimensions.height] Height of canvas element\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n setDimensions: function (dimensions, options) {\n var cssValue;\n\n options = options || {};\n\n for (var prop in dimensions) {\n cssValue = dimensions[prop];\n\n if (!options.cssOnly) {\n this._setBackstoreDimension(prop, dimensions[prop]);\n cssValue += 'px';\n this.hasLostContext = true;\n }\n\n if (!options.backstoreOnly) {\n this._setCssDimension(prop, cssValue);\n }\n }\n if (this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._setBrushStyles(this.contextTop);\n }\n this._initRetinaScaling();\n this.calcOffset();\n\n if (!options.cssOnly) {\n this.requestRenderAll();\n }\n\n return this;\n },\n\n /**\n * Helper for setting width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {Number} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n _setBackstoreDimension: function (prop, value) {\n this.lowerCanvasEl[prop] = value;\n\n if (this.upperCanvasEl) {\n this.upperCanvasEl[prop] = value;\n }\n\n if (this.cacheCanvasEl) {\n this.cacheCanvasEl[prop] = value;\n }\n\n this[prop] = value;\n\n return this;\n },\n\n /**\n * Helper for setting css width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {String} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n _setCssDimension: function (prop, value) {\n this.lowerCanvasEl.style[prop] = value;\n\n if (this.upperCanvasEl) {\n this.upperCanvasEl.style[prop] = value;\n }\n\n if (this.wrapperEl) {\n this.wrapperEl.style[prop] = value;\n }\n\n return this;\n },\n\n /**\n * Returns canvas zoom level\n * @return {Number}\n */\n getZoom: function () {\n return this.viewportTransform[0];\n },\n\n /**\n * Sets viewport transformation of this canvas instance\n * @param {Array} vpt a Canvas 2D API transform matrix\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setViewportTransform: function (vpt) {\n var activeObject = this._activeObject,\n backgroundObject = this.backgroundImage,\n overlayObject = this.overlayImage,\n object, i, len;\n this.viewportTransform = vpt;\n for (i = 0, len = this._objects.length; i < len; i++) {\n object = this._objects[i];\n object.group || object.setCoords(true);\n }\n if (activeObject) {\n activeObject.setCoords();\n }\n if (backgroundObject) {\n backgroundObject.setCoords(true);\n }\n if (overlayObject) {\n overlayObject.setCoords(true);\n }\n this.calcViewportBoundaries();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Sets zoom level of this canvas instance, the zoom centered around point\n * meaning that following zoom to point with the same point will have the visual\n * effect of the zoom originating from that point. The point won't move.\n * It has nothing to do with canvas center or visual center of the viewport.\n * @param {fabric.Point} point to zoom with respect to\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n zoomToPoint: function (point, value) {\n // TODO: just change the scale, preserve other transformations\n var before = point, vpt = this.viewportTransform.slice(0);\n point = transformPoint(point, invertTransform(this.viewportTransform));\n vpt[0] = value;\n vpt[3] = value;\n var after = transformPoint(point, vpt);\n vpt[4] += before.x - after.x;\n vpt[5] += before.y - after.y;\n return this.setViewportTransform(vpt);\n },\n\n /**\n * Sets zoom level of this canvas instance\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n setZoom: function (value) {\n this.zoomToPoint(new fabric.Point(0, 0), value);\n return this;\n },\n\n /**\n * Pan viewport so as to place point at top left corner of canvas\n * @param {fabric.Point} point to move to\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n absolutePan: function (point) {\n var vpt = this.viewportTransform.slice(0);\n vpt[4] = -point.x;\n vpt[5] = -point.y;\n return this.setViewportTransform(vpt);\n },\n\n /**\n * Pans viewpoint relatively\n * @param {fabric.Point} point (position vector) to move by\n * @return {fabric.Canvas} instance\n * @chainable true\n */\n relativePan: function (point) {\n return this.absolutePan(new fabric.Point(\n -point.x - this.viewportTransform[4],\n -point.y - this.viewportTransform[5]\n ));\n },\n\n /**\n * Returns <canvas> element corresponding to this instance\n * @return {HTMLCanvasElement}\n */\n getElement: function () {\n return this.lowerCanvasEl;\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was added\n */\n _onObjectAdded: function(obj) {\n this.stateful && obj.setupState();\n obj._set('canvas', this);\n obj.setCoords();\n this.fire('object:added', { target: obj });\n obj.fire('added');\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */\n _onObjectRemoved: function(obj) {\n this.fire('object:removed', { target: obj });\n obj.fire('removed');\n delete obj.canvas;\n },\n\n /**\n * Clears specified context of canvas element\n * @param {CanvasRenderingContext2D} ctx Context to clear\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clearContext: function(ctx) {\n ctx.clearRect(0, 0, this.width, this.height);\n return this;\n },\n\n /**\n * Returns context of canvas where objects are drawn\n * @return {CanvasRenderingContext2D}\n */\n getContext: function () {\n return this.contextContainer;\n },\n\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clear: function () {\n this.remove.apply(this, this.getObjects());\n this.backgroundImage = null;\n this.overlayImage = null;\n this.backgroundColor = '';\n this.overlayColor = '';\n if (this._hasITextHandlers) {\n this.off('mouse:up', this._mouseUpITextHandler);\n this._iTextInstances = null;\n this._hasITextHandlers = false;\n }\n this.clearContext(this.contextContainer);\n this.fire('canvas:cleared');\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Renders the canvas\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAll: function () {\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._objects);\n return this;\n },\n\n /**\n * Function created to be instance bound at initialization\n * used in requestAnimationFrame rendering\n * Let the fabricJS call it. If you call it manually you could have more\n * animationFrame stacking on to of each other\n * for an imperative rendering, use canvas.renderAll\n * @private\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAndReset: function() {\n this.isRendering = 0;\n this.renderAll();\n },\n\n /**\n * Append a renderAll request to next animation frame.\n * unless one is already in progress, in that case nothing is done\n * a boolean flag will avoid appending more.\n * @return {fabric.Canvas} instance\n * @chainable\n */\n requestRenderAll: function () {\n if (!this.isRendering) {\n this.isRendering = fabric.util.requestAnimFrame(this.renderAndResetBound);\n }\n return this;\n },\n\n /**\n * Calculate the position of the 4 corner of canvas with current viewportTransform.\n * helps to determinate when an object is in the current rendering viewport using\n * object absolute coordinates ( aCoords )\n * @return {Object} points.tl\n * @chainable\n */\n calcViewportBoundaries: function() {\n var points = { }, width = this.width, height = this.height,\n iVpt = invertTransform(this.viewportTransform);\n points.tl = transformPoint({ x: 0, y: 0 }, iVpt);\n points.br = transformPoint({ x: width, y: height }, iVpt);\n points.tr = new fabric.Point(points.br.x, points.tl.y);\n points.bl = new fabric.Point(points.tl.x, points.br.y);\n this.vptCoords = points;\n return points;\n },\n\n cancelRequestedRender: function() {\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n },\n\n /**\n * Renders background, objects, overlay and controls.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Array} objects to render\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderCanvas: function(ctx, objects) {\n var v = this.viewportTransform, path = this.clipPath;\n this.cancelRequestedRender();\n this.calcViewportBoundaries();\n this.clearContext(ctx);\n fabric.util.setImageSmoothing(ctx, this.imageSmoothingEnabled);\n this.fire('before:render', { ctx: ctx, });\n this._renderBackground(ctx);\n\n ctx.save();\n //apply viewport transform once for all rendering process\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n this._renderObjects(ctx, objects);\n ctx.restore();\n if (!this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n if (path) {\n path.canvas = this;\n // needed to setup a couple of variables\n path.shouldCache();\n path._transformDone = true;\n path.renderCache({ forClipping: true });\n this.drawClipPathOnCanvas(ctx);\n }\n this._renderOverlay(ctx);\n if (this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n this.fire('after:render', { ctx: ctx, });\n },\n\n /**\n * Paint the cached clipPath on the lowerCanvasEl\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawClipPathOnCanvas: function(ctx) {\n var v = this.viewportTransform, path = this.clipPath;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4;\n ctx.globalCompositeOperation = 'destination-in';\n path.transform(ctx);\n ctx.scale(1 / path.zoomX, 1 / path.zoomY);\n ctx.drawImage(path._cacheCanvas, -path.cacheTranslationX, -path.cacheTranslationY);\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} objects to render\n */\n _renderObjects: function(ctx, objects) {\n var i, len;\n for (i = 0, len = objects.length; i < len; ++i) {\n objects[i] && objects[i].render(ctx);\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {string} property 'background' or 'overlay'\n */\n _renderBackgroundOrOverlay: function(ctx, property) {\n var fill = this[property + 'Color'], object = this[property + 'Image'],\n v = this.viewportTransform, needsVpt = this[property + 'Vpt'];\n if (!fill && !object) {\n return;\n }\n if (fill) {\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.width, 0);\n ctx.lineTo(this.width, this.height);\n ctx.lineTo(0, this.height);\n ctx.closePath();\n ctx.fillStyle = fill.toLive\n ? fill.toLive(ctx, this)\n : fill;\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n ctx.transform(1, 0, 0, 1, fill.offsetX || 0, fill.offsetY || 0);\n var m = fill.gradientTransform || fill.patternTransform;\n m && ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n ctx.fill();\n ctx.restore();\n }\n if (object) {\n ctx.save();\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n object.render(ctx);\n ctx.restore();\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderBackground: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, 'background');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderOverlay: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, 'overlay');\n },\n\n /**\n * Returns coordinates of a center of canvas.\n * Returned value is an object with top and left properties\n * @return {Object} object with \"top\" and \"left\" number values\n * @deprecated migrate to `getCenterPoint`\n */\n getCenter: function () {\n return {\n top: this.height / 2,\n left: this.width / 2\n };\n },\n\n /**\n * Returns coordinates of a center of canvas.\n * @return {fabric.Point} \n */\n getCenterPoint: function () {\n return new fabric.Point(this.width / 2, this.height / 2);\n },\n\n /**\n * Centers object horizontally in the canvas\n * @param {fabric.Object} object Object to center horizontally\n * @return {fabric.Canvas} thisArg\n */\n centerObjectH: function (object) {\n return this._centerObject(object, new fabric.Point(this.getCenterPoint().x, object.getCenterPoint().y));\n },\n\n /**\n * Centers object vertically in the canvas\n * @param {fabric.Object} object Object to center vertically\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n centerObjectV: function (object) {\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, this.getCenterPoint().y));\n },\n\n /**\n * Centers object vertically and horizontally in the canvas\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n centerObject: function(object) {\n var center = this.getCenterPoint();\n return this._centerObject(object, center);\n },\n\n /**\n * Centers object vertically and horizontally in the viewport\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObject: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, vpCenter);\n },\n\n /**\n * Centers object horizontally in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObjectH: function(object) {\n var vpCenter = this.getVpCenter();\n this._centerObject(object, new fabric.Point(vpCenter.x, object.getCenterPoint().y));\n return this;\n },\n\n /**\n * Centers object Vertically in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n viewportCenterObjectV: function(object) {\n var vpCenter = this.getVpCenter();\n\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, vpCenter.y));\n },\n\n /**\n * Calculate the point in canvas that correspond to the center of actual viewport.\n * @return {fabric.Point} vpCenter, viewport center\n * @chainable\n */\n getVpCenter: function() {\n var center = this.getCenterPoint(),\n iVpt = invertTransform(this.viewportTransform);\n return transformPoint(center, iVpt);\n },\n\n /**\n * @private\n * @param {fabric.Object} object Object to center\n * @param {fabric.Point} center Center point\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n _centerObject: function(object, center) {\n object.setPositionByOrigin(center, 'center', 'center');\n object.setCoords();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Returns dataless JSON representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {String} json string\n */\n toDatalessJSON: function (propertiesToInclude) {\n return this.toDatalessObject(propertiesToInclude);\n },\n\n /**\n * Returns object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function (propertiesToInclude) {\n return this._toObjectMethod('toObject', propertiesToInclude);\n },\n\n /**\n * Returns dataless object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function (propertiesToInclude) {\n return this._toObjectMethod('toDatalessObject', propertiesToInclude);\n },\n\n /**\n * @private\n */\n _toObjectMethod: function (methodName, propertiesToInclude) {\n\n var clipPath = this.clipPath, data = {\n version: fabric.version,\n objects: this._toObjects(methodName, propertiesToInclude),\n };\n if (clipPath && !clipPath.excludeFromExport) {\n data.clipPath = this._toObject(this.clipPath, methodName, propertiesToInclude);\n }\n extend(data, this.__serializeBgOverlay(methodName, propertiesToInclude));\n\n fabric.util.populateWithProperties(this, data, propertiesToInclude);\n\n return data;\n },\n\n /**\n * @private\n */\n _toObjects: function(methodName, propertiesToInclude) {\n return this._objects.filter(function(object) {\n return !object.excludeFromExport;\n }).map(function(instance) {\n return this._toObject(instance, methodName, propertiesToInclude);\n }, this);\n },\n\n /**\n * @private\n */\n _toObject: function(instance, methodName, propertiesToInclude) {\n var originalValue;\n\n if (!this.includeDefaultValues) {\n originalValue = instance.includeDefaultValues;\n instance.includeDefaultValues = false;\n }\n\n var object = instance[methodName](propertiesToInclude);\n if (!this.includeDefaultValues) {\n instance.includeDefaultValues = originalValue;\n }\n return object;\n },\n\n /**\n * @private\n */\n __serializeBgOverlay: function(methodName, propertiesToInclude) {\n var data = {}, bgImage = this.backgroundImage, overlayImage = this.overlayImage,\n bgColor = this.backgroundColor, overlayColor = this.overlayColor;\n\n if (bgColor && bgColor.toObject) {\n if (!bgColor.excludeFromExport) {\n data.background = bgColor.toObject(propertiesToInclude);\n }\n }\n else if (bgColor) {\n data.background = bgColor;\n }\n\n if (overlayColor && overlayColor.toObject) {\n if (!overlayColor.excludeFromExport) {\n data.overlay = overlayColor.toObject(propertiesToInclude);\n }\n }\n else if (overlayColor) {\n data.overlay = overlayColor;\n }\n\n if (bgImage && !bgImage.excludeFromExport) {\n data.backgroundImage = this._toObject(bgImage, methodName, propertiesToInclude);\n }\n if (overlayImage && !overlayImage.excludeFromExport) {\n data.overlayImage = this._toObject(overlayImage, methodName, propertiesToInclude);\n }\n\n return data;\n },\n\n \n\n /**\n * Moves an object or the objects of a multiple selection\n * to the bottom of the stack of drawn objects\n * @param {fabric.Object} object Object to send to back\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n sendToBack: function (object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, objs;\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = objs.length; i--;) {\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.unshift(obj);\n }\n }\n else {\n removeFromArray(this._objects, object);\n this._objects.unshift(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Moves an object or the objects of a multiple selection\n * to the top of the stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n bringToFront: function (object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, objs;\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = 0; i < objs.length; i++) {\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.push(obj);\n }\n }\n else {\n removeFromArray(this._objects, object);\n this._objects.push(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * Moves an object or a selection down in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in behind\n * the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n sendBackwards: function (object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, idx, newIdx, objs, objsMoved = 0;\n\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = 0; i < objs.length; i++) {\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx > 0 + objsMoved) {\n newIdx = idx - 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n }\n else {\n idx = this._objects.indexOf(object);\n if (idx !== 0) {\n // if object is not on the bottom of stack\n newIdx = this._findNewLowerIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * @private\n */\n _findNewLowerIndex: function(object, idx, intersecting) {\n var newIdx, i;\n\n if (intersecting) {\n newIdx = idx;\n\n // traverse down the stack looking for the nearest intersecting object\n for (i = idx - 1; i >= 0; --i) {\n\n var isIntersecting = object.intersectsWithObject(this._objects[i]) ||\n object.isContainedWithinObject(this._objects[i]) ||\n this._objects[i].isContainedWithinObject(object);\n\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n }\n else {\n newIdx = idx - 1;\n }\n\n return newIdx;\n },\n\n /**\n * Moves an object or a selection up in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in front\n * of the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n bringForward: function (object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject,\n i, obj, idx, newIdx, objs, objsMoved = 0;\n\n if (object === activeSelection && object.type === 'activeSelection') {\n objs = activeSelection._objects;\n for (i = objs.length; i--;) {\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx < this._objects.length - 1 - objsMoved) {\n newIdx = idx + 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n }\n else {\n idx = this._objects.indexOf(object);\n if (idx !== this._objects.length - 1) {\n // if object is not on top of stack (last item in an array)\n newIdx = this._findNewUpperIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n\n /**\n * @private\n */\n _findNewUpperIndex: function(object, idx, intersecting) {\n var newIdx, i, len;\n\n if (intersecting) {\n newIdx = idx;\n\n // traverse up the stack looking for the nearest intersecting object\n for (i = idx + 1, len = this._objects.length; i < len; ++i) {\n\n var isIntersecting = object.intersectsWithObject(this._objects[i]) ||\n object.isContainedWithinObject(this._objects[i]) ||\n this._objects[i].isContainedWithinObject(object);\n\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n }\n else {\n newIdx = idx + 1;\n }\n\n return newIdx;\n },\n\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @param {Number} index Position to move to\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n moveTo: function (object, index) {\n removeFromArray(this._objects, object);\n this._objects.splice(index, 0, object);\n return this.renderOnAddRemove && this.requestRenderAll();\n },\n\n /**\n * Clears a canvas element and dispose objects\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n dispose: function () {\n // cancel eventually ongoing renders\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n if (this.backgroundImage && this.backgroundImage.dispose) {\n this.backgroundImage.dispose();\n }\n this.backgroundImage = null;\n if (this.overlayImage && this.overlayImage.dispose) {\n this.overlayImage.dispose();\n }\n this.overlayImage = null;\n this._iTextInstances = null;\n this.contextContainer = null;\n // restore canvas style\n this.lowerCanvasEl.classList.remove('lower-canvas');\n fabric.util.setStyle(this.lowerCanvasEl, this._originalCanvasStyle);\n delete this._originalCanvasStyle;\n // restore canvas size to original size in case retina scaling was applied\n this.lowerCanvasEl.setAttribute('width', this.width);\n this.lowerCanvasEl.setAttribute('height', this.height);\n fabric.util.cleanUpJsdomNode(this.lowerCanvasEl);\n this.lowerCanvasEl = undefined;\n return this;\n },\n\n /**\n * Returns a string representation of an instance\n * @return {String} string representation of an instance\n */\n toString: function () {\n return '#';\n }\n });\n\n extend(fabric.StaticCanvas.prototype, fabric.Observable);\n extend(fabric.StaticCanvas.prototype, fabric.Collection);\n extend(fabric.StaticCanvas.prototype, fabric.DataURLExporter);\n\n extend(fabric.StaticCanvas, /** @lends fabric.StaticCanvas */ {\n\n /**\n * @static\n * @type String\n * @default\n */\n EMPTY_JSON: '{\"objects\": [], \"background\": \"white\"}',\n\n /**\n * Provides a way to check support of some of the canvas methods\n * (either those of HTMLCanvasElement itself, or rendering context)\n *\n * @param {String} methodName Method to check support for;\n * Could be one of \"setLineDash\"\n * @return {Boolean | null} `true` if method is supported (or at least exists),\n * `null` if canvas element or context can not be initialized\n */\n supports: function (methodName) {\n var el = createCanvasElement();\n\n if (!el || !el.getContext) {\n return null;\n }\n\n var ctx = el.getContext('2d');\n if (!ctx) {\n return null;\n }\n\n switch (methodName) {\n\n case 'setLineDash':\n return typeof ctx.setLineDash !== 'undefined';\n\n default:\n return null;\n }\n }\n });\n\n /**\n * Returns Object representation of canvas\n * this alias is provided because if you call JSON.stringify on an instance,\n * the toJSON object will be invoked if it exists.\n * Having a toJSON method means you can do JSON.stringify(myCanvas)\n * @function\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON compatible object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#serialization}\n * @see {@link http://jsfiddle.net/fabricjs/pec86/|jsFiddle demo}\n * @example JSON without additional properties\n * var json = canvas.toJSON();\n * @example JSON with additional properties included\n * var json = canvas.toJSON(['lockMovementX', 'lockMovementY', 'lockRotation', 'lockScalingX', 'lockScalingY']);\n * @example JSON without default values\n * canvas.includeDefaultValues = false;\n * var json = canvas.toJSON();\n */\n fabric.StaticCanvas.prototype.toJSON = fabric.StaticCanvas.prototype.toObject;\n\n if (fabric.isLikelyNode) {\n fabric.StaticCanvas.prototype.createPNGStream = function() {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createPNGStream();\n };\n fabric.StaticCanvas.prototype.createJPEGStream = function(opts) {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createJPEGStream(opts);\n };\n }\n})();\n/**\n * BaseBrush class\n * @class fabric.BaseBrush\n * @see {@link http://fabricjs.com/freedrawing|Freedrawing demo}\n */\nfabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype */ {\n\n /**\n * Color of a brush\n * @type String\n * @default\n */\n color: 'rgb(0, 0, 0)',\n\n /**\n * Width of a brush, has to be a Number, no string literals\n * @type Number\n * @default\n */\n width: 1,\n\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property replaces \"shadowColor\" (String), \"shadowOffsetX\" (Number),\n * \"shadowOffsetY\" (Number) and \"shadowBlur\" (Number) since v1.2.12\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * Line endings style of a brush (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */\n strokeLineCap: 'round',\n\n /**\n * Corner style of a brush (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */\n strokeLineJoin: 'round',\n\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of a brush's\n * @type Number\n * @default\n */\n strokeMiterLimit: 10,\n\n /**\n * Stroke Dash Array.\n * @type Array\n * @default\n */\n strokeDashArray: null,\n\n /**\n * When `true`, the free drawing is limited to the whiteboard size. Default to false.\n * @type Boolean\n * @default false\n */\n\n limitedToCanvasSize: false,\n\n\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function (ctx) {\n ctx.strokeStyle = this.color;\n ctx.lineWidth = this.width;\n ctx.lineCap = this.strokeLineCap;\n ctx.miterLimit = this.strokeMiterLimit;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.setLineDash(this.strokeDashArray || []);\n },\n\n /**\n * Sets the transformation on given context\n * @param {RenderingContext2d} ctx context to render on\n * @private\n */\n _saveAndTransform: function(ctx) {\n var v = this.canvas.viewportTransform;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n },\n\n /**\n * Sets brush shadow styles\n * @private\n */\n _setShadow: function() {\n if (!this.shadow) {\n return;\n }\n\n var canvas = this.canvas,\n shadow = this.shadow,\n ctx = canvas.contextTop,\n zoom = canvas.getZoom();\n if (canvas && canvas._isRetinaScaling()) {\n zoom *= fabric.devicePixelRatio;\n }\n\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * zoom;\n ctx.shadowOffsetX = shadow.offsetX * zoom;\n ctx.shadowOffsetY = shadow.offsetY * zoom;\n },\n\n needsFullRender: function() {\n var color = new fabric.Color(this.color);\n return color.getAlpha() < 1 || !!this.shadow;\n },\n\n /**\n * Removes brush shadow styles\n * @private\n */\n _resetShadow: function() {\n var ctx = this.canvas.contextTop;\n\n ctx.shadowColor = '';\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n\n /**\n * Check is pointer is outside canvas boundaries\n * @param {Object} pointer\n * @private\n */\n _isOutSideCanvas: function(pointer) {\n return pointer.x < 0 || pointer.x > this.canvas.getWidth() || pointer.y < 0 || pointer.y > this.canvas.getHeight();\n }\n});\n(function() {\n /**\n * PencilBrush class\n * @class fabric.PencilBrush\n * @extends fabric.BaseBrush\n */\n fabric.PencilBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.PencilBrush.prototype */ {\n\n /**\n * Discard points that are less than `decimate` pixel distant from each other\n * @type Number\n * @default 0.4\n */\n decimate: 0.4,\n\n /**\n * Draws a straight line between last recorded point to current pointer\n * Used for `shift` functionality\n *\n * @type boolean\n * @default false\n */\n drawStraightLine: false,\n\n /**\n * The event modifier key that makes the brush draw a straight line.\n * If `null` or 'none' or any other string that is not a modifier key the feature is disabled.\n * @type {'altKey' | 'shiftKey' | 'ctrlKey' | 'none' | undefined | null}\n */\n straightLineKey: 'shiftKey',\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.PencilBrush} Instance of a pencil brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this._points = [];\n },\n\n needsFullRender: function () {\n return this.callSuper('needsFullRender') || this._hasStraightLine;\n },\n\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */\n _drawSegment: function (ctx, p1, p2) {\n var midPoint = p1.midPointFrom(p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n return midPoint;\n },\n\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */\n onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n this._render();\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this._captureDrawingPath(pointer) && this._points.length > 1) {\n if (this.needsFullRender()) {\n // redraw curve\n // clear top canvas\n this.canvas.clearContext(this.canvas.contextTop);\n this._render();\n }\n else {\n var points = this._points, length = points.length, ctx = this.canvas.contextTop;\n // draw the curve update\n this._saveAndTransform(ctx);\n if (this.oldEnd) {\n ctx.beginPath();\n ctx.moveTo(this.oldEnd.x, this.oldEnd.y);\n }\n this.oldEnd = this._drawSegment(ctx, points[length - 2], points[length - 1], true);\n ctx.stroke();\n ctx.restore();\n }\n }\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function(options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return true;\n }\n this.drawStraightLine = false;\n this.oldEnd = undefined;\n this._finalizeAndAddPath();\n return false;\n },\n\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */\n _prepareForDrawing: function(pointer) {\n\n var p = new fabric.Point(pointer.x, pointer.y);\n\n this._reset();\n this._addPoint(p);\n this.canvas.contextTop.moveTo(p.x, p.y);\n },\n\n /**\n * @private\n * @param {fabric.Point} point Point to be added to points array\n */\n _addPoint: function(point) {\n if (this._points.length > 1 && point.eq(this._points[this._points.length - 1])) {\n return false;\n }\n if (this.drawStraightLine && this._points.length > 1) {\n this._hasStraightLine = true;\n this._points.pop();\n }\n this._points.push(point);\n return true;\n },\n\n /**\n * Clear points array and set contextTop canvas style.\n * @private\n */\n _reset: function() {\n this._points = [];\n this._setBrushStyles(this.canvas.contextTop);\n this._setShadow();\n this._hasStraightLine = false;\n },\n\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */\n _captureDrawingPath: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y);\n return this._addPoint(pointerPoint);\n },\n\n /**\n * Draw a smooth path on the topCanvas using quadraticCurveTo\n * @private\n * @param {CanvasRenderingContext2D} [ctx]\n */\n _render: function(ctx) {\n var i, len,\n p1 = this._points[0],\n p2 = this._points[1];\n ctx = ctx || this.canvas.contextTop;\n this._saveAndTransform(ctx);\n ctx.beginPath();\n //if we only have 2 points in the path and they are the same\n //it means that the user only clicked the canvas without moving the mouse\n //then we should be drawing a dot. A path isn't drawn between two identical dots\n //that's why we set them apart a bit\n if (this._points.length === 2 && p1.x === p2.x && p1.y === p2.y) {\n var width = this.width / 1000;\n p1 = new fabric.Point(p1.x, p1.y);\n p2 = new fabric.Point(p2.x, p2.y);\n p1.x -= width;\n p2.x += width;\n }\n ctx.moveTo(p1.x, p1.y);\n\n for (i = 1, len = this._points.length; i < len; i++) {\n // we pick the point between pi + 1 & pi + 2 as the\n // end point and p1 as our control point.\n this._drawSegment(ctx, p1, p2);\n p1 = this._points[i];\n p2 = this._points[i + 1];\n }\n // Draw last line as a straight line while\n // we wait for the next point to be able to calculate\n // the bezier control point\n ctx.lineTo(p1.x, p1.y);\n ctx.stroke();\n ctx.restore();\n },\n\n /**\n * Converts points to SVG path\n * @param {Array} points Array of points\n * @return {(string|number)[][]} SVG path commands\n */\n convertPointsToSVGPath: function (points) {\n var correction = this.width / 1000;\n return fabric.util.getSmoothPathFromPoints(points, correction);\n },\n\n /**\n * @private\n * @param {(string|number)[][]} pathData SVG path commands\n * @returns {boolean}\n */\n _isEmptySVGPath: function (pathData) {\n var pathString = fabric.util.joinPath(pathData);\n return pathString === 'M 0 0 Q 0 0 0 0 L 0 0';\n },\n\n /**\n * Creates fabric.Path object to add on canvas\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n */\n createPath: function(pathData) {\n var path = new fabric.Path(pathData, {\n fill: null,\n stroke: this.color,\n strokeWidth: this.width,\n strokeLineCap: this.strokeLineCap,\n strokeMiterLimit: this.strokeMiterLimit,\n strokeLineJoin: this.strokeLineJoin,\n strokeDashArray: this.strokeDashArray,\n });\n if (this.shadow) {\n this.shadow.affectStroke = true;\n path.shadow = new fabric.Shadow(this.shadow);\n }\n\n return path;\n },\n\n /**\n * Decimate points array with the decimate value\n */\n decimatePoints: function(points, distance) {\n if (points.length <= 2) {\n return points;\n }\n var zoom = this.canvas.getZoom(), adjustedDistance = Math.pow(distance / zoom, 2),\n i, l = points.length - 1, lastPoint = points[0], newPoints = [lastPoint],\n cDistance;\n for (i = 1; i < l - 1; i++) {\n cDistance = Math.pow(lastPoint.x - points[i].x, 2) + Math.pow(lastPoint.y - points[i].y, 2);\n if (cDistance >= adjustedDistance) {\n lastPoint = points[i];\n newPoints.push(lastPoint);\n }\n }\n /**\n * Add the last point from the original line to the end of the array.\n * This ensures decimate doesn't delete the last point on the line, and ensures the line is > 1 point.\n */\n newPoints.push(points[l]);\n return newPoints;\n },\n\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to the fabric canvas.\n */\n _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n var pathData = this.convertPointsToSVGPath(this._points);\n if (this._isEmptySVGPath(pathData)) {\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n this.canvas.requestRenderAll();\n return;\n }\n\n var path = this.createPath(pathData);\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.fire('before:path:created', { path: path });\n this.canvas.add(path);\n this.canvas.requestRenderAll();\n path.setCoords();\n this._resetShadow();\n\n\n // fire event 'path' created\n this.canvas.fire('path:created', { path: path });\n }\n });\n})();\n/**\n * CircleBrush class\n * @class fabric.CircleBrush\n */\nfabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.CircleBrush.prototype */ {\n\n /**\n * Width of a brush\n * @type Number\n * @default\n */\n width: 10,\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.CircleBrush} Instance of a circle brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this.points = [];\n },\n\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */\n drawDot: function(pointer) {\n var point = this.addPoint(pointer),\n ctx = this.canvas.contextTop;\n this._saveAndTransform(ctx);\n this.dot(ctx, point);\n ctx.restore();\n },\n\n dot: function(ctx, point) {\n ctx.fillStyle = point.fill;\n ctx.beginPath();\n ctx.arc(point.x, point.y, point.radius, 0, Math.PI * 2, false);\n ctx.closePath();\n ctx.fill();\n },\n\n /**\n * Invoked on mouse down\n */\n onMouseDown: function(pointer) {\n this.points.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.drawDot(pointer);\n },\n\n /**\n * Render the full state of the brush\n * @private\n */\n _render: function() {\n var ctx = this.canvas.contextTop, i, len,\n points = this.points;\n this._saveAndTransform(ctx);\n for (i = 0, len = points.length; i < len; i++) {\n this.dot(ctx, points[i]);\n }\n ctx.restore();\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this.needsFullRender()) {\n this.canvas.clearContext(this.canvas.contextTop);\n this.addPoint(pointer);\n this._render();\n }\n else {\n this.drawDot(pointer);\n }\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove, i, len;\n this.canvas.renderOnAddRemove = false;\n\n var circles = [];\n\n for (i = 0, len = this.points.length; i < len; i++) {\n var point = this.points[i],\n circle = new fabric.Circle({\n radius: point.radius,\n left: point.x,\n top: point.y,\n originX: 'center',\n originY: 'center',\n fill: point.fill\n });\n\n this.shadow && (circle.shadow = new fabric.Shadow(this.shadow));\n\n circles.push(circle);\n }\n var group = new fabric.Group(circles);\n group.canvas = this.canvas;\n\n this.canvas.fire('before:path:created', { path: group });\n this.canvas.add(group);\n this.canvas.fire('path:created', { path: group });\n\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n\n /**\n * @param {Object} pointer\n * @return {fabric.Point} Just added pointer point\n */\n addPoint: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y),\n\n circleRadius = fabric.util.getRandomInt(\n Math.max(0, this.width - 20), this.width + 20) / 2,\n\n circleColor = new fabric.Color(this.color)\n .setAlpha(fabric.util.getRandomInt(0, 100) / 100)\n .toRgba();\n\n pointerPoint.radius = circleRadius;\n pointerPoint.fill = circleColor;\n\n this.points.push(pointerPoint);\n\n return pointerPoint;\n }\n});\n/**\n * SprayBrush class\n * @class fabric.SprayBrush\n */\nfabric.SprayBrush = fabric.util.createClass( fabric.BaseBrush, /** @lends fabric.SprayBrush.prototype */ {\n\n /**\n * Width of a spray\n * @type Number\n * @default\n */\n width: 10,\n\n /**\n * Density of a spray (number of dots per chunk)\n * @type Number\n * @default\n */\n density: 20,\n\n /**\n * Width of spray dots\n * @type Number\n * @default\n */\n dotWidth: 1,\n\n /**\n * Width variance of spray dots\n * @type Number\n * @default\n */\n dotWidthVariance: 1,\n\n /**\n * Whether opacity of a dot should be random\n * @type Boolean\n * @default\n */\n randomOpacity: false,\n\n /**\n * Whether overlapping dots (rectangles) should be removed (for performance reasons)\n * @type Boolean\n * @default\n */\n optimizeOverlapping: true,\n\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.SprayBrush} Instance of a spray brush\n */\n initialize: function(canvas) {\n this.canvas = canvas;\n this.sprayChunks = [];\n },\n\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */\n onMouseDown: function(pointer) {\n this.sprayChunks.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */\n onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n\n /**\n * Invoked on mouse up\n */\n onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;\n this.canvas.renderOnAddRemove = false;\n\n var rects = [];\n\n for (var i = 0, ilen = this.sprayChunks.length; i < ilen; i++) {\n var sprayChunk = this.sprayChunks[i];\n\n for (var j = 0, jlen = sprayChunk.length; j < jlen; j++) {\n\n var rect = new fabric.Rect({\n width: sprayChunk[j].width,\n height: sprayChunk[j].width,\n left: sprayChunk[j].x + 1,\n top: sprayChunk[j].y + 1,\n originX: 'center',\n originY: 'center',\n fill: this.color\n });\n rects.push(rect);\n }\n }\n\n if (this.optimizeOverlapping) {\n rects = this._getOptimizedRects(rects);\n }\n\n var group = new fabric.Group(rects);\n this.shadow && group.set('shadow', new fabric.Shadow(this.shadow));\n this.canvas.fire('before:path:created', { path: group });\n this.canvas.add(group);\n this.canvas.fire('path:created', { path: group });\n\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n\n /**\n * @private\n * @param {Array} rects\n */\n _getOptimizedRects: function(rects) {\n\n // avoid creating duplicate rects at the same coordinates\n var uniqueRects = { }, key, i, len;\n\n for (i = 0, len = rects.length; i < len; i++) {\n key = rects[i].left + '' + rects[i].top;\n if (!uniqueRects[key]) {\n uniqueRects[key] = rects[i];\n }\n }\n var uniqueRectsArray = [];\n for (key in uniqueRects) {\n uniqueRectsArray.push(uniqueRects[key]);\n }\n\n return uniqueRectsArray;\n },\n\n /**\n * Render new chunk of spray brush\n */\n render: function(sprayChunk) {\n var ctx = this.canvas.contextTop, i, len;\n ctx.fillStyle = this.color;\n\n this._saveAndTransform(ctx);\n\n for (i = 0, len = sprayChunk.length; i < len; i++) {\n var point = sprayChunk[i];\n if (typeof point.opacity !== 'undefined') {\n ctx.globalAlpha = point.opacity;\n }\n ctx.fillRect(point.x, point.y, point.width, point.width);\n }\n ctx.restore();\n },\n\n /**\n * Render all spray chunks\n */\n _render: function() {\n var ctx = this.canvas.contextTop, i, ilen;\n ctx.fillStyle = this.color;\n\n this._saveAndTransform(ctx);\n\n for (i = 0, ilen = this.sprayChunks.length; i < ilen; i++) {\n this.render(this.sprayChunks[i]);\n }\n ctx.restore();\n },\n\n /**\n * @param {Object} pointer\n */\n addSprayChunk: function(pointer) {\n this.sprayChunkPoints = [];\n\n var x, y, width, radius = this.width / 2, i;\n\n for (i = 0; i < this.density; i++) {\n\n x = fabric.util.getRandomInt(pointer.x - radius, pointer.x + radius);\n y = fabric.util.getRandomInt(pointer.y - radius, pointer.y + radius);\n\n if (this.dotWidthVariance) {\n width = fabric.util.getRandomInt(\n // bottom clamp width to 1\n Math.max(1, this.dotWidth - this.dotWidthVariance),\n this.dotWidth + this.dotWidthVariance);\n }\n else {\n width = this.dotWidth;\n }\n\n var point = new fabric.Point(x, y);\n point.width = width;\n\n if (this.randomOpacity) {\n point.opacity = fabric.util.getRandomInt(0, 100) / 100;\n }\n\n this.sprayChunkPoints.push(point);\n }\n\n this.sprayChunks.push(this.sprayChunkPoints);\n }\n});\n/**\n * PatternBrush class\n * @class fabric.PatternBrush\n * @extends fabric.BaseBrush\n */\nfabric.PatternBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.PatternBrush.prototype */ {\n\n getPatternSrc: function() {\n\n var dotWidth = 20,\n dotDistance = 5,\n patternCanvas = fabric.util.createCanvasElement(),\n patternCtx = patternCanvas.getContext('2d');\n\n patternCanvas.width = patternCanvas.height = dotWidth + dotDistance;\n\n patternCtx.fillStyle = this.color;\n patternCtx.beginPath();\n patternCtx.arc(dotWidth / 2, dotWidth / 2, dotWidth / 2, 0, Math.PI * 2, false);\n patternCtx.closePath();\n patternCtx.fill();\n\n return patternCanvas;\n },\n\n getPatternSrcFunction: function() {\n return String(this.getPatternSrc).replace('this.color', '\"' + this.color + '\"');\n },\n\n /**\n * Creates \"pattern\" instance property\n * @param {CanvasRenderingContext2D} ctx\n */\n getPattern: function(ctx) {\n return ctx.createPattern(this.source || this.getPatternSrc(), 'repeat');\n },\n\n /**\n * Sets brush styles\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function(ctx) {\n this.callSuper('_setBrushStyles', ctx);\n ctx.strokeStyle = this.getPattern(ctx);\n },\n\n /**\n * Creates path\n */\n createPath: function(pathData) {\n var path = this.callSuper('createPath', pathData),\n topLeft = path._getLeftTopCoords().scalarAdd(path.strokeWidth / 2);\n\n path.stroke = new fabric.Pattern({\n source: this.source || this.getPatternSrcFunction(),\n offsetX: -topLeft.x,\n offsetY: -topLeft.y\n });\n return path;\n }\n});\n(function() {\n\n var getPointer = fabric.util.getPointer,\n degreesToRadians = fabric.util.degreesToRadians,\n isTouchEvent = fabric.util.isTouchEvent;\n\n /**\n * Canvas class\n * @class fabric.Canvas\n * @extends fabric.StaticCanvas\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#canvas}\n * @see {@link fabric.Canvas#initialize} for constructor definition\n *\n * @fires object:modified at the end of a transform or any change when statefull is true\n * @fires object:rotating while an object is being rotated from the control\n * @fires object:scaling while an object is being scaled by controls\n * @fires object:moving while an object is being dragged\n * @fires object:skewing while an object is being skewed from the controls\n *\n * @fires before:transform before a transform is is started\n * @fires before:selection:cleared\n * @fires selection:cleared\n * @fires selection:updated\n * @fires selection:created\n *\n * @fires path:created after a drawing operation ends and the path is added\n * @fires mouse:down\n * @fires mouse:move\n * @fires mouse:up\n * @fires mouse:down:before on mouse down, before the inner fabric logic runs\n * @fires mouse:move:before on mouse move, before the inner fabric logic runs\n * @fires mouse:up:before on mouse up, before the inner fabric logic runs\n * @fires mouse:over\n * @fires mouse:out\n * @fires mouse:dblclick whenever a native dbl click event fires on the canvas.\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop:before before drop event. same native event. This is added to handle edge cases\n * @fires drop\n * @fires after:render at the end of the render process, receives the context in the callback\n * @fires before:render at start the render process, receives the context in the callback\n *\n */\n fabric.Canvas = fabric.util.createClass(fabric.StaticCanvas, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(el, options) {\n options || (options = { });\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n this._initInteractive();\n this._createCacheCanvas();\n },\n\n /**\n * When true, objects can be transformed by one side (unproportionally)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @default\n * @since fabric 4.0 // changed name and default value\n */\n uniformScaling: true,\n\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type String\n * @default\n */\n uniScaleKey: 'shiftKey',\n\n /**\n * When true, objects use center point as the origin of scale transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredScaling: false,\n\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredRotation: false,\n\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */\n centeredKey: 'altKey',\n\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */\n altActionKey: 'shiftKey',\n\n /**\n * Indicates that canvas is interactive. This property should not be changed.\n * @type Boolean\n * @default\n */\n interactive: true,\n\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n * @default\n */\n selection: true,\n\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type String|Array\n * @default\n */\n selectionKey: 'shiftKey',\n\n /**\n * Indicates which key enable alternative selection\n * in case of target overlapping with active object\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|String\n * @default\n */\n altSelectionKey: null,\n\n /**\n * Color of selection\n * @type String\n * @default\n */\n selectionColor: 'rgba(100, 100, 255, 0.3)', // blue\n\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */\n selectionDashArray: [],\n\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n * @default\n */\n selectionBorderColor: 'rgba(255, 255, 255, 0.3)',\n\n /**\n * Width of a line used in object/group selection\n * @type Number\n * @default\n */\n selectionLineWidth: 1,\n\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n * @default\n */\n selectionFullyContained: false,\n\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type String\n * @default\n */\n hoverCursor: 'move',\n\n /**\n * Default cursor value used when moving an object on canvas\n * @type String\n * @default\n */\n moveCursor: 'move',\n\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default\n */\n defaultCursor: 'default',\n\n /**\n * Cursor value used during free drawing\n * @type String\n * @default\n */\n freeDrawingCursor: 'crosshair',\n\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default\n */\n notAllowedCursor: 'not-allowed',\n\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @default\n */\n containerClass: 'canvas-container',\n\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n * @default\n */\n perPixelTargetFind: false,\n\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n * @default\n */\n targetFindTolerance: 0,\n\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n * @default\n */\n skipTargetFind: false,\n\n /**\n * When true, mouse events on canvas (mousedown/mousemove/mouseup) result in free drawing.\n * After mousedown, mousemove creates a shape,\n * and then mouseup finalizes it and adds an instance of `fabric.Path` onto canvas.\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-4#free_drawing}\n * @type Boolean\n * @default\n */\n isDrawingMode: false,\n\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default\n */\n preserveObjectStacking: false,\n\n /**\n * Indicates the angle that an object will lock to while rotating.\n * @type Number\n * @since 1.6.7\n * @default\n */\n snapAngle: 0,\n\n /**\n * Indicates the distance from the snapAngle the rotation will lock to the snapAngle.\n * When `null`, the snapThreshold will default to the snapAngle.\n * @type null|Number\n * @since 1.6.7\n * @default\n */\n snapThreshold: null,\n\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n * @default\n */\n stopContextMenu: false,\n\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n * @default\n */\n fireRightClick: false,\n\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n * @default\n */\n fireMiddleClick: false,\n\n /**\n * Keep track of the subTargets for Mouse Events\n * @type fabric.Object[]\n */\n targets: [],\n\n /**\n * When the option is enabled, PointerEvent is used instead of MouseEvent.\n * @type Boolean\n * @default\n */\n enablePointerEvents: false,\n\n /**\n * Keep track of the hovered target\n * @type fabric.Object\n * @private\n */\n _hoveredTarget: null,\n\n /**\n * hold the list of nested targets hovered\n * @type fabric.Object[]\n * @private\n */\n _hoveredTargets: [],\n\n /**\n * @private\n */\n _initInteractive: function() {\n this._currentTransform = null;\n this._groupSelector = null;\n this._initWrapperElement();\n this._createUpperCanvas();\n this._initEventListeners();\n\n this._initRetinaScaling();\n\n this.freeDrawingBrush = fabric.PencilBrush && new fabric.PencilBrush(this);\n\n this.calcOffset();\n },\n\n /**\n * Divides objects in two groups, one to render immediately\n * and one to render as activeGroup.\n * @return {Array} objects to render immediately and pushes the other in the activeGroup.\n */\n _chooseObjectsToRender: function() {\n var activeObjects = this.getActiveObjects(),\n object, objsToRender, activeGroupObjects;\n\n if (activeObjects.length > 0 && !this.preserveObjectStacking) {\n objsToRender = [];\n activeGroupObjects = [];\n for (var i = 0, length = this._objects.length; i < length; i++) {\n object = this._objects[i];\n if (activeObjects.indexOf(object) === -1 ) {\n objsToRender.push(object);\n }\n else {\n activeGroupObjects.push(object);\n }\n }\n if (activeObjects.length > 1) {\n this._activeObject._objects = activeGroupObjects;\n }\n objsToRender.push.apply(objsToRender, activeGroupObjects);\n }\n else {\n objsToRender = this._objects;\n }\n return objsToRender;\n },\n\n /**\n * Renders both the top canvas and the secondary container canvas.\n * @return {fabric.Canvas} instance\n * @chainable\n */\n renderAll: function () {\n if (this.contextTopDirty && !this._groupSelector && !this.isDrawingMode) {\n this.clearContext(this.contextTop);\n this.contextTopDirty = false;\n }\n if (this.hasLostContext) {\n this.renderTopLayer(this.contextTop);\n this.hasLostContext = false;\n }\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._chooseObjectsToRender());\n return this;\n },\n\n renderTopLayer: function(ctx) {\n ctx.save();\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._render();\n this.contextTopDirty = true;\n }\n // we render the top context - last object\n if (this.selection && this._groupSelector) {\n this._drawSelection(ctx);\n this.contextTopDirty = true;\n }\n ctx.restore();\n },\n\n /**\n * Method to render only the top canvas.\n * Also used to render the group selection box.\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n renderTop: function () {\n var ctx = this.contextTop;\n this.clearContext(ctx);\n this.renderTopLayer(ctx);\n this.fire('after:render');\n return this;\n },\n\n /**\n * @private\n */\n _normalizePointer: function (object, pointer) {\n var m = object.calcTransformMatrix(),\n invertedM = fabric.util.invertTransform(m),\n vptPointer = this.restorePointerVpt(pointer);\n return fabric.util.transformPoint(vptPointer, invertedM);\n },\n\n /**\n * Returns true if object is transparent at a certain location\n * @param {fabric.Object} target Object to check\n * @param {Number} x Left coordinate\n * @param {Number} y Top coordinate\n * @return {Boolean}\n */\n isTargetTransparent: function (target, x, y) {\n // in case the target is the activeObject, we cannot execute this optimization\n // because we need to draw controls too.\n if (target.shouldCache() && target._cacheCanvas && target !== this._activeObject) {\n var normalizedPointer = this._normalizePointer(target, {x: x, y: y}),\n targetRelativeX = Math.max(target.cacheTranslationX + (normalizedPointer.x * target.zoomX), 0),\n targetRelativeY = Math.max(target.cacheTranslationY + (normalizedPointer.y * target.zoomY), 0);\n\n var isTransparent = fabric.util.isTransparent(\n target._cacheContext, Math.round(targetRelativeX), Math.round(targetRelativeY), this.targetFindTolerance);\n\n return isTransparent;\n }\n\n var ctx = this.contextCache,\n originalColor = target.selectionBackgroundColor, v = this.viewportTransform;\n\n target.selectionBackgroundColor = '';\n\n this.clearContext(ctx);\n\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n target.render(ctx);\n ctx.restore();\n\n target.selectionBackgroundColor = originalColor;\n\n var isTransparent = fabric.util.isTransparent(\n ctx, x, y, this.targetFindTolerance);\n\n return isTransparent;\n },\n\n /**\n * takes an event and determines if selection key has been pressed\n * @private\n * @param {Event} e Event object\n */\n _isSelectionKeyPressed: function(e) {\n var selectionKeyPressed = false;\n\n if (Array.isArray(this.selectionKey)) {\n selectionKeyPressed = !!this.selectionKey.find(function(key) { return e[key] === true; });\n }\n else {\n selectionKeyPressed = e[this.selectionKey];\n }\n\n return selectionKeyPressed;\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _shouldClearSelection: function (e, target) {\n var activeObjects = this.getActiveObjects(),\n activeObject = this._activeObject;\n\n return (\n !target\n ||\n (target &&\n activeObject &&\n activeObjects.length > 1 &&\n activeObjects.indexOf(target) === -1 &&\n activeObject !== target &&\n !this._isSelectionKeyPressed(e))\n ||\n (target && !target.evented)\n ||\n (target &&\n !target.selectable &&\n activeObject &&\n activeObject !== target)\n );\n },\n\n /**\n * centeredScaling from object can't override centeredScaling from canvas.\n * this should be fixed, since object setting should take precedence over canvas.\n * also this should be something that will be migrated in the control properties.\n * as ability to define the origin of the transformation that the control provide.\n * @private\n * @param {fabric.Object} target\n * @param {String} action\n * @param {Boolean} altKey\n */\n _shouldCenterTransform: function (target, action, altKey) {\n if (!target) {\n return;\n }\n\n var centerTransform;\n\n if (action === 'scale' || action === 'scaleX' || action === 'scaleY' || action === 'resizing') {\n centerTransform = this.centeredScaling || target.centeredScaling;\n }\n else if (action === 'rotate') {\n centerTransform = this.centeredRotation || target.centeredRotation;\n }\n\n return centerTransform ? !altKey : altKey;\n },\n\n /**\n * should disappear before release 4.0\n * @private\n */\n _getOriginFromCorner: function(target, corner) {\n var origin = {\n x: target.originX,\n y: target.originY\n };\n\n if (corner === 'ml' || corner === 'tl' || corner === 'bl') {\n origin.x = 'right';\n }\n else if (corner === 'mr' || corner === 'tr' || corner === 'br') {\n origin.x = 'left';\n }\n\n if (corner === 'tl' || corner === 'mt' || corner === 'tr') {\n origin.y = 'bottom';\n }\n else if (corner === 'bl' || corner === 'mb' || corner === 'br') {\n origin.y = 'top';\n }\n return origin;\n },\n\n /**\n * @private\n * @param {Boolean} alreadySelected true if target is already selected\n * @param {String} corner a string representing the corner ml, mr, tl ...\n * @param {Event} e Event object\n * @param {fabric.Object} [target] inserted back to help overriding. Unused\n */\n _getActionFromCorner: function(alreadySelected, corner, e, target) {\n if (!corner || !alreadySelected) {\n return 'drag';\n }\n var control = target.controls[corner];\n return control.getActionName(e, control, target);\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _setupCurrentTransform: function (e, target, alreadySelected) {\n if (!target) {\n return;\n }\n\n var pointer = this.getPointer(e), corner = target.__corner,\n control = target.controls[corner],\n actionHandler = (alreadySelected && corner) ?\n control.getActionHandler(e, target, control) : fabric.controlsUtils.dragHandler,\n action = this._getActionFromCorner(alreadySelected, corner, e, target),\n origin = this._getOriginFromCorner(target, corner),\n altKey = e[this.centeredKey],\n transform = {\n target: target,\n action: action,\n actionHandler: actionHandler,\n corner: corner,\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n // used by transation\n offsetX: pointer.x - target.left,\n offsetY: pointer.y - target.top,\n originX: origin.x,\n originY: origin.y,\n ex: pointer.x,\n ey: pointer.y,\n lastX: pointer.x,\n lastY: pointer.y,\n // unsure they are useful anymore.\n // left: target.left,\n // top: target.top,\n theta: degreesToRadians(target.angle),\n // end of unsure\n width: target.width * target.scaleX,\n shiftKey: e.shiftKey,\n altKey: altKey,\n original: fabric.util.saveObjectTransform(target),\n };\n\n if (this._shouldCenterTransform(target, action, altKey)) {\n transform.originX = 'center';\n transform.originY = 'center';\n }\n transform.original.originX = origin.x;\n transform.original.originY = origin.y;\n this._currentTransform = transform;\n this._beforeTransform(e);\n },\n\n /**\n * Set the cursor type of the canvas element\n * @param {String} value Cursor type of the canvas element.\n * @see http://www.w3.org/TR/css3-ui/#cursor\n */\n setCursor: function (value) {\n this.upperCanvasEl.style.cursor = value;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx to draw the selection on\n */\n _drawSelection: function (ctx) {\n var selector = this._groupSelector,\n viewportStart = new fabric.Point(selector.ex, selector.ey),\n start = fabric.util.transformPoint(viewportStart, this.viewportTransform),\n viewportExtent = new fabric.Point(selector.ex + selector.left, selector.ey + selector.top),\n extent = fabric.util.transformPoint(viewportExtent, this.viewportTransform),\n minX = Math.min(start.x, extent.x),\n minY = Math.min(start.y, extent.y),\n maxX = Math.max(start.x, extent.x),\n maxY = Math.max(start.y, extent.y),\n strokeOffset = this.selectionLineWidth / 2;\n\n if (this.selectionColor) {\n ctx.fillStyle = this.selectionColor;\n ctx.fillRect(minX, minY, maxX - minX, maxY - minY);\n }\n\n if (!this.selectionLineWidth || !this.selectionBorderColor) {\n return;\n }\n ctx.lineWidth = this.selectionLineWidth;\n ctx.strokeStyle = this.selectionBorderColor;\n\n minX += strokeOffset;\n minY += strokeOffset;\n maxX -= strokeOffset;\n maxY -= strokeOffset;\n // selection border\n fabric.Object.prototype._setLineDash.call(this, ctx, this.selectionDashArray);\n ctx.strokeRect(minX, minY, maxX - minX, maxY - minY);\n },\n\n /**\n * Method that determines what object we are clicking on\n * the skipGroup parameter is for internal use, is needed for shift+click action\n * 11/09/2018 TODO: would be cool if findTarget could discern between being a full target\n * or the outside part of the corner.\n * @param {Event} e mouse event\n * @param {Boolean} skipGroup when true, activeGroup is skipped and only objects are traversed through\n * @return {fabric.Object} the target found\n */\n findTarget: function (e, skipGroup) {\n if (this.skipTargetFind) {\n return;\n }\n\n var ignoreZoom = true,\n pointer = this.getPointer(e, ignoreZoom),\n activeObject = this._activeObject,\n aObjects = this.getActiveObjects(),\n activeTarget, activeTargetSubs,\n isTouch = isTouchEvent(e),\n shouldLookForActive = (aObjects.length > 1 && !skipGroup) || aObjects.length === 1;\n\n // first check current group (if one exists)\n // active group does not check sub targets like normal groups.\n // if active group just exits.\n this.targets = [];\n\n // if we hit the corner of an activeObject, let's return that.\n if (shouldLookForActive && activeObject._findTargetCorner(pointer, isTouch)) {\n return activeObject;\n }\n if (aObjects.length > 1 && !skipGroup && activeObject === this._searchPossibleTargets([activeObject], pointer)) {\n return activeObject;\n }\n if (aObjects.length === 1 &&\n activeObject === this._searchPossibleTargets([activeObject], pointer)) {\n if (!this.preserveObjectStacking) {\n return activeObject;\n }\n else {\n activeTarget = activeObject;\n activeTargetSubs = this.targets;\n this.targets = [];\n }\n }\n var target = this._searchPossibleTargets(this._objects, pointer);\n if (e[this.altSelectionKey] && target && activeTarget && target !== activeTarget) {\n target = activeTarget;\n this.targets = activeTargetSubs;\n }\n return target;\n },\n\n /**\n * Checks point is inside the object.\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @param {fabric.Object} obj Object to test against\n * @param {Object} [globalPointer] x,y object of point coordinates relative to canvas used to search per pixel target.\n * @return {Boolean} true if point is contained within an area of given object\n * @private\n */\n _checkTarget: function(pointer, obj, globalPointer) {\n if (obj &&\n obj.visible &&\n obj.evented &&\n // http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/u32.html\n // http://idav.ucdavis.edu/~okreylos/TAship/Spring2000/PointInPolygon.html\n obj.containsPoint(pointer)\n ) {\n if ((this.perPixelTargetFind || obj.perPixelTargetFind) && !obj.isEditing) {\n var isTransparent = this.isTargetTransparent(obj, globalPointer.x, globalPointer.y);\n if (!isTransparent) {\n return true;\n }\n }\n else {\n return true;\n }\n }\n },\n\n /**\n * Function used to search inside objects an object that contains pointer in bounding box or that contains pointerOnCanvas when painted\n * @param {Array} [objects] objects array to look into\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @return {fabric.Object} object that contains pointer\n * @private\n */\n _searchPossibleTargets: function(objects, pointer) {\n // Cache all targets where their bounding box contains point.\n var target, i = objects.length, subTarget;\n // Do not check for currently grouped objects, since we check the parent group itself.\n // until we call this function specifically to search inside the activeGroup\n while (i--) {\n var objToCheck = objects[i];\n var pointerToUse = objToCheck.group ?\n this._normalizePointer(objToCheck.group, pointer) : pointer;\n if (this._checkTarget(pointerToUse, objToCheck, pointer)) {\n target = objects[i];\n if (target.subTargetCheck && target instanceof fabric.Group) {\n subTarget = this._searchPossibleTargets(target._objects, pointer);\n subTarget && this.targets.push(subTarget);\n }\n break;\n }\n }\n return target;\n },\n\n /**\n * Returns pointer coordinates without the effect of the viewport\n * @param {Object} pointer with \"x\" and \"y\" number values\n * @return {Object} object with \"x\" and \"y\" number values\n */\n restorePointerVpt: function(pointer) {\n return fabric.util.transformPoint(\n pointer,\n fabric.util.invertTransform(this.viewportTransform)\n );\n },\n\n /**\n * Returns pointer coordinates relative to canvas.\n * Can return coordinates with or without viewportTransform.\n * ignoreZoom false gives back coordinates that represent\n * the point clicked on canvas element.\n * ignoreZoom true gives back coordinates after being processed\n * by the viewportTransform ( sort of coordinates of what is displayed\n * on the canvas where you are clicking.\n * ignoreZoom true = HTMLElement coordinates relative to top,left\n * ignoreZoom false, default = fabric space coordinates, the same used for shape position\n * To interact with your shapes top and left you want to use ignoreZoom true\n * most of the time, while ignoreZoom false will give you coordinates\n * compatible with the object.oCoords system.\n * of the time.\n * @param {Event} e\n * @param {Boolean} ignoreZoom\n * @return {Object} object with \"x\" and \"y\" number values\n */\n getPointer: function (e, ignoreZoom) {\n // return cached values if we are in the event processing chain\n if (this._absolutePointer && !ignoreZoom) {\n return this._absolutePointer;\n }\n if (this._pointer && ignoreZoom) {\n return this._pointer;\n }\n\n var pointer = getPointer(e),\n upperCanvasEl = this.upperCanvasEl,\n bounds = upperCanvasEl.getBoundingClientRect(),\n boundsWidth = bounds.width || 0,\n boundsHeight = bounds.height || 0,\n cssScale;\n\n if (!boundsWidth || !boundsHeight ) {\n if ('top' in bounds && 'bottom' in bounds) {\n boundsHeight = Math.abs( bounds.top - bounds.bottom );\n }\n if ('right' in bounds && 'left' in bounds) {\n boundsWidth = Math.abs( bounds.right - bounds.left );\n }\n }\n\n this.calcOffset();\n pointer.x = pointer.x - this._offset.left;\n pointer.y = pointer.y - this._offset.top;\n if (!ignoreZoom) {\n pointer = this.restorePointerVpt(pointer);\n }\n\n var retinaScaling = this.getRetinaScaling();\n if (retinaScaling !== 1) {\n pointer.x /= retinaScaling;\n pointer.y /= retinaScaling;\n }\n\n if (boundsWidth === 0 || boundsHeight === 0) {\n // If bounds are not available (i.e. not visible), do not apply scale.\n cssScale = { width: 1, height: 1 };\n }\n else {\n cssScale = {\n width: upperCanvasEl.width / boundsWidth,\n height: upperCanvasEl.height / boundsHeight\n };\n }\n\n return {\n x: pointer.x * cssScale.width,\n y: pointer.y * cssScale.height\n };\n },\n\n /**\n * @private\n * @throws {CANVAS_INIT_ERROR} If canvas can not be initialized\n */\n _createUpperCanvas: function () {\n var lowerCanvasClass = this.lowerCanvasEl.className.replace(/\\s*lower-canvas\\s*/, ''),\n lowerCanvasEl = this.lowerCanvasEl, upperCanvasEl = this.upperCanvasEl;\n\n // there is no need to create a new upperCanvas element if we have already one.\n if (upperCanvasEl) {\n upperCanvasEl.className = '';\n }\n else {\n upperCanvasEl = this._createCanvasElement();\n this.upperCanvasEl = upperCanvasEl;\n }\n fabric.util.addClass(upperCanvasEl, 'upper-canvas ' + lowerCanvasClass);\n\n this.wrapperEl.appendChild(upperCanvasEl);\n\n this._copyCanvasStyle(lowerCanvasEl, upperCanvasEl);\n this._applyCanvasStyle(upperCanvasEl);\n this.contextTop = upperCanvasEl.getContext('2d');\n },\n\n /**\n * Returns context of top canvas where interactions are drawn\n * @returns {CanvasRenderingContext2D}\n */\n getTopContext: function () {\n return this.contextTop;\n },\n\n /**\n * @private\n */\n _createCacheCanvas: function () {\n this.cacheCanvasEl = this._createCanvasElement();\n this.cacheCanvasEl.setAttribute('width', this.width);\n this.cacheCanvasEl.setAttribute('height', this.height);\n this.contextCache = this.cacheCanvasEl.getContext('2d');\n },\n\n /**\n * @private\n */\n _initWrapperElement: function () {\n this.wrapperEl = fabric.util.wrapElement(this.lowerCanvasEl, 'div', {\n 'class': this.containerClass\n });\n fabric.util.setStyle(this.wrapperEl, {\n width: this.width + 'px',\n height: this.height + 'px',\n position: 'relative'\n });\n fabric.util.makeElementUnselectable(this.wrapperEl);\n },\n\n /**\n * @private\n * @param {HTMLElement} element canvas element to apply styles on\n */\n _applyCanvasStyle: function (element) {\n var width = this.width || element.width,\n height = this.height || element.height;\n\n fabric.util.setStyle(element, {\n position: 'absolute',\n width: width + 'px',\n height: height + 'px',\n left: 0,\n top: 0,\n 'touch-action': this.allowTouchScrolling ? 'manipulation' : 'none',\n '-ms-touch-action': this.allowTouchScrolling ? 'manipulation' : 'none'\n });\n element.width = width;\n element.height = height;\n fabric.util.makeElementUnselectable(element);\n },\n\n /**\n * Copy the entire inline style from one element (fromEl) to another (toEl)\n * @private\n * @param {Element} fromEl Element style is copied from\n * @param {Element} toEl Element copied style is applied to\n */\n _copyCanvasStyle: function (fromEl, toEl) {\n toEl.style.cssText = fromEl.style.cssText;\n },\n\n /**\n * Returns context of canvas where object selection is drawn\n * @return {CanvasRenderingContext2D}\n */\n getSelectionContext: function() {\n return this.contextTop;\n },\n\n /**\n * Returns <canvas> element on which object selection is drawn\n * @return {HTMLCanvasElement}\n */\n getSelectionElement: function () {\n return this.upperCanvasEl;\n },\n\n /**\n * Returns currently active object\n * @return {fabric.Object} active object\n */\n getActiveObject: function () {\n return this._activeObject;\n },\n\n /**\n * Returns an array with the current selected objects\n * @return {fabric.Object} active object\n */\n getActiveObjects: function () {\n var active = this._activeObject;\n if (active) {\n if (active.type === 'activeSelection' && active._objects) {\n return active._objects.slice(0);\n }\n else {\n return [active];\n }\n }\n return [];\n },\n\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */\n _onObjectRemoved: function(obj) {\n // removing active object should fire \"selection:cleared\" events\n if (obj === this._activeObject) {\n this.fire('before:selection:cleared', { target: obj });\n this._discardActiveObject();\n this.fire('selection:cleared', { target: obj });\n obj.fire('deselected');\n }\n if (obj === this._hoveredTarget){\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n this.callSuper('_onObjectRemoved', obj);\n },\n\n /**\n * @private\n * Compares the old activeObject with the current one and fires correct events\n * @param {fabric.Object} obj old activeObject\n */\n _fireSelectionEvents: function(oldObjects, e) {\n var somethingChanged = false, objects = this.getActiveObjects(),\n added = [], removed = [];\n oldObjects.forEach(function(oldObject) {\n if (objects.indexOf(oldObject) === -1) {\n somethingChanged = true;\n oldObject.fire('deselected', {\n e: e,\n target: oldObject\n });\n removed.push(oldObject);\n }\n });\n objects.forEach(function(object) {\n if (oldObjects.indexOf(object) === -1) {\n somethingChanged = true;\n object.fire('selected', {\n e: e,\n target: object\n });\n added.push(object);\n }\n });\n if (oldObjects.length > 0 && objects.length > 0) {\n somethingChanged && this.fire('selection:updated', {\n e: e,\n selected: added,\n deselected: removed,\n });\n }\n else if (objects.length > 0) {\n this.fire('selection:created', {\n e: e,\n selected: added,\n });\n }\n else if (oldObjects.length > 0) {\n this.fire('selection:cleared', {\n e: e,\n deselected: removed,\n });\n }\n },\n\n /**\n * Sets given object as the only active object on canvas\n * @param {fabric.Object} object Object to set as an active one\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n setActiveObject: function (object, e) {\n var currentActives = this.getActiveObjects();\n this._setActiveObject(object, e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to setActiveObject but without firing\n * any event. There is commitment to have this stay this way.\n * This is the functional part of setActiveObject.\n * @private\n * @param {Object} object to set as active\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {Boolean} true if the selection happened\n */\n _setActiveObject: function(object, e) {\n if (this._activeObject === object) {\n return false;\n }\n if (!this._discardActiveObject(e, object)) {\n return false;\n }\n if (object.onSelect({ e: e })) {\n return false;\n }\n this._activeObject = object;\n return true;\n },\n\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to discardActiveObject but without firing\n * any events. There is commitment to have this stay this way.\n * This is the functional part of discardActiveObject.\n * @param {Event} [e] Event (passed along when firing \"object:deselected\")\n * @param {Object} object to set as active\n * @return {Boolean} true if the selection happened\n * @private\n */\n _discardActiveObject: function(e, object) {\n var obj = this._activeObject;\n if (obj) {\n // onDeselect return TRUE to cancel selection;\n if (obj.onDeselect({ e: e, object: object })) {\n return false;\n }\n this._activeObject = null;\n }\n return true;\n },\n\n /**\n * Discards currently active object and fire events. If the function is called by fabric\n * as a consequence of a mouse event, the event is passed as a parameter and\n * sent to the fire function for the custom events. When used as a method the\n * e param does not have any application.\n * @param {event} e\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n discardActiveObject: function (e) {\n var currentActives = this.getActiveObjects(), activeObject = this.getActiveObject();\n if (currentActives.length) {\n this.fire('before:selection:cleared', { target: activeObject, e: e });\n }\n this._discardActiveObject(e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n\n /**\n * Clears a canvas element and removes all event listeners\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n dispose: function () {\n var wrapper = this.wrapperEl;\n this.removeListeners();\n wrapper.removeChild(this.upperCanvasEl);\n wrapper.removeChild(this.lowerCanvasEl);\n this.contextCache = null;\n this.contextTop = null;\n ['upperCanvasEl', 'cacheCanvasEl'].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n if (wrapper.parentNode) {\n wrapper.parentNode.replaceChild(this.lowerCanvasEl, this.wrapperEl);\n }\n delete this.wrapperEl;\n fabric.StaticCanvas.prototype.dispose.call(this);\n return this;\n },\n\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */\n clear: function () {\n // this.discardActiveGroup();\n this.discardActiveObject();\n this.clearContext(this.contextTop);\n return this.callSuper('clear');\n },\n\n /**\n * Draws objects' controls (borders/controls)\n * @param {CanvasRenderingContext2D} ctx Context to render controls on\n */\n drawControls: function(ctx) {\n var activeObject = this._activeObject;\n\n if (activeObject) {\n activeObject._renderControls(ctx);\n }\n },\n\n /**\n * @private\n */\n _toObject: function(instance, methodName, propertiesToInclude) {\n //If the object is part of the current selection group, it should\n //be transformed appropriately\n //i.e. it should be serialised as it would appear if the selection group\n //were to be destroyed.\n var originalProperties = this._realizeGroupTransformOnObject(instance),\n object = this.callSuper('_toObject', instance, methodName, propertiesToInclude);\n //Undo the damage we did by changing all of its properties\n this._unwindGroupTransformOnObject(instance, originalProperties);\n return object;\n },\n\n /**\n * Realises an object's group transformation on it\n * @private\n * @param {fabric.Object} [instance] the object to transform (gets mutated)\n * @returns the original values of instance which were changed\n */\n _realizeGroupTransformOnObject: function(instance) {\n if (instance.group && instance.group.type === 'activeSelection' && this._activeObject === instance.group) {\n var layoutProps = ['angle', 'flipX', 'flipY', 'left', 'scaleX', 'scaleY', 'skewX', 'skewY', 'top'];\n //Copy all the positionally relevant properties across now\n var originalValues = {};\n layoutProps.forEach(function(prop) {\n originalValues[prop] = instance[prop];\n });\n fabric.util.addTransformToObject(instance, this._activeObject.calcOwnMatrix());\n return originalValues;\n }\n else {\n return null;\n }\n },\n\n /**\n * Restores the changed properties of instance\n * @private\n * @param {fabric.Object} [instance] the object to un-transform (gets mutated)\n * @param {Object} [originalValues] the original values of instance, as returned by _realizeGroupTransformOnObject\n */\n _unwindGroupTransformOnObject: function(instance, originalValues) {\n if (originalValues) {\n instance.set(originalValues);\n }\n },\n\n /**\n * @private\n */\n _setSVGObject: function(markup, instance, reviver) {\n //If the object is in a selection group, simulate what would happen to that\n //object when the group is deselected\n var originalProperties = this._realizeGroupTransformOnObject(instance);\n this.callSuper('_setSVGObject', markup, instance, reviver);\n this._unwindGroupTransformOnObject(instance, originalProperties);\n },\n\n setViewportTransform: function (vpt) {\n if (this.renderOnAddRemove && this._activeObject && this._activeObject.isEditing) {\n this._activeObject.clearContextTop();\n }\n fabric.StaticCanvas.prototype.setViewportTransform.call(this, vpt);\n }\n });\n\n // copying static properties manually to work around Opera's bug,\n // where \"prototype\" property is enumerable and overrides existing prototype\n for (var prop in fabric.StaticCanvas) {\n if (prop !== 'prototype') {\n fabric.Canvas[prop] = fabric.StaticCanvas[prop];\n }\n }\n})();\n(function() {\n\n var addListener = fabric.util.addListener,\n removeListener = fabric.util.removeListener,\n RIGHT_CLICK = 3, MIDDLE_CLICK = 2, LEFT_CLICK = 1,\n addEventOptions = { passive: false };\n\n function checkClick(e, value) {\n return e.button && (e.button === value - 1);\n }\n\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * Contains the id of the touch event that owns the fabric transform\n * @type Number\n * @private\n */\n mainTouchId: null,\n\n /**\n * Adds mouse listeners to canvas\n * @private\n */\n _initEventListeners: function () {\n // in case we initialized the class twice. This should not happen normally\n // but in some kind of applications where the canvas element may be changed\n // this is a workaround to having double listeners.\n this.removeListeners();\n this._bindEvents();\n this.addOrRemove(addListener, 'add');\n },\n\n /**\n * return an event prefix pointer or mouse.\n * @private\n */\n _getEventPrefix: function () {\n return this.enablePointerEvents ? 'pointer' : 'mouse';\n },\n\n addOrRemove: function(functor, eventjsFunctor) {\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n functor(fabric.window, 'resize', this._onResize);\n functor(canvasElement, eventTypePrefix + 'down', this._onMouseDown);\n functor(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n functor(canvasElement, eventTypePrefix + 'out', this._onMouseOut);\n functor(canvasElement, eventTypePrefix + 'enter', this._onMouseEnter);\n functor(canvasElement, 'wheel', this._onMouseWheel);\n functor(canvasElement, 'contextmenu', this._onContextMenu);\n functor(canvasElement, 'dblclick', this._onDoubleClick);\n functor(canvasElement, 'dragover', this._onDragOver);\n functor(canvasElement, 'dragenter', this._onDragEnter);\n functor(canvasElement, 'dragleave', this._onDragLeave);\n functor(canvasElement, 'drop', this._onDrop);\n if (!this.enablePointerEvents) {\n functor(canvasElement, 'touchstart', this._onTouchStart, addEventOptions);\n }\n if (typeof eventjs !== 'undefined' && eventjsFunctor in eventjs) {\n eventjs[eventjsFunctor](canvasElement, 'gesture', this._onGesture);\n eventjs[eventjsFunctor](canvasElement, 'drag', this._onDrag);\n eventjs[eventjsFunctor](canvasElement, 'orientation', this._onOrientationChange);\n eventjs[eventjsFunctor](canvasElement, 'shake', this._onShake);\n eventjs[eventjsFunctor](canvasElement, 'longpress', this._onLongPress);\n }\n },\n\n /**\n * Removes all event listeners\n */\n removeListeners: function() {\n this.addOrRemove(removeListener, 'remove');\n // if you dispose on a mouseDown, before mouse up, you need to clean document to...\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n removeListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n removeListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n },\n\n /**\n * @private\n */\n _bindEvents: function() {\n if (this.eventsBound) {\n // for any reason we pass here twice we do not want to bind events twice.\n return;\n }\n this._onMouseDown = this._onMouseDown.bind(this);\n this._onTouchStart = this._onTouchStart.bind(this);\n this._onMouseMove = this._onMouseMove.bind(this);\n this._onMouseUp = this._onMouseUp.bind(this);\n this._onTouchEnd = this._onTouchEnd.bind(this);\n this._onResize = this._onResize.bind(this);\n this._onGesture = this._onGesture.bind(this);\n this._onDrag = this._onDrag.bind(this);\n this._onShake = this._onShake.bind(this);\n this._onLongPress = this._onLongPress.bind(this);\n this._onOrientationChange = this._onOrientationChange.bind(this);\n this._onMouseWheel = this._onMouseWheel.bind(this);\n this._onMouseOut = this._onMouseOut.bind(this);\n this._onMouseEnter = this._onMouseEnter.bind(this);\n this._onContextMenu = this._onContextMenu.bind(this);\n this._onDoubleClick = this._onDoubleClick.bind(this);\n this._onDragOver = this._onDragOver.bind(this);\n this._onDragEnter = this._simpleEventHandler.bind(this, 'dragenter');\n this._onDragLeave = this._simpleEventHandler.bind(this, 'dragleave');\n this._onDrop = this._onDrop.bind(this);\n this.eventsBound = true;\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js gesture\n * @param {Event} [self] Inner Event object\n */\n _onGesture: function(e, self) {\n this.__onTransformGesture && this.__onTransformGesture(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js drag\n * @param {Event} [self] Inner Event object\n */\n _onDrag: function(e, self) {\n this.__onDrag && this.__onDrag(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on wheel event\n */\n _onMouseWheel: function(e) {\n this.__onMouseWheel(e);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseOut: function(e) {\n var target = this._hoveredTarget;\n this.fire('mouse:out', { target: target, e: e });\n this._hoveredTarget = null;\n target && target.fire('mouseout', { e: e });\n\n var _this = this;\n this._hoveredTargets.forEach(function(_target){\n _this.fire('mouse:out', { target: target, e: e });\n _target && target.fire('mouseout', { e: e });\n });\n this._hoveredTargets = [];\n\n if (this._iTextInstances) {\n this._iTextInstances.forEach(function(obj) {\n if (obj.isEditing) {\n obj.hiddenTextarea.focus();\n }\n });\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseenter\n */\n _onMouseEnter: function(e) {\n // This find target and consequent 'mouse:over' is used to\n // clear old instances on hovered target.\n // calling findTarget has the side effect of killing target.__corner.\n // as a short term fix we are not firing this if we are currently transforming.\n // as a long term fix we need to separate the action of finding a target with the\n // side effects we added to it.\n if (!this._currentTransform && !this.findTarget(e)) {\n this.fire('mouse:over', { target: null, e: e });\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js orientation change\n * @param {Event} [self] Inner Event object\n */\n _onOrientationChange: function(e, self) {\n this.__onOrientationChange && this.__onOrientationChange(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */\n _onShake: function(e, self) {\n this.__onShake && this.__onShake(e, self);\n },\n\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */\n _onLongPress: function(e, self) {\n this.__onLongPress && this.__onLongPress(e, self);\n },\n\n /**\n * prevent default to allow drop event to be fired\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */\n _onDragOver: function(e) {\n e.preventDefault();\n var target = this._simpleEventHandler('dragover', e);\n this._fireEnterLeaveEvents(target, e);\n },\n\n /**\n * `drop:before` is a an event that allow you to schedule logic\n * before the `drop` event. Prefer `drop` event always, but if you need\n * to run some drop-disabling logic on an event, since there is no way\n * to handle event handlers ordering, use `drop:before`\n * @param {Event} e\n */\n _onDrop: function (e) {\n this._simpleEventHandler('drop:before', e);\n return this._simpleEventHandler('drop', e);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onContextMenu: function (e) {\n if (this.stopContextMenu) {\n e.stopPropagation();\n e.preventDefault();\n }\n return false;\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onDoubleClick: function (e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'dblclick');\n this._resetTransformEventData(e);\n },\n\n /**\n * Return a the id of an event.\n * returns either the pointerId or the identifier or 0 for the mouse event\n * @private\n * @param {Event} evt Event object\n */\n getPointerId: function(evt) {\n var changedTouches = evt.changedTouches;\n\n if (changedTouches) {\n return changedTouches[0] && changedTouches[0].identifier;\n }\n\n if (this.enablePointerEvents) {\n return evt.pointerId;\n }\n\n return -1;\n },\n\n /**\n * Determines if an event has the id of the event that is considered main\n * @private\n * @param {evt} event Event object\n */\n _isMainEvent: function(evt) {\n if (evt.isPrimary === true) {\n return true;\n }\n if (evt.isPrimary === false) {\n return false;\n }\n if (evt.type === 'touchend' && evt.touches.length === 0) {\n return true;\n }\n if (evt.changedTouches) {\n return evt.changedTouches[0].identifier === this.mainTouchId;\n }\n return true;\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchStart: function(e) {\n e.preventDefault();\n if (this.mainTouchId === null) {\n this.mainTouchId = this.getPointerId(e);\n }\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n addListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n addListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n // Unbind mousedown to prevent double triggers from touch devices\n removeListener(canvasElement, eventTypePrefix + 'down', this._onMouseDown);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDown: function (e) {\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n removeListener(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n addListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n addListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onTouchEnd: function(e) {\n if (e.touches.length > 0) {\n // if there are still touches stop here\n return;\n }\n this.__onMouseUp(e);\n this._resetTransformEventData();\n this.mainTouchId = null;\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, 'touchend', this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, 'touchmove', this._onMouseMove, addEventOptions);\n var _this = this;\n if (this._willAddMouseDown) {\n clearTimeout(this._willAddMouseDown);\n }\n this._willAddMouseDown = setTimeout(function() {\n // Wait 400ms before rebinding mousedown to prevent double triggers\n // from touch devices\n addListener(_this.upperCanvasEl, eventTypePrefix + 'down', _this._onMouseDown);\n _this._willAddMouseDown = 0;\n }, 400);\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUp: function (e) {\n this.__onMouseUp(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl,\n eventTypePrefix = this._getEventPrefix();\n if (this._isMainEvent(e)) {\n removeListener(fabric.document, eventTypePrefix + 'up', this._onMouseUp);\n removeListener(fabric.document, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n addListener(canvasElement, eventTypePrefix + 'move', this._onMouseMove, addEventOptions);\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMove: function (e) {\n !this.allowTouchScrolling && e.preventDefault && e.preventDefault();\n this.__onMouseMove(e);\n },\n\n /**\n * @private\n */\n _onResize: function () {\n this.calcOffset();\n },\n\n /**\n * Decides whether the canvas should be redrawn in mouseup and mousedown events.\n * @private\n * @param {Object} target\n */\n _shouldRender: function(target) {\n var activeObject = this._activeObject;\n\n if (\n !!activeObject !== !!target ||\n (activeObject && target && (activeObject !== target))\n ) {\n // this covers: switch of target, from target to no target, selection of target\n // multiSelection with key and mouse\n return true;\n }\n else if (activeObject && activeObject.isEditing) {\n // if we mouse up/down over a editing textbox a cursor change,\n // there is no need to re render\n return false;\n }\n return false;\n },\n\n /**\n * Method that defines the actions when mouse is released on canvas.\n * The method resets the currentTransform parameters, store the image corner\n * position in the image object and render the canvas on top.\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n __onMouseUp: function (e) {\n var target, transform = this._currentTransform,\n groupSelector = this._groupSelector, shouldRender = false,\n isClick = (!groupSelector || (groupSelector.left === 0 && groupSelector.top === 0));\n this._cacheTransformEventData(e);\n target = this._target;\n this._handleEvent(e, 'up:before');\n // if right/middle click just fire events and return\n // target undefined will make the _handleEvent search the target\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, 'up', RIGHT_CLICK, isClick);\n }\n return;\n }\n\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, 'up', MIDDLE_CLICK, isClick);\n }\n this._resetTransformEventData();\n return;\n }\n\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this._onMouseUpInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n if (transform) {\n this._finalizeCurrentTransform(e);\n shouldRender = transform.actionPerformed;\n }\n if (!isClick) {\n var targetWasActive = target === this._activeObject;\n this._maybeGroupObjects(e);\n if (!shouldRender) {\n shouldRender = (\n this._shouldRender(target) ||\n (!targetWasActive && target === this._activeObject)\n );\n }\n }\n var corner, pointer;\n if (target) {\n corner = target._findTargetCorner(\n this.getPointer(e, true),\n fabric.util.isTouchEvent(e)\n );\n if (target.selectable && target !== this._activeObject && target.activeOn === 'up') {\n this.setActiveObject(target, e);\n shouldRender = true;\n }\n else {\n var control = target.controls[corner],\n mouseUpHandler = control && control.getMouseUpHandler(e, target, control);\n if (mouseUpHandler) {\n pointer = this.getPointer(e);\n mouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n }\n target.isMoving = false;\n }\n // if we are ending up a transform on a different control or a new object\n // fire the original mouse up from the corner that started the transform\n if (transform && (transform.target !== target || transform.corner !== corner)) {\n var originalControl = transform.target && transform.target.controls[transform.corner],\n originalMouseUpHandler = originalControl && originalControl.getMouseUpHandler(e, target, control);\n pointer = pointer || this.getPointer(e);\n originalMouseUpHandler && originalMouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n this._setCursorFromEvent(e, target);\n this._handleEvent(e, 'up', LEFT_CLICK, isClick);\n this._groupSelector = null;\n this._currentTransform = null;\n // reset the target information about which corner is selected\n target && (target.__corner = 0);\n if (shouldRender) {\n this.requestRenderAll();\n }\n else if (!isClick) {\n this.renderTop();\n }\n },\n\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @return {Fabric.Object} target return the the target found, for internal reasons.\n */\n _simpleEventHandler: function(eventType, e) {\n var target = this.findTarget(e),\n targets = this.targets,\n options = {\n e: e,\n target: target,\n subTargets: targets,\n };\n this.fire(eventType, options);\n target && target.fire(eventType, options);\n if (!targets) {\n return target;\n }\n for (var i = 0; i < targets.length; i++) {\n targets[i].fire(eventType, options);\n }\n return target;\n },\n\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @param {fabric.Object} targetObj receiving event\n * @param {Number} [button] button used in the event 1 = left, 2 = middle, 3 = right\n * @param {Boolean} isClick for left button only, indicates that the mouse up happened without move.\n */\n _handleEvent: function(e, eventType, button, isClick) {\n var target = this._target,\n targets = this.targets || [],\n options = {\n e: e,\n target: target,\n subTargets: targets,\n button: button || LEFT_CLICK,\n isClick: isClick || false,\n pointer: this._pointer,\n absolutePointer: this._absolutePointer,\n transform: this._currentTransform\n };\n if (eventType === 'up') {\n options.currentTarget = this.findTarget(e);\n options.currentSubTargets = this.targets;\n }\n this.fire('mouse:' + eventType, options);\n target && target.fire('mouse' + eventType, options);\n for (var i = 0; i < targets.length; i++) {\n targets[i].fire('mouse' + eventType, options);\n }\n },\n\n /**\n * @private\n * @param {Event} e send the mouse event that generate the finalize down, so it can be used in the event\n */\n _finalizeCurrentTransform: function(e) {\n\n var transform = this._currentTransform,\n target = transform.target,\n options = {\n e: e,\n target: target,\n transform: transform,\n action: transform.action,\n };\n\n if (target._scaling) {\n target._scaling = false;\n }\n\n target.setCoords();\n\n if (transform.actionPerformed || (this.stateful && target.hasStateChanged())) {\n this._fire('modified', options);\n }\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n _onMouseDownInDrawingMode: function(e) {\n this._isCurrentlyDrawing = true;\n if (this.getActiveObject()) {\n this.discardActiveObject(e).requestRenderAll();\n }\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseDown(pointer, { e: e, pointer: pointer });\n this._handleEvent(e, 'down');\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n _onMouseMoveInDrawingMode: function(e) {\n if (this._isCurrentlyDrawing) {\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseMove(pointer, { e: e, pointer: pointer });\n }\n this.setCursor(this.freeDrawingCursor);\n this._handleEvent(e, 'move');\n },\n\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */\n _onMouseUpInDrawingMode: function(e) {\n var pointer = this.getPointer(e);\n this._isCurrentlyDrawing = this.freeDrawingBrush.onMouseUp({ e: e, pointer: pointer });\n this._handleEvent(e, 'up');\n },\n\n /**\n * Method that defines the actions when mouse is clicked on canvas.\n * The method inits the currentTransform parameters and renders all the\n * canvas so the current image can be placed on the top canvas and the rest\n * in on the container one.\n * @private\n * @param {Event} e Event object fired on mousedown\n */\n __onMouseDown: function (e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'down:before');\n var target = this._target;\n // if right click just fire events\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, 'down', RIGHT_CLICK);\n }\n return;\n }\n\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, 'down', MIDDLE_CLICK);\n }\n return;\n }\n\n if (this.isDrawingMode) {\n this._onMouseDownInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n // ignore if some object is being transformed at this moment\n if (this._currentTransform) {\n return;\n }\n\n var pointer = this._pointer;\n // save pointer for check in __onMouseUp event\n this._previousPointer = pointer;\n var shouldRender = this._shouldRender(target),\n shouldGroup = this._shouldGroup(e, target);\n if (this._shouldClearSelection(e, target)) {\n this.discardActiveObject(e);\n }\n else if (shouldGroup) {\n this._handleGrouping(e, target);\n target = this._activeObject;\n }\n\n if (this.selection && (!target ||\n (!target.selectable && !target.isEditing && target !== this._activeObject))) {\n this._groupSelector = {\n ex: this._absolutePointer.x,\n ey: this._absolutePointer.y,\n top: 0,\n left: 0\n };\n }\n\n if (target) {\n var alreadySelected = target === this._activeObject;\n if (target.selectable && target.activeOn === 'down') {\n this.setActiveObject(target, e);\n }\n var corner = target._findTargetCorner(\n this.getPointer(e, true),\n fabric.util.isTouchEvent(e)\n );\n target.__corner = corner;\n if (target === this._activeObject && (corner || !shouldGroup)) {\n this._setupCurrentTransform(e, target, alreadySelected);\n var control = target.controls[corner],\n pointer = this.getPointer(e),\n mouseDownHandler = control && control.getMouseDownHandler(e, target, control);\n if (mouseDownHandler) {\n mouseDownHandler(e, this._currentTransform, pointer.x, pointer.y);\n }\n }\n }\n this._handleEvent(e, 'down');\n // we must renderAll so that we update the visuals\n (shouldRender || shouldGroup) && this.requestRenderAll();\n },\n\n /**\n * reset cache form common information needed during event processing\n * @private\n */\n _resetTransformEventData: function() {\n this._target = null;\n this._pointer = null;\n this._absolutePointer = null;\n },\n\n /**\n * Cache common information needed during event processing\n * @private\n * @param {Event} e Event object fired on event\n */\n _cacheTransformEventData: function(e) {\n // reset in order to avoid stale caching\n this._resetTransformEventData();\n this._pointer = this.getPointer(e, true);\n this._absolutePointer = this.restorePointerVpt(this._pointer);\n this._target = this._currentTransform ? this._currentTransform.target : this.findTarget(e) || null;\n },\n\n /**\n * @private\n */\n _beforeTransform: function(e) {\n var t = this._currentTransform;\n this.stateful && t.target.saveState();\n this.fire('before:transform', {\n e: e,\n transform: t,\n });\n },\n\n /**\n * Method that defines the actions when mouse is hovering the canvas.\n * The currentTransform parameter will define whether the user is rotating/scaling/translating\n * an image or neither of them (only hovering). A group selection is also possible and would cancel\n * all any other type of action.\n * In case of an image transformation only the top canvas will be rendered.\n * @private\n * @param {Event} e Event object fired on mousemove\n */\n __onMouseMove: function (e) {\n this._handleEvent(e, 'move:before');\n this._cacheTransformEventData(e);\n var target, pointer;\n\n if (this.isDrawingMode) {\n this._onMouseMoveInDrawingMode(e);\n return;\n }\n\n if (!this._isMainEvent(e)) {\n return;\n }\n\n var groupSelector = this._groupSelector;\n\n // We initially clicked in an empty area, so we draw a box for multiple selection\n if (groupSelector) {\n pointer = this._absolutePointer;\n\n groupSelector.left = pointer.x - groupSelector.ex;\n groupSelector.top = pointer.y - groupSelector.ey;\n\n this.renderTop();\n }\n else if (!this._currentTransform) {\n target = this.findTarget(e) || null;\n this._setCursorFromEvent(e, target);\n this._fireOverOutEvents(target, e);\n }\n else {\n this._transformObject(e);\n }\n this._handleEvent(e, 'move');\n this._resetTransformEventData();\n },\n\n /**\n * Manage the mouseout, mouseover events for the fabric object on the canvas\n * @param {Fabric.Object} target the target where the target from the mousemove event\n * @param {Event} e Event object fired on mousemove\n * @private\n */\n _fireOverOutEvents: function(target, e) {\n var _hoveredTarget = this._hoveredTarget,\n _hoveredTargets = this._hoveredTargets, targets = this.targets,\n length = Math.max(_hoveredTargets.length, targets.length);\n\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _hoveredTarget,\n evtOut: 'mouseout',\n canvasEvtOut: 'mouse:out',\n evtIn: 'mouseover',\n canvasEvtIn: 'mouse:over',\n });\n for (var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: 'mouseout',\n evtIn: 'mouseover',\n });\n }\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n },\n\n /**\n * Manage the dragEnter, dragLeave events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the onDrag event\n * @param {Event} e Event object fired on ondrag\n * @private\n */\n _fireEnterLeaveEvents: function(target, e) {\n var _draggedoverTarget = this._draggedoverTarget,\n _hoveredTargets = this._hoveredTargets, targets = this.targets,\n length = Math.max(_hoveredTargets.length, targets.length);\n\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _draggedoverTarget,\n evtOut: 'dragleave',\n evtIn: 'dragenter',\n });\n for (var i = 0; i < length; i++) {\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: 'dragleave',\n evtIn: 'dragenter',\n });\n }\n this._draggedoverTarget = target;\n },\n\n /**\n * Manage the synthetic in/out events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the supported events\n * @param {Event} e Event object fired\n * @param {Object} config configuration for the function to work\n * @param {String} config.targetName property on the canvas where the old target is stored\n * @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out\n * @param {String} config.evtOut name of the event to fire for out\n * @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in\n * @param {String} config.evtIn name of the event to fire for in\n * @private\n */\n fireSyntheticInOutEvents: function(target, e, config) {\n var inOpt, outOpt, oldTarget = config.oldTarget, outFires, inFires,\n targetChanged = oldTarget !== target, canvasEvtIn = config.canvasEvtIn, canvasEvtOut = config.canvasEvtOut;\n if (targetChanged) {\n inOpt = { e: e, target: target, previousTarget: oldTarget };\n outOpt = { e: e, target: oldTarget, nextTarget: target };\n }\n inFires = target && targetChanged;\n outFires = oldTarget && targetChanged;\n if (outFires) {\n canvasEvtOut && this.fire(canvasEvtOut, outOpt);\n oldTarget.fire(config.evtOut, outOpt);\n }\n if (inFires) {\n canvasEvtIn && this.fire(canvasEvtIn, inOpt);\n target.fire(config.evtIn, inOpt);\n }\n },\n\n /**\n * Method that defines actions when an Event Mouse Wheel\n * @param {Event} e Event object fired on mouseup\n */\n __onMouseWheel: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, 'wheel');\n this._resetTransformEventData();\n },\n\n /**\n * @private\n * @param {Event} e Event fired on mousemove\n */\n _transformObject: function(e) {\n var pointer = this.getPointer(e),\n transform = this._currentTransform;\n\n transform.reset = false;\n transform.shiftKey = e.shiftKey;\n transform.altKey = e[this.centeredKey];\n\n this._performTransformAction(e, transform, pointer);\n transform.actionPerformed && this.requestRenderAll();\n },\n\n /**\n * @private\n */\n _performTransformAction: function(e, transform, pointer) {\n var x = pointer.x,\n y = pointer.y,\n action = transform.action,\n actionPerformed = false,\n actionHandler = transform.actionHandler;\n // this object could be created from the function in the control handlers\n\n\n if (actionHandler) {\n actionPerformed = actionHandler(e, transform, x, y);\n }\n if (action === 'drag' && actionPerformed) {\n transform.target.isMoving = true;\n this.setCursor(transform.target.moveCursor || this.moveCursor);\n }\n transform.actionPerformed = transform.actionPerformed || actionPerformed;\n },\n\n /**\n * @private\n */\n _fire: fabric.controlsUtils.fireEvent,\n\n /**\n * Sets the cursor depending on where the canvas is being hovered.\n * Note: very buggy in Opera\n * @param {Event} e Event object\n * @param {Object} target Object that the mouse is hovering, if so.\n */\n _setCursorFromEvent: function (e, target) {\n if (!target) {\n this.setCursor(this.defaultCursor);\n return false;\n }\n var hoverCursor = target.hoverCursor || this.hoverCursor,\n activeSelection = this._activeObject && this._activeObject.type === 'activeSelection' ?\n this._activeObject : null,\n // only show proper corner when group selection is not active\n corner = (!activeSelection || !activeSelection.contains(target))\n // here we call findTargetCorner always with undefined for the touch parameter.\n // we assume that if you are using a cursor you do not need to interact with\n // the bigger touch area.\n && target._findTargetCorner(this.getPointer(e, true));\n\n if (!corner) {\n if (target.subTargetCheck){\n // hoverCursor should come from top-most subTarget,\n // so we walk the array backwards\n this.targets.concat().reverse().map(function(_target){\n hoverCursor = _target.hoverCursor || hoverCursor;\n });\n }\n this.setCursor(hoverCursor);\n }\n else {\n this.setCursor(this.getCornerCursor(corner, target, e));\n }\n },\n\n /**\n * @private\n */\n getCornerCursor: function(corner, target, e) {\n var control = target.controls[corner];\n return control.cursorStyleHandler(e, control, target);\n }\n });\n})();\n(function() {\n\n var min = Math.min,\n max = Math.max;\n\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n * @return {Boolean}\n */\n _shouldGroup: function(e, target) {\n var activeObject = this._activeObject;\n return activeObject && this._isSelectionKeyPressed(e) && target && target.selectable && this.selection &&\n (activeObject !== target || activeObject.type === 'activeSelection') && !target.onSelect({ e: e });\n },\n\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */\n _handleGrouping: function (e, target) {\n var activeObject = this._activeObject;\n // avoid multi select when shift click on a corner\n if (activeObject.__corner) {\n return;\n }\n if (target === activeObject) {\n // if it's a group, find target again, using activeGroup objects\n target = this.findTarget(e, true);\n // if even object is not found or we are on activeObjectCorner, bail out\n if (!target || !target.selectable) {\n return;\n }\n }\n if (activeObject && activeObject.type === 'activeSelection') {\n this._updateActiveSelection(target, e);\n }\n else {\n this._createActiveSelection(target, e);\n }\n },\n\n /**\n * @private\n */\n _updateActiveSelection: function(target, e) {\n var activeSelection = this._activeObject,\n currentActiveObjects = activeSelection._objects.slice(0);\n if (activeSelection.contains(target)) {\n activeSelection.removeWithUpdate(target);\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n if (activeSelection.size() === 1) {\n // activate last remaining object\n this._setActiveObject(activeSelection.item(0), e);\n }\n }\n else {\n activeSelection.addWithUpdate(target);\n this._hoveredTarget = activeSelection;\n this._hoveredTargets = this.targets.concat();\n }\n this._fireSelectionEvents(currentActiveObjects, e);\n },\n\n /**\n * @private\n */\n _createActiveSelection: function(target, e) {\n var currentActives = this.getActiveObjects(), group = this._createGroup(target);\n this._hoveredTarget = group;\n // ISSUE 4115: should we consider subTargets here?\n // this._hoveredTargets = [];\n // this._hoveredTargets = this.targets.concat();\n this._setActiveObject(group, e);\n this._fireSelectionEvents(currentActives, e);\n },\n\n /**\n * @private\n * @param {Object} target\n */\n _createGroup: function(target) {\n var objects = this._objects,\n isActiveLower = objects.indexOf(this._activeObject) < objects.indexOf(target),\n groupObjects = isActiveLower\n ? [this._activeObject, target]\n : [target, this._activeObject];\n this._activeObject.isEditing && this._activeObject.exitEditing();\n return new fabric.ActiveSelection(groupObjects, {\n canvas: this\n });\n },\n\n /**\n * @private\n * @param {Event} e mouse event\n */\n _groupSelectedObjects: function (e) {\n\n var group = this._collectObjects(e),\n aGroup;\n\n // do not create group for 1 element only\n if (group.length === 1) {\n this.setActiveObject(group[0], e);\n }\n else if (group.length > 1) {\n aGroup = new fabric.ActiveSelection(group.reverse(), {\n canvas: this\n });\n this.setActiveObject(aGroup, e);\n }\n },\n\n /**\n * @private\n */\n _collectObjects: function(e) {\n var group = [],\n currentObject,\n x1 = this._groupSelector.ex,\n y1 = this._groupSelector.ey,\n x2 = x1 + this._groupSelector.left,\n y2 = y1 + this._groupSelector.top,\n selectionX1Y1 = new fabric.Point(min(x1, x2), min(y1, y2)),\n selectionX2Y2 = new fabric.Point(max(x1, x2), max(y1, y2)),\n allowIntersect = !this.selectionFullyContained,\n isClick = x1 === x2 && y1 === y2;\n // we iterate reverse order to collect top first in case of click.\n for (var i = this._objects.length; i--; ) {\n currentObject = this._objects[i];\n\n if (!currentObject || !currentObject.selectable || !currentObject.visible) {\n continue;\n }\n\n if ((allowIntersect && currentObject.intersectsWithRect(selectionX1Y1, selectionX2Y2, true)) ||\n currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2, true) ||\n (allowIntersect && currentObject.containsPoint(selectionX1Y1, null, true)) ||\n (allowIntersect && currentObject.containsPoint(selectionX2Y2, null, true))\n ) {\n group.push(currentObject);\n // only add one object if it's a click\n if (isClick) {\n break;\n }\n }\n }\n\n if (group.length > 1) {\n group = group.filter(function(object) {\n return !object.onSelect({ e: e });\n });\n }\n\n return group;\n },\n\n /**\n * @private\n */\n _maybeGroupObjects: function(e) {\n if (this.selection && this._groupSelector) {\n this._groupSelectedObjects(e);\n }\n this.setCursor(this.defaultCursor);\n // clear selection and current transformation\n this._groupSelector = null;\n }\n });\n\n})();\n(function () {\n fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Exports canvas element to a dataurl image. Note that when multiplier is used, cropping is scaled appropriately\n * @param {Object} [options] Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by, to have consistent\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 2.0.0\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n * @see {@link http://jsfiddle.net/fabricjs/NfZVb/|jsFiddle demo}\n * @example Generate jpeg dataURL with lower quality\n * var dataURL = canvas.toDataURL({\n * format: 'jpeg',\n * quality: 0.8\n * });\n * @example Generate cropped png dataURL (clipping of canvas)\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * left: 100,\n * top: 100,\n * width: 200,\n * height: 200\n * });\n * @example Generate double scaled png dataURL\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * multiplier: 2\n * });\n */\n toDataURL: function (options) {\n options || (options = { });\n\n var format = options.format || 'png',\n quality = options.quality || 1,\n multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? this.getRetinaScaling() : 1),\n canvasEl = this.toCanvasElement(multiplier, options);\n return fabric.util.toDataURL(canvasEl, format, quality);\n },\n\n /**\n * Create a new HTMLCanvas element painted with the current canvas content.\n * No need to resize the actual one or repaint it.\n * Will transfer object ownership to a new canvas, paint it, and set everything back.\n * This is an intermediary step used to get to a dataUrl but also it is useful to\n * create quick image copies of a canvas without passing for the dataUrl string\n * @param {Number} [multiplier] a zoom factor.\n * @param {Object} [cropping] Cropping informations\n * @param {Number} [cropping.left] Cropping left offset.\n * @param {Number} [cropping.top] Cropping top offset.\n * @param {Number} [cropping.width] Cropping width.\n * @param {Number} [cropping.height] Cropping height.\n */\n toCanvasElement: function(multiplier, cropping) {\n multiplier = multiplier || 1;\n cropping = cropping || { };\n var scaledWidth = (cropping.width || this.width) * multiplier,\n scaledHeight = (cropping.height || this.height) * multiplier,\n zoom = this.getZoom(),\n originalWidth = this.width,\n originalHeight = this.height,\n newZoom = zoom * multiplier,\n vp = this.viewportTransform,\n translateX = (vp[4] - (cropping.left || 0)) * multiplier,\n translateY = (vp[5] - (cropping.top || 0)) * multiplier,\n originalInteractive = this.interactive,\n newVp = [newZoom, 0, 0, newZoom, translateX, translateY],\n originalRetina = this.enableRetinaScaling,\n canvasEl = fabric.util.createCanvasElement(),\n originalContextTop = this.contextTop;\n canvasEl.width = scaledWidth;\n canvasEl.height = scaledHeight;\n this.contextTop = null;\n this.enableRetinaScaling = false;\n this.interactive = false;\n this.viewportTransform = newVp;\n this.width = scaledWidth;\n this.height = scaledHeight;\n this.calcViewportBoundaries();\n this.renderCanvas(canvasEl.getContext('2d'), this._objects);\n this.viewportTransform = vp;\n this.width = originalWidth;\n this.height = originalHeight;\n this.calcViewportBoundaries();\n this.interactive = originalInteractive;\n this.enableRetinaScaling = originalRetina;\n this.contextTop = originalContextTop;\n return canvasEl;\n },\n });\n\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Populates canvas with data from the specified JSON.\n * JSON format must conform to the one of {@link fabric.Canvas#toJSON}\n * @param {String|Object} json JSON string or object\n * @param {Function} callback Callback, invoked when json is parsed\n * and corresponding objects (e.g: {@link fabric.Image})\n * are initialized\n * @param {Function} [reviver] Method for further parsing of JSON elements, called after each fabric object created.\n * @return {fabric.Canvas} instance\n * @chainable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#deserialization}\n * @see {@link http://jsfiddle.net/fabricjs/fmgXt/|jsFiddle demo}\n * @example loadFromJSON\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas));\n * @example loadFromJSON with reviver\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas), function(o, object) {\n * // `o` = json object\n * // `object` = fabric.Object instance\n * // ... do some stuff ...\n * });\n */\n loadFromJSON: function (json, callback, reviver) {\n if (!json) {\n return;\n }\n\n // serialize if it wasn't already\n var serialized = (typeof json === 'string')\n ? JSON.parse(json)\n : fabric.util.object.clone(json);\n\n var _this = this,\n clipPath = serialized.clipPath,\n renderOnAddRemove = this.renderOnAddRemove;\n\n this.renderOnAddRemove = false;\n\n delete serialized.clipPath;\n\n this._enlivenObjects(serialized.objects, function (enlivenedObjects) {\n _this.clear();\n _this._setBgOverlay(serialized, function () {\n if (clipPath) {\n _this._enlivenObjects([clipPath], function (enlivenedCanvasClip) {\n _this.clipPath = enlivenedCanvasClip[0];\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n });\n }\n else {\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n }\n });\n }, reviver);\n return this;\n },\n\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Array} restored canvas objects\n * @param {Function} cached renderOnAddRemove callback\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */\n __setupCanvas: function(serialized, enlivenedObjects, renderOnAddRemove, callback) {\n var _this = this;\n enlivenedObjects.forEach(function(obj, index) {\n // we splice the array just in case some custom classes restored from JSON\n // will add more object to canvas at canvas init.\n _this.insertAt(obj, index);\n });\n this.renderOnAddRemove = renderOnAddRemove;\n // remove parts i cannot set as options\n delete serialized.objects;\n delete serialized.backgroundImage;\n delete serialized.overlayImage;\n delete serialized.background;\n delete serialized.overlay;\n // this._initOptions does too many things to just\n // call it. Normally loading an Object from JSON\n // create the Object instance. Here the Canvas is\n // already an instance and we are just loading things over it\n this._setOptions(serialized);\n this.renderAll();\n callback && callback();\n },\n\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */\n _setBgOverlay: function(serialized, callback) {\n var loaded = {\n backgroundColor: false,\n overlayColor: false,\n backgroundImage: false,\n overlayImage: false\n };\n\n if (!serialized.backgroundImage && !serialized.overlayImage && !serialized.background && !serialized.overlay) {\n callback && callback();\n return;\n }\n\n var cbIfLoaded = function () {\n if (loaded.backgroundImage && loaded.overlayImage && loaded.backgroundColor && loaded.overlayColor) {\n callback && callback();\n }\n };\n\n this.__setBgOverlay('backgroundImage', serialized.backgroundImage, loaded, cbIfLoaded);\n this.__setBgOverlay('overlayImage', serialized.overlayImage, loaded, cbIfLoaded);\n this.__setBgOverlay('backgroundColor', serialized.background, loaded, cbIfLoaded);\n this.__setBgOverlay('overlayColor', serialized.overlay, loaded, cbIfLoaded);\n },\n\n /**\n * @private\n * @param {String} property Property to set (backgroundImage, overlayImage, backgroundColor, overlayColor)\n * @param {(Object|String)} value Value to set\n * @param {Object} loaded Set loaded property to true if property is set\n * @param {Object} callback Callback function to invoke after property is set\n */\n __setBgOverlay: function(property, value, loaded, callback) {\n var _this = this;\n\n if (!value) {\n loaded[property] = true;\n callback && callback();\n return;\n }\n\n if (property === 'backgroundImage' || property === 'overlayImage') {\n fabric.util.enlivenObjects([value], function(enlivedObject){\n _this[property] = enlivedObject[0];\n loaded[property] = true;\n callback && callback();\n });\n }\n else {\n this['set' + fabric.util.string.capitalize(property, true)](value, function() {\n loaded[property] = true;\n callback && callback();\n });\n }\n },\n\n /**\n * @private\n * @param {Array} objects\n * @param {Function} callback\n * @param {Function} [reviver]\n */\n _enlivenObjects: function (objects, callback, reviver) {\n if (!objects || objects.length === 0) {\n callback && callback([]);\n return;\n }\n\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, null, reviver);\n },\n\n /**\n * @private\n * @param {String} format\n * @param {Function} callback\n */\n _toDataURL: function (format, callback) {\n this.clone(function (clone) {\n callback(clone.toDataURL(format));\n });\n },\n\n /**\n * @private\n * @param {String} format\n * @param {Number} multiplier\n * @param {Function} callback\n */\n _toDataURLWithMultiplier: function (format, multiplier, callback) {\n this.clone(function (clone) {\n callback(clone.toDataURLWithMultiplier(format, multiplier));\n });\n },\n\n /**\n * Clones canvas instance\n * @param {Object} [callback] Receives cloned instance as a first argument\n * @param {Array} [properties] Array of properties to include in the cloned canvas and children\n */\n clone: function (callback, properties) {\n var data = JSON.stringify(this.toJSON(properties));\n this.cloneWithoutData(function(clone) {\n clone.loadFromJSON(data, function() {\n callback && callback(clone);\n });\n });\n },\n\n /**\n * Clones canvas instance without cloning existing data.\n * This essentially copies canvas dimensions, clipping properties, etc.\n * but leaves data empty (so that you can populate it with your own)\n * @param {Object} [callback] Receives cloned instance as a first argument\n */\n cloneWithoutData: function(callback) {\n var el = fabric.util.createCanvasElement();\n\n el.width = this.width;\n el.height = this.height;\n\n var clone = new fabric.Canvas(el);\n if (this.backgroundImage) {\n clone.setBackgroundImage(this.backgroundImage.src, function() {\n clone.renderAll();\n callback && callback(clone);\n });\n clone.backgroundImageOpacity = this.backgroundImageOpacity;\n clone.backgroundImageStretch = this.backgroundImageStretch;\n }\n else {\n callback && callback(clone);\n }\n }\n});\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n clone = fabric.util.object.clone,\n toFixed = fabric.util.toFixed,\n capitalize = fabric.util.string.capitalize,\n degreesToRadians = fabric.util.degreesToRadians,\n objectCaching = !fabric.isLikelyNode,\n ALIASING_LIMIT = 2;\n\n if (fabric.Object) {\n return;\n }\n\n /**\n * Root object class from which all 2d shape classes inherit from\n * @class fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#objects}\n * @see {@link fabric.Object#initialize} for constructor definition\n *\n * @fires added\n * @fires removed\n *\n * @fires selected\n * @fires deselected\n * @fires modified\n * @fires modified\n * @fires moved\n * @fires scaled\n * @fires rotated\n * @fires skewed\n *\n * @fires rotating\n * @fires scaling\n * @fires moving\n * @fires skewing\n *\n * @fires mousedown\n * @fires mouseup\n * @fires mouseover\n * @fires mouseout\n * @fires mousewheel\n * @fires mousedblclick\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop\n */\n fabric.Object = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.Object.prototype */ {\n\n /**\n * Type of an object (rect, circle, path, etc.).\n * Note that this property is meant to be read-only and not meant to be modified.\n * If you modify, certain parts of Fabric (such as JSON loading) won't work correctly.\n * @type String\n * @default\n */\n type: 'object',\n\n /**\n * Horizontal origin of transformation of an object (one of \"left\", \"right\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */\n originX: 'left',\n\n /**\n * Vertical origin of transformation of an object (one of \"top\", \"bottom\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */\n originY: 'top',\n\n /**\n * Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom}\n * @type Number\n * @default\n */\n top: 0,\n\n /**\n * Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right}\n * @type Number\n * @default\n */\n left: 0,\n\n /**\n * Object width\n * @type Number\n * @default\n */\n width: 0,\n\n /**\n * Object height\n * @type Number\n * @default\n */\n height: 0,\n\n /**\n * Object scale factor (horizontal)\n * @type Number\n * @default\n */\n scaleX: 1,\n\n /**\n * Object scale factor (vertical)\n * @type Number\n * @default\n */\n scaleY: 1,\n\n /**\n * When true, an object is rendered as flipped horizontally\n * @type Boolean\n * @default\n */\n flipX: false,\n\n /**\n * When true, an object is rendered as flipped vertically\n * @type Boolean\n * @default\n */\n flipY: false,\n\n /**\n * Opacity of an object\n * @type Number\n * @default\n */\n opacity: 1,\n\n /**\n * Angle of rotation of an object (in degrees)\n * @type Number\n * @default\n */\n angle: 0,\n\n /**\n * Angle of skew on x axes of an object (in degrees)\n * @type Number\n * @default\n */\n skewX: 0,\n\n /**\n * Angle of skew on y axes of an object (in degrees)\n * @type Number\n * @default\n */\n skewY: 0,\n\n /**\n * Size of object's controlling corners (in pixels)\n * @type Number\n * @default\n */\n cornerSize: 13,\n\n /**\n * Size of object's controlling corners when touch interaction is detected\n * @type Number\n * @default\n */\n touchCornerSize: 24,\n\n /**\n * When true, object's controlling corners are rendered as transparent inside (i.e. stroke instead of fill)\n * @type Boolean\n * @default\n */\n transparentCorners: true,\n\n /**\n * Default cursor value used when hovering over this object on canvas\n * @type String\n * @default\n */\n hoverCursor: null,\n\n /**\n * Default cursor value used when moving this object on canvas\n * @type String\n * @default\n */\n moveCursor: null,\n\n /**\n * Padding between object and its controlling borders (in pixels)\n * @type Number\n * @default\n */\n padding: 0,\n\n /**\n * Color of controlling borders of an object (when it's active)\n * @type String\n * @default\n */\n borderColor: 'rgb(178,204,255)',\n\n /**\n * Array specifying dash pattern of an object's borders (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */\n borderDashArray: null,\n\n /**\n * Color of controlling corners of an object (when it's active)\n * @type String\n * @default\n */\n cornerColor: 'rgb(178,204,255)',\n\n /**\n * Color of controlling corners of an object (when it's active and transparentCorners false)\n * @since 1.6.2\n * @type String\n * @default\n */\n cornerStrokeColor: null,\n\n /**\n * Specify style of control, 'rect' or 'circle'\n * @since 1.6.2\n * @type String\n */\n cornerStyle: 'rect',\n\n /**\n * Array specifying dash pattern of an object's control (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */\n cornerDashArray: null,\n\n /**\n * When true, this object will use center point as the origin of transformation\n * when being scaled via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredScaling: false,\n\n /**\n * When true, this object will use center point as the origin of transformation\n * when being rotated via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */\n centeredRotation: true,\n\n /**\n * Color of object's fill\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n fill: 'rgb(0,0,0)',\n\n /**\n * Fill rule used to fill an object\n * accepted values are nonzero, evenodd\n * Backwards incompatibility note: This property was used for setting globalCompositeOperation until v1.4.12 (use `fabric.Object#globalCompositeOperation` instead)\n * @type String\n * @default\n */\n fillRule: 'nonzero',\n\n /**\n * Composite rule used for canvas globalCompositeOperation\n * @type String\n * @default\n */\n globalCompositeOperation: 'source-over',\n\n /**\n * Background color of an object.\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n backgroundColor: '',\n\n /**\n * Selection Background color of an object. colored layer behind the object when it is active.\n * does not mix good with globalCompositeOperation methods.\n * @type String\n * @default\n */\n selectionBackgroundColor: '',\n\n /**\n * When defined, an object is rendered via stroke and this property specifies its color\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */\n stroke: null,\n\n /**\n * Width of a stroke used to render this object\n * @type Number\n * @default\n */\n strokeWidth: 1,\n\n /**\n * Array specifying dash pattern of an object's stroke (stroke must be defined)\n * @type Array\n */\n strokeDashArray: null,\n\n /**\n * Line offset of an object's stroke\n * @type Number\n * @default\n */\n strokeDashOffset: 0,\n\n /**\n * Line endings style of an object's stroke (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */\n strokeLineCap: 'butt',\n\n /**\n * Corner style of an object's stroke (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */\n strokeLineJoin: 'miter',\n\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of an object's stroke\n * @type Number\n * @default\n */\n strokeMiterLimit: 4,\n\n /**\n * Shadow object representing shadow of this shape\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * Opacity of object's controlling borders when object is active and moving\n * @type Number\n * @default\n */\n borderOpacityWhenMoving: 0.4,\n\n /**\n * Scale factor of object's controlling borders\n * bigger number will make a thicker border\n * border is 1, so this is basically a border thickness\n * since there is no way to change the border itself.\n * @type Number\n * @default\n */\n borderScaleFactor: 1,\n\n /**\n * Minimum allowed scale value of an object\n * @type Number\n * @default\n */\n minScaleLimit: 0,\n\n /**\n * When set to `false`, an object can not be selected for modification (using either point-click-based or group-based selection).\n * But events still fire on it.\n * @type Boolean\n * @default\n */\n selectable: true,\n\n /**\n * When set to `false`, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4\n * @type Boolean\n * @default\n */\n evented: true,\n\n /**\n * When set to `false`, an object is not rendered on canvas\n * @type Boolean\n * @default\n */\n visible: true,\n\n /**\n * When set to `false`, object's controls are not displayed and can not be used to manipulate object\n * @type Boolean\n * @default\n */\n hasControls: true,\n\n /**\n * When set to `false`, object's controlling borders are not rendered\n * @type Boolean\n * @default\n */\n hasBorders: true,\n\n /**\n * When set to `true`, objects are \"found\" on canvas on per-pixel basis rather than according to bounding box\n * @type Boolean\n * @default\n */\n perPixelTargetFind: false,\n\n /**\n * When `false`, default object's values are not included in its serialization\n * @type Boolean\n * @default\n */\n includeDefaultValues: true,\n\n /**\n * When `true`, object horizontal movement is locked\n * @type Boolean\n * @default\n */\n lockMovementX: false,\n\n /**\n * When `true`, object vertical movement is locked\n * @type Boolean\n * @default\n */\n lockMovementY: false,\n\n /**\n * When `true`, object rotation is locked\n * @type Boolean\n * @default\n */\n lockRotation: false,\n\n /**\n * When `true`, object horizontal scaling is locked\n * @type Boolean\n * @default\n */\n lockScalingX: false,\n\n /**\n * When `true`, object vertical scaling is locked\n * @type Boolean\n * @default\n */\n lockScalingY: false,\n\n /**\n * When `true`, object horizontal skewing is locked\n * @type Boolean\n * @default\n */\n lockSkewingX: false,\n\n /**\n * When `true`, object vertical skewing is locked\n * @type Boolean\n * @default\n */\n lockSkewingY: false,\n\n /**\n * When `true`, object cannot be flipped by scaling into negative values\n * @type Boolean\n * @default\n */\n lockScalingFlip: false,\n\n /**\n * When `true`, object is not exported in OBJECT/JSON\n * @since 1.6.3\n * @type Boolean\n * @default\n */\n excludeFromExport: false,\n\n /**\n * When `true`, object is cached on an additional canvas.\n * When `false`, object is not cached unless necessary ( clipPath )\n * default to true\n * @since 1.7.0\n * @type Boolean\n * @default true\n */\n objectCaching: objectCaching,\n\n /**\n * When `true`, object properties are checked for cache invalidation. In some particular\n * situation you may want this to be disabled ( spray brush, very big, groups)\n * or if your application does not allow you to modify properties for groups child you want\n * to disable it for groups.\n * default to false\n * since 1.7.0\n * @type Boolean\n * @default false\n */\n statefullCache: false,\n\n /**\n * When `true`, cache does not get updated during scaling. The picture will get blocky if scaled\n * too much and will be redrawn with correct details at the end of scaling.\n * this setting is performance and application dependant.\n * default to true\n * since 1.7.0\n * @type Boolean\n * @default true\n */\n noScaleCache: true,\n\n /**\n * When `false`, the stoke width will scale with the object.\n * When `true`, the stroke will always match the exact pixel size entered for stroke width.\n * this Property does not work on Text classes or drawing call that uses strokeText,fillText methods\n * default to false\n * @since 2.6.0\n * @type Boolean\n * @default false\n * @type Boolean\n * @default false\n */\n strokeUniform: false,\n\n /**\n * When set to `true`, object's cache will be rerendered next render call.\n * since 1.7.0\n * @type Boolean\n * @default true\n */\n dirty: true,\n\n /**\n * keeps the value of the last hovered corner during mouse move.\n * 0 is no corner, or 'mt', 'ml', 'mtr' etc..\n * It should be private, but there is no harm in using it as\n * a read-only property.\n * @type number|string|any\n * @default 0\n */\n __corner: 0,\n\n /**\n * Determines if the fill or the stroke is drawn first (one of \"fill\" or \"stroke\")\n * @type String\n * @default\n */\n paintFirst: 'fill',\n\n /**\n * When 'down', object is set to active on mousedown/touchstart\n * When 'up', object is set to active on mouseup/touchend\n * Experimental. Let's see if this breaks anything before supporting officially\n * @private\n * since 4.4.0\n * @type String\n * @default 'down'\n */\n activeOn: 'down',\n\n /**\n * List of properties to consider when checking if state\n * of an object is changed (fabric.Object#hasStateChanged)\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: (\n 'top left width height scaleX scaleY flipX flipY originX originY transformMatrix ' +\n 'stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit ' +\n 'angle opacity fill globalCompositeOperation shadow visible backgroundColor ' +\n 'skewX skewY fillRule paintFirst clipPath strokeUniform'\n ).split(' '),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */\n cacheProperties: (\n 'fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform' +\n ' strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath'\n ).split(' '),\n\n /**\n * List of properties to consider for animating colors.\n * @type Array\n */\n colorProperties: (\n 'fill stroke backgroundColor'\n ).split(' '),\n\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the object has rendered, and the context is placed in the center\n * of the object cacheCanvas.\n * If you want 0,0 of a clipPath to align with an object center, use clipPath.originX/Y to 'center'\n * @type fabric.Object\n */\n clipPath: undefined,\n\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will make the object clip to the outside of the clipPath\n * since 2.4.0\n * @type boolean\n * @default false\n */\n inverted: false,\n\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will have its top and left relative to canvas, and will\n * not be influenced by the object transform. This will make the clipPath relative\n * to the canvas, but clipping just a particular object.\n * WARNING this is beta, this feature may change or be renamed.\n * since 2.4.0\n * @type boolean\n * @default false\n */\n absolutePositioned: false,\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n\n /**\n * Create a the canvas used to keep the cached copy of the object\n * @private\n */\n _createCacheCanvas: function() {\n this._cacheProperties = {};\n this._cacheCanvas = fabric.util.createCanvasElement();\n this._cacheContext = this._cacheCanvas.getContext('2d');\n this._updateCacheCanvas();\n // if canvas gets created, is empty, so dirty.\n this.dirty = true;\n },\n\n /**\n * Limit the cache dimensions so that X * Y do not cross fabric.perfLimitSizeTotal\n * and each side do not cross fabric.cacheSideLimit\n * those numbers are configurable so that you can get as much detail as you want\n * making bargain with performances.\n * @param {Object} dims\n * @param {Object} dims.width width of canvas\n * @param {Object} dims.height height of canvas\n * @param {Object} dims.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @param {Object} dims.zoomY zoomY zoom value to unscale the canvas before drawing cache\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _limitCacheSize: function(dims) {\n var perfLimitSizeTotal = fabric.perfLimitSizeTotal,\n width = dims.width, height = dims.height,\n max = fabric.maxCacheSideLimit, min = fabric.minCacheSideLimit;\n if (width <= max && height <= max && width * height <= perfLimitSizeTotal) {\n if (width < min) {\n dims.width = min;\n }\n if (height < min) {\n dims.height = min;\n }\n return dims;\n }\n var ar = width / height, limitedDims = fabric.util.limitDimsByArea(ar, perfLimitSizeTotal),\n capValue = fabric.util.capValue,\n x = capValue(min, limitedDims.x, max),\n y = capValue(min, limitedDims.y, max);\n if (width > x) {\n dims.zoomX /= width / x;\n dims.width = x;\n dims.capped = true;\n }\n if (height > y) {\n dims.zoomY /= height / y;\n dims.height = y;\n dims.capped = true;\n }\n return dims;\n },\n\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @return {Object}.x width of object to be cached\n * @return {Object}.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _getCacheCanvasDimensions: function() {\n var objectScale = this.getTotalObjectScaling(),\n // caculate dimensions without skewing\n dim = this._getTransformedDimensions(0, 0),\n neededX = dim.x * objectScale.scaleX / this.scaleX,\n neededY = dim.y * objectScale.scaleY / this.scaleY;\n return {\n // for sure this ALIASING_LIMIT is slightly creating problem\n // in situation in which the cache canvas gets an upper limit\n // also objectScale contains already scaleX and scaleY\n width: neededX + ALIASING_LIMIT,\n height: neededY + ALIASING_LIMIT,\n zoomX: objectScale.scaleX,\n zoomY: objectScale.scaleY,\n x: neededX,\n y: neededY\n };\n },\n\n /**\n * Update width and height of the canvas for cache\n * returns true or false if canvas needed resize.\n * @private\n * @return {Boolean} true if the canvas has been resized\n */\n _updateCacheCanvas: function() {\n var targetCanvas = this.canvas;\n if (this.noScaleCache && targetCanvas && targetCanvas._currentTransform) {\n var target = targetCanvas._currentTransform.target,\n action = targetCanvas._currentTransform.action;\n if (this === target && action.slice && action.slice(0, 5) === 'scale') {\n return false;\n }\n }\n var canvas = this._cacheCanvas,\n dims = this._limitCacheSize(this._getCacheCanvasDimensions()),\n minCacheSize = fabric.minCacheSideLimit,\n width = dims.width, height = dims.height, drawingWidth, drawingHeight,\n zoomX = dims.zoomX, zoomY = dims.zoomY,\n dimensionsChanged = width !== this.cacheWidth || height !== this.cacheHeight,\n zoomChanged = this.zoomX !== zoomX || this.zoomY !== zoomY,\n shouldRedraw = dimensionsChanged || zoomChanged,\n additionalWidth = 0, additionalHeight = 0, shouldResizeCanvas = false;\n if (dimensionsChanged) {\n var canvasWidth = this._cacheCanvas.width,\n canvasHeight = this._cacheCanvas.height,\n sizeGrowing = width > canvasWidth || height > canvasHeight,\n sizeShrinking = (width < canvasWidth * 0.9 || height < canvasHeight * 0.9) &&\n canvasWidth > minCacheSize && canvasHeight > minCacheSize;\n shouldResizeCanvas = sizeGrowing || sizeShrinking;\n if (sizeGrowing && !dims.capped && (width > minCacheSize || height > minCacheSize)) {\n additionalWidth = width * 0.1;\n additionalHeight = height * 0.1;\n }\n }\n if (this instanceof fabric.Text && this.path) {\n shouldRedraw = true;\n shouldResizeCanvas = true;\n additionalWidth += this.getHeightOfLine(0) * this.zoomX;\n additionalHeight += this.getHeightOfLine(0) * this.zoomY;\n }\n if (shouldRedraw) {\n if (shouldResizeCanvas) {\n canvas.width = Math.ceil(width + additionalWidth);\n canvas.height = Math.ceil(height + additionalHeight);\n }\n else {\n this._cacheContext.setTransform(1, 0, 0, 1, 0, 0);\n this._cacheContext.clearRect(0, 0, canvas.width, canvas.height);\n }\n drawingWidth = dims.x / 2;\n drawingHeight = dims.y / 2;\n this.cacheTranslationX = Math.round(canvas.width / 2 - drawingWidth) + drawingWidth;\n this.cacheTranslationY = Math.round(canvas.height / 2 - drawingHeight) + drawingHeight;\n this.cacheWidth = width;\n this.cacheHeight = height;\n this._cacheContext.translate(this.cacheTranslationX, this.cacheTranslationY);\n this._cacheContext.scale(zoomX, zoomY);\n this.zoomX = zoomX;\n this.zoomY = zoomY;\n return true;\n }\n return false;\n },\n\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */\n setOptions: function(options) {\n this._setOptions(options);\n this._initGradient(options.fill, 'fill');\n this._initGradient(options.stroke, 'stroke');\n this._initPattern(options.fill, 'fill');\n this._initPattern(options.stroke, 'stroke');\n },\n\n /**\n * Transforms context when rendering an object\n * @param {CanvasRenderingContext2D} ctx Context\n */\n transform: function(ctx) {\n var needFullTransform = (this.group && !this.group._transformDone) ||\n (this.group && this.canvas && ctx === this.canvas.contextTop);\n var m = this.calcTransformMatrix(!needFullTransform);\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n },\n\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var NUM_FRACTION_DIGITS = fabric.Object.NUM_FRACTION_DIGITS,\n\n object = {\n type: this.type,\n version: fabric.version,\n originX: this.originX,\n originY: this.originY,\n left: toFixed(this.left, NUM_FRACTION_DIGITS),\n top: toFixed(this.top, NUM_FRACTION_DIGITS),\n width: toFixed(this.width, NUM_FRACTION_DIGITS),\n height: toFixed(this.height, NUM_FRACTION_DIGITS),\n fill: (this.fill && this.fill.toObject) ? this.fill.toObject() : this.fill,\n stroke: (this.stroke && this.stroke.toObject) ? this.stroke.toObject() : this.stroke,\n strokeWidth: toFixed(this.strokeWidth, NUM_FRACTION_DIGITS),\n strokeDashArray: this.strokeDashArray ? this.strokeDashArray.concat() : this.strokeDashArray,\n strokeLineCap: this.strokeLineCap,\n strokeDashOffset: this.strokeDashOffset,\n strokeLineJoin: this.strokeLineJoin,\n strokeUniform: this.strokeUniform,\n strokeMiterLimit: toFixed(this.strokeMiterLimit, NUM_FRACTION_DIGITS),\n scaleX: toFixed(this.scaleX, NUM_FRACTION_DIGITS),\n scaleY: toFixed(this.scaleY, NUM_FRACTION_DIGITS),\n angle: toFixed(this.angle, NUM_FRACTION_DIGITS),\n flipX: this.flipX,\n flipY: this.flipY,\n opacity: toFixed(this.opacity, NUM_FRACTION_DIGITS),\n shadow: (this.shadow && this.shadow.toObject) ? this.shadow.toObject() : this.shadow,\n visible: this.visible,\n backgroundColor: this.backgroundColor,\n fillRule: this.fillRule,\n paintFirst: this.paintFirst,\n globalCompositeOperation: this.globalCompositeOperation,\n skewX: toFixed(this.skewX, NUM_FRACTION_DIGITS),\n skewY: toFixed(this.skewY, NUM_FRACTION_DIGITS),\n };\n\n if (this.clipPath && !this.clipPath.excludeFromExport) {\n object.clipPath = this.clipPath.toObject(propertiesToInclude);\n object.clipPath.inverted = this.clipPath.inverted;\n object.clipPath.absolutePositioned = this.clipPath.absolutePositioned;\n }\n\n fabric.util.populateWithProperties(this, object, propertiesToInclude);\n if (!this.includeDefaultValues) {\n object = this._removeDefaultValues(object);\n }\n\n return object;\n },\n\n /**\n * Returns (dataless) object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n // will be overwritten by subclasses\n return this.toObject(propertiesToInclude);\n },\n\n /**\n * @private\n * @param {Object} object\n */\n _removeDefaultValues: function(object) {\n var prototype = fabric.util.getKlass(object.type).prototype,\n stateProperties = prototype.stateProperties;\n stateProperties.forEach(function(prop) {\n if (prop === 'left' || prop === 'top') {\n return;\n }\n if (object[prop] === prototype[prop]) {\n delete object[prop];\n }\n // basically a check for [] === []\n if (Array.isArray(object[prop]) && Array.isArray(prototype[prop])\n && object[prop].length === 0 && prototype[prop].length === 0) {\n delete object[prop];\n }\n });\n\n return object;\n },\n\n /**\n * Returns a string representation of an instance\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Return the object scale factor counting also the group scaling\n * @return {Object} object with scaleX and scaleY properties\n */\n getObjectScaling: function() {\n // if the object is a top level one, on the canvas, we go for simple aritmetic\n // otherwise the complex method with angles will return approximations and decimals\n // and will likely kill the cache when not needed\n // https://github.com/fabricjs/fabric.js/issues/7157\n if (!this.group) {\n return {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n };\n }\n // if we are inside a group total zoom calculation is complex, we defer to generic matrices\n var options = fabric.util.qrDecompose(this.calcTransformMatrix());\n return { scaleX: Math.abs(options.scaleX), scaleY: Math.abs(options.scaleY) };\n },\n\n /**\n * Return the object scale factor counting also the group scaling, zoom and retina\n * @return {Object} object with scaleX and scaleY properties\n */\n getTotalObjectScaling: function() {\n var scale = this.getObjectScaling(), scaleX = scale.scaleX, scaleY = scale.scaleY;\n if (this.canvas) {\n var zoom = this.canvas.getZoom();\n var retina = this.canvas.getRetinaScaling();\n scaleX *= zoom * retina;\n scaleY *= zoom * retina;\n }\n return { scaleX: scaleX, scaleY: scaleY };\n },\n\n /**\n * Return the object opacity counting also the group property\n * @return {Number}\n */\n getObjectOpacity: function() {\n var opacity = this.opacity;\n if (this.group) {\n opacity *= this.group.getObjectOpacity();\n }\n return opacity;\n },\n\n /**\n * @private\n * @param {String} key\n * @param {*} value\n * @return {fabric.Object} thisArg\n */\n _set: function(key, value) {\n var shouldConstrainValue = (key === 'scaleX' || key === 'scaleY'),\n isChanged = this[key] !== value, groupNeedsUpdate = false;\n\n if (shouldConstrainValue) {\n value = this._constrainScale(value);\n }\n if (key === 'scaleX' && value < 0) {\n this.flipX = !this.flipX;\n value *= -1;\n }\n else if (key === 'scaleY' && value < 0) {\n this.flipY = !this.flipY;\n value *= -1;\n }\n else if (key === 'shadow' && value && !(value instanceof fabric.Shadow)) {\n value = new fabric.Shadow(value);\n }\n else if (key === 'dirty' && this.group) {\n this.group.set('dirty', value);\n }\n\n this[key] = value;\n\n if (isChanged) {\n groupNeedsUpdate = this.group && this.group.isOnACache();\n if (this.cacheProperties.indexOf(key) > -1) {\n this.dirty = true;\n groupNeedsUpdate && this.group.set('dirty', true);\n }\n else if (groupNeedsUpdate && this.stateProperties.indexOf(key) > -1) {\n this.group.set('dirty', true);\n }\n }\n return this;\n },\n\n /**\n * This callback function is called by the parent group of an object every\n * time a non-delegated property changes on the group. It is passed the key\n * and value as parameters. Not adding in this function's signature to avoid\n * Travis build error about unused variables.\n */\n setOnGroup: function() {\n // implemented by sub-classes, as needed.\n },\n\n /**\n * Retrieves viewportTransform from Object's canvas if possible\n * @method getViewportTransform\n * @memberOf fabric.Object.prototype\n * @return {Array}\n */\n getViewportTransform: function() {\n if (this.canvas && this.canvas.viewportTransform) {\n return this.canvas.viewportTransform;\n }\n return fabric.iMatrix.concat();\n },\n\n /*\n * @private\n * return if the object would be visible in rendering\n * @memberOf fabric.Object.prototype\n * @return {Boolean}\n */\n isNotVisible: function() {\n return this.opacity === 0 ||\n (!this.width && !this.height && this.strokeWidth === 0) ||\n !this.visible;\n },\n\n /**\n * Renders an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n render: function(ctx) {\n // do not render if width/height are zeros or object is not visible\n if (this.isNotVisible()) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n ctx.save();\n this._setupCompositeOperation(ctx);\n this.drawSelectionBackground(ctx);\n this.transform(ctx);\n this._setOpacity(ctx);\n this._setShadow(ctx, this);\n if (this.shouldCache()) {\n this.renderCache();\n this.drawCacheOnCanvas(ctx);\n }\n else {\n this._removeCacheCanvas();\n this.dirty = false;\n this.drawObject(ctx);\n if (this.objectCaching && this.statefullCache) {\n this.saveState({ propertySet: 'cacheProperties' });\n }\n }\n ctx.restore();\n },\n\n renderCache: function(options) {\n options = options || {};\n if (!this._cacheCanvas || !this._cacheContext) {\n this._createCacheCanvas();\n }\n if (this.isCacheDirty()) {\n this.statefullCache && this.saveState({ propertySet: 'cacheProperties' });\n this.drawObject(this._cacheContext, options.forClipping);\n this.dirty = false;\n }\n },\n\n /**\n * Remove cacheCanvas and its dimensions from the objects\n */\n _removeCacheCanvas: function() {\n this._cacheCanvas = null;\n this._cacheContext = null;\n this.cacheWidth = 0;\n this.cacheHeight = 0;\n },\n\n /**\n * return true if the object will draw a stroke\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when stroke happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the stroke is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasStroke: function() {\n return this.stroke && this.stroke !== 'transparent' && this.strokeWidth !== 0;\n },\n\n /**\n * return true if the object will draw a fill\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when fill happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the fill is invisible.\n * @since 3.0.0\n * @returns Boolean\n */\n hasFill: function() {\n return this.fill && this.fill !== 'transparent';\n },\n\n /**\n * When set to `true`, force the object to have its own cache, even if it is inside a group\n * it may be needed when your object behave in a particular way on the cache and always needs\n * its own isolated canvas to render correctly.\n * Created to be overridden\n * since 1.7.12\n * @returns Boolean\n */\n needsItsOwnCache: function() {\n if (this.paintFirst === 'stroke' &&\n this.hasFill() && this.hasStroke() && typeof this.shadow === 'object') {\n return true;\n }\n if (this.clipPath) {\n return true;\n }\n return false;\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * Read as: cache if is needed, or if the feature is enabled but we are not already caching.\n * @return {Boolean}\n */\n shouldCache: function() {\n this.ownCaching = this.needsItsOwnCache() || (\n this.objectCaching &&\n (!this.group || !this.group.isOnACache())\n );\n return this.ownCaching;\n },\n\n /**\n * Check if this object or a child object will cast a shadow\n * used by Group.shouldCache to know if child has a shadow recursively\n * @return {Boolean}\n */\n willDrawShadow: function() {\n return !!this.shadow && (this.shadow.offsetX !== 0 || this.shadow.offsetY !== 0);\n },\n\n /**\n * Execute the drawing operation for an object clipPath\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Object} clipPath\n */\n drawClipPathOnCache: function(ctx, clipPath) {\n ctx.save();\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4\n if (clipPath.inverted) {\n ctx.globalCompositeOperation = 'destination-out';\n }\n else {\n ctx.globalCompositeOperation = 'destination-in';\n }\n //ctx.scale(1 / 2, 1 / 2);\n if (clipPath.absolutePositioned) {\n var m = fabric.util.invertTransform(this.calcTransformMatrix());\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n clipPath.transform(ctx);\n ctx.scale(1 / clipPath.zoomX, 1 / clipPath.zoomY);\n ctx.drawImage(clipPath._cacheCanvas, -clipPath.cacheTranslationX, -clipPath.cacheTranslationY);\n ctx.restore();\n },\n\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawObject: function(ctx, forClipping) {\n var originalFill = this.fill, originalStroke = this.stroke;\n if (forClipping) {\n this.fill = 'black';\n this.stroke = '';\n this._setClippingProperties(ctx);\n }\n else {\n this._renderBackground(ctx);\n }\n this._render(ctx);\n this._drawClipPath(ctx, this.clipPath);\n this.fill = originalFill;\n this.stroke = originalStroke;\n },\n\n /**\n * Prepare clipPath state and cache and draw it on instance's cache\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */\n _drawClipPath: function (ctx, clipPath) {\n if (!clipPath) { return; }\n // needed to setup a couple of variables\n // path canvas gets overridden with this one.\n // TODO find a better solution?\n clipPath.canvas = this.canvas;\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({ forClipping: true });\n this.drawClipPathOnCache(ctx, clipPath);\n },\n\n /**\n * Paint the cached copy of the object on the target context.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawCacheOnCanvas: function(ctx) {\n ctx.scale(1 / this.zoomX, 1 / this.zoomY);\n ctx.drawImage(this._cacheCanvas, -this.cacheTranslationX, -this.cacheTranslationY);\n },\n\n /**\n * Check if cache is dirty\n * @param {Boolean} skipCanvas skip canvas checks because this object is painted\n * on parent canvas.\n */\n isCacheDirty: function(skipCanvas) {\n if (this.isNotVisible()) {\n return false;\n }\n if (this._cacheCanvas && this._cacheContext && !skipCanvas && this._updateCacheCanvas()) {\n // in this case the context is already cleared.\n return true;\n }\n else {\n if (this.dirty ||\n (this.clipPath && this.clipPath.absolutePositioned) ||\n (this.statefullCache && this.hasStateChanged('cacheProperties'))\n ) {\n if (this._cacheCanvas && this._cacheContext && !skipCanvas) {\n var width = this.cacheWidth / this.zoomX;\n var height = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-width / 2, -height / 2, width, height);\n }\n return true;\n }\n }\n return false;\n },\n\n /**\n * Draws a background for the object big as its untransformed dimensions\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderBackground: function(ctx) {\n if (!this.backgroundColor) {\n return;\n }\n var dim = this._getNonTransformedDimensions();\n ctx.fillStyle = this.backgroundColor;\n\n ctx.fillRect(\n -dim.x / 2,\n -dim.y / 2,\n dim.x,\n dim.y\n );\n // if there is background color no other shadows\n // should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setOpacity: function(ctx) {\n if (this.group && !this.group._transformDone) {\n ctx.globalAlpha = this.getObjectOpacity();\n }\n else {\n ctx.globalAlpha *= this.opacity;\n }\n },\n\n _setStrokeStyles: function(ctx, decl) {\n var stroke = decl.stroke;\n if (stroke) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = decl.strokeLineCap;\n ctx.lineDashOffset = decl.strokeDashOffset;\n ctx.lineJoin = decl.strokeLineJoin;\n ctx.miterLimit = decl.strokeMiterLimit;\n if (stroke.toLive) {\n if (stroke.gradientUnits === 'percentage' || stroke.gradientTransform || stroke.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n this._applyPatternForTransformedGradient(ctx, stroke);\n }\n else {\n // is a simple gradient or pattern\n ctx.strokeStyle = stroke.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, stroke);\n }\n }\n else {\n // is a color\n ctx.strokeStyle = decl.stroke;\n }\n }\n },\n\n _setFillStyles: function(ctx, decl) {\n var fill = decl.fill;\n if (fill) {\n if (fill.toLive) {\n ctx.fillStyle = fill.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, decl.fill);\n }\n else {\n ctx.fillStyle = fill;\n }\n }\n },\n\n _setClippingProperties: function(ctx) {\n ctx.globalAlpha = 1;\n ctx.strokeStyle = 'transparent';\n ctx.fillStyle = '#000000';\n },\n\n /**\n * @private\n * Sets line dash\n * @param {CanvasRenderingContext2D} ctx Context to set the dash line on\n * @param {Array} dashArray array representing dashes\n */\n _setLineDash: function(ctx, dashArray) {\n if (!dashArray || dashArray.length === 0) {\n return;\n }\n // Spec requires the concatenation of two copies the dash list when the number of elements is odd\n if (1 & dashArray.length) {\n dashArray.push.apply(dashArray, dashArray);\n }\n ctx.setLineDash(dashArray);\n },\n\n /**\n * Renders controls and borders for the object\n * the context here is not transformed\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n */\n _renderControls: function(ctx, styleOverride) {\n var vpt = this.getViewportTransform(),\n matrix = this.calcTransformMatrix(),\n options, drawBorders, drawControls;\n styleOverride = styleOverride || { };\n drawBorders = typeof styleOverride.hasBorders !== 'undefined' ? styleOverride.hasBorders : this.hasBorders;\n drawControls = typeof styleOverride.hasControls !== 'undefined' ? styleOverride.hasControls : this.hasControls;\n matrix = fabric.util.multiplyTransformMatrices(vpt, matrix);\n options = fabric.util.qrDecompose(matrix);\n ctx.save();\n ctx.translate(options.translateX, options.translateY);\n ctx.lineWidth = 1 * this.borderScaleFactor;\n if (!this.group) {\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n }\n if (this.flipX) {\n options.angle -= 180;\n }\n ctx.rotate(degreesToRadians(this.group ? options.angle : this.angle));\n if (styleOverride.forActiveSelection || this.group) {\n drawBorders && this.drawBordersInGroup(ctx, options, styleOverride);\n }\n else {\n drawBorders && this.drawBorders(ctx, styleOverride);\n }\n drawControls && this.drawControls(ctx, styleOverride);\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _setShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n\n var shadow = this.shadow, canvas = this.canvas, scaling,\n multX = (canvas && canvas.viewportTransform[0]) || 1,\n multY = (canvas && canvas.viewportTransform[3]) || 1;\n if (shadow.nonScaling) {\n scaling = { scaleX: 1, scaleY: 1 };\n }\n else {\n scaling = this.getObjectScaling();\n }\n if (canvas && canvas._isRetinaScaling()) {\n multX *= fabric.devicePixelRatio;\n multY *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * fabric.browserShadowBlurConstant *\n (multX + multY) * (scaling.scaleX + scaling.scaleY) / 4;\n ctx.shadowOffsetX = shadow.offsetX * multX * scaling.scaleX;\n ctx.shadowOffsetY = shadow.offsetY * multY * scaling.scaleY;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _removeShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n\n ctx.shadowColor = '';\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} filler fabric.Pattern or fabric.Gradient\n * @return {Object} offset.offsetX offset for text rendering\n * @return {Object} offset.offsetY offset for text rendering\n */\n _applyPatternGradientTransform: function(ctx, filler) {\n if (!filler || !filler.toLive) {\n return { offsetX: 0, offsetY: 0 };\n }\n var t = filler.gradientTransform || filler.patternTransform;\n var offsetX = -this.width / 2 + filler.offsetX || 0,\n offsetY = -this.height / 2 + filler.offsetY || 0;\n\n if (filler.gradientUnits === 'percentage') {\n ctx.transform(this.width, 0, 0, this.height, offsetX, offsetY);\n }\n else {\n ctx.transform(1, 0, 0, 1, offsetX, offsetY);\n }\n if (t) {\n ctx.transform(t[0], t[1], t[2], t[3], t[4], t[5]);\n }\n return { offsetX: offsetX, offsetY: offsetY };\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderPaintInOrder: function(ctx) {\n if (this.paintFirst === 'stroke') {\n this._renderStroke(ctx);\n this._renderFill(ctx);\n }\n else {\n this._renderFill(ctx);\n this._renderStroke(ctx);\n }\n },\n\n /**\n * @private\n * function that actually render something on the context.\n * empty here to allow Obects to work on tests to benchmark fabric functionalites\n * not related to rendering\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(/* ctx */) {\n\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderFill: function(ctx) {\n if (!this.fill) {\n return;\n }\n\n ctx.save();\n this._setFillStyles(ctx, this);\n if (this.fillRule === 'evenodd') {\n ctx.fill('evenodd');\n }\n else {\n ctx.fill();\n }\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderStroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n\n ctx.save();\n if (this.strokeUniform && this.group) {\n var scaling = this.getObjectScaling();\n ctx.scale(1 / scaling.scaleX, 1 / scaling.scaleY);\n }\n else if (this.strokeUniform) {\n ctx.scale(1 / this.scaleX, 1 / this.scaleY);\n }\n this._setLineDash(ctx, this.strokeDashArray);\n this._setStrokeStyles(ctx, this);\n ctx.stroke();\n ctx.restore();\n },\n\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drwabacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Gradient} filler a fabric gradient instance\n */\n _applyPatternForTransformedGradient: function(ctx, filler) {\n var dims = this._limitCacheSize(this._getCacheCanvasDimensions()),\n pCanvas = fabric.util.createCanvasElement(), pCtx, retinaScaling = this.canvas.getRetinaScaling(),\n width = dims.x / this.scaleX / retinaScaling, height = dims.y / this.scaleY / retinaScaling;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext('2d');\n pCtx.beginPath(); pCtx.moveTo(0, 0); pCtx.lineTo(width, 0); pCtx.lineTo(width, height);\n pCtx.lineTo(0, height); pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.scale(\n dims.zoomX / this.scaleX / retinaScaling,\n dims.zoomY / this.scaleY / retinaScaling\n );\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fillStyle = filler.toLive(ctx);\n pCtx.fill();\n ctx.translate(-this.width / 2 - this.strokeWidth / 2, -this.height / 2 - this.strokeWidth / 2);\n ctx.scale(\n retinaScaling * this.scaleX / dims.zoomX,\n retinaScaling * this.scaleY / dims.zoomY\n );\n ctx.strokeStyle = pCtx.createPattern(pCanvas, 'no-repeat');\n },\n\n /**\n * This function is an helper for svg import. it returns the center of the object in the svg\n * untransformed coordinates\n * @private\n * @return {Object} center point from element coordinates\n */\n _findCenterFromElement: function() {\n return { x: this.left + this.width / 2, y: this.top + this.height / 2 };\n },\n\n /**\n * This function is an helper for svg import. it decompose the transformMatrix\n * and assign properties to object.\n * untransformed coordinates\n * @private\n * @chainable\n */\n _assignTransformMatrixProps: function() {\n if (this.transformMatrix) {\n var options = fabric.util.qrDecompose(this.transformMatrix);\n this.flipX = false;\n this.flipY = false;\n this.set('scaleX', options.scaleX);\n this.set('scaleY', options.scaleY);\n this.angle = options.angle;\n this.skewX = options.skewX;\n this.skewY = 0;\n }\n },\n\n /**\n * This function is an helper for svg import. it removes the transform matrix\n * and set to object properties that fabricjs can handle\n * @private\n * @param {Object} preserveAspectRatioOptions\n * @return {thisArg}\n */\n _removeTransformMatrix: function(preserveAspectRatioOptions) {\n var center = this._findCenterFromElement();\n if (this.transformMatrix) {\n this._assignTransformMatrixProps();\n center = fabric.util.transformPoint(center, this.transformMatrix);\n }\n this.transformMatrix = null;\n if (preserveAspectRatioOptions) {\n this.scaleX *= preserveAspectRatioOptions.scaleX;\n this.scaleY *= preserveAspectRatioOptions.scaleY;\n this.cropX = preserveAspectRatioOptions.cropX;\n this.cropY = preserveAspectRatioOptions.cropY;\n center.x += preserveAspectRatioOptions.offsetLeft;\n center.y += preserveAspectRatioOptions.offsetTop;\n this.width = preserveAspectRatioOptions.width;\n this.height = preserveAspectRatioOptions.height;\n }\n this.setPositionByOrigin(center, 'center', 'center');\n },\n\n /**\n * Clones an instance, using a callback method will work for every object.\n * @param {Function} callback Callback is invoked with a clone as a first argument\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n */\n clone: function(callback, propertiesToInclude) {\n var objectForm = this.toObject(propertiesToInclude);\n if (this.constructor.fromObject) {\n this.constructor.fromObject(objectForm, callback);\n }\n else {\n fabric.Object._fromObject('Object', objectForm, callback);\n }\n },\n\n /**\n * Creates an instance of fabric.Image out of an object\n * makes use of toCanvasElement.\n * Once this method was based on toDataUrl and loadImage, so it also had a quality\n * and format option. toCanvasElement is faster and produce no loss of quality.\n * If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it.\n * toCanvasElement and then toBlob from the obtained canvas is also a good option.\n * This method is sync now, but still support the callback because we did not want to break.\n * When fabricJS 5.0 will be planned, this will probably be changed to not have a callback.\n * @param {Function} callback callback, invoked with an instance as a first argument\n * @param {Object} [options] for clone as image, passed to toDataURL\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {fabric.Object} thisArg\n */\n cloneAsImage: function(callback, options) {\n var canvasEl = this.toCanvasElement(options);\n if (callback) {\n callback(new fabric.Image(canvasEl));\n }\n return this;\n },\n\n /**\n * Converts an object into a HTMLCanvas element\n * @param {Object} options Options object\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {HTMLCanvasElement} Returns DOM element with the fabric.Object\n */\n toCanvasElement: function(options) {\n options || (options = { });\n\n var utils = fabric.util, origParams = utils.saveObjectTransform(this),\n originalGroup = this.group,\n originalShadow = this.shadow, abs = Math.abs,\n multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? fabric.devicePixelRatio : 1);\n delete this.group;\n if (options.withoutTransform) {\n utils.resetObjectTransform(this);\n }\n if (options.withoutShadow) {\n this.shadow = null;\n }\n\n var el = fabric.util.createCanvasElement(),\n // skip canvas zoom and calculate with setCoords now.\n boundingRect = this.getBoundingRect(true, true),\n shadow = this.shadow, scaling,\n shadowOffset = { x: 0, y: 0 }, shadowBlur,\n width, height;\n\n if (shadow) {\n shadowBlur = shadow.blur;\n if (shadow.nonScaling) {\n scaling = { scaleX: 1, scaleY: 1 };\n }\n else {\n scaling = this.getObjectScaling();\n }\n // consider non scaling shadow.\n shadowOffset.x = 2 * Math.round(abs(shadow.offsetX) + shadowBlur) * (abs(scaling.scaleX));\n shadowOffset.y = 2 * Math.round(abs(shadow.offsetY) + shadowBlur) * (abs(scaling.scaleY));\n }\n width = boundingRect.width + shadowOffset.x;\n height = boundingRect.height + shadowOffset.y;\n // if the current width/height is not an integer\n // we need to make it so.\n el.width = Math.ceil(width);\n el.height = Math.ceil(height);\n var canvas = new fabric.StaticCanvas(el, {\n enableRetinaScaling: false,\n renderOnAddRemove: false,\n skipOffscreen: false,\n });\n if (options.format === 'jpeg') {\n canvas.backgroundColor = '#fff';\n }\n this.setPositionByOrigin(new fabric.Point(canvas.width / 2, canvas.height / 2), 'center', 'center');\n\n var originalCanvas = this.canvas;\n canvas.add(this);\n var canvasEl = canvas.toCanvasElement(multiplier || 1, options);\n this.shadow = originalShadow;\n this.set('canvas', originalCanvas);\n if (originalGroup) {\n this.group = originalGroup;\n }\n this.set(origParams).setCoords();\n // canvas.dispose will call image.dispose that will nullify the elements\n // since this canvas is a simple element for the process, we remove references\n // to objects in this way in order to avoid object trashing.\n canvas._objects = [];\n canvas.dispose();\n canvas = null;\n\n return canvasEl;\n },\n\n /**\n * Converts an object into a data-url-like string\n * @param {Object} options Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n */\n toDataURL: function(options) {\n options || (options = { });\n return fabric.util.toDataURL(this.toCanvasElement(options), options.format || 'png', options.quality || 1);\n },\n\n /**\n * Returns true if specified type is identical to the type of an instance\n * @param {String} type Type to check against\n * @return {Boolean}\n */\n isType: function(type) {\n return arguments.length > 1 ? Array.from(arguments).includes(this.type) : this.type === type;\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance (is 1 unless subclassed)\n */\n complexity: function() {\n return 1;\n },\n\n /**\n * Returns a JSON representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON\n */\n toJSON: function(propertiesToInclude) {\n // delegate, not alias\n return this.toObject(propertiesToInclude);\n },\n\n /**\n * Sets \"angle\" of an instance with centered rotation\n * @param {Number} angle Angle value (in degrees)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n rotate: function(angle) {\n var shouldCenterOrigin = (this.originX !== 'center' || this.originY !== 'center') && this.centeredRotation;\n\n if (shouldCenterOrigin) {\n this._setOriginToCenter();\n }\n\n this.set('angle', angle);\n\n if (shouldCenterOrigin) {\n this._resetOrigin();\n }\n\n return this;\n },\n\n /**\n * Centers object horizontally on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n centerH: function () {\n this.canvas && this.canvas.centerObjectH(this);\n return this;\n },\n\n /**\n * Centers object horizontally on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenterH: function () {\n this.canvas && this.canvas.viewportCenterObjectH(this);\n return this;\n },\n\n /**\n * Centers object vertically on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n centerV: function () {\n this.canvas && this.canvas.centerObjectV(this);\n return this;\n },\n\n /**\n * Centers object vertically on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenterV: function () {\n this.canvas && this.canvas.viewportCenterObjectV(this);\n return this;\n },\n\n /**\n * Centers object vertically and horizontally on canvas to which is was added last\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n center: function () {\n this.canvas && this.canvas.centerObject(this);\n return this;\n },\n\n /**\n * Centers object on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n viewportCenter: function () {\n this.canvas && this.canvas.viewportCenterObject(this);\n return this;\n },\n\n /**\n * Returns coordinates of a pointer relative to an object\n * @param {Event} e Event to operate upon\n * @param {Object} [pointer] Pointer to operate upon (instead of event)\n * @return {Object} Coordinates of a pointer (x, y)\n */\n getLocalPointer: function(e, pointer) {\n pointer = pointer || this.canvas.getPointer(e);\n var pClicked = new fabric.Point(pointer.x, pointer.y),\n objectLeftTop = this._getLeftTopCoords();\n if (this.angle) {\n pClicked = fabric.util.rotatePoint(\n pClicked, objectLeftTop, degreesToRadians(-this.angle));\n }\n return {\n x: pClicked.x - objectLeftTop.x,\n y: pClicked.y - objectLeftTop.y\n };\n },\n\n /**\n * Sets canvas globalCompositeOperation for specific object\n * custom composition operation for the particular object can be specified using globalCompositeOperation property\n * @param {CanvasRenderingContext2D} ctx Rendering canvas context\n */\n _setupCompositeOperation: function (ctx) {\n if (this.globalCompositeOperation) {\n ctx.globalCompositeOperation = this.globalCompositeOperation;\n }\n },\n\n /**\n * cancel instance's running animations\n * override if necessary to dispose artifacts such as `clipPath`\n */\n dispose: function () {\n if (fabric.runningAnimations) {\n fabric.runningAnimations.cancelByTarget(this);\n }\n }\n });\n\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Object);\n\n extend(fabric.Object.prototype, fabric.Observable);\n\n /**\n * Defines the number of fraction digits to use when serializing object values.\n * You can use it to increase/decrease precision of such values like left, top, scaleX, scaleY, etc.\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type Number\n */\n fabric.Object.NUM_FRACTION_DIGITS = 2;\n\n /**\n * Defines which properties should be enlivened from the object passed to {@link fabric.Object._fromObject}\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type string[]\n */\n fabric.Object.ENLIVEN_PROPS = ['clipPath'];\n\n fabric.Object._fromObject = function(className, object, callback, extraParam) {\n var klass = fabric[className];\n object = clone(object, true);\n fabric.util.enlivenPatterns([object.fill, object.stroke], function(patterns) {\n if (typeof patterns[0] !== 'undefined') {\n object.fill = patterns[0];\n }\n if (typeof patterns[1] !== 'undefined') {\n object.stroke = patterns[1];\n }\n fabric.util.enlivenObjectEnlivables(object, object, function () {\n var instance = extraParam ? new klass(object[extraParam], object) : new klass(object);\n callback && callback(instance);\n });\n });\n };\n\n /**\n * Unique id used internally when creating SVG elements\n * @static\n * @memberOf fabric.Object\n * @type Number\n */\n fabric.Object.__uid = 0;\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n\n var degreesToRadians = fabric.util.degreesToRadians,\n originXOffset = {\n left: -0.5,\n center: 0,\n right: 0.5\n },\n originYOffset = {\n top: -0.5,\n center: 0,\n bottom: 0.5\n };\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Translates the coordinates from a set of origin to another (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} fromOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} fromOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @param {String} toOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} toOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToGivenOrigin: function(point, fromOriginX, fromOriginY, toOriginX, toOriginY) {\n var x = point.x,\n y = point.y,\n offsetX, offsetY, dim;\n\n if (typeof fromOriginX === 'string') {\n fromOriginX = originXOffset[fromOriginX];\n }\n else {\n fromOriginX -= 0.5;\n }\n\n if (typeof toOriginX === 'string') {\n toOriginX = originXOffset[toOriginX];\n }\n else {\n toOriginX -= 0.5;\n }\n\n offsetX = toOriginX - fromOriginX;\n\n if (typeof fromOriginY === 'string') {\n fromOriginY = originYOffset[fromOriginY];\n }\n else {\n fromOriginY -= 0.5;\n }\n\n if (typeof toOriginY === 'string') {\n toOriginY = originYOffset[toOriginY];\n }\n else {\n toOriginY -= 0.5;\n }\n\n offsetY = toOriginY - fromOriginY;\n\n if (offsetX || offsetY) {\n dim = this._getTransformedDimensions();\n x = point.x + offsetX * dim.x;\n y = point.y + offsetY * dim.y;\n }\n\n return new fabric.Point(x, y);\n },\n\n /**\n * Translates the coordinates from origin to center coordinates (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToCenterPoint: function(point, originX, originY) {\n var p = this.translateToGivenOrigin(point, originX, originY, 'center', 'center');\n if (this.angle) {\n return fabric.util.rotatePoint(p, point, degreesToRadians(this.angle));\n }\n return p;\n },\n\n /**\n * Translates the coordinates from center to origin coordinates (based on the object's dimensions)\n * @param {fabric.Point} center The point which corresponds to center of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n translateToOriginPoint: function(center, originX, originY) {\n var p = this.translateToGivenOrigin(center, 'center', 'center', originX, originY);\n if (this.angle) {\n return fabric.util.rotatePoint(p, center, degreesToRadians(this.angle));\n }\n return p;\n },\n\n /**\n * Returns the real center coordinates of the object\n * @return {fabric.Point}\n */\n getCenterPoint: function() {\n var leftTop = new fabric.Point(this.left, this.top);\n return this.translateToCenterPoint(leftTop, this.originX, this.originY);\n },\n\n /**\n * Returns the coordinates of the object based on center coordinates\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @return {fabric.Point}\n */\n // getOriginPoint: function(center) {\n // return this.translateToOriginPoint(center, this.originX, this.originY);\n // },\n\n /**\n * Returns the coordinates of the object as if it has a different origin\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n getPointByOrigin: function(originX, originY) {\n var center = this.getCenterPoint();\n return this.translateToOriginPoint(center, originX, originY);\n },\n\n /**\n * Returns the point in local coordinates\n * @param {fabric.Point} point The point relative to the global coordinate system\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */\n toLocalPoint: function(point, originX, originY) {\n var center = this.getCenterPoint(),\n p, p2;\n\n if (typeof originX !== 'undefined' && typeof originY !== 'undefined' ) {\n p = this.translateToGivenOrigin(center, 'center', 'center', originX, originY);\n }\n else {\n p = new fabric.Point(this.left, this.top);\n }\n\n p2 = new fabric.Point(point.x, point.y);\n if (this.angle) {\n p2 = fabric.util.rotatePoint(p2, center, -degreesToRadians(this.angle));\n }\n return p2.subtractEquals(p);\n },\n\n /**\n * Returns the point in global coordinates\n * @param {fabric.Point} The point relative to the local coordinate system\n * @return {fabric.Point}\n */\n // toGlobalPoint: function(point) {\n // return fabric.util.rotatePoint(point, this.getCenterPoint(), degreesToRadians(this.angle)).addEquals(new fabric.Point(this.left, this.top));\n // },\n\n /**\n * Sets the position of the object taking into consideration the object's origin\n * @param {fabric.Point} pos The new position of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {void}\n */\n setPositionByOrigin: function(pos, originX, originY) {\n var center = this.translateToCenterPoint(pos, originX, originY),\n position = this.translateToOriginPoint(center, this.originX, this.originY);\n this.set('left', position.x);\n this.set('top', position.y);\n },\n\n /**\n * @param {String} to One of 'left', 'center', 'right'\n */\n adjustPosition: function(to) {\n var angle = degreesToRadians(this.angle),\n hypotFull = this.getScaledWidth(),\n xFull = fabric.util.cos(angle) * hypotFull,\n yFull = fabric.util.sin(angle) * hypotFull,\n offsetFrom, offsetTo;\n\n //TODO: this function does not consider mixed situation like top, center.\n if (typeof this.originX === 'string') {\n offsetFrom = originXOffset[this.originX];\n }\n else {\n offsetFrom = this.originX - 0.5;\n }\n if (typeof to === 'string') {\n offsetTo = originXOffset[to];\n }\n else {\n offsetTo = to - 0.5;\n }\n this.left += xFull * (offsetTo - offsetFrom);\n this.top += yFull * (offsetTo - offsetFrom);\n this.setCoords();\n this.originX = to;\n },\n\n /**\n * Sets the origin/position of the object to it's center point\n * @private\n * @return {void}\n */\n _setOriginToCenter: function() {\n this._originalOriginX = this.originX;\n this._originalOriginY = this.originY;\n\n var center = this.getCenterPoint();\n\n this.originX = 'center';\n this.originY = 'center';\n\n this.left = center.x;\n this.top = center.y;\n },\n\n /**\n * Resets the origin/position of the object to it's original origin\n * @private\n * @return {void}\n */\n _resetOrigin: function() {\n var originPoint = this.translateToOriginPoint(\n this.getCenterPoint(),\n this._originalOriginX,\n this._originalOriginY);\n\n this.originX = this._originalOriginX;\n this.originY = this._originalOriginY;\n\n this.left = originPoint.x;\n this.top = originPoint.y;\n\n this._originalOriginX = null;\n this._originalOriginY = null;\n },\n\n /**\n * @private\n */\n _getLeftTopCoords: function() {\n return this.translateToOriginPoint(this.getCenterPoint(), 'left', 'top');\n },\n });\n\n})();\n(function() {\n\n function arrayFromCoords(coords) {\n return [\n new fabric.Point(coords.tl.x, coords.tl.y),\n new fabric.Point(coords.tr.x, coords.tr.y),\n new fabric.Point(coords.br.x, coords.br.y),\n new fabric.Point(coords.bl.x, coords.bl.y)\n ];\n }\n\n var util = fabric.util,\n degreesToRadians = util.degreesToRadians,\n multiplyMatrices = util.multiplyTransformMatrices,\n transformPoint = util.transformPoint;\n\n util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Describe object's corner position in canvas element coordinates.\n * properties are depending on control keys and padding the main controls.\n * each property is an object with x, y and corner.\n * The `corner` property contains in a similar manner the 4 points of the\n * interactive area of the corner.\n * The coordinates depends from the controls positionHandler and are used\n * to draw and locate controls\n * @memberOf fabric.Object.prototype\n */\n oCoords: null,\n\n /**\n * Describe object's corner position in canvas object absolute coordinates\n * properties are tl,tr,bl,br and describe the four main corner.\n * each property is an object with x, y, instance of Fabric.Point.\n * The coordinates depends from this properties: width, height, scaleX, scaleY\n * skewX, skewY, angle, strokeWidth, top, left.\n * Those coordinates are useful to understand where an object is. They get updated\n * with oCoords but they do not need to be updated when zoom or panning change.\n * The coordinates get updated with @method setCoords.\n * You can calculate them without updating with @method calcACoords();\n * @memberOf fabric.Object.prototype\n */\n aCoords: null,\n\n /**\n * Describe object's corner position in canvas element coordinates.\n * includes padding. Used of object detection.\n * set and refreshed with setCoords.\n * @memberOf fabric.Object.prototype\n */\n lineCoords: null,\n\n /**\n * storage for object transform matrix\n */\n ownMatrixCache: null,\n\n /**\n * storage for object full transform matrix\n */\n matrixCache: null,\n\n /**\n * custom controls interface\n * controls are added by default_controls.js\n */\n controls: { },\n\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * @param {Boolean} absolute will return aCoords if true or lineCoords\n * @return {Object} {tl, tr, br, bl} points\n */\n _getCoords: function(absolute, calculate) {\n if (calculate) {\n return (absolute ? this.calcACoords() : this.calcLineCoords());\n }\n if (!this.aCoords || !this.lineCoords) {\n this.setCoords(true);\n }\n return (absolute ? this.aCoords : this.lineCoords);\n },\n\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * The coords are returned in an array.\n * @return {Array} [tl, tr, br, bl] of points\n */\n getCoords: function(absolute, calculate) {\n return arrayFromCoords(this._getCoords(absolute, calculate));\n },\n\n /**\n * Checks if object intersects with an area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with an area formed by 2 points\n */\n intersectsWithRect: function(pointTL, pointBR, absolute, calculate) {\n var coords = this.getCoords(absolute, calculate),\n intersection = fabric.Intersection.intersectPolygonRectangle(\n coords,\n pointTL,\n pointBR\n );\n return intersection.status === 'Intersection';\n },\n\n /**\n * Checks if object intersects with another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with another object\n */\n intersectsWithObject: function(other, absolute, calculate) {\n var intersection = fabric.Intersection.intersectPolygonPolygon(\n this.getCoords(absolute, calculate),\n other.getCoords(absolute, calculate)\n );\n\n return intersection.status === 'Intersection'\n || other.isContainedWithinObject(this, absolute, calculate)\n || this.isContainedWithinObject(other, absolute, calculate);\n },\n\n /**\n * Checks if object is fully contained within area of another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area of another object\n */\n isContainedWithinObject: function(other, absolute, calculate) {\n var points = this.getCoords(absolute, calculate),\n otherCoords = absolute ? other.aCoords : other.lineCoords,\n i = 0, lines = other._getImageLines(otherCoords);\n for (; i < 4; i++) {\n if (!other.containsPoint(points[i], lines)) {\n return false;\n }\n }\n return true;\n },\n\n /**\n * Checks if object is fully contained within area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area formed by 2 points\n */\n isContainedWithinRect: function(pointTL, pointBR, absolute, calculate) {\n var boundingRect = this.getBoundingRect(absolute, calculate);\n\n return (\n boundingRect.left >= pointTL.x &&\n boundingRect.left + boundingRect.width <= pointBR.x &&\n boundingRect.top >= pointTL.y &&\n boundingRect.top + boundingRect.height <= pointBR.y\n );\n },\n\n /**\n * Checks if point is inside the object\n * @param {fabric.Point} point Point to check against\n * @param {Object} [lines] object returned from @method _getImageLines\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if point is inside the object\n */\n containsPoint: function(point, lines, absolute, calculate) {\n var coords = this._getCoords(absolute, calculate),\n lines = lines || this._getImageLines(coords),\n xPoints = this._findCrossPoints(point, lines);\n // if xPoints is odd then point is inside the object\n return (xPoints !== 0 && xPoints % 2 === 1);\n },\n\n /**\n * Checks if object is contained within the canvas with current viewportTransform\n * the check is done stopping at first point that appears on screen\n * @param {Boolean} [calculate] use coordinates of current position instead of .aCoords\n * @return {Boolean} true if object is fully or partially contained within canvas\n */\n isOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n var points = this.getCoords(true, calculate);\n // if some point is on screen, the object is on screen.\n if (points.some(function(point) {\n return point.x <= pointBR.x && point.x >= pointTL.x &&\n point.y <= pointBR.y && point.y >= pointTL.y;\n })) {\n return true;\n }\n // no points on screen, check intersection with absolute coordinates\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n return this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n\n /**\n * Checks if the object contains the midpoint between canvas extremities\n * Does not make sense outside the context of isOnScreen and isPartiallyOnScreen\n * @private\n * @param {Fabric.Point} pointTL Top Left point\n * @param {Fabric.Point} pointBR Top Right point\n * @param {Boolean} calculate use coordinates of current position instead of .oCoords\n * @return {Boolean} true if the object contains the point\n */\n _containsCenterOfCanvas: function(pointTL, pointBR, calculate) {\n // worst case scenario the object is so big that contains the screen\n var centerPoint = { x: (pointTL.x + pointBR.x) / 2, y: (pointTL.y + pointBR.y) / 2 };\n if (this.containsPoint(centerPoint, null, true, calculate)) {\n return true;\n }\n return false;\n },\n\n /**\n * Checks if object is partially contained within the canvas with current viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is partially contained within canvas\n */\n isPartiallyOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n var allPointsAreOutside = this.getCoords(true, calculate).every(function(point) {\n return (point.x >= pointBR.x || point.x <= pointTL.x) &&\n (point.y >= pointBR.y || point.y <= pointTL.y);\n });\n return allPointsAreOutside && this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n\n /**\n * Method that returns an object with the object edges in it, given the coordinates of the corners\n * @private\n * @param {Object} oCoords Coordinates of the object corners\n */\n _getImageLines: function(oCoords) {\n\n var lines = {\n topline: {\n o: oCoords.tl,\n d: oCoords.tr\n },\n rightline: {\n o: oCoords.tr,\n d: oCoords.br\n },\n bottomline: {\n o: oCoords.br,\n d: oCoords.bl\n },\n leftline: {\n o: oCoords.bl,\n d: oCoords.tl\n }\n };\n\n // // debugging\n // if (this.canvas.contextTop) {\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n // }\n\n return lines;\n },\n\n /**\n * Helper method to determine how many cross points are between the 4 object edges\n * and the horizontal line determined by a point on canvas\n * @private\n * @param {fabric.Point} point Point to check\n * @param {Object} lines Coordinates of the object being evaluated\n */\n // remove yi, not used but left code here just in case.\n _findCrossPoints: function(point, lines) {\n var b1, b2, a1, a2, xi, // yi,\n xcount = 0,\n iLine;\n\n for (var lineKey in lines) {\n iLine = lines[lineKey];\n // optimisation 1: line below point. no cross\n if ((iLine.o.y < point.y) && (iLine.d.y < point.y)) {\n continue;\n }\n // optimisation 2: line above point. no cross\n if ((iLine.o.y >= point.y) && (iLine.d.y >= point.y)) {\n continue;\n }\n // optimisation 3: vertical line case\n if ((iLine.o.x === iLine.d.x) && (iLine.o.x >= point.x)) {\n xi = iLine.o.x;\n // yi = point.y;\n }\n // calculate the intersection point\n else {\n b1 = 0;\n b2 = (iLine.d.y - iLine.o.y) / (iLine.d.x - iLine.o.x);\n a1 = point.y - b1 * point.x;\n a2 = iLine.o.y - b2 * iLine.o.x;\n\n xi = -(a1 - a2) / (b1 - b2);\n // yi = a1 + b1 * xi;\n }\n // dont count xi < point.x cases\n if (xi >= point.x) {\n xcount += 1;\n }\n // optimisation 4: specific for square images\n if (xcount === 2) {\n break;\n }\n }\n return xcount;\n },\n\n /**\n * Returns coordinates of object's bounding rectangle (left, top, width, height)\n * the box is intended as aligned to axis of canvas.\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords / .aCoords\n * @return {Object} Object with left, top, width, height properties\n */\n getBoundingRect: function(absolute, calculate) {\n var coords = this.getCoords(absolute, calculate);\n return util.makeBoundingBoxFromPoints(coords);\n },\n\n /**\n * Returns width of an object's bounding box counting transformations\n * before 2.0 it was named getWidth();\n * @return {Number} width value\n */\n getScaledWidth: function() {\n return this._getTransformedDimensions().x;\n },\n\n /**\n * Returns height of an object bounding box counting transformations\n * before 2.0 it was named getHeight();\n * @return {Number} height value\n */\n getScaledHeight: function() {\n return this._getTransformedDimensions().y;\n },\n\n /**\n * Makes sure the scale is valid and modifies it if necessary\n * @private\n * @param {Number} value\n * @return {Number}\n */\n _constrainScale: function(value) {\n if (Math.abs(value) < this.minScaleLimit) {\n if (value < 0) {\n return -this.minScaleLimit;\n }\n else {\n return this.minScaleLimit;\n }\n }\n else if (value === 0) {\n return 0.0001;\n }\n return value;\n },\n\n /**\n * Scales an object (equally by x and y)\n * @param {Number} value Scale factor\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scale: function(value) {\n this._set('scaleX', value);\n this._set('scaleY', value);\n return this.setCoords();\n },\n\n /**\n * Scales an object to a given width, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New width value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scaleToWidth: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).width / this.getScaledWidth();\n return this.scale(value / this.width / boundingRectFactor);\n },\n\n /**\n * Scales an object to a given height, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New height value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */\n scaleToHeight: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).height / this.getScaledHeight();\n return this.scale(value / this.height / boundingRectFactor);\n },\n\n calcLineCoords: function() {\n var vpt = this.getViewportTransform(),\n padding = this.padding, angle = degreesToRadians(this.angle),\n cos = util.cos(angle), sin = util.sin(angle),\n cosP = cos * padding, sinP = sin * padding, cosPSinP = cosP + sinP,\n cosPMinusSinP = cosP - sinP, aCoords = this.calcACoords();\n\n var lineCoords = {\n tl: transformPoint(aCoords.tl, vpt),\n tr: transformPoint(aCoords.tr, vpt),\n bl: transformPoint(aCoords.bl, vpt),\n br: transformPoint(aCoords.br, vpt),\n };\n\n if (padding) {\n lineCoords.tl.x -= cosPMinusSinP;\n lineCoords.tl.y -= cosPSinP;\n lineCoords.tr.x += cosPSinP;\n lineCoords.tr.y -= cosPMinusSinP;\n lineCoords.bl.x -= cosPSinP;\n lineCoords.bl.y += cosPMinusSinP;\n lineCoords.br.x += cosPMinusSinP;\n lineCoords.br.y += cosPSinP;\n }\n\n return lineCoords;\n },\n\n calcOCoords: function() {\n var rotateMatrix = this._calcRotateMatrix(),\n translateMatrix = this._calcTranslateMatrix(),\n vpt = this.getViewportTransform(),\n startMatrix = multiplyMatrices(vpt, translateMatrix),\n finalMatrix = multiplyMatrices(startMatrix, rotateMatrix),\n finalMatrix = multiplyMatrices(finalMatrix, [1 / vpt[0], 0, 0, 1 / vpt[3], 0, 0]),\n dim = this._calculateCurrentDimensions(),\n coords = {};\n this.forEachControl(function(control, key, fabricObject) {\n coords[key] = control.positionHandler(dim, finalMatrix, fabricObject);\n });\n\n // debug code\n // var canvas = this.canvas;\n // setTimeout(function() {\n // canvas.contextTop.clearRect(0, 0, 700, 700);\n // canvas.contextTop.fillStyle = 'green';\n // Object.keys(coords).forEach(function(key) {\n // var control = coords[key];\n // canvas.contextTop.fillRect(control.x, control.y, 3, 3);\n // });\n // }, 50);\n return coords;\n },\n\n calcACoords: function() {\n var rotateMatrix = this._calcRotateMatrix(),\n translateMatrix = this._calcTranslateMatrix(),\n finalMatrix = multiplyMatrices(translateMatrix, rotateMatrix),\n dim = this._getTransformedDimensions(),\n w = dim.x / 2, h = dim.y / 2;\n return {\n // corners\n tl: transformPoint({ x: -w, y: -h }, finalMatrix),\n tr: transformPoint({ x: w, y: -h }, finalMatrix),\n bl: transformPoint({ x: -w, y: h }, finalMatrix),\n br: transformPoint({ x: w, y: h }, finalMatrix)\n };\n },\n\n /**\n * Sets corner and controls position coordinates based on current angle, width and height, left and top.\n * oCoords are used to find the corners\n * aCoords are used to quickly find an object on the canvas\n * lineCoords are used to quickly find object during pointer events.\n * See {@link https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords} and {@link http://fabricjs.com/fabric-gotchas}\n *\n * @param {Boolean} [skipCorners] skip calculation of oCoords.\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setCoords: function(skipCorners) {\n this.aCoords = this.calcACoords();\n // in case we are in a group, for how the inner group target check works,\n // lineCoords are exactly aCoords. Since the vpt gets absorbed by the normalized pointer.\n this.lineCoords = this.group ? this.aCoords : this.calcLineCoords();\n if (skipCorners) {\n return this;\n }\n // set coordinates of the draggable boxes in the corners used to scale/rotate the image\n this.oCoords = this.calcOCoords();\n this._setCornerCoords && this._setCornerCoords();\n return this;\n },\n\n /**\n * calculate rotation matrix of an object\n * @return {Array} rotation matrix for the object\n */\n _calcRotateMatrix: function() {\n return util.calcRotateMatrix(this);\n },\n\n /**\n * calculate the translation matrix for an object transform\n * @return {Array} rotation matrix for the object\n */\n _calcTranslateMatrix: function() {\n var center = this.getCenterPoint();\n return [1, 0, 0, 1, center.x, center.y];\n },\n\n transformMatrixKey: function(skipGroup) {\n var sep = '_', prefix = '';\n if (!skipGroup && this.group) {\n prefix = this.group.transformMatrixKey(skipGroup) + sep;\n };\n return prefix + this.top + sep + this.left + sep + this.scaleX + sep + this.scaleY +\n sep + this.skewX + sep + this.skewY + sep + this.angle + sep + this.originX + sep + this.originY +\n sep + this.width + sep + this.height + sep + this.strokeWidth + this.flipX + this.flipY;\n },\n\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties.\n * @param {Boolean} [skipGroup] return transform matrix for object not counting parent transformations\n * There are some situation in which this is useful to avoid the fake rotation.\n * @return {Array} transform matrix for the object\n */\n calcTransformMatrix: function(skipGroup) {\n var matrix = this.calcOwnMatrix();\n if (skipGroup || !this.group) {\n return matrix;\n }\n var key = this.transformMatrixKey(skipGroup), cache = this.matrixCache || (this.matrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n if (this.group) {\n matrix = multiplyMatrices(this.group.calcTransformMatrix(false), matrix);\n }\n cache.key = key;\n cache.value = matrix;\n return matrix;\n },\n\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties, this matrix does not include the group transformation\n * @return {Array} transform matrix for the object\n */\n calcOwnMatrix: function() {\n var key = this.transformMatrixKey(true), cache = this.ownMatrixCache || (this.ownMatrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n var tMatrix = this._calcTranslateMatrix(),\n options = {\n angle: this.angle,\n translateX: tMatrix[4],\n translateY: tMatrix[5],\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: this.skewX,\n skewY: this.skewY,\n flipX: this.flipX,\n flipY: this.flipY,\n };\n cache.key = key;\n cache.value = util.composeMatrix(options);\n return cache.value;\n },\n\n /*\n * Calculate object dimensions from its properties\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */\n _getNonTransformedDimensions: function() {\n var strokeWidth = this.strokeWidth,\n w = this.width + strokeWidth,\n h = this.height + strokeWidth;\n return { x: w, y: h };\n },\n\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param {Number} skewX, a value to override current skewX\n * @param {Number} skewY, a value to override current skewY\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */\n _getTransformedDimensions: function(skewX, skewY) {\n if (typeof skewX === 'undefined') {\n skewX = this.skewX;\n }\n if (typeof skewY === 'undefined') {\n skewY = this.skewY;\n }\n var dimensions, dimX, dimY,\n noSkew = skewX === 0 && skewY === 0;\n\n if (this.strokeUniform) {\n dimX = this.width;\n dimY = this.height;\n }\n else {\n dimensions = this._getNonTransformedDimensions();\n dimX = dimensions.x;\n dimY = dimensions.y;\n }\n if (noSkew) {\n return this._finalizeDimensions(dimX * this.scaleX, dimY * this.scaleY);\n }\n var bbox = util.sizeAfterTransform(dimX, dimY, {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: skewX,\n skewY: skewY,\n });\n return this._finalizeDimensions(bbox.x, bbox.y);\n },\n\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param Number width width of the bbox\n * @param Number height height of the bbox\n * @private\n * @return {Object} .x finalized width dimension\n * @return {Object} .y finalized height dimension\n */\n _finalizeDimensions: function(width, height) {\n return this.strokeUniform ?\n { x: width + this.strokeWidth, y: height + this.strokeWidth }\n :\n { x: width, y: height };\n },\n\n /*\n * Calculate object dimensions for controls box, including padding and canvas zoom.\n * and active selection\n * private\n */\n _calculateCurrentDimensions: function() {\n var vpt = this.getViewportTransform(),\n dim = this._getTransformedDimensions(),\n p = transformPoint(dim, vpt, true);\n return p.scalarAdd(2 * this.padding);\n },\n });\n})();\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Moves an object to the bottom of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */\n sendToBack: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendToBack.call(this.group, this);\n }\n else if (this.canvas) {\n this.canvas.sendToBack(this);\n }\n return this;\n },\n\n /**\n * Moves an object to the top of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */\n bringToFront: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringToFront.call(this.group, this);\n }\n else if (this.canvas) {\n this.canvas.bringToFront(this);\n }\n return this;\n },\n\n /**\n * Moves an object down in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n sendBackwards: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendBackwards.call(this.group, this, intersecting);\n }\n else if (this.canvas) {\n this.canvas.sendBackwards(this, intersecting);\n }\n return this;\n },\n\n /**\n * Moves an object up in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n bringForward: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringForward.call(this.group, this, intersecting);\n }\n else if (this.canvas) {\n this.canvas.bringForward(this, intersecting);\n }\n return this;\n },\n\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {Number} index New position of object\n * @return {fabric.Object} thisArg\n * @chainable\n */\n moveTo: function(index) {\n if (this.group && this.group.type !== 'activeSelection') {\n fabric.StaticCanvas.prototype.moveTo.call(this.group, this, index);\n }\n else if (this.canvas) {\n this.canvas.moveTo(this, index);\n }\n return this;\n }\n});\n\n(function() {\n\n var extend = fabric.util.object.extend,\n originalSet = 'stateProperties';\n\n /*\n Depends on `stateProperties`\n */\n function saveProps(origin, destination, props) {\n var tmpObj = { }, deep = true;\n props.forEach(function(prop) {\n tmpObj[prop] = origin[prop];\n });\n\n extend(origin[destination], tmpObj, deep);\n }\n\n function _isEqual(origValue, currentValue, firstPass) {\n if (origValue === currentValue) {\n // if the objects are identical, return\n return true;\n }\n else if (Array.isArray(origValue)) {\n if (!Array.isArray(currentValue) || origValue.length !== currentValue.length) {\n return false;\n }\n for (var i = 0, len = origValue.length; i < len; i++) {\n if (!_isEqual(origValue[i], currentValue[i])) {\n return false;\n }\n }\n return true;\n }\n else if (origValue && typeof origValue === 'object') {\n var keys = Object.keys(origValue), key;\n if (!currentValue ||\n typeof currentValue !== 'object' ||\n (!firstPass && keys.length !== Object.keys(currentValue).length)\n ) {\n return false;\n }\n for (var i = 0, len = keys.length; i < len; i++) {\n key = keys[i];\n // since clipPath is in the statefull cache list and the clipPath objects\n // would be iterated as an object, this would lead to possible infinite recursion\n // we do not want to compare those.\n if (key === 'canvas' || key === 'group') {\n continue;\n }\n if (!_isEqual(origValue[key], currentValue[key])) {\n return false;\n }\n }\n return true;\n }\n }\n\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n\n /**\n * Returns true if object state (one of its state properties) was changed\n * @param {String} [propertySet] optional name for the set of property we want to save\n * @return {Boolean} true if instance' state has changed since `{@link fabric.Object#saveState}` was called\n */\n hasStateChanged: function(propertySet) {\n propertySet = propertySet || originalSet;\n var dashedPropertySet = '_' + propertySet;\n if (Object.keys(this[dashedPropertySet]).length < this[propertySet].length) {\n return true;\n }\n return !_isEqual(this[dashedPropertySet], this, true);\n },\n\n /**\n * Saves state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */\n saveState: function(options) {\n var propertySet = options && options.propertySet || originalSet,\n destination = '_' + propertySet;\n if (!this[destination]) {\n return this.setupState(options);\n }\n saveProps(this, destination, this[propertySet]);\n if (options && options.stateProperties) {\n saveProps(this, destination, options.stateProperties);\n }\n return this;\n },\n\n /**\n * Setups state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */\n setupState: function(options) {\n options = options || { };\n var propertySet = options.propertySet || originalSet;\n options.propertySet = propertySet;\n this['_' + propertySet] = { };\n this.saveState(options);\n return this;\n }\n });\n})();\n(function() {\n\n var degreesToRadians = fabric.util.degreesToRadians;\n\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Determines which corner has been clicked\n * @private\n * @param {Object} pointer The pointer indicating the mouse position\n * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found\n */\n _findTargetCorner: function(pointer, forTouch) {\n // objects in group, anykind, are not self modificable,\n // must not return an hovered corner.\n if (!this.hasControls || this.group || (!this.canvas || this.canvas._activeObject !== this)) {\n return false;\n }\n\n var ex = pointer.x,\n ey = pointer.y,\n xPoints,\n lines, keys = Object.keys(this.oCoords),\n j = keys.length - 1, i;\n this.__corner = 0;\n\n // cycle in reverse order so we pick first the one on top\n for (; j >= 0; j--) {\n i = keys[j];\n if (!this.isControlVisible(i)) {\n continue;\n }\n\n lines = this._getImageLines(forTouch ? this.oCoords[i].touchCorner : this.oCoords[i].corner);\n // // debugging\n //\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n\n xPoints = this._findCrossPoints({ x: ex, y: ey }, lines);\n if (xPoints !== 0 && xPoints % 2 === 1) {\n this.__corner = i;\n return i;\n }\n }\n return false;\n },\n\n /**\n * Calls a function for each control. The function gets called,\n * with the control, the object that is calling the iterator and the control's key\n * @param {Function} fn function to iterate over the controls over\n */\n forEachControl: function(fn) {\n for (var i in this.controls) {\n fn(this.controls[i], i, this);\n };\n },\n\n /**\n * Sets the coordinates of the draggable boxes in the corners of\n * the image used to scale/rotate it.\n * note: if we would switch to ROUND corner area, all of this would disappear.\n * everything would resolve to a single point and a pythagorean theorem for the distance\n * @private\n */\n _setCornerCoords: function() {\n var coords = this.oCoords;\n\n for (var control in coords) {\n var controlObject = this.controls[control];\n coords[control].corner = controlObject.calcCornerCoords(\n this.angle, this.cornerSize, coords[control].x, coords[control].y, false);\n coords[control].touchCorner = controlObject.calcCornerCoords(\n this.angle, this.touchCornerSize, coords[control].x, coords[control].y, true);\n }\n },\n\n /**\n * Draws a colored layer behind the object, inside its selection borders.\n * Requires public options: padding, selectionBackgroundColor\n * this function is called when the context is transformed\n * has checks to be skipped when the object is on a staticCanvas\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawSelectionBackground: function(ctx) {\n if (!this.selectionBackgroundColor ||\n (this.canvas && !this.canvas.interactive) ||\n (this.canvas && this.canvas._activeObject !== this)\n ) {\n return this;\n }\n ctx.save();\n var center = this.getCenterPoint(), wh = this._calculateCurrentDimensions(),\n vpt = this.canvas.viewportTransform;\n ctx.translate(center.x, center.y);\n ctx.scale(1 / vpt[0], 1 / vpt[3]);\n ctx.rotate(degreesToRadians(this.angle));\n ctx.fillStyle = this.selectionBackgroundColor;\n ctx.fillRect(-wh.x / 2, -wh.y / 2, wh.x, wh.y);\n ctx.restore();\n return this;\n },\n\n /**\n * Draws borders of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawBorders: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n var wh = this._calculateCurrentDimensions(),\n strokeWidth = this.borderScaleFactor,\n width = wh.x + strokeWidth,\n height = wh.y + strokeWidth,\n hasControls = typeof styleOverride.hasControls !== 'undefined' ?\n styleOverride.hasControls : this.hasControls,\n shouldStroke = false;\n\n ctx.save();\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n\n ctx.strokeRect(\n -width / 2,\n -height / 2,\n width,\n height\n );\n\n if (hasControls) {\n ctx.beginPath();\n this.forEachControl(function(control, key, fabricObject) {\n // in this moment, the ctx is centered on the object.\n // width and height of the above function are the size of the bbox.\n if (control.withConnection && control.getVisibility(fabricObject, key)) {\n // reset movement for each control\n shouldStroke = true;\n ctx.moveTo(control.x * width, control.y * height);\n ctx.lineTo(\n control.x * width + control.offsetX,\n control.y * height + control.offsetY\n );\n }\n });\n if (shouldStroke) {\n ctx.stroke();\n }\n }\n ctx.restore();\n return this;\n },\n\n /**\n * Draws borders of an object's bounding box when it is inside a group.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {object} options object representing current object parameters\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawBordersInGroup: function(ctx, options, styleOverride) {\n styleOverride = styleOverride || {};\n var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options),\n strokeWidth = this.strokeWidth,\n strokeUniform = this.strokeUniform,\n borderScaleFactor = this.borderScaleFactor,\n width =\n bbox.x + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleX) + borderScaleFactor,\n height =\n bbox.y + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleY) + borderScaleFactor;\n ctx.save();\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n ctx.strokeRect(\n -width / 2,\n -height / 2,\n width,\n height\n );\n\n ctx.restore();\n return this;\n },\n\n /**\n * Draws corners of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: cornerSize, padding\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */\n drawControls: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n ctx.save();\n var retinaScaling = this.canvas.getRetinaScaling(), matrix, p;\n ctx.setTransform(retinaScaling, 0, 0, retinaScaling, 0, 0);\n ctx.strokeStyle = ctx.fillStyle = styleOverride.cornerColor || this.cornerColor;\n if (!this.transparentCorners) {\n ctx.strokeStyle = styleOverride.cornerStrokeColor || this.cornerStrokeColor;\n }\n this._setLineDash(ctx, styleOverride.cornerDashArray || this.cornerDashArray);\n this.setCoords();\n if (this.group) {\n // fabricJS does not really support drawing controls inside groups,\n // this piece of code here helps having at least the control in places.\n // If an application needs to show some objects as selected because of some UI state\n // can still call Object._renderControls() on any object they desire, independently of groups.\n // using no padding, circular controls and hiding the rotating cursor is higly suggested,\n matrix = this.group.calcTransformMatrix();\n }\n this.forEachControl(function(control, key, fabricObject) {\n p = fabricObject.oCoords[key];\n if (control.getVisibility(fabricObject, key)) {\n if (matrix) {\n p = fabric.util.transformPoint(p, matrix);\n }\n control.render(ctx, p.x, p.y, styleOverride, fabricObject);\n }\n });\n ctx.restore();\n\n return this;\n },\n\n /**\n * Returns true if the specified control is visible, false otherwise.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @returns {Boolean} true if the specified control is visible, false otherwise\n */\n isControlVisible: function(controlKey) {\n return this.controls[controlKey] && this.controls[controlKey].getVisibility(this, controlKey);\n },\n\n /**\n * Sets the visibility of the specified control.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @param {Boolean} visible true to set the specified control visible, false otherwise\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setControlVisible: function(controlKey, visible) {\n if (!this._controlsVisibility) {\n this._controlsVisibility = {};\n }\n this._controlsVisibility[controlKey] = visible;\n return this;\n },\n\n /**\n * Sets the visibility state of object controls.\n * @param {Object} [options] Options object\n * @param {Boolean} [options.bl] true to enable the bottom-left control, false to disable it\n * @param {Boolean} [options.br] true to enable the bottom-right control, false to disable it\n * @param {Boolean} [options.mb] true to enable the middle-bottom control, false to disable it\n * @param {Boolean} [options.ml] true to enable the middle-left control, false to disable it\n * @param {Boolean} [options.mr] true to enable the middle-right control, false to disable it\n * @param {Boolean} [options.mt] true to enable the middle-top control, false to disable it\n * @param {Boolean} [options.tl] true to enable the top-left control, false to disable it\n * @param {Boolean} [options.tr] true to enable the top-right control, false to disable it\n * @param {Boolean} [options.mtr] true to enable the middle-top-rotate control, false to disable it\n * @return {fabric.Object} thisArg\n * @chainable\n */\n setControlsVisibility: function(options) {\n options || (options = { });\n\n for (var p in options) {\n this.setControlVisible(p, options[p]);\n }\n return this;\n },\n\n\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to deselect this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */\n onDeselect: function() {\n // implemented by sub-classes, as needed.\n },\n\n\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to select this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */\n onSelect: function() {\n // implemented by sub-classes, as needed.\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n\n /**\n * Animation duration (in ms) for fx* methods\n * @type Number\n * @default\n */\n FX_DURATION: 500,\n\n /**\n * Centers object horizontally with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxCenterObjectH: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.left,\n endValue: this.getCenterPoint().x,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('left', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n\n /**\n * Centers object vertically with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxCenterObjectV: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.top,\n endValue: this.getCenterPoint().y,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('top', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n\n /**\n * Same as `fabric.Canvas#remove` but animated\n * @param {fabric.Object} object Object to remove\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */\n fxRemove: function (object, callbacks) {\n callbacks = callbacks || { };\n\n var empty = function() { },\n onComplete = callbacks.onComplete || empty,\n onChange = callbacks.onChange || empty,\n _this = this;\n\n return fabric.util.animate({\n target: this,\n startValue: object.opacity,\n endValue: 0,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set('opacity', value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function () {\n _this.remove(object);\n onComplete();\n }\n });\n }\n});\n\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Animates object's properties\n * @param {String|Object} property Property to animate (if string) or properties to animate (if object)\n * @param {Number|Object} value Value to animate property to (if string was given first) or options object\n * @return {fabric.Object} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#animation}\n * @return {fabric.AnimationContext | fabric.AnimationContext[]} animation context (or an array if passed multiple properties)\n *\n * As object — multiple properties\n *\n * object.animate({ left: ..., top: ... });\n * object.animate({ left: ..., top: ... }, { duration: ... });\n *\n * As string — one property\n *\n * object.animate('left', ...);\n * object.animate('left', { duration: ... });\n *\n */\n animate: function () {\n if (arguments[0] && typeof arguments[0] === 'object') {\n var propsToAnimate = [], prop, skipCallbacks, out = [];\n for (prop in arguments[0]) {\n propsToAnimate.push(prop);\n }\n for (var i = 0, len = propsToAnimate.length; i < len; i++) {\n prop = propsToAnimate[i];\n skipCallbacks = i !== len - 1;\n out.push(this._animate(prop, arguments[0][prop], arguments[1], skipCallbacks));\n }\n return out;\n }\n else {\n return this._animate.apply(this, arguments);\n }\n },\n\n /**\n * @private\n * @param {String} property Property to animate\n * @param {String} to Value to animate to\n * @param {Object} [options] Options object\n * @param {Boolean} [skipCallbacks] When true, callbacks like onchange and oncomplete are not invoked\n */\n _animate: function(property, to, options, skipCallbacks) {\n var _this = this, propPair;\n\n to = to.toString();\n\n if (!options) {\n options = { };\n }\n else {\n options = fabric.util.object.clone(options);\n }\n\n if (~property.indexOf('.')) {\n propPair = property.split('.');\n }\n\n var propIsColor =\n _this.colorProperties.indexOf(property) > -1 ||\n (propPair && _this.colorProperties.indexOf(propPair[1]) > -1);\n\n var currentValue = propPair\n ? this.get(propPair[0])[propPair[1]]\n : this.get(property);\n\n if (!('from' in options)) {\n options.from = currentValue;\n }\n\n if (!propIsColor) {\n if (~to.indexOf('=')) {\n to = currentValue + parseFloat(to.replace('=', ''));\n }\n else {\n to = parseFloat(to);\n }\n }\n\n var _options = {\n target: this,\n startValue: options.from,\n endValue: to,\n byValue: options.by,\n easing: options.easing,\n duration: options.duration,\n abort: options.abort && function(value, valueProgress, timeProgress) {\n return options.abort.call(_this, value, valueProgress, timeProgress);\n },\n onChange: function (value, valueProgress, timeProgress) {\n if (propPair) {\n _this[propPair[0]][propPair[1]] = value;\n }\n else {\n _this.set(property, value);\n }\n if (skipCallbacks) {\n return;\n }\n options.onChange && options.onChange(value, valueProgress, timeProgress);\n },\n onComplete: function (value, valueProgress, timeProgress) {\n if (skipCallbacks) {\n return;\n }\n\n _this.setCoords();\n options.onComplete && options.onComplete(value, valueProgress, timeProgress);\n }\n };\n\n if (propIsColor) {\n return fabric.util.animateColor(_options.startValue, _options.endValue, _options.duration, _options);\n }\n else {\n return fabric.util.animate(_options);\n }\n }\n});\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend;\n\n if (fabric.Rect) {\n fabric.warn('fabric.Rect is already defined');\n return;\n }\n\n /**\n * Rectangle class\n * @class fabric.Rect\n * @extends fabric.Object\n * @return {fabric.Rect} thisArg\n * @see {@link fabric.Rect#initialize} for constructor definition\n */\n fabric.Rect = fabric.util.createClass(fabric.Object, /** @lends fabric.Rect.prototype */ {\n\n /**\n * List of properties to consider when checking if state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat('rx', 'ry'),\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'rect',\n\n /**\n * Horizontal border radius\n * @type Number\n * @default\n */\n rx: 0,\n\n /**\n * Vertical border radius\n * @type Number\n * @default\n */\n ry: 0,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('rx', 'ry'),\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n this._initRxRy();\n },\n\n /**\n * Initializes rx/ry attributes\n * @private\n */\n _initRxRy: function() {\n if (this.rx && !this.ry) {\n this.ry = this.rx;\n }\n else if (this.ry && !this.rx) {\n this.rx = this.ry;\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n\n // 1x1 case (used in spray brush) optimization was removed because\n // with caching and higher zoom level this makes more damage than help\n\n var rx = this.rx ? Math.min(this.rx, this.width / 2) : 0,\n ry = this.ry ? Math.min(this.ry, this.height / 2) : 0,\n w = this.width,\n h = this.height,\n x = -this.width / 2,\n y = -this.height / 2,\n isRounded = rx !== 0 || ry !== 0,\n /* \"magic number\" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */\n k = 1 - 0.5522847498;\n ctx.beginPath();\n\n ctx.moveTo(x + rx, y);\n\n ctx.lineTo(x + w - rx, y);\n isRounded && ctx.bezierCurveTo(x + w - k * rx, y, x + w, y + k * ry, x + w, y + ry);\n\n ctx.lineTo(x + w, y + h - ry);\n isRounded && ctx.bezierCurveTo(x + w, y + h - k * ry, x + w - k * rx, y + h, x + w - rx, y + h);\n\n ctx.lineTo(x + rx, y + h);\n isRounded && ctx.bezierCurveTo(x + k * rx, y + h, x, y + h - k * ry, x, y + h - ry);\n\n ctx.lineTo(x, y + ry);\n isRounded && ctx.bezierCurveTo(x, y + k * ry, x + k * rx, y, x + rx, y);\n\n ctx.closePath();\n\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return this.callSuper('toObject', ['rx', 'ry'].concat(propertiesToInclude));\n },\n\n \n });\n\n \n\n /**\n * Returns {@link fabric.Rect} instance from an object representation\n * @static\n * @memberOf fabric.Rect\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Rect instance is created\n */\n fabric.Rect.fromObject = function(object, callback) {\n return fabric.Object._fromObject('Rect', object, callback);\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n min = fabric.util.array.min,\n max = fabric.util.array.max,\n toFixed = fabric.util.toFixed,\n projectStrokeOnPoints = fabric.util.projectStrokeOnPoints;\n\n if (fabric.Polyline) {\n fabric.warn('fabric.Polyline is already defined');\n return;\n }\n\n /**\n * Polyline class\n * @class fabric.Polyline\n * @extends fabric.Object\n * @see {@link fabric.Polyline#initialize} for constructor definition\n */\n fabric.Polyline = fabric.util.createClass(fabric.Object, /** @lends fabric.Polyline.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'polyline',\n\n /**\n * Points array\n * @type Array\n * @default\n */\n points: null,\n\n /**\n * WARNING: Feature in progress\n * Calculate the exact bounding box taking in account strokeWidth on acute angles\n * this will be turned to true by default on fabric 6.0\n * maybe will be left in as an optimization since calculations may be slow\n * @deprecated\n * @type Boolean\n * @default false\n */\n exactBoundingBox: false,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('points'),\n\n /**\n * Constructor\n * @param {Array} points Array of points (where each point is an object with x and y)\n * @param {Object} [options] Options object\n * @return {fabric.Polyline} thisArg\n * @example\n * var poly = new fabric.Polyline([\n * { x: 10, y: 10 },\n * { x: 50, y: 30 },\n * { x: 40, y: 70 },\n * { x: 60, y: 50 },\n * { x: 100, y: 150 },\n * { x: 40, y: 100 }\n * ], {\n * stroke: 'red',\n * left: 100,\n * top: 100\n * });\n */\n initialize: function(points, options) {\n options = options || {};\n this.points = points || [];\n this.callSuper('initialize', options);\n this._setPositionDimensions(options);\n },\n\n /**\n * @private\n */\n _projectStrokeOnPoints: function () {\n return projectStrokeOnPoints(this.points, this, true);\n },\n\n _setPositionDimensions: function(options) {\n var calcDim = this._calcDimensions(options), correctLeftTop,\n correctSize = this.exactBoundingBox ? this.strokeWidth : 0;\n this.width = calcDim.width - correctSize;\n this.height = calcDim.height - correctSize;\n if (!options.fromSVG) {\n correctLeftTop = this.translateToGivenOrigin(\n {\n // this looks bad, but is one way to keep it optional for now.\n x: calcDim.left - this.strokeWidth / 2 + correctSize / 2,\n y: calcDim.top - this.strokeWidth / 2 + correctSize / 2\n },\n 'left',\n 'top',\n this.originX,\n this.originY\n );\n }\n if (typeof options.left === 'undefined') {\n this.left = options.fromSVG ? calcDim.left : correctLeftTop.x;\n }\n if (typeof options.top === 'undefined') {\n this.top = options.fromSVG ? calcDim.top : correctLeftTop.y;\n }\n this.pathOffset = {\n x: calcDim.left + this.width / 2 + correctSize / 2,\n y: calcDim.top + this.height / 2 + correctSize / 2\n };\n },\n\n /**\n * Calculate the polygon min and max point from points array,\n * returning an object with left, top, width, height to measure the\n * polygon size\n * @return {Object} object.left X coordinate of the polygon leftmost point\n * @return {Object} object.top Y coordinate of the polygon topmost point\n * @return {Object} object.width distance between X coordinates of the polygon leftmost and rightmost point\n * @return {Object} object.height distance between Y coordinates of the polygon topmost and bottommost point\n * @private\n */\n _calcDimensions: function() {\n\n var points = this.exactBoundingBox ? this._projectStrokeOnPoints() : this.points,\n minX = min(points, 'x') || 0,\n minY = min(points, 'y') || 0,\n maxX = max(points, 'x') || 0,\n maxY = max(points, 'y') || 0,\n width = (maxX - minX),\n height = (maxY - minY);\n\n return {\n left: minX,\n top: minY,\n width: width,\n height: height,\n };\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return extend(this.callSuper('toObject', propertiesToInclude), {\n points: this.points.concat()\n });\n },\n\n \n\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n commonRender: function(ctx) {\n var point, len = this.points.length,\n x = this.pathOffset.x,\n y = this.pathOffset.y;\n\n if (!len || isNaN(this.points[len - 1].y)) {\n // do not draw if no points or odd points\n // NaN comes from parseFloat of a empty string in parser\n return false;\n }\n ctx.beginPath();\n ctx.moveTo(this.points[0].x - x, this.points[0].y - y);\n for (var i = 0; i < len; i++) {\n point = this.points[i];\n ctx.lineTo(point.x - x, point.y - y);\n }\n return true;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n if (!this.commonRender(ctx)) {\n return;\n }\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance\n */\n complexity: function() {\n return this.get('points').length;\n }\n });\n\n \n\n /**\n * Returns fabric.Polyline instance from an object representation\n * @static\n * @memberOf fabric.Polyline\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */\n fabric.Polyline.fromObject = function(object, callback) {\n return fabric.Object._fromObject('Polyline', object, callback, 'points');\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n min = fabric.util.array.min,\n max = fabric.util.array.max,\n extend = fabric.util.object.extend,\n clone = fabric.util.object.clone,\n toFixed = fabric.util.toFixed;\n\n if (fabric.Path) {\n fabric.warn('fabric.Path is already defined');\n return;\n }\n\n /**\n * Path class\n * @class fabric.Path\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#path_and_pathgroup}\n * @see {@link fabric.Path#initialize} for constructor definition\n */\n fabric.Path = fabric.util.createClass(fabric.Object, /** @lends fabric.Path.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'path',\n\n /**\n * Array of path points\n * @type Array\n * @default\n */\n path: null,\n\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('path', 'fillRule'),\n\n stateProperties: fabric.Object.prototype.stateProperties.concat('path'),\n\n /**\n * Constructor\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n * @return {fabric.Path} thisArg\n */\n initialize: function (path, options) {\n options = clone(options || {});\n delete options.path;\n this.callSuper('initialize', options);\n this._setPath(path || [], options);\n },\n\n /**\n * @private\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n */\n _setPath: function (path, options) {\n this.path = fabric.util.makePathSimpler(\n Array.isArray(path) ? path : fabric.util.parsePath(path)\n );\n\n fabric.Polyline.prototype._setPositionDimensions.call(this, options || {});\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */\n _renderPathCommands: function(ctx) {\n var current, // current instruction\n subpathStartX = 0,\n subpathStartY = 0,\n x = 0, // current x\n y = 0, // current y\n controlX = 0, // current control point x\n controlY = 0, // current control point y\n l = -this.pathOffset.x,\n t = -this.pathOffset.y;\n\n ctx.beginPath();\n\n for (var i = 0, len = this.path.length; i < len; ++i) {\n\n current = this.path[i];\n\n switch (current[0]) { // first letter\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n ctx.lineTo(x + l, y + t);\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n ctx.moveTo(x + l, y + t);\n break;\n\n case 'C': // bezierCurveTo, absolute\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n ctx.bezierCurveTo(\n current[1] + l,\n current[2] + t,\n controlX + l,\n controlY + t,\n x + l,\n y + t\n );\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n ctx.quadraticCurveTo(\n current[1] + l,\n current[2] + t,\n current[3] + l,\n current[4] + t\n );\n x = current[3];\n y = current[4];\n controlX = current[1];\n controlY = current[2];\n break;\n\n case 'z':\n case 'Z':\n x = subpathStartX;\n y = subpathStartY;\n ctx.closePath();\n break;\n }\n }\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */\n _render: function(ctx) {\n this._renderPathCommands(ctx);\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} string representation of an instance\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n return extend(this.callSuper('toObject', propertiesToInclude), {\n path: this.path.map(function(item) { return item.slice(); }),\n });\n },\n\n /**\n * Returns dataless object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n var o = this.toObject(['sourcePath'].concat(propertiesToInclude));\n if (o.sourcePath) {\n delete o.path;\n }\n return o;\n },\n\n \n\n /**\n * Returns number representation of an instance complexity\n * @return {Number} complexity of this instance\n */\n complexity: function() {\n return this.path.length;\n },\n\n /**\n * @private\n */\n _calcDimensions: function() {\n\n var aX = [],\n aY = [],\n current, // current instruction\n subpathStartX = 0,\n subpathStartY = 0,\n x = 0, // current x\n y = 0, // current y\n bounds;\n\n for (var i = 0, len = this.path.length; i < len; ++i) {\n\n current = this.path[i];\n\n switch (current[0]) { // first letter\n\n case 'L': // lineto, absolute\n x = current[1];\n y = current[2];\n bounds = [];\n break;\n\n case 'M': // moveTo, absolute\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n bounds = [];\n break;\n\n case 'C': // bezierCurveTo, absolute\n bounds = fabric.util.getBoundsOfCurve(x, y,\n current[1],\n current[2],\n current[3],\n current[4],\n current[5],\n current[6]\n );\n x = current[5];\n y = current[6];\n break;\n\n case 'Q': // quadraticCurveTo, absolute\n bounds = fabric.util.getBoundsOfCurve(x, y,\n current[1],\n current[2],\n current[1],\n current[2],\n current[3],\n current[4]\n );\n x = current[3];\n y = current[4];\n break;\n\n case 'z':\n case 'Z':\n x = subpathStartX;\n y = subpathStartY;\n break;\n }\n bounds.forEach(function (point) {\n aX.push(point.x);\n aY.push(point.y);\n });\n aX.push(x);\n aY.push(y);\n }\n\n var minX = min(aX) || 0,\n minY = min(aY) || 0,\n maxX = max(aX) || 0,\n maxY = max(aY) || 0,\n deltaX = maxX - minX,\n deltaY = maxY - minY;\n\n return {\n left: minX,\n top: minY,\n width: deltaX,\n height: deltaY\n };\n }\n });\n\n /**\n * Creates an instance of fabric.Path from an object\n * @static\n * @memberOf fabric.Path\n * @param {Object} object\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */\n fabric.Path.fromObject = function(object, callback) {\n if (typeof object.sourcePath === 'string') {\n var pathUrl = object.sourcePath;\n fabric.loadSVGFromURL(pathUrl, function (elements) {\n var path = elements[0];\n path.setOptions(object);\n callback && callback(path);\n });\n }\n else {\n fabric.Object._fromObject('Path', object, callback, 'path');\n }\n };\n\n \n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n min = fabric.util.array.min,\n max = fabric.util.array.max;\n\n if (fabric.Group) {\n return;\n }\n\n /**\n * Group class\n * @class fabric.Group\n * @extends fabric.Object\n * @mixes fabric.Collection\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.Group#initialize} for constructor definition\n */\n fabric.Group = fabric.util.createClass(fabric.Object, fabric.Collection, /** @lends fabric.Group.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'group',\n\n /**\n * Width of stroke\n * @type Number\n * @default\n */\n strokeWidth: 0,\n\n /**\n * Indicates if click, mouseover, mouseout events & hoverCursor should also check for subtargets\n * @type Boolean\n * @default\n */\n subTargetCheck: false,\n\n /**\n * Groups are container, do not render anything on theyr own, ence no cache properties\n * @type Array\n * @default\n */\n cacheProperties: [],\n\n /**\n * setOnGroup is a method used for TextBox that is no more used since 2.0.0 The behavior is still\n * available setting this boolean to true.\n * @type Boolean\n * @since 2.0.0\n * @default\n */\n useSetOnGroup: false,\n\n /**\n * Constructor\n * @param {Object} objects Group objects\n * @param {Object} [options] Options object\n * @param {Boolean} [isAlreadyGrouped] if true, objects have been grouped already.\n * @return {Object} thisArg\n */\n initialize: function(objects, options, isAlreadyGrouped) {\n options = options || {};\n this._objects = [];\n // if objects enclosed in a group have been grouped already,\n // we cannot change properties of objects.\n // Thus we need to set options to group without objects,\n isAlreadyGrouped && this.callSuper('initialize', options);\n this._objects = objects || [];\n for (var i = this._objects.length; i--; ) {\n this._objects[i].group = this;\n }\n\n if (!isAlreadyGrouped) {\n var center = options && options.centerPoint;\n // we want to set origins before calculating the bounding box.\n // so that the topleft can be set with that in mind.\n // if specific top and left are passed, are overwritten later\n // with the callSuper('initialize', options)\n if (options.originX !== undefined) {\n this.originX = options.originX;\n }\n if (options.originY !== undefined) {\n this.originY = options.originY;\n }\n // if coming from svg i do not want to calc bounds.\n // i assume width and height are passed along options\n center || this._calcBounds();\n this._updateObjectsCoords(center);\n delete options.centerPoint;\n this.callSuper('initialize', options);\n }\n else {\n this._updateObjectsACoords();\n }\n\n this.setCoords();\n },\n\n /**\n * @private\n */\n _updateObjectsACoords: function() {\n var skipControls = true;\n for (var i = this._objects.length; i--; ){\n this._objects[i].setCoords(skipControls);\n }\n },\n\n /**\n * @private\n * @param {Boolean} [skipCoordsChange] if true, coordinates of objects enclosed in a group do not change\n */\n _updateObjectsCoords: function(center) {\n var center = center || this.getCenterPoint();\n for (var i = this._objects.length; i--; ){\n this._updateObjectCoords(this._objects[i], center);\n }\n },\n\n /**\n * @private\n * @param {Object} object\n * @param {fabric.Point} center, current center of group.\n */\n _updateObjectCoords: function(object, center) {\n var objectLeft = object.left,\n objectTop = object.top,\n skipControls = true;\n\n object.set({\n left: objectLeft - center.x,\n top: objectTop - center.y\n });\n object.group = this;\n object.setCoords(skipControls);\n },\n\n /**\n * Returns string represenation of a group\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Adds an object to a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */\n addWithUpdate: function(object) {\n var nested = !!this.group;\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n if (object) {\n if (nested) {\n // if this group is inside another group, we need to pre transform the object\n fabric.util.removeTransformFromObject(object, this.group.calcTransformMatrix());\n }\n this._objects.push(object);\n object.group = this;\n object._set('canvas', this.canvas);\n }\n this._calcBounds();\n this._updateObjectsCoords();\n this.dirty = true;\n if (nested) {\n this.group.addWithUpdate();\n }\n else {\n this.setCoords();\n }\n return this;\n },\n\n /**\n * Removes an object from a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */\n removeWithUpdate: function(object) {\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n\n this.remove(object);\n this._calcBounds();\n this._updateObjectsCoords();\n this.setCoords();\n this.dirty = true;\n return this;\n },\n\n /**\n * @private\n */\n _onObjectAdded: function(object) {\n this.dirty = true;\n object.group = this;\n object._set('canvas', this.canvas);\n },\n\n /**\n * @private\n */\n _onObjectRemoved: function(object) {\n this.dirty = true;\n delete object.group;\n },\n\n /**\n * @private\n */\n _set: function(key, value) {\n var i = this._objects.length;\n if (this.useSetOnGroup) {\n while (i--) {\n this._objects[i].setOnGroup(key, value);\n }\n }\n if (key === 'canvas') {\n while (i--) {\n this._objects[i]._set(key, value);\n }\n }\n fabric.Object.prototype._set.call(this, key, value);\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var _includeDefaultValues = this.includeDefaultValues;\n var objsToObject = this._objects\n .filter(function (obj) {\n return !obj.excludeFromExport;\n })\n .map(function (obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n var obj = fabric.Object.prototype.toObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n\n /**\n * Returns object representation of an instance, in dataless mode.\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */\n toDatalessObject: function(propertiesToInclude) {\n var objsToObject, sourcePath = this.sourcePath;\n if (sourcePath) {\n objsToObject = sourcePath;\n }\n else {\n var _includeDefaultValues = this.includeDefaultValues;\n objsToObject = this._objects.map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toDatalessObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n }\n var obj = fabric.Object.prototype.toDatalessObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n\n /**\n * Renders instance on a given context\n * @param {CanvasRenderingContext2D} ctx context to render instance on\n */\n render: function(ctx) {\n this._transformDone = true;\n this.callSuper('render', ctx);\n this._transformDone = false;\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group is already cached.\n * @return {Boolean}\n */\n shouldCache: function() {\n var ownCache = fabric.Object.prototype.shouldCache.call(this);\n if (ownCache) {\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].willDrawShadow()) {\n this.ownCaching = false;\n return false;\n }\n }\n }\n return ownCache;\n },\n\n /**\n * Check if this object or a child object will cast a shadow\n * @return {Boolean}\n */\n willDrawShadow: function() {\n if (fabric.Object.prototype.willDrawShadow.call(this)) {\n return true;\n }\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].willDrawShadow()) {\n return true;\n }\n }\n return false;\n },\n\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */\n isOnACache: function() {\n return this.ownCaching || (this.group && this.group.isOnACache());\n },\n\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawObject: function(ctx) {\n for (var i = 0, len = this._objects.length; i < len; i++) {\n this._objects[i].render(ctx);\n }\n this._drawClipPath(ctx, this.clipPath);\n },\n\n /**\n * Check if cache is dirty\n */\n isCacheDirty: function(skipCanvas) {\n if (this.callSuper('isCacheDirty', skipCanvas)) {\n return true;\n }\n if (!this.statefullCache) {\n return false;\n }\n for (var i = 0, len = this._objects.length; i < len; i++) {\n if (this._objects[i].isCacheDirty(true)) {\n if (this._cacheCanvas) {\n // if this group has not a cache canvas there is nothing to clean\n var x = this.cacheWidth / this.zoomX, y = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-x / 2, -y / 2, x, y);\n }\n return true;\n }\n }\n return false;\n },\n\n /**\n * Restores original state of each of group objects (original state is that which was before group was created).\n * if the nested boolean is true, the original state will be restored just for the\n * first group and not for all the group chain\n * @private\n * @param {Boolean} nested tell the function to restore object state up to the parent group and not more\n * @return {fabric.Group} thisArg\n * @chainable\n */\n _restoreObjectsState: function() {\n var groupMatrix = this.calcOwnMatrix();\n this._objects.forEach(function(object) {\n // instead of using _this = this;\n fabric.util.addTransformToObject(object, groupMatrix);\n delete object.group;\n object.setCoords();\n });\n return this;\n },\n\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */\n destroy: function() {\n // when group is destroyed objects needs to get a repaint to be eventually\n // displayed on canvas.\n this._objects.forEach(function(object) {\n object.set('dirty', true);\n });\n return this._restoreObjectsState();\n },\n\n dispose: function () {\n this.callSuper('dispose');\n this.forEachObject(function (object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n },\n\n /**\n * make a group an active selection, remove the group from canvas\n * the group has to be on canvas for this to work.\n * @return {fabric.ActiveSelection} thisArg\n * @chainable\n */\n toActiveSelection: function() {\n if (!this.canvas) {\n return;\n }\n var objects = this._objects, canvas = this.canvas;\n this._objects = [];\n var options = this.toObject();\n delete options.objects;\n var activeSelection = new fabric.ActiveSelection([]);\n activeSelection.set(options);\n activeSelection.type = 'activeSelection';\n canvas.remove(this);\n objects.forEach(function(object) {\n object.group = activeSelection;\n object.dirty = true;\n canvas.add(object);\n });\n activeSelection.canvas = canvas;\n activeSelection._objects = objects;\n canvas._activeObject = activeSelection;\n activeSelection.setCoords();\n return activeSelection;\n },\n\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */\n ungroupOnCanvas: function() {\n return this._restoreObjectsState();\n },\n\n /**\n * Sets coordinates of all objects inside group\n * @return {fabric.Group} thisArg\n * @chainable\n */\n setObjectsCoords: function() {\n var skipControls = true;\n this.forEachObject(function(object) {\n object.setCoords(skipControls);\n });\n return this;\n },\n\n /**\n * @private\n */\n _calcBounds: function(onlyWidthHeight) {\n var aX = [],\n aY = [],\n o, prop, coords,\n props = ['tr', 'br', 'bl', 'tl'],\n i = 0, iLen = this._objects.length,\n j, jLen = props.length;\n\n for ( ; i < iLen; ++i) {\n o = this._objects[i];\n coords = o.calcACoords();\n for (j = 0; j < jLen; j++) {\n prop = props[j];\n aX.push(coords[prop].x);\n aY.push(coords[prop].y);\n }\n o.aCoords = coords;\n }\n\n this._getBounds(aX, aY, onlyWidthHeight);\n },\n\n /**\n * @private\n */\n _getBounds: function(aX, aY, onlyWidthHeight) {\n var minXY = new fabric.Point(min(aX), min(aY)),\n maxXY = new fabric.Point(max(aX), max(aY)),\n top = minXY.y || 0, left = minXY.x || 0,\n width = (maxXY.x - minXY.x) || 0,\n height = (maxXY.y - minXY.y) || 0;\n this.width = width;\n this.height = height;\n if (!onlyWidthHeight) {\n // the bounding box always finds the topleft most corner.\n // whatever is the group origin, we set up here the left/top position.\n this.setPositionByOrigin({ x: left, y: top }, 'left', 'top');\n }\n },\n\n \n });\n\n /**\n * Returns {@link fabric.Group} instance from an object representation\n * @static\n * @memberOf fabric.Group\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an group instance is created\n */\n fabric.Group.fromObject = function(object, callback) {\n var objects = object.objects,\n options = fabric.util.object.clone(object, true);\n delete options.objects;\n if (typeof objects === 'string') {\n // it has to be an url or something went wrong.\n fabric.loadSVGFromURL(objects, function (elements) {\n var group = fabric.util.groupSVGElements(elements, object, objects);\n group.set(options);\n callback && callback(group);\n });\n return;\n }\n fabric.util.enlivenObjects(objects, function (enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function () {\n callback && callback(new fabric.Group(enlivenedObjects, options, true));\n });\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { });\n\n if (fabric.ActiveSelection) {\n return;\n }\n\n /**\n * Group class\n * @class fabric.ActiveSelection\n * @extends fabric.Group\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.ActiveSelection#initialize} for constructor definition\n */\n fabric.ActiveSelection = fabric.util.createClass(fabric.Group, /** @lends fabric.ActiveSelection.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'activeSelection',\n\n /**\n * Constructor\n * @param {Object} objects ActiveSelection objects\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */\n initialize: function(objects, options) {\n options = options || {};\n this._objects = objects || [];\n for (var i = this._objects.length; i--; ) {\n this._objects[i].group = this;\n }\n\n if (options.originX) {\n this.originX = options.originX;\n }\n if (options.originY) {\n this.originY = options.originY;\n }\n this._calcBounds();\n this._updateObjectsCoords();\n fabric.Object.prototype.initialize.call(this, options);\n this.setCoords();\n },\n\n /**\n * Change te activeSelection to a normal group,\n * High level function that automatically adds it to canvas as\n * active object. no events fired.\n * @since 2.0.0\n * @return {fabric.Group}\n */\n toGroup: function() {\n var objects = this._objects.concat();\n this._objects = [];\n var options = fabric.Object.prototype.toObject.call(this);\n var newGroup = new fabric.Group([]);\n delete options.type;\n newGroup.set(options);\n objects.forEach(function(object) {\n object.canvas.remove(object);\n object.group = newGroup;\n });\n newGroup._objects = objects;\n if (!this.canvas) {\n return newGroup;\n }\n var canvas = this.canvas;\n canvas.add(newGroup);\n canvas._activeObject = newGroup;\n newGroup.setCoords();\n return newGroup;\n },\n\n /**\n * If returns true, deselection is cancelled.\n * @since 2.0.0\n * @return {Boolean} [cancel]\n */\n onDeselect: function() {\n this.destroy();\n return false;\n },\n\n /**\n * Returns string representation of a group\n * @return {String}\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * @return {Boolean}\n */\n shouldCache: function() {\n return false;\n },\n\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */\n isOnACache: function() {\n return false;\n },\n\n /**\n * Renders controls and borders for the object\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n * @param {Object} [childrenOverride] properties to override the children overrides\n */\n _renderControls: function(ctx, styleOverride, childrenOverride) {\n ctx.save();\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n this.callSuper('_renderControls', ctx, styleOverride);\n childrenOverride = childrenOverride || { };\n if (typeof childrenOverride.hasControls === 'undefined') {\n childrenOverride.hasControls = false;\n }\n childrenOverride.forActiveSelection = true;\n for (var i = 0, len = this._objects.length; i < len; i++) {\n this._objects[i]._renderControls(ctx, childrenOverride);\n }\n ctx.restore();\n },\n });\n\n /**\n * Returns {@link fabric.ActiveSelection} instance from an object representation\n * @static\n * @memberOf fabric.ActiveSelection\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an ActiveSelection instance is created\n */\n fabric.ActiveSelection.fromObject = function(object, callback) {\n fabric.util.enlivenObjects(object.objects, function(enlivenedObjects) {\n delete object.objects;\n callback && callback(new fabric.ActiveSelection(enlivenedObjects, object, true));\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var extend = fabric.util.object.extend;\n\n if (!global.fabric) {\n global.fabric = { };\n }\n\n if (global.fabric.Image) {\n fabric.warn('fabric.Image is already defined.');\n return;\n }\n\n /**\n * Image class\n * @class fabric.Image\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#images}\n * @see {@link fabric.Image#initialize} for constructor definition\n */\n fabric.Image = fabric.util.createClass(fabric.Object, /** @lends fabric.Image.prototype */ {\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'image',\n\n /**\n * Width of a stroke.\n * For image quality a stroke multiple of 2 gives better results.\n * @type Number\n * @default\n */\n strokeWidth: 0,\n\n /**\n * When calling {@link fabric.Image.getSrc}, return value from element src with `element.getAttribute('src')`.\n * This allows for relative urls as image src.\n * @since 2.7.0\n * @type Boolean\n * @default\n */\n srcFromAttribute: false,\n\n /**\n * private\n * contains last value of scaleX to detect\n * if the Image got resized after the last Render\n * @type Number\n */\n _lastScaleX: 1,\n\n /**\n * private\n * contains last value of scaleY to detect\n * if the Image got resized after the last Render\n * @type Number\n */\n _lastScaleY: 1,\n\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */\n _filterScalingX: 1,\n\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */\n _filterScalingY: 1,\n\n /**\n * minimum scale factor under which any resizeFilter is triggered to resize the image\n * 0 will disable the automatic resize. 1 will trigger automatically always.\n * number bigger than 1 are not implemented yet.\n * @type Number\n */\n minimumScaleTrigger: 0.5,\n\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat('cropX', 'cropY'),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */\n cacheProperties: fabric.Object.prototype.cacheProperties.concat('cropX', 'cropY'),\n\n /**\n * key used to retrieve the texture representing this image\n * @since 2.0.0\n * @type String\n * @default\n */\n cacheKey: '',\n\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */\n cropX: 0,\n\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */\n cropY: 0,\n\n /**\n * Indicates whether this canvas will use image smoothing when painting this image.\n * Also influence if the cacheCanvas for this image uses imageSmoothing\n * @since 4.0.0-beta.11\n * @type Boolean\n * @default\n */\n imageSmoothing: true,\n\n /**\n * Constructor\n * Image can be initialized with any canvas drawable or a string.\n * The string should be a url and will be loaded as an image.\n * Canvas and Image element work out of the box, while videos require extra code to work.\n * Please check video element events for seeking.\n * @param {HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | String} element Image element\n * @param {Object} [options] Options object\n * @param {function} [callback] callback function to call after eventual filters applied.\n * @return {fabric.Image} thisArg\n */\n initialize: function(element, options) {\n options || (options = { });\n this.filters = [];\n this.cacheKey = 'texture' + fabric.Object.__uid++;\n this.callSuper('initialize', options);\n this._initElement(element, options);\n },\n\n /**\n * Returns image element which this instance if based on\n * @return {HTMLImageElement} Image element\n */\n getElement: function() {\n return this._element || {};\n },\n\n /**\n * Sets image element for this instance to a specified one.\n * If filters defined they are applied to new image.\n * You might need to call `canvas.renderAll` and `object.setCoords` after replacing, to render new image and update controls area.\n * @param {HTMLImageElement} element\n * @param {Object} [options] Options object\n * @return {fabric.Image} thisArg\n * @chainable\n */\n setElement: function(element, options) {\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + '_filtered');\n this._element = element;\n this._originalElement = element;\n this._initConfig(options);\n if (this.filters.length !== 0) {\n this.applyFilters();\n }\n // resizeFilters work on the already filtered copy.\n // we need to apply resizeFilters AFTER normal filters.\n // applyResizeFilters is run more often than normal filters\n // and is triggered by user interactions rather than dev code\n if (this.resizeFilter) {\n this.applyResizeFilters();\n }\n return this;\n },\n\n /**\n * Delete a single texture if in webgl mode\n */\n removeTexture: function(key) {\n var backend = fabric.filterBackend;\n if (backend && backend.evictCachesForKey) {\n backend.evictCachesForKey(key);\n }\n },\n\n /**\n * Delete textures, reference to elements and eventually JSDOM cleanup\n */\n dispose: function () {\n this.callSuper('dispose');\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + '_filtered');\n this._cacheContext = undefined;\n ['_originalElement', '_element', '_filteredEl', '_cacheCanvas'].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n },\n\n /**\n * Get the crossOrigin value (of the corresponding image element)\n */\n getCrossOrigin: function() {\n return this._originalElement && (this._originalElement.crossOrigin || null);\n },\n\n /**\n * Returns original size of an image\n * @return {Object} Object with \"width\" and \"height\" properties\n */\n getOriginalSize: function() {\n var element = this.getElement();\n return {\n width: element.naturalWidth || element.width,\n height: element.naturalHeight || element.height\n };\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _stroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n var w = this.width / 2, h = this.height / 2;\n ctx.beginPath();\n ctx.moveTo(-w, -h);\n ctx.lineTo(w, -h);\n ctx.lineTo(w, h);\n ctx.lineTo(-w, h);\n ctx.lineTo(-w, -h);\n ctx.closePath();\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var filters = [];\n\n this.filters.forEach(function(filterObj) {\n if (filterObj) {\n filters.push(filterObj.toObject());\n }\n });\n var object = extend(\n this.callSuper(\n 'toObject',\n ['cropX', 'cropY'].concat(propertiesToInclude)\n ), {\n src: this.getSrc(),\n crossOrigin: this.getCrossOrigin(),\n filters: filters,\n });\n if (this.resizeFilter) {\n object.resizeFilter = this.resizeFilter.toObject();\n }\n return object;\n },\n\n /**\n * Returns true if an image has crop applied, inspecting values of cropX,cropY,width,height.\n * @return {Boolean}\n */\n hasCrop: function() {\n return this.cropX || this.cropY || this.width < this._element.width || this.height < this._element.height;\n },\n\n \n\n /**\n * Returns source of an image\n * @param {Boolean} filtered indicates if the src is needed for svg\n * @return {String} Source of an image\n */\n getSrc: function(filtered) {\n var element = filtered ? this._element : this._originalElement;\n if (element) {\n if (element.toDataURL) {\n return element.toDataURL();\n }\n\n if (this.srcFromAttribute) {\n return element.getAttribute('src');\n }\n else {\n return element.src;\n }\n }\n else {\n return this.src || '';\n }\n },\n\n /**\n * Sets source of an image\n * @param {String} src Source string (URL)\n * @param {Function} [callback] Callback is invoked when image has been loaded (and all filters have been applied)\n * @param {Object} [options] Options object\n * @param {String} [options.crossOrigin] crossOrigin value (one of \"\", \"anonymous\", \"use-credentials\")\n * @see https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes\n * @return {fabric.Image} thisArg\n * @chainable\n */\n setSrc: function(src, callback, options) {\n fabric.util.loadImage(src, function(img, isError) {\n this.setElement(img, options);\n this._setWidthHeight();\n callback && callback(this, isError);\n }, this, options && options.crossOrigin);\n return this;\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} String representation of an instance\n */\n toString: function() {\n return '#';\n },\n\n applyResizeFilters: function() {\n var filter = this.resizeFilter,\n minimumScale = this.minimumScaleTrigger,\n objectScale = this.getTotalObjectScaling(),\n scaleX = objectScale.scaleX,\n scaleY = objectScale.scaleY,\n elementToFilter = this._filteredEl || this._originalElement;\n if (this.group) {\n this.set('dirty', true);\n }\n if (!filter || (scaleX > minimumScale && scaleY > minimumScale)) {\n this._element = elementToFilter;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n this._lastScaleX = scaleX;\n this._lastScaleY = scaleY;\n return;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n var canvasEl = fabric.util.createCanvasElement(),\n cacheKey = this._filteredEl ? (this.cacheKey + '_filtered') : this.cacheKey,\n sourceWidth = elementToFilter.width, sourceHeight = elementToFilter.height;\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._lastScaleX = filter.scaleX = scaleX;\n this._lastScaleY = filter.scaleY = scaleY;\n fabric.filterBackend.applyFilters(\n [filter], elementToFilter, sourceWidth, sourceHeight, this._element, cacheKey);\n this._filterScalingX = canvasEl.width / this._originalElement.width;\n this._filterScalingY = canvasEl.height / this._originalElement.height;\n },\n\n /**\n * Applies filters assigned to this image (from \"filters\" array) or from filter param\n * @method applyFilters\n * @param {Array} filters to be applied\n * @param {Boolean} forResizing specify if the filter operation is a resize operation\n * @return {thisArg} return the fabric.Image object\n * @chainable\n */\n applyFilters: function(filters) {\n\n filters = filters || this.filters || [];\n filters = filters.filter(function(filter) { return filter && !filter.isNeutralState(); });\n this.set('dirty', true);\n\n // needs to clear out or WEBGL will not resize correctly\n this.removeTexture(this.cacheKey + '_filtered');\n\n if (filters.length === 0) {\n this._element = this._originalElement;\n this._filteredEl = null;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n return this;\n }\n\n var imgElement = this._originalElement,\n sourceWidth = imgElement.naturalWidth || imgElement.width,\n sourceHeight = imgElement.naturalHeight || imgElement.height;\n\n if (this._element === this._originalElement) {\n // if the element is the same we need to create a new element\n var canvasEl = fabric.util.createCanvasElement();\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._filteredEl = canvasEl;\n }\n else {\n // clear the existing element to get new filter data\n // also dereference the eventual resized _element\n this._element = this._filteredEl;\n this._filteredEl.getContext('2d').clearRect(0, 0, sourceWidth, sourceHeight);\n // we also need to resize again at next renderAll, so remove saved _lastScaleX/Y\n this._lastScaleX = 1;\n this._lastScaleY = 1;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n fabric.filterBackend.applyFilters(\n filters, this._originalElement, sourceWidth, sourceHeight, this._element, this.cacheKey);\n if (this._originalElement.width !== this._element.width ||\n this._originalElement.height !== this._element.height) {\n this._filterScalingX = this._element.width / this._originalElement.width;\n this._filterScalingY = this._element.height / this._originalElement.height;\n }\n return this;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n if (this.isMoving !== true && this.resizeFilter && this._needsResize()) {\n this.applyResizeFilters();\n }\n this._stroke(ctx);\n this._renderPaintInOrder(ctx);\n },\n\n /**\n * Paint the cached copy of the object on the target context.\n * it will set the imageSmoothing for the draw operation\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n drawCacheOnCanvas: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n fabric.Object.prototype.drawCacheOnCanvas.call(this, ctx);\n },\n\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * This is the special image version where we would like to avoid caching where possible.\n * Essentially images do not benefit from caching. They may require caching, and in that\n * case we do it. Also caching an image usually ends in a loss of details.\n * A full performance audit should be done.\n * @return {Boolean}\n */\n shouldCache: function() {\n return this.needsItsOwnCache();\n },\n\n _renderFill: function(ctx) {\n var elementToDraw = this._element;\n if (!elementToDraw) {\n return;\n }\n var scaleX = this._filterScalingX, scaleY = this._filterScalingY,\n w = this.width, h = this.height, min = Math.min, max = Math.max,\n // crop values cannot be lesser than 0.\n cropX = max(this.cropX, 0), cropY = max(this.cropY, 0),\n elWidth = elementToDraw.naturalWidth || elementToDraw.width,\n elHeight = elementToDraw.naturalHeight || elementToDraw.height,\n sX = cropX * scaleX,\n sY = cropY * scaleY,\n // the width height cannot exceed element width/height, starting from the crop offset.\n sW = min(w * scaleX, elWidth - sX),\n sH = min(h * scaleY, elHeight - sY),\n x = -w / 2, y = -h / 2,\n maxDestW = min(w, elWidth / scaleX - cropX),\n maxDestH = min(h, elHeight / scaleY - cropY);\n\n elementToDraw && ctx.drawImage(elementToDraw, sX, sY, sW, sH, x, y, maxDestW, maxDestH);\n },\n\n /**\n * needed to check if image needs resize\n * @private\n */\n _needsResize: function() {\n var scale = this.getTotalObjectScaling();\n return (scale.scaleX !== this._lastScaleX || scale.scaleY !== this._lastScaleY);\n },\n\n /**\n * @private\n */\n _resetWidthHeight: function() {\n this.set(this.getOriginalSize());\n },\n\n /**\n * The Image class's initialization method. This method is automatically\n * called by the constructor.\n * @private\n * @param {HTMLImageElement|String} element The element representing the image\n * @param {Object} [options] Options object\n */\n _initElement: function(element, options) {\n this.setElement(fabric.util.getById(element), options);\n fabric.util.addClass(this.getElement(), fabric.Image.CSS_CANVAS);\n },\n\n /**\n * @private\n * @param {Object} [options] Options object\n */\n _initConfig: function(options) {\n options || (options = { });\n this.setOptions(options);\n this._setWidthHeight(options);\n },\n\n /**\n * @private\n * @param {Array} filters to be initialized\n * @param {Function} callback Callback to invoke when all fabric.Image.filters instances are created\n */\n _initFilters: function(filters, callback) {\n if (filters && filters.length) {\n fabric.util.enlivenObjects(filters, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, 'fabric.Image.filters');\n }\n else {\n callback && callback();\n }\n },\n\n /**\n * @private\n * Set the width and the height of the image object, using the element or the\n * options.\n * @param {Object} [options] Object with width/height properties\n */\n _setWidthHeight: function(options) {\n options || (options = { });\n var el = this.getElement();\n this.width = options.width || el.naturalWidth || el.width || 0;\n this.height = options.height || el.naturalHeight || el.height || 0;\n },\n\n /**\n * Calculate offset for center and scale factor for the image in order to respect\n * the preserveAspectRatio attribute\n * @private\n * @return {Object}\n */\n parsePreserveAspectRatioAttribute: function() {\n var pAR = fabric.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio || ''),\n rWidth = this._element.width, rHeight = this._element.height,\n scaleX = 1, scaleY = 1, offsetLeft = 0, offsetTop = 0, cropX = 0, cropY = 0,\n offset, pWidth = this.width, pHeight = this.height, parsedAttributes = { width: pWidth, height: pHeight };\n if (pAR && (pAR.alignX !== 'none' || pAR.alignY !== 'none')) {\n if (pAR.meetOrSlice === 'meet') {\n scaleX = scaleY = fabric.util.findScaleToFit(this._element, parsedAttributes);\n offset = (pWidth - rWidth * scaleX) / 2;\n if (pAR.alignX === 'Min') {\n offsetLeft = -offset;\n }\n if (pAR.alignX === 'Max') {\n offsetLeft = offset;\n }\n offset = (pHeight - rHeight * scaleY) / 2;\n if (pAR.alignY === 'Min') {\n offsetTop = -offset;\n }\n if (pAR.alignY === 'Max') {\n offsetTop = offset;\n }\n }\n if (pAR.meetOrSlice === 'slice') {\n scaleX = scaleY = fabric.util.findScaleToCover(this._element, parsedAttributes);\n offset = rWidth - pWidth / scaleX;\n if (pAR.alignX === 'Mid') {\n cropX = offset / 2;\n }\n if (pAR.alignX === 'Max') {\n cropX = offset;\n }\n offset = rHeight - pHeight / scaleY;\n if (pAR.alignY === 'Mid') {\n cropY = offset / 2;\n }\n if (pAR.alignY === 'Max') {\n cropY = offset;\n }\n rWidth = pWidth / scaleX;\n rHeight = pHeight / scaleY;\n }\n }\n else {\n scaleX = pWidth / rWidth;\n scaleY = pHeight / rHeight;\n }\n return {\n width: rWidth,\n height: rHeight,\n scaleX: scaleX,\n scaleY: scaleY,\n offsetLeft: offsetLeft,\n offsetTop: offsetTop,\n cropX: cropX,\n cropY: cropY\n };\n }\n });\n\n /**\n * Default CSS class name for canvas\n * @static\n * @type String\n * @default\n */\n fabric.Image.CSS_CANVAS = 'canvas-img';\n\n /**\n * Alias for getSrc\n * @static\n */\n fabric.Image.prototype.getSvgSrc = fabric.Image.prototype.getSrc;\n\n /**\n * Creates an instance of fabric.Image from its object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} callback Callback to invoke when an image instance is created\n */\n fabric.Image.fromObject = function(_object, callback) {\n var object = fabric.util.object.clone(_object);\n fabric.util.loadImage(object.src, function(img, isError) {\n if (isError) {\n callback && callback(null, true);\n return;\n }\n fabric.Image.prototype._initFilters.call(object, object.filters, function(filters) {\n object.filters = filters || [];\n fabric.Image.prototype._initFilters.call(object, [object.resizeFilter], function(resizeFilters) {\n object.resizeFilter = resizeFilters[0];\n fabric.util.enlivenObjectEnlivables(object, object, function () {\n var image = new fabric.Image(img, object);\n callback(image, false);\n });\n });\n });\n }, null, object.crossOrigin);\n };\n\n /**\n * Creates an instance of fabric.Image from an URL string\n * @static\n * @param {String} url URL to create an image from\n * @param {Function} [callback] Callback to invoke when image is created (newly created image is passed as a first argument). Second argument is a boolean indicating if an error occurred or not.\n * @param {Object} [imgOptions] Options object\n */\n fabric.Image.fromURL = function(url, callback, imgOptions) {\n fabric.util.loadImage(url, function(img, isError) {\n callback && callback(new fabric.Image(img, imgOptions), isError);\n }, null, imgOptions && imgOptions.crossOrigin);\n };\n\n \n\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n\n 'use strict';\n\n /**\n * Tests if webgl supports certain precision\n * @param {WebGL} Canvas WebGL context to test on\n * @param {String} Precision to test can be any of following: 'lowp', 'mediump', 'highp'\n * @returns {Boolean} Whether the user's browser WebGL supports given precision.\n */\n function testPrecision(gl, precision){\n var fragmentSource = 'precision ' + precision + ' float;\\nvoid main(){}';\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n return false;\n }\n return true;\n }\n\n /**\n * Indicate whether this filtering backend is supported by the user's browser.\n * @param {Number} tileSize check if the tileSize is supported\n * @returns {Boolean} Whether the user's browser supports WebGL.\n */\n fabric.isWebglSupported = function(tileSize) {\n if (fabric.isLikelyNode) {\n return false;\n }\n tileSize = tileSize || fabric.WebglFilterBackend.prototype.tileSize;\n var canvas = document.createElement('canvas');\n var gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');\n var isSupported = false;\n // eslint-disable-next-line\n if (gl) {\n fabric.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);\n isSupported = fabric.maxTextureSize >= tileSize;\n var precisions = ['highp', 'mediump', 'lowp'];\n for (var i = 0; i < 3; i++){\n if (testPrecision(gl, precisions[i])){\n fabric.webGlPrecision = precisions[i];\n break;\n };\n }\n }\n this.isSupported = isSupported;\n return isSupported;\n };\n\n fabric.WebglFilterBackend = WebglFilterBackend;\n\n /**\n * WebGL filter backend.\n */\n function WebglFilterBackend(options) {\n if (options && options.tileSize) {\n this.tileSize = options.tileSize;\n }\n this.setupGLContext(this.tileSize, this.tileSize);\n this.captureGPUInfo();\n };\n\n WebglFilterBackend.prototype = /** @lends fabric.WebglFilterBackend.prototype */ {\n\n tileSize: 2048,\n\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/\n resources: {\n\n },\n\n /**\n * Setup a WebGL context suitable for filtering, and bind any needed event handlers.\n */\n setupGLContext: function(width, height) {\n this.dispose();\n this.createWebGLCanvas(width, height);\n // eslint-disable-next-line\n this.aPosition = new Float32Array([0, 0, 0, 1, 1, 0, 1, 1]);\n this.chooseFastestCopyGLTo2DMethod(width, height);\n },\n\n /**\n * Pick a method to copy data from GL context to 2d canvas. In some browsers using\n * putImageData is faster than drawImage for that specific operation.\n */\n chooseFastestCopyGLTo2DMethod: function(width, height) {\n var canMeasurePerf = typeof window.performance !== 'undefined', canUseImageData;\n try {\n new ImageData(1, 1);\n canUseImageData = true;\n }\n catch (e) {\n canUseImageData = false;\n }\n // eslint-disable-next-line no-undef\n var canUseArrayBuffer = typeof ArrayBuffer !== 'undefined';\n // eslint-disable-next-line no-undef\n var canUseUint8Clamped = typeof Uint8ClampedArray !== 'undefined';\n\n if (!(canMeasurePerf && canUseImageData && canUseArrayBuffer && canUseUint8Clamped)) {\n return;\n }\n\n var targetCanvas = fabric.util.createCanvasElement();\n // eslint-disable-next-line no-undef\n var imageBuffer = new ArrayBuffer(width * height * 4);\n if (fabric.forceGLPutImageData) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n return;\n }\n var testContext = {\n imageBuffer: imageBuffer,\n destinationWidth: width,\n destinationHeight: height,\n targetCanvas: targetCanvas\n };\n var startTime, drawImageTime, putImageDataTime;\n targetCanvas.width = width;\n targetCanvas.height = height;\n\n startTime = window.performance.now();\n copyGLTo2DDrawImage.call(testContext, this.gl, testContext);\n drawImageTime = window.performance.now() - startTime;\n\n startTime = window.performance.now();\n copyGLTo2DPutImageData.call(testContext, this.gl, testContext);\n putImageDataTime = window.performance.now() - startTime;\n\n if (drawImageTime > putImageDataTime) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n }\n else {\n this.copyGLTo2D = copyGLTo2DDrawImage;\n }\n },\n\n /**\n * Create a canvas element and associated WebGL context and attaches them as\n * class properties to the GLFilterBackend class.\n */\n createWebGLCanvas: function(width, height) {\n var canvas = fabric.util.createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n var glOptions = {\n alpha: true,\n premultipliedAlpha: false,\n depth: false,\n stencil: false,\n antialias: false\n },\n gl = canvas.getContext('webgl', glOptions);\n if (!gl) {\n gl = canvas.getContext('experimental-webgl', glOptions);\n }\n if (!gl) {\n return;\n }\n gl.clearColor(0, 0, 0, 0);\n // this canvas can fire webglcontextlost and webglcontextrestored\n this.canvas = canvas;\n this.gl = gl;\n },\n\n /**\n * Attempts to apply the requested filters to the source provided, drawing the filtered output\n * to the provided target canvas.\n *\n * @param {Array} filters The filters to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} source The source to be filtered.\n * @param {Number} width The width of the source input.\n * @param {Number} height The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n * @param {String|undefined} cacheKey A key used to cache resources related to the source. If\n * omitted, caching will be skipped.\n */\n applyFilters: function(filters, source, width, height, targetCanvas, cacheKey) {\n var gl = this.gl;\n var cachedTexture;\n if (cacheKey) {\n cachedTexture = this.getCachedTexture(cacheKey, source);\n }\n var pipelineState = {\n originalWidth: source.width || source.originalWidth,\n originalHeight: source.height || source.originalHeight,\n sourceWidth: width,\n sourceHeight: height,\n destinationWidth: width,\n destinationHeight: height,\n context: gl,\n sourceTexture: this.createTexture(gl, width, height, !cachedTexture && source),\n targetTexture: this.createTexture(gl, width, height),\n originalTexture: cachedTexture ||\n this.createTexture(gl, width, height, !cachedTexture && source),\n passes: filters.length,\n webgl: true,\n aPosition: this.aPosition,\n programCache: this.programCache,\n pass: 0,\n filterBackend: this,\n targetCanvas: targetCanvas\n };\n var tempFbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, tempFbo);\n filters.forEach(function(filter) { filter && filter.applyTo(pipelineState); });\n resizeCanvasIfNeeded(pipelineState);\n this.copyGLTo2D(gl, pipelineState);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.deleteTexture(pipelineState.sourceTexture);\n gl.deleteTexture(pipelineState.targetTexture);\n gl.deleteFramebuffer(tempFbo);\n targetCanvas.getContext('2d').setTransform(1, 0, 0, 1, 0, 0);\n return pipelineState;\n },\n\n /**\n * Detach event listeners, remove references, and clean up caches.\n */\n dispose: function() {\n if (this.canvas) {\n this.canvas = null;\n this.gl = null;\n }\n this.clearWebGLCaches();\n },\n\n /**\n * Wipe out WebGL-related caches.\n */\n clearWebGLCaches: function() {\n this.programCache = {};\n this.textureCache = {};\n },\n\n /**\n * Create a WebGL texture object.\n *\n * Accepts specific dimensions to initialize the texture to or a source image.\n *\n * @param {WebGLRenderingContext} gl The GL context to use for creating the texture.\n * @param {Number} width The width to initialize the texture at.\n * @param {Number} height The height to initialize the texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source for the texture data.\n * @returns {WebGLTexture}\n */\n createTexture: function(gl, width, height, textureImageSource) {\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n if (textureImageSource) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, textureImageSource);\n }\n else {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n }\n return texture;\n },\n\n /**\n * Can be optionally used to get a texture from the cache array\n *\n * If an existing texture is not found, a new texture is created and cached.\n *\n * @param {String} uniqueId A cache key to use to find an existing texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source to use to create the\n * texture cache entry if one does not already exist.\n */\n getCachedTexture: function(uniqueId, textureImageSource) {\n if (this.textureCache[uniqueId]) {\n return this.textureCache[uniqueId];\n }\n else {\n var texture = this.createTexture(\n this.gl, textureImageSource.width, textureImageSource.height, textureImageSource);\n this.textureCache[uniqueId] = texture;\n return texture;\n }\n },\n\n /**\n * Clear out cached resources related to a source image that has been\n * filtered previously.\n *\n * @param {String} cacheKey The cache key provided when the source image was filtered.\n */\n evictCachesForKey: function(cacheKey) {\n if (this.textureCache[cacheKey]) {\n this.gl.deleteTexture(this.textureCache[cacheKey]);\n delete this.textureCache[cacheKey];\n }\n },\n\n copyGLTo2D: copyGLTo2DDrawImage,\n\n /**\n * Attempt to extract GPU information strings from a WebGL context.\n *\n * Useful information when debugging or blacklisting specific GPUs.\n *\n * @returns {Object} A GPU info object with renderer and vendor strings.\n */\n captureGPUInfo: function() {\n if (this.gpuInfo) {\n return this.gpuInfo;\n }\n var gl = this.gl, gpuInfo = { renderer: '', vendor: '' };\n if (!gl) {\n return gpuInfo;\n }\n var ext = gl.getExtension('WEBGL_debug_renderer_info');\n if (ext) {\n var renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);\n var vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);\n if (renderer) {\n gpuInfo.renderer = renderer.toLowerCase();\n }\n if (vendor) {\n gpuInfo.vendor = vendor.toLowerCase();\n }\n }\n this.gpuInfo = gpuInfo;\n return gpuInfo;\n },\n };\n})();\n\nfunction resizeCanvasIfNeeded(pipelineState) {\n var targetCanvas = pipelineState.targetCanvas,\n width = targetCanvas.width, height = targetCanvas.height,\n dWidth = pipelineState.destinationWidth,\n dHeight = pipelineState.destinationHeight;\n\n if (width !== dWidth || height !== dHeight) {\n targetCanvas.width = dWidth;\n targetCanvas.height = dHeight;\n }\n}\n\n/**\n * Copy an input WebGL canvas on to an output 2D canvas.\n *\n * The WebGL canvas is assumed to be upside down, with the top-left pixel of the\n * desired output image appearing in the bottom-left corner of the WebGL canvas.\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */\nfunction copyGLTo2DDrawImage(gl, pipelineState) {\n var glCanvas = gl.canvas, targetCanvas = pipelineState.targetCanvas,\n ctx = targetCanvas.getContext('2d');\n ctx.translate(0, targetCanvas.height); // move it down again\n ctx.scale(1, -1); // vertical flip\n // where is my image on the big glcanvas?\n var sourceY = glCanvas.height - targetCanvas.height;\n ctx.drawImage(glCanvas, 0, sourceY, targetCanvas.width, targetCanvas.height, 0, 0,\n targetCanvas.width, targetCanvas.height);\n}\n\n/**\n * Copy an input WebGL canvas on to an output 2D canvas using 2d canvas' putImageData\n * API. Measurably faster than using ctx.drawImage in Firefox (version 54 on OSX Sierra).\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */\nfunction copyGLTo2DPutImageData(gl, pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext('2d'),\n dWidth = pipelineState.destinationWidth,\n dHeight = pipelineState.destinationHeight,\n numBytes = dWidth * dHeight * 4;\n\n // eslint-disable-next-line no-undef\n var u8 = new Uint8Array(this.imageBuffer, 0, numBytes);\n // eslint-disable-next-line no-undef\n var u8Clamped = new Uint8ClampedArray(this.imageBuffer, 0, numBytes);\n\n gl.readPixels(0, 0, dWidth, dHeight, gl.RGBA, gl.UNSIGNED_BYTE, u8);\n var imgData = new ImageData(u8Clamped, dWidth, dHeight);\n ctx.putImageData(imgData, 0, 0);\n}\n(function() {\n\n 'use strict';\n\n var noop = function() {};\n\n fabric.Canvas2dFilterBackend = Canvas2dFilterBackend;\n\n /**\n * Canvas 2D filter backend.\n */\n function Canvas2dFilterBackend() {};\n\n Canvas2dFilterBackend.prototype = /** @lends fabric.Canvas2dFilterBackend.prototype */ {\n evictCachesForKey: noop,\n dispose: noop,\n clearWebGLCaches: noop,\n\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/\n resources: {\n\n },\n\n /**\n * Apply a set of filters against a source image and draw the filtered output\n * to the provided destination canvas.\n *\n * @param {EnhancedFilter} filters The filter to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} sourceElement The source to be filtered.\n * @param {Number} sourceWidth The width of the source input.\n * @param {Number} sourceHeight The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n */\n applyFilters: function(filters, sourceElement, sourceWidth, sourceHeight, targetCanvas) {\n var ctx = targetCanvas.getContext('2d');\n ctx.drawImage(sourceElement, 0, 0, sourceWidth, sourceHeight);\n var imageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var originalImageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var pipelineState = {\n sourceWidth: sourceWidth,\n sourceHeight: sourceHeight,\n imageData: imageData,\n originalEl: sourceElement,\n originalImageData: originalImageData,\n canvasEl: targetCanvas,\n ctx: ctx,\n filterBackend: this,\n };\n filters.forEach(function(filter) { filter.applyTo(pipelineState); });\n if (pipelineState.imageData.width !== sourceWidth || pipelineState.imageData.height !== sourceHeight) {\n targetCanvas.width = pipelineState.imageData.width;\n targetCanvas.height = pipelineState.imageData.height;\n }\n ctx.putImageData(pipelineState.imageData, 0, 0);\n return pipelineState;\n },\n\n };\n})();\n/**\n * @namespace fabric.Image.filters\n * @memberOf fabric.Image\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#image_filters}\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n */\nfabric.Image = fabric.Image || { };\nfabric.Image.filters = fabric.Image.filters || { };\n\n/**\n * Root filter class from which all filter classes inherit from\n * @class fabric.Image.filters.BaseFilter\n * @memberOf fabric.Image.filters\n */\nfabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Image.filters.BaseFilter.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'BaseFilter',\n\n /**\n * Array of attributes to send with buffers. do not modify\n * @private\n */\n\n vertexSource: 'attribute vec2 aPosition;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vTexCoord = aPosition;\\n' +\n 'gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n' +\n '}',\n\n fragmentSource: 'precision highp float;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'void main() {\\n' +\n 'gl_FragColor = texture2D(uTexture, vTexCoord);\\n' +\n '}',\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n\n /**\n * Sets filter's properties from options\n * @param {Object} [options] Options object\n */\n setOptions: function(options) {\n for (var prop in options) {\n this[prop] = options[prop];\n }\n },\n\n /**\n * Compile this filter's shader program.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context to use for shader compilation.\n * @param {String} fragmentSource fragmentShader source for compilation\n * @param {String} vertexSource vertexShader source for compilation\n */\n createProgram: function(gl, fragmentSource, vertexSource) {\n fragmentSource = fragmentSource || this.fragmentSource;\n vertexSource = vertexSource || this.vertexSource;\n if (fabric.webGlPrecision !== 'highp'){\n fragmentSource = fragmentSource.replace(\n /precision highp float/g,\n 'precision ' + fabric.webGlPrecision + ' float'\n );\n }\n var vertexShader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(vertexShader, vertexSource);\n gl.compileShader(vertexShader);\n if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Vertex shader compile error for ' + this.type + ': ' +\n gl.getShaderInfoLog(vertexShader)\n );\n }\n\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Fragment shader compile error for ' + this.type + ': ' +\n gl.getShaderInfoLog(fragmentShader)\n );\n }\n\n var program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n throw new Error(\n // eslint-disable-next-line prefer-template\n 'Shader link error for \"${this.type}\" ' +\n gl.getProgramInfoLog(program)\n );\n }\n\n var attributeLocations = this.getAttributeLocations(gl, program);\n var uniformLocations = this.getUniformLocations(gl, program) || { };\n uniformLocations.uStepW = gl.getUniformLocation(program, 'uStepW');\n uniformLocations.uStepH = gl.getUniformLocation(program, 'uStepH');\n return {\n program: program,\n attributeLocations: attributeLocations,\n uniformLocations: uniformLocations\n };\n },\n\n /**\n * Return a map of attribute names to WebGLAttributeLocation objects.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take attribute locations.\n * @returns {Object} A map of attribute names to attribute locations.\n */\n getAttributeLocations: function(gl, program) {\n return {\n aPosition: gl.getAttribLocation(program, 'aPosition'),\n };\n },\n\n /**\n * Return a map of uniform names to WebGLUniformLocation objects.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take uniform locations.\n * @returns {Object} A map of uniform names to uniform locations.\n */\n getUniformLocations: function (/* gl, program */) {\n // in case i do not need any special uniform i need to return an empty object\n return { };\n },\n\n /**\n * Send attribute data from this filter to its shader program on the GPU.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} attributeLocations A map of shader attribute names to their locations.\n */\n sendAttributeData: function(gl, attributeLocations, aPositionData) {\n var attributeLocation = attributeLocations.aPosition;\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.enableVertexAttribArray(attributeLocation);\n gl.vertexAttribPointer(attributeLocation, 2, gl.FLOAT, false, 0, 0);\n gl.bufferData(gl.ARRAY_BUFFER, aPositionData, gl.STATIC_DRAW);\n },\n\n _setupFrameBuffer: function(options) {\n var gl = options.context, width, height;\n if (options.passes > 1) {\n width = options.destinationWidth;\n height = options.destinationHeight;\n if (options.sourceWidth !== width || options.sourceHeight !== height) {\n gl.deleteTexture(options.targetTexture);\n options.targetTexture = options.filterBackend.createTexture(gl, width, height);\n }\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D,\n options.targetTexture, 0);\n }\n else {\n // draw last filter on canvas and not to framebuffer.\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.finish();\n }\n },\n\n _swapTextures: function(options) {\n options.passes--;\n options.pass++;\n var temp = options.targetTexture;\n options.targetTexture = options.sourceTexture;\n options.sourceTexture = temp;\n },\n\n /**\n * Generic isNeutral implementation for one parameter based filters.\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )\n * @param {Object} options\n **/\n isNeutralState: function(/* options */) {\n var main = this.mainParameter,\n _class = fabric.Image.filters[this.type].prototype;\n if (main) {\n if (Array.isArray(_class[main])) {\n for (var i = _class[main].length; i--;) {\n if (this[main][i] !== _class[main][i]) {\n return false;\n }\n }\n return true;\n }\n else {\n return _class[main] === this[main];\n }\n }\n else {\n return false;\n }\n },\n\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n if (options.webgl) {\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n if (!options.programCache.hasOwnProperty(this.type)) {\n options.programCache[this.type] = this.createProgram(options.context);\n }\n return options.programCache[this.type];\n },\n\n /**\n * Apply this filter using webgl.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.originalTexture The texture of the original input image.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyToWebGL: function(options) {\n var gl = options.context;\n var shader = this.retrieveShader(options);\n if (options.pass === 0 && options.originalTexture) {\n gl.bindTexture(gl.TEXTURE_2D, options.originalTexture);\n }\n else {\n gl.bindTexture(gl.TEXTURE_2D, options.sourceTexture);\n }\n gl.useProgram(shader.program);\n this.sendAttributeData(gl, shader.attributeLocations, options.aPosition);\n\n gl.uniform1f(shader.uniformLocations.uStepW, 1 / options.sourceWidth);\n gl.uniform1f(shader.uniformLocations.uStepH, 1 / options.sourceHeight);\n\n this.sendUniformData(gl, shader.uniformLocations);\n gl.viewport(0, 0, options.destinationWidth, options.destinationHeight);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n },\n\n bindAdditionalTexture: function(gl, texture, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n // reset active texture to 0 as usual\n gl.activeTexture(gl.TEXTURE0);\n },\n\n unbindAdditionalTexture: function(gl, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.activeTexture(gl.TEXTURE0);\n },\n\n getMainParameter: function() {\n return this[this.mainParameter];\n },\n\n setMainParameter: function(value) {\n this[this.mainParameter] = value;\n },\n\n /**\n * Send uniform data from this filter to its shader program on the GPU.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} uniformLocations A map of shader uniform names to their locations.\n */\n sendUniformData: function(/* gl, uniformLocations */) {\n // Intentionally left blank. Override me in subclasses.\n },\n\n /**\n * If needed by a 2d filter, this functions can create an helper canvas to be used\n * remember that options.targetCanvas is available for use till end of chain.\n */\n createHelpLayer: function(options) {\n if (!options.helpLayer) {\n var helpLayer = document.createElement('canvas');\n helpLayer.width = options.sourceWidth;\n helpLayer.height = options.sourceHeight;\n options.helpLayer = helpLayer;\n }\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n var object = { type: this.type }, mainP = this.mainParameter;\n if (mainP) {\n object[mainP] = this[mainP];\n }\n return object;\n },\n\n /**\n * Returns a JSON representation of an instance\n * @return {Object} JSON\n */\n toJSON: function() {\n // delegate, not alias\n return this.toObject();\n }\n});\n\nfabric.Image.filters.BaseFilter.fromObject = function(object, callback) {\n var filter = new fabric.Image.filters[object.type](object);\n callback && callback(filter);\n return filter;\n};\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Color Matrix filter class\n * @class fabric.Image.filters.ColorMatrix\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.ColorMatrix#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://www.webwasp.co.uk/tutorials/219/Color_Matrix_Filter.php}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl}\n * @example Kodachrome filter\n * var filter = new fabric.Image.filters.ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.ColorMatrix = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'ColorMatrix',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'uniform mat4 uColorMatrix;\\n' +\n 'uniform vec4 uConstants;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color *= uColorMatrix;\\n' +\n 'color += uConstants;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n matrix: [\n 1, 0, 0, 0, 0,\n 0, 1, 0, 0, 0,\n 0, 0, 1, 0, 0,\n 0, 0, 0, 1, 0\n ],\n\n mainParameter: 'matrix',\n\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */\n colorsOnly: true,\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n // create a new array instead mutating the prototype with push\n this.matrix = this.matrix.slice(0);\n },\n\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n iLen = data.length,\n m = this.matrix,\n r, g, b, a, i, colorsOnly = this.colorsOnly;\n\n for (i = 0; i < iLen; i += 4) {\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n }\n else {\n a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] = r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uColorMatrix: gl.getUniformLocation(program, 'uColorMatrix'),\n uConstants: gl.getUniformLocation(program, 'uConstants'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var m = this.matrix,\n matrix = [\n m[0], m[1], m[2], m[3],\n m[5], m[6], m[7], m[8],\n m[10], m[11], m[12], m[13],\n m[15], m[16], m[17], m[18]\n ],\n constants = [m[4], m[9], m[14], m[19]];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] function to invoke after filter creation\n * @return {fabric.Image.filters.ColorMatrix} Instance of fabric.Image.filters.ColorMatrix\n */\n fabric.Image.filters.ColorMatrix.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Brightness filter class\n * @class fabric.Image.filters.Brightness\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Brightness#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Brightness({\n * brightness: 0.05\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Brightness = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Brightness',\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uBrightness;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color.rgb += uBrightness;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Brightness value, from -1 to 1.\n * translated to -255 to 255 for 2d\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Number} brightness\n * @default\n */\n brightness: 0,\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'brightness',\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.brightness === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, i, len = data.length,\n brightness = Math.round(this.brightness * 255);\n for (i = 0; i < len; i += 4) {\n data[i] = data[i] + brightness;\n data[i + 1] = data[i + 1] + brightness;\n data[i + 2] = data[i + 2] + brightness;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uBrightness: gl.getUniformLocation(program, 'uBrightness'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBrightness, this.brightness);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Brightness} Instance of fabric.Image.filters.Brightness\n */\n fabric.Image.filters.Brightness.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Adapted from html5rocks article\n * @class fabric.Image.filters.Convolute\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Convolute#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example Sharpen filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 0, -1, 0,\n * -1, 5, -1,\n * 0, -1, 0 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Blur filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter with opaqueness\n * var filter = new fabric.Image.filters.Convolute({\n * opaque: true,\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Convolute = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Convolute',\n\n /*\n * Opaque value (true/false)\n */\n opaque: false,\n\n /*\n * matrix for the filter, max 9x9\n */\n matrix: [0, 0, 0, 0, 1, 0, 0, 0, 0],\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: {\n Convolute_3_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[9];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 3.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 3.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_3_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[9];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 3.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 3.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_5_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[25];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 5.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 5.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_5_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[25];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 5.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 5.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_7_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[49];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 7.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 7.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_7_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[49];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 7.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 7.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n Convolute_9_1: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[81];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 0);\\n' +\n 'for (float h = 0.0; h < 9.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 9.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n' +\n 'color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n Convolute_9_0: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uMatrix[81];\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0, 0, 0, 1);\\n' +\n 'for (float h = 0.0; h < 9.0; h+=1.0) {\\n' +\n 'for (float w = 0.0; w < 9.0; w+=1.0) {\\n' +\n 'vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n' +\n 'color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n' +\n '}\\n' +\n '}\\n' +\n 'float alpha = texture2D(uTexture, vTexCoord).a;\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.a = alpha;\\n' +\n '}',\n },\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Convolute.prototype\n * @param {Object} [options] Options object\n * @param {Boolean} [options.opaque=false] Opaque value (true/false)\n * @param {Array} [options.matrix] Filter matrix\n */\n\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var size = Math.sqrt(this.matrix.length);\n var cacheKey = this.type + '_' + size + '_' + (this.opaque ? 1 : 0);\n var shaderSource = this.fragmentSource[cacheKey];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n weights = this.matrix,\n side = Math.round(Math.sqrt(weights.length)),\n halfSide = Math.floor(side / 2),\n sw = imageData.width,\n sh = imageData.height,\n output = options.ctx.createImageData(sw, sh),\n dst = output.data,\n // go through the destination image pixels\n alphaFac = this.opaque ? 1 : 0,\n r, g, b, a, dstOff,\n scx, scy, srcOff, wt,\n x, y, cx, cy;\n\n for (y = 0; y < sh; y++) {\n for (x = 0; x < sw; x++) {\n dstOff = (y * sw + x) * 4;\n // calculate the weighed sum of the source image pixels that\n // fall under the convolution matrix\n r = 0; g = 0; b = 0; a = 0;\n\n for (cy = 0; cy < side; cy++) {\n for (cx = 0; cx < side; cx++) {\n scy = y + cy - halfSide;\n scx = x + cx - halfSide;\n\n // eslint-disable-next-line max-depth\n if (scy < 0 || scy >= sh || scx < 0 || scx >= sw) {\n continue;\n }\n\n srcOff = (scy * sw + scx) * 4;\n wt = weights[cy * side + cx];\n\n r += data[srcOff] * wt;\n g += data[srcOff + 1] * wt;\n b += data[srcOff + 2] * wt;\n // eslint-disable-next-line max-depth\n if (!alphaFac) {\n a += data[srcOff + 3] * wt;\n }\n }\n }\n dst[dstOff] = r;\n dst[dstOff + 1] = g;\n dst[dstOff + 2] = b;\n if (!alphaFac) {\n dst[dstOff + 3] = a;\n }\n else {\n dst[dstOff + 3] = data[dstOff + 3];\n }\n }\n }\n options.imageData = output;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uMatrix: gl.getUniformLocation(program, 'uMatrix'),\n uOpaque: gl.getUniformLocation(program, 'uOpaque'),\n uHalfSize: gl.getUniformLocation(program, 'uHalfSize'),\n uSize: gl.getUniformLocation(program, 'uSize'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1fv(uniformLocations.uMatrix, this.matrix);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n opaque: this.opaque,\n matrix: this.matrix\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Convolute} Instance of fabric.Image.filters.Convolute\n */\n fabric.Image.filters.Convolute.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Grayscale image filter class\n * @class fabric.Image.filters.Grayscale\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Grayscale();\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Grayscale',\n\n fragmentSource: {\n average: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = (color.r + color.b + color.g) / 3.0;\\n' +\n 'gl_FragColor = vec4(average, average, average, color.a);\\n' +\n '}',\n lightness: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uMode;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 col = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n' +\n 'gl_FragColor = vec4(average, average, average, col.a);\\n' +\n '}',\n luminosity: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uMode;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 col = texture2D(uTexture, vTexCoord);\\n' +\n 'float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n' +\n 'gl_FragColor = vec4(average, average, average, col.a);\\n' +\n '}',\n },\n\n\n /**\n * Grayscale mode, between 'average', 'lightness', 'luminosity'\n * @param {String} type\n * @default\n */\n mode: 'average',\n\n mainParameter: 'mode',\n\n /**\n * Apply the Grayscale operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n len = data.length, value,\n mode = this.mode;\n for (i = 0; i < len; i += 4) {\n if (mode === 'average') {\n value = (data[i] + data[i + 1] + data[i + 2]) / 3;\n }\n else if (mode === 'lightness') {\n value = (Math.min(data[i], data[i + 1], data[i + 2]) +\n Math.max(data[i], data[i + 1], data[i + 2])) / 2;\n }\n else if (mode === 'luminosity') {\n value = 0.21 * data[i] + 0.72 * data[i + 1] + 0.07 * data[i + 2];\n }\n data[i] = value;\n data[i + 1] = value;\n data[i + 2] = value;\n }\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var shaderSource = this.fragmentSource[this.mode];\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uMode: gl.getUniformLocation(program, 'uMode'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n // default average mode.\n var mode = 1;\n gl.uniform1i(uniformLocations.uMode, mode);\n },\n\n /**\n * Grayscale filter isNeutralState implementation\n * The filter is never neutral\n * on the image\n **/\n isNeutralState: function() {\n return false;\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Grayscale} Instance of fabric.Image.filters.Grayscale\n */\n fabric.Image.filters.Grayscale.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Invert filter class\n * @class fabric.Image.filters.Invert\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Invert();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */\n filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Invert',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform int uInvert;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'if (uInvert == 1) {\\n' +\n 'gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n' +\n '} else {\\n' +\n 'gl_FragColor = color;\\n' +\n '}\\n' +\n '}',\n\n /**\n * Filter invert. if false, does nothing\n * @param {Boolean} invert\n * @default\n */\n invert: true,\n\n mainParameter: 'invert',\n\n /**\n * Apply the Invert operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n len = data.length;\n for (i = 0; i < len; i += 4) {\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n },\n\n /**\n * Invert filter isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/\n isNeutralState: function() {\n return !this.invert;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uInvert: gl.getUniformLocation(program, 'uInvert'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1i(uniformLocations.uInvert, this.invert);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Invert} Instance of fabric.Image.filters.Invert\n */\n fabric.Image.filters.Invert.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Noise filter class\n * @class fabric.Image.filters.Noise\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Noise#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Noise({\n * noise: 700\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Noise = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Noise',\n\n /**\n * Fragment source for the noise program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uStepH;\\n' +\n 'uniform float uNoise;\\n' +\n 'uniform float uSeed;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'float rand(vec2 co, float seed, float vScale) {\\n' +\n 'return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n' +\n '}\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'noise',\n\n /**\n * Noise value, from\n * @param {Number} noise\n * @default\n */\n noise: 0,\n\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.noise === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, i, len = data.length,\n noise = this.noise, rand;\n\n for (i = 0, len = data.length; i < len; i += 4) {\n\n rand = (0.5 - Math.random()) * noise;\n\n data[i] += rand;\n data[i + 1] += rand;\n data[i + 2] += rand;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uNoise: gl.getUniformLocation(program, 'uNoise'),\n uSeed: gl.getUniformLocation(program, 'uSeed'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uNoise, this.noise / 255);\n gl.uniform1f(uniformLocations.uSeed, Math.random());\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n noise: this.noise\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Noise} Instance of fabric.Image.filters.Noise\n */\n fabric.Image.filters.Noise.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Pixelate filter class\n * @class fabric.Image.filters.Pixelate\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Pixelate#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Pixelate({\n * blocksize: 8\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Pixelate = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Pixelate',\n\n blocksize: 4,\n\n mainParameter: 'blocksize',\n\n /**\n * Fragment source for the Pixelate program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uBlocksize;\\n' +\n 'uniform float uStepW;\\n' +\n 'uniform float uStepH;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'float blockW = uBlocksize * uStepW;\\n' +\n 'float blockH = uBlocksize * uStepW;\\n' +\n 'int posX = int(vTexCoord.x / blockW);\\n' +\n 'int posY = int(vTexCoord.y / blockH);\\n' +\n 'float fposX = float(posX);\\n' +\n 'float fposY = float(posY);\\n' +\n 'vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n' +\n 'vec4 color = texture2D(uTexture, squareCoords);\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Apply the Pixelate operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data,\n iLen = imageData.height,\n jLen = imageData.width,\n index, i, j, r, g, b, a,\n _i, _j, _iLen, _jLen;\n\n for (i = 0; i < iLen; i += this.blocksize) {\n for (j = 0; j < jLen; j += this.blocksize) {\n\n index = (i * 4) * jLen + (j * 4);\n\n r = data[index];\n g = data[index + 1];\n b = data[index + 2];\n a = data[index + 3];\n\n _iLen = Math.min(i + this.blocksize, iLen);\n _jLen = Math.min(j + this.blocksize, jLen);\n for (_i = i; _i < _iLen; _i++) {\n for (_j = j; _j < _jLen; _j++) {\n index = (_i * 4) * jLen + (_j * 4);\n data[index] = r;\n data[index + 1] = g;\n data[index + 2] = b;\n data[index + 3] = a;\n }\n }\n }\n }\n },\n\n /**\n * Indicate when the filter is not gonna apply changes to the image\n **/\n isNeutralState: function() {\n return this.blocksize === 1;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uBlocksize: gl.getUniformLocation(program, 'uBlocksize'),\n uStepW: gl.getUniformLocation(program, 'uStepW'),\n uStepH: gl.getUniformLocation(program, 'uStepH'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBlocksize, this.blocksize);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Pixelate} Instance of fabric.Image.filters.Pixelate\n */\n fabric.Image.filters.Pixelate.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Remove white filter class\n * @class fabric.Image.filters.RemoveColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.RemoveColor#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.RemoveColor({\n * threshold: 0.2,\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.RemoveColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.RemoveColor.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'RemoveColor',\n\n /**\n * Color to remove, in any format understood by fabric.Color.\n * @param {String} type\n * @default\n */\n color: '#FFFFFF',\n\n /**\n * Fragment source for the brightness program\n */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec4 uLow;\\n' +\n 'uniform vec4 uHigh;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'gl_FragColor = texture2D(uTexture, vTexCoord);\\n' +\n 'if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n' +\n 'gl_FragColor.a = 0.0;\\n' +\n '}\\n' +\n '}',\n\n /**\n * distance to actual color, as value up or down from each r,g,b\n * between 0 and 1\n **/\n distance: 0.02,\n\n /**\n * For color to remove inside distance, use alpha channel for a smoother deletion\n * NOT IMPLEMENTED YET\n **/\n useAlpha: false,\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.RemoveWhite.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.color=#RRGGBB] Threshold value\n * @param {Number} [options.distance=10] Distance value\n */\n\n /**\n * Applies filter to canvas element\n * @param {Object} canvasEl Canvas element to apply filter to\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, i,\n distance = this.distance * 255,\n r, g, b,\n source = new fabric.Color(this.color).getSource(),\n lowC = [\n source[0] - distance,\n source[1] - distance,\n source[2] - distance,\n ],\n highC = [\n source[0] + distance,\n source[1] + distance,\n source[2] + distance,\n ];\n\n\n for (i = 0; i < data.length; i += 4) {\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n\n if (r > lowC[0] &&\n g > lowC[1] &&\n b > lowC[2] &&\n r < highC[0] &&\n g < highC[1] &&\n b < highC[2]) {\n data[i + 3] = 0;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uLow: gl.getUniformLocation(program, 'uLow'),\n uHigh: gl.getUniformLocation(program, 'uHigh'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource(),\n distance = parseFloat(this.distance),\n lowC = [\n 0 + source[0] / 255 - distance,\n 0 + source[1] / 255 - distance,\n 0 + source[2] / 255 - distance,\n 1\n ],\n highC = [\n source[0] / 255 + distance,\n source[1] / 255 + distance,\n source[2] / 255 + distance,\n 1\n ];\n gl.uniform4fv(uniformLocations.uLow, lowC);\n gl.uniform4fv(uniformLocations.uHigh, highC);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return extend(this.callSuper('toObject'), {\n color: this.color,\n distance: this.distance\n });\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.RemoveColor} Instance of fabric.Image.filters.RemoveWhite\n */\n fabric.Image.filters.RemoveColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n var matrices = {\n Brownie: [\n 0.59970,0.34553,-0.27082,0,0.186,\n -0.03770,0.86095,0.15059,0,-0.1449,\n 0.24113,-0.07441,0.44972,0,-0.02965,\n 0,0,0,1,0\n ],\n Vintage: [\n 0.62793,0.32021,-0.03965,0,0.03784,\n 0.02578,0.64411,0.03259,0,0.02926,\n 0.04660,-0.08512,0.52416,0,0.02023,\n 0,0,0,1,0\n ],\n Kodachrome: [\n 1.12855,-0.39673,-0.03992,0,0.24991,\n -0.16404,1.08352,-0.05498,0,0.09698,\n -0.16786,-0.56034,1.60148,0,0.13972,\n 0,0,0,1,0\n ],\n Technicolor: [\n 1.91252,-0.85453,-0.09155,0,0.04624,\n -0.30878,1.76589,-0.10601,0,-0.27589,\n -0.23110,-0.75018,1.84759,0,0.12137,\n 0,0,0,1,0\n ],\n Polaroid: [\n 1.438,-0.062,-0.062,0,0,\n -0.122,1.378,-0.122,0,0,\n -0.016,-0.016,1.483,0,0,\n 0,0,0,1,0\n ],\n Sepia: [\n 0.393, 0.769, 0.189, 0, 0,\n 0.349, 0.686, 0.168, 0, 0,\n 0.272, 0.534, 0.131, 0, 0,\n 0, 0, 0, 1, 0\n ],\n BlackWhite: [\n 1.5, 1.5, 1.5, 0, -1,\n 1.5, 1.5, 1.5, 0, -1,\n 1.5, 1.5, 1.5, 0, -1,\n 0, 0, 0, 1, 0,\n ]\n };\n\n for (var key in matrices) {\n filters[key] = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.Sepia.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: key,\n\n /**\n * Colormatrix for the effect\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * @param {Array} matrix array of 20 numbers.\n * @default\n */\n matrix: matrices[key],\n\n /**\n * Lock the matrix export for this kind of static, parameter less filters.\n */\n mainParameter: false,\n /**\n * Lock the colormatrix on the color part, skipping alpha\n */\n colorsOnly: true,\n\n });\n fabric.Image.filters[key].fromObject = fabric.Image.filters.BaseFilter.fromObject;\n }\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n 'use strict';\n\n var fabric = global.fabric,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Color Blend filter class\n * @class fabric.Image.filter.BlendColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n\n filters.BlendColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */ {\n type: 'BlendColor',\n\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n * @type String\n * @default\n **/\n color: '#F95C63',\n\n /**\n * Blend mode for the filter: one of multiply, add, diff, screen, subtract,\n * darken, lighten, overlay, exclusion, tint.\n * @type String\n * @default\n **/\n mode: 'multiply',\n\n /**\n * alpha value. represent the strength of the blend color operation.\n * @type Number\n * @default\n **/\n alpha: 1,\n\n /**\n * Fragment source for the Multiply program\n */\n fragmentSource: {\n multiply: 'gl_FragColor.rgb *= uColor.rgb;\\n',\n screen: 'gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n',\n add: 'gl_FragColor.rgb += uColor.rgb;\\n',\n diff: 'gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n',\n subtract: 'gl_FragColor.rgb -= uColor.rgb;\\n',\n lighten: 'gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n',\n darken: 'gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n',\n exclusion: 'gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n',\n overlay: 'if (uColor.r < 0.5) {\\n' +\n 'gl_FragColor.r *= 2.0 * uColor.r;\\n' +\n '} else {\\n' +\n 'gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n' +\n '}\\n' +\n 'if (uColor.g < 0.5) {\\n' +\n 'gl_FragColor.g *= 2.0 * uColor.g;\\n' +\n '} else {\\n' +\n 'gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n' +\n '}\\n' +\n 'if (uColor.b < 0.5) {\\n' +\n 'gl_FragColor.b *= 2.0 * uColor.b;\\n' +\n '} else {\\n' +\n 'gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n' +\n '}\\n',\n tint: 'gl_FragColor.rgb *= (1.0 - uColor.a);\\n' +\n 'gl_FragColor.rgb += uColor.rgb;\\n',\n },\n\n /**\n * build the fragment source for the filters, joining the common part with\n * the specific one.\n * @param {String} mode the mode of the filter, a key of this.fragmentSource\n * @return {String} the source to be compiled\n * @private\n */\n buildSource: function(mode) {\n return 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'gl_FragColor = color;\\n' +\n 'if (color.a > 0.0) {\\n' +\n this.fragmentSource[mode] +\n '}\\n' +\n '}';\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode, shaderSource;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n shaderSource = this.buildSource(this.mode);\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n data = imageData.data, iLen = data.length,\n tr, tg, tb,\n r, g, b,\n source, alpha1 = 1 - this.alpha;\n\n source = new fabric.Color(this.color).getSource();\n tr = source[0] * this.alpha;\n tg = source[1] * this.alpha;\n tb = source[2] * this.alpha;\n\n for (var i = 0; i < iLen; i += 4) {\n\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n\n switch (this.mode) {\n case 'multiply':\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n break;\n case 'screen':\n data[i] = 255 - (255 - r) * (255 - tr) / 255;\n data[i + 1] = 255 - (255 - g) * (255 - tg) / 255;\n data[i + 2] = 255 - (255 - b) * (255 - tb) / 255;\n break;\n case 'add':\n data[i] = r + tr;\n data[i + 1] = g + tg;\n data[i + 2] = b + tb;\n break;\n case 'diff':\n case 'difference':\n data[i] = Math.abs(r - tr);\n data[i + 1] = Math.abs(g - tg);\n data[i + 2] = Math.abs(b - tb);\n break;\n case 'subtract':\n data[i] = r - tr;\n data[i + 1] = g - tg;\n data[i + 2] = b - tb;\n break;\n case 'darken':\n data[i] = Math.min(r, tr);\n data[i + 1] = Math.min(g, tg);\n data[i + 2] = Math.min(b, tb);\n break;\n case 'lighten':\n data[i] = Math.max(r, tr);\n data[i + 1] = Math.max(g, tg);\n data[i + 2] = Math.max(b, tb);\n break;\n case 'overlay':\n data[i] = tr < 128 ? (2 * r * tr / 255) : (255 - 2 * (255 - r) * (255 - tr) / 255);\n data[i + 1] = tg < 128 ? (2 * g * tg / 255) : (255 - 2 * (255 - g) * (255 - tg) / 255);\n data[i + 2] = tb < 128 ? (2 * b * tb / 255) : (255 - 2 * (255 - b) * (255 - tb) / 255);\n break;\n case 'exclusion':\n data[i] = tr + r - ((2 * tr * r) / 255);\n data[i + 1] = tg + g - ((2 * tg * g) / 255);\n data[i + 2] = tb + b - ((2 * tb * b) / 255);\n break;\n case 'tint':\n data[i] = tr + r * alpha1;\n data[i + 1] = tg + g * alpha1;\n data[i + 2] = tb + b * alpha1;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uColor: gl.getUniformLocation(program, 'uColor'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource();\n source[0] = this.alpha * source[0] / 255;\n source[1] = this.alpha * source[1] / 255;\n source[2] = this.alpha * source[2] / 255;\n source[3] = this.alpha;\n gl.uniform4fv(uniformLocations.uColor, source);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n color: this.color,\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.BlendColor} Instance of fabric.Image.filters.BlendColor\n */\n fabric.Image.filters.BlendColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n 'use strict';\n\n var fabric = global.fabric,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Image Blend filter class\n * @class fabric.Image.filter.BlendImage\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n\n filters.BlendImage = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.BlendImage.prototype */ {\n type: 'BlendImage',\n\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n **/\n image: null,\n\n /**\n * Blend mode for the filter (one of \"multiply\", \"mask\")\n * @type String\n * @default\n **/\n mode: 'multiply',\n\n /**\n * alpha value. represent the strength of the blend image operation.\n * not implemented.\n **/\n alpha: 1,\n\n vertexSource: 'attribute vec2 aPosition;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'uniform mat3 uTransformMatrix;\\n' +\n 'void main() {\\n' +\n 'vTexCoord = aPosition;\\n' +\n 'vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n' +\n 'gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n' +\n '}',\n\n /**\n * Fragment source for the Multiply program\n */\n fragmentSource: {\n multiply: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform sampler2D uImage;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec4 color2 = texture2D(uImage, vTexCoord2);\\n' +\n 'color.rgba *= color2.rgba;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n mask: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform sampler2D uImage;\\n' +\n 'uniform vec4 uColor;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'varying vec2 vTexCoord2;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec4 color2 = texture2D(uImage, vTexCoord2);\\n' +\n 'color.a = color2.a;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var cacheKey = this.type + '_' + this.mode;\n var shaderSource = this.fragmentSource[this.mode];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n\n applyToWebGL: function(options) {\n // load texture to blend.\n var gl = options.context,\n texture = this.createTexture(options.filterBackend, this.image);\n this.bindAdditionalTexture(gl, texture, gl.TEXTURE1);\n this.callSuper('applyToWebGL', options);\n this.unbindAdditionalTexture(gl, gl.TEXTURE1);\n },\n\n createTexture: function(backend, image) {\n return backend.getCachedTexture(image.cacheKey, image._element);\n },\n\n /**\n * Calculate a transformMatrix to adapt the image to blend over\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n calculateMatrix: function() {\n var image = this.image,\n width = image._element.width,\n height = image._element.height;\n return [\n 1 / image.scaleX, 0, 0,\n 0, 1 / image.scaleY, 0,\n -image.left / width, -image.top / height, 1\n ];\n },\n\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n resources = options.filterBackend.resources,\n data = imageData.data, iLen = data.length,\n width = imageData.width,\n height = imageData.height,\n tr, tg, tb, ta,\n r, g, b, a,\n canvas1, context, image = this.image, blendData;\n\n if (!resources.blendImage) {\n resources.blendImage = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blendImage;\n context = canvas1.getContext('2d');\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas1.width = width;\n canvas1.height = height;\n }\n else {\n context.clearRect(0, 0, width, height);\n }\n context.setTransform(image.scaleX, 0, 0, image.scaleY, image.left, image.top);\n context.drawImage(image._element, 0, 0, width, height);\n blendData = context.getImageData(0, 0, width, height).data;\n for (var i = 0; i < iLen; i += 4) {\n\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n\n tr = blendData[i];\n tg = blendData[i + 1];\n tb = blendData[i + 2];\n ta = blendData[i + 3];\n\n switch (this.mode) {\n case 'multiply':\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n data[i + 3] = a * ta / 255;\n break;\n case 'mask':\n data[i + 3] = ta;\n break;\n }\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uTransformMatrix: gl.getUniformLocation(program, 'uTransformMatrix'),\n uImage: gl.getUniformLocation(program, 'uImage'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var matrix = this.calculateMatrix();\n gl.uniform1i(uniformLocations.uImage, 1); // texture unit 1.\n gl.uniformMatrix3fv(uniformLocations.uTransformMatrix, false, matrix);\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n image: this.image && this.image.toObject(),\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} callback to be invoked after filter creation\n * @return {fabric.Image.filters.BlendImage} Instance of fabric.Image.filters.BlendImage\n */\n fabric.Image.filters.BlendImage.fromObject = function(object, callback) {\n fabric.Image.fromObject(object.image, function(image) {\n var options = fabric.util.object.clone(object);\n options.image = image;\n callback(new fabric.Image.filters.BlendImage(options));\n });\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }), pow = Math.pow, floor = Math.floor,\n sqrt = Math.sqrt, abs = Math.abs, round = Math.round, sin = Math.sin,\n ceil = Math.ceil,\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Resize image filter class\n * @class fabric.Image.filters.Resize\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Resize();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */\n filters.Resize = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Resize',\n\n /**\n * Resize type\n * for webgl resizeType is just lanczos, for canvas2d can be:\n * bilinear, hermite, sliceHack, lanczos.\n * @param {String} resizeType\n * @default\n */\n resizeType: 'hermite',\n\n /**\n * Scale factor for resizing, x axis\n * @param {Number} scaleX\n * @default\n */\n scaleX: 1,\n\n /**\n * Scale factor for resizing, y axis\n * @param {Number} scaleY\n * @default\n */\n scaleY: 1,\n\n /**\n * LanczosLobes parameter for lanczos filter, valid for resizeType lanczos\n * @param {Number} lanczosLobes\n * @default\n */\n lanczosLobes: 3,\n\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uDelta: gl.getUniformLocation(program, 'uDelta'),\n uTaps: gl.getUniformLocation(program, 'uTaps'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform2fv(uniformLocations.uDelta, this.horizontal ? [1 / this.width, 0] : [0, 1 / this.height]);\n gl.uniform1fv(uniformLocations.uTaps, this.taps);\n },\n\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n retrieveShader: function(options) {\n var filterWindow = this.getFilterWindow(), cacheKey = this.type + '_' + filterWindow;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var fragmentShader = this.generateShader(filterWindow);\n options.programCache[cacheKey] = this.createProgram(options.context, fragmentShader);\n }\n return options.programCache[cacheKey];\n },\n\n getFilterWindow: function() {\n var scale = this.tempScale;\n return Math.ceil(this.lanczosLobes / scale);\n },\n\n getTaps: function() {\n var lobeFunction = this.lanczosCreate(this.lanczosLobes), scale = this.tempScale,\n filterWindow = this.getFilterWindow(), taps = new Array(filterWindow);\n for (var i = 1; i <= filterWindow; i++) {\n taps[i - 1] = lobeFunction(i * scale);\n }\n return taps;\n },\n\n /**\n * Generate vertex and shader sources from the necessary steps numbers\n * @param {Number} filterWindow\n */\n generateShader: function(filterWindow) {\n var offsets = new Array(filterWindow),\n fragmentShader = this.fragmentSourceTOP, filterWindow;\n\n for (var i = 1; i <= filterWindow; i++) {\n offsets[i - 1] = i + '.0 * uDelta';\n }\n\n fragmentShader += 'uniform float uTaps[' + filterWindow + '];\\n';\n fragmentShader += 'void main() {\\n';\n fragmentShader += ' vec4 color = texture2D(uTexture, vTexCoord);\\n';\n fragmentShader += ' float sum = 1.0;\\n';\n\n offsets.forEach(function(offset, i) {\n fragmentShader += ' color += texture2D(uTexture, vTexCoord + ' + offset + ') * uTaps[' + i + '];\\n';\n fragmentShader += ' color += texture2D(uTexture, vTexCoord - ' + offset + ') * uTaps[' + i + '];\\n';\n fragmentShader += ' sum += 2.0 * uTaps[' + i + '];\\n';\n });\n fragmentShader += ' gl_FragColor = color / sum;\\n';\n fragmentShader += '}';\n return fragmentShader;\n },\n\n fragmentSourceTOP: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec2 uDelta;\\n' +\n 'varying vec2 vTexCoord;\\n',\n\n /**\n * Apply the resize filter to the image\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n if (options.webgl) {\n options.passes++;\n this.width = options.sourceWidth;\n this.horizontal = true;\n this.dW = Math.round(this.width * this.scaleX);\n this.dH = options.sourceHeight;\n this.tempScale = this.dW / this.width;\n this.taps = this.getTaps();\n options.destinationWidth = this.dW;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceWidth = options.destinationWidth;\n\n this.height = options.sourceHeight;\n this.horizontal = false;\n this.dH = Math.round(this.height * this.scaleY);\n this.tempScale = this.dH / this.height;\n this.taps = this.getTaps();\n options.destinationHeight = this.dH;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceHeight = options.destinationHeight;\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n isNeutralState: function() {\n return this.scaleX === 1 && this.scaleY === 1;\n },\n\n lanczosCreate: function(lobes) {\n return function(x) {\n if (x >= lobes || x <= -lobes) {\n return 0.0;\n }\n if (x < 1.19209290E-07 && x > -1.19209290E-07) {\n return 1.0;\n }\n x *= Math.PI;\n var xx = x / lobes;\n return (sin(x) / x) * sin(xx) / xx;\n };\n },\n\n /**\n * Applies filter to canvas element\n * @memberOf fabric.Image.filters.Resize.prototype\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} scaleX\n * @param {Number} scaleY\n */\n applyTo2d: function(options) {\n var imageData = options.imageData,\n scaleX = this.scaleX,\n scaleY = this.scaleY;\n\n this.rcpScaleX = 1 / scaleX;\n this.rcpScaleY = 1 / scaleY;\n\n var oW = imageData.width, oH = imageData.height,\n dW = round(oW * scaleX), dH = round(oH * scaleY),\n newData;\n\n if (this.resizeType === 'sliceHack') {\n newData = this.sliceByTwo(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'hermite') {\n newData = this.hermiteFastResize(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'bilinear') {\n newData = this.bilinearFiltering(options, oW, oH, dW, dH);\n }\n else if (this.resizeType === 'lanczos') {\n newData = this.lanczosResize(options, oW, oH, dW, dH);\n }\n options.imageData = newData;\n },\n\n /**\n * Filter sliceByTwo\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n sliceByTwo: function(options, oW, oH, dW, dH) {\n var imageData = options.imageData,\n mult = 0.5, doneW = false, doneH = false, stepW = oW * mult,\n stepH = oH * mult, resources = fabric.filterBackend.resources,\n tmpCanvas, ctx, sX = 0, sY = 0, dX = oW, dY = 0;\n if (!resources.sliceByTwo) {\n resources.sliceByTwo = document.createElement('canvas');\n }\n tmpCanvas = resources.sliceByTwo;\n if (tmpCanvas.width < oW * 1.5 || tmpCanvas.height < oH) {\n tmpCanvas.width = oW * 1.5;\n tmpCanvas.height = oH;\n }\n ctx = tmpCanvas.getContext('2d');\n ctx.clearRect(0, 0, oW * 1.5, oH);\n ctx.putImageData(imageData, 0, 0);\n\n dW = floor(dW);\n dH = floor(dH);\n\n while (!doneW || !doneH) {\n oW = stepW;\n oH = stepH;\n if (dW < floor(stepW * mult)) {\n stepW = floor(stepW * mult);\n }\n else {\n stepW = dW;\n doneW = true;\n }\n if (dH < floor(stepH * mult)) {\n stepH = floor(stepH * mult);\n }\n else {\n stepH = dH;\n doneH = true;\n }\n ctx.drawImage(tmpCanvas, sX, sY, oW, oH, dX, dY, stepW, stepH);\n sX = dX;\n sY = dY;\n dY += stepH;\n }\n return ctx.getImageData(sX, sY, dW, dH);\n },\n\n /**\n * Filter lanczosResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n lanczosResize: function(options, oW, oH, dW, dH) {\n\n function process(u) {\n var v, i, weight, idx, a, red, green,\n blue, alpha, fX, fY;\n center.x = (u + 0.5) * ratioX;\n icenter.x = floor(center.x);\n for (v = 0; v < dH; v++) {\n center.y = (v + 0.5) * ratioY;\n icenter.y = floor(center.y);\n a = 0; red = 0; green = 0; blue = 0; alpha = 0;\n for (i = icenter.x - range2X; i <= icenter.x + range2X; i++) {\n if (i < 0 || i >= oW) {\n continue;\n }\n fX = floor(1000 * abs(i - center.x));\n if (!cacheLanc[fX]) {\n cacheLanc[fX] = { };\n }\n for (var j = icenter.y - range2Y; j <= icenter.y + range2Y; j++) {\n if (j < 0 || j >= oH) {\n continue;\n }\n fY = floor(1000 * abs(j - center.y));\n if (!cacheLanc[fX][fY]) {\n cacheLanc[fX][fY] = lanczos(sqrt(pow(fX * rcpRatioX, 2) + pow(fY * rcpRatioY, 2)) / 1000);\n }\n weight = cacheLanc[fX][fY];\n if (weight > 0) {\n idx = (j * oW + i) * 4;\n a += weight;\n red += weight * srcData[idx];\n green += weight * srcData[idx + 1];\n blue += weight * srcData[idx + 2];\n alpha += weight * srcData[idx + 3];\n }\n }\n }\n idx = (v * dW + u) * 4;\n destData[idx] = red / a;\n destData[idx + 1] = green / a;\n destData[idx + 2] = blue / a;\n destData[idx + 3] = alpha / a;\n }\n\n if (++u < dW) {\n return process(u);\n }\n else {\n return destImg;\n }\n }\n\n var srcData = options.imageData.data,\n destImg = options.ctx.createImageData(dW, dH),\n destData = destImg.data,\n lanczos = this.lanczosCreate(this.lanczosLobes),\n ratioX = this.rcpScaleX, ratioY = this.rcpScaleY,\n rcpRatioX = 2 / this.rcpScaleX, rcpRatioY = 2 / this.rcpScaleY,\n range2X = ceil(ratioX * this.lanczosLobes / 2),\n range2Y = ceil(ratioY * this.lanczosLobes / 2),\n cacheLanc = { }, center = { }, icenter = { };\n\n return process(0);\n },\n\n /**\n * bilinearFiltering\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n bilinearFiltering: function(options, oW, oH, dW, dH) {\n var a, b, c, d, x, y, i, j, xDiff, yDiff, chnl,\n color, offset = 0, origPix, ratioX = this.rcpScaleX,\n ratioY = this.rcpScaleY,\n w4 = 4 * (oW - 1), img = options.imageData,\n pixels = img.data, destImage = options.ctx.createImageData(dW, dH),\n destPixels = destImage.data;\n for (i = 0; i < dH; i++) {\n for (j = 0; j < dW; j++) {\n x = floor(ratioX * j);\n y = floor(ratioY * i);\n xDiff = ratioX * j - x;\n yDiff = ratioY * i - y;\n origPix = 4 * (y * oW + x);\n\n for (chnl = 0; chnl < 4; chnl++) {\n a = pixels[origPix + chnl];\n b = pixels[origPix + 4 + chnl];\n c = pixels[origPix + w4 + chnl];\n d = pixels[origPix + w4 + 4 + chnl];\n color = a * (1 - xDiff) * (1 - yDiff) + b * xDiff * (1 - yDiff) +\n c * yDiff * (1 - xDiff) + d * xDiff * yDiff;\n destPixels[offset++] = color;\n }\n }\n }\n return destImage;\n },\n\n /**\n * hermiteFastResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */\n hermiteFastResize: function(options, oW, oH, dW, dH) {\n var ratioW = this.rcpScaleX, ratioH = this.rcpScaleY,\n ratioWHalf = ceil(ratioW / 2),\n ratioHHalf = ceil(ratioH / 2),\n img = options.imageData, data = img.data,\n img2 = options.ctx.createImageData(dW, dH), data2 = img2.data;\n for (var j = 0; j < dH; j++) {\n for (var i = 0; i < dW; i++) {\n var x2 = (i + j * dW) * 4, weight = 0, weights = 0, weightsAlpha = 0,\n gxR = 0, gxG = 0, gxB = 0, gxA = 0, centerY = (j + 0.5) * ratioH;\n for (var yy = floor(j * ratioH); yy < (j + 1) * ratioH; yy++) {\n var dy = abs(centerY - (yy + 0.5)) / ratioHHalf,\n centerX = (i + 0.5) * ratioW, w0 = dy * dy;\n for (var xx = floor(i * ratioW); xx < (i + 1) * ratioW; xx++) {\n var dx = abs(centerX - (xx + 0.5)) / ratioWHalf,\n w = sqrt(w0 + dx * dx);\n /* eslint-disable max-depth */\n if (w > 1 && w < -1) {\n continue;\n }\n //hermite filter\n weight = 2 * w * w * w - 3 * w * w + 1;\n if (weight > 0) {\n dx = 4 * (xx + yy * oW);\n //alpha\n gxA += weight * data[dx + 3];\n weightsAlpha += weight;\n //colors\n if (data[dx + 3] < 255) {\n weight = weight * data[dx + 3] / 250;\n }\n gxR += weight * data[dx];\n gxG += weight * data[dx + 1];\n gxB += weight * data[dx + 2];\n weights += weight;\n }\n /* eslint-enable max-depth */\n }\n }\n data2[x2] = gxR / weights;\n data2[x2 + 1] = gxG / weights;\n data2[x2 + 2] = gxB / weights;\n data2[x2 + 3] = gxA / weightsAlpha;\n }\n }\n return img2;\n },\n\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */\n toObject: function() {\n return {\n type: this.type,\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n resizeType: this.resizeType,\n lanczosLobes: this.lanczosLobes\n };\n }\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Resize} Instance of fabric.Image.filters.Resize\n */\n fabric.Image.filters.Resize.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Contrast filter class\n * @class fabric.Image.filters.Contrast\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Contrast#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Contrast({\n * contrast: 0.25\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Contrast = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Contrast.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Contrast',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uContrast;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n' +\n 'color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * contrast value, range from -1 to 1.\n * @param {Number} contrast\n * @default 0\n */\n contrast: 0,\n\n mainParameter: 'contrast',\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Contrast.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.contrast=0] Value to contrast the image up (-1...1)\n */\n\n /**\n * Apply the Contrast operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n if (this.contrast === 0) {\n return;\n }\n var imageData = options.imageData, i, len,\n data = imageData.data, len = data.length,\n contrast = Math.floor(this.contrast * 255),\n contrastF = 259 * (contrast + 255) / (255 * (259 - contrast));\n\n for (i = 0; i < len; i += 4) {\n data[i] = contrastF * (data[i] - 128) + 128;\n data[i + 1] = contrastF * (data[i + 1] - 128) + 128;\n data[i + 2] = contrastF * (data[i + 2] - 128) + 128;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uContrast: gl.getUniformLocation(program, 'uContrast'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uContrast, this.contrast);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Contrast} Instance of fabric.Image.filters.Contrast\n */\n fabric.Image.filters.Contrast.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Saturate filter class\n * @class fabric.Image.filters.Saturation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Saturation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Saturation({\n * saturation: 1\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Saturation = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Saturation.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Saturation',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform float uSaturation;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'float rgMax = max(color.r, color.g);\\n' +\n 'float rgbMax = max(rgMax, color.b);\\n' +\n 'color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n' +\n 'color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n' +\n 'color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n' +\n 'gl_FragColor = color;\\n' +\n '}',\n\n /**\n * Saturation value, from -1 to 1.\n * Increases/decreases the color saturation.\n * A value of 0 has no effect.\n * \n * @param {Number} saturation\n * @default\n */\n saturation: 0,\n\n mainParameter: 'saturation',\n\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Saturate.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.saturate=0] Value to saturate the image (-1...1)\n */\n\n /**\n * Apply the Saturation operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */\n applyTo2d: function(options) {\n if (this.saturation === 0) {\n return;\n }\n var imageData = options.imageData,\n data = imageData.data, len = data.length,\n adjust = -this.saturation, i, max;\n\n for (i = 0; i < len; i += 4) {\n max = Math.max(data[i], data[i + 1], data[i + 2]);\n data[i] += max !== data[i] ? (max - data[i]) * adjust : 0;\n data[i + 1] += max !== data[i + 1] ? (max - data[i + 1]) * adjust : 0;\n data[i + 2] += max !== data[i + 2] ? (max - data[i + 2]) * adjust : 0;\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uSaturation: gl.getUniformLocation(program, 'uSaturation'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uSaturation, -this.saturation);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Saturation} Instance of fabric.Image.filters.Saturate\n */\n fabric.Image.filters.Saturation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Blur filter class\n * @class fabric.Image.filters.Blur\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Blur#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Blur({\n * blur: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */\n filters.Blur = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blur.prototype */ {\n\n type: 'Blur',\n\n /*\n'gl_FragColor = vec4(0.0);',\n'gl_FragColor += texture2D(texture, vTexCoord + -7 * uDelta)*0.0044299121055113265;',\n'gl_FragColor += texture2D(texture, vTexCoord + -6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + -5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + -4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + -3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + -2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + -1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord )*0.159576912161;',\n'gl_FragColor += texture2D(texture, vTexCoord + 1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord + 2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + 3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + 4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + 5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + 6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + 7 * uDelta)*0.0044299121055113265;',\n*/\n\n /* eslint-disable max-len */\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec2 uDelta;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'const float nSamples = 15.0;\\n' +\n 'vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n' +\n 'float random(vec3 scale) {\\n' +\n /* use the fragment position for a different seed per-pixel */\n 'return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n' +\n '}\\n' +\n 'void main() {\\n' +\n 'vec4 color = vec4(0.0);\\n' +\n 'float total = 0.0;\\n' +\n 'float offset = random(v3offset);\\n' +\n 'for (float t = -nSamples; t <= nSamples; t++) {\\n' +\n 'float percent = (t + offset - 0.5) / nSamples;\\n' +\n 'float weight = 1.0 - abs(percent);\\n' +\n 'color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\\n' +\n 'total += weight;\\n' +\n '}\\n' +\n 'gl_FragColor = color / total;\\n' +\n '}',\n /* eslint-enable max-len */\n\n /**\n * blur value, in percentage of image dimensions.\n * specific to keep the image blur constant at different resolutions\n * range between 0 and 1.\n * @type Number\n * @default\n */\n blur: 0,\n\n mainParameter: 'blur',\n\n applyTo: function(options) {\n if (options.webgl) {\n // this aspectRatio is used to give the same blur to vertical and horizontal\n this.aspectRatio = options.sourceWidth / options.sourceHeight;\n options.passes++;\n this._setupFrameBuffer(options);\n this.horizontal = true;\n this.applyToWebGL(options);\n this._swapTextures(options);\n this._setupFrameBuffer(options);\n this.horizontal = false;\n this.applyToWebGL(options);\n this._swapTextures(options);\n }\n else {\n this.applyTo2d(options);\n }\n },\n\n applyTo2d: function(options) {\n // paint canvasEl with current image data.\n //options.ctx.putImageData(options.imageData, 0, 0);\n options.imageData = this.simpleBlur(options);\n },\n\n simpleBlur: function(options) {\n var resources = options.filterBackend.resources, canvas1, canvas2,\n width = options.imageData.width,\n height = options.imageData.height;\n\n if (!resources.blurLayer1) {\n resources.blurLayer1 = fabric.util.createCanvasElement();\n resources.blurLayer2 = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blurLayer1;\n canvas2 = resources.blurLayer2;\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas2.width = canvas1.width = width;\n canvas2.height = canvas1.height = height;\n }\n var ctx1 = canvas1.getContext('2d'),\n ctx2 = canvas2.getContext('2d'),\n nSamples = 15,\n random, percent, j, i,\n blur = this.blur * 0.06 * 0.5;\n\n // load first canvas\n ctx1.putImageData(options.imageData, 0, 0);\n ctx2.clearRect(0, 0, width, height);\n\n for (i = -nSamples; i <= nSamples; i++) {\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * width + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, j, random);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n for (i = -nSamples; i <= nSamples; i++) {\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * height + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, random, j);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n options.ctx.drawImage(canvas1, 0, 0);\n var newImageData = options.ctx.getImageData(0, 0, canvas1.width, canvas1.height);\n ctx1.globalAlpha = 1;\n ctx1.clearRect(0, 0, canvas1.width, canvas1.height);\n return newImageData;\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n delta: gl.getUniformLocation(program, 'uDelta'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n var delta = this.chooseRightDelta();\n gl.uniform2fv(uniformLocations.delta, delta);\n },\n\n /**\n * choose right value of image percentage to blur with\n * @returns {Array} a numeric array with delta values\n */\n chooseRightDelta: function() {\n var blurScale = 1, delta = [0, 0], blur;\n if (this.horizontal) {\n if (this.aspectRatio > 1) {\n // image is wide, i want to shrink radius horizontal\n blurScale = 1 / this.aspectRatio;\n }\n }\n else {\n if (this.aspectRatio < 1) {\n // image is tall, i want to shrink radius vertical\n blurScale = this.aspectRatio;\n }\n }\n blur = blurScale * this.blur * 0.12;\n if (this.horizontal) {\n delta[0] = blur;\n }\n else {\n delta[1] = blur;\n }\n return delta;\n },\n });\n\n /**\n * Deserialize a JSON definition of a BlurFilter into a concrete instance.\n */\n filters.Blur.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * Gamma filter class\n * @class fabric.Image.filters.Gamma\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Gamma#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Gamma({\n * gamma: [1, 0.5, 2.1]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.Gamma = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Gamma.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'Gamma',\n\n fragmentSource: 'precision highp float;\\n' +\n 'uniform sampler2D uTexture;\\n' +\n 'uniform vec3 uGamma;\\n' +\n 'varying vec2 vTexCoord;\\n' +\n 'void main() {\\n' +\n 'vec4 color = texture2D(uTexture, vTexCoord);\\n' +\n 'vec3 correction = (1.0 / uGamma);\\n' +\n 'color.r = pow(color.r, correction.r);\\n' +\n 'color.g = pow(color.g, correction.g);\\n' +\n 'color.b = pow(color.b, correction.b);\\n' +\n 'gl_FragColor = color;\\n' +\n 'gl_FragColor.rgb *= color.a;\\n' +\n '}',\n\n /**\n * Gamma array value, from 0.01 to 2.2.\n * @param {Array} gamma\n * @default\n */\n gamma: [1, 1, 1],\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'gamma',\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.gamma = [1, 1, 1];\n filters.BaseFilter.prototype.initialize.call(this, options);\n },\n\n /**\n * Apply the Gamma operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */\n applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data,\n gamma = this.gamma, len = data.length,\n rInv = 1 / gamma[0], gInv = 1 / gamma[1],\n bInv = 1 / gamma[2], i;\n\n if (!this.rVals) {\n // eslint-disable-next-line\n this.rVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.gVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.bVals = new Uint8Array(256);\n }\n\n // This is an optimization - pre-compute a look-up table for each color channel\n // instead of performing these pow calls for each pixel in the image.\n for (i = 0, len = 256; i < len; i++) {\n this.rVals[i] = Math.pow(i / 255, rInv) * 255;\n this.gVals[i] = Math.pow(i / 255, gInv) * 255;\n this.bVals[i] = Math.pow(i / 255, bInv) * 255;\n }\n for (i = 0, len = data.length; i < len; i += 4) {\n data[i] = this.rVals[data[i]];\n data[i + 1] = this.gVals[data[i + 1]];\n data[i + 2] = this.bVals[data[i + 2]];\n }\n },\n\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */\n getUniformLocations: function(gl, program) {\n return {\n uGamma: gl.getUniformLocation(program, 'uGamma'),\n };\n },\n\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */\n sendUniformData: function(gl, uniformLocations) {\n gl.uniform3fv(uniformLocations.uGamma, this.gamma);\n },\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Gamma} Instance of fabric.Image.filters.Gamma\n */\n fabric.Image.filters.Gamma.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * A container class that knows how to apply a sequence of filters to an input image.\n */\n filters.Composed = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Composed.prototype */ {\n\n type: 'Composed',\n\n /**\n * A non sparse array of filters to apply\n */\n subFilters: [],\n\n /**\n * Constructor\n * @param {Object} [options] Options object\n */\n initialize: function(options) {\n this.callSuper('initialize', options);\n // create a new array instead mutating the prototype with push\n this.subFilters = this.subFilters.slice(0);\n },\n\n /**\n * Apply this container's filters to the input image provided.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be applied.\n */\n applyTo: function(options) {\n options.passes += this.subFilters.length - 1;\n this.subFilters.forEach(function(filter) {\n filter.applyTo(options);\n });\n },\n\n /**\n * Serialize this filter into JSON.\n *\n * @returns {Object} A JSON representation of this filter.\n */\n toObject: function() {\n return fabric.util.object.extend(this.callSuper('toObject'), {\n subFilters: this.subFilters.map(function(filter) { return filter.toObject(); }),\n });\n },\n\n isNeutralState: function() {\n return !this.subFilters.some(function(filter) { return !filter.isNeutralState(); });\n }\n });\n\n /**\n * Deserialize a JSON definition of a ComposedFilter into a concrete instance.\n */\n fabric.Image.filters.Composed.fromObject = function(object, callback) {\n var filters = object.subFilters || [],\n subFilters = filters.map(function(filter) {\n return new fabric.Image.filters[filter.type](filter);\n }),\n instance = new fabric.Image.filters.Composed({ subFilters: subFilters });\n callback && callback(instance);\n return instance;\n };\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n filters = fabric.Image.filters,\n createClass = fabric.util.createClass;\n\n /**\n * HueRotation filter class\n * @class fabric.Image.filters.HueRotation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.HueRotation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.HueRotation({\n * rotation: -0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */\n filters.HueRotation = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.HueRotation.prototype */ {\n\n /**\n * Filter type\n * @param {String} type\n * @default\n */\n type: 'HueRotation',\n\n /**\n * HueRotation value, from -1 to 1.\n * the unit is radians\n * @param {Number} myParameter\n * @default\n */\n rotation: 0,\n\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */\n mainParameter: 'rotation',\n\n calculateMatrix: function() {\n var rad = this.rotation * Math.PI, cos = fabric.util.cos(rad), sin = fabric.util.sin(rad),\n aThird = 1 / 3, aThirdSqtSin = Math.sqrt(aThird) * sin, OneMinusCos = 1 - cos;\n this.matrix = [\n 1, 0, 0, 0, 0,\n 0, 1, 0, 0, 0,\n 0, 0, 1, 0, 0,\n 0, 0, 0, 1, 0\n ];\n this.matrix[0] = cos + OneMinusCos / 3;\n this.matrix[1] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[2] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[5] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[6] = cos + aThird * OneMinusCos;\n this.matrix[7] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[10] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[11] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[12] = cos + aThird * OneMinusCos;\n },\n\n /**\n * HueRotation isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/\n isNeutralState: function(options) {\n this.calculateMatrix();\n return filters.BaseFilter.prototype.isNeutralState.call(this, options);\n },\n\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */\n applyTo: function(options) {\n this.calculateMatrix();\n filters.BaseFilter.prototype.applyTo.call(this, options);\n },\n\n });\n\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.HueRotation} Instance of fabric.Image.filters.HueRotation\n */\n fabric.Image.filters.HueRotation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function(global) {\n\n 'use strict';\n\n var fabric = global.fabric || (global.fabric = { }),\n clone = fabric.util.object.clone;\n\n if (fabric.Text) {\n fabric.warn('fabric.Text is already defined');\n return;\n }\n\n var additionalProps =\n ('fontFamily fontWeight fontSize text underline overline linethrough' +\n ' textAlign fontStyle lineHeight textBackgroundColor charSpacing styles' +\n ' direction path pathStartOffset pathSide pathAlign').split(' ');\n\n /**\n * Text class\n * @class fabric.Text\n * @extends fabric.Object\n * @return {fabric.Text} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#text}\n * @see {@link fabric.Text#initialize} for constructor definition\n */\n fabric.Text = fabric.util.createClass(fabric.Object, /** @lends fabric.Text.prototype */ {\n\n /**\n * Properties which when set cause object to change dimensions\n * @type Array\n * @private\n */\n _dimensionAffectingProps: [\n 'fontSize',\n 'fontWeight',\n 'fontFamily',\n 'fontStyle',\n 'lineHeight',\n 'text',\n 'charSpacing',\n 'textAlign',\n 'styles',\n 'path',\n 'pathStartOffset',\n 'pathSide',\n 'pathAlign'\n ],\n\n /**\n * @private\n */\n _reNewline: /\\r?\\n/,\n\n /**\n * Use this regular expression to filter for whitespaces that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reSpacesAndTabs: /[ \\t\\r]/g,\n\n /**\n * Use this regular expression to filter for whitespace that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reSpaceAndTab: /[ \\t\\r]/,\n\n /**\n * Use this regular expression to filter consecutive groups of non spaces.\n * Mostly used when text is 'justify' aligned.\n * @private\n */\n _reWords: /\\S+/g,\n\n /**\n * Type of an object\n * @type String\n * @default\n */\n type: 'text',\n\n /**\n * Font size (in pixels)\n * @type Number\n * @default\n */\n fontSize: 40,\n\n /**\n * Font weight (e.g. bold, normal, 400, 600, 800)\n * @type {(Number|String)}\n * @default\n */\n fontWeight: 'normal',\n\n /**\n * Font family\n * @type String\n * @default\n */\n fontFamily: 'Times New Roman',\n\n /**\n * Text decoration underline.\n * @type Boolean\n * @default\n */\n underline: false,\n\n /**\n * Text decoration overline.\n * @type Boolean\n * @default\n */\n overline: false,\n\n /**\n * Text decoration linethrough.\n * @type Boolean\n * @default\n */\n linethrough: false,\n\n /**\n * Text alignment. Possible values: \"left\", \"center\", \"right\", \"justify\",\n * \"justify-left\", \"justify-center\" or \"justify-right\".\n * @type String\n * @default\n */\n textAlign: 'left',\n\n /**\n * Font style . Possible values: \"\", \"normal\", \"italic\" or \"oblique\".\n * @type String\n * @default\n */\n fontStyle: 'normal',\n\n /**\n * Line height\n * @type Number\n * @default\n */\n lineHeight: 1.16,\n\n /**\n * Superscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */\n superscript: {\n size: 0.60, // fontSize factor\n baseline: -0.35 // baseline-shift factor (upwards)\n },\n\n /**\n * Subscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */\n subscript: {\n size: 0.60, // fontSize factor\n baseline: 0.11 // baseline-shift factor (downwards)\n },\n\n /**\n * Background color of text lines\n * @type String\n * @default\n */\n textBackgroundColor: '',\n\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */\n stateProperties: fabric.Object.prototype.stateProperties.concat(additionalProps),\n\n /**\n * List of properties to consider when checking if cache needs refresh\n * @type Array\n */\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(additionalProps),\n\n /**\n * When defined, an object is rendered via stroke and this property specifies its color.\n * Backwards incompatibility note: This property was named \"strokeStyle\" until v1.1.6\n * @type String\n * @default\n */\n stroke: null,\n\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property was named \"textShadow\" (String) until v1.2.11\n * @type fabric.Shadow\n * @default\n */\n shadow: null,\n\n /**\n * fabric.Path that the text should follow.\n * since 4.6.0 the path will be drawn automatically.\n * if you want to make the path visible, give it a stroke and strokeWidth or fill value\n * if you want it to be hidden, assign visible = false to the path.\n * This feature is in BETA, and SVG import/export is not yet supported.\n * @type fabric.Path\n * @example\n * var textPath = new fabric.Text('Text on a path', {\n * top: 150,\n * left: 150,\n * textAlign: 'center',\n * charSpacing: -50,\n * path: new fabric.Path('M 0 0 C 50 -100 150 -100 200 0', {\n * strokeWidth: 1,\n * visible: false\n * }),\n * pathSide: 'left',\n * pathStartOffset: 0\n * });\n * @default\n */\n path: null,\n\n /**\n * Offset amount for text path starting position\n * Only used when text has a path\n * @type Number\n * @default\n */\n pathStartOffset: 0,\n\n /**\n * Which side of the path the text should be drawn on.\n * Only used when text has a path\n * @type {String} 'left|right'\n * @default\n */\n pathSide: 'left',\n\n /**\n * How text is aligned to the path. This property determines\n * the perpendicular position of each character relative to the path.\n * (one of \"baseline\", \"center\", \"ascender\", \"descender\")\n * This feature is in BETA, and its behavior may change\n * @type String\n * @default\n */\n pathAlign: 'baseline',\n\n /**\n * @private\n */\n _fontSizeFraction: 0.222,\n\n /**\n * @private\n */\n offsets: {\n underline: 0.10,\n linethrough: -0.315,\n overline: -0.88\n },\n\n /**\n * Text Line proportion to font Size (in pixels)\n * @type Number\n * @default\n */\n _fontSizeMult: 1.13,\n\n /**\n * additional space between characters\n * expressed in thousands of em unit\n * @type Number\n * @default\n */\n charSpacing: 0,\n\n /**\n * Object containing character styles - top-level properties -> line numbers,\n * 2nd-level properties - character numbers\n * @type Object\n * @default\n */\n styles: null,\n\n /**\n * Reference to a context to measure text char or couple of chars\n * the cacheContext of the canvas will be used or a freshly created one if the object is not on canvas\n * once created it will be referenced on fabric._measuringContext to avoid creating a canvas for every\n * text object created.\n * @type {CanvasRenderingContext2D}\n * @default\n */\n _measuringContext: null,\n\n /**\n * Baseline shift, styles only, keep at 0 for the main text object\n * @type {Number}\n * @default\n */\n deltaY: 0,\n\n /**\n * WARNING: EXPERIMENTAL. NOT SUPPORTED YET\n * determine the direction of the text.\n * This has to be set manually together with textAlign and originX for proper\n * experience.\n * some interesting link for the future\n * https://www.w3.org/International/questions/qa-bidi-unicode-controls\n * @since 4.5.0\n * @type {String} 'ltr|rtl'\n * @default\n */\n direction: 'ltr',\n\n /**\n * Array of properties that define a style unit (of 'styles').\n * @type {Array}\n * @default\n */\n _styleProperties: [\n 'stroke',\n 'strokeWidth',\n 'fill',\n 'fontFamily',\n 'fontSize',\n 'fontWeight',\n 'fontStyle',\n 'underline',\n 'overline',\n 'linethrough',\n 'deltaY',\n 'textBackgroundColor',\n ],\n\n /**\n * contains characters bounding boxes\n */\n __charBounds: [],\n\n /**\n * use this size when measuring text. To avoid IE11 rounding errors\n * @type {Number}\n * @default\n * @readonly\n * @private\n */\n CACHE_FONT_SIZE: 400,\n\n /**\n * contains the min text width to avoid getting 0\n * @type {Number}\n * @default\n */\n MIN_TEXT_WIDTH: 2,\n\n /**\n * Constructor\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */\n initialize: function(text, options) {\n this.styles = options ? (options.styles || { }) : { };\n this.text = text;\n this.__skipDimension = true;\n this.callSuper('initialize', options);\n if (this.path) {\n this.setPathInfo();\n }\n this.__skipDimension = false;\n this.initDimensions();\n this.setCoords();\n this.setupState({ propertySet: '_dimensionAffectingProps' });\n },\n\n /**\n * If text has a path, it will add the extra information needed\n * for path and text calculations\n * @return {fabric.Text} thisArg\n */\n setPathInfo: function() {\n var path = this.path;\n if (path) {\n path.segmentsInfo = fabric.util.getPathSegmentsInfo(path.path);\n }\n },\n\n /**\n * Return a context for measurement of text string.\n * if created it gets stored for reuse\n * this is for internal use, please do not use it\n * @private\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */\n getMeasuringContext: function() {\n // if we did not return we have to measure something.\n if (!fabric._measuringContext) {\n fabric._measuringContext = this.canvas && this.canvas.contextCache ||\n fabric.util.createCanvasElement().getContext('2d');\n }\n return fabric._measuringContext;\n },\n\n /**\n * @private\n * Divides text into lines of text and lines of graphemes.\n */\n _splitText: function() {\n var newLines = this._splitTextIntoLines(this.text);\n this.textLines = newLines.lines;\n this._textLines = newLines.graphemeLines;\n this._unwrappedTextLines = newLines._unwrappedLines;\n this._text = newLines.graphemeText;\n return newLines;\n },\n\n /**\n * Initialize or update text dimensions.\n * Updates this.width and this.height with the proper values.\n * Does not return dimensions.\n */\n initDimensions: function() {\n if (this.__skipDimension) {\n return;\n }\n this._splitText();\n this._clearCache();\n if (this.path) {\n this.width = this.path.width;\n this.height = this.path.height;\n }\n else {\n this.width = this.calcTextWidth() || this.cursorWidth || this.MIN_TEXT_WIDTH;\n this.height = this.calcTextHeight();\n }\n if (this.textAlign.indexOf('justify') !== -1) {\n // once text is measured we need to make space fatter to make justified text.\n this.enlargeSpaces();\n }\n this.saveState({ propertySet: '_dimensionAffectingProps' });\n },\n\n /**\n * Enlarge space boxes and shift the others\n */\n enlargeSpaces: function() {\n var diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n if (this.textAlign !== 'justify' && (i === len - 1 || this.isEndOfWrapping(i))) {\n continue;\n }\n accumulatedSpace = 0;\n line = this._textLines[i];\n currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {\n numberOfSpaces = spaces.length;\n diffSpace = (this.width - currentLineWidth) / numberOfSpaces;\n for (var j = 0, jlen = line.length; j <= jlen; j++) {\n charBound = this.__charBounds[i][j];\n if (this._reSpaceAndTab.test(line[j])) {\n charBound.width += diffSpace;\n charBound.kernedWidth += diffSpace;\n charBound.left += accumulatedSpace;\n accumulatedSpace += diffSpace;\n }\n else {\n charBound.left += accumulatedSpace;\n }\n }\n }\n }\n },\n\n /**\n * Detect if the text line is ended with an hard break\n * text and itext do not have wrapping, return false\n * @return {Boolean}\n */\n isEndOfWrapping: function(lineIndex) {\n return lineIndex === this._textLines.length - 1;\n },\n\n /**\n * Detect if a line has a linebreak and so we need to account for it when moving\n * and counting style.\n * It return always for text and Itext.\n * @return Number\n */\n missingNewlineOffset: function() {\n return 1;\n },\n\n /**\n * Returns string representation of an instance\n * @return {String} String representation of text object\n */\n toString: function() {\n return '#';\n },\n\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @param {Object} dim.x width of object to be cached\n * @param {Object} dim.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */\n _getCacheCanvasDimensions: function() {\n var dims = this.callSuper('_getCacheCanvasDimensions');\n var fontSize = this.fontSize;\n dims.width += fontSize * dims.zoomX;\n dims.height += fontSize * dims.zoomY;\n return dims;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _render: function(ctx) {\n var path = this.path;\n path && !path.isNotVisible() && path._render(ctx);\n this._setTextStyles(ctx);\n this._renderTextLinesBackground(ctx);\n this._renderTextDecoration(ctx, 'underline');\n this._renderText(ctx);\n this._renderTextDecoration(ctx, 'overline');\n this._renderTextDecoration(ctx, 'linethrough');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderText: function(ctx) {\n if (this.paintFirst === 'stroke') {\n this._renderTextStroke(ctx);\n this._renderTextFill(ctx);\n }\n else {\n this._renderTextFill(ctx);\n this._renderTextStroke(ctx);\n }\n },\n\n /**\n * Set the font parameter of the context with the object properties or with charStyle\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [charStyle] object with font style properties\n * @param {String} [charStyle.fontFamily] Font Family\n * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )\n * @param {String} [charStyle.fontWeight] Font weight\n * @param {String} [charStyle.fontStyle] Font style (italic|normal)\n */\n _setTextStyles: function(ctx, charStyle, forMeasuring) {\n ctx.textBaseline = 'alphabetical';\n if (this.path) {\n switch (this.pathAlign) {\n case 'center':\n ctx.textBaseline = 'middle';\n break;\n case 'ascender':\n ctx.textBaseline = 'top';\n break;\n case 'descender':\n ctx.textBaseline = 'bottom';\n break;\n }\n }\n ctx.font = this._getFontDeclaration(charStyle, forMeasuring);\n },\n\n /**\n * calculate and return the text Width measuring each line.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @return {Number} Maximum width of fabric.Text object\n */\n calcTextWidth: function() {\n var maxWidth = this.getLineWidth(0);\n\n for (var i = 1, len = this._textLines.length; i < len; i++) {\n var currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth > maxWidth) {\n maxWidth = currentLineWidth;\n }\n }\n return maxWidth;\n },\n\n /**\n * @private\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} line Text to render\n * @param {Number} left Left position of text\n * @param {Number} top Top position of text\n * @param {Number} lineIndex Index of a line in a text\n */\n _renderTextLine: function(method, ctx, line, left, top, lineIndex) {\n this._renderChars(method, ctx, line, left, top, lineIndex);\n },\n\n /**\n * Renders the text background for lines, taking care of style\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextLinesBackground: function(ctx) {\n if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor')) {\n return;\n }\n var heightOfLine,\n lineLeftOffset, originalFill = ctx.fillStyle,\n line, lastColor,\n leftOffset = this._getLeftOffset(),\n lineTopOffset = this._getTopOffset(),\n boxStart = 0, boxWidth = 0, charBox, currentColor, path = this.path,\n drawStart;\n\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n heightOfLine = this.getHeightOfLine(i);\n if (!this.textBackgroundColor && !this.styleHas('textBackgroundColor', i)) {\n lineTopOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n lineLeftOffset = this._getLineLeftOffset(i);\n boxWidth = 0;\n boxStart = 0;\n lastColor = this.getValueOfPropertyAt(i, 0, 'textBackgroundColor');\n for (var j = 0, jlen = line.length; j < jlen; j++) {\n charBox = this.__charBounds[i][j];\n currentColor = this.getValueOfPropertyAt(i, j, 'textBackgroundColor');\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillStyle = currentColor;\n currentColor && ctx.fillRect(\n -charBox.width / 2,\n -heightOfLine / this.lineHeight * (1 - this._fontSizeFraction),\n charBox.width,\n heightOfLine / this.lineHeight\n );\n ctx.restore();\n }\n else if (currentColor !== lastColor) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = lastColor;\n lastColor && ctx.fillRect(\n drawStart,\n lineTopOffset,\n boxWidth,\n heightOfLine / this.lineHeight\n );\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastColor = currentColor;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n }\n if (currentColor && !path) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentColor;\n ctx.fillRect(\n drawStart,\n lineTopOffset,\n boxWidth,\n heightOfLine / this.lineHeight\n );\n }\n lineTopOffset += heightOfLine;\n }\n ctx.fillStyle = originalFill;\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * @private\n * @param {Object} decl style declaration for cache\n * @param {String} decl.fontFamily fontFamily\n * @param {String} decl.fontStyle fontStyle\n * @param {String} decl.fontWeight fontWeight\n * @return {Object} reference to cache\n */\n getFontCache: function(decl) {\n var fontFamily = decl.fontFamily.toLowerCase();\n if (!fabric.charWidthsCache[fontFamily]) {\n fabric.charWidthsCache[fontFamily] = { };\n }\n var cache = fabric.charWidthsCache[fontFamily],\n cacheProp = decl.fontStyle.toLowerCase() + '_' + (decl.fontWeight + '').toLowerCase();\n if (!cache[cacheProp]) {\n cache[cacheProp] = { };\n }\n return cache[cacheProp];\n },\n\n /**\n * measure and return the width of a single character.\n * possibly overridden to accommodate different measure logic or\n * to hook some external lib for character measurement\n * @private\n * @param {String} _char, char to be measured\n * @param {Object} charStyle style of char to be measured\n * @param {String} [previousChar] previous char\n * @param {Object} [prevCharStyle] style of previous char\n */\n _measureChar: function(_char, charStyle, previousChar, prevCharStyle) {\n // first i try to return from cache\n var fontCache = this.getFontCache(charStyle), fontDeclaration = this._getFontDeclaration(charStyle),\n previousFontDeclaration = this._getFontDeclaration(prevCharStyle), couple = previousChar + _char,\n stylesAreEqual = fontDeclaration === previousFontDeclaration, width, coupleWidth, previousWidth,\n fontMultiplier = charStyle.fontSize / this.CACHE_FONT_SIZE, kernedWidth;\n\n if (previousChar && fontCache[previousChar] !== undefined) {\n previousWidth = fontCache[previousChar];\n }\n if (fontCache[_char] !== undefined) {\n kernedWidth = width = fontCache[_char];\n }\n if (stylesAreEqual && fontCache[couple] !== undefined) {\n coupleWidth = fontCache[couple];\n kernedWidth = coupleWidth - previousWidth;\n }\n if (width === undefined || previousWidth === undefined || coupleWidth === undefined) {\n var ctx = this.getMeasuringContext();\n // send a TRUE to specify measuring font size CACHE_FONT_SIZE\n this._setTextStyles(ctx, charStyle, true);\n }\n if (width === undefined) {\n kernedWidth = width = ctx.measureText(_char).width;\n fontCache[_char] = width;\n }\n if (previousWidth === undefined && stylesAreEqual && previousChar) {\n previousWidth = ctx.measureText(previousChar).width;\n fontCache[previousChar] = previousWidth;\n }\n if (stylesAreEqual && coupleWidth === undefined) {\n // we can measure the kerning couple and subtract the width of the previous character\n coupleWidth = ctx.measureText(couple).width;\n fontCache[couple] = coupleWidth;\n kernedWidth = coupleWidth - previousWidth;\n }\n return { width: width * fontMultiplier, kernedWidth: kernedWidth * fontMultiplier };\n },\n\n /**\n * Computes height of character at given position\n * @param {Number} line the line index number\n * @param {Number} _char the character index number\n * @return {Number} fontSize of the character\n */\n getHeightOfChar: function(line, _char) {\n return this.getValueOfPropertyAt(line, _char, 'fontSize');\n },\n\n /**\n * measure a text line measuring all characters.\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */\n measureLine: function(lineIndex) {\n var lineInfo = this._measureLine(lineIndex);\n if (this.charSpacing !== 0) {\n lineInfo.width -= this._getWidthOfCharSpacing();\n }\n if (lineInfo.width < 0) {\n lineInfo.width = 0;\n }\n return lineInfo;\n },\n\n /**\n * measure every grapheme of a line, populating __charBounds\n * @param {Number} lineIndex\n * @return {Object} object.width total width of characters\n * @return {Object} object.widthOfSpaces length of chars that match this._reSpacesAndTabs\n */\n _measureLine: function(lineIndex) {\n var width = 0, i, grapheme, line = this._textLines[lineIndex], prevGrapheme,\n graphemeInfo, numOfSpaces = 0, lineBounds = new Array(line.length),\n positionInPath = 0, startingPoint, totalPathLength, path = this.path,\n reverse = this.pathSide === 'right';\n\n this.__charBounds[lineIndex] = lineBounds;\n for (i = 0; i < line.length; i++) {\n grapheme = line[i];\n graphemeInfo = this._getGraphemeBox(grapheme, lineIndex, i, prevGrapheme);\n lineBounds[i] = graphemeInfo;\n width += graphemeInfo.kernedWidth;\n prevGrapheme = grapheme;\n }\n // this latest bound box represent the last character of the line\n // to simplify cursor handling in interactive mode.\n lineBounds[i] = {\n left: graphemeInfo ? graphemeInfo.left + graphemeInfo.width : 0,\n width: 0,\n kernedWidth: 0,\n height: this.fontSize\n };\n if (path) {\n totalPathLength = path.segmentsInfo[path.segmentsInfo.length - 1].length;\n startingPoint = fabric.util.getPointOnPath(path.path, 0, path.segmentsInfo);\n startingPoint.x += path.pathOffset.x;\n startingPoint.y += path.pathOffset.y;\n switch (this.textAlign) {\n case 'left':\n positionInPath = reverse ? (totalPathLength - width) : 0;\n break;\n case 'center':\n positionInPath = (totalPathLength - width) / 2;\n break;\n case 'right':\n positionInPath = reverse ? 0 : (totalPathLength - width);\n break;\n //todo - add support for justify\n }\n positionInPath += this.pathStartOffset * (reverse ? -1 : 1);\n for (i = reverse ? line.length - 1 : 0;\n reverse ? i >= 0 : i < line.length;\n reverse ? i-- : i++) {\n graphemeInfo = lineBounds[i];\n if (positionInPath > totalPathLength) {\n positionInPath %= totalPathLength;\n }\n else if (positionInPath < 0) {\n positionInPath += totalPathLength;\n }\n // it would probably much faster to send all the grapheme position for a line\n // and calculate path position/angle at once.\n this._setGraphemeOnPath(positionInPath, graphemeInfo, startingPoint);\n positionInPath += graphemeInfo.kernedWidth;\n }\n }\n return { width: width, numOfSpaces: numOfSpaces };\n },\n\n /**\n * Calculate the angle and the left,top position of the char that follow a path.\n * It appends it to graphemeInfo to be reused later at rendering\n * @private\n * @param {Number} positionInPath to be measured\n * @param {Object} graphemeInfo current grapheme box information\n * @param {Object} startingPoint position of the point\n */\n _setGraphemeOnPath: function(positionInPath, graphemeInfo, startingPoint) {\n var centerPosition = positionInPath + graphemeInfo.kernedWidth / 2,\n path = this.path;\n\n // we are at currentPositionOnPath. we want to know what point on the path is.\n var info = fabric.util.getPointOnPath(path.path, centerPosition, path.segmentsInfo);\n graphemeInfo.renderLeft = info.x - startingPoint.x;\n graphemeInfo.renderTop = info.y - startingPoint.y;\n graphemeInfo.angle = info.angle + (this.pathSide === 'right' ? Math.PI : 0);\n },\n\n /**\n * Measure and return the info of a single grapheme.\n * needs the the info of previous graphemes already filled\n * @private\n * @param {String} grapheme to be measured\n * @param {Number} lineIndex index of the line where the char is\n * @param {Number} charIndex position in the line\n * @param {String} [prevGrapheme] character preceding the one to be measured\n */\n _getGraphemeBox: function(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {\n var style = this.getCompleteStyleDeclaration(lineIndex, charIndex),\n prevStyle = prevGrapheme ? this.getCompleteStyleDeclaration(lineIndex, charIndex - 1) : { },\n info = this._measureChar(grapheme, style, prevGrapheme, prevStyle),\n kernedWidth = info.kernedWidth,\n width = info.width, charSpacing;\n\n if (this.charSpacing !== 0) {\n charSpacing = this._getWidthOfCharSpacing();\n width += charSpacing;\n kernedWidth += charSpacing;\n }\n\n var box = {\n width: width,\n left: 0,\n height: style.fontSize,\n kernedWidth: kernedWidth,\n deltaY: style.deltaY,\n };\n if (charIndex > 0 && !skipLeft) {\n var previousBox = this.__charBounds[lineIndex][charIndex - 1];\n box.left = previousBox.left + previousBox.width + info.kernedWidth - info.width;\n }\n return box;\n },\n\n /**\n * Calculate height of line at 'lineIndex'\n * @param {Number} lineIndex index of line to calculate\n * @return {Number}\n */\n getHeightOfLine: function(lineIndex) {\n if (this.__lineHeights[lineIndex]) {\n return this.__lineHeights[lineIndex];\n }\n\n var line = this._textLines[lineIndex],\n // char 0 is measured before the line cycle because it nneds to char\n // emptylines\n maxHeight = this.getHeightOfChar(lineIndex, 0);\n for (var i = 1, len = line.length; i < len; i++) {\n maxHeight = Math.max(this.getHeightOfChar(lineIndex, i), maxHeight);\n }\n\n return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;\n },\n\n /**\n * Calculate text box height\n */\n calcTextHeight: function() {\n var lineHeight, height = 0;\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n lineHeight = this.getHeightOfLine(i);\n height += (i === len - 1 ? lineHeight / this.lineHeight : lineHeight);\n }\n return height;\n },\n\n /**\n * @private\n * @return {Number} Left offset\n */\n _getLeftOffset: function() {\n return this.direction === 'ltr' ? -this.width / 2 : this.width / 2;\n },\n\n /**\n * @private\n * @return {Number} Top offset\n */\n _getTopOffset: function() {\n return -this.height / 2;\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n */\n _renderTextCommon: function(ctx, method) {\n ctx.save();\n var lineHeights = 0, left = this._getLeftOffset(), top = this._getTopOffset();\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n var heightOfLine = this.getHeightOfLine(i),\n maxHeight = heightOfLine / this.lineHeight,\n leftOffset = this._getLineLeftOffset(i);\n this._renderTextLine(\n method,\n ctx,\n this._textLines[i],\n left + leftOffset,\n top + lineHeights + maxHeight,\n i\n );\n lineHeights += heightOfLine;\n }\n ctx.restore();\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextFill: function(ctx) {\n if (!this.fill && !this.styleHas('fill')) {\n return;\n }\n\n this._renderTextCommon(ctx, 'fillText');\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextStroke: function(ctx) {\n if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {\n return;\n }\n\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n\n ctx.save();\n this._setLineDash(ctx, this.strokeDashArray);\n ctx.beginPath();\n this._renderTextCommon(ctx, 'strokeText');\n ctx.closePath();\n ctx.restore();\n },\n\n /**\n * @private\n * @param {String} method fillText or strokeText.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} line Content of the line, splitted in an array by grapheme\n * @param {Number} left\n * @param {Number} top\n * @param {Number} lineIndex\n */\n _renderChars: function(method, ctx, line, left, top, lineIndex) {\n // set proper line offset\n var lineHeight = this.getHeightOfLine(lineIndex),\n isJustify = this.textAlign.indexOf('justify') !== -1,\n actualStyle,\n nextStyle,\n charsToRender = '',\n charBox,\n boxWidth = 0,\n timeToRender,\n path = this.path,\n shortCut = !isJustify && this.charSpacing === 0 && this.isEmptyStyles(lineIndex) && !path,\n isLtr = this.direction === 'ltr', sign = this.direction === 'ltr' ? 1 : -1,\n drawingLeft, currentDirection = ctx.canvas.getAttribute('dir');\n ctx.save();\n if (currentDirection !== this.direction) {\n ctx.canvas.setAttribute('dir', isLtr ? 'ltr' : 'rtl');\n ctx.direction = isLtr ? 'ltr' : 'rtl';\n ctx.textAlign = isLtr ? 'left' : 'right';\n }\n top -= lineHeight * this._fontSizeFraction / this.lineHeight;\n if (shortCut) {\n // render all the line in one pass without checking\n // drawingLeft = isLtr ? left : left - this.getLineWidth(lineIndex);\n this._renderChar(method, ctx, lineIndex, 0, line.join(''), left, top, lineHeight);\n ctx.restore();\n return;\n }\n for (var i = 0, len = line.length - 1; i <= len; i++) {\n timeToRender = i === len || this.charSpacing || path;\n charsToRender += line[i];\n charBox = this.__charBounds[lineIndex][i];\n if (boxWidth === 0) {\n left += sign * (charBox.kernedWidth - charBox.width);\n boxWidth += charBox.width;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n if (isJustify && !timeToRender) {\n if (this._reSpaceAndTab.test(line[i])) {\n timeToRender = true;\n }\n }\n if (!timeToRender) {\n // if we have charSpacing, we render char by char\n actualStyle = actualStyle || this.getCompleteStyleDeclaration(lineIndex, i);\n nextStyle = this.getCompleteStyleDeclaration(lineIndex, i + 1);\n timeToRender = fabric.util.hasStyleChanged(actualStyle, nextStyle, false);\n }\n if (timeToRender) {\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n this._renderChar(method, ctx, lineIndex, i, charsToRender, -boxWidth / 2, 0, lineHeight);\n ctx.restore();\n }\n else {\n drawingLeft = left;\n this._renderChar(method, ctx, lineIndex, i, charsToRender, drawingLeft, top, lineHeight);\n }\n charsToRender = '';\n actualStyle = nextStyle;\n left += sign * boxWidth;\n boxWidth = 0;\n }\n }\n ctx.restore();\n },\n\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {fabric.Gradient} filler a fabric gradient instance\n * @return {CanvasPattern} a pattern to use as fill/stroke style\n */\n _applyPatternGradientTransformText: function(filler) {\n var pCanvas = fabric.util.createCanvasElement(), pCtx,\n // TODO: verify compatibility with strokeUniform\n width = this.width + this.strokeWidth, height = this.height + this.strokeWidth;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext('2d');\n pCtx.beginPath(); pCtx.moveTo(0, 0); pCtx.lineTo(width, 0); pCtx.lineTo(width, height);\n pCtx.lineTo(0, height); pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.fillStyle = filler.toLive(pCtx);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fill();\n return pCtx.createPattern(pCanvas, 'no-repeat');\n },\n\n handleFiller: function(ctx, property, filler) {\n var offsetX, offsetY;\n if (filler.toLive) {\n if (filler.gradientUnits === 'percentage' || filler.gradientTransform || filler.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n offsetX = -this.width / 2;\n offsetY = -this.height / 2;\n ctx.translate(offsetX, offsetY);\n ctx[property] = this._applyPatternGradientTransformText(filler);\n return { offsetX: offsetX, offsetY: offsetY };\n }\n else {\n // is a simple gradient or pattern\n ctx[property] = filler.toLive(ctx, this);\n return this._applyPatternGradientTransform(ctx, filler);\n }\n }\n else {\n // is a color\n ctx[property] = filler;\n }\n return { offsetX: 0, offsetY: 0 };\n },\n\n _setStrokeStyles: function(ctx, decl) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = this.strokeLineCap;\n ctx.lineDashOffset = this.strokeDashOffset;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.miterLimit = this.strokeMiterLimit;\n return this.handleFiller(ctx, 'strokeStyle', decl.stroke);\n },\n\n _setFillStyles: function(ctx, decl) {\n return this.handleFiller(ctx, 'fillStyle', decl.fill);\n },\n\n /**\n * @private\n * @param {String} method\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {String} _char\n * @param {Number} left Left coordinate\n * @param {Number} top Top coordinate\n * @param {Number} lineHeight Height of the line\n */\n _renderChar: function(method, ctx, lineIndex, charIndex, _char, left, top) {\n var decl = this._getStyleDeclaration(lineIndex, charIndex),\n fullDecl = this.getCompleteStyleDeclaration(lineIndex, charIndex),\n shouldFill = method === 'fillText' && fullDecl.fill,\n shouldStroke = method === 'strokeText' && fullDecl.stroke && fullDecl.strokeWidth,\n fillOffsets, strokeOffsets;\n\n if (!shouldStroke && !shouldFill) {\n return;\n }\n ctx.save();\n\n shouldFill && (fillOffsets = this._setFillStyles(ctx, fullDecl));\n shouldStroke && (strokeOffsets = this._setStrokeStyles(ctx, fullDecl));\n\n ctx.font = this._getFontDeclaration(fullDecl);\n\n\n if (decl && decl.textBackgroundColor) {\n this._removeShadow(ctx);\n }\n if (decl && decl.deltaY) {\n top += decl.deltaY;\n }\n shouldFill && ctx.fillText(_char, left - fillOffsets.offsetX, top - fillOffsets.offsetY);\n shouldStroke && ctx.strokeText(_char, left - strokeOffsets.offsetX, top - strokeOffsets.offsetY);\n ctx.restore();\n },\n\n /**\n * Turns the character into a 'superior figure' (i.e. 'superscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n setSuperscript: function(start, end) {\n return this._setScript(start, end, this.superscript);\n },\n\n /**\n * Turns the character into an 'inferior figure' (i.e. 'subscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n setSubscript: function(start, end) {\n return this._setScript(start, end, this.subscript);\n },\n\n /**\n * Applies 'schema' at given position\n * @private\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @param {Number} schema\n * @returns {fabric.Text} thisArg\n * @chainable\n */\n _setScript: function(start, end, schema) {\n var loc = this.get2DCursorLocation(start, true),\n fontSize = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, 'fontSize'),\n dy = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, 'deltaY'),\n style = { fontSize: fontSize * schema.size, deltaY: dy + fontSize * schema.baseline };\n this.setSelectionStyles(style, start, end);\n return this;\n },\n\n /**\n * @private\n * @param {Number} lineIndex index text line\n * @return {Number} Line left offset\n */\n _getLineLeftOffset: function(lineIndex) {\n var lineWidth = this.getLineWidth(lineIndex),\n lineDiff = this.width - lineWidth, textAlign = this.textAlign, direction = this.direction,\n isEndOfWrapping, leftOffset = 0, isEndOfWrapping = this.isEndOfWrapping(lineIndex);\n if (textAlign === 'justify'\n || (textAlign === 'justify-center' && !isEndOfWrapping)\n || (textAlign === 'justify-right' && !isEndOfWrapping)\n || (textAlign === 'justify-left' && !isEndOfWrapping)\n ) {\n return 0;\n }\n if (textAlign === 'center') {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === 'right') {\n leftOffset = lineDiff;\n }\n if (textAlign === 'justify-center') {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === 'justify-right') {\n leftOffset = lineDiff;\n }\n if (direction === 'rtl') {\n leftOffset -= lineDiff;\n }\n return leftOffset;\n },\n\n /**\n * @private\n */\n _clearCache: function() {\n this.__lineWidths = [];\n this.__lineHeights = [];\n this.__charBounds = [];\n },\n\n /**\n * @private\n */\n _shouldClearDimensionCache: function() {\n var shouldClear = this._forceClearCache;\n shouldClear || (shouldClear = this.hasStateChanged('_dimensionAffectingProps'));\n if (shouldClear) {\n this.dirty = true;\n this._forceClearCache = false;\n }\n return shouldClear;\n },\n\n /**\n * Measure a single line given its index. Used to calculate the initial\n * text bounding box. The values are calculated and stored in __lineWidths cache.\n * @private\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */\n getLineWidth: function(lineIndex) {\n if (this.__lineWidths[lineIndex] !== undefined) {\n return this.__lineWidths[lineIndex];\n }\n\n var lineInfo = this.measureLine(lineIndex);\n var width = lineInfo.width;\n this.__lineWidths[lineIndex] = width;\n return width;\n },\n\n _getWidthOfCharSpacing: function() {\n if (this.charSpacing !== 0) {\n return this.fontSize * this.charSpacing / 1000;\n }\n return 0;\n },\n\n /**\n * Retrieves the value of property at given character position\n * @param {Number} lineIndex the line number\n * @param {Number} charIndex the character number\n * @param {String} property the property name\n * @returns the value of 'property'\n */\n getValueOfPropertyAt: function(lineIndex, charIndex, property) {\n var charStyle = this._getStyleDeclaration(lineIndex, charIndex);\n if (charStyle && typeof charStyle[property] !== 'undefined') {\n return charStyle[property];\n }\n return this[property];\n },\n\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n _renderTextDecoration: function(ctx, type) {\n if (!this[type] && !this.styleHas(type)) {\n return;\n }\n var heightOfLine, size, _size,\n lineLeftOffset, dy, _dy,\n line, lastDecoration,\n leftOffset = this._getLeftOffset(),\n topOffset = this._getTopOffset(), top,\n boxStart, boxWidth, charBox, currentDecoration,\n maxHeight, currentFill, lastFill, path = this.path,\n charSpacing = this._getWidthOfCharSpacing(),\n offsetY = this.offsets[type];\n\n for (var i = 0, len = this._textLines.length; i < len; i++) {\n heightOfLine = this.getHeightOfLine(i);\n if (!this[type] && !this.styleHas(type, i)) {\n topOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n maxHeight = heightOfLine / this.lineHeight;\n lineLeftOffset = this._getLineLeftOffset(i);\n boxStart = 0;\n boxWidth = 0;\n lastDecoration = this.getValueOfPropertyAt(i, 0, type);\n lastFill = this.getValueOfPropertyAt(i, 0, 'fill');\n top = topOffset + maxHeight * (1 - this._fontSizeFraction);\n size = this.getHeightOfChar(i, 0);\n dy = this.getValueOfPropertyAt(i, 0, 'deltaY');\n for (var j = 0, jlen = line.length; j < jlen; j++) {\n charBox = this.__charBounds[i][j];\n currentDecoration = this.getValueOfPropertyAt(i, j, type);\n currentFill = this.getValueOfPropertyAt(i, j, 'fill');\n _size = this.getHeightOfChar(i, j);\n _dy = this.getValueOfPropertyAt(i, j, 'deltaY');\n if (path && currentDecoration && currentFill) {\n ctx.save();\n ctx.fillStyle = lastFill;\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillRect(\n -charBox.kernedWidth / 2,\n offsetY * _size + _dy,\n charBox.kernedWidth,\n this.fontSize / 15\n );\n ctx.restore();\n }\n else if (\n (currentDecoration !== lastDecoration || currentFill !== lastFill || _size !== size || _dy !== dy)\n && boxWidth > 0\n ) {\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n if (lastDecoration && lastFill) {\n ctx.fillStyle = lastFill;\n ctx.fillRect(\n drawStart,\n top + offsetY * size + dy,\n boxWidth,\n this.fontSize / 15\n );\n }\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastDecoration = currentDecoration;\n lastFill = currentFill;\n size = _size;\n dy = _dy;\n }\n else {\n boxWidth += charBox.kernedWidth;\n }\n }\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === 'rtl') {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentFill;\n currentDecoration && currentFill && ctx.fillRect(\n drawStart,\n top + offsetY * size + dy,\n boxWidth - charSpacing,\n this.fontSize / 15\n );\n topOffset += heightOfLine;\n }\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n\n /**\n * return font declaration string for canvas context\n * @param {Object} [styleObject] object\n * @returns {String} font declaration formatted for canvas context.\n */\n _getFontDeclaration: function(styleObject, forMeasuring) {\n var style = styleObject || this, family = this.fontFamily,\n fontIsGeneric = fabric.Text.genericFonts.indexOf(family.toLowerCase()) > -1;\n var fontFamily = family === undefined ||\n family.indexOf('\\'') > -1 || family.indexOf(',') > -1 ||\n family.indexOf('\"') > -1 || fontIsGeneric\n ? style.fontFamily : '\"' + style.fontFamily + '\"';\n return [\n // node-canvas needs \"weight style\", while browsers need \"style weight\"\n // verify if this can be fixed in JSDOM\n (fabric.isLikelyNode ? style.fontWeight : style.fontStyle),\n (fabric.isLikelyNode ? style.fontStyle : style.fontWeight),\n forMeasuring ? this.CACHE_FONT_SIZE + 'px' : style.fontSize + 'px',\n fontFamily\n ].join(' ');\n },\n\n /**\n * Renders text instance on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */\n render: function(ctx) {\n // do not render if object is not visible\n if (!this.visible) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n if (this._shouldClearDimensionCache()) {\n this.initDimensions();\n }\n this.callSuper('render', ctx);\n },\n\n /**\n * Returns the text as an array of lines.\n * @param {String} text text to split\n * @returns {Array} Lines in the text\n */\n _splitTextIntoLines: function(text) {\n var lines = text.split(this._reNewline),\n newLines = new Array(lines.length),\n newLine = ['\\n'],\n newText = [];\n for (var i = 0; i < lines.length; i++) {\n newLines[i] = fabric.util.string.graphemeSplit(lines[i]);\n newText = newText.concat(newLines[i], newLine);\n }\n newText.pop();\n return { _unwrappedLines: newLines, lines: lines, graphemeText: newText, graphemeLines: newLines };\n },\n\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function(propertiesToInclude) {\n var allProperties = additionalProps.concat(propertiesToInclude);\n var obj = this.callSuper('toObject', allProperties);\n obj.styles = fabric.util.stylesToArray(this.styles, this.text);\n if (obj.path) {\n obj.path = this.path.toObject();\n }\n return obj;\n },\n\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */\n set: function(key, value) {\n this.callSuper('set', key, value);\n var needsDims = false;\n var isAddingPath = false;\n if (typeof key === 'object') {\n for (var _key in key) {\n if (_key === 'path') {\n this.setPathInfo();\n }\n needsDims = needsDims || this._dimensionAffectingProps.indexOf(_key) !== -1;\n isAddingPath = isAddingPath || _key === 'path';\n }\n }\n else {\n needsDims = this._dimensionAffectingProps.indexOf(key) !== -1;\n isAddingPath = key === 'path';\n }\n if (isAddingPath) {\n this.setPathInfo();\n }\n if (needsDims) {\n this.initDimensions();\n this.setCoords();\n }\n return this;\n },\n\n /**\n * Returns complexity of an instance\n * @return {Number} complexity\n */\n complexity: function() {\n return 1;\n }\n });\n\n \n\n /**\n * Returns fabric.Text instance from an object representation\n * @static\n * @memberOf fabric.Text\n * @param {Object} object plain js Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Text instance is created\n */\n fabric.Text.fromObject = function(object, callback) {\n var objectCopy = clone(object), path = object.path;\n delete objectCopy.path;\n return fabric.Object._fromObject('Text', objectCopy, function(textInstance) {\n textInstance.styles = fabric.util.stylesFromArray(object.styles, object.text);\n if (path) {\n fabric.Object._fromObject('Path', path, function(pathInstance) {\n textInstance.set('path', pathInstance);\n callback(textInstance);\n }, 'path');\n }\n else {\n callback(textInstance);\n }\n }, 'text');\n };\n\n fabric.Text.genericFonts = ['sans-serif', 'serif', 'cursive', 'fantasy', 'monospace'];\n\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Text);\n\n})(typeof exports !== 'undefined' ? exports : this);\n(function() {\n fabric.util.object.extend(fabric.Text.prototype, /** @lends fabric.Text.prototype */ {\n /**\n * Returns true if object has no styling or no styling in a line\n * @param {Number} lineIndex , lineIndex is on wrapped lines.\n * @return {Boolean}\n */\n isEmptyStyles: function(lineIndex) {\n if (!this.styles) {\n return true;\n }\n if (typeof lineIndex !== 'undefined' && !this.styles[lineIndex]) {\n return true;\n }\n var obj = typeof lineIndex === 'undefined' ? this.styles : { line: this.styles[lineIndex] };\n for (var p1 in obj) {\n for (var p2 in obj[p1]) {\n // eslint-disable-next-line no-unused-vars\n for (var p3 in obj[p1][p2]) {\n return false;\n }\n }\n }\n return true;\n },\n\n /**\n * Returns true if object has a style property or has it ina specified line\n * This function is used to detect if a text will use a particular property or not.\n * @param {String} property to check for\n * @param {Number} lineIndex to check the style on\n * @return {Boolean}\n */\n styleHas: function(property, lineIndex) {\n if (!this.styles || !property || property === '') {\n return false;\n }\n if (typeof lineIndex !== 'undefined' && !this.styles[lineIndex]) {\n return false;\n }\n var obj = typeof lineIndex === 'undefined' ? this.styles : { 0: this.styles[lineIndex] };\n // eslint-disable-next-line\n for (var p1 in obj) {\n // eslint-disable-next-line\n for (var p2 in obj[p1]) {\n if (typeof obj[p1][p2][property] !== 'undefined') {\n return true;\n }\n }\n }\n return false;\n },\n\n /**\n * Check if characters in a text have a value for a property\n * whose value matches the textbox's value for that property. If so,\n * the character-level property is deleted. If the character\n * has no other properties, then it is also deleted. Finally,\n * if the line containing that character has no other characters\n * then it also is deleted.\n *\n * @param {string} property The property to compare between characters and text.\n */\n cleanStyle: function(property) {\n if (!this.styles || !property || property === '') {\n return false;\n }\n var obj = this.styles, stylesCount = 0, letterCount, stylePropertyValue,\n allStyleObjectPropertiesMatch = true, graphemeCount = 0, styleObject;\n // eslint-disable-next-line\n for (var p1 in obj) {\n letterCount = 0;\n // eslint-disable-next-line\n for (var p2 in obj[p1]) {\n var styleObject = obj[p1][p2],\n stylePropertyHasBeenSet = styleObject.hasOwnProperty(property);\n\n stylesCount++;\n\n if (stylePropertyHasBeenSet) {\n if (!stylePropertyValue) {\n stylePropertyValue = styleObject[property];\n }\n else if (styleObject[property] !== stylePropertyValue) {\n allStyleObjectPropertiesMatch = false;\n }\n\n if (styleObject[property] === this[property]) {\n delete styleObject[property];\n }\n }\n else {\n allStyleObjectPropertiesMatch = false;\n }\n\n if (Object.keys(styleObject).length !== 0) {\n letterCount++;\n }\n else {\n delete obj[p1][p2];\n }\n }\n\n if (letterCount === 0) {\n delete obj[p1];\n }\n }\n // if every grapheme has the same style set then\n // delete those styles and set it on the parent\n for (var i = 0; i < this._textLines.length; i++) {\n graphemeCount += this._textLines[i].length;\n }\n if (allStyleObjectPropertiesMatch && stylesCount === graphemeCount) {\n this[property] = stylePropertyValue;\n this.removeStyle(property);\n }\n },\n\n /**\n * Remove a style property or properties from all individual character styles\n * in a text object. Deletes the character style object if it contains no other style\n * props. Deletes a line style object if it contains no other character styles.\n *\n * @param {String} props The property to remove from character styles.\n */\n removeStyle: function(property) {\n if (!this.styles || !property || property === '') {\n return;\n }\n var obj = this.styles, line, lineNum, charNum;\n for (lineNum in obj) {\n line = obj[lineNum];\n for (charNum in line) {\n delete line[charNum][property];\n if (Object.keys(line[charNum]).length === 0) {\n delete line[charNum];\n }\n }\n if (Object.keys(line).length === 0) {\n delete obj[lineNum];\n }\n }\n },\n\n /**\n * @private\n */\n _extendStyles: function(index, styles) {\n var loc = this.get2DCursorLocation(index);\n\n if (!this._getLineStyle(loc.lineIndex)) {\n this._setLineStyle(loc.lineIndex);\n }\n\n if (!this._getStyleDeclaration(loc.lineIndex, loc.charIndex)) {\n this._setStyleDeclaration(loc.lineIndex, loc.charIndex, {});\n }\n\n fabric.util.object.extend(this._getStyleDeclaration(loc.lineIndex, loc.charIndex), styles);\n },\n\n /**\n * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)\n * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.\n * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.\n */\n get2DCursorLocation: function(selectionStart, skipWrapping) {\n if (typeof selectionStart === 'undefined') {\n selectionStart = this.selectionStart;\n }\n var lines = skipWrapping ? this._unwrappedTextLines : this._textLines,\n len = lines.length;\n for (var i = 0; i < len; i++) {\n if (selectionStart <= lines[i].length) {\n return {\n lineIndex: i,\n charIndex: selectionStart\n };\n }\n selectionStart -= lines[i].length + this.missingNewlineOffset(i);\n }\n return {\n lineIndex: i - 1,\n charIndex: lines[i - 1].length < selectionStart ? lines[i - 1].length : selectionStart\n };\n },\n\n /**\n * Gets style of a current selection/cursor (at the start position)\n * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @param {Boolean} [complete] get full style or not\n * @return {Array} styles an array with one, zero or more Style objects\n */\n getSelectionStyles: function(startIndex, endIndex, complete) {\n if (typeof startIndex === 'undefined') {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === 'undefined') {\n endIndex = this.selectionEnd || startIndex;\n }\n var styles = [];\n for (var i = startIndex; i < endIndex; i++) {\n styles.push(this.getStyleAtPosition(i, complete));\n }\n return styles;\n },\n\n /**\n * Gets style of a current selection/cursor position\n * @param {Number} position to get styles at\n * @param {Boolean} [complete] full style if true\n * @return {Object} style Style object at a specified index\n * @private\n */\n getStyleAtPosition: function(position, complete) {\n var loc = this.get2DCursorLocation(position),\n style = complete ? this.getCompleteStyleDeclaration(loc.lineIndex, loc.charIndex) :\n this._getStyleDeclaration(loc.lineIndex, loc.charIndex);\n return style || {};\n },\n\n /**\n * Sets style of a current selection, if no selection exist, do not set anything.\n * @param {Object} [styles] Styles object\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @return {fabric.IText} thisArg\n * @chainable\n */\n setSelectionStyles: function(styles, startIndex, endIndex) {\n if (typeof startIndex === 'undefined') {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === 'undefined') {\n endIndex = this.selectionEnd || startIndex;\n }\n for (var i = startIndex; i < endIndex; i++) {\n this._extendStyles(i, styles);\n }\n /* not included in _extendStyles to avoid clearing cache more than once */\n this._forceClearCache = true;\n return this;\n },\n\n /**\n * get the reference, not a clone, of the style object for a given character\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @return {Object} style object\n */\n _getStyleDeclaration: function(lineIndex, charIndex) {\n var lineStyle = this.styles && this.styles[lineIndex];\n if (!lineStyle) {\n return null;\n }\n return lineStyle[charIndex];\n },\n\n /**\n * return a new object that contains all the style property for a character\n * the object returned is newly created\n * @param {Number} lineIndex of the line where the character is\n * @param {Number} charIndex position of the character on the line\n * @return {Object} style object\n */\n getCompleteStyleDeclaration: function(lineIndex, charIndex) {\n var style = this._getStyleDeclaration(lineIndex, charIndex) || { },\n styleObject = { }, prop;\n for (var i = 0; i < this._styleProperties.length; i++) {\n prop = this._styleProperties[i];\n styleObject[prop] = typeof style[prop] === 'undefined' ? this[prop] : style[prop];\n }\n return styleObject;\n },\n\n /**\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {Object} style\n * @private\n */\n _setStyleDeclaration: function(lineIndex, charIndex, style) {\n this.styles[lineIndex][charIndex] = style;\n },\n\n /**\n *\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @private\n */\n _deleteStyleDeclaration: function(lineIndex, charIndex) {\n delete this.styles[lineIndex][charIndex];\n },\n\n /**\n * @param {Number} lineIndex\n * @return {Boolean} if the line exists or not\n * @private\n */\n _getLineStyle: function(lineIndex) {\n return !!this.styles[lineIndex];\n },\n\n /**\n * Set the line style to an empty object so that is initialized\n * @param {Number} lineIndex\n * @private\n */\n _setLineStyle: function(lineIndex) {\n this.styles[lineIndex] = {};\n },\n\n /**\n * @param {Number} lineIndex\n * @private\n */\n _deleteLineStyle: function(lineIndex) {\n delete this.styles[lineIndex];\n }\n });\n})();\n(function() {\n\n var controlsUtils = fabric.controlsUtils,\n scaleSkewStyleHandler = controlsUtils.scaleSkewCursorStyleHandler,\n scaleStyleHandler = controlsUtils.scaleCursorStyleHandler,\n scalingEqually = controlsUtils.scalingEqually,\n scalingYOrSkewingX = controlsUtils.scalingYOrSkewingX,\n scalingXOrSkewingY = controlsUtils.scalingXOrSkewingY,\n scaleOrSkewActionName = controlsUtils.scaleOrSkewActionName,\n objectControls = fabric.Object.prototype.controls;\n\n objectControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mb = new fabric.Control({\n x: 0,\n y: 0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.mt = new fabric.Control({\n x: 0,\n y: -0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName,\n });\n\n objectControls.tl = new fabric.Control({\n x: -0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.tr = new fabric.Control({\n x: 0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.bl = new fabric.Control({\n x: -0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.br = new fabric.Control({\n x: 0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n\n objectControls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n actionHandler: controlsUtils.rotationWithSnapping,\n cursorStyleHandler: controlsUtils.rotationStyleHandler,\n offsetY: -40,\n withConnection: true,\n actionName: 'rotate',\n });\n\n if (fabric.Textbox) {\n // this is breaking the prototype inheritance, no time / ideas to fix it.\n // is important to document that if you want to have all objects to have a\n // specific custom control, you have to add it to Object prototype and to Textbox\n // prototype. The controls are shared as references. So changes to control `tr`\n // can still apply to all objects if needed.\n var textBoxControls = fabric.Textbox.prototype.controls = { };\n\n textBoxControls.mtr = objectControls.mtr;\n textBoxControls.tr = objectControls.tr;\n textBoxControls.br = objectControls.br;\n textBoxControls.tl = objectControls.tl;\n textBoxControls.bl = objectControls.bl;\n textBoxControls.mt = objectControls.mt;\n textBoxControls.mb = objectControls.mb;\n\n textBoxControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: 'resizing',\n });\n\n textBoxControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: 'resizing',\n });\n }\n})();\n(function () {\n /** ERASER_START */\n\n /**\n * add `eraser` to enlivened props\n */\n fabric.Object.ENLIVEN_PROPS.push('eraser');\n\n var __drawClipPath = fabric.Object.prototype._drawClipPath;\n var _needsItsOwnCache = fabric.Object.prototype.needsItsOwnCache;\n var _toObject = fabric.Object.prototype.toObject;\n var _getSvgCommons = fabric.Object.prototype.getSvgCommons;\n var __createBaseClipPathSVGMarkup = fabric.Object.prototype._createBaseClipPathSVGMarkup;\n var __createBaseSVGMarkup = fabric.Object.prototype._createBaseSVGMarkup;\n\n fabric.Object.prototype.cacheProperties.push('eraser');\n fabric.Object.prototype.stateProperties.push('eraser');\n\n /**\n * @fires erasing:end\n */\n fabric.util.object.extend(fabric.Object.prototype, {\n /**\n * Indicates whether this object can be erased by {@link fabric.EraserBrush}\n * The `deep` option introduces fine grained control over a group's `erasable` property.\n * When set to `deep` the eraser will erase nested objects if they are erasable, leaving the group and the other objects untouched.\n * When set to `true` the eraser will erase the entire group. Once the group changes the eraser is propagated to its children for proper functionality.\n * When set to `false` the eraser will leave all objects including the group untouched.\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n * @type boolean | 'deep'\n * @default true\n */\n erasable: true,\n\n /**\n * @tutorial {@link http://fabricjs.com/erasing#eraser}\n * @type fabric.Eraser\n */\n eraser: undefined,\n\n /**\n * @override\n * @returns Boolean\n */\n needsItsOwnCache: function () {\n return _needsItsOwnCache.call(this) || !!this.eraser;\n },\n\n /**\n * draw eraser above clip path\n * @override\n * @private\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */\n _drawClipPath: function (ctx, clipPath) {\n __drawClipPath.call(this, ctx, clipPath);\n if (this.eraser) {\n // update eraser size to match instance\n var size = this._getNonTransformedDimensions();\n this.eraser.isType('eraser') && this.eraser.set({\n width: size.x,\n height: size.y\n });\n __drawClipPath.call(this, ctx, this.eraser);\n }\n },\n\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */\n toObject: function (propertiesToInclude) {\n var object = _toObject.call(this, ['erasable'].concat(propertiesToInclude));\n if (this.eraser && !this.eraser.excludeFromExport) {\n object.eraser = this.eraser.toObject(propertiesToInclude);\n }\n return object;\n },\n\n \n });\n\n var __restoreObjectsState = fabric.Group.prototype._restoreObjectsState;\n fabric.util.object.extend(fabric.Group.prototype, {\n /**\n * @private\n * @param {fabric.Path} path\n */\n _addEraserPathToObjects: function (path) {\n this._objects.forEach(function (object) {\n fabric.EraserBrush.prototype._addPathToObjectEraser.call(\n fabric.EraserBrush.prototype,\n object,\n path\n );\n });\n },\n\n /**\n * Applies the group's eraser to its objects\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n */\n applyEraserToObjects: function () {\n var _this = this, eraser = this.eraser;\n if (eraser) {\n delete this.eraser;\n var transform = _this.calcTransformMatrix();\n eraser.clone(function (eraser) {\n var clipPath = _this.clipPath;\n eraser.getObjects('path')\n .forEach(function (path) {\n // first we transform the path from the group's coordinate system to the canvas'\n var originalTransform = fabric.util.multiplyTransformMatrices(\n transform,\n path.calcTransformMatrix()\n );\n fabric.util.applyTransformToObject(path, originalTransform);\n if (clipPath) {\n clipPath.clone(function (_clipPath) {\n var eraserPath = fabric.EraserBrush.prototype.applyClipPathToPath.call(\n fabric.EraserBrush.prototype,\n path,\n _clipPath,\n transform\n );\n _this._addEraserPathToObjects(eraserPath);\n }, ['absolutePositioned', 'inverted']);\n }\n else {\n _this._addEraserPathToObjects(path);\n }\n });\n });\n }\n },\n\n /**\n * Propagate the group's eraser to its objects, crucial for proper functionality of the eraser within the group and nested objects.\n * @private\n */\n _restoreObjectsState: function () {\n this.erasable === true && this.applyEraserToObjects();\n return __restoreObjectsState.call(this);\n }\n });\n\n /**\n * An object's Eraser\n * @private\n * @class fabric.Eraser\n * @extends fabric.Group\n * @memberof fabric\n */\n fabric.Eraser = fabric.util.createClass(fabric.Group, {\n /**\n * @readonly\n * @static\n */\n type: 'eraser',\n\n /**\n * @default\n */\n originX: 'center',\n\n /**\n * @default\n */\n originY: 'center',\n\n drawObject: function (ctx) {\n ctx.save();\n ctx.fillStyle = 'black';\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n this.callSuper('drawObject', ctx);\n },\n\n /**\n * eraser should retain size\n * dimensions should not change when paths are added or removed\n * handled by {@link fabric.Object#_drawClipPath}\n * @override\n * @private\n */\n _getBounds: function () {\n // noop\n },\n\n \n });\n\n /**\n * Returns {@link fabric.Eraser} instance from an object representation\n * @static\n * @memberOf fabric.Eraser\n * @param {Object} object Object to create an Eraser from\n * @param {Function} [callback] Callback to invoke when an eraser instance is created\n */\n fabric.Eraser.fromObject = function (object, callback) {\n var objects = object.objects;\n fabric.util.enlivenObjects(objects, function (enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function () {\n callback && callback(new fabric.Eraser(enlivenedObjects, options, true));\n });\n });\n };\n\n var __renderOverlay = fabric.Canvas.prototype._renderOverlay;\n /**\n * @fires erasing:start\n * @fires erasing:end\n */\n fabric.util.object.extend(fabric.Canvas.prototype, {\n /**\n * Used by {@link #renderAll}\n * @returns boolean\n */\n isErasing: function () {\n return (\n this.isDrawingMode &&\n this.freeDrawingBrush &&\n this.freeDrawingBrush.type === 'eraser' &&\n this.freeDrawingBrush._isErasing\n );\n },\n\n /**\n * While erasing the brush clips out the erasing path from canvas\n * so we need to render it on top of canvas every render\n * @param {CanvasRenderingContext2D} ctx\n */\n _renderOverlay: function (ctx) {\n __renderOverlay.call(this, ctx);\n if (this.isErasing() && !this.freeDrawingBrush.inverted) {\n this.freeDrawingBrush._render();\n }\n }\n });\n\n /**\n * EraserBrush class\n * Supports selective erasing meaning that only erasable objects are affected by the eraser brush.\n * Supports **inverted** erasing meaning that the brush can \"undo\" erasing.\n *\n * In order to support selective erasing, the brush clips the entire canvas\n * and then draws all non-erasable objects over the erased path using a pattern brush so to speak (masking).\n * If brush is **inverted** there is no need to clip canvas. The brush draws all erasable objects without their eraser.\n * This achieves the desired effect of seeming to erase or unerase only erasable objects.\n * After erasing is done the created path is added to all intersected objects' `eraser` property.\n *\n * In order to update the EraserBrush call `preparePattern`.\n * It may come in handy when canvas changes during erasing (i.e animations) and you want the eraser to reflect the changes.\n *\n * @tutorial {@link http://fabricjs.com/erasing}\n * @class fabric.EraserBrush\n * @extends fabric.PencilBrush\n * @memberof fabric\n */\n fabric.EraserBrush = fabric.util.createClass(\n fabric.PencilBrush,\n /** @lends fabric.EraserBrush.prototype */ {\n type: 'eraser',\n\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */\n inverted: false,\n\n /**\n * @private\n */\n _isErasing: false,\n\n /**\n *\n * @private\n * @param {fabric.Object} object\n * @returns boolean\n */\n _isErasable: function (object) {\n return object.erasable !== false;\n },\n\n /**\n * @private\n * This is designed to support erasing a collection with both erasable and non-erasable objects.\n * Iterates over collections to allow nested selective erasing.\n * Prepares the pattern brush that will draw on the top context to achieve the desired visual effect.\n * If brush is **NOT** inverted render all non-erasable objects.\n * If brush is inverted render all erasable objects that have been erased with their clip path inverted.\n * This will render the erased parts as if they were not erased.\n *\n * @param {fabric.Collection} collection\n * @param {CanvasRenderingContext2D} ctx\n * @param {{ visibility: fabric.Object[], eraser: fabric.Object[], collection: fabric.Object[] }} restorationContext\n */\n _prepareCollectionTraversal: function (collection, ctx, restorationContext) {\n collection.forEachObject(function (obj) {\n if (obj.forEachObject && obj.erasable === 'deep') {\n // traverse\n this._prepareCollectionTraversal(obj, ctx, restorationContext);\n }\n else if (!this.inverted && obj.erasable && obj.visible) {\n // render only non-erasable objects\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n else if (this.inverted && obj.visible) {\n // render only erasable objects that were erased\n if (obj.erasable && obj.eraser) {\n obj.eraser.inverted = true;\n obj.dirty = true;\n collection.dirty = true;\n restorationContext.eraser.push(obj);\n restorationContext.collection.push(collection);\n }\n else {\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n }\n }, this);\n },\n\n /**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context, achieving a visual effect of erasing only erasable objects\n * @todo decide how overlay color should behave when `inverted === true`, currently draws over it which is undesirable\n * @private\n */\n preparePattern: function () {\n if (!this._patternCanvas) {\n this._patternCanvas = fabric.util.createCanvasElement();\n }\n var canvas = this._patternCanvas;\n canvas.width = this.canvas.width;\n canvas.height = this.canvas.height;\n var patternCtx = canvas.getContext('2d');\n if (this.canvas._isRetinaScaling()) {\n var retinaScaling = this.canvas.getRetinaScaling();\n this.canvas.__initRetinaScaling(retinaScaling, canvas, patternCtx);\n }\n var backgroundImage = this.canvas.backgroundImage,\n bgErasable = backgroundImage && this._isErasable(backgroundImage),\n overlayImage = this.canvas.overlayImage,\n overlayErasable = overlayImage && this._isErasable(overlayImage);\n if (!this.inverted && ((backgroundImage && !bgErasable) || !!this.canvas.backgroundColor)) {\n if (bgErasable) { this.canvas.backgroundImage = undefined; }\n this.canvas._renderBackground(patternCtx);\n if (bgErasable) { this.canvas.backgroundImage = backgroundImage; }\n }\n else if (this.inverted && (backgroundImage && bgErasable)) {\n var color = this.canvas.backgroundColor;\n this.canvas.backgroundColor = undefined;\n this.canvas._renderBackground(patternCtx);\n this.canvas.backgroundColor = color;\n }\n patternCtx.save();\n patternCtx.transform.apply(patternCtx, this.canvas.viewportTransform);\n var restorationContext = { visibility: [], eraser: [], collection: [] };\n this._prepareCollectionTraversal(this.canvas, patternCtx, restorationContext);\n this.canvas._renderObjects(patternCtx, this.canvas._objects);\n restorationContext.visibility.forEach(function (obj) { obj.visible = true; });\n restorationContext.eraser.forEach(function (obj) {\n obj.eraser.inverted = false;\n obj.dirty = true;\n });\n restorationContext.collection.forEach(function (obj) { obj.dirty = true; });\n patternCtx.restore();\n if (!this.inverted && ((overlayImage && !overlayErasable) || !!this.canvas.overlayColor)) {\n if (overlayErasable) { this.canvas.overlayImage = undefined; }\n __renderOverlay.call(this.canvas, patternCtx);\n if (overlayErasable) { this.canvas.overlayImage = overlayImage; }\n }\n else if (this.inverted && (overlayImage && overlayErasable)) {\n var color = this.canvas.overlayColor;\n this.canvas.overlayColor = undefined;\n __renderOverlay.call(this.canvas, patternCtx);\n this.canvas.overlayColor = color;\n }\n },\n\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */\n _setBrushStyles: function (ctx) {\n this.callSuper('_setBrushStyles', ctx);\n ctx.strokeStyle = 'black';\n },\n\n /**\n * **Customiztion**\n *\n * if you need the eraser to update on each render (i.e animating during erasing) override this method by **adding** the following (performance may suffer):\n * @example\n * ```\n * if(ctx === this.canvas.contextTop) {\n * this.preparePattern();\n * }\n * ```\n *\n * @override fabric.BaseBrush#_saveAndTransform\n * @param {CanvasRenderingContext2D} ctx\n */\n _saveAndTransform: function (ctx) {\n this.callSuper('_saveAndTransform', ctx);\n this._setBrushStyles(ctx);\n ctx.globalCompositeOperation = ctx === this.canvas.getContext() ? 'destination-out' : 'source-over';\n },\n\n /**\n * We indicate {@link fabric.PencilBrush} to repaint itself if necessary\n * @returns\n */\n needsFullRender: function () {\n return true;\n },\n\n /**\n *\n * @param {fabric.Point} pointer\n * @param {fabric.IEvent} options\n * @returns\n */\n onMouseDown: function (pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n\n // prepare for erasing\n this.preparePattern();\n this._isErasing = true;\n this.canvas.fire('erasing:start');\n this._render();\n },\n\n /**\n * Rendering Logic:\n * 1. Use brush to clip canvas by rendering it on top of canvas (unnecessary if `inverted === true`)\n * 2. Render brush with canvas pattern on top context\n *\n */\n _render: function () {\n var ctx;\n if (!this.inverted) {\n // clip canvas\n ctx = this.canvas.getContext();\n this.callSuper('_render', ctx);\n }\n // render brush and mask it with image of non erasables\n ctx = this.canvas.contextTop;\n this.canvas.clearContext(ctx);\n this.callSuper('_render', ctx);\n ctx.save();\n var t = this.canvas.getRetinaScaling(), s = 1 / t;\n ctx.scale(s, s);\n ctx.globalCompositeOperation = 'source-in';\n ctx.drawImage(this._patternCanvas, 0, 0);\n ctx.restore();\n },\n\n /**\n * Creates fabric.Path object\n * @override\n * @private\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n * @returns\n */\n createPath: function (pathData) {\n var path = this.callSuper('createPath', pathData);\n path.globalCompositeOperation = this.inverted ? 'source-over' : 'destination-out';\n path.stroke = this.inverted ? 'white' : 'black';\n return path;\n },\n\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path in canvas coordinate plane\n * @param {fabric.Object} clipPath The clipPath to apply to the path\n * @param {number[]} clipPathContainerTransformMatrix The transform matrix of the object that the clip path belongs to\n * @returns {fabric.Path} path with clip path\n */\n applyClipPathToPath: function (path, clipPath, clipPathContainerTransformMatrix) {\n var pathInvTransform = fabric.util.invertTransform(path.calcTransformMatrix()),\n clipPathTransform = clipPath.calcTransformMatrix(),\n transform = clipPath.absolutePositioned ?\n pathInvTransform :\n fabric.util.multiplyTransformMatrices(\n pathInvTransform,\n clipPathContainerTransformMatrix\n );\n // when passing down a clip path it becomes relative to the parent\n // so we transform it acoordingly and set `absolutePositioned` to false\n clipPath.absolutePositioned = false;\n fabric.util.applyTransformToObject(\n clipPath,\n fabric.util.multiplyTransformMatrices(\n transform,\n clipPathTransform\n )\n );\n // We need to clip `path` with both `clipPath` and it's own clip path if existing (`path.clipPath`)\n // so in turn `path` erases an object only where it overlaps with all it's clip paths, regardless of how many there are.\n // this is done because both clip paths may have nested clip paths of their own (this method walks down a collection => this may reccur),\n // so we can't assign one to the other's clip path property.\n path.clipPath = path.clipPath ? fabric.util.mergeClipPaths(clipPath, path.clipPath) : clipPath;\n return path;\n },\n\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path\n * @param {fabric.Object} object The clipPath to apply to path belongs to object\n * @param {Function} callback Callback to be invoked with the cloned path after applying the clip path\n */\n clonePathWithClipPath: function (path, object, callback) {\n var objTransform = object.calcTransformMatrix();\n var clipPath = object.clipPath;\n var _this = this;\n path.clone(function (_path) {\n clipPath.clone(function (_clipPath) {\n callback(_this.applyClipPathToPath(_path, _clipPath, objTransform));\n }, ['absolutePositioned', 'inverted']);\n });\n },\n\n /**\n * Adds path to object's eraser, walks down object's descendants if necessary\n *\n * @fires erasing:end on object\n * @param {fabric.Object} obj\n * @param {fabric.Path} path\n */\n _addPathToObjectEraser: function (obj, path) {\n var _this = this;\n // object is collection, i.e group\n if (obj.forEachObject && obj.erasable === 'deep') {\n var targets = obj._objects.filter(function (_obj) {\n return _obj.erasable;\n });\n if (targets.length > 0 && obj.clipPath) {\n this.clonePathWithClipPath(path, obj, function (_path) {\n targets.forEach(function (_obj) {\n _this._addPathToObjectEraser(_obj, _path);\n });\n });\n }\n else if (targets.length > 0) {\n targets.forEach(function (_obj) {\n _this._addPathToObjectEraser(_obj, path);\n });\n }\n return;\n }\n // prepare eraser\n var eraser = obj.eraser;\n if (!eraser) {\n eraser = new fabric.Eraser();\n obj.eraser = eraser;\n }\n // clone and add path\n path.clone(function (path) {\n // http://fabricjs.com/using-transformations\n var desiredTransform = fabric.util.multiplyTransformMatrices(\n fabric.util.invertTransform(\n obj.calcTransformMatrix()\n ),\n path.calcTransformMatrix()\n );\n fabric.util.applyTransformToObject(path, desiredTransform);\n eraser.addWithUpdate(path);\n obj.set('dirty', true);\n obj.fire('erasing:end', {\n path: path\n });\n if (obj.group && Array.isArray(_this.__subTargets)) {\n _this.__subTargets.push(obj);\n }\n });\n },\n\n /**\n * Add the eraser path to canvas drawables' clip paths\n *\n * @param {fabric.Canvas} source\n * @param {fabric.Canvas} path\n * @returns {Object} canvas drawables that were erased by the path\n */\n applyEraserToCanvas: function (path) {\n var canvas = this.canvas;\n var drawables = {};\n [\n 'backgroundImage',\n 'overlayImage',\n ].forEach(function (prop) {\n var drawable = canvas[prop];\n if (drawable && drawable.erasable) {\n this._addPathToObjectEraser(drawable, path);\n drawables[prop] = drawable;\n }\n }, this);\n return drawables;\n },\n\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to every intersected erasable object.\n */\n _finalizeAndAddPath: function () {\n var ctx = this.canvas.contextTop, canvas = this.canvas;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n\n // clear\n canvas.clearContext(canvas.contextTop);\n this._isErasing = false;\n\n var pathData = this._points && this._points.length > 1 ?\n this.convertPointsToSVGPath(this._points) :\n null;\n if (!pathData || this._isEmptySVGPath(pathData)) {\n canvas.fire('erasing:end');\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n canvas.requestRenderAll();\n return;\n }\n\n var path = this.createPath(pathData);\n // needed for `intersectsWithObject`\n path.setCoords();\n // commense event sequence\n canvas.fire('before:path:created', { path: path });\n\n // finalize erasing\n var drawables = this.applyEraserToCanvas(path);\n var _this = this;\n this.__subTargets = [];\n var targets = [];\n canvas.forEachObject(function (obj) {\n if (obj.erasable && obj.intersectsWithObject(path, true, true)) {\n _this._addPathToObjectEraser(obj, path);\n targets.push(obj);\n }\n });\n // fire erasing:end\n canvas.fire('erasing:end', {\n path: path,\n targets: targets,\n subTargets: this.__subTargets,\n drawables: drawables\n });\n delete this.__subTargets;\n\n canvas.requestRenderAll();\n this._resetShadow();\n\n // fire event 'path' created\n canvas.fire('path:created', { path: path });\n }\n }\n );\n\n /** ERASER_END */\n})();\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","(self[\"webpackChunk_N_E\"] = self[\"webpackChunk_N_E\"] || []).push([[405],{\n\n/***/ 8312:\n/***/ (function(__unused_webpack_module, __unused_webpack_exports, __webpack_require__) {\n\n\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/\",\n function () {\n return __webpack_require__(1374);\n }\n ]);\n if(false) {}\n \n\n/***/ }),\n\n/***/ 1374:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n// ESM COMPAT FLAG\n__webpack_require__.r(__webpack_exports__);\n\n// EXPORTS\n__webpack_require__.d(__webpack_exports__, {\n \"default\": function() { return /* binding */ HomePage; }\n});\n\n// EXTERNAL MODULE: ./node_modules/react/jsx-runtime.js\nvar jsx_runtime = __webpack_require__(5893);\n// EXTERNAL MODULE: ./node_modules/next/head.js\nvar head = __webpack_require__(9008);\nvar head_default = /*#__PURE__*/__webpack_require__.n(head);\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(7294);\n;// CONCATENATED MODULE: ./src/useCanvas.ts\n\nconst CanvasContext = react.createContext(null);\nCanvasContext.displayName = \"CanvasContext\";\n\nfunction useCanvas(canvasId) {\n const context = (0,react.useContext)(CanvasContext);\n if (!context) {\n throw new Error(\"No CanvasContext.Provider\");\n }\n if (typeof canvasId === \"undefined\") {\n return context;\n } else if (canvasId == null) {\n return {};\n } else {\n var _context_canvases_canvasId;\n return (_context_canvases_canvasId = context.canvases[canvasId]) !== null && _context_canvases_canvasId !== void 0 ? _context_canvases_canvasId : {};\n }\n}\n/* harmony default export */ var src_useCanvas = (useCanvas);\n\n;// CONCATENATED MODULE: ./src/useTools.ts\n\nconst ToolsContext = react.createContext(null);\nToolsContext.displayName = \"ToolsContext\";\n\nfunction useTools() {\n const context = (0,react.useContext)(ToolsContext);\n if (!context) {\n throw new Error(\"No ToolsContext.Provider\");\n }\n return context;\n}\n\n// EXTERNAL MODULE: ./node_modules/react-popper/lib/esm/usePopper.js + 55 modules\nvar usePopper = __webpack_require__(5237);\n// EXTERNAL MODULE: ./node_modules/rc-slider/es/index.js + 36 modules\nvar es = __webpack_require__(6863);\n// EXTERNAL MODULE: ./node_modules/react-icons/ri/index.esm.js\nvar index_esm = __webpack_require__(9352);\n// EXTERNAL MODULE: ./node_modules/react-icons/fa/index.esm.js\nvar fa_index_esm = __webpack_require__(9583);\n// EXTERNAL MODULE: ./node_modules/react-icons/go/index.esm.js\nvar go_index_esm = __webpack_require__(6653);\n// EXTERNAL MODULE: ./node_modules/react-icons/gi/index.esm.js\nvar gi_index_esm = __webpack_require__(2585);\n// EXTERNAL MODULE: ./node_modules/react-icons/io/index.esm.js\nvar io_index_esm = __webpack_require__(1649);\n// EXTERNAL MODULE: ./node_modules/react-icons/im/index.esm.js\nvar im_index_esm = __webpack_require__(3990);\n;// CONCATENATED MODULE: ./src/CanvasTools.tsx\n\n\n\n\n\n\n\n\n\n\n\n\nfunction CanvasTools() {\n const nameInputRef = (0,react.useRef)(null);\n const fileInputRef = (0,react.useRef)(null);\n const fileTypeRef = (0,react.useRef)(null);\n const { activeCanvas , backgroundColor , setBackgroundColor , selectedObjects , lockedObjects , lockSelection , unlockSelection , bringForward , sendBackward , duplicate , deleteSelection , undo , redo , canUndo , canRedo , brushColor , setBrushColor , brushSize , setBrushSize , hueRotate , setHueRotate , saturation , setSaturation , brightness , setBrightness , layerMode , setLayerMode , activeCanvasType , addImages , exportSkin } = useTools();\n const { canvas , isDrawingMode , setDrawingMode } = src_useCanvas(activeCanvas);\n const [isMac, setIsMac] = (0,react.useState)(false);\n const commandKeyPrefix = isMac ? \"⌘\" : \"Ctrl \";\n const shiftKeySymbol = \"⇧\";\n // Brush popup\n const [referenceElement, setReferenceElement] = (0,react.useState)(null);\n const [popperElement, setPopperElement] = (0,react.useState)(null);\n const [arrowElement, setArrowElement] = (0,react.useState)(null);\n const [isBrushToolsOpen, setBrushToolsOpen] = (0,react.useState)(false);\n const [isFilterToolsOpen, setFilterToolsOpen] = (0,react.useState)(false);\n const { styles , attributes } = (0,usePopper/* usePopper */.D)(referenceElement, popperElement, {\n modifiers: [\n {\n name: \"arrow\",\n options: {\n element: arrowElement\n }\n },\n {\n name: \"offset\",\n options: {\n offset: [\n 0,\n 10\n ]\n }\n }\n ]\n });\n const isSelectionLocked = selectedObjects.length ? selectedObjects.every((object)=>lockedObjects.has(object)) : false;\n const handleBackgroundColorChange = (event)=>{\n setBackgroundColor(event.target.value);\n };\n (0,react.useEffect)(()=>{\n if (navigator.platform && navigator.platform.startsWith(\"Mac\")) {\n setIsMac(true);\n } else if (navigator.userAgent.match(/\\(Macintosh;/)) {\n setIsMac(true);\n }\n }, []);\n (0,react.useEffect)(()=>{\n if (popperElement) {\n popperElement.focus();\n }\n }, [\n popperElement\n ]);\n var _canvas__objects_length_toLocaleString;\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasTools\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasBackgroundColor\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorBlack\",\n value: \"black\",\n checked: backgroundColor === \"black\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorBlack\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"Black\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorMagenta\",\n value: \"magenta\",\n checked: backgroundColor === \"magenta\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorMagenta\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"Magenta\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n className: \"ColorSwatch\",\n type: \"radio\",\n name: \"backgroundColor\",\n id: \"canvasBackgroundColorWhite\",\n value: \"white\",\n checked: backgroundColor === \"white\",\n onChange: handleBackgroundColorChange\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"canvasBackgroundColorWhite\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"span\", {\n className: \"HiddenLabel\",\n children: \"White\"\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n activeCanvasType === \"color\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n onChange: async (event)=>{\n const imageUrl = await new Promise((resolve, reject)=>{\n var _event_target_files;\n const inputFile = (_event_target_files = event.target.files) === null || _event_target_files === void 0 ? void 0 : _event_target_files[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event)=>{\n var _event_target;\n resolve((_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.result);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n addImages([\n imageUrl\n ]);\n },\n type: \"file\",\n accept: \".png, image/png\",\n hidden: true\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Add Image\",\n title: \"Add Image\",\n onClick: ()=>{\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImPlus */.yAv, {\n style: {\n fontSize: 14\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n ref: setReferenceElement,\n \"data-active\": isFilterToolsOpen ? \"\" : undefined,\n \"aria-label\": \"Filters\",\n title: \"Filters\",\n onClick: ()=>{\n setFilterToolsOpen((isOpen)=>!isOpen);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImContrast */.J76, {})\n }),\n isFilterToolsOpen ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"BrushToolsPopup\",\n ref: setPopperElement,\n style: styles.popper,\n tabIndex: -1,\n onBlur: (event)=>{\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving = !newFocusElement || !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setFilterToolsOpen(false);\n }\n },\n ...attributes.popper,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Fields\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field ApplyTo\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Layer:\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"ul\", {\n children: selectedObjects.length ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"SelectedLayer\",\n id: \"FilterLayer-SelectedLayer\",\n checked: layerMode === \"SelectedLayer\",\n onChange: ()=>{\n setLayerMode(\"SelectedLayer\");\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n htmlFor: \"FilterLayer-SelectedLayer\",\n children: [\n \"selected (\",\n selectedObjects.length.toLocaleString(),\n \")\"\n ]\n })\n ]\n }) : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"BaseLayer\",\n id: \"FilterLayer-BaseLayer\",\n checked: layerMode === \"BaseLayer\",\n onChange: ()=>{\n setLayerMode(\"BaseLayer\");\n }\n }),\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"FilterLayer-BaseLayer\",\n children: \"base\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"li\", {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n type: \"radio\",\n name: \"FilterLayer\",\n value: \"AllLayers\",\n id: \"FilterLayer-AllLayers\",\n checked: layerMode === \"AllLayers\",\n onChange: ()=>{\n setLayerMode(\"AllLayers\");\n }\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n htmlFor: \"FilterLayer-AllLayers\",\n children: [\n \"all (\",\n (_canvas__objects_length_toLocaleString = canvas === null || canvas === void 0 ? void 0 : canvas._objects.length.toLocaleString()) !== null && _canvas__objects_length_toLocaleString !== void 0 ? _canvas__objects_length_toLocaleString : 0,\n \")\"\n ]\n })\n ]\n })\n ]\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Hue:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: hueRotate == null ? \"MULTIPLE VALUES\" : /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n Math.round(hueRotate * 180),\n \"\\xb0\"\n ]\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -180,\n max: 180,\n startPoint: 0,\n value: Math.round((hueRotate !== null && hueRotate !== void 0 ? hueRotate : 0) * 180),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setHueRotate(value / 180);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Saturation:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: saturation == null ? \"MULTIPLE VALUES\" : \"\".concat(Math.round(saturation * 100 + 100), \"%\")\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -100,\n max: 100,\n startPoint: 0,\n value: Math.round((saturation !== null && saturation !== void 0 ? saturation : 0) * 100),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setSaturation(value / 100);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"label\", {\n children: [\n \"Brightness:\",\n \" \",\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"strong\", {\n children: brightness == null ? \"MULTIPLE VALUES\" : \"\".concat(Math.round(brightness * 100 + 100), \"%\")\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: -100,\n max: 100,\n startPoint: 0,\n value: Math.round((brightness !== null && brightness !== void 0 ? brightness : 0) * 100),\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrightness(value / 100);\n },\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"PopupArrow\",\n ref: setArrowElement,\n style: styles.arrow\n })\n ]\n }) : null,\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": isSelectionLocked ? \"Unlock\" : \"Lock\",\n title: isSelectionLocked ? \"Unlock (L)\" : \"Lock (L)\",\n onClick: isSelectionLocked ? unlockSelection : lockSelection,\n \"data-locked\": isSelectionLocked ? \"\" : undefined,\n children: isSelectionLocked ? /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaUnlock */.D5B, {\n style: {\n fontSize: 14\n }\n }) : /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaLock */.kUi, {\n style: {\n fontSize: 14\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Bring Forward\",\n title: \"Bring Forward (F)\",\n onClick: bringForward,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(go_index_esm/* GoArrowUp */.KhA, {\n style: {\n fontSize: 22\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Send Backward\",\n title: \"Send Backward (B)\",\n onClick: sendBackward,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(go_index_esm/* GoArrowDown */.O9L, {\n style: {\n fontSize: 22\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Duplicate\",\n title: \"Duplicate (D)\",\n onClick: duplicate,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(index_esm/* RiFileCopyFill */.xvH, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Delete\",\n title: \"Delete (Backspace)\",\n onClick: deleteSelection,\n disabled: isSelectionLocked,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(fa_index_esm/* FaTrashAlt */.AMf, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Undo\",\n title: \"Undo (\".concat(commandKeyPrefix, \"Z)\"),\n onClick: undo,\n disabled: !canUndo,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImUndo2 */.UIL, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Redo\",\n title: \"Redo (\".concat(isMac ? \"\".concat(shiftKeySymbol).concat(commandKeyPrefix, \"Z)\") : \"\".concat(commandKeyPrefix, \" Y\"), \")\"),\n onClick: redo,\n disabled: !canRedo,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImRedo2 */.rks, {})\n })\n ]\n }) : null,\n activeCanvasType === \"metallic\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-active\": isDrawingMode ? undefined : \"\",\n \"aria-label\": \"Select\",\n title: \"Select (S)\",\n onClick: ()=>{\n setDrawingMode(false);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(gi_index_esm/* GiArrowCursor */.Pvc, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n ref: setReferenceElement,\n \"data-active\": isDrawingMode ? \"\" : undefined,\n \"aria-label\": \"Paint\",\n title: \"Paint (P)\",\n onClick: ()=>{\n setDrawingMode(true);\n setBrushToolsOpen((isOpen)=>!isOpen);\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdBrush */.VUP, {})\n }),\n isBrushToolsOpen ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"BrushToolsPopup\",\n ref: setPopperElement,\n style: styles.popper,\n tabIndex: -1,\n onBlur: (event)=>{\n const newFocusElement = event.relatedTarget;\n const isFocusLeaving = !newFocusElement || !event.currentTarget.contains(newFocusElement);\n if (isFocusLeaving) {\n setBrushToolsOpen(false);\n }\n },\n ...attributes.popper,\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Fields\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Metallic Amount\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: 0,\n max: 255,\n trackStyle: {\n display: \"none\"\n },\n value: brushColor,\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushColor(value);\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"rgb(20, 105, 241)\",\n background: \"rgb(\".concat(brushColor, \", \").concat(brushColor, \", \").concat(brushColor, \")\"),\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"linear-gradient(to right, black 0%, white 100%)\"\n }\n })\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Brush Size\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"SliderContainer\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(es/* default */.Z, {\n min: 1,\n max: 50,\n trackStyle: {\n height: 8,\n background: \"#03fccf\"\n },\n value: brushSize,\n onChange: (value)=>{\n if (Array.isArray(value)) {\n value = value[0];\n }\n setBrushSize(value);\n },\n handleStyle: {\n width: 20,\n height: 20,\n marginTop: -6,\n borderColor: \"#03fccf\",\n background: \"rgb(5, 69, 76)\",\n // background: `rgb(${brushColor}, ${brushColor}, ${brushColor})`,\n opacity: 1\n },\n railStyle: {\n height: 8,\n border: \"1px solid #555\",\n background: \"rgba(255, 255, 255, 0.3)\"\n }\n })\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"PopupArrow\",\n ref: setArrowElement,\n style: styles.arrow\n })\n ]\n }) : null\n ]\n }) : null\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Export\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: nameInputRef,\n type: \"text\",\n name: \"CustomSkinName\",\n placeholder: \"Skin Name\",\n size: 12\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n const name = nameInputRef.current ? nameInputRef.current.value : \"\";\n const format = fileTypeRef.current ? fileTypeRef.current.value : \".png\";\n exportSkin({\n name,\n format\n });\n },\n children: \"Export\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n ref: fileTypeRef,\n defaultValue: \"vl2\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"png\",\n children: \".png\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vl2\",\n children: \".vl2\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/next/config.js\nvar config = __webpack_require__(1752);\nvar config_default = /*#__PURE__*/__webpack_require__.n(config);\n// EXTERNAL MODULE: ./vendor/fabric/fabric.js\nvar fabric = __webpack_require__(6287);\n;// CONCATENATED MODULE: ./src/useWarrior.ts\n\nconst WarriorContext = react.createContext(null);\nWarriorContext.displayName = \"WarriorContext\";\n\nfunction useWarrior() {\n const context = (0,react.useContext)(WarriorContext);\n if (!context) {\n throw new Error(\"No WarriorContext.Provider\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/fabricUtils.ts\n\nfunction createFabricImage(url) {\n return new Promise((resolve)=>fabric.fabric.Image.fromURL(url, resolve, {\n crossOrigin: \"anonymous\"\n }));\n}\n\n// EXTERNAL MODULE: ./node_modules/comlink/dist/esm/comlink.mjs\nvar comlink = __webpack_require__(4375);\n;// CONCATENATED MODULE: ./node_modules/worker-loader/dist/cjs.js!./src/imageProcessing.worker.ts\nfunction Worker_fn() {\n return new Worker(__webpack_require__.p + \"static/chunks/imageProcessing.worker-ec557200a46215b3.worker.js\");\n}\n\n;// CONCATENATED MODULE: ./src/useImageWorker.ts\n\n\n\nfunction useImageWorker() {\n const workerRef = (0,react.useRef)(null);\n const functionsRef = (0,react.useRef)(null);\n const value = (0,react.useMemo)(()=>{\n const getFunctions = ()=>{\n return functionsRef.current;\n };\n return {\n async combineColorAndAlphaImageUrls () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.combineColorAndAlphaImageUrls(...args);\n },\n async removeAlphaFromArrayBuffer () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.removeAlphaFromArrayBuffer(...args);\n },\n async convertArrayBufferAlphaToGrayscale () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.convertArrayBufferAlphaToGrayscale(...args);\n },\n async convertGrayscaleImageUrlToMetallicRoughness () {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const functions = await getFunctions();\n return functions === null || functions === void 0 ? void 0 : functions.convertGrayscaleImageUrlToMetallicRoughness(...args);\n }\n };\n }, []);\n (0,react.useEffect)(()=>{\n const worker = new Worker_fn();\n const functions = comlink/* wrap */.Ud(worker);\n workerRef.current = worker;\n functionsRef.current = functions;\n return ()=>{\n functions[comlink/* releaseProxy */.Yy]();\n worker.terminate();\n };\n }, []);\n return value;\n}\n\n;// CONCATENATED MODULE: ./src/useSettings.ts\nfunction useSettings() {\n return {\n canvasPadding: 64,\n basePath: true ? \"/t2-model-skinner\" : 0\n };\n}\n\n// EXTERNAL MODULE: ./node_modules/pngjs/browser.js\nvar browser = __webpack_require__(7113);\n// EXTERNAL MODULE: ./node_modules/get-stream/index.js\nvar get_stream = __webpack_require__(31);\n;// CONCATENATED MODULE: ./src/imageUtils.ts\n\n\nfunction arrayBufferToBase64(arrayBuffer) {\n let base64 = \"\";\n const encodings = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\n const bytes = new Uint8Array(arrayBuffer);\n const byteLength = bytes.byteLength;\n const byteRemainder = byteLength % 3;\n const mainLength = byteLength - byteRemainder;\n let a, b, c, d;\n let chunk;\n // Main loop deals with bytes in chunks of 3\n for(let i = 0; i < mainLength; i = i + 3){\n // Combine the three bytes into a single integer\n chunk = bytes[i] << 16 | bytes[i + 1] << 8 | bytes[i + 2];\n // Use bitmasks to extract 6-bit segments from the triplet\n a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18\n b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12\n c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6\n d = chunk & 63; // 63 = 2^6 - 1\n // Convert the raw binary segments to the appropriate ASCII encoding\n base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d];\n }\n // Deal with the remaining bytes and padding\n if (byteRemainder == 1) {\n chunk = bytes[mainLength];\n a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2\n // Set the 4 least significant bits to zero\n b = (chunk & 3) << 4; // 3 = 2^2 - 1\n base64 += encodings[a] + encodings[b] + \"==\";\n } else if (byteRemainder == 2) {\n chunk = bytes[mainLength] << 8 | bytes[mainLength + 1];\n a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10\n b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4\n // Set the 2 least significant bits to zero\n c = (chunk & 15) << 2; // 15 = 2^4 - 1\n base64 += encodings[a] + encodings[b] + encodings[c] + \"=\";\n }\n return base64;\n}\nasync function rgbaToArrayBuffer(rgba, param) {\n let { width , height } = param;\n const png = new PNG({\n width,\n height,\n inputHasAlpha: true\n });\n png.data = rgba;\n png.pack();\n const arrayBuffer = await getStream.buffer(png);\n return arrayBuffer;\n}\nfunction arrayBufferToImageUrl(arrayBuffer) {\n const base64 = arrayBufferToBase64(arrayBuffer);\n return \"data:image/png;base64,\".concat(base64);\n}\nasync function imageUrlToArrayBuffer(url) {\n const response = await fetch(url);\n if (response.ok) {\n const arrayBuffer = await response.arrayBuffer();\n return arrayBuffer;\n } else {\n throw new Error(\"Failed to load image URL: \".concat(url));\n }\n}\nasync function arrayBufferToRgba(arrayBuffer) {\n const png = await new Promise((resolve, reject)=>new PNG().parse(arrayBuffer, (err, data)=>{\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n }));\n return {\n rgba: png.data,\n width: png.width,\n height: png.height\n };\n}\nasync function setGrayscaleFromAlpha(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n const alpha = rgba[i + 3];\n rgba[i] = alpha;\n rgba[i + 1] = alpha;\n rgba[i + 2] = alpha;\n rgba[i + 3] = 255;\n }\n}\nasync function setAlphaFromGrayscale(rgba, grayscaleRgba) {\n const length = rgba.length;\n // Modify image to map white pixels on the metallic canvas\n // to the alpha channel.\n for(let i = 0; i < length; i += 4){\n rgba[i + 3] = Math.max(1, grayscaleRgba[i]);\n }\n}\nasync function setAlphaToMax(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n rgba[i + 3] = 255;\n }\n}\nfunction setMetallicFromGrayscale(rgba) {\n const length = rgba.length;\n for(let i = 0; i < length; i += 4){\n const grayscale = rgba[i];\n // Red meanings nothing, set to 0.\n rgba[i] = 0;\n // Green maps to roughness. We want more metallic to be less rough.\n rgba[i + 1] = grayscale > 0 ? 255 - Math.min(grayscale * 2 + 64, 255) : 255;\n // Blue and alpha values should already be correct.\n rgba[i + 2] = grayscale ? Math.min(grayscale * 1 + 64, 255) : 0;\n }\n}\nasync function imageUrlToRgba(imageUrl) {\n const arrayBuffer = await imageUrlToArrayBuffer(imageUrl);\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n return {\n rgba,\n width,\n height\n };\n}\nasync function rgbaToImageUrl(rgba, param) {\n let { width , height } = param;\n const arrayBuffer = await rgbaToArrayBuffer(rgba, {\n width,\n height\n });\n const imageUrl = arrayBufferToImageUrl(arrayBuffer);\n return imageUrl;\n}\nasync function combineColorAndAlphaImageUrls(param) {\n let { colorImageUrl , metallicImageUrl } = param;\n const [{ rgba , width , height }, { rgba: metallicRgba }] = await Promise.all([\n imageUrlToRgba(colorImageUrl),\n imageUrlToRgba(metallicImageUrl)\n ]);\n setAlphaFromGrayscale(rgba, metallicRgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function removeAlphaFromArrayBuffer(arrayBuffer) {\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n setAlphaToMax(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function convertArrayBufferAlphaToGrayscale(arrayBuffer) {\n const { rgba , width , height } = await arrayBufferToRgba(arrayBuffer);\n setGrayscaleFromAlpha(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\nasync function convertGrayscaleImageUrlToMetallicRoughness(imageUrl) {\n const { rgba , width , height } = await imageUrlToRgba(imageUrl);\n setMetallicFromGrayscale(rgba);\n const outputImageUrl = await rgbaToImageUrl(rgba, {\n width,\n height\n });\n return outputImageUrl;\n}\n\n;// CONCATENATED MODULE: ./src/ToolsProvider.tsx\n\n\n\n\n\n\n\n\n\n\n\nconst { publicRuntimeConfig } = config_default()();\nconst { materials } = publicRuntimeConfig;\nfunction lockObject(object) {\n object.lockMovementX = true;\n object.lockMovementY = true;\n object.lockScalingX = true;\n object.lockScalingY = true;\n object.lockRotation = true;\n}\nfunction unlockObject(object) {\n object.lockMovementX = false;\n object.lockMovementY = false;\n object.lockScalingX = false;\n object.lockScalingY = false;\n object.lockRotation = false;\n}\nfunction isActiveSelection(object) {\n return object.type === \"activeSelection\";\n}\nfunction ToolsProvider(param) {\n let { children } = param;\n const { actualModel , selectedModelType } = useWarrior();\n const [selectedMaterialIndex, setSelectedMaterialIndex] = (0,react.useState)(0);\n const materialDefs = materials[actualModel];\n var _materialDefs_selectedMaterialIndex;\n const materialDef = (_materialDefs_selectedMaterialIndex = materialDefs[selectedMaterialIndex]) !== null && _materialDefs_selectedMaterialIndex !== void 0 ? _materialDefs_selectedMaterialIndex : null;\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : [\n 512,\n 512\n ], [\n materialDef\n ]);\n const hasMetallic = !(materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1);\n const [activeCanvasType, setActiveCanvasType] = (0,react.useState)(\"color\");\n if (!hasMetallic && activeCanvasType === \"metallic\") {\n setActiveCanvasType(\"color\");\n }\n const [backgroundColor, setBackgroundColor] = (0,react.useState)(\"magenta\");\n const [lockedObjects, setLockedObjects] = (0,react.useState)(()=>new Set());\n const [brushColor, setBrushColor] = (0,react.useState)(200);\n const [brushSize, setBrushSize] = (0,react.useState)(10);\n const [filterMap, setFilterMap] = (0,react.useState)(()=>new Map());\n const [selectedObjects, setSelectedObjects] = (0,react.useState)(()=>[]);\n const activeCanvas = materialDef ? \"\".concat(materialDef.name, \":\").concat(activeCanvasType) : null;\n const metallicCanvasId = materialDef ? \"\".concat(materialDef.name, \":metallic\") : null;\n const { canvases } = src_useCanvas();\n const { canvas , notifyChange , undo , redo , canUndo , canRedo } = src_useCanvas(activeCanvas);\n const { canvas: metallicCanvas } = src_useCanvas(metallicCanvasId);\n const [isDrawingMode, setDrawingMode] = (0,react.useState)(false);\n const { combineColorAndAlphaImageUrls } = useImageWorker();\n const { canvasPadding } = useSettings();\n const [filterChanges, setFilterChanges] = (0,react.useState)(()=>[]);\n const [layerMode, setLayerMode] = (0,react.useState)(\"BaseLayer\");\n if (selectedObjects.length) {\n if (layerMode !== \"SelectedLayer\") {\n setLayerMode(\"SelectedLayer\");\n }\n } else {\n if (layerMode === \"SelectedLayer\") {\n setLayerMode(\"BaseLayer\");\n }\n }\n const getFilter = (name)=>{\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n var _canvas__objects;\n applyObjects = (_canvas__objects = canvas === null || canvas === void 0 ? void 0 : canvas._objects) !== null && _canvas__objects !== void 0 ? _canvas__objects : [];\n } else if (layerMode === \"BaseLayer\") {\n var _canvas__objects_slice;\n applyObjects = (_canvas__objects_slice = canvas === null || canvas === void 0 ? void 0 : canvas._objects.slice(0, 1)) !== null && _canvas__objects_slice !== void 0 ? _canvas__objects_slice : [];\n }\n if (applyObjects.length) {\n var _filterMap_get, _name;\n const getValue = (i)=>(_name = ((_filterMap_get = filterMap.get(applyObjects[i])) !== null && _filterMap_get !== void 0 ? _filterMap_get : {})[name]) !== null && _name !== void 0 ? _name : 0;\n const firstValue = getValue(0);\n if (applyObjects.slice(1).every((applyObject, i)=>getValue(i + 1) === firstValue)) {\n return firstValue;\n }\n return null;\n } else {\n return 0;\n }\n };\n const hueRotate = getFilter(\"HueRotation\");\n const saturation = getFilter(\"Saturation\");\n const brightness = getFilter(\"Brightness\");\n const setFilter = (0,react.useCallback)((name, value)=>{\n const filterChanges = [];\n const newFilterMap = new Map(filterMap);\n let applyObjects = selectedObjects;\n if (layerMode === \"AllLayers\") {\n var _canvas__objects;\n applyObjects = (_canvas__objects = canvas === null || canvas === void 0 ? void 0 : canvas._objects) !== null && _canvas__objects !== void 0 ? _canvas__objects : [];\n } else if (layerMode === \"BaseLayer\") {\n var _canvas__objects_slice;\n applyObjects = (_canvas__objects_slice = canvas === null || canvas === void 0 ? void 0 : canvas._objects.slice(0, 1)) !== null && _canvas__objects_slice !== void 0 ? _canvas__objects_slice : [];\n }\n for (const applyObject of applyObjects){\n var _filterMap_get;\n const existingFilters = (_filterMap_get = filterMap.get(applyObject)) !== null && _filterMap_get !== void 0 ? _filterMap_get : {};\n const newFilters = {\n ...existingFilters,\n [name]: value\n };\n newFilterMap.set(applyObject, newFilters);\n filterChanges.push([\n applyObject,\n newFilters\n ]);\n }\n setFilterMap(newFilterMap);\n setFilterChanges(filterChanges);\n }, [\n canvas,\n layerMode,\n filterMap,\n selectedObjects\n ]);\n const setHueRotate = (0,react.useCallback)((value)=>setFilter(\"HueRotation\", value), [\n setFilter\n ]);\n const setSaturation = (0,react.useCallback)((value)=>setFilter(\"Saturation\", value), [\n setFilter\n ]);\n const setBrightness = (0,react.useCallback)((value)=>setFilter(\"Brightness\", value), [\n setFilter\n ]);\n (0,react.useEffect)(()=>{\n if (!filterChanges.length) {\n return;\n }\n for (const [selectedObject, newFilters] of filterChanges){\n if (selectedObject instanceof fabric.fabric.Image) {\n selectedObject.filters = [];\n for(const key in newFilters){\n var _newFilters_key;\n const filterValue = (_newFilters_key = newFilters[key]) !== null && _newFilters_key !== void 0 ? _newFilters_key : 0;\n if (filterValue !== 0) {\n switch(key){\n case \"HueRotation\":\n selectedObject.filters.push(// @ts-expect-error @types/fabric does not include HueRotation.\n new fabric.fabric.Image.filters.HueRotation({\n rotation: filterValue\n }));\n break;\n case \"Saturation\":\n selectedObject.filters.push(new fabric.fabric.Image.filters.Saturation({\n saturation: filterValue\n }));\n break;\n case \"Brightness\":\n selectedObject.filters.push(new fabric.fabric.Image.filters.Brightness({\n brightness: filterValue\n }));\n break;\n }\n }\n }\n selectedObject.applyFilters();\n }\n }\n setFilterChanges([]);\n if (notifyChange) {\n notifyChange();\n }\n }, [\n filterChanges,\n notifyChange\n ]);\n const lockSelection = (0,react.useCallback)(()=>{\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects)=>{\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects){\n newLockedObjects.add(selectedObject);\n lockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [\n selectedObjects\n ]);\n const unlockSelection = (0,react.useCallback)(()=>{\n if (selectedObjects.length) {\n setLockedObjects((lockedObjects)=>{\n const newLockedObjects = new Set(lockedObjects);\n for (const selectedObject of selectedObjects){\n newLockedObjects.delete(selectedObject);\n unlockObject(selectedObject);\n }\n return newLockedObjects;\n });\n }\n }, [\n selectedObjects\n ]);\n const bringForward = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n canvas.bringForward(object, true);\n notifyChange();\n }\n }, [\n canvas,\n notifyChange\n ]);\n const sendBackward = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n // Don't allow below base skin.\n if (canvas._objects[0] === object || canvas._objects[1] === object) {\n return;\n }\n canvas.sendBackwards(object, true);\n notifyChange();\n }\n }, [\n canvas,\n notifyChange\n ]);\n const addImages = (0,react.useCallback)(async (imageUrls)=>{\n let lastAddedImage;\n for (const imageUrl of imageUrls){\n const image = await createFabricImage(imageUrl);\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n const widthRatio = image.width / textureSize[0];\n const heightRatio = image.height / textureSize[1];\n if (widthRatio > 1 || heightRatio > 1) {\n let scale;\n if (widthRatio > heightRatio) {\n scale = 1 / widthRatio;\n } else {\n scale = 1 / heightRatio;\n }\n image.scaleX = scale;\n image.scaleY = scale;\n }\n if (activeCanvasType === \"metallic\") {\n if (!image.filters) {\n image.filters = [];\n }\n const grayscaleFilter = new fabric.fabric.Image.filters.Grayscale();\n image.filters.push(grayscaleFilter);\n image.applyFilters();\n }\n setDrawingMode(false);\n canvas.centerObject(image);\n canvas.add(image);\n lastAddedImage = image;\n }\n if (lastAddedImage) {\n canvas.setActiveObject(lastAddedImage);\n }\n }, [\n canvas,\n activeCanvasType,\n textureSize\n ]);\n const duplicate = (0,react.useCallback)(async ()=>{\n const object = canvas.getActiveObject();\n if (object) {\n const copy = await new Promise((resolve)=>object.clone(resolve));\n var _copy_top, _copy_left;\n copy.set({\n top: ((_copy_top = copy.top) !== null && _copy_top !== void 0 ? _copy_top : 0) + 20,\n left: ((_copy_left = copy.left) !== null && _copy_left !== void 0 ? _copy_left : 0) + 20,\n evented: true\n });\n if (isActiveSelection(copy)) {\n copy.canvas = canvas;\n copy.forEachObject((object)=>{\n canvas.add(object);\n });\n copy.setCoords();\n }\n canvas.discardActiveObject();\n canvas.add(copy);\n canvas.setActiveObject(copy);\n }\n }, [\n canvas\n ]);\n const deleteSelection = (0,react.useCallback)(async ()=>{\n const objects = canvas.getActiveObjects();\n canvas.discardActiveObject();\n canvas.remove(...objects);\n canvas.requestRenderAll();\n // forceUpdateRef.current();\n }, [\n canvas\n ]);\n const exportSkin = (0,react.useCallback)(async (param)=>{\n let { format , name =\"\" } = param;\n const { savePngFile , saveZipFile , createZipFile } = await Promise.all(/* import() */[__webpack_require__.e(354), __webpack_require__.e(70)]).then(__webpack_require__.bind(__webpack_require__, 8070));\n name = name.trim() || \"MyCustomSkin\";\n const materialExports = await Promise.all(materialDefs.filter((materialDef)=>materialDef && !materialDef.hidden && materialDef.selectable !== false).map(async (materialDef)=>{\n var _canvases_, _canvases_1;\n const colorCanvas = (_canvases_ = canvases[\"\".concat(materialDef.name, \":color\")]) === null || _canvases_ === void 0 ? void 0 : _canvases_.canvas;\n const metallicCanvas = (_canvases_1 = canvases[\"\".concat(materialDef.name, \":metallic\")]) === null || _canvases_1 === void 0 ? void 0 : _canvases_1.canvas;\n var _materialDef_size;\n const textureSize = (_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : [\n 512,\n 512\n ];\n let outputImageUrl;\n const colorImageUrl = colorCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n if (metallicCanvas) {\n const metallicImageUrl = metallicCanvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n outputImageUrl = await combineColorAndAlphaImageUrls({\n colorImageUrl,\n metallicImageUrl\n });\n } else {\n outputImageUrl = colorImageUrl;\n }\n let filename;\n switch(selectedModelType){\n case \"player\":\n filename = \"\".concat(name, \".\").concat(actualModel, \".png\");\n break;\n case \"weapon\":\n case \"vehicle\":\n if (materialDef) {\n var _materialDef_file;\n filename = \"\".concat((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, \".png\");\n } else if (selectedModelType === \"weapon\") {\n filename = \"weapon_\".concat(actualModel, \".png\");\n } else {\n filename = \"\".concat(actualModel, \".png\");\n }\n }\n return {\n imageUrl: outputImageUrl,\n filename\n };\n }));\n switch(format){\n case \"png\":\n {\n const { imageUrl , filename } = materialExports[selectedMaterialIndex];\n savePngFile(imageUrl, filename);\n break;\n }\n case \"vl2\":\n {\n const files = await Promise.all(materialExports.map(async (materialExport)=>({\n data: await imageUrlToArrayBuffer(materialExport.imageUrl),\n name: materialExport.filename\n })));\n const zip = createZipFile(files);\n const camelCaseName = actualModel.replace(/(?:^([a-z])|_([a-z]))/g, (match, a, b)=>(a || b).toUpperCase());\n let zipFileName = \"\";\n switch(selectedModelType){\n case \"player\":\n zipFileName = \"zPlayerSkin-\".concat(name, \".vl2\");\n break;\n case \"weapon\":\n zipFileName = \"zWeapon\".concat(camelCaseName, \"-\").concat(name, \".vl2\");\n break;\n case \"vehicle\":\n zipFileName = \"z\".concat(camelCaseName, \"-\").concat(name, \".vl2\");\n break;\n }\n await saveZipFile(zip, zipFileName);\n }\n }\n return;\n }, [\n actualModel,\n canvasPadding,\n canvases,\n combineColorAndAlphaImageUrls,\n materialDefs,\n selectedMaterialIndex,\n selectedModelType\n ]);\n const context = (0,react.useMemo)(()=>({\n activeCanvas,\n activeCanvasType,\n setActiveCanvasType,\n backgroundColor,\n setBackgroundColor,\n lockedObjects,\n setLockedObjects,\n brushColor,\n setBrushColor,\n brushSize,\n setBrushSize,\n hueRotate,\n setHueRotate,\n saturation,\n setSaturation,\n brightness,\n setBrightness,\n layerMode,\n setLayerMode,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n setDrawingMode,\n selectedMaterialIndex,\n setSelectedMaterialIndex,\n textureSize,\n hasMetallic\n }), [\n activeCanvas,\n activeCanvasType,\n backgroundColor,\n lockedObjects,\n brushColor,\n brushSize,\n hueRotate,\n saturation,\n brightness,\n layerMode,\n setHueRotate,\n setSaturation,\n setBrightness,\n selectedObjects,\n lockSelection,\n unlockSelection,\n bringForward,\n sendBackward,\n addImages,\n duplicate,\n deleteSelection,\n undo,\n redo,\n canUndo,\n canRedo,\n exportSkin,\n isDrawingMode,\n selectedMaterialIndex,\n textureSize,\n hasMetallic\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n const handleSelectionUpdated = ()=>{\n setSelectedObjects(canvas.getActiveObjects());\n };\n canvas.on(\"selection:cleared\", handleSelectionUpdated);\n canvas.on(\"selection:updated\", handleSelectionUpdated);\n canvas.on(\"selection:created\", handleSelectionUpdated);\n handleSelectionUpdated();\n return ()=>{\n canvas.off(\"selection:cleared\", handleSelectionUpdated);\n canvas.off(\"selection:updated\", handleSelectionUpdated);\n canvas.off(\"selection:created\", handleSelectionUpdated);\n };\n }\n }, [\n canvas\n ]);\n (0,react.useEffect)(()=>{\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.width = brushSize;\n }\n }, [\n metallicCanvas,\n brushSize\n ]);\n (0,react.useEffect)(()=>{\n if (metallicCanvas) {\n metallicCanvas.freeDrawingBrush.color = \"rgb(\".concat(brushColor, \", \").concat(brushColor, \", \").concat(brushColor, \")\");\n }\n }, [\n metallicCanvas,\n brushColor\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ToolsContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasBackdrop.tsx\n\n\n\nfunction CanvasBackdrop() {\n const { backgroundColor , textureSize } = useTools();\n const { canvasPadding } = useSettings();\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasBackdrop\",\n style: {\n backgroundColor,\n top: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n }\n }) : null;\n}\n\n;// CONCATENATED MODULE: ./src/CanvasProvider.tsx\n\n\n\nfunction CanvasProvider(param) {\n let { children } = param;\n const [canvases, setCanvases] = (0,react.useState)({});\n const registerCanvas = (0,react.useCallback)((canvasId, canvasInfo)=>{\n setCanvases((canvases)=>{\n return {\n ...canvases,\n [canvasId]: canvasInfo\n };\n });\n }, []);\n const unregisterCanvas = (0,react.useCallback)((canvasId)=>{\n setCanvases((canvases)=>{\n const { [canvasId]: canvas , ...rest } = canvases;\n return rest;\n });\n }, []);\n const context = (0,react.useMemo)(()=>{\n return {\n canvases,\n registerCanvas,\n unregisterCanvas\n };\n }, [\n canvases,\n registerCanvas,\n unregisterCanvas\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasInteractions.tsx\n\n\n\n\nfunction CanvasInteractions(param) {\n let { children } = param;\n const ref = (0,react.useRef)(null);\n const { activeCanvas , bringForward , sendBackward , duplicate , deleteSelection , addImages , undo , redo } = useTools();\n const { canvas , notifyChange , setDrawingMode } = src_useCanvas(activeCanvas);\n const nudge = async function() {\n let { top =0 , left =0 } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n const objects = canvas.getActiveObjects();\n for (const object of objects){\n var _object_top;\n object.top = ((_object_top = object.top) !== null && _object_top !== void 0 ? _object_top : 0) + top;\n var _object_left;\n object.left = ((_object_left = object.left) !== null && _object_left !== void 0 ? _object_left : 0) + left;\n }\n notifyChange();\n };\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasInteractions\",\n tabIndex: 0,\n ref: ref,\n onDrop: async (event)=>{\n event.preventDefault();\n if (ref.current) {\n ref.current.focus();\n }\n const { items } = event.dataTransfer;\n const images = Array.from(items).filter((item)=>item.kind === \"file\" && item.type.match(/^image\\//));\n const imageUrls = await Promise.all(images.map(async (droppedImageFile)=>{\n const file = droppedImageFile.getAsFile();\n if (!file) {\n throw new Error(\"Not a file.\");\n }\n const reader = new FileReader();\n const imageUrl = await new Promise((resolve, reject)=>{\n reader.onload = async (event)=>{\n if (event.target && typeof event.target.result === \"string\") {\n resolve(event.target.result);\n } else {\n reject(new Error(\"Failed to load image data.\"));\n }\n };\n reader.readAsDataURL(file);\n });\n return imageUrl;\n }).filter(Boolean));\n await addImages(imageUrls);\n },\n onKeyDown: async (event)=>{\n const target = event.target;\n if (target.nodeName === \"INPUT\" || target.nodeName === \"TEXTAREA\") {\n return;\n }\n if (event.ctrlKey || event.metaKey) {\n switch(event.key){\n case \"z\":\n if (event.altKey) {\n return;\n } else if (event.shiftKey) {\n event.preventDefault();\n redo();\n return;\n } else {\n event.preventDefault();\n undo();\n return;\n }\n case \"y\":\n if (event.altKey || event.shiftKey) {\n return;\n } else {\n event.preventDefault();\n redo();\n return;\n }\n }\n }\n if (event.altKey || event.ctrlKey || event.metaKey || event.shiftKey) {\n return;\n }\n switch(event.key){\n case \"Backspace\":\n case \"Delete\":\n {\n event.preventDefault();\n await deleteSelection();\n break;\n }\n case \"ArrowLeft\":\n {\n event.preventDefault();\n await nudge({\n left: -1\n });\n break;\n }\n case \"ArrowRight\":\n {\n event.preventDefault();\n await nudge({\n left: 1\n });\n break;\n }\n case \"ArrowUp\":\n {\n event.preventDefault();\n await nudge({\n top: -1\n });\n break;\n }\n case \"ArrowDown\":\n {\n event.preventDefault();\n await nudge({\n top: 1\n });\n break;\n }\n case \"d\":\n {\n event.preventDefault();\n await duplicate();\n break;\n }\n case \"f\":\n {\n event.preventDefault();\n await bringForward();\n break;\n }\n case \"b\":\n {\n event.preventDefault();\n await sendBackward();\n break;\n }\n case \"p\":\n {\n if (activeCanvas === \"metallic\") {\n event.preventDefault();\n setDrawingMode(true);\n }\n break;\n }\n case \"s\":\n if (activeCanvas === \"color\") {\n event.preventDefault();\n setDrawingMode(false);\n }\n break;\n }\n },\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/CanvasToggle.tsx\n\n\nfunction CanvasToggle() {\n const { activeCanvasType , setActiveCanvasType , hasMetallic } = useTools();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasToggle\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-selected\": activeCanvasType === \"color\" ? \"\" : undefined,\n onClick: ()=>{\n setActiveCanvasType(\"color\");\n },\n children: \"Color\"\n }),\n hasMetallic ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"data-selected\": activeCanvasType === \"metallic\" ? \"\" : undefined,\n onClick: ()=>{\n setActiveCanvasType(\"metallic\");\n },\n children: \"Metallic\"\n }) : null\n ]\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/react-icons/ai/index.esm.js\nvar ai_index_esm = __webpack_require__(8193);\n;// CONCATENATED MODULE: ./src/WarriorSelector.tsx\n\n\n\n\n\n\nconst { publicRuntimeConfig: WarriorSelector_publicRuntimeConfig } = config_default()();\nconst { defaultSkins , customSkins , modelDefaults , materials: WarriorSelector_materials } = WarriorSelector_publicRuntimeConfig;\nfunction WarriorSelector() {\n var _defaultSkins_actualModel, _customSkins_actualModel, _customSkins_actualModel1;\n const { selectedModel , setSelectedModel , selectedModelType , setSelectedModelType , selectedSkin , setSelectedSkin , setSelectedSkinType , actualModel , setSelectedAnimation , setSkinImageUrls , setAnimationPaused } = useWarrior();\n const { selectedMaterialIndex , setSelectedMaterialIndex } = useTools();\n const materialDefs = WarriorSelector_materials[actualModel];\n const materialDef = materialDefs[selectedMaterialIndex];\n const fileInputRef = (0,react.useRef)(null);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Toolbar\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"ModelSelect\",\n children: \"Model\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"ModelSelect\",\n value: selectedModel,\n onChange: (event)=>{\n var _defaultSkins_newSelectedModel, _customSkins_newSelectedModel;\n const parentNode = event.target.selectedOptions[0].parentNode;\n const newSelectedModel = event.target.value;\n const { modelType } = parentNode.dataset;\n if (!modelType) {\n throw new Error(\"No data-model-type found\");\n }\n const newModelHasSkin = ((_defaultSkins_newSelectedModel = defaultSkins[newSelectedModel]) === null || _defaultSkins_newSelectedModel === void 0 ? void 0 : _defaultSkins_newSelectedModel.includes(selectedSkin)) || ((_customSkins_newSelectedModel = customSkins[newSelectedModel]) === null || _customSkins_newSelectedModel === void 0 ? void 0 : _customSkins_newSelectedModel.includes(selectedSkin)) || false;\n // startTransition(() => {\n setSelectedAnimation(null);\n setAnimationPaused(false);\n setSelectedModelType(modelType);\n setSelectedModel(newSelectedModel);\n setSelectedMaterialIndex(0);\n if (!newModelHasSkin) {\n var _modelDefaults_newSelectedModel;\n setSelectedSkin((_modelDefaults_newSelectedModel = modelDefaults[newSelectedModel]) !== null && _modelDefaults_newSelectedModel !== void 0 ? _modelDefaults_newSelectedModel : null);\n setSelectedSkinType(\"default\");\n }\n // });\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Players\",\n \"data-model-type\": \"player\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lmale\",\n children: \"Human Male • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mmale\",\n children: \"Human Male • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hmale\",\n children: \"Human Male • Heavy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lfemale\",\n children: \"Human Female • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mfemale\",\n children: \"Human Female • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hfemale\",\n children: \"Human Female • Heavy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lbioderm\",\n children: \"Bioderm • Light\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mbioderm\",\n children: \"Bioderm • Medium\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hbioderm\",\n children: \"Bioderm • Heavy\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Weapons\",\n \"data-model-type\": \"weapon\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"disc\",\n children: \"Disc Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"chaingun\",\n children: \"Chaingun\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"grenade_launcher\",\n children: \"Grenade Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"sniper\",\n children: \"Laser Rifle\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"plasmathrower\",\n children: \"Plasma Cannon\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"energy\",\n children: \"Blaster\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"shocklance\",\n children: \"Shocklance\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"elf\",\n children: \"ELF Projector\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"missile\",\n children: \"Missile Launcher\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"mortar\",\n children: \"Mortar\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"repair\",\n children: \"Repair Pack\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"targeting\",\n children: \"Targeting Laser\"\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"optgroup\", {\n label: \"Vehicles\",\n \"data-model-type\": \"vehicle\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_air_scout\",\n children: \"Shrike\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_grav_scout\",\n children: \"Wildcat\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"vehicle_land_mpbbase\",\n children: \"MPB\"\n })\n ]\n })\n ]\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Field\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"SkinSelect\",\n children: \"Skin\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"SkinSelect\",\n value: selectedSkin !== null && selectedSkin !== void 0 ? selectedSkin : \"\",\n onChange: async (event)=>{\n const parentNode = event.target.selectedOptions[0].parentNode;\n var _parentNode_dataset_skinType;\n const skinType = event.target.value ? (_parentNode_dataset_skinType = parentNode.dataset.skinType) !== null && _parentNode_dataset_skinType !== void 0 ? _parentNode_dataset_skinType : null : null;\n setSelectedSkin(event.target.value || null);\n setSelectedSkinType(skinType);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"Select a skin…\"\n }),\n selectedModelType === \"player\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Default Skins\",\n \"data-skin-type\": \"default\",\n children: (_defaultSkins_actualModel = defaultSkins[actualModel]) === null || _defaultSkins_actualModel === void 0 ? void 0 : _defaultSkins_actualModel.map((name)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name);\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Custom Skins\",\n \"data-skin-type\": \"custom\",\n children: (_customSkins_actualModel = customSkins[actualModel]) === null || _customSkins_actualModel === void 0 ? void 0 : _customSkins_actualModel.map((name)=>{\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name);\n })\n })\n ]\n }) : null,\n selectedModelType === \"weapon\" || selectedModelType === \"vehicle\" ? /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n modelDefaults[actualModel] ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Default Skins\",\n \"data-skin-type\": \"default\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: modelDefaults[actualModel],\n children: \"Default\"\n })\n }) : null,\n ((_customSkins_actualModel1 = customSkins[actualModel]) === null || _customSkins_actualModel1 === void 0 ? void 0 : _customSkins_actualModel1.length) ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"optgroup\", {\n label: \"Custom Skins\",\n \"data-skin-type\": \"custom\",\n children: customSkins[actualModel].map((name)=>/*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: name,\n children: name\n }, name))\n }) : null\n ]\n }) : null\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n \"aria-label\": \"Load Skin\",\n title: \"Load a Skin\",\n onClick: ()=>{\n if (fileInputRef.current) {\n fileInputRef.current.click();\n }\n },\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ai_index_esm/* AiTwotoneFolderOpen */.FjK, {\n style: {\n fontSize: 18\n }\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n ref: fileInputRef,\n onChange: async (event)=>{\n const imageUrl = await new Promise((resolve, reject)=>{\n var _event_target_files;\n const inputFile = (_event_target_files = event.target.files) === null || _event_target_files === void 0 ? void 0 : _event_target_files[0];\n if (inputFile) {\n const reader = new FileReader();\n reader.addEventListener(\"load\", (event)=>{\n var _event_target;\n resolve((_event_target = event.target) === null || _event_target === void 0 ? void 0 : _event_target.result);\n });\n reader.readAsDataURL(inputFile);\n } else {\n reject(new Error(\"No input file provided.\"));\n }\n });\n setSelectedSkin(null);\n var _materialDef_file;\n setSkinImageUrls({\n [(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name]: imageUrl\n });\n },\n type: \"file\",\n accept: \".png, image/png\",\n hidden: true\n })\n ]\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/WarriorProvider.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: WarriorProvider_publicRuntimeConfig } = config_default()();\nconst { materials: WarriorProvider_materials , modelDefaults: WarriorProvider_modelDefaults } = WarriorProvider_publicRuntimeConfig;\nconst baseSkinPath = \"https://exogen.github.io/t2-skins/skins\";\nfunction getSkinImageUrls(param) {\n let { basePath , actualModel , selectedModelType , selectedSkin , selectedSkinType } = param;\n const materialDefs = WarriorProvider_materials[actualModel];\n switch(selectedModelType){\n case \"player\":\n switch(selectedSkinType){\n case \"default\":\n return {\n base: \"\".concat(basePath, \"/textures/\").concat(selectedSkin, \".\").concat(actualModel, \".png\")\n };\n case \"custom\":\n return {\n base: \"\".concat(baseSkinPath, \"/\").concat(selectedSkin, \".\").concat(actualModel, \".png\")\n };\n }\n break;\n case \"weapon\":\n case \"vehicle\":\n return materialDefs.reduce((skinImageUrls, materialDef)=>{\n if (materialDef) {\n switch(selectedSkinType){\n case \"default\":\n if (materialDef.hasDefault !== false) {\n var _materialDef_file, _materialDef_file1;\n skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name] = \"\".concat(basePath, \"/textures/\").concat((_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name, \".png\");\n }\n break;\n case \"custom\":\n var _materialDef_file2, _materialDef_file3;\n skinImageUrls[(_materialDef_file2 = materialDef.file) !== null && _materialDef_file2 !== void 0 ? _materialDef_file2 : materialDef.name] = \"\".concat(baseSkinPath, \"/\").concat(selectedSkin, \"/\").concat((_materialDef_file3 = materialDef.file) !== null && _materialDef_file3 !== void 0 ? _materialDef_file3 : materialDef.name, \".png\");\n break;\n }\n }\n return skinImageUrls;\n }, {});\n }\n return {};\n}\nfunction getModelUrl(basePath, actualModel, selectedAnimation) {\n switch(actualModel){\n default:\n return \"\".concat(basePath, \"/\").concat(actualModel).concat(selectedAnimation ? \".anim\" : \"\", \".glb\");\n }\n}\nfunction WarriorProvider(param) {\n let { children } = param;\n const [selectedModel, setSelectedModel] = (0,react.useState)(\"lmale\");\n const [selectedModelType, setSelectedModelType] = (0,react.useState)(\"player\");\n const [selectedSkin, setSelectedSkin] = (0,react.useState)(\"Blood Eagle\");\n const [selectedSkinType, setSelectedSkinType] = (0,react.useState)(\"default\");\n const [selectedAnimation, setSelectedAnimation] = (0,react.useState)(null);\n const [animationPaused, setAnimationPaused] = (0,react.useState)(false);\n const { basePath } = useSettings();\n const actualModel = selectedModel === \"hfemale\" ? \"hmale\" : selectedModel;\n const selectedModelUrl = getModelUrl(basePath, actualModel, selectedAnimation);\n const [skinImageUrls, setSkinImageUrls] = (0,react.useState)(()=>getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n }));\n const defaultSkinImageUrls = (0,react.useMemo)(()=>getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin: WarriorProvider_modelDefaults[actualModel],\n selectedSkinType: \"default\"\n }), [\n actualModel,\n basePath,\n selectedModelType\n ]);\n const context = (0,react.useMemo)(()=>{\n return {\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls\n };\n }, [\n selectedModel,\n setSelectedModel,\n selectedModelType,\n setSelectedModelType,\n actualModel,\n selectedModelUrl,\n animationPaused,\n setAnimationPaused,\n selectedSkin,\n setSelectedSkin,\n selectedSkinType,\n setSelectedSkinType,\n selectedAnimation,\n setSelectedAnimation,\n skinImageUrls,\n setSkinImageUrls,\n defaultSkinImageUrls\n ]);\n (0,react.useEffect)(()=>{\n if (selectedSkin) {\n setSkinImageUrls(getSkinImageUrls({\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n }));\n }\n }, [\n basePath,\n actualModel,\n selectedModelType,\n selectedSkin,\n selectedSkinType\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorContext.Provider, {\n value: context,\n children: children\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/next/dynamic.js\nvar dynamic = __webpack_require__(5152);\nvar dynamic_default = /*#__PURE__*/__webpack_require__.n(dynamic);\n;// CONCATENATED MODULE: ./src/useEnvironment.ts\n\nconst EnvironmentContext = react.createContext(null);\nEnvironmentContext.displayName = \"EnvironmentContext\";\n\nfunction useEnvironment() {\n const context = (0,react.useContext)(EnvironmentContext);\n if (!context) {\n throw new Error(\"No EnvironmentContext.Provider\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/useSkin.ts\n\nconst SkinContext = react.createContext(null);\nSkinContext.displayName = \"SkinContext\";\n\nfunction useSkin() {\n const context = (0,react.useContext)(SkinContext);\n if (!context) {\n throw new Error(\"No SkinContext.Provider\");\n }\n return context;\n}\n\n// EXTERNAL MODULE: ./src/useModelViewer.ts\nvar useModelViewer = __webpack_require__(8496);\n;// CONCATENATED MODULE: ./src/Material.tsx\n\n\n\n\nfunction useTexture(param) {\n let { material , materialDef , textureType , imageUrl } = param;\n const { modelViewer } = (0,useModelViewer/* default */.Z)();\n const { basePath } = useSettings();\n (0,react.useEffect)(()=>{\n let stale = false;\n const updateTexture = async ()=>{\n if (!materialDef || materialDef.hidden) {\n if (textureType === \"metallicRoughnessTexture\") {\n return;\n } else {\n material.setAlphaMode(\"BLEND\");\n material.pbrMetallicRoughness.setBaseColorFactor([\n 0,\n 0,\n 0,\n 0\n ]);\n }\n } else {\n const { alphaMode , alphaCutoff , baseColorFactor , emissiveFactor , emissiveTexture =false , metallicFactor =1 , roughnessFactor =1 } = materialDef;\n let textureUrl = imageUrl !== null && imageUrl !== void 0 ? imageUrl : \"\".concat(basePath, \"/white.png\");\n switch(textureType){\n case \"baseColorTexture\":\n if (baseColorFactor) {\n material.pbrMetallicRoughness.setBaseColorFactor(baseColorFactor);\n }\n if (alphaMode) {\n material.setAlphaMode(alphaMode);\n }\n if (alphaCutoff) {\n material.setAlphaCutoff(alphaCutoff);\n }\n if (emissiveFactor) {\n material.setEmissiveFactor(emissiveFactor);\n }\n break;\n case \"metallicRoughnessTexture\":\n material.pbrMetallicRoughness.setMetallicFactor(metallicFactor);\n material.pbrMetallicRoughness.setRoughnessFactor(roughnessFactor);\n if (metallicFactor === 0 && roughnessFactor === 1) {\n textureUrl = \"\".concat(basePath, \"/green.png\");\n }\n }\n const texture = await modelViewer.createTexture(textureUrl);\n if (!stale) {\n material.pbrMetallicRoughness[textureType].setTexture(texture);\n if (textureType === \"baseColorTexture\" && emissiveTexture) {\n material.emissiveTexture.setTexture(texture);\n }\n }\n }\n };\n updateTexture();\n return ()=>{\n stale = true;\n };\n }, [\n basePath,\n modelViewer,\n material,\n materialDef,\n textureType,\n imageUrl\n ]);\n}\nfunction Material(param) {\n let { material , materialDef } = param;\n const { getSkinImages } = useSkin();\n var _materialDef_file, _getSkinImages;\n const { colorImageUrl , metallicImageUrl } = (_getSkinImages = getSkinImages((_materialDef_file = materialDef === null || materialDef === void 0 ? void 0 : materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : material.name)) !== null && _getSkinImages !== void 0 ? _getSkinImages : {};\n useTexture({\n material,\n materialDef,\n textureType: \"baseColorTexture\",\n imageUrl: colorImageUrl\n });\n useTexture({\n material,\n materialDef,\n textureType: \"metallicRoughnessTexture\",\n imageUrl: metallicImageUrl\n });\n return null;\n}\n\n;// CONCATENATED MODULE: ./src/Materials.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: Materials_publicRuntimeConfig } = config_default()();\nconst { materials: Materials_materials } = Materials_publicRuntimeConfig;\nfunction Materials() {\n const { actualModel } = useWarrior();\n const { model } = (0,useModelViewer/* default */.Z)();\n const materialDefs = Materials_materials[actualModel];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {\n children: model.materials.map((material, i)=>{\n var _materialDefs_find;\n const materialDef = (_materialDefs_find = materialDefs.find((materialDef)=>materialDef.index === i)) !== null && _materialDefs_find !== void 0 ? _materialDefs_find : materialDefs[i];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(Material, {\n material: material,\n materialDef: materialDef\n }, material.name);\n })\n });\n}\n\n;// CONCATENATED MODULE: ./src/WarriorViewer.tsx\n\n\n\n\n\n\nconst ModelViewer = dynamic_default()(()=>Promise.all(/* import() */[__webpack_require__.e(737), __webpack_require__.e(258), __webpack_require__.e(990)]).then(__webpack_require__.bind(__webpack_require__, 85)), {\n loadableGenerated: {\n webpack: ()=>[\n /*require.resolve*/(85)\n ]\n },\n ssr: false\n});\nconst { publicRuntimeConfig: WarriorViewer_publicRuntimeConfig } = config_default()();\nconst { cameraOverrides } = WarriorViewer_publicRuntimeConfig;\nfunction WarriorViewer() {\n var _cameraOverrides_selectedModel, _cameraOverrides_selectedModel1;\n const { selectedModel , selectedModelUrl , selectedModelType , selectedAnimation , animationPaused } = useWarrior();\n const { environmentImageUrl , showEnvironment , exposure } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ModelViewer, {\n modelUrl: selectedModelUrl,\n environmentImageUrl: environmentImageUrl,\n showEnvironment: showEnvironment,\n animationName: selectedAnimation,\n animationPaused: animationPaused,\n cameraOrbit: selectedModelType === \"weapon\" ? \"315deg 70deg 105%\" : undefined,\n cameraTarget: (_cameraOverrides_selectedModel = cameraOverrides[selectedModel]) === null || _cameraOverrides_selectedModel === void 0 ? void 0 : _cameraOverrides_selectedModel.target,\n fieldOfView: (_cameraOverrides_selectedModel1 = cameraOverrides[selectedModel]) === null || _cameraOverrides_selectedModel1 === void 0 ? void 0 : _cameraOverrides_selectedModel1.fov,\n exposure: exposure,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(Materials, {})\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentSelector.tsx\n\n\nfunction EnvironmentSelector() {\n const { selectedEnvironment , setSelectedEnvironment } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"EnvMapSelect\",\n children: \"Environment\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n id: \"EnvMapSelect\",\n value: selectedEnvironment !== null && selectedEnvironment !== void 0 ? selectedEnvironment : \"\",\n onChange: (event)=>{\n setSelectedEnvironment(event.target.value || null);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"Default\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"clarens_night_02_1k.hdr\",\n children: \"Clarens Night\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"dry_cracked_lake_1k.hdr\",\n children: \"Dry Cracked Lake\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"fouriesburg_mountain_midday_1k.hdr\",\n children: \"Fouriesburg Mountain\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"goegap_1k.hdr\",\n children: \"Goegap\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"hilly_terrain_01_1k.hdr\",\n children: \"Hilly Terrain\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"kloofendal_48d_partly_cloudy_puresky_1k.hdr\",\n children: \"Kloofendal Partly Cloudy\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"kloppenheim_06_puresky_1k.hdr\",\n children: \"Kloppenheim\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"lilienstein_1k.hdr\",\n children: \"Lilienstein\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"spruit_sunrise_1k_HDR.hdr\",\n children: \"Spruit Sunrise\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"umhlanga_sunrise_1k.hdr\",\n children: \"Umhlanga Sunrise\"\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentExposure.tsx\n\n\n\nfunction EnvironmentExposure() {\n const { exposure , setExposure } = useEnvironment();\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n htmlFor: \"EnvExposure\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(im_index_esm/* ImBrightnessContrast */.MXq, {\n size: 16\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"input\", {\n \"aria-label\": \"Exposure\",\n id: \"EnvExposure\",\n type: \"range\",\n min: 0.2,\n max: 2.2,\n step: 0.1,\n value: exposure,\n onChange: (event)=>{\n setExposure(parseFloat(event.target.value));\n }\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/AnimationSelector.tsx\n\n\n\n\n\nconst { publicRuntimeConfig: AnimationSelector_publicRuntimeConfig } = config_default()();\nconst { animations , animationLabels , animationLabelOverrides } = AnimationSelector_publicRuntimeConfig;\nfunction AnimationSelector() {\n const { actualModel , selectedModelType , selectedAnimation , setSelectedAnimation , animationPaused , setAnimationPaused } = useWarrior();\n var _animations_actualModel;\n const animationList = (0,react.useMemo)(()=>[\n ...selectedModelType === \"player\" ? animations.global : [],\n ...(_animations_actualModel = animations[actualModel]) !== null && _animations_actualModel !== void 0 ? _animations_actualModel : []\n ], [\n actualModel,\n selectedModelType\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"label\", {\n children: \"Animation\"\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Buttons\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"select\", {\n value: selectedAnimation !== null && selectedAnimation !== void 0 ? selectedAnimation : \"\",\n onChange: (event)=>{\n setSelectedAnimation(event.target.value || null);\n setAnimationPaused(false);\n },\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: \"\",\n children: \"None\"\n }),\n animationList.map((animationName)=>{\n var _animationLabelOverrides_actualModel;\n var _animationLabelOverrides_actualModel_animationName;\n const label = (_animationLabelOverrides_actualModel_animationName = (_animationLabelOverrides_actualModel = animationLabelOverrides[actualModel]) === null || _animationLabelOverrides_actualModel === void 0 ? void 0 : _animationLabelOverrides_actualModel[animationName]) !== null && _animationLabelOverrides_actualModel_animationName !== void 0 ? _animationLabelOverrides_actualModel_animationName : animationLabels[animationName];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: animationName,\n children: label !== null && label !== void 0 ? label : animationName\n }, animationName);\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"button\", {\n type: \"button\",\n disabled: !selectedAnimation,\n onClick: ()=>{\n setAnimationPaused((animationPaused)=>!animationPaused);\n },\n children: animationPaused || !selectedAnimation ? /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdPlay */.v$e, {}) : /*#__PURE__*/ (0,jsx_runtime.jsx)(io_index_esm/* IoMdPause */.IWN, {})\n })\n ]\n })\n ]\n });\n}\n\n;// CONCATENATED MODULE: ./src/EnvironmentProvider.tsx\n\n\n\n\nfunction EnvironmentProvider(param) {\n let { children } = param;\n const [selectedEnvironment, setSelectedEnvironment] = (0,react.useState)(null);\n const [showEnvironment, setShowEnvironment] = (0,react.useState)(false);\n const [exposure, setExposure] = (0,react.useState)(1);\n const { basePath } = useSettings();\n const context = (0,react.useMemo)(()=>{\n const environmentImageUrl = selectedEnvironment ? \"\".concat(basePath, \"/\").concat(selectedEnvironment) : null;\n return {\n selectedEnvironment,\n setSelectedEnvironment,\n showEnvironment,\n setShowEnvironment,\n exposure,\n setExposure,\n environmentImageUrl\n };\n }, [\n basePath,\n selectedEnvironment,\n showEnvironment,\n exposure\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/SkinProvider.tsx\n\n\n\nfunction SkinProvider(param) {\n let { children } = param;\n const [materialSkins, setMaterialSkins] = (0,react.useState)({});\n const setters = (0,react.useMemo)(()=>({\n setSkinImages (materialFile, skinImages) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: skinImages\n };\n });\n },\n setColorImageUrl (materialFile, colorImageUrl) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n colorImageUrl\n }\n };\n });\n },\n setMetallicImageUrl (materialFile, metallicImageUrl) {\n setMaterialSkins((materialSkins)=>{\n return {\n ...materialSkins,\n [materialFile]: {\n ...materialSkins[materialFile],\n metallicImageUrl\n }\n };\n });\n }\n }), []);\n const context = (0,react.useMemo)(()=>{\n return {\n materialSkins,\n getSkinImages (materialFile) {\n return materialSkins[materialFile];\n },\n getColorImageUrl (materialFile) {\n return materialSkins[materialFile].colorImageUrl;\n },\n getMetallicImageUrl (materialFile) {\n return materialSkins[materialFile].metallicImageUrl;\n },\n ...setters\n };\n }, [\n materialSkins,\n setters\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(SkinContext.Provider, {\n value: context,\n children: children\n });\n}\n\n;// CONCATENATED MODULE: ./src/MaterialSelector.tsx\n\n\n\n\nconst { publicRuntimeConfig: MaterialSelector_publicRuntimeConfig } = config_default()();\nconst { materials: MaterialSelector_materials } = MaterialSelector_publicRuntimeConfig;\nfunction MaterialSelector() {\n const { actualModel } = useWarrior();\n const { selectedMaterialIndex , setSelectedMaterialIndex } = useTools();\n const materialDefs = MaterialSelector_materials[actualModel];\n var _materialDef_label;\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"select\", {\n value: selectedMaterialIndex,\n onChange: (event)=>{\n setSelectedMaterialIndex(parseInt(event.target.value, 10));\n },\n children: materialDefs.map((materialDef, i)=>materialDef && !materialDef.hidden && materialDef.selectable !== false ? /*#__PURE__*/ (0,jsx_runtime.jsx)(\"option\", {\n value: i,\n children: (_materialDef_label = materialDef.label) !== null && _materialDef_label !== void 0 ? _materialDef_label : materialDef.name\n }, materialDef.name) : null)\n });\n}\n\n;// CONCATENATED MODULE: ./src/Canvas.tsx\n\n\n\n\n\n\n\nfunction updateObjectControlOptions() {\n fabric.fabric.Object.prototype.set({\n transparentCorners: false,\n borderColor: \"#8afff1\",\n cornerSize: 9,\n cornerStyle: \"circle\",\n cornerColor: \"#8afff1\",\n cornerStrokeColor: \"#1c9f7c\",\n strokeWidth: 10,\n perPixelTargetFind: true\n });\n}\nfunction Canvas(param) {\n let { canvasId , onChange , baseImageUrl , textureSize , defaultDrawingMode =false } = param;\n const canvasElementRef = (0,react.useRef)(null);\n const [canvas, setCanvas] = (0,react.useState)(null);\n const { activeCanvas } = useTools();\n const { canvasPadding } = useSettings();\n const { registerCanvas , unregisterCanvas } = src_useCanvas();\n const [isDrawingMode, setDrawingMode] = (0,react.useState)(defaultDrawingMode);\n const handleChangeRef = (0,react.useRef)();\n const trackChanges = (0,react.useRef)(true);\n const [undoHistory, setUndoHistory] = (0,react.useState)(()=>[]);\n const [redoHistory, setRedoHistory] = (0,react.useState)(()=>[]);\n const canUndo = undoHistory.length > 1;\n const canRedo = redoHistory.length > 0;\n const handleChange = (0,react.useCallback)((canvas)=>{\n const handleChange = handleChangeRef.current;\n if (handleChange) {\n handleChange(canvas);\n }\n }, []);\n const undo = (0,react.useCallback)(async ()=>{\n if (!canvas) {\n return;\n }\n if (undoHistory.length > 1) {\n const [restoreState, currentState] = undoHistory.slice(-2);\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(restoreState, ()=>{\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory)=>undoHistory.slice(0, -1));\n setRedoHistory((redoHistory)=>[\n currentState,\n ...redoHistory\n ]);\n }\n }, [\n canvas,\n undoHistory\n ]);\n const redo = (0,react.useCallback)(()=>{\n if (!canvas) {\n return;\n }\n if (redoHistory.length > 0) {\n const nextState = redoHistory[0];\n trackChanges.current = false;\n canvas.renderOnAddRemove = false;\n canvas.clear();\n canvas.loadFromJSON(nextState, ()=>{\n canvas.renderAll();\n trackChanges.current = true;\n canvas.renderOnAddRemove = true;\n });\n setUndoHistory((undoHistory)=>[\n ...undoHistory,\n nextState\n ]);\n setRedoHistory((redoHistory)=>redoHistory.slice(1));\n }\n }, [\n canvas,\n redoHistory\n ]);\n (0,react.useEffect)(()=>{\n handleChangeRef.current = onChange;\n }, [\n onChange\n ]);\n const isActive = activeCanvas === canvasId;\n (0,react.useEffect)(()=>{\n const options = {\n preserveObjectStacking: true,\n targetFindTolerance: 2\n };\n updateObjectControlOptions();\n const canvas = new fabric.fabric.Canvas(canvasElementRef.current, options);\n let isSnapshotting = false;\n let changeTimer;\n const handleChangeWithCanvasArg = ()=>{\n handleChange(canvas);\n };\n const handleRender = ()=>{\n if (isSnapshotting) {\n return;\n }\n if (!trackChanges.current) {\n return;\n }\n clearTimeout(changeTimer);\n changeTimer = setTimeout(()=>{\n const snapshot = snapshotCanvas();\n setUndoHistory((history)=>[\n ...history.slice(-5),\n snapshot\n ]);\n setRedoHistory([]);\n }, 150);\n };\n const snapshotCanvas = ()=>{\n isSnapshotting = true;\n const snapshot = canvas.toJSON([\n \"lockMovementX\",\n \"lockMovementY\",\n \"lockRotation\",\n \"lockScalingX\",\n \"lockScalingY\",\n \"selectable\",\n \"hoverCursor\",\n \"moveCursor\"\n ]);\n isSnapshotting = false;\n return snapshot;\n };\n canvas.on(\"object:modified\", handleChangeWithCanvasArg);\n canvas.on(\"object:added\", handleChangeWithCanvasArg);\n canvas.on(\"object:removed\", handleChangeWithCanvasArg);\n canvas.on(\"after:render\", handleRender);\n setCanvas(canvas);\n return ()=>{\n clearTimeout(changeTimer);\n setCanvas(null);\n canvas.dispose();\n };\n }, [\n handleChange\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n canvas.isDrawingMode = isDrawingMode;\n }\n }, [\n canvas,\n isDrawingMode\n ]);\n (0,react.useEffect)(()=>{\n if (canvas && isActive) {\n canvas.calcOffset();\n }\n }, [\n canvas,\n isActive\n ]);\n (0,react.useEffect)(()=>{\n if (canvas) {\n registerCanvas(canvasId, {\n canvas,\n notifyChange: ()=>{\n canvas.renderAll();\n handleChange(canvas);\n },\n undo,\n redo,\n canUndo,\n canRedo,\n isDrawingMode,\n setDrawingMode\n });\n return ()=>{\n unregisterCanvas(canvasId);\n };\n }\n }, [\n canvas,\n registerCanvas,\n unregisterCanvas,\n canvasId,\n handleChange,\n isDrawingMode,\n setDrawingMode,\n undo,\n redo,\n canUndo,\n canRedo\n ]);\n (0,react.useEffect)(()=>{\n if (canvas && textureSize) {\n trackChanges.current = false;\n canvas.clear();\n if (baseImageUrl) {\n let stale = false;\n const addImage = async ()=>{\n const image = await createFabricImage(baseImageUrl);\n if (!stale) {\n if (!image.width || !image.height) {\n throw new Error(\"Zero-height image\");\n }\n image.selectable = false;\n image.lockMovementX = true;\n image.lockMovementY = true;\n image.lockScalingX = true;\n image.lockScalingY = true;\n image.lockRotation = true;\n image.hoverCursor = \"default\";\n image.moveCursor = \"default\";\n const [expectedWidth, expectedHeight] = textureSize;\n const scaleX = image.width === expectedWidth ? 1 : expectedWidth / image.width;\n const scaleY = image.height === expectedHeight ? 1 : expectedHeight / image.height;\n if (scaleX !== 1 || scaleY !== 1) {\n image.scaleX = scaleX;\n image.scaleY = scaleY;\n }\n canvas.centerObject(image);\n canvas.add(image);\n }\n trackChanges.current = true;\n canvas.requestRenderAll();\n };\n addImage();\n return ()=>{\n stale = true;\n };\n }\n }\n }, [\n canvas,\n baseImageUrl,\n textureSize\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"CanvasContainer\",\n \"data-active\": isActive ? \"true\" : \"false\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"canvas\", {\n width: textureSize[0] + canvasPadding * 2,\n height: textureSize[1] + canvasPadding * 2,\n ref: canvasElementRef\n })\n });\n}\n\n;// CONCATENATED MODULE: ./src/useImageLoader.ts\n\nconst ImageLoaderContext = react.createContext(null);\nImageLoaderContext.displayName = \"ImageLoaderContext\";\nfunction useImageLoader() {\n const context = (0,react.useContext)(ImageLoaderContext);\n if (!context) {\n throw new Error(\"ImageLoaderContext.Provider not found!\");\n }\n return context;\n}\n\n;// CONCATENATED MODULE: ./src/ColorCanvas.tsx\n\n\n\n\n\n\n\n\nconst defaultTextureSize = [\n 512,\n 512\n];\nfunction ColorCanvas(param) {\n let { materialDef } = param;\n const { skinImageUrls , defaultSkinImageUrls } = useWarrior();\n var _materialDef_file;\n const skinImageUrl = skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name];\n var _materialDef_file1;\n const defaultSkinImageUrl = defaultSkinImageUrls[(_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name];\n const { setColorImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [noAlphaImageUrl, setNoAlphaImageUrl] = (0,react.useState)(null);\n const { removeAlphaFromArrayBuffer } = useImageWorker();\n const { loadImage } = useImageLoader();\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : defaultTextureSize, [\n materialDef\n ]);\n const handleChange = (0,react.useCallback)(async (canvas)=>{\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n var _materialDef_file;\n setColorImageUrl((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, imageUrl);\n }, [\n textureSize,\n canvasPadding,\n setColorImageUrl,\n materialDef\n ]);\n (0,react.useEffect)(()=>{\n if (skinImageUrl) {\n let stale = false;\n const generateImageUrl = async ()=>{\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await removeAlphaFromArrayBuffer(arrayBuffer);\n if (!stale) {\n setNoAlphaImageUrl(outputImageUrl);\n }\n };\n generateImageUrl();\n return ()=>{\n stale = true;\n };\n } else {\n setNoAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n removeAlphaFromArrayBuffer,\n loadImage\n ]);\n const canvasId = \"\".concat(materialDef.name, \":color\");\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Canvas, {\n canvasId: canvasId,\n canvasType: \"color\",\n onChange: handleChange,\n baseImageUrl: noAlphaImageUrl,\n textureSize: textureSize\n }, canvasId) : null;\n}\n\n;// CONCATENATED MODULE: ./src/MetallicCanvas.tsx\n\n\n\n\n\n\n\n\nconst MetallicCanvas_defaultTextureSize = [\n 512,\n 512\n];\nfunction MetallicCanvas(param) {\n let { materialDef } = param;\n const { skinImageUrls , defaultSkinImageUrls } = useWarrior();\n var _materialDef_file;\n const skinImageUrl = skinImageUrls[(_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name];\n var _materialDef_file1;\n const defaultSkinImageUrl = defaultSkinImageUrls[(_materialDef_file1 = materialDef.file) !== null && _materialDef_file1 !== void 0 ? _materialDef_file1 : materialDef.name];\n const { setMetallicImageUrl } = useSkin();\n const { canvasPadding } = useSettings();\n const [alphaImageUrl, setAlphaImageUrl] = (0,react.useState)(null);\n const runningChangeHandlers = (0,react.useRef)(0);\n const { convertGrayscaleImageUrlToMetallicRoughness , convertArrayBufferAlphaToGrayscale } = useImageWorker();\n const { loadImage } = useImageLoader();\n var _materialDef_size;\n const textureSize = (0,react.useMemo)(()=>(_materialDef_size = materialDef.size) !== null && _materialDef_size !== void 0 ? _materialDef_size : MetallicCanvas_defaultTextureSize, [\n materialDef\n ]);\n const handleChange = (0,react.useCallback)(async (canvas)=>{\n runningChangeHandlers.current += 1;\n const imageUrl = canvas.toDataURL({\n top: canvasPadding,\n left: canvasPadding,\n width: textureSize[0],\n height: textureSize[1]\n });\n let outputImageUrl;\n try {\n outputImageUrl = await convertGrayscaleImageUrlToMetallicRoughness(imageUrl);\n } finally{\n runningChangeHandlers.current -= 1;\n }\n if (runningChangeHandlers.current === 0) {\n var _materialDef_file;\n setMetallicImageUrl((_materialDef_file = materialDef.file) !== null && _materialDef_file !== void 0 ? _materialDef_file : materialDef.name, outputImageUrl);\n }\n }, [\n textureSize,\n canvasPadding,\n setMetallicImageUrl,\n convertGrayscaleImageUrlToMetallicRoughness,\n materialDef\n ]);\n (0,react.useEffect)(()=>{\n if (skinImageUrl) {\n let stale = false;\n const generateImageUrl = async ()=>{\n let arrayBuffer;\n try {\n arrayBuffer = await loadImage(skinImageUrl);\n } catch (err) {\n if (materialDef.hasDefault !== false) {\n arrayBuffer = await loadImage(defaultSkinImageUrl);\n } else {\n return;\n }\n }\n const outputImageUrl = await convertArrayBufferAlphaToGrayscale(arrayBuffer);\n if (!stale) {\n setAlphaImageUrl(outputImageUrl);\n }\n };\n generateImageUrl();\n return ()=>{\n stale = true;\n };\n } else {\n setAlphaImageUrl(null);\n }\n }, [\n materialDef,\n skinImageUrl,\n defaultSkinImageUrl,\n textureSize,\n convertArrayBufferAlphaToGrayscale,\n loadImage\n ]);\n const canvasId = \"\".concat(materialDef.name, \":metallic\");\n return textureSize ? /*#__PURE__*/ (0,jsx_runtime.jsx)(Canvas, {\n canvasId: canvasId,\n canvasType: \"metallic\",\n onChange: handleChange,\n baseImageUrl: alphaImageUrl,\n textureSize: textureSize,\n defaultDrawingMode: true\n }, canvasId) : null;\n}\n\n;// CONCATENATED MODULE: ./src/MaterialCanvases.tsx\n\n\n\n\n\n\nconst { publicRuntimeConfig: MaterialCanvases_publicRuntimeConfig } = config_default()();\nconst { materials: MaterialCanvases_materials } = MaterialCanvases_publicRuntimeConfig;\nfunction MaterialCanvases() {\n const { actualModel } = useWarrior();\n const materialDefs = MaterialCanvases_materials[actualModel];\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(jsx_runtime.Fragment, {\n children: materialDefs.map((materialDef)=>{\n if (!materialDef) {\n return null;\n }\n const hasMetallic = !(materialDef.metallicFactor === 0 && materialDef.roughnessFactor === 1);\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(react.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(ColorCanvas, {\n materialDef: materialDef\n }),\n hasMetallic ? /*#__PURE__*/ (0,jsx_runtime.jsx)(MetallicCanvas, {\n materialDef: materialDef\n }) : null\n ]\n }, \"\".concat(actualModel, \"-\").concat(materialDef.name));\n })\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/@tanstack/react-query/build/lib/QueryClientProvider.mjs\nvar QueryClientProvider = __webpack_require__(5945);\n;// CONCATENATED MODULE: ./src/ImageLoaderProvider.tsx\n\n\n\n\n\nfunction ImageLoaderProvider(param) {\n let { children } = param;\n const queryClient = (0,QueryClientProvider/* useQueryClient */.NL)();\n const context = (0,react.useMemo)(()=>{\n return {\n async loadImage (imageUrl) {\n if (imageUrl.startsWith(\"data:\")) {\n return imageUrlToArrayBuffer(imageUrl);\n } else {\n const arrayBuffer = await queryClient.fetchQuery({\n queryKey: [\n imageUrl\n ]\n });\n return arrayBuffer;\n }\n }\n };\n }, [\n queryClient\n ]);\n return /*#__PURE__*/ (0,jsx_runtime.jsx)(ImageLoaderContext.Provider, {\n value: context,\n children: children\n });\n}\n\n// EXTERNAL MODULE: ./node_modules/@tanstack/query-core/build/lib/queryClient.mjs + 13 modules\nvar queryClient = __webpack_require__(8709);\n;// CONCATENATED MODULE: ./src/pages/index.tsx\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nasync function imageFetcher(param) {\n let { queryKey } = param;\n const [imageUrl] = queryKey;\n return imageUrlToArrayBuffer(imageUrl);\n}\nconst pages_queryClient = new queryClient/* QueryClient */.S({\n defaultOptions: {\n queries: {\n queryFn: imageFetcher,\n staleTime: Infinity,\n cacheTime: 60000,\n refetchOnWindowFocus: false,\n refetchOnReconnect: false\n }\n }\n});\nfunction HomePage() {\n return /*#__PURE__*/ (0,jsx_runtime.jsxs)(jsx_runtime.Fragment, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)((head_default()), {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"title\", {\n children: \"T2 Model Viewer & Skinner\"\n })\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(QueryClientProvider/* QueryClientProvider */.aH, {\n client: pages_queryClient,\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(\"main\", {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ImageLoaderProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(SkinProvider, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"Viewport\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"ModelTools\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentSelector, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field SliderField\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(EnvironmentExposure, {})\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(\"div\", {\n className: \"Field\",\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(AnimationSelector, {})\n })\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorViewer, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsx)(ToolsProvider, {\n children: /*#__PURE__*/ (0,jsx_runtime.jsxs)(CanvasInteractions, {\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(WarriorSelector, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasViewport\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsxs)(\"div\", {\n className: \"CanvasSelector\",\n children: [\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasToggle, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(MaterialSelector, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasBackdrop, {}),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(MaterialCanvases, {})\n ]\n }),\n /*#__PURE__*/ (0,jsx_runtime.jsx)(CanvasTools, {})\n ]\n })\n })\n })\n ]\n })\n })\n })\n })\n })\n })\n ]\n });\n}\n\n\n/***/ }),\n\n/***/ 8496:\n/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"K\": function() { return /* binding */ ModelViewerContext; },\n/* harmony export */ \"Z\": function() { return /* binding */ useModelViewer; }\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(7294);\n\nconst ModelViewerContext = react__WEBPACK_IMPORTED_MODULE_0__.createContext(null);\nModelViewerContext.displayName = \"ModelViewerContext\";\nfunction useModelViewer() {\n const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(ModelViewerContext);\n if (!context) {\n throw new Error(\"No ModelViewerContext.Provider\");\n }\n return context;\n}\n\n\n/***/ }),\n\n/***/ 6287:\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n/* provided dependency */ var Buffer = __webpack_require__(1876)[\"Buffer\"];\n/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */ var fabric = fabric || {\n version: \"5.2.1\"\n};\nif (true) {\n exports.fabric = fabric;\n} else {}\n/* _AMD_END_ */ if (typeof document !== \"undefined\" && \"object\" !== \"undefined\") {\n if (document instanceof (typeof HTMLDocument !== \"undefined\" ? HTMLDocument : Document)) {\n fabric.document = document;\n } else {\n fabric.document = document.implementation.createHTMLDocument(\"\");\n }\n fabric.window = window;\n} else {\n // assume we're running under node.js when document/window are not present\n var jsdom = __webpack_require__(6734);\n var virtualWindow = new jsdom.JSDOM(decodeURIComponent(\"%3C!DOCTYPE%20html%3E%3Chtml%3E%3Chead%3E%3C%2Fhead%3E%3Cbody%3E%3C%2Fbody%3E%3C%2Fhtml%3E\"), {\n features: {\n FetchExternalResources: [\n \"img\"\n ]\n },\n resources: \"usable\"\n }).window;\n fabric.document = virtualWindow.document;\n fabric.jsdomImplForWrapper = (__webpack_require__(6907).implForWrapper);\n fabric.nodeCanvas = (__webpack_require__(4866).Canvas);\n fabric.window = virtualWindow;\n DOMParser = fabric.window.DOMParser;\n}\n/**\n * True when in environment that supports touch events\n * @type boolean\n */ fabric.isTouchSupported = \"ontouchstart\" in fabric.window || \"ontouchstart\" in fabric.document || fabric.window && fabric.window.navigator && fabric.window.navigator.maxTouchPoints > 0;\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */ fabric.isLikelyNode = typeof Buffer !== \"undefined\" && \"object\" === \"undefined\";\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */ fabric.DPI = 96;\nfabric.reNum = \"(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:[eE][-+]?\\\\d+)?)\";\nfabric.commaWsp = \"(?:\\\\s+,?\\\\s*|,\\\\s*)\";\nfabric.rePathCommand = /([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:[eE][-+]?\\d+)?)/ig;\nfabric.reNonWord = /[ \\n\\.,;!\\?\\-]/;\nfabric.fontPaths = {};\nfabric.iMatrix = [\n 1,\n 0,\n 0,\n 1,\n 0,\n 0\n];\nfabric.svgNS = \"http://www.w3.org/2000/svg\";\n/**\n * Pixel limit for cache canvases. 1Mpx , 4Mpx should be fine.\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.perfLimitSizeTotal = 2097152;\n/**\n * Pixel limit for cache canvases width or height. IE fixes the maximum at 5000\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.maxCacheSideLimit = 4096;\n/**\n * Lowest pixel limit for cache canvases, set at 256PX\n * @since 1.7.14\n * @type Number\n * @default\n */ fabric.minCacheSideLimit = 256;\n/**\n * Cache Object for widths of chars in text rendering.\n */ fabric.charWidthsCache = {};\n/**\n * if webgl is enabled and available, textureSize will determine the size\n * of the canvas backend\n * @since 2.0.0\n * @type Number\n * @default\n */ fabric.textureSize = 2048;\n/**\n * When 'true', style information is not retained when copy/pasting text, making\n * pasted text use destination style.\n * Defaults to 'false'.\n * @type Boolean\n * @default\n */ fabric.disableStyleCopyPaste = false;\n/**\n * Enable webgl for filtering picture is available\n * A filtering backend will be initialized, this will both take memory and\n * time since a default 2048x2048 canvas will be created for the gl context\n * @since 2.0.0\n * @type Boolean\n * @default\n */ fabric.enableGLFiltering = true;\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */ fabric.devicePixelRatio = fabric.window.devicePixelRatio || fabric.window.webkitDevicePixelRatio || fabric.window.mozDevicePixelRatio || 1;\n/**\n * Browser-specific constant to adjust CanvasRenderingContext2D.shadowBlur value,\n * which is unitless and not rendered equally across browsers.\n *\n * Values that work quite well (as of October 2017) are:\n * - Chrome: 1.5\n * - Edge: 1.75\n * - Firefox: 0.9\n * - Safari: 0.95\n *\n * @since 2.0.0\n * @type Number\n * @default 1\n */ fabric.browserShadowBlurConstant = 1;\n/**\n * This object contains the result of arc to bezier conversion for faster retrieving if the same arc needs to be converted again.\n * It was an internal variable, is accessible since version 2.3.4\n */ fabric.arcToSegmentsCache = {};\n/**\n * This object keeps the results of the boundsOfCurve calculation mapped by the joined arguments necessary to calculate it.\n * It does speed up calculation, if you parse and add always the same paths, but in case of heavy usage of freedrawing\n * you do not get any speed benefit and you get a big object in memory.\n * The object was a private variable before, while now is appended to the lib so that you have access to it and you\n * can eventually clear it.\n * It was an internal variable, is accessible since version 2.3.4\n */ fabric.boundsOfCurveCache = {};\n/**\n * If disabled boundsOfCurveCache is not used. For apps that make heavy usage of pencil drawing probably disabling it is better\n * @default true\n */ fabric.cachesBoundsOfCurve = true;\n/**\n * Skip performance testing of setupGLContext and force the use of putImageData that seems to be the one that works best on\n * Chrome + old hardware. if your users are experiencing empty images after filtering you may try to force this to true\n * this has to be set before instantiating the filtering backend ( before filtering the first image )\n * @type Boolean\n * @default false\n */ fabric.forceGLPutImageData = false;\nfabric.initFilterBackend = function() {\n if (fabric.enableGLFiltering && fabric.isWebglSupported && fabric.isWebglSupported(fabric.textureSize)) {\n console.log(\"max texture size: \" + fabric.maxTextureSize);\n return new fabric.WebglFilterBackend({\n tileSize: fabric.textureSize\n });\n } else if (fabric.Canvas2dFilterBackend) {\n return new fabric.Canvas2dFilterBackend();\n }\n};\n(function() {\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */ function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n var eventListener = this.__eventListeners[eventName];\n if (handler) {\n eventListener[eventListener.indexOf(handler)] = false;\n } else {\n fabric.util.array.fill(eventListener, false);\n }\n }\n /**\n * Observes specified event\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */ function on(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = {};\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for(var prop in eventName){\n this.on(prop, eventName[prop]);\n }\n } else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n function _once(eventName, handler) {\n var _handler = (function() {\n handler.apply(this, arguments);\n this.off(eventName, _handler);\n }).bind(this);\n this.on(eventName, _handler);\n }\n function once(eventName, handler) {\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for(var prop in eventName){\n _once.call(this, prop, eventName[prop]);\n }\n } else {\n _once.call(this, eventName, handler);\n }\n return this;\n }\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */ function off(eventName, handler) {\n if (!this.__eventListeners) {\n return this;\n }\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n for(eventName in this.__eventListeners){\n _removeEventListener.call(this, eventName);\n }\n } else if (arguments.length === 1 && typeof arguments[0] === \"object\") {\n for(var prop in eventName){\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n } else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n /**\n * Fires event with an optional options object\n * @memberOf fabric.Observable\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */ function fire(eventName, options) {\n if (!this.__eventListeners) {\n return this;\n }\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return this;\n }\n for(var i = 0, len = listenersForEvent.length; i < len; i++){\n listenersForEvent[i] && listenersForEvent[i].call(this, options || {});\n }\n this.__eventListeners[eventName] = listenersForEvent.filter(function(value) {\n return value !== false;\n });\n return this;\n }\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#events}\n * @see {@link http://fabricjs.com/events|Events demo}\n */ fabric.Observable = {\n fire: fire,\n on: on,\n once: once,\n off: off\n };\n})();\n/**\n * @namespace fabric.Collection\n */ fabric.Collection = {\n _objects: [],\n /**\n * Adds objects to collection, Canvas or Group, then renders canvas\n * (if `renderOnAddRemove` is not `false`).\n * in case of Group no changes to bounding box are made.\n * Objects should be instances of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the add method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */ add: function() {\n this._objects.push.apply(this._objects, arguments);\n if (this._onObjectAdded) {\n for(var i = 0, length = arguments.length; i < length; i++){\n this._onObjectAdded(arguments[i]);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * Use of this function is highly discouraged for groups.\n * you can add a bunch of objects with the insertAt method but then you NEED\n * to run a addWithUpdate call for the Group class or position/bbox will be wrong.\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */ insertAt: function(object, index, nonSplicing) {\n var objects = this._objects;\n if (nonSplicing) {\n objects[index] = object;\n } else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded && this._onObjectAdded(object);\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */ remove: function() {\n var objects = this._objects, index, somethingRemoved = false;\n for(var i = 0, length = arguments.length; i < length; i++){\n index = objects.indexOf(arguments[i]);\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n somethingRemoved = true;\n objects.splice(index, 1);\n this._onObjectRemoved && this._onObjectRemoved(arguments[i]);\n }\n }\n this.renderOnAddRemove && somethingRemoved && this.requestRenderAll();\n return this;\n },\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n * @chainable\n */ forEachObject: function(callback, context) {\n var objects = this.getObjects();\n for(var i = 0, len = objects.length; i < len; i++){\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * since 2.3.5 this method return always a COPY of the array;\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */ getObjects: function(type) {\n if (typeof type === \"undefined\") {\n return this._objects.concat();\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */ item: function(index) {\n return this._objects[index];\n },\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */ isEmpty: function() {\n return this._objects.length === 0;\n },\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */ size: function() {\n return this._objects.length;\n },\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @param {Boolean} [deep=false] `true` to check all descendants, `false` to check only `_objects`\n * @return {Boolean} `true` if collection contains an object\n */ contains: function(object, deep) {\n if (this._objects.indexOf(object) > -1) {\n return true;\n } else if (deep) {\n return this._objects.some(function(obj) {\n return typeof obj.contains === \"function\" && obj.contains(object, true);\n });\n }\n return false;\n },\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */ complexity: function() {\n return this._objects.reduce(function(memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n/**\n * @namespace fabric.CommonMethods\n */ fabric.CommonMethods = {\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */ _setOptions: function(options) {\n for(var prop in options){\n this.set(prop, options[prop]);\n }\n },\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Gradient to\n */ _initGradient: function(filler, property) {\n if (filler && filler.colorStops && !(filler instanceof fabric.Gradient)) {\n this.set(property, new fabric.Gradient(filler));\n }\n },\n /**\n * @private\n * @param {Object} [filler] Options object\n * @param {String} [property] property to set the Pattern to\n * @param {Function} [callback] callback to invoke after pattern load\n */ _initPattern: function(filler, property, callback) {\n if (filler && filler.source && !(filler instanceof fabric.Pattern)) {\n this.set(property, new fabric.Pattern(filler, callback));\n } else {\n callback && callback();\n }\n },\n /**\n * @private\n */ _setObject: function(obj) {\n for(var prop in obj){\n this._set(prop, obj[prop]);\n }\n },\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */ set: function(key, value) {\n if (typeof key === \"object\") {\n this._setObject(key);\n } else {\n this._set(key, value);\n }\n return this;\n },\n _set: function(key, value) {\n this[key] = value;\n },\n /**\n * Toggles specified property from `true` to `false` or from `false` to `true`\n * @param {String} property Property to toggle\n * @return {fabric.Object} thisArg\n * @chainable\n */ toggle: function(property) {\n var value = this.get(property);\n if (typeof value === \"boolean\") {\n this.set(property, !value);\n }\n return this;\n },\n /**\n * Basic getter\n * @param {String} property Property name\n * @return {*} value of a property\n */ get: function(property) {\n return this[property];\n }\n};\n(function(global) {\n var sqrt = Math.sqrt, atan2 = Math.atan2, pow = Math.pow, PiBy180 = Math.PI / 180, PiBy2 = Math.PI / 2;\n /**\n * @namespace fabric.util\n */ fabric.util = {\n /**\n * Calculate the cos of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */ cos: function(angle) {\n if (angle === 0) {\n return 1;\n }\n if (angle < 0) {\n // cos(a) = cos(-a)\n angle = -angle;\n }\n var angleSlice = angle / PiBy2;\n switch(angleSlice){\n case 1:\n case 3:\n return 0;\n case 2:\n return -1;\n }\n return Math.cos(angle);\n },\n /**\n * Calculate the sin of an angle, avoiding returning floats for known results\n * @static\n * @memberOf fabric.util\n * @param {Number} angle the angle in radians or in degree\n * @return {Number}\n */ sin: function(angle) {\n if (angle === 0) {\n return 0;\n }\n var angleSlice = angle / PiBy2, sign = 1;\n if (angle < 0) {\n // sin(-a) = -sin(a)\n sign = -1;\n }\n switch(angleSlice){\n case 1:\n return sign;\n case 2:\n return 0;\n case 3:\n return -sign;\n }\n return Math.sin(angle);\n },\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {*} value\n * @return {Array} original array\n */ removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */ getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */ degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */ radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */ rotatePoint: function(point, origin, radians) {\n var newPoint = new fabric.Point(point.x - origin.x, point.y - origin.y), v = fabric.util.rotateVector(newPoint, radians);\n return new fabric.Point(v.x, v.y).addEquals(origin);\n },\n /**\n * Rotates `vector` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {Object} vector The vector to rotate (x and y)\n * @param {Number} radians The radians of the angle for the rotation\n * @return {Object} The new rotated point\n */ rotateVector: function(vector, radians) {\n var sin = fabric.util.sin(radians), cos = fabric.util.cos(radians), rx = vector.x * cos - vector.y * sin, ry = vector.x * sin + vector.y * cos;\n return {\n x: rx,\n y: ry\n };\n },\n /**\n * Creates a vetor from points represented as a point\n * @static\n * @memberOf fabric.util\n *\n * @typedef {Object} Point\n * @property {number} x\n * @property {number} y\n *\n * @param {Point} from\n * @param {Point} to\n * @returns {Point} vector\n */ createVector: function(from, to) {\n return new fabric.Point(to.x - from.x, to.y - from.y);\n },\n /**\n * Calculates angle between 2 vectors using dot product\n * @static\n * @memberOf fabric.util\n * @param {Point} a\n * @param {Point} b\n * @returns the angle in radian between the vectors\n */ calcAngleBetweenVectors: function(a, b) {\n return Math.acos((a.x * b.x + a.y * b.y) / (Math.hypot(a.x, a.y) * Math.hypot(b.x, b.y)));\n },\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} v\n * @returns {Point} vector representing the unit vector of pointing to the direction of `v`\n */ getHatVector: function(v) {\n return new fabric.Point(v.x, v.y).multiply(1 / Math.hypot(v.x, v.y));\n },\n /**\n * @static\n * @memberOf fabric.util\n * @param {Point} A\n * @param {Point} B\n * @param {Point} C\n * @returns {{ vector: Point, angle: number }} vector representing the bisector of A and A's angle\n */ getBisector: function(A, B, C) {\n var AB = fabric.util.createVector(A, B), AC = fabric.util.createVector(A, C);\n var alpha = fabric.util.calcAngleBetweenVectors(AB, AC);\n // check if alpha is relative to AB->BC\n var ro = fabric.util.calcAngleBetweenVectors(fabric.util.rotateVector(AB, alpha), AC);\n var phi = alpha * (ro === 0 ? 1 : -1) / 2;\n return {\n vector: fabric.util.getHatVector(fabric.util.rotateVector(AB, phi)),\n angle: alpha\n };\n },\n /**\n * Project stroke width on points returning 2 projections for each point as follows:\n * - `miter`: 2 points corresponding to the outer boundary and the inner boundary of stroke.\n * - `bevel`: 2 points corresponding to the bevel boundaries, tangent to the bisector.\n * - `round`: same as `bevel`\n * Used to calculate object's bounding box\n * @static\n * @memberOf fabric.util\n * @param {Point[]} points\n * @param {Object} options\n * @param {number} options.strokeWidth\n * @param {'miter'|'bevel'|'round'} options.strokeLineJoin\n * @param {number} options.strokeMiterLimit https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-miterlimit\n * @param {boolean} options.strokeUniform\n * @param {number} options.scaleX\n * @param {number} options.scaleY\n * @param {boolean} [openPath] whether the shape is open or not, affects the calculations of the first and last points\n * @returns {fabric.Point[]} array of size 2n/4n of all suspected points\n */ projectStrokeOnPoints: function(points, options, openPath) {\n var coords = [], s = options.strokeWidth / 2, strokeUniformScalar = options.strokeUniform ? new fabric.Point(1 / options.scaleX, 1 / options.scaleY) : new fabric.Point(1, 1), getStrokeHatVector = function(v) {\n var scalar = s / Math.hypot(v.x, v.y);\n return new fabric.Point(v.x * scalar * strokeUniformScalar.x, v.y * scalar * strokeUniformScalar.y);\n };\n if (points.length <= 1) {\n return coords;\n }\n points.forEach(function(p, index) {\n var A = new fabric.Point(p.x, p.y), B, C;\n if (index === 0) {\n C = points[index + 1];\n B = openPath ? getStrokeHatVector(fabric.util.createVector(C, A)).addEquals(A) : points[points.length - 1];\n } else if (index === points.length - 1) {\n B = points[index - 1];\n C = openPath ? getStrokeHatVector(fabric.util.createVector(B, A)).addEquals(A) : points[0];\n } else {\n B = points[index - 1];\n C = points[index + 1];\n }\n var bisector = fabric.util.getBisector(A, B, C), bisectorVector = bisector.vector, alpha = bisector.angle, scalar, miterVector;\n if (options.strokeLineJoin === \"miter\") {\n scalar = -s / Math.sin(alpha / 2);\n miterVector = new fabric.Point(bisectorVector.x * scalar * strokeUniformScalar.x, bisectorVector.y * scalar * strokeUniformScalar.y);\n if (Math.hypot(miterVector.x, miterVector.y) / s <= options.strokeMiterLimit) {\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n return;\n }\n }\n scalar = -s * Math.SQRT2;\n miterVector = new fabric.Point(bisectorVector.x * scalar * strokeUniformScalar.x, bisectorVector.y * scalar * strokeUniformScalar.y);\n coords.push(A.add(miterVector));\n coords.push(A.subtract(miterVector));\n });\n return coords;\n },\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */ transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(t[0] * p.x + t[2] * p.y, t[1] * p.x + t[3] * p.y);\n }\n return new fabric.Point(t[0] * p.x + t[2] * p.y + t[4], t[1] * p.x + t[3] * p.y + t[5]);\n },\n /**\n * Returns coordinates of points's bounding rectangle (left, top, width, height)\n * @param {Array} points 4 points array\n * @param {Array} [transform] an array of 6 numbers representing a 2x3 transform matrix\n * @return {Object} Object with left, top, width, height properties\n */ makeBoundingBoxFromPoints: function(points, transform) {\n if (transform) {\n for(var i = 0; i < points.length; i++){\n points[i] = fabric.util.transformPoint(points[i], transform);\n }\n }\n var xPoints = [\n points[0].x,\n points[1].x,\n points[2].x,\n points[3].x\n ], minX = fabric.util.array.min(xPoints), maxX = fabric.util.array.max(xPoints), width = maxX - minX, yPoints = [\n points[0].y,\n points[1].y,\n points[2].y,\n points[3].y\n ], minY = fabric.util.array.min(yPoints), maxY = fabric.util.array.max(yPoints), height = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */ invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]), r = [\n a * t[3],\n -a * t[1],\n -a * t[2],\n a * t[0]\n ], o = fabric.util.transformPoint({\n x: t[4],\n y: t[5]\n }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */ toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @param {Number} fontSize\n * @return {Number|String}\n */ parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value), number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch(unit[0]){\n case \"mm\":\n return number * fabric.DPI / 25.4;\n case \"cm\":\n return number * fabric.DPI / 2.54;\n case \"in\":\n return number * fabric.DPI;\n case \"pt\":\n return number * fabric.DPI / 72; // or * 4 / 3\n case \"pc\":\n return number * fabric.DPI / 72 * 12; // or * 16\n case \"em\":\n return number * fontSize;\n default:\n return number;\n }\n },\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */ falseFunction: function() {\n return false;\n },\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */ getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n /**\n * Returns array of attributes for given svg that fabric parses\n * @memberOf fabric.util\n * @param {String} type Type of svg element (eg. 'circle')\n * @return {Array} string names of supported attributes\n */ getSvgAttributes: function(type) {\n var attributes = [\n \"instantiated_by_use\",\n \"style\",\n \"id\",\n \"class\"\n ];\n switch(type){\n case \"linearGradient\":\n attributes = attributes.concat([\n \"x1\",\n \"y1\",\n \"x2\",\n \"y2\",\n \"gradientUnits\",\n \"gradientTransform\"\n ]);\n break;\n case \"radialGradient\":\n attributes = attributes.concat([\n \"gradientUnits\",\n \"gradientTransform\",\n \"cx\",\n \"cy\",\n \"r\",\n \"fx\",\n \"fy\",\n \"fr\"\n ]);\n break;\n case \"stop\":\n attributes = attributes.concat([\n \"offset\",\n \"stop-color\",\n \"stop-opacity\"\n ]);\n break;\n }\n return attributes;\n },\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */ resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n var parts = namespace.split(\".\"), len = parts.length, i, obj = global || fabric.window;\n for(i = 0; i < len; ++i){\n obj = obj[parts[i]];\n }\n return obj;\n },\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {*} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */ loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n var img = fabric.util.createImage();\n /** @ignore */ var onLoadCallback = function() {\n callback && callback.call(context, img, false);\n img = img.onload = img.onerror = null;\n };\n img.onload = onLoadCallback;\n /** @ignore */ img.onerror = function() {\n fabric.log(\"Error loading \" + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n // crossOrigin null is the same as not set.\n if (url.indexOf(\"data\") !== 0 && crossOrigin !== undefined && crossOrigin !== null) {\n img.crossOrigin = crossOrigin;\n }\n // IE10 / IE11-Fix: SVG contents from data: URI\n // will only be available if the IMG is present\n // in the DOM (and visible)\n if (url.substring(0, 14) === \"data:image/svg\") {\n img.onload = null;\n fabric.util.loadImageInDom(img, onLoadCallback);\n }\n img.src = url;\n },\n /**\n * Attaches SVG image with data: URL to the dom\n * @memberOf fabric.util\n * @param {Object} img Image object with data:image/svg src\n * @param {Function} callback Callback; invoked with loaded image\n * @return {Object} DOM element (div containing the SVG image)\n */ loadImageInDom: function(img, onLoadCallback) {\n var div = fabric.document.createElement(\"div\");\n div.style.width = div.style.height = \"1px\";\n div.style.left = div.style.top = \"-100%\";\n div.style.position = \"absolute\";\n div.appendChild(img);\n fabric.document.querySelector(\"body\").appendChild(div);\n /**\n * Wrap in function to:\n * 1. Call existing callback\n * 2. Cleanup DOM\n */ img.onload = function() {\n onLoadCallback();\n div.parentNode.removeChild(div);\n div = null;\n };\n },\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */ enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [];\n var enlivenedObjects = [], numLoadedObjects = 0, numTotalObjects = objects.length;\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects.filter(function(obj) {\n // filter out undefined objects (objects that gave error)\n return obj;\n }));\n }\n }\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n objects.forEach(function(o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n klass.fromObject(o, function(obj, error) {\n error || (enlivenedObjects[index] = obj);\n reviver && reviver(o, obj, error);\n onLoaded();\n });\n });\n },\n /**\n * Creates corresponding fabric instances residing in an object, e.g. `clipPath`\n * @see {@link fabric.Object.ENLIVEN_PROPS}\n * @param {Object} object\n * @param {Object} [context] assign enlived props to this object (pass null to skip this)\n * @param {(objects:fabric.Object[]) => void} callback\n */ enlivenObjectEnlivables: function(object, context, callback) {\n var enlivenProps = fabric.Object.ENLIVEN_PROPS.filter(function(key) {\n return !!object[key];\n });\n fabric.util.enlivenObjects(enlivenProps.map(function(key) {\n return object[key];\n }), function(enlivedProps) {\n var objects = {};\n enlivenProps.forEach(function(key, index) {\n objects[key] = enlivedProps[index];\n context && (context[key] = enlivedProps[index]);\n });\n callback && callback(objects);\n });\n },\n /**\n * Create and wait for loading of patterns\n * @static\n * @memberOf fabric.util\n * @param {Array} patterns Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * called after each fabric object created.\n */ enlivenPatterns: function(patterns, callback) {\n patterns = patterns || [];\n function onLoaded() {\n if (++numLoadedPatterns === numPatterns) {\n callback && callback(enlivenedPatterns);\n }\n }\n var enlivenedPatterns = [], numLoadedPatterns = 0, numPatterns = patterns.length;\n if (!numPatterns) {\n callback && callback(enlivenedPatterns);\n return;\n }\n patterns.forEach(function(p, index) {\n if (p && p.source) {\n new fabric.Pattern(p, function(pattern) {\n enlivenedPatterns[index] = pattern;\n onLoaded();\n });\n } else {\n enlivenedPatterns[index] = p;\n onLoaded();\n }\n });\n },\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @param {String} path Value to set sourcePath to\n * @return {fabric.Object|fabric.Group}\n */ groupSVGElements: function(elements, options, path) {\n var object;\n if (elements && elements.length === 1) {\n return elements[0];\n }\n if (options) {\n if (options.width && options.height) {\n options.centerPoint = {\n x: options.width / 2,\n y: options.height / 2\n };\n } else {\n delete options.width;\n delete options.height;\n }\n }\n object = new fabric.Group(elements, options);\n if (typeof path !== \"undefined\") {\n object.sourcePath = path;\n }\n return object;\n },\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Properties names to include\n */ populateWithProperties: function(source, destination, properties) {\n if (properties && Array.isArray(properties)) {\n for(var i = 0, len = properties.length; i < len; i++){\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n /**\n * Creates canvas element\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */ createCanvasElement: function() {\n return fabric.document.createElement(\"canvas\");\n },\n /**\n * Creates a canvas element that is a copy of another and is also painted\n * @param {CanvasElement} canvas to copy size and content of\n * @static\n * @memberOf fabric.util\n * @return {CanvasElement} initialized canvas element\n */ copyCanvasElement: function(canvas) {\n var newCanvas = fabric.util.createCanvasElement();\n newCanvas.width = canvas.width;\n newCanvas.height = canvas.height;\n newCanvas.getContext(\"2d\").drawImage(canvas, 0, 0);\n return newCanvas;\n },\n /**\n * since 2.6.0 moved from canvas instance to utility.\n * @param {CanvasElement} canvasEl to copy size and content of\n * @param {String} format 'jpeg' or 'png', in some browsers 'webp' is ok too\n * @param {Number} quality <= 1 and > 0\n * @static\n * @memberOf fabric.util\n * @return {String} data url\n */ toDataURL: function(canvasEl, format, quality) {\n return canvasEl.toDataURL(\"image/\" + format, quality);\n },\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */ createImage: function() {\n return fabric.document.createElement(\"img\");\n },\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @param {Boolean} is2x2 flag to multiply matrices as 2x2 matrices\n * @return {Array} The product of the two transform matrices\n */ multiplyTransformMatrices: function(a, b, is2x2) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n is2x2 ? 0 : a[0] * b[4] + a[2] * b[5] + a[4],\n is2x2 ? 0 : a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n /**\n * Decomposes standard 2x3 matrix into transform components\n * @static\n * @memberOf fabric.util\n * @param {Array} a transformMatrix\n * @return {Object} Components of transform\n */ qrDecompose: function(a) {\n var angle = atan2(a[1], a[0]), denom = pow(a[0], 2) + pow(a[1], 2), scaleX = sqrt(denom), scaleY = (a[0] * a[3] - a[2] * a[1]) / scaleX, skewX = atan2(a[0] * a[2] + a[1] * a[3], denom);\n return {\n angle: angle / PiBy180,\n scaleX: scaleX,\n scaleY: scaleY,\n skewX: skewX / PiBy180,\n skewY: 0,\n translateX: a[4],\n translateY: a[5]\n };\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle] angle in degrees\n * @return {Number[]} transform matrix\n */ calcRotateMatrix: function(options) {\n if (!options.angle) {\n return fabric.iMatrix.concat();\n }\n var theta = fabric.util.degreesToRadians(options.angle), cos = fabric.util.cos(theta), sin = fabric.util.sin(theta);\n return [\n cos,\n sin,\n -sin,\n cos,\n 0,\n 0\n ];\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet.\n * is called DimensionsTransformMatrix because those properties are the one that influence\n * the size of the resulting box of the object.\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewY]\n * @return {Number[]} transform matrix\n */ calcDimensionsMatrix: function(options) {\n var scaleX = typeof options.scaleX === \"undefined\" ? 1 : options.scaleX, scaleY = typeof options.scaleY === \"undefined\" ? 1 : options.scaleY, scaleMatrix = [\n options.flipX ? -scaleX : scaleX,\n 0,\n 0,\n options.flipY ? -scaleY : scaleY,\n 0,\n 0\n ], multiply = fabric.util.multiplyTransformMatrices, degreesToRadians = fabric.util.degreesToRadians;\n if (options.skewX) {\n scaleMatrix = multiply(scaleMatrix, [\n 1,\n 0,\n Math.tan(degreesToRadians(options.skewX)),\n 1\n ], true);\n }\n if (options.skewY) {\n scaleMatrix = multiply(scaleMatrix, [\n 1,\n Math.tan(degreesToRadians(options.skewY)),\n 0,\n 1\n ], true);\n }\n return scaleMatrix;\n },\n /**\n * Returns a transform matrix starting from an object of the same kind of\n * the one returned from qrDecompose, useful also if you want to calculate some\n * transformations from an object that is not enlived yet\n * @static\n * @memberOf fabric.util\n * @param {Object} options\n * @param {Number} [options.angle]\n * @param {Number} [options.scaleX]\n * @param {Number} [options.scaleY]\n * @param {Boolean} [options.flipX]\n * @param {Boolean} [options.flipY]\n * @param {Number} [options.skewX]\n * @param {Number} [options.skewX]\n * @param {Number} [options.translateX]\n * @param {Number} [options.translateY]\n * @return {Number[]} transform matrix\n */ composeMatrix: function(options) {\n var matrix = [\n 1,\n 0,\n 0,\n 1,\n options.translateX || 0,\n options.translateY || 0\n ], multiply = fabric.util.multiplyTransformMatrices;\n if (options.angle) {\n matrix = multiply(matrix, fabric.util.calcRotateMatrix(options));\n }\n if (options.scaleX !== 1 || options.scaleY !== 1 || options.skewX || options.skewY || options.flipX || options.flipY) {\n matrix = multiply(matrix, fabric.util.calcDimensionsMatrix(options));\n }\n return matrix;\n },\n /**\n * reset an object transform state to neutral. Top and left are not accounted for\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to transform\n */ resetObjectTransform: function(target) {\n target.scaleX = 1;\n target.scaleY = 1;\n target.skewX = 0;\n target.skewY = 0;\n target.flipX = false;\n target.flipY = false;\n target.rotate(0);\n },\n /**\n * Extract Object transform values\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} target object to read from\n * @return {Object} Components of transform\n */ saveObjectTransform: function(target) {\n return {\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n angle: target.angle,\n left: target.left,\n flipX: target.flipX,\n flipY: target.flipY,\n top: target.top\n };\n },\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */ isTransparent: function(ctx, x, y, tolerance) {\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n } else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n } else {\n y = 0;\n }\n }\n var _isTransparent = true, i, temp, imageData = ctx.getImageData(x, y, tolerance * 2 || 1, tolerance * 2 || 1), l = imageData.data.length;\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for(i = 3; i < l; i += 4){\n temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n imageData = null;\n return _isTransparent;\n },\n /**\n * Parse preserveAspectRatio attribute from element\n * @param {string} attribute to be parsed\n * @return {Object} an object containing align and meetOrSlice attribute\n */ parsePreserveAspectRatioAttribute: function(attribute) {\n var meetOrSlice = \"meet\", alignX = \"Mid\", alignY = \"Mid\", aspectRatioAttrs = attribute.split(\" \"), align;\n if (aspectRatioAttrs && aspectRatioAttrs.length) {\n meetOrSlice = aspectRatioAttrs.pop();\n if (meetOrSlice !== \"meet\" && meetOrSlice !== \"slice\") {\n align = meetOrSlice;\n meetOrSlice = \"meet\";\n } else if (aspectRatioAttrs.length) {\n align = aspectRatioAttrs.pop();\n }\n }\n //divide align in alignX and alignY\n alignX = align !== \"none\" ? align.slice(1, 4) : \"none\";\n alignY = align !== \"none\" ? align.slice(5, 8) : \"none\";\n return {\n meetOrSlice: meetOrSlice,\n alignX: alignX,\n alignY: alignY\n };\n },\n /**\n * Clear char widths cache for the given font family or all the cache if no\n * fontFamily is specified.\n * Use it if you know you are loading fonts in a lazy way and you are not waiting\n * for custom fonts to load properly when adding text objects to the canvas.\n * If a text object is added when its own font is not loaded yet, you will get wrong\n * measurement and so wrong bounding boxes.\n * After the font cache is cleared, either change the textObject text content or call\n * initDimensions() to trigger a recalculation\n * @memberOf fabric.util\n * @param {String} [fontFamily] font family to clear\n */ clearFabricFontCache: function(fontFamily) {\n fontFamily = (fontFamily || \"\").toLowerCase();\n if (!fontFamily) {\n fabric.charWidthsCache = {};\n } else if (fabric.charWidthsCache[fontFamily]) {\n delete fabric.charWidthsCache[fontFamily];\n }\n },\n /**\n * Given current aspect ratio, determines the max width and height that can\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Number} ar aspect ratio\n * @param {Number} maximumArea Maximum area you want to achieve\n * @return {Object.x} Limited dimensions by X\n * @return {Object.y} Limited dimensions by Y\n */ limitDimsByArea: function(ar, maximumArea) {\n var roughWidth = Math.sqrt(maximumArea * ar), perfLimitSizeY = Math.floor(maximumArea / roughWidth);\n return {\n x: Math.floor(roughWidth),\n y: perfLimitSizeY\n };\n },\n capValue: function(min, value, max) {\n return Math.max(min, Math.min(value, max));\n },\n /**\n * Finds the scale for the object source to fit inside the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to fit into destination\n */ findScaleToFit: function(source, destination) {\n return Math.min(destination.width / source.width, destination.height / source.height);\n },\n /**\n * Finds the scale for the object source to cover entirely the object destination,\n * keeping aspect ratio intact.\n * respect the total allowed area for the cache.\n * @memberOf fabric.util\n * @param {Object | fabric.Object} source\n * @param {Number} source.height natural unscaled height of the object\n * @param {Number} source.width natural unscaled width of the object\n * @param {Object | fabric.Object} destination\n * @param {Number} destination.height natural unscaled height of the object\n * @param {Number} destination.width natural unscaled width of the object\n * @return {Number} scale factor to apply to source to cover destination\n */ findScaleToCover: function(source, destination) {\n return Math.max(destination.width / source.width, destination.height / source.height);\n },\n /**\n * given an array of 6 number returns something like `\"matrix(...numbers)\"`\n * @memberOf fabric.util\n * @param {Array} transform an array with 6 numbers\n * @return {String} transform matrix for svg\n * @return {Object.y} Limited dimensions by Y\n */ matrixToSVG: function(transform) {\n return \"matrix(\" + transform.map(function(value) {\n return fabric.util.toFixed(value, fabric.Object.NUM_FRACTION_DIGITS);\n }).join(\" \") + \")\";\n },\n /**\n * given an object and a transform, apply the inverse transform to the object,\n * this is equivalent to remove from that object that transformation, so that\n * added in a space with the removed transform, the object will be the same as before.\n * Removing from an object a transform that scale by 2 is like scaling it by 1/2.\n * Removing from an object a transfrom that rotate by 30deg is like rotating by 30deg\n * in the opposite direction.\n * This util is used to add objects inside transformed groups or nested groups.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ removeTransformFromObject: function(object, transform) {\n var inverted = fabric.util.invertTransform(transform), finalTransform = fabric.util.multiplyTransformMatrices(inverted, object.calcOwnMatrix());\n fabric.util.applyTransformToObject(object, finalTransform);\n },\n /**\n * given an object and a transform, apply the transform to the object.\n * this is equivalent to change the space where the object is drawn.\n * Adding to an object a transform that scale by 2 is like scaling it by 2.\n * This is used when removing an object from an active selection for example.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ addTransformToObject: function(object, transform) {\n fabric.util.applyTransformToObject(object, fabric.util.multiplyTransformMatrices(transform, object.calcOwnMatrix()));\n },\n /**\n * discard an object transform state and apply the one from the matrix.\n * @memberOf fabric.util\n * @param {fabric.Object} object the object you want to transform\n * @param {Array} transform the destination transform\n */ applyTransformToObject: function(object, transform) {\n var options = fabric.util.qrDecompose(transform), center = new fabric.Point(options.translateX, options.translateY);\n object.flipX = false;\n object.flipY = false;\n object.set(\"scaleX\", options.scaleX);\n object.set(\"scaleY\", options.scaleY);\n object.skewX = options.skewX;\n object.skewY = options.skewY;\n object.angle = options.angle;\n object.setPositionByOrigin(center, \"center\", \"center\");\n },\n /**\n * given a width and height, return the size of the bounding box\n * that can contains the box with width/height with applied transform\n * described in options.\n * Use to calculate the boxes around objects for controls.\n * @memberOf fabric.util\n * @param {Number} width\n * @param {Number} height\n * @param {Object} options\n * @param {Number} options.scaleX\n * @param {Number} options.scaleY\n * @param {Number} options.skewX\n * @param {Number} options.skewY\n * @return {Object.x} width of containing\n * @return {Object.y} height of containing\n */ sizeAfterTransform: function(width, height, options) {\n var dimX = width / 2, dimY = height / 2, points = [\n {\n x: -dimX,\n y: -dimY\n },\n {\n x: dimX,\n y: -dimY\n },\n {\n x: -dimX,\n y: dimY\n },\n {\n x: dimX,\n y: dimY\n }\n ], transformMatrix = fabric.util.calcDimensionsMatrix(options), bbox = fabric.util.makeBoundingBoxFromPoints(points, transformMatrix);\n return {\n x: bbox.width,\n y: bbox.height\n };\n },\n /**\n * Merges 2 clip paths into one visually equal clip path\n *\n * **IMPORTANT**:\\\n * Does **NOT** clone the arguments, clone them proir if necessary.\n *\n * Creates a wrapper (group) that contains one clip path and is clipped by the other so content is kept where both overlap.\n * Use this method if both the clip paths may have nested clip paths of their own, so assigning one to the other's clip path property is not possible.\n *\n * In order to handle the `inverted` property we follow logic described in the following cases:\\\n * **(1)** both clip paths are inverted - the clip paths pass the inverted prop to the wrapper and loose it themselves.\\\n * **(2)** one is inverted and the other isn't - the wrapper shouldn't become inverted and the inverted clip path must clip the non inverted one to produce an identical visual effect.\\\n * **(3)** both clip paths are not inverted - wrapper and clip paths remain unchanged.\n *\n * @memberOf fabric.util\n * @param {fabric.Object} c1\n * @param {fabric.Object} c2\n * @returns {fabric.Object} merged clip path\n */ mergeClipPaths: function(c1, c2) {\n var a = c1, b = c2;\n if (a.inverted && !b.inverted) {\n // case (2)\n a = c2;\n b = c1;\n }\n // `b` becomes `a`'s clip path so we transform `b` to `a` coordinate plane\n fabric.util.applyTransformToObject(b, fabric.util.multiplyTransformMatrices(fabric.util.invertTransform(a.calcTransformMatrix()), b.calcTransformMatrix()));\n // assign the `inverted` prop to the wrapping group\n var inverted = a.inverted && b.inverted;\n if (inverted) {\n // case (1)\n a.inverted = b.inverted = false;\n }\n return new fabric.Group([\n a\n ], {\n clipPath: b,\n inverted: inverted\n });\n },\n /**\n * @memberOf fabric.util\n * @param {Object} prevStyle first style to compare\n * @param {Object} thisStyle second style to compare\n * @param {boolean} forTextSpans whether to check overline, underline, and line-through properties\n * @return {boolean} true if the style changed\n */ hasStyleChanged: function(prevStyle, thisStyle, forTextSpans) {\n forTextSpans = forTextSpans || false;\n return prevStyle.fill !== thisStyle.fill || prevStyle.stroke !== thisStyle.stroke || prevStyle.strokeWidth !== thisStyle.strokeWidth || prevStyle.fontSize !== thisStyle.fontSize || prevStyle.fontFamily !== thisStyle.fontFamily || prevStyle.fontWeight !== thisStyle.fontWeight || prevStyle.fontStyle !== thisStyle.fontStyle || prevStyle.deltaY !== thisStyle.deltaY || forTextSpans && (prevStyle.overline !== thisStyle.overline || prevStyle.underline !== thisStyle.underline || prevStyle.linethrough !== thisStyle.linethrough);\n },\n /**\n * Returns the array form of a text object's inline styles property with styles grouped in ranges\n * rather than per character. This format is less verbose, and is better suited for storage\n * so it is used in serialization (not during runtime).\n * @memberOf fabric.util\n * @param {object} styles per character styles for a text object\n * @param {String} text the text string that the styles are applied to\n * @return {{start: number, end: number, style: object}[]}\n */ stylesToArray: function(styles, text) {\n // clone style structure to prevent mutation\n var styles = fabric.util.object.clone(styles, true), textLines = text.split(\"\\n\"), charIndex = -1, prevStyle = {}, stylesArray = [];\n //loop through each textLine\n for(var i = 0; i < textLines.length; i++){\n if (!styles[i]) {\n //no styles exist for this line, so add the line's length to the charIndex total\n charIndex += textLines[i].length;\n continue;\n }\n //loop through each character of the current line\n for(var c = 0; c < textLines[i].length; c++){\n charIndex++;\n var thisStyle = styles[i][c];\n //check if style exists for this character\n if (thisStyle) {\n var styleChanged = fabric.util.hasStyleChanged(prevStyle, thisStyle, true);\n if (styleChanged) {\n stylesArray.push({\n start: charIndex,\n end: charIndex + 1,\n style: thisStyle\n });\n } else {\n //if style is the same as previous character, increase end index\n stylesArray[stylesArray.length - 1].end++;\n }\n }\n prevStyle = thisStyle || {};\n }\n }\n return stylesArray;\n },\n /**\n * Returns the object form of the styles property with styles that are assigned per\n * character rather than grouped by range. This format is more verbose, and is\n * only used during runtime (not for serialization/storage)\n * @memberOf fabric.util\n * @param {Array} styles the serialized form of a text object's styles\n * @param {String} text the text string that the styles are applied to\n * @return {Object}\n */ stylesFromArray: function(styles, text) {\n if (!Array.isArray(styles)) {\n return styles;\n }\n var textLines = text.split(\"\\n\"), charIndex = -1, styleIndex = 0, stylesObject = {};\n //loop through each textLine\n for(var i = 0; i < textLines.length; i++){\n //loop through each character of the current line\n for(var c = 0; c < textLines[i].length; c++){\n charIndex++;\n //check if there's a style collection that includes the current character\n if (styles[styleIndex] && styles[styleIndex].start <= charIndex && charIndex < styles[styleIndex].end) {\n //create object for line index if it doesn't exist\n stylesObject[i] = stylesObject[i] || {};\n //assign a style at this character's index\n stylesObject[i][c] = Object.assign({}, styles[styleIndex].style);\n //if character is at the end of the current style collection, move to the next\n if (charIndex === styles[styleIndex].end - 1) {\n styleIndex++;\n }\n }\n }\n }\n return stylesObject;\n }\n };\n})( true ? exports : 0);\n(function() {\n var _join = Array.prototype.join, commandLengths = {\n m: 2,\n l: 2,\n h: 1,\n v: 1,\n c: 6,\n s: 4,\n q: 4,\n t: 2,\n a: 7\n }, repeatedCommands = {\n m: \"l\",\n M: \"L\"\n };\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var costh2 = fabric.util.cos(th2), sinth2 = fabric.util.sin(th2), costh3 = fabric.util.cos(th3), sinth3 = fabric.util.sin(th3), toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1, toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1, cp1X = fromX + mT * (-cosTh * rx * sinth2 - sinTh * ry * costh2), cp1Y = fromY + mT * (-sinTh * rx * sinth2 + cosTh * ry * costh2), cp2X = toX + mT * (cosTh * rx * sinth3 + sinTh * ry * costh3), cp2Y = toY + mT * (sinTh * rx * sinth3 - cosTh * ry * costh3);\n return [\n \"C\",\n cp1X,\n cp1Y,\n cp2X,\n cp2Y,\n toX,\n toY\n ];\n }\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */ function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var PI = Math.PI, th = rotateX * PI / 180, sinTh = fabric.util.sin(th), cosTh = fabric.util.cos(th), fromX = 0, fromY = 0;\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5, py = -cosTh * toY * 0.5 + sinTh * toX * 0.5, rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px, pl = rx2 * ry2 - rx2 * py2 - ry2 * px2, root = 0;\n if (pl < 0) {\n var s = Math.sqrt(1 - pl / (rx2 * ry2));\n rx *= s;\n ry *= s;\n } else {\n root = (large === sweep ? -1.0 : 1.0) * Math.sqrt(pl / (rx2 * py2 + ry2 * px2));\n }\n var cx = root * rx * py / ry, cy = -root * ry * px / rx, cx1 = cosTh * cx - sinTh * cy + toX * 0.5, cy1 = sinTh * cx + cosTh * cy + toY * 0.5, mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry), dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n } else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)), result = [], mDelta = dtheta / segments, mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2), th3 = mTheta + mDelta;\n for(var i = 0; i < segments; i++){\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][5];\n fromY = result[i][6];\n mTheta = th3;\n th3 += mDelta;\n }\n return result;\n }\n /*\n * Private\n */ function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux), tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n } else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of bezier\n * @param {Number} y3\n */ // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n // TODO: can we normalize this with the starting points set at 0 and then translated the bbox?\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString;\n if (fabric.cachesBoundsOfCurve) {\n argsString = _join.call(arguments);\n if (fabric.boundsOfCurveCache[argsString]) {\n return fabric.boundsOfCurveCache[argsString];\n }\n }\n var sqrt = Math.sqrt, min = Math.min, max = Math.max, abs = Math.abs, tvalues = [], bounds = [\n [],\n []\n ], a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n for(var i = 0; i < 2; ++i){\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n var x, y, j = tvalues.length, jlen = j, mt;\n while(j--){\n t = tvalues[j];\n mt = 1 - t;\n x = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[0][j] = x;\n y = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n bounds[1][j] = y;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n if (fabric.cachesBoundsOfCurve) {\n fabric.boundsOfCurveCache[argsString] = result;\n }\n return result;\n }\n /**\n * Converts arc to a bunch of bezier curves\n * @param {Number} fx starting point x\n * @param {Number} fy starting point y\n * @param {Array} coords Arc command\n */ function fromArcToBeziers(fx, fy, coords) {\n var rx = coords[1], ry = coords[2], rot = coords[3], large = coords[4], sweep = coords[5], tx = coords[6], ty = coords[7], segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n for(var i = 0, len = segsNorm.length; i < len; i++){\n segsNorm[i][1] += fx;\n segsNorm[i][2] += fy;\n segsNorm[i][3] += fx;\n segsNorm[i][4] += fy;\n segsNorm[i][5] += fx;\n segsNorm[i][6] += fy;\n }\n return segsNorm;\n }\n ;\n /**\n * This function take a parsed SVG path and make it simpler for fabricJS logic.\n * simplification consist of: only UPPERCASE absolute commands ( relative converted to absolute )\n * S converted in C, T converted in Q, A converted in C.\n * @param {Array} path the array of commands of a parsed svg path for fabric.Path\n * @return {Array} the simplified array of commands of a parsed svg path for fabric.Path\n */ function makePathSimpler(path) {\n // x and y represent the last point of the path. the previous command point.\n // we add them to each relative command to make it an absolute comment.\n // we also swap the v V h H with L, because are easier to transform.\n var x = 0, y = 0, len = path.length, // x1 and y1 represent the last point of the subpath. the subpath is started with\n // m or M command. When a z or Z command is drawn, x and y need to be resetted to\n // the last x1 and y1.\n x1 = 0, y1 = 0, current, i, converted, // previous will host the letter of the previous command, to handle S and T.\n // controlX and controlY will host the previous reflected control point\n destinationPath = [], previous, controlX, controlY;\n for(i = 0; i < len; ++i){\n converted = false;\n current = path[i].slice(0);\n switch(current[0]){\n case \"l\":\n current[0] = \"L\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"L\":\n x = current[1];\n y = current[2];\n break;\n case \"h\":\n current[1] += x;\n // falls through\n case \"H\":\n current[0] = \"L\";\n current[2] = y;\n x = current[1];\n break;\n case \"v\":\n current[1] += y;\n // falls through\n case \"V\":\n current[0] = \"L\";\n y = current[1];\n current[1] = x;\n current[2] = y;\n break;\n case \"m\":\n current[0] = \"M\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"M\":\n x = current[1];\n y = current[2];\n x1 = current[1];\n y1 = current[2];\n break;\n case \"c\":\n current[0] = \"C\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n current[5] += x;\n current[6] += y;\n // falls through\n case \"C\":\n controlX = current[3];\n controlY = current[4];\n x = current[5];\n y = current[6];\n break;\n case \"s\":\n current[0] = \"S\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case \"S\":\n // would be sScC but since we are swapping sSc for C, we check just that.\n if (previous === \"C\") {\n // calculate reflection of previous control points\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n } else {\n // If there is no previous command or if the previous command was not a C, c, S, or s,\n // the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n x = current[3];\n y = current[4];\n current[0] = \"C\";\n current[5] = current[3];\n current[6] = current[4];\n current[3] = current[1];\n current[4] = current[2];\n current[1] = controlX;\n current[2] = controlY;\n // current[3] and current[4] are NOW the second control point.\n // we keep it for the next reflection.\n controlX = current[3];\n controlY = current[4];\n break;\n case \"q\":\n current[0] = \"Q\";\n current[1] += x;\n current[2] += y;\n current[3] += x;\n current[4] += y;\n // falls through\n case \"Q\":\n controlX = current[1];\n controlY = current[2];\n x = current[3];\n y = current[4];\n break;\n case \"t\":\n current[0] = \"T\";\n current[1] += x;\n current[2] += y;\n // falls through\n case \"T\":\n if (previous === \"Q\") {\n // calculate reflection of previous control point\n controlX = 2 * x - controlX;\n controlY = 2 * y - controlY;\n } else {\n // If there is no previous command or if the previous command was not a Q, q, T or t,\n // assume the control point is coincident with the current point\n controlX = x;\n controlY = y;\n }\n current[0] = \"Q\";\n x = current[1];\n y = current[2];\n current[1] = controlX;\n current[2] = controlY;\n current[3] = x;\n current[4] = y;\n break;\n case \"a\":\n current[0] = \"A\";\n current[6] += x;\n current[7] += y;\n // falls through\n case \"A\":\n converted = true;\n destinationPath = destinationPath.concat(fromArcToBeziers(x, y, current));\n x = current[6];\n y = current[7];\n break;\n case \"z\":\n case \"Z\":\n x = x1;\n y = y1;\n break;\n default:\n }\n if (!converted) {\n destinationPath.push(current);\n }\n previous = current[0];\n }\n return destinationPath;\n }\n ;\n /**\n * Calc length from point x1,y1 to x2,y2\n * @param {Number} x1 starting point x\n * @param {Number} y1 starting point y\n * @param {Number} x2 starting point x\n * @param {Number} y2 starting point y\n * @return {Number} length of segment\n */ function calcLineLength(x1, y1, x2, y2) {\n return Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));\n }\n // functions for the Cubic beizer\n // taken from: https://github.com/konvajs/konva/blob/7.0.5/src/shapes/Path.ts#L350\n function CB1(t) {\n return t * t * t;\n }\n function CB2(t) {\n return 3 * t * t * (1 - t);\n }\n function CB3(t) {\n return 3 * t * (1 - t) * (1 - t);\n }\n function CB4(t) {\n return (1 - t) * (1 - t) * (1 - t);\n }\n function getPointOnCubicBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var c1 = CB1(pct), c2 = CB2(pct), c3 = CB3(pct), c4 = CB4(pct);\n return {\n x: p4x * c1 + p3x * c2 + p2x * c3 + p1x * c4,\n y: p4y * c1 + p3y * c2 + p2y * c3 + p1y * c4\n };\n };\n }\n function getTangentCubicIterator(p1x, p1y, p2x, p2y, p3x, p3y, p4x, p4y) {\n return function(pct) {\n var invT = 1 - pct, tangentX = 3 * invT * invT * (p2x - p1x) + 6 * invT * pct * (p3x - p2x) + 3 * pct * pct * (p4x - p3x), tangentY = 3 * invT * invT * (p2y - p1y) + 6 * invT * pct * (p3y - p2y) + 3 * pct * pct * (p4y - p3y);\n return Math.atan2(tangentY, tangentX);\n };\n }\n function QB1(t) {\n return t * t;\n }\n function QB2(t) {\n return 2 * t * (1 - t);\n }\n function QB3(t) {\n return (1 - t) * (1 - t);\n }\n function getPointOnQuadraticBezierIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var c1 = QB1(pct), c2 = QB2(pct), c3 = QB3(pct);\n return {\n x: p3x * c1 + p2x * c2 + p1x * c3,\n y: p3y * c1 + p2y * c2 + p1y * c3\n };\n };\n }\n function getTangentQuadraticIterator(p1x, p1y, p2x, p2y, p3x, p3y) {\n return function(pct) {\n var invT = 1 - pct, tangentX = 2 * invT * (p2x - p1x) + 2 * pct * (p3x - p2x), tangentY = 2 * invT * (p2y - p1y) + 2 * pct * (p3y - p2y);\n return Math.atan2(tangentY, tangentX);\n };\n }\n // this will run over a path segment ( a cubic or quadratic segment) and approximate it\n // with 100 segemnts. This will good enough to calculate the length of the curve\n function pathIterator(iterator, x1, y1) {\n var tempP = {\n x: x1,\n y: y1\n }, p, tmpLen = 0, perc;\n for(perc = 1; perc <= 100; perc += 1){\n p = iterator(perc / 100);\n tmpLen += calcLineLength(tempP.x, tempP.y, p.x, p.y);\n tempP = p;\n }\n return tmpLen;\n }\n /**\n * Given a pathInfo, and a distance in pixels, find the percentage from 0 to 1\n * that correspond to that pixels run over the path.\n * The percentage will be then used to find the correct point on the canvas for the path.\n * @param {Array} segInfo fabricJS collection of information on a parsed path\n * @param {Number} distance from starting point, in pixels.\n * @return {Object} info object with x and y ( the point on canvas ) and angle, the tangent on that point;\n */ function findPercentageForDistance(segInfo, distance) {\n var perc = 0, tmpLen = 0, iterator = segInfo.iterator, tempP = {\n x: segInfo.x,\n y: segInfo.y\n }, p, nextLen, nextStep = 0.01, angleFinder = segInfo.angleFinder, lastPerc;\n // nextStep > 0.0001 covers 0.00015625 that 1/64th of 1/100\n // the path\n while(tmpLen < distance && nextStep > 0.0001){\n p = iterator(perc);\n lastPerc = perc;\n nextLen = calcLineLength(tempP.x, tempP.y, p.x, p.y);\n // compare tmpLen each cycle with distance, decide next perc to test.\n if (nextLen + tmpLen > distance) {\n // we discard this step and we make smaller steps.\n perc -= nextStep;\n nextStep /= 2;\n } else {\n tempP = p;\n perc += nextStep;\n tmpLen += nextLen;\n }\n }\n p.angle = angleFinder(lastPerc);\n return p;\n }\n /**\n * Run over a parsed and simplifed path and extrac some informations.\n * informations are length of each command and starting point\n * @param {Array} path fabricJS parsed path commands\n * @return {Array} path commands informations\n */ function getPathSegmentsInfo(path) {\n var totalLength = 0, len = path.length, current, //x2 and y2 are the coords of segment start\n //x1 and y1 are the coords of the current point\n x1 = 0, y1 = 0, x2 = 0, y2 = 0, info = [], iterator, tempInfo, angleFinder;\n for(var i = 0; i < len; i++){\n current = path[i];\n tempInfo = {\n x: x1,\n y: y1,\n command: current[0]\n };\n switch(current[0]){\n case \"M\":\n tempInfo.length = 0;\n x2 = x1 = current[1];\n y2 = y1 = current[2];\n break;\n case \"L\":\n tempInfo.length = calcLineLength(x1, y1, current[1], current[2]);\n x1 = current[1];\n y1 = current[2];\n break;\n case \"C\":\n iterator = getPointOnCubicBezierIterator(x1, y1, current[1], current[2], current[3], current[4], current[5], current[6]);\n angleFinder = getTangentCubicIterator(x1, y1, current[1], current[2], current[3], current[4], current[5], current[6]);\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[5];\n y1 = current[6];\n break;\n case \"Q\":\n iterator = getPointOnQuadraticBezierIterator(x1, y1, current[1], current[2], current[3], current[4]);\n angleFinder = getTangentQuadraticIterator(x1, y1, current[1], current[2], current[3], current[4]);\n tempInfo.iterator = iterator;\n tempInfo.angleFinder = angleFinder;\n tempInfo.length = pathIterator(iterator, x1, y1);\n x1 = current[3];\n y1 = current[4];\n break;\n case \"Z\":\n case \"z\":\n // we add those in order to ease calculations later\n tempInfo.destX = x2;\n tempInfo.destY = y2;\n tempInfo.length = calcLineLength(x1, y1, x2, y2);\n x1 = x2;\n y1 = y2;\n break;\n }\n totalLength += tempInfo.length;\n info.push(tempInfo);\n }\n info.push({\n length: totalLength,\n x: x1,\n y: y1\n });\n return info;\n }\n function getPointOnPath(path, distance, infos) {\n if (!infos) {\n infos = getPathSegmentsInfo(path);\n }\n var i = 0;\n while(distance - infos[i].length > 0 && i < infos.length - 2){\n distance -= infos[i].length;\n i++;\n }\n // var distance = infos[infos.length - 1] * perc;\n var segInfo = infos[i], segPercent = distance / segInfo.length, command = segInfo.command, segment = path[i], info;\n switch(command){\n case \"M\":\n return {\n x: segInfo.x,\n y: segInfo.y,\n angle: 0\n };\n case \"Z\":\n case \"z\":\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(new fabric.Point(segInfo.destX, segInfo.destY), segPercent);\n info.angle = Math.atan2(segInfo.destY - segInfo.y, segInfo.destX - segInfo.x);\n return info;\n case \"L\":\n info = new fabric.Point(segInfo.x, segInfo.y).lerp(new fabric.Point(segment[1], segment[2]), segPercent);\n info.angle = Math.atan2(segment[2] - segInfo.y, segment[1] - segInfo.x);\n return info;\n case \"C\":\n return findPercentageForDistance(segInfo, distance);\n case \"Q\":\n return findPercentageForDistance(segInfo, distance);\n }\n }\n /**\n *\n * @param {string} pathString\n * @return {(string|number)[][]} An array of SVG path commands\n * @example Usage\n * parsePath('M 3 4 Q 3 5 2 1 4 0 Q 9 12 2 1 4 0') === [\n * ['M', 3, 4],\n * ['Q', 3, 5, 2, 1, 4, 0],\n * ['Q', 9, 12, 2, 1, 4, 0],\n * ];\n *\n */ function parsePath(pathString) {\n var result = [], coords = [], currentPath, parsed, re = fabric.rePathCommand, rNumber = \"[-+]?(?:\\\\d*\\\\.\\\\d+|\\\\d+\\\\.?)(?:[eE][-+]?\\\\d+)?\\\\s*\", rNumberCommaWsp = \"(\" + rNumber + \")\" + fabric.commaWsp, rFlagCommaWsp = \"([01])\" + fabric.commaWsp + \"?\", rArcSeq = rNumberCommaWsp + \"?\" + rNumberCommaWsp + \"?\" + rNumberCommaWsp + rFlagCommaWsp + rFlagCommaWsp + rNumberCommaWsp + \"?(\" + rNumber + \")\", regArcArgumentSequence = new RegExp(rArcSeq, \"g\"), match, coordsStr, // one of commands (m,M,l,L,q,Q,c,C,etc.) followed by non-command characters (i.e. command values)\n path;\n if (!pathString || !pathString.match) {\n return result;\n }\n path = pathString.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi);\n for(var i = 0, coordsParsed, len = path.length; i < len; i++){\n currentPath = path[i];\n coordsStr = currentPath.slice(1).trim();\n coords.length = 0;\n var command = currentPath.charAt(0);\n coordsParsed = [\n command\n ];\n if (command.toLowerCase() === \"a\") {\n // arcs have special flags that apparently don't require spaces so handle special\n for(var args; args = regArcArgumentSequence.exec(coordsStr);){\n for(var j = 1; j < args.length; j++){\n coords.push(args[j]);\n }\n }\n } else {\n while(match = re.exec(coordsStr)){\n coords.push(match[0]);\n }\n }\n for(var j = 0, jlen = coords.length; j < jlen; j++){\n parsed = parseFloat(coords[j]);\n if (!isNaN(parsed)) {\n coordsParsed.push(parsed);\n }\n }\n var commandLength = commandLengths[command.toLowerCase()], repeatedCommand = repeatedCommands[command] || command;\n if (coordsParsed.length - 1 > commandLength) {\n for(var k = 1, klen = coordsParsed.length; k < klen; k += commandLength){\n result.push([\n command\n ].concat(coordsParsed.slice(k, k + commandLength)));\n command = repeatedCommand;\n }\n } else {\n result.push(coordsParsed);\n }\n }\n return result;\n }\n ;\n /**\n *\n * Converts points to a smooth SVG path\n * @param {{ x: number,y: number }[]} points Array of points\n * @param {number} [correction] Apply a correction to the path (usually we use `width / 1000`). If value is undefined 0 is used as the correction value.\n * @return {(string|number)[][]} An array of SVG path commands\n */ function getSmoothPathFromPoints(points, correction) {\n var path = [], i, p1 = new fabric.Point(points[0].x, points[0].y), p2 = new fabric.Point(points[1].x, points[1].y), len = points.length, multSignX = 1, multSignY = 0, manyPoints = len > 2;\n correction = correction || 0;\n if (manyPoints) {\n multSignX = points[2].x < p2.x ? -1 : points[2].x === p2.x ? 0 : 1;\n multSignY = points[2].y < p2.y ? -1 : points[2].y === p2.y ? 0 : 1;\n }\n path.push([\n \"M\",\n p1.x - multSignX * correction,\n p1.y - multSignY * correction\n ]);\n for(i = 1; i < len; i++){\n if (!p1.eq(p2)) {\n var midPoint = p1.midPointFrom(p2);\n // p1 is our bezier control point\n // midpoint is our endpoint\n // start point is p(i-1) value.\n path.push([\n \"Q\",\n p1.x,\n p1.y,\n midPoint.x,\n midPoint.y\n ]);\n }\n p1 = points[i];\n if (i + 1 < points.length) {\n p2 = points[i + 1];\n }\n }\n if (manyPoints) {\n multSignX = p1.x > points[i - 2].x ? 1 : p1.x === points[i - 2].x ? 0 : -1;\n multSignY = p1.y > points[i - 2].y ? 1 : p1.y === points[i - 2].y ? 0 : -1;\n }\n path.push([\n \"L\",\n p1.x + multSignX * correction,\n p1.y + multSignY * correction\n ]);\n return path;\n }\n /**\n * Transform a path by transforming each segment.\n * it has to be a simplified path or it won't work.\n * WARNING: this depends from pathOffset for correct operation\n * @param {Array} path fabricJS parsed and simplified path commands\n * @param {Array} transform matrix that represent the transformation\n * @param {Object} [pathOffset] the fabric.Path pathOffset\n * @param {Number} pathOffset.x\n * @param {Number} pathOffset.y\n * @returns {Array} the transformed path\n */ function transformPath(path, transform, pathOffset) {\n if (pathOffset) {\n transform = fabric.util.multiplyTransformMatrices(transform, [\n 1,\n 0,\n 0,\n 1,\n -pathOffset.x,\n -pathOffset.y\n ]);\n }\n return path.map(function(pathSegment) {\n var newSegment = pathSegment.slice(0), point = {};\n for(var i = 1; i < pathSegment.length - 1; i += 2){\n point.x = pathSegment[i];\n point.y = pathSegment[i + 1];\n point = fabric.util.transformPoint(point, transform);\n newSegment[i] = point.x;\n newSegment[i + 1] = point.y;\n }\n return newSegment;\n });\n }\n /**\n * Join path commands to go back to svg format\n * @param {Array} pathData fabricJS parsed path commands\n * @return {String} joined path 'M 0 0 L 20 30'\n */ fabric.util.joinPath = function(pathData) {\n return pathData.map(function(segment) {\n return segment.join(\" \");\n }).join(\" \");\n };\n fabric.util.parsePath = parsePath;\n fabric.util.makePathSimpler = makePathSimpler;\n fabric.util.getSmoothPathFromPoints = getSmoothPathFromPoints;\n fabric.util.getPathSegmentsInfo = getPathSegmentsInfo;\n fabric.util.getBoundsOfCurve = getBoundsOfCurve;\n fabric.util.getPointOnPath = getPointOnPath;\n fabric.util.transformPath = transformPath;\n})();\n(function() {\n var slice = Array.prototype.slice;\n /**\n * Invokes method on all items in a given array\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} method Name of a method to invoke\n * @return {Array}\n */ function invoke(array, method) {\n var args = slice.call(arguments, 2), result = [];\n for(var i = 0, len = array.length; i < len; i++){\n result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);\n }\n return result;\n }\n /**\n * Finds maximum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */ function max(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 >= value2;\n });\n }\n /**\n * Finds minimum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {*}\n */ function min(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 < value2;\n });\n }\n /**\n * @private\n */ function fill(array, value) {\n var k = array.length;\n while(k--){\n array[k] = value;\n }\n return array;\n }\n /**\n * @private\n */ function find(array, byProperty, condition) {\n if (!array || array.length === 0) {\n return;\n }\n var i = array.length - 1, result = byProperty ? array[i][byProperty] : array[i];\n if (byProperty) {\n while(i--){\n if (condition(array[i][byProperty], result)) {\n result = array[i][byProperty];\n }\n }\n } else {\n while(i--){\n if (condition(array[i], result)) {\n result = array[i];\n }\n }\n }\n return result;\n }\n /**\n * @namespace fabric.util.array\n */ fabric.util.array = {\n fill: fill,\n invoke: invoke,\n min: min,\n max: max\n };\n})();\n(function() {\n /**\n * Copies all enumerable properties of one js object to another\n * this does not and cannot compete with generic utils.\n * Does not clone or extend fabric.Object subclasses.\n * This is mostly for internal use and has extra handling for fabricJS objects\n * it skips the canvas and group properties in deep cloning.\n * @memberOf fabric.util.object\n * @param {Object} destination Where to copy to\n * @param {Object} source Where to copy from\n * @param {Boolean} [deep] Whether to extend nested objects\n * @return {Object}\n */ function extend(destination, source, deep) {\n // JScript DontEnum bug is not taken care of\n // the deep clone is for internal use, is not meant to avoid\n // javascript traps or cloning html element or self referenced objects.\n if (deep) {\n if (!fabric.isLikelyNode && source instanceof Element) {\n // avoid cloning deep images, canvases,\n destination = source;\n } else if (source instanceof Array) {\n destination = [];\n for(var i = 0, len = source.length; i < len; i++){\n destination[i] = extend({}, source[i], deep);\n }\n } else if (source && typeof source === \"object\") {\n for(var property in source){\n if (property === \"canvas\" || property === \"group\") {\n // we do not want to clone this props at all.\n // we want to keep the keys in the copy\n destination[property] = null;\n } else if (source.hasOwnProperty(property)) {\n destination[property] = extend({}, source[property], deep);\n }\n }\n } else {\n // this sounds odd for an extend but is ok for recursive use\n destination = source;\n }\n } else {\n for(var property in source){\n destination[property] = source[property];\n }\n }\n return destination;\n }\n /**\n * Creates an empty object and copies all enumerable properties of another object to it\n * This method is mostly for internal use, and not intended for duplicating shapes in canvas. \n * @memberOf fabric.util.object\n * @param {Object} object Object to clone\n * @param {Boolean} [deep] Whether to clone nested objects\n * @return {Object}\n */ //TODO: this function return an empty object if you try to clone null\n function clone(object, deep) {\n return extend({}, object, deep);\n }\n /** @namespace fabric.util.object */ fabric.util.object = {\n extend: extend,\n clone: clone\n };\n fabric.util.object.extend(fabric.util, fabric.Observable);\n})();\n(function() {\n /**\n * Camelizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to camelize\n * @return {String} Camelized version of a string\n */ function camelize(string) {\n return string.replace(/-+(.)?/g, function(match, character) {\n return character ? character.toUpperCase() : \"\";\n });\n }\n /**\n * Capitalizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to capitalize\n * @param {Boolean} [firstLetterOnly] If true only first letter is capitalized\n * and other letters stay untouched, if false first letter is capitalized\n * and other letters are converted to lowercase.\n * @return {String} Capitalized version of a string\n */ function capitalize(string, firstLetterOnly) {\n return string.charAt(0).toUpperCase() + (firstLetterOnly ? string.slice(1) : string.slice(1).toLowerCase());\n }\n /**\n * Escapes XML in a string\n * @memberOf fabric.util.string\n * @param {String} string String to escape\n * @return {String} Escaped version of a string\n */ function escapeXml(string) {\n return string.replace(/&/g, \"&\").replace(/\"/g, \""\").replace(/'/g, \"'\").replace(//g, \">\");\n }\n /**\n * Divide a string in the user perceived single units\n * @memberOf fabric.util.string\n * @param {String} textstring String to escape\n * @return {Array} array containing the graphemes\n */ function graphemeSplit(textstring) {\n var i = 0, chr, graphemes = [];\n for(i = 0, chr; i < textstring.length; i++){\n if ((chr = getWholeChar(textstring, i)) === false) {\n continue;\n }\n graphemes.push(chr);\n }\n return graphemes;\n }\n // taken from mdn in the charAt doc page.\n function getWholeChar(str, i) {\n var code = str.charCodeAt(i);\n if (isNaN(code)) {\n return \"\"; // Position not found\n }\n if (code < 0xD800 || code > 0xDFFF) {\n return str.charAt(i);\n }\n // High surrogate (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 <= code && code <= 0xDBFF) {\n if (str.length <= i + 1) {\n throw \"High surrogate without following low surrogate\";\n }\n var next = str.charCodeAt(i + 1);\n if (0xDC00 > next || next > 0xDFFF) {\n throw \"High surrogate without following low surrogate\";\n }\n return str.charAt(i) + str.charAt(i + 1);\n }\n // Low surrogate (0xDC00 <= code && code <= 0xDFFF)\n if (i === 0) {\n throw \"Low surrogate without preceding high surrogate\";\n }\n var prev = str.charCodeAt(i - 1);\n // (could change last hex to 0xDB7F to treat high private\n // surrogates as single characters)\n if (0xD800 > prev || prev > 0xDBFF) {\n throw \"Low surrogate without preceding high surrogate\";\n }\n // We can pass over low surrogates now as the second component\n // in a pair which we have already processed\n return false;\n }\n /**\n * String utilities\n * @namespace fabric.util.string\n */ fabric.util.string = {\n camelize: camelize,\n capitalize: capitalize,\n escapeXml: escapeXml,\n graphemeSplit: graphemeSplit\n };\n})();\n(function() {\n var slice = Array.prototype.slice, emptyFunction = function() {}, IS_DONTENUM_BUGGY = function() {\n for(var p in {\n toString: 1\n }){\n if (p === \"toString\") {\n return false;\n }\n }\n return true;\n }(), /** @ignore */ addMethods = function(klass, source, parent) {\n for(var property in source){\n if (property in klass.prototype && typeof klass.prototype[property] === \"function\" && (source[property] + \"\").indexOf(\"callSuper\") > -1) {\n klass.prototype[property] = function(property) {\n return function() {\n var superclass = this.constructor.superclass;\n this.constructor.superclass = parent;\n var returnValue = source[property].apply(this, arguments);\n this.constructor.superclass = superclass;\n if (property !== \"initialize\") {\n return returnValue;\n }\n };\n }(property);\n } else {\n klass.prototype[property] = source[property];\n }\n if (IS_DONTENUM_BUGGY) {\n if (source.toString !== Object.prototype.toString) {\n klass.prototype.toString = source.toString;\n }\n if (source.valueOf !== Object.prototype.valueOf) {\n klass.prototype.valueOf = source.valueOf;\n }\n }\n }\n };\n function Subclass() {}\n function callSuper(methodName) {\n var parentMethod = null, _this = this;\n // climb prototype chain to find method not equal to callee's method\n while(_this.constructor.superclass){\n var superClassMethod = _this.constructor.superclass.prototype[methodName];\n if (_this[methodName] !== superClassMethod) {\n parentMethod = superClassMethod;\n break;\n }\n // eslint-disable-next-line\n _this = _this.constructor.superclass.prototype;\n }\n if (!parentMethod) {\n return console.log(\"tried to callSuper \" + methodName + \", method not found in prototype chain\", this);\n }\n return arguments.length > 1 ? parentMethod.apply(this, slice.call(arguments, 1)) : parentMethod.call(this);\n }\n /**\n * Helper for creation of \"classes\".\n * @memberOf fabric.util\n * @param {Function} [parent] optional \"Class\" to inherit from\n * @param {Object} [properties] Properties shared by all instances of this class\n * (be careful modifying objects defined here as this would affect all instances)\n */ function createClass() {\n var parent = null, properties = slice.call(arguments, 0);\n if (typeof properties[0] === \"function\") {\n parent = properties.shift();\n }\n function klass() {\n this.initialize.apply(this, arguments);\n }\n klass.superclass = parent;\n klass.subclasses = [];\n if (parent) {\n Subclass.prototype = parent.prototype;\n klass.prototype = new Subclass();\n parent.subclasses.push(klass);\n }\n for(var i = 0, length = properties.length; i < length; i++){\n addMethods(klass, properties[i], parent);\n }\n if (!klass.prototype.initialize) {\n klass.prototype.initialize = emptyFunction;\n }\n klass.prototype.constructor = klass;\n klass.prototype.callSuper = callSuper;\n return klass;\n }\n fabric.util.createClass = createClass;\n})();\n(function() {\n // since ie11 can use addEventListener but they do not support options, i need to check\n var couldUseAttachEvent = !!fabric.document.createElement(\"div\").attachEvent, touchEvents = [\n \"touchstart\",\n \"touchmove\",\n \"touchend\"\n ];\n /**\n * Adds an event listener to an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */ fabric.util.addListener = function(element, eventName, handler, options) {\n element && element.addEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n /**\n * Removes an event listener from an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */ fabric.util.removeListener = function(element, eventName, handler, options) {\n element && element.removeEventListener(eventName, handler, couldUseAttachEvent ? false : options);\n };\n function getTouchInfo(event) {\n var touchProp = event.changedTouches;\n if (touchProp && touchProp[0]) {\n return touchProp[0];\n }\n return event;\n }\n fabric.util.getPointer = function(event) {\n var element = event.target, scroll = fabric.util.getScrollLeftTop(element), _evt = getTouchInfo(event);\n return {\n x: _evt.clientX + scroll.left,\n y: _evt.clientY + scroll.top\n };\n };\n fabric.util.isTouchEvent = function(event) {\n return touchEvents.indexOf(event.type) > -1 || event.pointerType === \"touch\";\n };\n})();\n(function() {\n /**\n * Cross-browser wrapper for setting element's style\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {HTMLElement} Element that was passed as a first argument\n */ function setStyle(element, styles) {\n var elementStyle = element.style;\n if (!elementStyle) {\n return element;\n }\n if (typeof styles === \"string\") {\n element.style.cssText += \";\" + styles;\n return styles.indexOf(\"opacity\") > -1 ? setOpacity(element, styles.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1]) : element;\n }\n for(var property in styles){\n if (property === \"opacity\") {\n setOpacity(element, styles[property]);\n } else {\n var normalizedProperty = property === \"float\" || property === \"cssFloat\" ? typeof elementStyle.styleFloat === \"undefined\" ? \"cssFloat\" : \"styleFloat\" : property;\n elementStyle.setProperty(normalizedProperty, styles[property]);\n }\n }\n return element;\n }\n var parseEl = fabric.document.createElement(\"div\"), supportsOpacity = typeof parseEl.style.opacity === \"string\", supportsFilters = typeof parseEl.style.filter === \"string\", reOpacity = /alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/, /** @ignore */ setOpacity = function(element) {\n return element;\n };\n if (supportsOpacity) {\n /** @ignore */ setOpacity = function(element, value) {\n element.style.opacity = value;\n return element;\n };\n } else if (supportsFilters) {\n /** @ignore */ setOpacity = function(element, value) {\n var es = element.style;\n if (element.currentStyle && !element.currentStyle.hasLayout) {\n es.zoom = 1;\n }\n if (reOpacity.test(es.filter)) {\n value = value >= 0.9999 ? \"\" : \"alpha(opacity=\" + value * 100 + \")\";\n es.filter = es.filter.replace(reOpacity, value);\n } else {\n es.filter += \" alpha(opacity=\" + value * 100 + \")\";\n }\n return element;\n };\n }\n fabric.util.setStyle = setStyle;\n})();\n(function() {\n var _slice = Array.prototype.slice;\n /**\n * Takes id and returns an element with that id (if one exists in a document)\n * @memberOf fabric.util\n * @param {String|HTMLElement} id\n * @return {HTMLElement|null}\n */ function getById(id) {\n return typeof id === \"string\" ? fabric.document.getElementById(id) : id;\n }\n var sliceCanConvertNodelists, /**\n * Converts an array-like object (e.g. arguments or NodeList) to an array\n * @memberOf fabric.util\n * @param {Object} arrayLike\n * @return {Array}\n */ toArray = function(arrayLike) {\n return _slice.call(arrayLike, 0);\n };\n try {\n sliceCanConvertNodelists = toArray(fabric.document.childNodes) instanceof Array;\n } catch (err) {}\n if (!sliceCanConvertNodelists) {\n toArray = function(arrayLike) {\n var arr = new Array(arrayLike.length), i = arrayLike.length;\n while(i--){\n arr[i] = arrayLike[i];\n }\n return arr;\n };\n }\n /**\n * Creates specified element with specified attributes\n * @memberOf fabric.util\n * @param {String} tagName Type of an element to create\n * @param {Object} [attributes] Attributes to set on an element\n * @return {HTMLElement} Newly created element\n */ function makeElement(tagName, attributes) {\n var el = fabric.document.createElement(tagName);\n for(var prop in attributes){\n if (prop === \"class\") {\n el.className = attributes[prop];\n } else if (prop === \"for\") {\n el.htmlFor = attributes[prop];\n } else {\n el.setAttribute(prop, attributes[prop]);\n }\n }\n return el;\n }\n /**\n * Adds class to an element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to add class to\n * @param {String} className Class to add to an element\n */ function addClass(element, className) {\n if (element && (\" \" + element.className + \" \").indexOf(\" \" + className + \" \") === -1) {\n element.className += (element.className ? \" \" : \"\") + className;\n }\n }\n /**\n * Wraps element with another element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to wrap\n * @param {HTMLElement|String} wrapper Element to wrap with\n * @param {Object} [attributes] Attributes to set on a wrapper\n * @return {HTMLElement} wrapper\n */ function wrapElement(element, wrapper, attributes) {\n if (typeof wrapper === \"string\") {\n wrapper = makeElement(wrapper, attributes);\n }\n if (element.parentNode) {\n element.parentNode.replaceChild(wrapper, element);\n }\n wrapper.appendChild(element);\n return wrapper;\n }\n /**\n * Returns element scroll offsets\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to operate on\n * @return {Object} Object with left/top values\n */ function getScrollLeftTop(element) {\n var left = 0, top = 0, docElement = fabric.document.documentElement, body = fabric.document.body || {\n scrollLeft: 0,\n scrollTop: 0\n };\n // While loop checks (and then sets element to) .parentNode OR .host\n // to account for ShadowDOM. We still want to traverse up out of ShadowDOM,\n // but the .parentNode of a root ShadowDOM node will always be null, instead\n // it should be accessed through .host. See http://stackoverflow.com/a/24765528/4383938\n while(element && (element.parentNode || element.host)){\n // Set element to element parent, or 'host' in case of ShadowDOM\n element = element.parentNode || element.host;\n if (element === fabric.document) {\n left = body.scrollLeft || docElement.scrollLeft || 0;\n top = body.scrollTop || docElement.scrollTop || 0;\n } else {\n left += element.scrollLeft || 0;\n top += element.scrollTop || 0;\n }\n if (element.nodeType === 1 && element.style.position === \"fixed\") {\n break;\n }\n }\n return {\n left: left,\n top: top\n };\n }\n /**\n * Returns offset for a given element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get offset for\n * @return {Object} Object with \"left\" and \"top\" properties\n */ function getElementOffset(element) {\n var docElem, doc = element && element.ownerDocument, box = {\n left: 0,\n top: 0\n }, offset = {\n left: 0,\n top: 0\n }, scrollLeftTop, offsetAttributes = {\n borderLeftWidth: \"left\",\n borderTopWidth: \"top\",\n paddingLeft: \"left\",\n paddingTop: \"top\"\n };\n if (!doc) {\n return offset;\n }\n for(var attr in offsetAttributes){\n offset[offsetAttributes[attr]] += parseInt(getElementStyle(element, attr), 10) || 0;\n }\n docElem = doc.documentElement;\n if (typeof element.getBoundingClientRect !== \"undefined\") {\n box = element.getBoundingClientRect();\n }\n scrollLeftTop = getScrollLeftTop(element);\n return {\n left: box.left + scrollLeftTop.left - (docElem.clientLeft || 0) + offset.left,\n top: box.top + scrollLeftTop.top - (docElem.clientTop || 0) + offset.top\n };\n }\n /**\n * Returns style attribute value of a given element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get style attribute for\n * @param {String} attr Style attribute to get for element\n * @return {String} Style attribute value of the given element.\n */ var getElementStyle;\n if (fabric.document.defaultView && fabric.document.defaultView.getComputedStyle) {\n getElementStyle = function(element, attr) {\n var style = fabric.document.defaultView.getComputedStyle(element, null);\n return style ? style[attr] : undefined;\n };\n } else {\n getElementStyle = function(element, attr) {\n var value = element.style[attr];\n if (!value && element.currentStyle) {\n value = element.currentStyle[attr];\n }\n return value;\n };\n }\n (function() {\n var style = fabric.document.documentElement.style, selectProp = \"userSelect\" in style ? \"userSelect\" : \"MozUserSelect\" in style ? \"MozUserSelect\" : \"WebkitUserSelect\" in style ? \"WebkitUserSelect\" : \"KhtmlUserSelect\" in style ? \"KhtmlUserSelect\" : \"\";\n /**\n * Makes element unselectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make unselectable\n * @return {HTMLElement} Element that was passed in\n */ function makeElementUnselectable(element) {\n if (typeof element.onselectstart !== \"undefined\") {\n element.onselectstart = fabric.util.falseFunction;\n }\n if (selectProp) {\n element.style[selectProp] = \"none\";\n } else if (typeof element.unselectable === \"string\") {\n element.unselectable = \"on\";\n }\n return element;\n }\n /**\n * Makes element selectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make selectable\n * @return {HTMLElement} Element that was passed in\n */ function makeElementSelectable(element) {\n if (typeof element.onselectstart !== \"undefined\") {\n element.onselectstart = null;\n }\n if (selectProp) {\n element.style[selectProp] = \"\";\n } else if (typeof element.unselectable === \"string\") {\n element.unselectable = \"\";\n }\n return element;\n }\n fabric.util.makeElementUnselectable = makeElementUnselectable;\n fabric.util.makeElementSelectable = makeElementSelectable;\n })();\n function getNodeCanvas(element) {\n var impl = fabric.jsdomImplForWrapper(element);\n return impl._canvas || impl._image;\n }\n ;\n function cleanUpJsdomNode(element) {\n if (!fabric.isLikelyNode) {\n return;\n }\n var impl = fabric.jsdomImplForWrapper(element);\n if (impl) {\n impl._image = null;\n impl._canvas = null;\n // unsure if necessary\n impl._currentSrc = null;\n impl._attributes = null;\n impl._classList = null;\n }\n }\n function setImageSmoothing(ctx, value) {\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled || ctx.webkitImageSmoothingEnabled || ctx.mozImageSmoothingEnabled || ctx.msImageSmoothingEnabled || ctx.oImageSmoothingEnabled;\n ctx.imageSmoothingEnabled = value;\n }\n /**\n * setImageSmoothing sets the context imageSmoothingEnabled property.\n * Used by canvas and by ImageObject.\n * @memberOf fabric.util\n * @since 4.0.0\n * @param {HTMLRenderingContext2D} ctx to set on\n * @param {Boolean} value true or false\n */ fabric.util.setImageSmoothing = setImageSmoothing;\n fabric.util.getById = getById;\n fabric.util.toArray = toArray;\n fabric.util.addClass = addClass;\n fabric.util.makeElement = makeElement;\n fabric.util.wrapElement = wrapElement;\n fabric.util.getScrollLeftTop = getScrollLeftTop;\n fabric.util.getElementOffset = getElementOffset;\n fabric.util.getNodeCanvas = getNodeCanvas;\n fabric.util.cleanUpJsdomNode = cleanUpJsdomNode;\n})();\n(function() {\n function addParamToUrl(url, param) {\n return url + (/\\?/.test(url) ? \"&\" : \"?\") + param;\n }\n function emptyFn() {}\n /**\n * Cross-browser abstraction for sending XMLHttpRequest\n * @memberOf fabric.util\n * @param {String} url URL to send XMLHttpRequest to\n * @param {Object} [options] Options object\n * @param {String} [options.method=\"GET\"]\n * @param {String} [options.parameters] parameters to append to url in GET or in body\n * @param {String} [options.body] body to send with POST or PUT request\n * @param {Function} options.onComplete Callback to invoke when request is completed\n * @return {XMLHttpRequest} request\n */ function request(url, options) {\n options || (options = {});\n var method = options.method ? options.method.toUpperCase() : \"GET\", onComplete = options.onComplete || function() {}, xhr = new fabric.window.XMLHttpRequest(), body = options.body || options.parameters;\n /** @ignore */ xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n onComplete(xhr);\n xhr.onreadystatechange = emptyFn;\n }\n };\n if (method === \"GET\") {\n body = null;\n if (typeof options.parameters === \"string\") {\n url = addParamToUrl(url, options.parameters);\n }\n }\n xhr.open(method, url, true);\n if (method === \"POST\" || method === \"PUT\") {\n xhr.setRequestHeader(\"Content-Type\", \"application/x-www-form-urlencoded\");\n }\n xhr.send(body);\n return xhr;\n }\n fabric.util.request = request;\n})();\n/**\n * Wrapper around `console.log` (when available)\n * @param {*} [values] Values to log\n */ fabric.log = console.log;\n/**\n * Wrapper around `console.warn` (when available)\n * @param {*} [values] Values to log as a warning\n */ fabric.warn = console.warn;\n(function() {\n var extend = fabric.util.object.extend, clone = fabric.util.object.clone;\n /**\n * @typedef {Object} AnimationOptions\n * Animation of a value or list of values.\n * When using lists, think of something like this:\n * fabric.util.animate({\n * startValue: [1, 2, 3],\n * endValue: [2, 4, 6],\n * onChange: function([a, b, c]) {\n * canvas.zoomToPoint({x: b, y: c}, a)\n * canvas.renderAll()\n * }\n * });\n * @example\n * @property {Function} [onChange] Callback; invoked on every value change\n * @property {Function} [onComplete] Callback; invoked when value change is completed\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * var animationOptions = { startValue: 0, endValue: 1, byValue: 0.25 }\n * var animationOptions = { startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] }\n * @property {number | number[]} [startValue=0] Starting value\n * @property {number | number[]} [endValue=100] Ending value\n * @property {number | number[]} [byValue=100] Value to modify the property by\n * @property {Function} [easing] Easing function\n * @property {Number} [duration=500] Duration of change (in ms)\n * @property {Function} [abort] Additional function with logic. If returns true, animation aborts.\n *\n * @typedef {() => void} CancelFunction\n *\n * @typedef {Object} AnimationCurrentState\n * @property {number | number[]} currentValue value in range [`startValue`, `endValue`]\n * @property {number} completionRate value in range [0, 1]\n * @property {number} durationRate value in range [0, 1]\n *\n * @typedef {(AnimationOptions & AnimationCurrentState & { cancel: CancelFunction }} AnimationContext\n */ /**\n * Array holding all running animations\n * @memberof fabric\n * @type {AnimationContext[]}\n */ var RUNNING_ANIMATIONS = [];\n fabric.util.object.extend(RUNNING_ANIMATIONS, {\n /**\n * cancel all running animations at the next requestAnimFrame\n * @returns {AnimationContext[]}\n */ cancelAll: function() {\n var animations = this.splice(0);\n animations.forEach(function(animation) {\n animation.cancel();\n });\n return animations;\n },\n /**\n * cancel all running animations attached to canvas at the next requestAnimFrame\n * @param {fabric.Canvas} canvas\n * @returns {AnimationContext[]}\n */ cancelByCanvas: function(canvas) {\n if (!canvas) {\n return [];\n }\n var cancelled = this.filter(function(animation) {\n return typeof animation.target === \"object\" && animation.target.canvas === canvas;\n });\n cancelled.forEach(function(animation) {\n animation.cancel();\n });\n return cancelled;\n },\n /**\n * cancel all running animations for target at the next requestAnimFrame\n * @param {*} target\n * @returns {AnimationContext[]}\n */ cancelByTarget: function(target) {\n var cancelled = this.findAnimationsByTarget(target);\n cancelled.forEach(function(animation) {\n animation.cancel();\n });\n return cancelled;\n },\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {number}\n */ findAnimationIndex: function(cancelFunc) {\n return this.indexOf(this.findAnimation(cancelFunc));\n },\n /**\n *\n * @param {CancelFunction} cancelFunc the function returned by animate\n * @returns {AnimationContext | undefined} animation's options object\n */ findAnimation: function(cancelFunc) {\n return this.find(function(animation) {\n return animation.cancel === cancelFunc;\n });\n },\n /**\n *\n * @param {*} target the object that is assigned to the target property of the animation context\n * @returns {AnimationContext[]} array of animation options object associated with target\n */ findAnimationsByTarget: function(target) {\n if (!target) {\n return [];\n }\n return this.filter(function(animation) {\n return animation.target === target;\n });\n }\n });\n function noop() {\n return false;\n }\n function defaultEasing(t, b, c, d) {\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n }\n /**\n * Changes value from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {AnimationOptions} [options] Animation options\n * @example\n * // Note: startValue, endValue, and byValue must match the type\n * fabric.util.animate({ startValue: 0, endValue: 1, byValue: 0.25 })\n * fabric.util.animate({ startValue: [0, 1], endValue: [1, 2], byValue: [0.25, 0.25] })\n * @returns {CancelFunction} cancel function\n */ function animate(options) {\n options || (options = {});\n var cancel = false, context, removeFromRegistry = function() {\n var index = fabric.runningAnimations.indexOf(context);\n return index > -1 && fabric.runningAnimations.splice(index, 1)[0];\n };\n context = extend(clone(options), {\n cancel: function() {\n cancel = true;\n return removeFromRegistry();\n },\n currentValue: \"startValue\" in options ? options.startValue : 0,\n completionRate: 0,\n durationRate: 0\n });\n fabric.runningAnimations.push(context);\n requestAnimFrame(function(timestamp) {\n var start = timestamp || +new Date(), duration = options.duration || 500, finish = start + duration, time, onChange = options.onChange || noop, abort = options.abort || noop, onComplete = options.onComplete || noop, easing = options.easing || defaultEasing, isMany = \"startValue\" in options ? options.startValue.length > 0 : false, startValue = \"startValue\" in options ? options.startValue : 0, endValue = \"endValue\" in options ? options.endValue : 100, byValue = options.byValue || (isMany ? startValue.map(function(value, i) {\n return endValue[i] - startValue[i];\n }) : endValue - startValue);\n options.onStart && options.onStart();\n (function tick(ticktime) {\n time = ticktime || +new Date();\n var currentTime = time > finish ? duration : time - start, timePerc = currentTime / duration, current = isMany ? startValue.map(function(_value, i) {\n return easing(currentTime, startValue[i], byValue[i], duration);\n }) : easing(currentTime, startValue, byValue, duration), valuePerc = isMany ? Math.abs((current[0] - startValue[0]) / byValue[0]) : Math.abs((current - startValue) / byValue);\n // update context\n context.currentValue = isMany ? current.slice() : current;\n context.completionRate = valuePerc;\n context.durationRate = timePerc;\n if (cancel) {\n return;\n }\n if (abort(current, valuePerc, timePerc)) {\n removeFromRegistry();\n return;\n }\n if (time > finish) {\n // update context\n context.currentValue = isMany ? endValue.slice() : endValue;\n context.completionRate = 1;\n context.durationRate = 1;\n // execute callbacks\n onChange(isMany ? endValue.slice() : endValue, 1, 1);\n onComplete(endValue, 1, 1);\n removeFromRegistry();\n return;\n } else {\n onChange(current, valuePerc, timePerc);\n requestAnimFrame(tick);\n }\n })(start);\n });\n return context.cancel;\n }\n var _requestAnimFrame = fabric.window.requestAnimationFrame || fabric.window.webkitRequestAnimationFrame || fabric.window.mozRequestAnimationFrame || fabric.window.oRequestAnimationFrame || fabric.window.msRequestAnimationFrame || function(callback) {\n return fabric.window.setTimeout(callback, 1000 / 60);\n };\n var _cancelAnimFrame = fabric.window.cancelAnimationFrame || fabric.window.clearTimeout;\n /**\n * requestAnimationFrame polyfill based on http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * In order to get a precise start time, `requestAnimFrame` should be called as an entry into the method\n * @memberOf fabric.util\n * @param {Function} callback Callback to invoke\n * @param {DOMElement} element optional Element to associate with animation\n */ function requestAnimFrame() {\n return _requestAnimFrame.apply(fabric.window, arguments);\n }\n function cancelAnimFrame() {\n return _cancelAnimFrame.apply(fabric.window, arguments);\n }\n fabric.util.animate = animate;\n fabric.util.requestAnimFrame = requestAnimFrame;\n fabric.util.cancelAnimFrame = cancelAnimFrame;\n fabric.runningAnimations = RUNNING_ANIMATIONS;\n})();\n(function() {\n // Calculate an in-between color. Returns a \"rgba()\" string.\n // Credit: Edwin Martin \n // http://www.bitstorm.org/jquery/color-animation/jquery.animate-colors.js\n function calculateColor(begin, end, pos) {\n var color = \"rgba(\" + parseInt(begin[0] + pos * (end[0] - begin[0]), 10) + \",\" + parseInt(begin[1] + pos * (end[1] - begin[1]), 10) + \",\" + parseInt(begin[2] + pos * (end[2] - begin[2]), 10);\n color += \",\" + (begin && end ? parseFloat(begin[3] + pos * (end[3] - begin[3])) : 1);\n color += \")\";\n return color;\n }\n /**\n * Changes the color from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {String} fromColor The starting color in hex or rgb(a) format.\n * @param {String} toColor The starting color in hex or rgb(a) format.\n * @param {Number} [duration] Duration of change (in ms).\n * @param {Object} [options] Animation options\n * @param {Function} [options.onChange] Callback; invoked on every value change\n * @param {Function} [options.onComplete] Callback; invoked when value change is completed\n * @param {Function} [options.colorEasing] Easing function. Note that this function only take two arguments (currentTime, duration). Thus the regular animation easing functions cannot be used.\n * @param {Function} [options.abort] Additional function with logic. If returns true, onComplete is called.\n * @returns {Function} abort function\n */ function animateColor(fromColor, toColor, duration, options) {\n var startColor = new fabric.Color(fromColor).getSource(), endColor = new fabric.Color(toColor).getSource(), originalOnComplete = options.onComplete, originalOnChange = options.onChange;\n options = options || {};\n return fabric.util.animate(fabric.util.object.extend(options, {\n duration: duration || 500,\n startValue: startColor,\n endValue: endColor,\n byValue: endColor,\n easing: function(currentTime, startValue, byValue, duration) {\n var posValue = options.colorEasing ? options.colorEasing(currentTime, duration) : 1 - Math.cos(currentTime / duration * (Math.PI / 2));\n return calculateColor(startValue, byValue, posValue);\n },\n // has to take in account for color restoring;\n onComplete: function(current, valuePerc, timePerc) {\n if (originalOnComplete) {\n return originalOnComplete(calculateColor(endColor, endColor, 0), valuePerc, timePerc);\n }\n },\n onChange: function(current, valuePerc, timePerc) {\n if (originalOnChange) {\n if (Array.isArray(current)) {\n return originalOnChange(calculateColor(current, current, 0), valuePerc, timePerc);\n }\n originalOnChange(current, valuePerc, timePerc);\n }\n }\n }));\n }\n fabric.util.animateColor = animateColor;\n})();\n(function(global) {\n \"use strict\";\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ var fabric = global.fabric || (global.fabric = {});\n if (fabric.Point) {\n fabric.warn(\"fabric.Point is already defined\");\n return;\n }\n fabric.Point = Point;\n /**\n * Point class\n * @class fabric.Point\n * @memberOf fabric\n * @constructor\n * @param {Number} x\n * @param {Number} y\n * @return {fabric.Point} thisArg\n */ function Point(x, y) {\n this.x = x;\n this.y = y;\n }\n Point.prototype = /** @lends fabric.Point.prototype */ {\n type: \"point\",\n constructor: Point,\n /**\n * Adds another point to this one and returns another one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point instance with added values\n */ add: function(that) {\n return new Point(this.x + that.x, this.y + that.y);\n },\n /**\n * Adds another point to this one\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */ addEquals: function(that) {\n this.x += that.x;\n this.y += that.y;\n return this;\n },\n /**\n * Adds value to this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point} new Point with added value\n */ scalarAdd: function(scalar) {\n return new Point(this.x + scalar, this.y + scalar);\n },\n /**\n * Adds value to this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ scalarAddEquals: function(scalar) {\n this.x += scalar;\n this.y += scalar;\n return this;\n },\n /**\n * Subtracts another point from this point and returns a new one\n * @param {fabric.Point} that\n * @return {fabric.Point} new Point object with subtracted values\n */ subtract: function(that) {\n return new Point(this.x - that.x, this.y - that.y);\n },\n /**\n * Subtracts another point from this point\n * @param {fabric.Point} that\n * @return {fabric.Point} thisArg\n * @chainable\n */ subtractEquals: function(that) {\n this.x -= that.x;\n this.y -= that.y;\n return this;\n },\n /**\n * Subtracts value from this point and returns a new one\n * @param {Number} scalar\n * @return {fabric.Point}\n */ scalarSubtract: function(scalar) {\n return new Point(this.x - scalar, this.y - scalar);\n },\n /**\n * Subtracts value from this point\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ scalarSubtractEquals: function(scalar) {\n this.x -= scalar;\n this.y -= scalar;\n return this;\n },\n /**\n * Multiplies this point by a value and returns a new one\n * TODO: rename in scalarMultiply in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */ multiply: function(scalar) {\n return new Point(this.x * scalar, this.y * scalar);\n },\n /**\n * Multiplies this point by a value\n * TODO: rename in scalarMultiplyEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ multiplyEquals: function(scalar) {\n this.x *= scalar;\n this.y *= scalar;\n return this;\n },\n /**\n * Divides this point by a value and returns a new one\n * TODO: rename in scalarDivide in 2.0\n * @param {Number} scalar\n * @return {fabric.Point}\n */ divide: function(scalar) {\n return new Point(this.x / scalar, this.y / scalar);\n },\n /**\n * Divides this point by a value\n * TODO: rename in scalarDivideEquals in 2.0\n * @param {Number} scalar\n * @return {fabric.Point} thisArg\n * @chainable\n */ divideEquals: function(scalar) {\n this.x /= scalar;\n this.y /= scalar;\n return this;\n },\n /**\n * Returns true if this point is equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ eq: function(that) {\n return this.x === that.x && this.y === that.y;\n },\n /**\n * Returns true if this point is less than another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ lt: function(that) {\n return this.x < that.x && this.y < that.y;\n },\n /**\n * Returns true if this point is less than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ lte: function(that) {\n return this.x <= that.x && this.y <= that.y;\n },\n /**\n\n * Returns true if this point is greater another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ gt: function(that) {\n return this.x > that.x && this.y > that.y;\n },\n /**\n * Returns true if this point is greater than or equal to another one\n * @param {fabric.Point} that\n * @return {Boolean}\n */ gte: function(that) {\n return this.x >= that.x && this.y >= that.y;\n },\n /**\n * Returns new point which is the result of linear interpolation with this one and another one\n * @param {fabric.Point} that\n * @param {Number} t , position of interpolation, between 0 and 1 default 0.5\n * @return {fabric.Point}\n */ lerp: function(that, t) {\n if (typeof t === \"undefined\") {\n t = 0.5;\n }\n t = Math.max(Math.min(1, t), 0);\n return new Point(this.x + (that.x - this.x) * t, this.y + (that.y - this.y) * t);\n },\n /**\n * Returns distance from this point and another one\n * @param {fabric.Point} that\n * @return {Number}\n */ distanceFrom: function(that) {\n var dx = this.x - that.x, dy = this.y - that.y;\n return Math.sqrt(dx * dx + dy * dy);\n },\n /**\n * Returns the point between this point and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ midPointFrom: function(that) {\n return this.lerp(that);\n },\n /**\n * Returns a new point which is the min of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ min: function(that) {\n return new Point(Math.min(this.x, that.x), Math.min(this.y, that.y));\n },\n /**\n * Returns a new point which is the max of this and another one\n * @param {fabric.Point} that\n * @return {fabric.Point}\n */ max: function(that) {\n return new Point(Math.max(this.x, that.x), Math.max(this.y, that.y));\n },\n /**\n * Returns string representation of this point\n * @return {String}\n */ toString: function() {\n return this.x + \",\" + this.y;\n },\n /**\n * Sets x/y of this point\n * @param {Number} x\n * @param {Number} y\n * @chainable\n */ setXY: function(x, y) {\n this.x = x;\n this.y = y;\n return this;\n },\n /**\n * Sets x of this point\n * @param {Number} x\n * @chainable\n */ setX: function(x) {\n this.x = x;\n return this;\n },\n /**\n * Sets y of this point\n * @param {Number} y\n * @chainable\n */ setY: function(y) {\n this.y = y;\n return this;\n },\n /**\n * Sets x/y of this point from another point\n * @param {fabric.Point} that\n * @chainable\n */ setFromPoint: function(that) {\n this.x = that.x;\n this.y = that.y;\n return this;\n },\n /**\n * Swaps x/y of this point and another point\n * @param {fabric.Point} that\n */ swap: function(that) {\n var x = this.x, y = this.y;\n this.x = that.x;\n this.y = that.y;\n that.x = x;\n that.y = y;\n },\n /**\n * return a cloned instance of the point\n * @return {fabric.Point}\n */ clone: function() {\n return new Point(this.x, this.y);\n }\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n /* Adaptation of work of Kevin Lindsey (kevin@kevlindev.com) */ var fabric = global.fabric || (global.fabric = {});\n if (fabric.Intersection) {\n fabric.warn(\"fabric.Intersection is already defined\");\n return;\n }\n /**\n * Intersection class\n * @class fabric.Intersection\n * @memberOf fabric\n * @constructor\n */ function Intersection(status) {\n this.status = status;\n this.points = [];\n }\n fabric.Intersection = Intersection;\n fabric.Intersection.prototype = /** @lends fabric.Intersection.prototype */ {\n constructor: Intersection,\n /**\n * Appends a point to intersection\n * @param {fabric.Point} point\n * @return {fabric.Intersection} thisArg\n * @chainable\n */ appendPoint: function(point) {\n this.points.push(point);\n return this;\n },\n /**\n * Appends points to intersection\n * @param {Array} points\n * @return {fabric.Intersection} thisArg\n * @chainable\n */ appendPoints: function(points) {\n this.points = this.points.concat(points);\n return this;\n }\n };\n /**\n * Checks if one line intersects another\n * TODO: rename in intersectSegmentSegment\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {fabric.Point} b1\n * @param {fabric.Point} b2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectLineLine = function(a1, a2, b1, b2) {\n var result, uaT = (b2.x - b1.x) * (a1.y - b1.y) - (b2.y - b1.y) * (a1.x - b1.x), ubT = (a2.x - a1.x) * (a1.y - b1.y) - (a2.y - a1.y) * (a1.x - b1.x), uB = (b2.y - b1.y) * (a2.x - a1.x) - (b2.x - b1.x) * (a2.y - a1.y);\n if (uB !== 0) {\n var ua = uaT / uB, ub = ubT / uB;\n if (0 <= ua && ua <= 1 && 0 <= ub && ub <= 1) {\n result = new Intersection(\"Intersection\");\n result.appendPoint(new fabric.Point(a1.x + ua * (a2.x - a1.x), a1.y + ua * (a2.y - a1.y)));\n } else {\n result = new Intersection();\n }\n } else {\n if (uaT === 0 || ubT === 0) {\n result = new Intersection(\"Coincident\");\n } else {\n result = new Intersection(\"Parallel\");\n }\n }\n return result;\n };\n /**\n * Checks if line intersects polygon\n * TODO: rename in intersectSegmentPolygon\n * fix detection of coincident\n * @static\n * @param {fabric.Point} a1\n * @param {fabric.Point} a2\n * @param {Array} points\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectLinePolygon = function(a1, a2, points) {\n var result = new Intersection(), length = points.length, b1, b2, inter, i;\n for(i = 0; i < length; i++){\n b1 = points[i];\n b2 = points[(i + 1) % length];\n inter = Intersection.intersectLineLine(a1, a2, b1, b2);\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n /**\n * Checks if polygon intersects another polygon\n * @static\n * @param {Array} points1\n * @param {Array} points2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectPolygonPolygon = function(points1, points2) {\n var result = new Intersection(), length = points1.length, i;\n for(i = 0; i < length; i++){\n var a1 = points1[i], a2 = points1[(i + 1) % length], inter = Intersection.intersectLinePolygon(a1, a2, points2);\n result.appendPoints(inter.points);\n }\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n /**\n * Checks if polygon intersects rectangle\n * @static\n * @param {Array} points\n * @param {fabric.Point} r1\n * @param {fabric.Point} r2\n * @return {fabric.Intersection}\n */ fabric.Intersection.intersectPolygonRectangle = function(points, r1, r2) {\n var min = r1.min(r2), max = r1.max(r2), topRight = new fabric.Point(max.x, min.y), bottomLeft = new fabric.Point(min.x, max.y), inter1 = Intersection.intersectLinePolygon(min, topRight, points), inter2 = Intersection.intersectLinePolygon(topRight, max, points), inter3 = Intersection.intersectLinePolygon(max, bottomLeft, points), inter4 = Intersection.intersectLinePolygon(bottomLeft, min, points), result = new Intersection();\n result.appendPoints(inter1.points);\n result.appendPoints(inter2.points);\n result.appendPoints(inter3.points);\n result.appendPoints(inter4.points);\n if (result.points.length > 0) {\n result.status = \"Intersection\";\n }\n return result;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n if (fabric.Color) {\n fabric.warn(\"fabric.Color is already defined.\");\n return;\n }\n /**\n * Color class\n * The purpose of {@link fabric.Color} is to abstract and encapsulate common color operations;\n * {@link fabric.Color} is a constructor and creates instances of {@link fabric.Color} objects.\n *\n * @class fabric.Color\n * @param {String} color optional in hex or rgb(a) or hsl format or from known color list\n * @return {fabric.Color} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2/#colors}\n */ function Color(color) {\n if (!color) {\n this.setSource([\n 0,\n 0,\n 0,\n 1\n ]);\n } else {\n this._tryParsingColor(color);\n }\n }\n fabric.Color = Color;\n fabric.Color.prototype = /** @lends fabric.Color.prototype */ {\n /**\n * @private\n * @param {String|Array} color Color value to parse\n */ _tryParsingColor: function(color) {\n var source;\n if (color in Color.colorNameMap) {\n color = Color.colorNameMap[color];\n }\n if (color === \"transparent\") {\n source = [\n 255,\n 255,\n 255,\n 0\n ];\n }\n if (!source) {\n source = Color.sourceFromHex(color);\n }\n if (!source) {\n source = Color.sourceFromRgb(color);\n }\n if (!source) {\n source = Color.sourceFromHsl(color);\n }\n if (!source) {\n //if color is not recognize let's make black as canvas does\n source = [\n 0,\n 0,\n 0,\n 1\n ];\n }\n if (source) {\n this.setSource(source);\n }\n },\n /**\n * Adapted from https://github.com/mjijackson\n * @private\n * @param {Number} r Red color value\n * @param {Number} g Green color value\n * @param {Number} b Blue color value\n * @return {Array} Hsl color\n */ _rgbToHsl: function(r, g, b) {\n r /= 255;\n g /= 255;\n b /= 255;\n var h, s, l, max = fabric.util.array.max([\n r,\n g,\n b\n ]), min = fabric.util.array.min([\n r,\n g,\n b\n ]);\n l = (max + min) / 2;\n if (max === min) {\n h = s = 0; // achromatic\n } else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max){\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return [\n Math.round(h * 360),\n Math.round(s * 100),\n Math.round(l * 100)\n ];\n },\n /**\n * Returns source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @return {Array}\n */ getSource: function() {\n return this._source;\n },\n /**\n * Sets source of this color (where source is an array representation; ex: [200, 200, 100, 1])\n * @param {Array} source\n */ setSource: function(source) {\n this._source = source;\n },\n /**\n * Returns color representation in RGB format\n * @return {String} ex: rgb(0-255,0-255,0-255)\n */ toRgb: function() {\n var source = this.getSource();\n return \"rgb(\" + source[0] + \",\" + source[1] + \",\" + source[2] + \")\";\n },\n /**\n * Returns color representation in RGBA format\n * @return {String} ex: rgba(0-255,0-255,0-255,0-1)\n */ toRgba: function() {\n var source = this.getSource();\n return \"rgba(\" + source[0] + \",\" + source[1] + \",\" + source[2] + \",\" + source[3] + \")\";\n },\n /**\n * Returns color representation in HSL format\n * @return {String} ex: hsl(0-360,0%-100%,0%-100%)\n */ toHsl: function() {\n var source = this.getSource(), hsl = this._rgbToHsl(source[0], source[1], source[2]);\n return \"hsl(\" + hsl[0] + \",\" + hsl[1] + \"%,\" + hsl[2] + \"%)\";\n },\n /**\n * Returns color representation in HSLA format\n * @return {String} ex: hsla(0-360,0%-100%,0%-100%,0-1)\n */ toHsla: function() {\n var source = this.getSource(), hsl = this._rgbToHsl(source[0], source[1], source[2]);\n return \"hsla(\" + hsl[0] + \",\" + hsl[1] + \"%,\" + hsl[2] + \"%,\" + source[3] + \")\";\n },\n /**\n * Returns color representation in HEX format\n * @return {String} ex: FF5555\n */ toHex: function() {\n var source = this.getSource(), r, g, b;\n r = source[0].toString(16);\n r = r.length === 1 ? \"0\" + r : r;\n g = source[1].toString(16);\n g = g.length === 1 ? \"0\" + g : g;\n b = source[2].toString(16);\n b = b.length === 1 ? \"0\" + b : b;\n return r.toUpperCase() + g.toUpperCase() + b.toUpperCase();\n },\n /**\n * Returns color representation in HEXA format\n * @return {String} ex: FF5555CC\n */ toHexa: function() {\n var source = this.getSource(), a;\n a = Math.round(source[3] * 255);\n a = a.toString(16);\n a = a.length === 1 ? \"0\" + a : a;\n return this.toHex() + a.toUpperCase();\n },\n /**\n * Gets value of alpha channel for this color\n * @return {Number} 0-1\n */ getAlpha: function() {\n return this.getSource()[3];\n },\n /**\n * Sets value of alpha channel for this color\n * @param {Number} alpha Alpha value 0-1\n * @return {fabric.Color} thisArg\n */ setAlpha: function(alpha) {\n var source = this.getSource();\n source[3] = alpha;\n this.setSource(source);\n return this;\n },\n /**\n * Transforms color to its grayscale representation\n * @return {fabric.Color} thisArg\n */ toGrayscale: function() {\n var source = this.getSource(), average = parseInt((source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), 10), currentAlpha = source[3];\n this.setSource([\n average,\n average,\n average,\n currentAlpha\n ]);\n return this;\n },\n /**\n * Transforms color to its black and white representation\n * @param {Number} threshold\n * @return {fabric.Color} thisArg\n */ toBlackWhite: function(threshold) {\n var source = this.getSource(), average = (source[0] * 0.3 + source[1] * 0.59 + source[2] * 0.11).toFixed(0), currentAlpha = source[3];\n threshold = threshold || 127;\n average = Number(average) < Number(threshold) ? 0 : 255;\n this.setSource([\n average,\n average,\n average,\n currentAlpha\n ]);\n return this;\n },\n /**\n * Overlays color with another color\n * @param {String|fabric.Color} otherColor\n * @return {fabric.Color} thisArg\n */ overlayWith: function(otherColor) {\n if (!(otherColor instanceof Color)) {\n otherColor = new Color(otherColor);\n }\n var result = [], alpha = this.getAlpha(), otherAlpha = 0.5, source = this.getSource(), otherSource = otherColor.getSource(), i;\n for(i = 0; i < 3; i++){\n result.push(Math.round(source[i] * (1 - otherAlpha) + otherSource[i] * otherAlpha));\n }\n result[3] = alpha;\n this.setSource(result);\n return this;\n }\n };\n /**\n * Regex matching color in RGB or RGBA formats (ex: rgb(0, 0, 0), rgba(255, 100, 10, 0.5), rgba( 255 , 100 , 10 , 0.5 ), rgb(1,1,1), rgba(100%, 60%, 10%, 0.5))\n * @static\n * @field\n * @memberOf fabric.Color\n */ // eslint-disable-next-line max-len\n fabric.Color.reRGBa = /^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*(?:\\s*,\\s*((?:\\d*\\.?\\d+)?)\\s*)?\\)$/i;\n /**\n * Regex matching color in HSL or HSLA formats (ex: hsl(200, 80%, 10%), hsla(300, 50%, 80%, 0.5), hsla( 300 , 50% , 80% , 0.5 ))\n * @static\n * @field\n * @memberOf fabric.Color\n */ fabric.Color.reHSLa = /^hsla?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3}\\%)\\s*,\\s*(\\d{1,3}\\%)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/i;\n /**\n * Regex matching color in HEX format (ex: #FF5544CC, #FF5555, 010155, aff)\n * @static\n * @field\n * @memberOf fabric.Color\n */ fabric.Color.reHex = /^#?([0-9a-f]{8}|[0-9a-f]{6}|[0-9a-f]{4}|[0-9a-f]{3})$/i;\n /**\n * Map of the 148 color names with HEX code\n * @static\n * @field\n * @memberOf fabric.Color\n * @see: https://www.w3.org/TR/css3-color/#svg-color\n */ fabric.Color.colorNameMap = {\n aliceblue: \"#F0F8FF\",\n antiquewhite: \"#FAEBD7\",\n aqua: \"#00FFFF\",\n aquamarine: \"#7FFFD4\",\n azure: \"#F0FFFF\",\n beige: \"#F5F5DC\",\n bisque: \"#FFE4C4\",\n black: \"#000000\",\n blanchedalmond: \"#FFEBCD\",\n blue: \"#0000FF\",\n blueviolet: \"#8A2BE2\",\n brown: \"#A52A2A\",\n burlywood: \"#DEB887\",\n cadetblue: \"#5F9EA0\",\n chartreuse: \"#7FFF00\",\n chocolate: \"#D2691E\",\n coral: \"#FF7F50\",\n cornflowerblue: \"#6495ED\",\n cornsilk: \"#FFF8DC\",\n crimson: \"#DC143C\",\n cyan: \"#00FFFF\",\n darkblue: \"#00008B\",\n darkcyan: \"#008B8B\",\n darkgoldenrod: \"#B8860B\",\n darkgray: \"#A9A9A9\",\n darkgrey: \"#A9A9A9\",\n darkgreen: \"#006400\",\n darkkhaki: \"#BDB76B\",\n darkmagenta: \"#8B008B\",\n darkolivegreen: \"#556B2F\",\n darkorange: \"#FF8C00\",\n darkorchid: \"#9932CC\",\n darkred: \"#8B0000\",\n darksalmon: \"#E9967A\",\n darkseagreen: \"#8FBC8F\",\n darkslateblue: \"#483D8B\",\n darkslategray: \"#2F4F4F\",\n darkslategrey: \"#2F4F4F\",\n darkturquoise: \"#00CED1\",\n darkviolet: \"#9400D3\",\n deeppink: \"#FF1493\",\n deepskyblue: \"#00BFFF\",\n dimgray: \"#696969\",\n dimgrey: \"#696969\",\n dodgerblue: \"#1E90FF\",\n firebrick: \"#B22222\",\n floralwhite: \"#FFFAF0\",\n forestgreen: \"#228B22\",\n fuchsia: \"#FF00FF\",\n gainsboro: \"#DCDCDC\",\n ghostwhite: \"#F8F8FF\",\n gold: \"#FFD700\",\n goldenrod: \"#DAA520\",\n gray: \"#808080\",\n grey: \"#808080\",\n green: \"#008000\",\n greenyellow: \"#ADFF2F\",\n honeydew: \"#F0FFF0\",\n hotpink: \"#FF69B4\",\n indianred: \"#CD5C5C\",\n indigo: \"#4B0082\",\n ivory: \"#FFFFF0\",\n khaki: \"#F0E68C\",\n lavender: \"#E6E6FA\",\n lavenderblush: \"#FFF0F5\",\n lawngreen: \"#7CFC00\",\n lemonchiffon: \"#FFFACD\",\n lightblue: \"#ADD8E6\",\n lightcoral: \"#F08080\",\n lightcyan: \"#E0FFFF\",\n lightgoldenrodyellow: \"#FAFAD2\",\n lightgray: \"#D3D3D3\",\n lightgrey: \"#D3D3D3\",\n lightgreen: \"#90EE90\",\n lightpink: \"#FFB6C1\",\n lightsalmon: \"#FFA07A\",\n lightseagreen: \"#20B2AA\",\n lightskyblue: \"#87CEFA\",\n lightslategray: \"#778899\",\n lightslategrey: \"#778899\",\n lightsteelblue: \"#B0C4DE\",\n lightyellow: \"#FFFFE0\",\n lime: \"#00FF00\",\n limegreen: \"#32CD32\",\n linen: \"#FAF0E6\",\n magenta: \"#FF00FF\",\n maroon: \"#800000\",\n mediumaquamarine: \"#66CDAA\",\n mediumblue: \"#0000CD\",\n mediumorchid: \"#BA55D3\",\n mediumpurple: \"#9370DB\",\n mediumseagreen: \"#3CB371\",\n mediumslateblue: \"#7B68EE\",\n mediumspringgreen: \"#00FA9A\",\n mediumturquoise: \"#48D1CC\",\n mediumvioletred: \"#C71585\",\n midnightblue: \"#191970\",\n mintcream: \"#F5FFFA\",\n mistyrose: \"#FFE4E1\",\n moccasin: \"#FFE4B5\",\n navajowhite: \"#FFDEAD\",\n navy: \"#000080\",\n oldlace: \"#FDF5E6\",\n olive: \"#808000\",\n olivedrab: \"#6B8E23\",\n orange: \"#FFA500\",\n orangered: \"#FF4500\",\n orchid: \"#DA70D6\",\n palegoldenrod: \"#EEE8AA\",\n palegreen: \"#98FB98\",\n paleturquoise: \"#AFEEEE\",\n palevioletred: \"#DB7093\",\n papayawhip: \"#FFEFD5\",\n peachpuff: \"#FFDAB9\",\n peru: \"#CD853F\",\n pink: \"#FFC0CB\",\n plum: \"#DDA0DD\",\n powderblue: \"#B0E0E6\",\n purple: \"#800080\",\n rebeccapurple: \"#663399\",\n red: \"#FF0000\",\n rosybrown: \"#BC8F8F\",\n royalblue: \"#4169E1\",\n saddlebrown: \"#8B4513\",\n salmon: \"#FA8072\",\n sandybrown: \"#F4A460\",\n seagreen: \"#2E8B57\",\n seashell: \"#FFF5EE\",\n sienna: \"#A0522D\",\n silver: \"#C0C0C0\",\n skyblue: \"#87CEEB\",\n slateblue: \"#6A5ACD\",\n slategray: \"#708090\",\n slategrey: \"#708090\",\n snow: \"#FFFAFA\",\n springgreen: \"#00FF7F\",\n steelblue: \"#4682B4\",\n tan: \"#D2B48C\",\n teal: \"#008080\",\n thistle: \"#D8BFD8\",\n tomato: \"#FF6347\",\n turquoise: \"#40E0D0\",\n violet: \"#EE82EE\",\n wheat: \"#F5DEB3\",\n white: \"#FFFFFF\",\n whitesmoke: \"#F5F5F5\",\n yellow: \"#FFFF00\",\n yellowgreen: \"#9ACD32\"\n };\n /**\n * @private\n * @param {Number} p\n * @param {Number} q\n * @param {Number} t\n * @return {Number}\n */ function hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n }\n /**\n * Returns new color object, when given a color in RGB format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255)\n * @return {fabric.Color}\n */ fabric.Color.fromRgb = function(color) {\n return Color.fromSource(Color.sourceFromRgb(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in RGB or RGBA format\n * @memberOf fabric.Color\n * @param {String} color Color value ex: rgb(0-255,0-255,0-255), rgb(0%-100%,0%-100%,0%-100%)\n * @return {Array} source\n */ fabric.Color.sourceFromRgb = function(color) {\n var match = color.match(Color.reRGBa);\n if (match) {\n var r = parseInt(match[1], 10) / (/%$/.test(match[1]) ? 100 : 1) * (/%$/.test(match[1]) ? 255 : 1), g = parseInt(match[2], 10) / (/%$/.test(match[2]) ? 100 : 1) * (/%$/.test(match[2]) ? 255 : 1), b = parseInt(match[3], 10) / (/%$/.test(match[3]) ? 100 : 1) * (/%$/.test(match[3]) ? 255 : 1);\n return [\n parseInt(r, 10),\n parseInt(g, 10),\n parseInt(b, 10),\n match[4] ? parseFloat(match[4]) : 1\n ];\n }\n };\n /**\n * Returns new color object, when given a color in RGBA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */ fabric.Color.fromRgba = Color.fromRgb;\n /**\n * Returns new color object, when given a color in HSL format\n * @param {String} color Color value ex: hsl(0-260,0%-100%,0%-100%)\n * @memberOf fabric.Color\n * @return {fabric.Color}\n */ fabric.Color.fromHsl = function(color) {\n return Color.fromSource(Color.sourceFromHsl(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HSL or HSLA format.\n * Adapted from https://github.com/mjijackson\n * @memberOf fabric.Color\n * @param {String} color Color value ex: hsl(0-360,0%-100%,0%-100%) or hsla(0-360,0%-100%,0%-100%, 0-1)\n * @return {Array} source\n * @see http://http://www.w3.org/TR/css3-color/#hsl-color\n */ fabric.Color.sourceFromHsl = function(color) {\n var match = color.match(Color.reHSLa);\n if (!match) {\n return;\n }\n var h = (parseFloat(match[1]) % 360 + 360) % 360 / 360, s = parseFloat(match[2]) / (/%$/.test(match[2]) ? 100 : 1), l = parseFloat(match[3]) / (/%$/.test(match[3]) ? 100 : 1), r, g, b;\n if (s === 0) {\n r = g = b = l;\n } else {\n var q = l <= 0.5 ? l * (s + 1) : l + s - l * s, p = l * 2 - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return [\n Math.round(r * 255),\n Math.round(g * 255),\n Math.round(b * 255),\n match[4] ? parseFloat(match[4]) : 1\n ];\n };\n /**\n * Returns new color object, when given a color in HSLA format\n * @static\n * @function\n * @memberOf fabric.Color\n * @param {String} color\n * @return {fabric.Color}\n */ fabric.Color.fromHsla = Color.fromHsl;\n /**\n * Returns new color object, when given a color in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color Color value ex: FF5555\n * @return {fabric.Color}\n */ fabric.Color.fromHex = function(color) {\n return Color.fromSource(Color.sourceFromHex(color));\n };\n /**\n * Returns array representation (ex: [100, 100, 200, 1]) of a color that's in HEX format\n * @static\n * @memberOf fabric.Color\n * @param {String} color ex: FF5555 or FF5544CC (RGBa)\n * @return {Array} source\n */ fabric.Color.sourceFromHex = function(color) {\n if (color.match(Color.reHex)) {\n var value = color.slice(color.indexOf(\"#\") + 1), isShortNotation = value.length === 3 || value.length === 4, isRGBa = value.length === 8 || value.length === 4, r = isShortNotation ? value.charAt(0) + value.charAt(0) : value.substring(0, 2), g = isShortNotation ? value.charAt(1) + value.charAt(1) : value.substring(2, 4), b = isShortNotation ? value.charAt(2) + value.charAt(2) : value.substring(4, 6), a = isRGBa ? isShortNotation ? value.charAt(3) + value.charAt(3) : value.substring(6, 8) : \"FF\";\n return [\n parseInt(r, 16),\n parseInt(g, 16),\n parseInt(b, 16),\n parseFloat((parseInt(a, 16) / 255).toFixed(2))\n ];\n }\n };\n /**\n * Returns new color object, when given color in array representation (ex: [200, 100, 100, 0.5])\n * @static\n * @memberOf fabric.Color\n * @param {Array} source\n * @return {fabric.Color}\n */ fabric.Color.fromSource = function(source) {\n var oColor = new Color();\n oColor.setSource(source);\n return oColor;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), scaleMap = [\n \"e\",\n \"se\",\n \"s\",\n \"sw\",\n \"w\",\n \"nw\",\n \"n\",\n \"ne\",\n \"e\"\n ], skewMap = [\n \"ns\",\n \"nesw\",\n \"ew\",\n \"nwse\"\n ], controls = {}, LEFT = \"left\", TOP = \"top\", RIGHT = \"right\", BOTTOM = \"bottom\", CENTER = \"center\", opposite = {\n top: BOTTOM,\n bottom: TOP,\n left: RIGHT,\n right: LEFT,\n center: CENTER\n }, radiansToDegrees = fabric.util.radiansToDegrees, sign = Math.sign || function(x) {\n return (x > 0) - (x < 0) || +x;\n };\n /**\n * Combine control position and object angle to find the control direction compared\n * to the object center.\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n * @param {fabric.Control} control the control class\n * @return {Number} 0 - 7 a quadrant number\n */ function findCornerQuadrant(fabricObject, control) {\n var cornerAngle = fabricObject.angle + radiansToDegrees(Math.atan2(control.y, control.x)) + 360;\n return Math.round(cornerAngle % 360 / 45);\n }\n function fireEvent(eventName, options) {\n var target = options.transform.target, canvas = target.canvas, canvasOptions = fabric.util.object.clone(options);\n canvasOptions.target = target;\n canvas && canvas.fire(\"object:\" + eventName, canvasOptions);\n target.fire(eventName, options);\n }\n /**\n * Inspect event and fabricObject properties to understand if the scaling action\n * @param {Event} eventData from the user action\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @return {Boolean} true if scale is proportional\n */ function scaleIsProportional(eventData, fabricObject) {\n var canvas = fabricObject.canvas, uniScaleKey = canvas.uniScaleKey, uniformIsToggled = eventData[uniScaleKey];\n return canvas.uniformScaling && !uniformIsToggled || !canvas.uniformScaling && uniformIsToggled;\n }\n /**\n * Checks if transform is centered\n * @param {Object} transform transform data\n * @return {Boolean} true if transform is centered\n */ function isTransformCentered(transform) {\n return transform.originX === CENTER && transform.originY === CENTER;\n }\n /**\n * Inspect fabricObject to understand if the current scaling action is allowed\n * @param {fabric.Object} fabricObject the fabric object about to scale\n * @param {String} by 'x' or 'y' or ''\n * @param {Boolean} scaleProportionally true if we are trying to scale proportionally\n * @return {Boolean} true if scaling is not allowed at current conditions\n */ function scalingIsForbidden(fabricObject, by, scaleProportionally) {\n var lockX = fabricObject.lockScalingX, lockY = fabricObject.lockScalingY;\n if (lockX && lockY) {\n return true;\n }\n if (!by && (lockX || lockY) && scaleProportionally) {\n return true;\n }\n if (lockX && by === \"x\") {\n return true;\n }\n if (lockY && by === \"y\") {\n return true;\n }\n return false;\n }\n /**\n * return the correct cursor style for the scale action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function scaleCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = \"not-allowed\", scaleProportionally = scaleIsProportional(eventData, fabricObject), by = \"\";\n if (control.x !== 0 && control.y === 0) {\n by = \"x\";\n } else if (control.x === 0 && control.y !== 0) {\n by = \"y\";\n }\n if (scalingIsForbidden(fabricObject, by, scaleProportionally)) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control);\n return scaleMap[n] + \"-resize\";\n }\n /**\n * return the correct cursor style for the skew action\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function skewCursorStyleHandler(eventData, control, fabricObject) {\n var notAllowed = \"not-allowed\";\n if (control.x !== 0 && fabricObject.lockSkewingY) {\n return notAllowed;\n }\n if (control.y !== 0 && fabricObject.lockSkewingX) {\n return notAllowed;\n }\n var n = findCornerQuadrant(fabricObject, control) % 4;\n return skewMap[n] + \"-resize\";\n }\n /**\n * Combine skew and scale style handlers to cover fabric standard use case\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function scaleSkewCursorStyleHandler(eventData, control, fabricObject) {\n if (eventData[fabricObject.canvas.altActionKey]) {\n return controls.skewCursorStyleHandler(eventData, control, fabricObject);\n }\n return controls.scaleCursorStyleHandler(eventData, control, fabricObject);\n }\n /**\n * Inspect event, control and fabricObject to return the correct action name\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} an action name\n */ function scaleOrSkewActionName(eventData, control, fabricObject) {\n var isAlternative = eventData[fabricObject.canvas.altActionKey];\n if (control.x === 0) {\n // then is scaleY or skewX\n return isAlternative ? \"skewX\" : \"scaleY\";\n }\n if (control.y === 0) {\n // then is scaleY or skewX\n return isAlternative ? \"skewY\" : \"scaleX\";\n }\n }\n /**\n * Find the correct style for the control that is used for rotation.\n * this function is very simple and it just take care of not-allowed or standard cursor\n * @param {Event} eventData the javascript event that is causing the scale\n * @param {fabric.Control} control the control that is interested in the action\n * @param {fabric.Object} fabricObject the fabric object that is interested in the action\n * @return {String} a valid css string for the cursor\n */ function rotationStyleHandler(eventData, control, fabricObject) {\n if (fabricObject.lockRotation) {\n return \"not-allowed\";\n }\n return control.cursorStyle;\n }\n function commonEventInfo(eventData, transform, x, y) {\n return {\n e: eventData,\n transform: transform,\n pointer: {\n x: x,\n y: y\n }\n };\n }\n /**\n * Wrap an action handler with saving/restoring object position on the transform.\n * this is the code that permits to objects to keep their position while transforming.\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */ function wrapWithFixedAnchor(actionHandler) {\n return function(eventData, transform, x, y) {\n var target = transform.target, centerPoint = target.getCenterPoint(), constraint = target.translateToOriginPoint(centerPoint, transform.originX, transform.originY), actionPerformed = actionHandler(eventData, transform, x, y);\n target.setPositionByOrigin(constraint, transform.originX, transform.originY);\n return actionPerformed;\n };\n }\n /**\n * Wrap an action handler with firing an event if the action is performed\n * @param {Function} actionHandler the function to wrap\n * @return {Function} a function with an action handler signature\n */ function wrapWithFireEvent(eventName, actionHandler) {\n return function(eventData, transform, x, y) {\n var actionPerformed = actionHandler(eventData, transform, x, y);\n if (actionPerformed) {\n fireEvent(eventName, commonEventInfo(eventData, transform, x, y));\n }\n return actionPerformed;\n };\n }\n /**\n * Transforms a point described by x and y in a distance from the top left corner of the object\n * bounding box.\n * @param {Object} transform\n * @param {String} originX\n * @param {String} originY\n * @param {number} x\n * @param {number} y\n * @return {Fabric.Point} the normalized point\n */ function getLocalPoint(transform, originX, originY, x, y) {\n var target = transform.target, control = target.controls[transform.corner], zoom = target.canvas.getZoom(), padding = target.padding / zoom, localPoint = target.toLocalPoint(new fabric.Point(x, y), originX, originY);\n if (localPoint.x >= padding) {\n localPoint.x -= padding;\n }\n if (localPoint.x <= -padding) {\n localPoint.x += padding;\n }\n if (localPoint.y >= padding) {\n localPoint.y -= padding;\n }\n if (localPoint.y <= padding) {\n localPoint.y += padding;\n }\n localPoint.x -= control.offsetX;\n localPoint.y -= control.offsetY;\n return localPoint;\n }\n /**\n * Detect if the fabric object is flipped on one side.\n * @param {fabric.Object} target\n * @return {Boolean} true if one flip, but not two.\n */ function targetHasOneFlip(target) {\n return target.flipX !== target.flipY;\n }\n /**\n * Utility function to compensate the scale factor when skew is applied on both axes\n * @private\n */ function compensateScaleForSkew(target, oppositeSkew, scaleToCompensate, axis, reference) {\n if (target[oppositeSkew] !== 0) {\n var newDim = target._getTransformedDimensions()[axis];\n var newValue = reference / newDim * target[scaleToCompensate];\n target.set(scaleToCompensate, newValue);\n }\n }\n /**\n * Action handler for skewing on the X axis\n * @private\n */ function skewObjectX(eventData, transform, x, y) {\n var target = transform.target, // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(0, target.skewY), localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.x * 2) - dimNoSkew.x, currentSkew = target.skewX, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n } else {\n newSkew = radiansToDegrees(Math.atan2(totalSkewSize / target.scaleX, dimNoSkew.y / target.scaleY));\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().y;\n target.set(\"skewX\", newSkew);\n compensateScaleForSkew(target, \"skewY\", \"scaleY\", \"y\", dimBeforeSkewing);\n }\n return hasSkewed;\n }\n /**\n * Action handler for skewing on the Y axis\n * @private\n */ function skewObjectY(eventData, transform, x, y) {\n var target = transform.target, // find how big the object would be, if there was no skewX. takes in account scaling\n dimNoSkew = target._getTransformedDimensions(target.skewX, 0), localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), // the mouse is in the center of the object, and we want it to stay there.\n // so the object will grow twice as much as the mouse.\n // this makes the skew growth to localPoint * 2 - dimNoSkew.\n totalSkewSize = Math.abs(localPoint.y * 2) - dimNoSkew.y, currentSkew = target.skewY, newSkew;\n if (totalSkewSize < 2) {\n // let's make it easy to go back to position 0.\n newSkew = 0;\n } else {\n newSkew = radiansToDegrees(Math.atan2(totalSkewSize / target.scaleY, dimNoSkew.x / target.scaleX));\n // now we have to find the sign of the skew.\n // it mostly depend on the origin of transformation.\n if (transform.originX === LEFT && transform.originY === BOTTOM) {\n newSkew = -newSkew;\n }\n if (transform.originX === RIGHT && transform.originY === TOP) {\n newSkew = -newSkew;\n }\n if (targetHasOneFlip(target)) {\n newSkew = -newSkew;\n }\n }\n var hasSkewed = currentSkew !== newSkew;\n if (hasSkewed) {\n var dimBeforeSkewing = target._getTransformedDimensions().x;\n target.set(\"skewY\", newSkew);\n compensateScaleForSkew(target, \"skewX\", \"scaleX\", \"x\", dimBeforeSkewing);\n }\n return hasSkewed;\n }\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function skewHandlerX(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewX > 0 and originY bottom we anchor on right\n // if skewX > 0 and originY top we anchor on left\n // if skewX < 0 and originY bottom we anchor on left\n // if skewX < 0 and originY top we anchor on right\n // if skewX is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewX, originX, originY = transform.originY;\n if (target.lockSkewingX) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.x > 0) {\n // we are pulling right, anchor left;\n originX = LEFT;\n } else {\n // we are pulling right, anchor right\n originX = RIGHT;\n }\n } else {\n if (currentSkew > 0) {\n originX = originY === TOP ? LEFT : RIGHT;\n }\n if (currentSkew < 0) {\n originX = originY === TOP ? RIGHT : LEFT;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originX = originX === LEFT ? RIGHT : LEFT;\n }\n }\n // once we have the origin, we find the anchor point\n transform.originX = originX;\n var finalHandler = wrapWithFireEvent(\"skewing\", wrapWithFixedAnchor(skewObjectX));\n return finalHandler(eventData, transform, x, y);\n }\n /**\n * Wrapped Action handler for skewing on the Y axis, takes care of the\n * skew direction and determine the correct transform origin for the anchor point\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function skewHandlerY(eventData, transform, x, y) {\n // step1 figure out and change transform origin.\n // if skewY > 0 and originX left we anchor on top\n // if skewY > 0 and originX right we anchor on bottom\n // if skewY < 0 and originX left we anchor on bottom\n // if skewY < 0 and originX right we anchor on top\n // if skewY is 0, we look for mouse position to understand where are we going.\n var target = transform.target, currentSkew = target.skewY, originY, originX = transform.originX;\n if (target.lockSkewingY) {\n return false;\n }\n if (currentSkew === 0) {\n var localPointFromCenter = getLocalPoint(transform, CENTER, CENTER, x, y);\n if (localPointFromCenter.y > 0) {\n // we are pulling down, anchor up;\n originY = TOP;\n } else {\n // we are pulling up, anchor down\n originY = BOTTOM;\n }\n } else {\n if (currentSkew > 0) {\n originY = originX === LEFT ? TOP : BOTTOM;\n }\n if (currentSkew < 0) {\n originY = originX === LEFT ? BOTTOM : TOP;\n }\n // is the object flipped on one side only? swap the origin.\n if (targetHasOneFlip(target)) {\n originY = originY === TOP ? BOTTOM : TOP;\n }\n }\n // once we have the origin, we find the anchor point\n transform.originY = originY;\n var finalHandler = wrapWithFireEvent(\"skewing\", wrapWithFixedAnchor(skewObjectY));\n return finalHandler(eventData, transform, x, y);\n }\n /**\n * Action handler for rotation and snapping, without anchor point.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n * @private\n */ function rotationWithSnapping(eventData, transform, x, y) {\n var t = transform, target = t.target, pivotPoint = target.translateToOriginPoint(target.getCenterPoint(), t.originX, t.originY);\n if (target.lockRotation) {\n return false;\n }\n var lastAngle = Math.atan2(t.ey - pivotPoint.y, t.ex - pivotPoint.x), curAngle = Math.atan2(y - pivotPoint.y, x - pivotPoint.x), angle = radiansToDegrees(curAngle - lastAngle + t.theta), hasRotated = true;\n if (target.snapAngle > 0) {\n var snapAngle = target.snapAngle, snapThreshold = target.snapThreshold || snapAngle, rightAngleLocked = Math.ceil(angle / snapAngle) * snapAngle, leftAngleLocked = Math.floor(angle / snapAngle) * snapAngle;\n if (Math.abs(angle - leftAngleLocked) < snapThreshold) {\n angle = leftAngleLocked;\n } else if (Math.abs(angle - rightAngleLocked) < snapThreshold) {\n angle = rightAngleLocked;\n }\n }\n // normalize angle to positive value\n if (angle < 0) {\n angle = 360 + angle;\n }\n angle %= 360;\n hasRotated = target.angle !== angle;\n target.angle = angle;\n return hasRotated;\n }\n /**\n * Basic scaling logic, reused with different constrain for scaling X,Y, freely or equally.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @param {Object} options additional information for scaling\n * @param {String} options.by 'x', 'y', 'equally' or '' to indicate type of scaling\n * @return {Boolean} true if some change happened\n * @private\n */ function scaleObject(eventData, transform, x, y, options) {\n options = options || {};\n var target = transform.target, lockScalingX = target.lockScalingX, lockScalingY = target.lockScalingY, by = options.by, newPoint, scaleX, scaleY, dim, scaleProportionally = scaleIsProportional(eventData, target), forbidScaling = scalingIsForbidden(target, by, scaleProportionally), signX, signY, gestureScale = transform.gestureScale;\n if (forbidScaling) {\n return false;\n }\n if (gestureScale) {\n scaleX = transform.scaleX * gestureScale;\n scaleY = transform.scaleY * gestureScale;\n } else {\n newPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y);\n // use of sign: We use sign to detect change of direction of an action. sign usually change when\n // we cross the origin point with the mouse. So a scale flip for example. There is an issue when scaling\n // by center and scaling using one middle control ( default: mr, mt, ml, mb), the mouse movement can easily\n // cross many time the origin point and flip the object. so we need a way to filter out the noise.\n // This ternary here should be ok to filter out X scaling when we want Y only and vice versa.\n signX = by !== \"y\" ? sign(newPoint.x) : 1;\n signY = by !== \"x\" ? sign(newPoint.y) : 1;\n if (!transform.signX) {\n transform.signX = signX;\n }\n if (!transform.signY) {\n transform.signY = signY;\n }\n if (target.lockScalingFlip && (transform.signX !== signX || transform.signY !== signY)) {\n return false;\n }\n dim = target._getTransformedDimensions();\n // missing detection of flip and logic to switch the origin\n if (scaleProportionally && !by) {\n // uniform scaling\n var distance = Math.abs(newPoint.x) + Math.abs(newPoint.y), original = transform.original, originalDistance = Math.abs(dim.x * original.scaleX / target.scaleX) + Math.abs(dim.y * original.scaleY / target.scaleY), scale = distance / originalDistance;\n scaleX = original.scaleX * scale;\n scaleY = original.scaleY * scale;\n } else {\n scaleX = Math.abs(newPoint.x * target.scaleX / dim.x);\n scaleY = Math.abs(newPoint.y * target.scaleY / dim.y);\n }\n // if we are scaling by center, we need to double the scale\n if (isTransformCentered(transform)) {\n scaleX *= 2;\n scaleY *= 2;\n }\n if (transform.signX !== signX && by !== \"y\") {\n transform.originX = opposite[transform.originX];\n scaleX *= -1;\n transform.signX = signX;\n }\n if (transform.signY !== signY && by !== \"x\") {\n transform.originY = opposite[transform.originY];\n scaleY *= -1;\n transform.signY = signY;\n }\n }\n // minScale is taken are in the setter.\n var oldScaleX = target.scaleX, oldScaleY = target.scaleY;\n if (!by) {\n !lockScalingX && target.set(\"scaleX\", scaleX);\n !lockScalingY && target.set(\"scaleY\", scaleY);\n } else {\n // forbidden cases already handled on top here.\n by === \"x\" && target.set(\"scaleX\", scaleX);\n by === \"y\" && target.set(\"scaleY\", scaleY);\n }\n return oldScaleX !== target.scaleX || oldScaleY !== target.scaleY;\n }\n /**\n * Generic scaling logic, to scale from corners either equally or freely.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectFromCorner(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y);\n }\n /**\n * Scaling logic for the X axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectX(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y, {\n by: \"x\"\n });\n }\n /**\n * Scaling logic for the Y axis.\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scaleObjectY(eventData, transform, x, y) {\n return scaleObject(eventData, transform, x, y, {\n by: \"y\"\n });\n }\n /**\n * Composed action handler to either scale Y or skew X\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scalingYOrSkewingX(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerX(eventData, transform, x, y);\n }\n return controls.scalingY(eventData, transform, x, y);\n }\n /**\n * Composed action handler to either scale X or skew Y\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function scalingXOrSkewingY(eventData, transform, x, y) {\n // ok some safety needed here.\n if (eventData[transform.target.canvas.altActionKey]) {\n return controls.skewHandlerY(eventData, transform, x, y);\n }\n return controls.scalingX(eventData, transform, x, y);\n }\n /**\n * Action handler to change textbox width\n * Needs to be wrapped with `wrapWithFixedAnchor` to be effective\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if some change happened\n */ function changeWidth(eventData, transform, x, y) {\n var target = transform.target, localPoint = getLocalPoint(transform, transform.originX, transform.originY, x, y), strokePadding = target.strokeWidth / (target.strokeUniform ? target.scaleX : 1), multiplier = isTransformCentered(transform) ? 2 : 1, oldWidth = target.width, newWidth = Math.abs(localPoint.x * multiplier / target.scaleX) - strokePadding;\n target.set(\"width\", Math.max(newWidth, 0));\n return oldWidth !== newWidth;\n }\n /**\n * Action handler\n * @private\n * @param {Event} eventData javascript event that is doing the transform\n * @param {Object} transform javascript object containing a series of information around the current transform\n * @param {number} x current mouse x position, canvas normalized\n * @param {number} y current mouse y position, canvas normalized\n * @return {Boolean} true if the translation occurred\n */ function dragHandler(eventData, transform, x, y) {\n var target = transform.target, newLeft = x - transform.offsetX, newTop = y - transform.offsetY, moveX = !target.get(\"lockMovementX\") && target.left !== newLeft, moveY = !target.get(\"lockMovementY\") && target.top !== newTop;\n moveX && target.set(\"left\", newLeft);\n moveY && target.set(\"top\", newTop);\n if (moveX || moveY) {\n fireEvent(\"moving\", commonEventInfo(eventData, transform, x, y));\n }\n return moveX || moveY;\n }\n controls.scaleCursorStyleHandler = scaleCursorStyleHandler;\n controls.skewCursorStyleHandler = skewCursorStyleHandler;\n controls.scaleSkewCursorStyleHandler = scaleSkewCursorStyleHandler;\n controls.rotationWithSnapping = wrapWithFireEvent(\"rotating\", wrapWithFixedAnchor(rotationWithSnapping));\n controls.scalingEqually = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectFromCorner));\n controls.scalingX = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectX));\n controls.scalingY = wrapWithFireEvent(\"scaling\", wrapWithFixedAnchor(scaleObjectY));\n controls.scalingYOrSkewingX = scalingYOrSkewingX;\n controls.scalingXOrSkewingY = scalingXOrSkewingY;\n controls.changeWidth = wrapWithFireEvent(\"resizing\", wrapWithFixedAnchor(changeWidth));\n controls.skewHandlerX = skewHandlerX;\n controls.skewHandlerY = skewHandlerY;\n controls.dragHandler = dragHandler;\n controls.scaleOrSkewActionName = scaleOrSkewActionName;\n controls.rotationStyleHandler = rotationStyleHandler;\n controls.fireEvent = fireEvent;\n controls.wrapWithFixedAnchor = wrapWithFixedAnchor;\n controls.wrapWithFireEvent = wrapWithFireEvent;\n controls.getLocalPoint = getLocalPoint;\n fabric.controlsUtils = controls;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), degreesToRadians = fabric.util.degreesToRadians, controls = fabric.controlsUtils;\n /**\n * Render a round control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */ function renderCircleControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize, ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize, transparentCorners = typeof styleOverride.transparentCorners !== \"undefined\" ? styleOverride.transparentCorners : fabricObject.transparentCorners, methodName = transparentCorners ? \"stroke\" : \"fill\", stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor), myLeft = left, myTop = top, size;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // as soon as fabric react v5, remove ie11, use proper ellipse code.\n if (xSize > ySize) {\n size = xSize;\n ctx.scale(1.0, ySize / xSize);\n myTop = top * xSize / ySize;\n } else if (ySize > xSize) {\n size = ySize;\n ctx.scale(xSize / ySize, 1.0);\n myLeft = left * ySize / xSize;\n } else {\n size = xSize;\n }\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.arc(myLeft, myTop, size / 2, 0, 2 * Math.PI, false);\n ctx[methodName]();\n if (stroke) {\n ctx.stroke();\n }\n ctx.restore();\n }\n /**\n * Render a square control, as per fabric features.\n * This function is written to respect object properties like transparentCorners, cornerSize\n * cornerColor, cornerStrokeColor\n * plus the addition of offsetY and offsetX.\n * @param {CanvasRenderingContext2D} ctx context to render on\n * @param {Number} left x coordinate where the control center should be\n * @param {Number} top y coordinate where the control center should be\n * @param {Object} styleOverride override for fabric.Object controls style\n * @param {fabric.Object} fabricObject the fabric object for which we are rendering controls\n */ function renderSquareControl(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n var xSize = this.sizeX || styleOverride.cornerSize || fabricObject.cornerSize, ySize = this.sizeY || styleOverride.cornerSize || fabricObject.cornerSize, transparentCorners = typeof styleOverride.transparentCorners !== \"undefined\" ? styleOverride.transparentCorners : fabricObject.transparentCorners, methodName = transparentCorners ? \"stroke\" : \"fill\", stroke = !transparentCorners && (styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor), xSizeBy2 = xSize / 2, ySizeBy2 = ySize / 2;\n ctx.save();\n ctx.fillStyle = styleOverride.cornerColor || fabricObject.cornerColor;\n ctx.strokeStyle = styleOverride.cornerStrokeColor || fabricObject.cornerStrokeColor;\n // this is still wrong\n ctx.lineWidth = 1;\n ctx.translate(left, top);\n ctx.rotate(degreesToRadians(fabricObject.angle));\n // this does not work, and fixed with ( && ) does not make sense.\n // to have real transparent corners we need the controls on upperCanvas\n // transparentCorners || ctx.clearRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n ctx[methodName + \"Rect\"](-xSizeBy2, -ySizeBy2, xSize, ySize);\n if (stroke) {\n ctx.strokeRect(-xSizeBy2, -ySizeBy2, xSize, ySize);\n }\n ctx.restore();\n }\n controls.renderCircleControl = renderCircleControl;\n controls.renderSquareControl = renderSquareControl;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n function Control(options) {\n for(var i in options){\n this[i] = options[i];\n }\n }\n fabric.Control = Control;\n fabric.Control.prototype = /** @lends fabric.Control.prototype */ {\n /**\n * keep track of control visibility.\n * mainly for backward compatibility.\n * if you do not want to see a control, you can remove it\n * from the controlset.\n * @type {Boolean}\n * @default true\n */ visible: true,\n /**\n * Name of the action that the control will likely execute.\n * This is optional. FabricJS uses to identify what the user is doing for some\n * extra optimizations. If you are writing a custom control and you want to know\n * somewhere else in the code what is going on, you can use this string here.\n * you can also provide a custom getActionName if your control run multiple actions\n * depending on some external state.\n * default to scale since is the most common, used on 4 corners by default\n * @type {String}\n * @default 'scale'\n */ actionName: \"scale\",\n /**\n * Drawing angle of the control.\n * NOT used for now, but name marked as needed for internal logic\n * example: to reuse the same drawing function for different rotated controls\n * @type {Number}\n * @default 0\n */ angle: 0,\n /**\n * Relative position of the control. X\n * 0,0 is the center of the Object, while -0.5 (left) or 0.5 (right) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ x: 0,\n /**\n * Relative position of the control. Y\n * 0,0 is the center of the Object, while -0.5 (top) or 0.5 (bottom) are the extremities\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ y: 0,\n /**\n * Horizontal offset of the control from the defined position. In pixels\n * Positive offset moves the control to the right, negative to the left.\n * It used when you want to have position of control that does not scale with\n * the bounding box. Example: rotation control is placed at x:0, y: 0.5 on\n * the boundindbox, with an offset of 30 pixels vertically. Those 30 pixels will\n * stay 30 pixels no matter how the object is big. Another example is having 2\n * controls in the corner, that stay in the same position when the object scale.\n * of the bounding box.\n * @type {Number}\n * @default 0\n */ offsetX: 0,\n /**\n * Vertical offset of the control from the defined position. In pixels\n * Positive offset moves the control to the bottom, negative to the top.\n * @type {Number}\n * @default 0\n */ offsetY: 0,\n /**\n * Sets the length of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */ sizeX: null,\n /**\n * Sets the height of the control. If null, defaults to object's cornerSize.\n * Expects both sizeX and sizeY to be set when set.\n * @type {?Number}\n * @default null\n */ sizeY: null,\n /**\n * Sets the length of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */ touchSizeX: null,\n /**\n * Sets the height of the touch area of the control. If null, defaults to object's touchCornerSize.\n * Expects both touchSizeX and touchSizeY to be set when set.\n * @type {?Number}\n * @default null\n */ touchSizeY: null,\n /**\n * Css cursor style to display when the control is hovered.\n * if the method `cursorStyleHandler` is provided, this property is ignored.\n * @type {String}\n * @default 'crosshair'\n */ cursorStyle: \"crosshair\",\n /**\n * If controls has an offsetY or offsetX, draw a line that connects\n * the control to the bounding box\n * @type {Boolean}\n * @default false\n */ withConnection: false,\n /**\n * The control actionHandler, provide one to handle action ( control being moved )\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ actionHandler: function() {},\n /**\n * The control handler for mouse down, provide one to handle mouse down on control\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ mouseDownHandler: function() {},\n /**\n * The control mouseUpHandler, provide one to handle an effect on mouse up.\n * @param {Event} eventData the native mouse event\n * @param {Object} transformData properties of the current transform\n * @param {Number} x x position of the cursor\n * @param {Number} y y position of the cursor\n * @return {Boolean} true if the action/event modified the object\n */ mouseUpHandler: function() {},\n /**\n * Returns control actionHandler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getActionHandler: function() {\n return this.actionHandler;\n },\n /**\n * Returns control mouseDown handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getMouseDownHandler: function() {\n return this.mouseDownHandler;\n },\n /**\n * Returns control mouseUp handler\n * @param {Event} eventData the native mouse event\n * @param {fabric.Object} fabricObject on which the control is displayed\n * @param {fabric.Control} control control for which the action handler is being asked\n * @return {Function} the action handler\n */ getMouseUpHandler: function() {\n return this.mouseUpHandler;\n },\n /**\n * Returns control cursorStyle for css using cursorStyle. If you need a more elaborate\n * function you can pass one in the constructor\n * the cursorStyle property\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */ cursorStyleHandler: function(eventData, control /* fabricObject */ ) {\n return control.cursorStyle;\n },\n /**\n * Returns the action name. The basic implementation just return the actionName property.\n * @param {Event} eventData the native mouse event\n * @param {fabric.Control} control the current control ( likely this)\n * @param {fabric.Object} object on which the control is displayed\n * @return {String}\n */ getActionName: function(eventData, control /* fabricObject */ ) {\n return control.actionName;\n },\n /**\n * Returns controls visibility\n * @param {fabric.Object} object on which the control is displayed\n * @param {String} controlKey key where the control is memorized on the\n * @return {Boolean}\n */ getVisibility: function(fabricObject, controlKey) {\n var objectVisibility = fabricObject._controlsVisibility;\n if (objectVisibility && typeof objectVisibility[controlKey] !== \"undefined\") {\n return objectVisibility[controlKey];\n }\n return this.visible;\n },\n /**\n * Sets controls visibility\n * @param {Boolean} visibility for the object\n * @return {Void}\n */ setVisibility: function(visibility /* name, fabricObject */ ) {\n this.visible = visibility;\n },\n positionHandler: function(dim, finalMatrix /*, fabricObject, currentControl */ ) {\n var point = fabric.util.transformPoint({\n x: this.x * dim.x + this.offsetX,\n y: this.y * dim.y + this.offsetY\n }, finalMatrix);\n return point;\n },\n /**\n * Returns the coords for this control based on object values.\n * @param {Number} objectAngle angle from the fabric object holding the control\n * @param {Number} objectCornerSize cornerSize from the fabric object holding the control (or touchCornerSize if\n * isTouch is true)\n * @param {Number} centerX x coordinate where the control center should be\n * @param {Number} centerY y coordinate where the control center should be\n * @param {boolean} isTouch true if touch corner, false if normal corner\n */ calcCornerCoords: function(objectAngle, objectCornerSize, centerX, centerY, isTouch) {\n var cosHalfOffset, sinHalfOffset, cosHalfOffsetComp, sinHalfOffsetComp, xSize = isTouch ? this.touchSizeX : this.sizeX, ySize = isTouch ? this.touchSizeY : this.sizeY;\n if (xSize && ySize && xSize !== ySize) {\n // handle rectangular corners\n var controlTriangleAngle = Math.atan2(ySize, xSize);\n var cornerHypotenuse = Math.sqrt(xSize * xSize + ySize * ySize) / 2;\n var newTheta = controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n var newThetaComp = Math.PI / 2 - controlTriangleAngle - fabric.util.degreesToRadians(objectAngle);\n cosHalfOffset = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = cornerHypotenuse * fabric.util.sin(newTheta);\n // use complementary angle for two corners\n cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newThetaComp);\n sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newThetaComp);\n } else {\n // handle square corners\n // use default object corner size unless size is defined\n var cornerSize = xSize && ySize ? xSize : objectCornerSize;\n /* 0.7071067812 stands for sqrt(2)/2 */ cornerHypotenuse = cornerSize * 0.7071067812;\n // complementary angles are equal since they're both 45 degrees\n var newTheta = fabric.util.degreesToRadians(45 - objectAngle);\n cosHalfOffset = cosHalfOffsetComp = cornerHypotenuse * fabric.util.cos(newTheta);\n sinHalfOffset = sinHalfOffsetComp = cornerHypotenuse * fabric.util.sin(newTheta);\n }\n return {\n tl: {\n x: centerX - sinHalfOffsetComp,\n y: centerY - cosHalfOffsetComp\n },\n tr: {\n x: centerX + cosHalfOffset,\n y: centerY - sinHalfOffset\n },\n bl: {\n x: centerX - cosHalfOffset,\n y: centerY + sinHalfOffset\n },\n br: {\n x: centerX + sinHalfOffsetComp,\n y: centerY + cosHalfOffsetComp\n }\n };\n },\n /**\n * Render function for the control.\n * When this function runs the context is unscaled. unrotate. Just retina scaled.\n * all the functions will have to translate to the point left,top before starting Drawing\n * if they want to draw a control where the position is detected.\n * left and top are the result of the positionHandler function\n * @param {RenderingContext2D} ctx the context where the control will be drawn\n * @param {Number} left position of the canvas where we are about to render the control.\n * @param {Number} top position of the canvas where we are about to render the control.\n * @param {Object} styleOverride\n * @param {fabric.Object} fabricObject the object where the control is about to be rendered\n */ render: function(ctx, left, top, styleOverride, fabricObject) {\n styleOverride = styleOverride || {};\n switch(styleOverride.cornerStyle || fabricObject.cornerStyle){\n case \"circle\":\n fabric.controlsUtils.renderCircleControl.call(this, ctx, left, top, styleOverride, fabricObject);\n break;\n default:\n fabric.controlsUtils.renderSquareControl.call(this, ctx, left, top, styleOverride, fabricObject);\n }\n }\n };\n})( true ? exports : 0);\n(function() {\n \"use strict\";\n if (fabric.StaticCanvas) {\n fabric.warn(\"fabric.StaticCanvas is already defined.\");\n return;\n }\n // aliases for faster resolution\n var extend = fabric.util.object.extend, getElementOffset = fabric.util.getElementOffset, removeFromArray = fabric.util.removeFromArray, toFixed = fabric.util.toFixed, transformPoint = fabric.util.transformPoint, invertTransform = fabric.util.invertTransform, getNodeCanvas = fabric.util.getNodeCanvas, createCanvasElement = fabric.util.createCanvasElement, CANVAS_INIT_ERROR = new Error(\"Could not initialize `canvas` element\");\n /**\n * Static canvas class\n * @class fabric.StaticCanvas\n * @mixes fabric.Collection\n * @mixes fabric.Observable\n * @see {@link http://fabricjs.com/static_canvas|StaticCanvas demo}\n * @see {@link fabric.StaticCanvas#initialize} for constructor definition\n * @fires before:render\n * @fires after:render\n * @fires canvas:cleared\n * @fires object:added\n * @fires object:removed\n */ fabric.StaticCanvas = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(el, options) {\n options || (options = {});\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n },\n /**\n * Background color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setBackgroundColor}.\n * @type {(String|fabric.Pattern)}\n * @default\n */ backgroundColor: \"\",\n /**\n * Background image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as background, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */ backgroundImage: null,\n /**\n * Overlay color of canvas instance.\n * Should be set via {@link fabric.StaticCanvas#setOverlayColor}\n * @since 1.3.9\n * @type {(String|fabric.Pattern)}\n * @default\n */ overlayColor: \"\",\n /**\n * Overlay image of canvas instance.\n * since 2.4.0 image caching is active, please when putting an image as overlay, add to the\n * canvas property a reference to the canvas it is on. Otherwise the image cannot detect the zoom\n * vale. As an alternative you can disable image objectCaching\n * @type fabric.Image\n * @default\n */ overlayImage: null,\n /**\n * Indicates whether toObject/toDatalessObject should include default values\n * if set to false, takes precedence over the object value.\n * @type Boolean\n * @default\n */ includeDefaultValues: true,\n /**\n * Indicates whether objects' state should be saved\n * @type Boolean\n * @default\n */ stateful: false,\n /**\n * Indicates whether {@link fabric.Collection.add}, {@link fabric.Collection.insertAt} and {@link fabric.Collection.remove},\n * {@link fabric.StaticCanvas.moveTo}, {@link fabric.StaticCanvas.clear} and many more, should also re-render canvas.\n * Disabling this option will not give a performance boost when adding/removing a lot of objects to/from canvas at once\n * since the renders are quequed and executed one per frame.\n * Disabling is suggested anyway and managing the renders of the app manually is not a big effort ( canvas.requestRenderAll() )\n * Left default to true to do not break documentation and old app, fiddles.\n * @type Boolean\n * @default\n */ renderOnAddRemove: true,\n /**\n * Indicates whether object controls (borders/controls) are rendered above overlay image\n * @type Boolean\n * @default\n */ controlsAboveOverlay: false,\n /**\n * Indicates whether the browser can be scrolled when using a touchscreen and dragging on the canvas\n * @type Boolean\n * @default\n */ allowTouchScrolling: false,\n /**\n * Indicates whether this canvas will use image smoothing, this is on by default in browsers\n * @type Boolean\n * @default\n */ imageSmoothingEnabled: true,\n /**\n * The transformation (a Canvas 2D API transform matrix) which focuses the viewport\n * @type Array\n * @example Default transform\n * canvas.viewportTransform = [1, 0, 0, 1, 0, 0];\n * @example Scale by 70% and translate toward bottom-right by 50, without skewing\n * canvas.viewportTransform = [0.7, 0, 0, 0.7, 50, 50];\n * @default\n */ viewportTransform: fabric.iMatrix.concat(),\n /**\n * if set to false background image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */ backgroundVpt: true,\n /**\n * if set to false overlya image is not affected by viewport transform\n * @since 1.6.3\n * @type Boolean\n * @default\n */ overlayVpt: true,\n /**\n * When true, canvas is scaled by devicePixelRatio for better rendering on retina screens\n * @type Boolean\n * @default\n */ enableRetinaScaling: true,\n /**\n * Describe canvas element extension over design\n * properties are tl,tr,bl,br.\n * if canvas is not zoomed/panned those points are the four corner of canvas\n * if canvas is viewportTransformed you those points indicate the extension\n * of canvas element in plain untrasformed coordinates\n * The coordinates get updated with @method calcViewportBoundaries.\n * @memberOf fabric.StaticCanvas.prototype\n */ vptCoords: {},\n /**\n * Based on vptCoords and object.aCoords, skip rendering of objects that\n * are not included in current viewport.\n * May greatly help in applications with crowded canvas and use of zoom/pan\n * If One of the corner of the bounding box of the object is on the canvas\n * the objects get rendered.\n * @memberOf fabric.StaticCanvas.prototype\n * @type Boolean\n * @default\n */ skipOffscreen: true,\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the canvas has rendered, and the context is placed in the\n * top left corner of the canvas.\n * clipPath will clip away controls, if you do not want this to happen use controlsAboveOverlay = true\n * @type fabric.Object\n */ clipPath: undefined,\n /**\n * @private\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n */ _initStatic: function(el, options) {\n var cb = this.requestRenderAllBound;\n this._objects = [];\n this._createLowerCanvas(el);\n this._initOptions(options);\n // only initialize retina scaling once\n if (!this.interactive) {\n this._initRetinaScaling();\n }\n if (options.overlayImage) {\n this.setOverlayImage(options.overlayImage, cb);\n }\n if (options.backgroundImage) {\n this.setBackgroundImage(options.backgroundImage, cb);\n }\n if (options.backgroundColor) {\n this.setBackgroundColor(options.backgroundColor, cb);\n }\n if (options.overlayColor) {\n this.setOverlayColor(options.overlayColor, cb);\n }\n this.calcOffset();\n },\n /**\n * @private\n */ _isRetinaScaling: function() {\n return fabric.devicePixelRatio > 1 && this.enableRetinaScaling;\n },\n /**\n * @private\n * @return {Number} retinaScaling if applied, otherwise 1;\n */ getRetinaScaling: function() {\n return this._isRetinaScaling() ? Math.max(1, fabric.devicePixelRatio) : 1;\n },\n /**\n * @private\n */ _initRetinaScaling: function() {\n if (!this._isRetinaScaling()) {\n return;\n }\n var scaleRatio = fabric.devicePixelRatio;\n this.__initRetinaScaling(scaleRatio, this.lowerCanvasEl, this.contextContainer);\n if (this.upperCanvasEl) {\n this.__initRetinaScaling(scaleRatio, this.upperCanvasEl, this.contextTop);\n }\n },\n __initRetinaScaling: function(scaleRatio, canvas, context) {\n canvas.setAttribute(\"width\", this.width * scaleRatio);\n canvas.setAttribute(\"height\", this.height * scaleRatio);\n context.scale(scaleRatio, scaleRatio);\n },\n /**\n * Calculates canvas element offset relative to the document\n * This method is also attached as \"resize\" event handler of window\n * @return {fabric.Canvas} instance\n * @chainable\n */ calcOffset: function() {\n this._offset = getElementOffset(this.lowerCanvasEl);\n return this;\n },\n /**\n * Sets {@link fabric.StaticCanvas#overlayImage|overlay image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set overlay to\n * @param {Function} callback callback to invoke when image is loaded and set as an overlay\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|overlay image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/MnzHT/|jsFiddle demo}\n * @example Normal overlayImage with left/top = 0\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage with different properties\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched overlayImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/jail_cell_bars.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setOverlayImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched overlayImage #2 - width/height correspond to canvas width/height\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position overlayImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example overlayImage loaded from cross-origin\n * canvas.setOverlayImage('http://fabricjs.com/assets/jail_cell_bars.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */ setOverlayImage: function(image, callback, options) {\n return this.__setBgOverlayImage(\"overlayImage\", image, callback, options);\n },\n /**\n * Sets {@link fabric.StaticCanvas#backgroundImage|background image} for this canvas\n * @param {(fabric.Image|String)} image fabric.Image instance or URL of an image to set background to\n * @param {Function} callback Callback to invoke when image is loaded and set as background\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|background image}.\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/djnr8o7a/28/|jsFiddle demo}\n * @example Normal backgroundImage with left/top = 0\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage with different properties\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top'\n * });\n * @example Stretched backgroundImage #1 - width/height correspond to canvas width/height\n * fabric.Image.fromURL('http://fabricjs.com/assets/honey_im_subtle.png', function(img, isError) {\n * img.set({width: canvas.width, height: canvas.height, originX: 'left', originY: 'top'});\n * canvas.setBackgroundImage(img, canvas.renderAll.bind(canvas));\n * });\n * @example Stretched backgroundImage #2 - width/height correspond to canvas width/height\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * width: canvas.width,\n * height: canvas.height,\n * // Needed to position backgroundImage at 0/0\n * originX: 'left',\n * originY: 'top'\n * });\n * @example backgroundImage loaded from cross-origin\n * canvas.setBackgroundImage('http://fabricjs.com/assets/honey_im_subtle.png', canvas.renderAll.bind(canvas), {\n * opacity: 0.5,\n * angle: 45,\n * left: 400,\n * top: 400,\n * originX: 'left',\n * originY: 'top',\n * crossOrigin: 'anonymous'\n * });\n */ // TODO: fix stretched examples\n setBackgroundImage: function(image, callback, options) {\n return this.__setBgOverlayImage(\"backgroundImage\", image, callback, options);\n },\n /**\n * Sets {@link fabric.StaticCanvas#overlayColor|foreground color} for this canvas\n * @param {(String|fabric.Pattern)} overlayColor Color or pattern to set foreground color to\n * @param {Function} callback Callback to invoke when foreground color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/pB55h/|jsFiddle demo}\n * @example Normal overlayColor - color value\n * canvas.setOverlayColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as overlayColor with repeat and offset\n * canvas.setOverlayColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */ setOverlayColor: function(overlayColor, callback) {\n return this.__setBgOverlayColor(\"overlayColor\", overlayColor, callback);\n },\n /**\n * Sets {@link fabric.StaticCanvas#backgroundColor|background color} for this canvas\n * @param {(String|fabric.Pattern)} backgroundColor Color or pattern to set background color to\n * @param {Function} callback Callback to invoke when background color is set\n * @return {fabric.Canvas} thisArg\n * @chainable\n * @see {@link http://jsfiddle.net/fabricjs/hXzvk/|jsFiddle demo}\n * @example Normal backgroundColor - color value\n * canvas.setBackgroundColor('rgba(255, 73, 64, 0.6)', canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png'\n * }, canvas.renderAll.bind(canvas));\n * @example fabric.Pattern used as backgroundColor with repeat and offset\n * canvas.setBackgroundColor({\n * source: 'http://fabricjs.com/assets/escheresque_ste.png',\n * repeat: 'repeat',\n * offsetX: 200,\n * offsetY: 100\n * }, canvas.renderAll.bind(canvas));\n */ setBackgroundColor: function(backgroundColor, callback) {\n return this.__setBgOverlayColor(\"backgroundColor\", backgroundColor, callback);\n },\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundImage|backgroundImage}\n * or {@link fabric.StaticCanvas#overlayImage|overlayImage})\n * @param {(fabric.Image|String|null)} image fabric.Image instance, URL of an image or null to set background or overlay to\n * @param {Function} callback Callback to invoke when image is loaded and set as background or overlay. The first argument is the created image, the second argument is a flag indicating whether an error occurred or not.\n * @param {Object} [options] Optional options to set for the {@link fabric.Image|image}.\n */ __setBgOverlayImage: function(property, image, callback, options) {\n if (typeof image === \"string\") {\n fabric.util.loadImage(image, function(img, isError) {\n if (img) {\n var instance = new fabric.Image(img, options);\n this[property] = instance;\n instance.canvas = this;\n }\n callback && callback(img, isError);\n }, this, options && options.crossOrigin);\n } else {\n options && image.setOptions(options);\n this[property] = image;\n image && (image.canvas = this);\n callback && callback(image, false);\n }\n return this;\n },\n /**\n * @private\n * @param {String} property Property to set ({@link fabric.StaticCanvas#backgroundColor|backgroundColor}\n * or {@link fabric.StaticCanvas#overlayColor|overlayColor})\n * @param {(Object|String|null)} color Object with pattern information, color value or null\n * @param {Function} [callback] Callback is invoked when color is set\n */ __setBgOverlayColor: function(property, color, callback) {\n this[property] = color;\n this._initGradient(color, property);\n this._initPattern(color, property, callback);\n return this;\n },\n /**\n * @private\n */ _createCanvasElement: function() {\n var element = createCanvasElement();\n if (!element) {\n throw CANVAS_INIT_ERROR;\n }\n if (!element.style) {\n element.style = {};\n }\n if (typeof element.getContext === \"undefined\") {\n throw CANVAS_INIT_ERROR;\n }\n return element;\n },\n /**\n * @private\n * @param {Object} [options] Options object\n */ _initOptions: function(options) {\n var lowerCanvasEl = this.lowerCanvasEl;\n this._setOptions(options);\n this.width = this.width || parseInt(lowerCanvasEl.width, 10) || 0;\n this.height = this.height || parseInt(lowerCanvasEl.height, 10) || 0;\n if (!this.lowerCanvasEl.style) {\n return;\n }\n lowerCanvasEl.width = this.width;\n lowerCanvasEl.height = this.height;\n lowerCanvasEl.style.width = this.width + \"px\";\n lowerCanvasEl.style.height = this.height + \"px\";\n this.viewportTransform = this.viewportTransform.slice();\n },\n /**\n * Creates a bottom canvas\n * @private\n * @param {HTMLElement} [canvasEl]\n */ _createLowerCanvas: function(canvasEl) {\n // canvasEl === 'HTMLCanvasElement' does not work on jsdom/node\n if (canvasEl && canvasEl.getContext) {\n this.lowerCanvasEl = canvasEl;\n } else {\n this.lowerCanvasEl = fabric.util.getById(canvasEl) || this._createCanvasElement();\n }\n fabric.util.addClass(this.lowerCanvasEl, \"lower-canvas\");\n this._originalCanvasStyle = this.lowerCanvasEl.style;\n if (this.interactive) {\n this._applyCanvasStyle(this.lowerCanvasEl);\n }\n this.contextContainer = this.lowerCanvasEl.getContext(\"2d\");\n },\n /**\n * Returns canvas width (in px)\n * @return {Number}\n */ getWidth: function() {\n return this.width;\n },\n /**\n * Returns canvas height (in px)\n * @return {Number}\n */ getHeight: function() {\n return this.height;\n },\n /**\n * Sets width of this canvas instance\n * @param {Number|String} value Value to set width to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setWidth: function(value, options) {\n return this.setDimensions({\n width: value\n }, options);\n },\n /**\n * Sets height of this canvas instance\n * @param {Number|String} value Value to set height to\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setHeight: function(value, options) {\n return this.setDimensions({\n height: value\n }, options);\n },\n /**\n * Sets dimensions (width, height) of this canvas instance. when options.cssOnly flag active you should also supply the unit of measure (px/%/em)\n * @param {Object} dimensions Object with width/height properties\n * @param {Number|String} [dimensions.width] Width of canvas element\n * @param {Number|String} [dimensions.height] Height of canvas element\n * @param {Object} [options] Options object\n * @param {Boolean} [options.backstoreOnly=false] Set the given dimensions only as canvas backstore dimensions\n * @param {Boolean} [options.cssOnly=false] Set the given dimensions only as css dimensions\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ setDimensions: function(dimensions, options) {\n var cssValue;\n options = options || {};\n for(var prop in dimensions){\n cssValue = dimensions[prop];\n if (!options.cssOnly) {\n this._setBackstoreDimension(prop, dimensions[prop]);\n cssValue += \"px\";\n this.hasLostContext = true;\n }\n if (!options.backstoreOnly) {\n this._setCssDimension(prop, cssValue);\n }\n }\n if (this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._setBrushStyles(this.contextTop);\n }\n this._initRetinaScaling();\n this.calcOffset();\n if (!options.cssOnly) {\n this.requestRenderAll();\n }\n return this;\n },\n /**\n * Helper for setting width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {Number} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ _setBackstoreDimension: function(prop, value) {\n this.lowerCanvasEl[prop] = value;\n if (this.upperCanvasEl) {\n this.upperCanvasEl[prop] = value;\n }\n if (this.cacheCanvasEl) {\n this.cacheCanvasEl[prop] = value;\n }\n this[prop] = value;\n return this;\n },\n /**\n * Helper for setting css width/height\n * @private\n * @param {String} prop property (width|height)\n * @param {String} value value to set property to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ _setCssDimension: function(prop, value) {\n this.lowerCanvasEl.style[prop] = value;\n if (this.upperCanvasEl) {\n this.upperCanvasEl.style[prop] = value;\n }\n if (this.wrapperEl) {\n this.wrapperEl.style[prop] = value;\n }\n return this;\n },\n /**\n * Returns canvas zoom level\n * @return {Number}\n */ getZoom: function() {\n return this.viewportTransform[0];\n },\n /**\n * Sets viewport transformation of this canvas instance\n * @param {Array} vpt a Canvas 2D API transform matrix\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setViewportTransform: function(vpt) {\n var activeObject = this._activeObject, backgroundObject = this.backgroundImage, overlayObject = this.overlayImage, object, i, len;\n this.viewportTransform = vpt;\n for(i = 0, len = this._objects.length; i < len; i++){\n object = this._objects[i];\n object.group || object.setCoords(true);\n }\n if (activeObject) {\n activeObject.setCoords();\n }\n if (backgroundObject) {\n backgroundObject.setCoords(true);\n }\n if (overlayObject) {\n overlayObject.setCoords(true);\n }\n this.calcViewportBoundaries();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Sets zoom level of this canvas instance, the zoom centered around point\n * meaning that following zoom to point with the same point will have the visual\n * effect of the zoom originating from that point. The point won't move.\n * It has nothing to do with canvas center or visual center of the viewport.\n * @param {fabric.Point} point to zoom with respect to\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */ zoomToPoint: function(point, value) {\n // TODO: just change the scale, preserve other transformations\n var before = point, vpt = this.viewportTransform.slice(0);\n point = transformPoint(point, invertTransform(this.viewportTransform));\n vpt[0] = value;\n vpt[3] = value;\n var after = transformPoint(point, vpt);\n vpt[4] += before.x - after.x;\n vpt[5] += before.y - after.y;\n return this.setViewportTransform(vpt);\n },\n /**\n * Sets zoom level of this canvas instance\n * @param {Number} value to set zoom to, less than 1 zooms out\n * @return {fabric.Canvas} instance\n * @chainable true\n */ setZoom: function(value) {\n this.zoomToPoint(new fabric.Point(0, 0), value);\n return this;\n },\n /**\n * Pan viewport so as to place point at top left corner of canvas\n * @param {fabric.Point} point to move to\n * @return {fabric.Canvas} instance\n * @chainable true\n */ absolutePan: function(point) {\n var vpt = this.viewportTransform.slice(0);\n vpt[4] = -point.x;\n vpt[5] = -point.y;\n return this.setViewportTransform(vpt);\n },\n /**\n * Pans viewpoint relatively\n * @param {fabric.Point} point (position vector) to move by\n * @return {fabric.Canvas} instance\n * @chainable true\n */ relativePan: function(point) {\n return this.absolutePan(new fabric.Point(-point.x - this.viewportTransform[4], -point.y - this.viewportTransform[5]));\n },\n /**\n * Returns <canvas> element corresponding to this instance\n * @return {HTMLCanvasElement}\n */ getElement: function() {\n return this.lowerCanvasEl;\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was added\n */ _onObjectAdded: function(obj) {\n this.stateful && obj.setupState();\n obj._set(\"canvas\", this);\n obj.setCoords();\n this.fire(\"object:added\", {\n target: obj\n });\n obj.fire(\"added\");\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */ _onObjectRemoved: function(obj) {\n this.fire(\"object:removed\", {\n target: obj\n });\n obj.fire(\"removed\");\n delete obj.canvas;\n },\n /**\n * Clears specified context of canvas element\n * @param {CanvasRenderingContext2D} ctx Context to clear\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clearContext: function(ctx) {\n ctx.clearRect(0, 0, this.width, this.height);\n return this;\n },\n /**\n * Returns context of canvas where objects are drawn\n * @return {CanvasRenderingContext2D}\n */ getContext: function() {\n return this.contextContainer;\n },\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clear: function() {\n this.remove.apply(this, this.getObjects());\n this.backgroundImage = null;\n this.overlayImage = null;\n this.backgroundColor = \"\";\n this.overlayColor = \"\";\n if (this._hasITextHandlers) {\n this.off(\"mouse:up\", this._mouseUpITextHandler);\n this._iTextInstances = null;\n this._hasITextHandlers = false;\n }\n this.clearContext(this.contextContainer);\n this.fire(\"canvas:cleared\");\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Renders the canvas\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAll: function() {\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._objects);\n return this;\n },\n /**\n * Function created to be instance bound at initialization\n * used in requestAnimationFrame rendering\n * Let the fabricJS call it. If you call it manually you could have more\n * animationFrame stacking on to of each other\n * for an imperative rendering, use canvas.renderAll\n * @private\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAndReset: function() {\n this.isRendering = 0;\n this.renderAll();\n },\n /**\n * Append a renderAll request to next animation frame.\n * unless one is already in progress, in that case nothing is done\n * a boolean flag will avoid appending more.\n * @return {fabric.Canvas} instance\n * @chainable\n */ requestRenderAll: function() {\n if (!this.isRendering) {\n this.isRendering = fabric.util.requestAnimFrame(this.renderAndResetBound);\n }\n return this;\n },\n /**\n * Calculate the position of the 4 corner of canvas with current viewportTransform.\n * helps to determinate when an object is in the current rendering viewport using\n * object absolute coordinates ( aCoords )\n * @return {Object} points.tl\n * @chainable\n */ calcViewportBoundaries: function() {\n var points = {}, width = this.width, height = this.height, iVpt = invertTransform(this.viewportTransform);\n points.tl = transformPoint({\n x: 0,\n y: 0\n }, iVpt);\n points.br = transformPoint({\n x: width,\n y: height\n }, iVpt);\n points.tr = new fabric.Point(points.br.x, points.tl.y);\n points.bl = new fabric.Point(points.tl.x, points.br.y);\n this.vptCoords = points;\n return points;\n },\n cancelRequestedRender: function() {\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n },\n /**\n * Renders background, objects, overlay and controls.\n * @param {CanvasRenderingContext2D} ctx\n * @param {Array} objects to render\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderCanvas: function(ctx, objects) {\n var v = this.viewportTransform, path = this.clipPath;\n this.cancelRequestedRender();\n this.calcViewportBoundaries();\n this.clearContext(ctx);\n fabric.util.setImageSmoothing(ctx, this.imageSmoothingEnabled);\n this.fire(\"before:render\", {\n ctx: ctx\n });\n this._renderBackground(ctx);\n ctx.save();\n //apply viewport transform once for all rendering process\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n this._renderObjects(ctx, objects);\n ctx.restore();\n if (!this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n if (path) {\n path.canvas = this;\n // needed to setup a couple of variables\n path.shouldCache();\n path._transformDone = true;\n path.renderCache({\n forClipping: true\n });\n this.drawClipPathOnCanvas(ctx);\n }\n this._renderOverlay(ctx);\n if (this.controlsAboveOverlay && this.interactive) {\n this.drawControls(ctx);\n }\n this.fire(\"after:render\", {\n ctx: ctx\n });\n },\n /**\n * Paint the cached clipPath on the lowerCanvasEl\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawClipPathOnCanvas: function(ctx) {\n var v = this.viewportTransform, path = this.clipPath;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4;\n ctx.globalCompositeOperation = \"destination-in\";\n path.transform(ctx);\n ctx.scale(1 / path.zoomX, 1 / path.zoomY);\n ctx.drawImage(path._cacheCanvas, -path.cacheTranslationX, -path.cacheTranslationY);\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} objects to render\n */ _renderObjects: function(ctx, objects) {\n var i, len;\n for(i = 0, len = objects.length; i < len; ++i){\n objects[i] && objects[i].render(ctx);\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {string} property 'background' or 'overlay'\n */ _renderBackgroundOrOverlay: function(ctx, property) {\n var fill = this[property + \"Color\"], object = this[property + \"Image\"], v = this.viewportTransform, needsVpt = this[property + \"Vpt\"];\n if (!fill && !object) {\n return;\n }\n if (fill) {\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(this.width, 0);\n ctx.lineTo(this.width, this.height);\n ctx.lineTo(0, this.height);\n ctx.closePath();\n ctx.fillStyle = fill.toLive ? fill.toLive(ctx, this) : fill;\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n ctx.transform(1, 0, 0, 1, fill.offsetX || 0, fill.offsetY || 0);\n var m = fill.gradientTransform || fill.patternTransform;\n m && ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n ctx.fill();\n ctx.restore();\n }\n if (object) {\n ctx.save();\n if (needsVpt) {\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n }\n object.render(ctx);\n ctx.restore();\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderBackground: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, \"background\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderOverlay: function(ctx) {\n this._renderBackgroundOrOverlay(ctx, \"overlay\");\n },\n /**\n * Returns coordinates of a center of canvas.\n * Returned value is an object with top and left properties\n * @return {Object} object with \"top\" and \"left\" number values\n * @deprecated migrate to `getCenterPoint`\n */ getCenter: function() {\n return {\n top: this.height / 2,\n left: this.width / 2\n };\n },\n /**\n * Returns coordinates of a center of canvas.\n * @return {fabric.Point} \n */ getCenterPoint: function() {\n return new fabric.Point(this.width / 2, this.height / 2);\n },\n /**\n * Centers object horizontally in the canvas\n * @param {fabric.Object} object Object to center horizontally\n * @return {fabric.Canvas} thisArg\n */ centerObjectH: function(object) {\n return this._centerObject(object, new fabric.Point(this.getCenterPoint().x, object.getCenterPoint().y));\n },\n /**\n * Centers object vertically in the canvas\n * @param {fabric.Object} object Object to center vertically\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ centerObjectV: function(object) {\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, this.getCenterPoint().y));\n },\n /**\n * Centers object vertically and horizontally in the canvas\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ centerObject: function(object) {\n var center = this.getCenterPoint();\n return this._centerObject(object, center);\n },\n /**\n * Centers object vertically and horizontally in the viewport\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObject: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, vpCenter);\n },\n /**\n * Centers object horizontally in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObjectH: function(object) {\n var vpCenter = this.getVpCenter();\n this._centerObject(object, new fabric.Point(vpCenter.x, object.getCenterPoint().y));\n return this;\n },\n /**\n * Centers object Vertically in the viewport, object.top is unchanged\n * @param {fabric.Object} object Object to center vertically and horizontally\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ viewportCenterObjectV: function(object) {\n var vpCenter = this.getVpCenter();\n return this._centerObject(object, new fabric.Point(object.getCenterPoint().x, vpCenter.y));\n },\n /**\n * Calculate the point in canvas that correspond to the center of actual viewport.\n * @return {fabric.Point} vpCenter, viewport center\n * @chainable\n */ getVpCenter: function() {\n var center = this.getCenterPoint(), iVpt = invertTransform(this.viewportTransform);\n return transformPoint(center, iVpt);\n },\n /**\n * @private\n * @param {fabric.Object} object Object to center\n * @param {fabric.Point} center Center point\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ _centerObject: function(object, center) {\n object.setPositionByOrigin(center, \"center\", \"center\");\n object.setCoords();\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Returns dataless JSON representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {String} json string\n */ toDatalessJSON: function(propertiesToInclude) {\n return this.toDatalessObject(propertiesToInclude);\n },\n /**\n * Returns object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return this._toObjectMethod(\"toObject\", propertiesToInclude);\n },\n /**\n * Returns dataless object representation of canvas\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n return this._toObjectMethod(\"toDatalessObject\", propertiesToInclude);\n },\n /**\n * @private\n */ _toObjectMethod: function(methodName, propertiesToInclude) {\n var clipPath = this.clipPath, data = {\n version: fabric.version,\n objects: this._toObjects(methodName, propertiesToInclude)\n };\n if (clipPath && !clipPath.excludeFromExport) {\n data.clipPath = this._toObject(this.clipPath, methodName, propertiesToInclude);\n }\n extend(data, this.__serializeBgOverlay(methodName, propertiesToInclude));\n fabric.util.populateWithProperties(this, data, propertiesToInclude);\n return data;\n },\n /**\n * @private\n */ _toObjects: function(methodName, propertiesToInclude) {\n return this._objects.filter(function(object) {\n return !object.excludeFromExport;\n }).map(function(instance) {\n return this._toObject(instance, methodName, propertiesToInclude);\n }, this);\n },\n /**\n * @private\n */ _toObject: function(instance, methodName, propertiesToInclude) {\n var originalValue;\n if (!this.includeDefaultValues) {\n originalValue = instance.includeDefaultValues;\n instance.includeDefaultValues = false;\n }\n var object = instance[methodName](propertiesToInclude);\n if (!this.includeDefaultValues) {\n instance.includeDefaultValues = originalValue;\n }\n return object;\n },\n /**\n * @private\n */ __serializeBgOverlay: function(methodName, propertiesToInclude) {\n var data = {}, bgImage = this.backgroundImage, overlayImage = this.overlayImage, bgColor = this.backgroundColor, overlayColor = this.overlayColor;\n if (bgColor && bgColor.toObject) {\n if (!bgColor.excludeFromExport) {\n data.background = bgColor.toObject(propertiesToInclude);\n }\n } else if (bgColor) {\n data.background = bgColor;\n }\n if (overlayColor && overlayColor.toObject) {\n if (!overlayColor.excludeFromExport) {\n data.overlay = overlayColor.toObject(propertiesToInclude);\n }\n } else if (overlayColor) {\n data.overlay = overlayColor;\n }\n if (bgImage && !bgImage.excludeFromExport) {\n data.backgroundImage = this._toObject(bgImage, methodName, propertiesToInclude);\n }\n if (overlayImage && !overlayImage.excludeFromExport) {\n data.overlayImage = this._toObject(overlayImage, methodName, propertiesToInclude);\n }\n return data;\n },\n /**\n * Moves an object or the objects of a multiple selection\n * to the bottom of the stack of drawn objects\n * @param {fabric.Object} object Object to send to back\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ sendToBack: function(object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, objs;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = objs.length; i--;){\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.unshift(obj);\n }\n } else {\n removeFromArray(this._objects, object);\n this._objects.unshift(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Moves an object or the objects of a multiple selection\n * to the top of the stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ bringToFront: function(object) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, objs;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = 0; i < objs.length; i++){\n obj = objs[i];\n removeFromArray(this._objects, obj);\n this._objects.push(obj);\n }\n } else {\n removeFromArray(this._objects, object);\n this._objects.push(object);\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * Moves an object or a selection down in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in behind\n * the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ sendBackwards: function(object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, idx, newIdx, objs, objsMoved = 0;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = 0; i < objs.length; i++){\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx > 0 + objsMoved) {\n newIdx = idx - 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n } else {\n idx = this._objects.indexOf(object);\n if (idx !== 0) {\n // if object is not on the bottom of stack\n newIdx = this._findNewLowerIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * @private\n */ _findNewLowerIndex: function(object, idx, intersecting) {\n var newIdx, i;\n if (intersecting) {\n newIdx = idx;\n // traverse down the stack looking for the nearest intersecting object\n for(i = idx - 1; i >= 0; --i){\n var isIntersecting = object.intersectsWithObject(this._objects[i]) || object.isContainedWithinObject(this._objects[i]) || this._objects[i].isContainedWithinObject(object);\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n } else {\n newIdx = idx - 1;\n }\n return newIdx;\n },\n /**\n * Moves an object or a selection up in stack of drawn objects\n * An optional parameter, intersecting allows to move the object in front\n * of the first intersecting object. Where intersection is calculated with\n * bounding box. If no intersection is found, there will not be change in the\n * stack.\n * @param {fabric.Object} object Object to send\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ bringForward: function(object, intersecting) {\n if (!object) {\n return this;\n }\n var activeSelection = this._activeObject, i, obj, idx, newIdx, objs, objsMoved = 0;\n if (object === activeSelection && object.type === \"activeSelection\") {\n objs = activeSelection._objects;\n for(i = objs.length; i--;){\n obj = objs[i];\n idx = this._objects.indexOf(obj);\n if (idx < this._objects.length - 1 - objsMoved) {\n newIdx = idx + 1;\n removeFromArray(this._objects, obj);\n this._objects.splice(newIdx, 0, obj);\n }\n objsMoved++;\n }\n } else {\n idx = this._objects.indexOf(object);\n if (idx !== this._objects.length - 1) {\n // if object is not on top of stack (last item in an array)\n newIdx = this._findNewUpperIndex(object, idx, intersecting);\n removeFromArray(this._objects, object);\n this._objects.splice(newIdx, 0, object);\n }\n }\n this.renderOnAddRemove && this.requestRenderAll();\n return this;\n },\n /**\n * @private\n */ _findNewUpperIndex: function(object, idx, intersecting) {\n var newIdx, i, len;\n if (intersecting) {\n newIdx = idx;\n // traverse up the stack looking for the nearest intersecting object\n for(i = idx + 1, len = this._objects.length; i < len; ++i){\n var isIntersecting = object.intersectsWithObject(this._objects[i]) || object.isContainedWithinObject(this._objects[i]) || this._objects[i].isContainedWithinObject(object);\n if (isIntersecting) {\n newIdx = i;\n break;\n }\n }\n } else {\n newIdx = idx + 1;\n }\n return newIdx;\n },\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {fabric.Object} object Object to send\n * @param {Number} index Position to move to\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ moveTo: function(object, index) {\n removeFromArray(this._objects, object);\n this._objects.splice(index, 0, object);\n return this.renderOnAddRemove && this.requestRenderAll();\n },\n /**\n * Clears a canvas element and dispose objects\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ dispose: function() {\n // cancel eventually ongoing renders\n if (this.isRendering) {\n fabric.util.cancelAnimFrame(this.isRendering);\n this.isRendering = 0;\n }\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n if (this.backgroundImage && this.backgroundImage.dispose) {\n this.backgroundImage.dispose();\n }\n this.backgroundImage = null;\n if (this.overlayImage && this.overlayImage.dispose) {\n this.overlayImage.dispose();\n }\n this.overlayImage = null;\n this._iTextInstances = null;\n this.contextContainer = null;\n // restore canvas style\n this.lowerCanvasEl.classList.remove(\"lower-canvas\");\n fabric.util.setStyle(this.lowerCanvasEl, this._originalCanvasStyle);\n delete this._originalCanvasStyle;\n // restore canvas size to original size in case retina scaling was applied\n this.lowerCanvasEl.setAttribute(\"width\", this.width);\n this.lowerCanvasEl.setAttribute(\"height\", this.height);\n fabric.util.cleanUpJsdomNode(this.lowerCanvasEl);\n this.lowerCanvasEl = undefined;\n return this;\n },\n /**\n * Returns a string representation of an instance\n * @return {String} string representation of an instance\n */ toString: function() {\n return \"#\";\n }\n });\n extend(fabric.StaticCanvas.prototype, fabric.Observable);\n extend(fabric.StaticCanvas.prototype, fabric.Collection);\n extend(fabric.StaticCanvas.prototype, fabric.DataURLExporter);\n extend(fabric.StaticCanvas, /** @lends fabric.StaticCanvas */ {\n /**\n * @static\n * @type String\n * @default\n */ EMPTY_JSON: '{\"objects\": [], \"background\": \"white\"}',\n /**\n * Provides a way to check support of some of the canvas methods\n * (either those of HTMLCanvasElement itself, or rendering context)\n *\n * @param {String} methodName Method to check support for;\n * Could be one of \"setLineDash\"\n * @return {Boolean | null} `true` if method is supported (or at least exists),\n * `null` if canvas element or context can not be initialized\n */ supports: function(methodName) {\n var el = createCanvasElement();\n if (!el || !el.getContext) {\n return null;\n }\n var ctx = el.getContext(\"2d\");\n if (!ctx) {\n return null;\n }\n switch(methodName){\n case \"setLineDash\":\n return typeof ctx.setLineDash !== \"undefined\";\n default:\n return null;\n }\n }\n });\n /**\n * Returns Object representation of canvas\n * this alias is provided because if you call JSON.stringify on an instance,\n * the toJSON object will be invoked if it exists.\n * Having a toJSON method means you can do JSON.stringify(myCanvas)\n * @function\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON compatible object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#serialization}\n * @see {@link http://jsfiddle.net/fabricjs/pec86/|jsFiddle demo}\n * @example JSON without additional properties\n * var json = canvas.toJSON();\n * @example JSON with additional properties included\n * var json = canvas.toJSON(['lockMovementX', 'lockMovementY', 'lockRotation', 'lockScalingX', 'lockScalingY']);\n * @example JSON without default values\n * canvas.includeDefaultValues = false;\n * var json = canvas.toJSON();\n */ fabric.StaticCanvas.prototype.toJSON = fabric.StaticCanvas.prototype.toObject;\n if (fabric.isLikelyNode) {\n fabric.StaticCanvas.prototype.createPNGStream = function() {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createPNGStream();\n };\n fabric.StaticCanvas.prototype.createJPEGStream = function(opts) {\n var impl = getNodeCanvas(this.lowerCanvasEl);\n return impl && impl.createJPEGStream(opts);\n };\n }\n})();\n/**\n * BaseBrush class\n * @class fabric.BaseBrush\n * @see {@link http://fabricjs.com/freedrawing|Freedrawing demo}\n */ fabric.BaseBrush = fabric.util.createClass(/** @lends fabric.BaseBrush.prototype */ {\n /**\n * Color of a brush\n * @type String\n * @default\n */ color: \"rgb(0, 0, 0)\",\n /**\n * Width of a brush, has to be a Number, no string literals\n * @type Number\n * @default\n */ width: 1,\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property replaces \"shadowColor\" (String), \"shadowOffsetX\" (Number),\n * \"shadowOffsetY\" (Number) and \"shadowBlur\" (Number) since v1.2.12\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * Line endings style of a brush (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */ strokeLineCap: \"round\",\n /**\n * Corner style of a brush (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */ strokeLineJoin: \"round\",\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of a brush's\n * @type Number\n * @default\n */ strokeMiterLimit: 10,\n /**\n * Stroke Dash Array.\n * @type Array\n * @default\n */ strokeDashArray: null,\n /**\n * When `true`, the free drawing is limited to the whiteboard size. Default to false.\n * @type Boolean\n * @default false\n */ limitedToCanvasSize: false,\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n ctx.strokeStyle = this.color;\n ctx.lineWidth = this.width;\n ctx.lineCap = this.strokeLineCap;\n ctx.miterLimit = this.strokeMiterLimit;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.setLineDash(this.strokeDashArray || []);\n },\n /**\n * Sets the transformation on given context\n * @param {RenderingContext2d} ctx context to render on\n * @private\n */ _saveAndTransform: function(ctx) {\n var v = this.canvas.viewportTransform;\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n },\n /**\n * Sets brush shadow styles\n * @private\n */ _setShadow: function() {\n if (!this.shadow) {\n return;\n }\n var canvas = this.canvas, shadow = this.shadow, ctx = canvas.contextTop, zoom = canvas.getZoom();\n if (canvas && canvas._isRetinaScaling()) {\n zoom *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * zoom;\n ctx.shadowOffsetX = shadow.offsetX * zoom;\n ctx.shadowOffsetY = shadow.offsetY * zoom;\n },\n needsFullRender: function() {\n var color = new fabric.Color(this.color);\n return color.getAlpha() < 1 || !!this.shadow;\n },\n /**\n * Removes brush shadow styles\n * @private\n */ _resetShadow: function() {\n var ctx = this.canvas.contextTop;\n ctx.shadowColor = \"\";\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n /**\n * Check is pointer is outside canvas boundaries\n * @param {Object} pointer\n * @private\n */ _isOutSideCanvas: function(pointer) {\n return pointer.x < 0 || pointer.x > this.canvas.getWidth() || pointer.y < 0 || pointer.y > this.canvas.getHeight();\n }\n});\n(function() {\n /**\n * PencilBrush class\n * @class fabric.PencilBrush\n * @extends fabric.BaseBrush\n */ fabric.PencilBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.PencilBrush.prototype */ {\n /**\n * Discard points that are less than `decimate` pixel distant from each other\n * @type Number\n * @default 0.4\n */ decimate: 0.4,\n /**\n * Draws a straight line between last recorded point to current pointer\n * Used for `shift` functionality\n *\n * @type boolean\n * @default false\n */ drawStraightLine: false,\n /**\n * The event modifier key that makes the brush draw a straight line.\n * If `null` or 'none' or any other string that is not a modifier key the feature is disabled.\n * @type {'altKey' | 'shiftKey' | 'ctrlKey' | 'none' | undefined | null}\n */ straightLineKey: \"shiftKey\",\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.PencilBrush} Instance of a pencil brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this._points = [];\n },\n needsFullRender: function() {\n return this.callSuper(\"needsFullRender\") || this._hasStraightLine;\n },\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */ _drawSegment: function(ctx, p1, p2) {\n var midPoint = p1.midPointFrom(p2);\n ctx.quadraticCurveTo(p1.x, p1.y, midPoint.x, midPoint.y);\n return midPoint;\n },\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */ onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n this._render();\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this.drawStraightLine = options.e[this.straightLineKey];\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this._captureDrawingPath(pointer) && this._points.length > 1) {\n if (this.needsFullRender()) {\n // redraw curve\n // clear top canvas\n this.canvas.clearContext(this.canvas.contextTop);\n this._render();\n } else {\n var points = this._points, length = points.length, ctx = this.canvas.contextTop;\n // draw the curve update\n this._saveAndTransform(ctx);\n if (this.oldEnd) {\n ctx.beginPath();\n ctx.moveTo(this.oldEnd.x, this.oldEnd.y);\n }\n this.oldEnd = this._drawSegment(ctx, points[length - 2], points[length - 1], true);\n ctx.stroke();\n ctx.restore();\n }\n }\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function(options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return true;\n }\n this.drawStraightLine = false;\n this.oldEnd = undefined;\n this._finalizeAndAddPath();\n return false;\n },\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */ _prepareForDrawing: function(pointer) {\n var p = new fabric.Point(pointer.x, pointer.y);\n this._reset();\n this._addPoint(p);\n this.canvas.contextTop.moveTo(p.x, p.y);\n },\n /**\n * @private\n * @param {fabric.Point} point Point to be added to points array\n */ _addPoint: function(point) {\n if (this._points.length > 1 && point.eq(this._points[this._points.length - 1])) {\n return false;\n }\n if (this.drawStraightLine && this._points.length > 1) {\n this._hasStraightLine = true;\n this._points.pop();\n }\n this._points.push(point);\n return true;\n },\n /**\n * Clear points array and set contextTop canvas style.\n * @private\n */ _reset: function() {\n this._points = [];\n this._setBrushStyles(this.canvas.contextTop);\n this._setShadow();\n this._hasStraightLine = false;\n },\n /**\n * @private\n * @param {Object} pointer Actual mouse position related to the canvas.\n */ _captureDrawingPath: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y);\n return this._addPoint(pointerPoint);\n },\n /**\n * Draw a smooth path on the topCanvas using quadraticCurveTo\n * @private\n * @param {CanvasRenderingContext2D} [ctx]\n */ _render: function(ctx) {\n var i, len, p1 = this._points[0], p2 = this._points[1];\n ctx = ctx || this.canvas.contextTop;\n this._saveAndTransform(ctx);\n ctx.beginPath();\n //if we only have 2 points in the path and they are the same\n //it means that the user only clicked the canvas without moving the mouse\n //then we should be drawing a dot. A path isn't drawn between two identical dots\n //that's why we set them apart a bit\n if (this._points.length === 2 && p1.x === p2.x && p1.y === p2.y) {\n var width = this.width / 1000;\n p1 = new fabric.Point(p1.x, p1.y);\n p2 = new fabric.Point(p2.x, p2.y);\n p1.x -= width;\n p2.x += width;\n }\n ctx.moveTo(p1.x, p1.y);\n for(i = 1, len = this._points.length; i < len; i++){\n // we pick the point between pi + 1 & pi + 2 as the\n // end point and p1 as our control point.\n this._drawSegment(ctx, p1, p2);\n p1 = this._points[i];\n p2 = this._points[i + 1];\n }\n // Draw last line as a straight line while\n // we wait for the next point to be able to calculate\n // the bezier control point\n ctx.lineTo(p1.x, p1.y);\n ctx.stroke();\n ctx.restore();\n },\n /**\n * Converts points to SVG path\n * @param {Array} points Array of points\n * @return {(string|number)[][]} SVG path commands\n */ convertPointsToSVGPath: function(points) {\n var correction = this.width / 1000;\n return fabric.util.getSmoothPathFromPoints(points, correction);\n },\n /**\n * @private\n * @param {(string|number)[][]} pathData SVG path commands\n * @returns {boolean}\n */ _isEmptySVGPath: function(pathData) {\n var pathString = fabric.util.joinPath(pathData);\n return pathString === \"M 0 0 Q 0 0 0 0 L 0 0\";\n },\n /**\n * Creates fabric.Path object to add on canvas\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n */ createPath: function(pathData) {\n var path = new fabric.Path(pathData, {\n fill: null,\n stroke: this.color,\n strokeWidth: this.width,\n strokeLineCap: this.strokeLineCap,\n strokeMiterLimit: this.strokeMiterLimit,\n strokeLineJoin: this.strokeLineJoin,\n strokeDashArray: this.strokeDashArray\n });\n if (this.shadow) {\n this.shadow.affectStroke = true;\n path.shadow = new fabric.Shadow(this.shadow);\n }\n return path;\n },\n /**\n * Decimate points array with the decimate value\n */ decimatePoints: function(points, distance) {\n if (points.length <= 2) {\n return points;\n }\n var zoom = this.canvas.getZoom(), adjustedDistance = Math.pow(distance / zoom, 2), i, l = points.length - 1, lastPoint = points[0], newPoints = [\n lastPoint\n ], cDistance;\n for(i = 1; i < l - 1; i++){\n cDistance = Math.pow(lastPoint.x - points[i].x, 2) + Math.pow(lastPoint.y - points[i].y, 2);\n if (cDistance >= adjustedDistance) {\n lastPoint = points[i];\n newPoints.push(lastPoint);\n }\n }\n /**\n * Add the last point from the original line to the end of the array.\n * This ensures decimate doesn't delete the last point on the line, and ensures the line is > 1 point.\n */ newPoints.push(points[l]);\n return newPoints;\n },\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to the fabric canvas.\n */ _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n var pathData = this.convertPointsToSVGPath(this._points);\n if (this._isEmptySVGPath(pathData)) {\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n this.canvas.requestRenderAll();\n return;\n }\n var path = this.createPath(pathData);\n this.canvas.clearContext(this.canvas.contextTop);\n this.canvas.fire(\"before:path:created\", {\n path: path\n });\n this.canvas.add(path);\n this.canvas.requestRenderAll();\n path.setCoords();\n this._resetShadow();\n // fire event 'path' created\n this.canvas.fire(\"path:created\", {\n path: path\n });\n }\n });\n})();\n/**\n * CircleBrush class\n * @class fabric.CircleBrush\n */ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.CircleBrush.prototype */ {\n /**\n * Width of a brush\n * @type Number\n * @default\n */ width: 10,\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.CircleBrush} Instance of a circle brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this.points = [];\n },\n /**\n * Invoked inside on mouse down and mouse move\n * @param {Object} pointer\n */ drawDot: function(pointer) {\n var point = this.addPoint(pointer), ctx = this.canvas.contextTop;\n this._saveAndTransform(ctx);\n this.dot(ctx, point);\n ctx.restore();\n },\n dot: function(ctx, point) {\n ctx.fillStyle = point.fill;\n ctx.beginPath();\n ctx.arc(point.x, point.y, point.radius, 0, Math.PI * 2, false);\n ctx.closePath();\n ctx.fill();\n },\n /**\n * Invoked on mouse down\n */ onMouseDown: function(pointer) {\n this.points.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.drawDot(pointer);\n },\n /**\n * Render the full state of the brush\n * @private\n */ _render: function() {\n var ctx = this.canvas.contextTop, i, len, points = this.points;\n this._saveAndTransform(ctx);\n for(i = 0, len = points.length; i < len; i++){\n this.dot(ctx, points[i]);\n }\n ctx.restore();\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n if (this.needsFullRender()) {\n this.canvas.clearContext(this.canvas.contextTop);\n this.addPoint(pointer);\n this._render();\n } else {\n this.drawDot(pointer);\n }\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove, i, len;\n this.canvas.renderOnAddRemove = false;\n var circles = [];\n for(i = 0, len = this.points.length; i < len; i++){\n var point = this.points[i], circle = new fabric.Circle({\n radius: point.radius,\n left: point.x,\n top: point.y,\n originX: \"center\",\n originY: \"center\",\n fill: point.fill\n });\n this.shadow && (circle.shadow = new fabric.Shadow(this.shadow));\n circles.push(circle);\n }\n var group = new fabric.Group(circles);\n group.canvas = this.canvas;\n this.canvas.fire(\"before:path:created\", {\n path: group\n });\n this.canvas.add(group);\n this.canvas.fire(\"path:created\", {\n path: group\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n /**\n * @param {Object} pointer\n * @return {fabric.Point} Just added pointer point\n */ addPoint: function(pointer) {\n var pointerPoint = new fabric.Point(pointer.x, pointer.y), circleRadius = fabric.util.getRandomInt(Math.max(0, this.width - 20), this.width + 20) / 2, circleColor = new fabric.Color(this.color).setAlpha(fabric.util.getRandomInt(0, 100) / 100).toRgba();\n pointerPoint.radius = circleRadius;\n pointerPoint.fill = circleColor;\n this.points.push(pointerPoint);\n return pointerPoint;\n }\n});\n/**\n * SprayBrush class\n * @class fabric.SprayBrush\n */ fabric.SprayBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric.SprayBrush.prototype */ {\n /**\n * Width of a spray\n * @type Number\n * @default\n */ width: 10,\n /**\n * Density of a spray (number of dots per chunk)\n * @type Number\n * @default\n */ density: 20,\n /**\n * Width of spray dots\n * @type Number\n * @default\n */ dotWidth: 1,\n /**\n * Width variance of spray dots\n * @type Number\n * @default\n */ dotWidthVariance: 1,\n /**\n * Whether opacity of a dot should be random\n * @type Boolean\n * @default\n */ randomOpacity: false,\n /**\n * Whether overlapping dots (rectangles) should be removed (for performance reasons)\n * @type Boolean\n * @default\n */ optimizeOverlapping: true,\n /**\n * Constructor\n * @param {fabric.Canvas} canvas\n * @return {fabric.SprayBrush} Instance of a spray brush\n */ initialize: function(canvas) {\n this.canvas = canvas;\n this.sprayChunks = [];\n },\n /**\n * Invoked on mouse down\n * @param {Object} pointer\n */ onMouseDown: function(pointer) {\n this.sprayChunks.length = 0;\n this.canvas.clearContext(this.canvas.contextTop);\n this._setShadow();\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n /**\n * Invoked on mouse move\n * @param {Object} pointer\n */ onMouseMove: function(pointer) {\n if (this.limitedToCanvasSize === true && this._isOutSideCanvas(pointer)) {\n return;\n }\n this.addSprayChunk(pointer);\n this.render(this.sprayChunkPoints);\n },\n /**\n * Invoked on mouse up\n */ onMouseUp: function() {\n var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;\n this.canvas.renderOnAddRemove = false;\n var rects = [];\n for(var i = 0, ilen = this.sprayChunks.length; i < ilen; i++){\n var sprayChunk = this.sprayChunks[i];\n for(var j = 0, jlen = sprayChunk.length; j < jlen; j++){\n var rect = new fabric.Rect({\n width: sprayChunk[j].width,\n height: sprayChunk[j].width,\n left: sprayChunk[j].x + 1,\n top: sprayChunk[j].y + 1,\n originX: \"center\",\n originY: \"center\",\n fill: this.color\n });\n rects.push(rect);\n }\n }\n if (this.optimizeOverlapping) {\n rects = this._getOptimizedRects(rects);\n }\n var group = new fabric.Group(rects);\n this.shadow && group.set(\"shadow\", new fabric.Shadow(this.shadow));\n this.canvas.fire(\"before:path:created\", {\n path: group\n });\n this.canvas.add(group);\n this.canvas.fire(\"path:created\", {\n path: group\n });\n this.canvas.clearContext(this.canvas.contextTop);\n this._resetShadow();\n this.canvas.renderOnAddRemove = originalRenderOnAddRemove;\n this.canvas.requestRenderAll();\n },\n /**\n * @private\n * @param {Array} rects\n */ _getOptimizedRects: function(rects) {\n // avoid creating duplicate rects at the same coordinates\n var uniqueRects = {}, key, i, len;\n for(i = 0, len = rects.length; i < len; i++){\n key = rects[i].left + \"\" + rects[i].top;\n if (!uniqueRects[key]) {\n uniqueRects[key] = rects[i];\n }\n }\n var uniqueRectsArray = [];\n for(key in uniqueRects){\n uniqueRectsArray.push(uniqueRects[key]);\n }\n return uniqueRectsArray;\n },\n /**\n * Render new chunk of spray brush\n */ render: function(sprayChunk) {\n var ctx = this.canvas.contextTop, i, len;\n ctx.fillStyle = this.color;\n this._saveAndTransform(ctx);\n for(i = 0, len = sprayChunk.length; i < len; i++){\n var point = sprayChunk[i];\n if (typeof point.opacity !== \"undefined\") {\n ctx.globalAlpha = point.opacity;\n }\n ctx.fillRect(point.x, point.y, point.width, point.width);\n }\n ctx.restore();\n },\n /**\n * Render all spray chunks\n */ _render: function() {\n var ctx = this.canvas.contextTop, i, ilen;\n ctx.fillStyle = this.color;\n this._saveAndTransform(ctx);\n for(i = 0, ilen = this.sprayChunks.length; i < ilen; i++){\n this.render(this.sprayChunks[i]);\n }\n ctx.restore();\n },\n /**\n * @param {Object} pointer\n */ addSprayChunk: function(pointer) {\n this.sprayChunkPoints = [];\n var x, y, width, radius = this.width / 2, i;\n for(i = 0; i < this.density; i++){\n x = fabric.util.getRandomInt(pointer.x - radius, pointer.x + radius);\n y = fabric.util.getRandomInt(pointer.y - radius, pointer.y + radius);\n if (this.dotWidthVariance) {\n width = fabric.util.getRandomInt(// bottom clamp width to 1\n Math.max(1, this.dotWidth - this.dotWidthVariance), this.dotWidth + this.dotWidthVariance);\n } else {\n width = this.dotWidth;\n }\n var point = new fabric.Point(x, y);\n point.width = width;\n if (this.randomOpacity) {\n point.opacity = fabric.util.getRandomInt(0, 100) / 100;\n }\n this.sprayChunkPoints.push(point);\n }\n this.sprayChunks.push(this.sprayChunkPoints);\n }\n});\n/**\n * PatternBrush class\n * @class fabric.PatternBrush\n * @extends fabric.BaseBrush\n */ fabric.PatternBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.PatternBrush.prototype */ {\n getPatternSrc: function() {\n var dotWidth = 20, dotDistance = 5, patternCanvas = fabric.util.createCanvasElement(), patternCtx = patternCanvas.getContext(\"2d\");\n patternCanvas.width = patternCanvas.height = dotWidth + dotDistance;\n patternCtx.fillStyle = this.color;\n patternCtx.beginPath();\n patternCtx.arc(dotWidth / 2, dotWidth / 2, dotWidth / 2, 0, Math.PI * 2, false);\n patternCtx.closePath();\n patternCtx.fill();\n return patternCanvas;\n },\n getPatternSrcFunction: function() {\n return String(this.getPatternSrc).replace(\"this.color\", '\"' + this.color + '\"');\n },\n /**\n * Creates \"pattern\" instance property\n * @param {CanvasRenderingContext2D} ctx\n */ getPattern: function(ctx) {\n return ctx.createPattern(this.source || this.getPatternSrc(), \"repeat\");\n },\n /**\n * Sets brush styles\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n this.callSuper(\"_setBrushStyles\", ctx);\n ctx.strokeStyle = this.getPattern(ctx);\n },\n /**\n * Creates path\n */ createPath: function(pathData) {\n var path = this.callSuper(\"createPath\", pathData), topLeft = path._getLeftTopCoords().scalarAdd(path.strokeWidth / 2);\n path.stroke = new fabric.Pattern({\n source: this.source || this.getPatternSrcFunction(),\n offsetX: -topLeft.x,\n offsetY: -topLeft.y\n });\n return path;\n }\n});\n(function() {\n var getPointer = fabric.util.getPointer, degreesToRadians = fabric.util.degreesToRadians, isTouchEvent = fabric.util.isTouchEvent;\n /**\n * Canvas class\n * @class fabric.Canvas\n * @extends fabric.StaticCanvas\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#canvas}\n * @see {@link fabric.Canvas#initialize} for constructor definition\n *\n * @fires object:modified at the end of a transform or any change when statefull is true\n * @fires object:rotating while an object is being rotated from the control\n * @fires object:scaling while an object is being scaled by controls\n * @fires object:moving while an object is being dragged\n * @fires object:skewing while an object is being skewed from the controls\n *\n * @fires before:transform before a transform is is started\n * @fires before:selection:cleared\n * @fires selection:cleared\n * @fires selection:updated\n * @fires selection:created\n *\n * @fires path:created after a drawing operation ends and the path is added\n * @fires mouse:down\n * @fires mouse:move\n * @fires mouse:up\n * @fires mouse:down:before on mouse down, before the inner fabric logic runs\n * @fires mouse:move:before on mouse move, before the inner fabric logic runs\n * @fires mouse:up:before on mouse up, before the inner fabric logic runs\n * @fires mouse:over\n * @fires mouse:out\n * @fires mouse:dblclick whenever a native dbl click event fires on the canvas.\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop:before before drop event. same native event. This is added to handle edge cases\n * @fires drop\n * @fires after:render at the end of the render process, receives the context in the callback\n * @fires before:render at start the render process, receives the context in the callback\n *\n */ fabric.Canvas = fabric.util.createClass(fabric.StaticCanvas, /** @lends fabric.Canvas.prototype */ {\n /**\n * Constructor\n * @param {HTMLElement | String} el <canvas> element to initialize instance on\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(el, options) {\n options || (options = {});\n this.renderAndResetBound = this.renderAndReset.bind(this);\n this.requestRenderAllBound = this.requestRenderAll.bind(this);\n this._initStatic(el, options);\n this._initInteractive();\n this._createCacheCanvas();\n },\n /**\n * When true, objects can be transformed by one side (unproportionally)\n * when dragged on the corners that normally would not do that.\n * @type Boolean\n * @default\n * @since fabric 4.0 // changed name and default value\n */ uniformScaling: true,\n /**\n * Indicates which key switches uniform scaling.\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * totally wrong named. this sounds like `uniform scaling`\n * if Canvas.uniformScaling is true, pressing this will set it to false\n * and viceversa.\n * @since 1.6.2\n * @type String\n * @default\n */ uniScaleKey: \"shiftKey\",\n /**\n * When true, objects use center point as the origin of scale transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredScaling: false,\n /**\n * When true, objects use center point as the origin of rotate transformation.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredRotation: false,\n /**\n * Indicates which key enable centered Transform\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */ centeredKey: \"altKey\",\n /**\n * Indicates which key enable alternate action on corner\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled feature disabled.\n * @since 1.6.2\n * @type String\n * @default\n */ altActionKey: \"shiftKey\",\n /**\n * Indicates that canvas is interactive. This property should not be changed.\n * @type Boolean\n * @default\n */ interactive: true,\n /**\n * Indicates whether group selection should be enabled\n * @type Boolean\n * @default\n */ selection: true,\n /**\n * Indicates which key or keys enable multiple click selection\n * Pass value as a string or array of strings\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * If `null` or empty or containing any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.2\n * @type String|Array\n * @default\n */ selectionKey: \"shiftKey\",\n /**\n * Indicates which key enable alternative selection\n * in case of target overlapping with active object\n * values: 'altKey', 'shiftKey', 'ctrlKey'.\n * For a series of reason that come from the general expectations on how\n * things should work, this feature works only for preserveObjectStacking true.\n * If `null` or 'none' or any other string that is not a modifier key\n * feature is disabled.\n * @since 1.6.5\n * @type null|String\n * @default\n */ altSelectionKey: null,\n /**\n * Color of selection\n * @type String\n * @default\n */ selectionColor: \"rgba(100, 100, 255, 0.3)\",\n /**\n * Default dash array pattern\n * If not empty the selection border is dashed\n * @type Array\n */ selectionDashArray: [],\n /**\n * Color of the border of selection (usually slightly darker than color of selection itself)\n * @type String\n * @default\n */ selectionBorderColor: \"rgba(255, 255, 255, 0.3)\",\n /**\n * Width of a line used in object/group selection\n * @type Number\n * @default\n */ selectionLineWidth: 1,\n /**\n * Select only shapes that are fully contained in the dragged selection rectangle.\n * @type Boolean\n * @default\n */ selectionFullyContained: false,\n /**\n * Default cursor value used when hovering over an object on canvas\n * @type String\n * @default\n */ hoverCursor: \"move\",\n /**\n * Default cursor value used when moving an object on canvas\n * @type String\n * @default\n */ moveCursor: \"move\",\n /**\n * Default cursor value used for the entire canvas\n * @type String\n * @default\n */ defaultCursor: \"default\",\n /**\n * Cursor value used during free drawing\n * @type String\n * @default\n */ freeDrawingCursor: \"crosshair\",\n /**\n * Cursor value used for disabled elements ( corners with disabled action )\n * @type String\n * @since 2.0.0\n * @default\n */ notAllowedCursor: \"not-allowed\",\n /**\n * Default element class that's given to wrapper (div) element of canvas\n * @type String\n * @default\n */ containerClass: \"canvas-container\",\n /**\n * When true, object detection happens on per-pixel basis rather than on per-bounding-box\n * @type Boolean\n * @default\n */ perPixelTargetFind: false,\n /**\n * Number of pixels around target pixel to tolerate (consider active) during object detection\n * @type Number\n * @default\n */ targetFindTolerance: 0,\n /**\n * When true, target detection is skipped. Target detection will return always undefined.\n * click selection won't work anymore, events will fire with no targets.\n * if something is selected before setting it to true, it will be deselected at the first click.\n * area selection will still work. check the `selection` property too.\n * if you deactivate both, you should look into staticCanvas.\n * @type Boolean\n * @default\n */ skipTargetFind: false,\n /**\n * When true, mouse events on canvas (mousedown/mousemove/mouseup) result in free drawing.\n * After mousedown, mousemove creates a shape,\n * and then mouseup finalizes it and adds an instance of `fabric.Path` onto canvas.\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-4#free_drawing}\n * @type Boolean\n * @default\n */ isDrawingMode: false,\n /**\n * Indicates whether objects should remain in current stack position when selected.\n * When false objects are brought to top and rendered as part of the selection group\n * @type Boolean\n * @default\n */ preserveObjectStacking: false,\n /**\n * Indicates the angle that an object will lock to while rotating.\n * @type Number\n * @since 1.6.7\n * @default\n */ snapAngle: 0,\n /**\n * Indicates the distance from the snapAngle the rotation will lock to the snapAngle.\n * When `null`, the snapThreshold will default to the snapAngle.\n * @type null|Number\n * @since 1.6.7\n * @default\n */ snapThreshold: null,\n /**\n * Indicates if the right click on canvas can output the context menu or not\n * @type Boolean\n * @since 1.6.5\n * @default\n */ stopContextMenu: false,\n /**\n * Indicates if the canvas can fire right click events\n * @type Boolean\n * @since 1.6.5\n * @default\n */ fireRightClick: false,\n /**\n * Indicates if the canvas can fire middle click events\n * @type Boolean\n * @since 1.7.8\n * @default\n */ fireMiddleClick: false,\n /**\n * Keep track of the subTargets for Mouse Events\n * @type fabric.Object[]\n */ targets: [],\n /**\n * When the option is enabled, PointerEvent is used instead of MouseEvent.\n * @type Boolean\n * @default\n */ enablePointerEvents: false,\n /**\n * Keep track of the hovered target\n * @type fabric.Object\n * @private\n */ _hoveredTarget: null,\n /**\n * hold the list of nested targets hovered\n * @type fabric.Object[]\n * @private\n */ _hoveredTargets: [],\n /**\n * @private\n */ _initInteractive: function() {\n this._currentTransform = null;\n this._groupSelector = null;\n this._initWrapperElement();\n this._createUpperCanvas();\n this._initEventListeners();\n this._initRetinaScaling();\n this.freeDrawingBrush = fabric.PencilBrush && new fabric.PencilBrush(this);\n this.calcOffset();\n },\n /**\n * Divides objects in two groups, one to render immediately\n * and one to render as activeGroup.\n * @return {Array} objects to render immediately and pushes the other in the activeGroup.\n */ _chooseObjectsToRender: function() {\n var activeObjects = this.getActiveObjects(), object, objsToRender, activeGroupObjects;\n if (activeObjects.length > 0 && !this.preserveObjectStacking) {\n objsToRender = [];\n activeGroupObjects = [];\n for(var i = 0, length = this._objects.length; i < length; i++){\n object = this._objects[i];\n if (activeObjects.indexOf(object) === -1) {\n objsToRender.push(object);\n } else {\n activeGroupObjects.push(object);\n }\n }\n if (activeObjects.length > 1) {\n this._activeObject._objects = activeGroupObjects;\n }\n objsToRender.push.apply(objsToRender, activeGroupObjects);\n } else {\n objsToRender = this._objects;\n }\n return objsToRender;\n },\n /**\n * Renders both the top canvas and the secondary container canvas.\n * @return {fabric.Canvas} instance\n * @chainable\n */ renderAll: function() {\n if (this.contextTopDirty && !this._groupSelector && !this.isDrawingMode) {\n this.clearContext(this.contextTop);\n this.contextTopDirty = false;\n }\n if (this.hasLostContext) {\n this.renderTopLayer(this.contextTop);\n this.hasLostContext = false;\n }\n var canvasToDrawOn = this.contextContainer;\n this.renderCanvas(canvasToDrawOn, this._chooseObjectsToRender());\n return this;\n },\n renderTopLayer: function(ctx) {\n ctx.save();\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this.freeDrawingBrush && this.freeDrawingBrush._render();\n this.contextTopDirty = true;\n }\n // we render the top context - last object\n if (this.selection && this._groupSelector) {\n this._drawSelection(ctx);\n this.contextTopDirty = true;\n }\n ctx.restore();\n },\n /**\n * Method to render only the top canvas.\n * Also used to render the group selection box.\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ renderTop: function() {\n var ctx = this.contextTop;\n this.clearContext(ctx);\n this.renderTopLayer(ctx);\n this.fire(\"after:render\");\n return this;\n },\n /**\n * @private\n */ _normalizePointer: function(object, pointer) {\n var m = object.calcTransformMatrix(), invertedM = fabric.util.invertTransform(m), vptPointer = this.restorePointerVpt(pointer);\n return fabric.util.transformPoint(vptPointer, invertedM);\n },\n /**\n * Returns true if object is transparent at a certain location\n * @param {fabric.Object} target Object to check\n * @param {Number} x Left coordinate\n * @param {Number} y Top coordinate\n * @return {Boolean}\n */ isTargetTransparent: function(target, x, y) {\n // in case the target is the activeObject, we cannot execute this optimization\n // because we need to draw controls too.\n if (target.shouldCache() && target._cacheCanvas && target !== this._activeObject) {\n var normalizedPointer = this._normalizePointer(target, {\n x: x,\n y: y\n }), targetRelativeX = Math.max(target.cacheTranslationX + normalizedPointer.x * target.zoomX, 0), targetRelativeY = Math.max(target.cacheTranslationY + normalizedPointer.y * target.zoomY, 0);\n var isTransparent = fabric.util.isTransparent(target._cacheContext, Math.round(targetRelativeX), Math.round(targetRelativeY), this.targetFindTolerance);\n return isTransparent;\n }\n var ctx = this.contextCache, originalColor = target.selectionBackgroundColor, v = this.viewportTransform;\n target.selectionBackgroundColor = \"\";\n this.clearContext(ctx);\n ctx.save();\n ctx.transform(v[0], v[1], v[2], v[3], v[4], v[5]);\n target.render(ctx);\n ctx.restore();\n target.selectionBackgroundColor = originalColor;\n var isTransparent = fabric.util.isTransparent(ctx, x, y, this.targetFindTolerance);\n return isTransparent;\n },\n /**\n * takes an event and determines if selection key has been pressed\n * @private\n * @param {Event} e Event object\n */ _isSelectionKeyPressed: function(e) {\n var selectionKeyPressed = false;\n if (Array.isArray(this.selectionKey)) {\n selectionKeyPressed = !!this.selectionKey.find(function(key) {\n return e[key] === true;\n });\n } else {\n selectionKeyPressed = e[this.selectionKey];\n }\n return selectionKeyPressed;\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _shouldClearSelection: function(e, target) {\n var activeObjects = this.getActiveObjects(), activeObject = this._activeObject;\n return !target || target && activeObject && activeObjects.length > 1 && activeObjects.indexOf(target) === -1 && activeObject !== target && !this._isSelectionKeyPressed(e) || target && !target.evented || target && !target.selectable && activeObject && activeObject !== target;\n },\n /**\n * centeredScaling from object can't override centeredScaling from canvas.\n * this should be fixed, since object setting should take precedence over canvas.\n * also this should be something that will be migrated in the control properties.\n * as ability to define the origin of the transformation that the control provide.\n * @private\n * @param {fabric.Object} target\n * @param {String} action\n * @param {Boolean} altKey\n */ _shouldCenterTransform: function(target, action, altKey) {\n if (!target) {\n return;\n }\n var centerTransform;\n if (action === \"scale\" || action === \"scaleX\" || action === \"scaleY\" || action === \"resizing\") {\n centerTransform = this.centeredScaling || target.centeredScaling;\n } else if (action === \"rotate\") {\n centerTransform = this.centeredRotation || target.centeredRotation;\n }\n return centerTransform ? !altKey : altKey;\n },\n /**\n * should disappear before release 4.0\n * @private\n */ _getOriginFromCorner: function(target, corner) {\n var origin = {\n x: target.originX,\n y: target.originY\n };\n if (corner === \"ml\" || corner === \"tl\" || corner === \"bl\") {\n origin.x = \"right\";\n } else if (corner === \"mr\" || corner === \"tr\" || corner === \"br\") {\n origin.x = \"left\";\n }\n if (corner === \"tl\" || corner === \"mt\" || corner === \"tr\") {\n origin.y = \"bottom\";\n } else if (corner === \"bl\" || corner === \"mb\" || corner === \"br\") {\n origin.y = \"top\";\n }\n return origin;\n },\n /**\n * @private\n * @param {Boolean} alreadySelected true if target is already selected\n * @param {String} corner a string representing the corner ml, mr, tl ...\n * @param {Event} e Event object\n * @param {fabric.Object} [target] inserted back to help overriding. Unused\n */ _getActionFromCorner: function(alreadySelected, corner, e, target) {\n if (!corner || !alreadySelected) {\n return \"drag\";\n }\n var control = target.controls[corner];\n return control.getActionName(e, control, target);\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _setupCurrentTransform: function(e, target, alreadySelected) {\n if (!target) {\n return;\n }\n var pointer = this.getPointer(e), corner = target.__corner, control = target.controls[corner], actionHandler = alreadySelected && corner ? control.getActionHandler(e, target, control) : fabric.controlsUtils.dragHandler, action = this._getActionFromCorner(alreadySelected, corner, e, target), origin = this._getOriginFromCorner(target, corner), altKey = e[this.centeredKey], transform = {\n target: target,\n action: action,\n actionHandler: actionHandler,\n corner: corner,\n scaleX: target.scaleX,\n scaleY: target.scaleY,\n skewX: target.skewX,\n skewY: target.skewY,\n // used by transation\n offsetX: pointer.x - target.left,\n offsetY: pointer.y - target.top,\n originX: origin.x,\n originY: origin.y,\n ex: pointer.x,\n ey: pointer.y,\n lastX: pointer.x,\n lastY: pointer.y,\n // unsure they are useful anymore.\n // left: target.left,\n // top: target.top,\n theta: degreesToRadians(target.angle),\n // end of unsure\n width: target.width * target.scaleX,\n shiftKey: e.shiftKey,\n altKey: altKey,\n original: fabric.util.saveObjectTransform(target)\n };\n if (this._shouldCenterTransform(target, action, altKey)) {\n transform.originX = \"center\";\n transform.originY = \"center\";\n }\n transform.original.originX = origin.x;\n transform.original.originY = origin.y;\n this._currentTransform = transform;\n this._beforeTransform(e);\n },\n /**\n * Set the cursor type of the canvas element\n * @param {String} value Cursor type of the canvas element.\n * @see http://www.w3.org/TR/css3-ui/#cursor\n */ setCursor: function(value) {\n this.upperCanvasEl.style.cursor = value;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx to draw the selection on\n */ _drawSelection: function(ctx) {\n var selector = this._groupSelector, viewportStart = new fabric.Point(selector.ex, selector.ey), start = fabric.util.transformPoint(viewportStart, this.viewportTransform), viewportExtent = new fabric.Point(selector.ex + selector.left, selector.ey + selector.top), extent = fabric.util.transformPoint(viewportExtent, this.viewportTransform), minX = Math.min(start.x, extent.x), minY = Math.min(start.y, extent.y), maxX = Math.max(start.x, extent.x), maxY = Math.max(start.y, extent.y), strokeOffset = this.selectionLineWidth / 2;\n if (this.selectionColor) {\n ctx.fillStyle = this.selectionColor;\n ctx.fillRect(minX, minY, maxX - minX, maxY - minY);\n }\n if (!this.selectionLineWidth || !this.selectionBorderColor) {\n return;\n }\n ctx.lineWidth = this.selectionLineWidth;\n ctx.strokeStyle = this.selectionBorderColor;\n minX += strokeOffset;\n minY += strokeOffset;\n maxX -= strokeOffset;\n maxY -= strokeOffset;\n // selection border\n fabric.Object.prototype._setLineDash.call(this, ctx, this.selectionDashArray);\n ctx.strokeRect(minX, minY, maxX - minX, maxY - minY);\n },\n /**\n * Method that determines what object we are clicking on\n * the skipGroup parameter is for internal use, is needed for shift+click action\n * 11/09/2018 TODO: would be cool if findTarget could discern between being a full target\n * or the outside part of the corner.\n * @param {Event} e mouse event\n * @param {Boolean} skipGroup when true, activeGroup is skipped and only objects are traversed through\n * @return {fabric.Object} the target found\n */ findTarget: function(e, skipGroup) {\n if (this.skipTargetFind) {\n return;\n }\n var ignoreZoom = true, pointer = this.getPointer(e, ignoreZoom), activeObject = this._activeObject, aObjects = this.getActiveObjects(), activeTarget, activeTargetSubs, isTouch = isTouchEvent(e), shouldLookForActive = aObjects.length > 1 && !skipGroup || aObjects.length === 1;\n // first check current group (if one exists)\n // active group does not check sub targets like normal groups.\n // if active group just exits.\n this.targets = [];\n // if we hit the corner of an activeObject, let's return that.\n if (shouldLookForActive && activeObject._findTargetCorner(pointer, isTouch)) {\n return activeObject;\n }\n if (aObjects.length > 1 && !skipGroup && activeObject === this._searchPossibleTargets([\n activeObject\n ], pointer)) {\n return activeObject;\n }\n if (aObjects.length === 1 && activeObject === this._searchPossibleTargets([\n activeObject\n ], pointer)) {\n if (!this.preserveObjectStacking) {\n return activeObject;\n } else {\n activeTarget = activeObject;\n activeTargetSubs = this.targets;\n this.targets = [];\n }\n }\n var target = this._searchPossibleTargets(this._objects, pointer);\n if (e[this.altSelectionKey] && target && activeTarget && target !== activeTarget) {\n target = activeTarget;\n this.targets = activeTargetSubs;\n }\n return target;\n },\n /**\n * Checks point is inside the object.\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @param {fabric.Object} obj Object to test against\n * @param {Object} [globalPointer] x,y object of point coordinates relative to canvas used to search per pixel target.\n * @return {Boolean} true if point is contained within an area of given object\n * @private\n */ _checkTarget: function(pointer, obj, globalPointer) {\n if (obj && obj.visible && obj.evented && // http://www.geog.ubc.ca/courses/klink/gis.notes/ncgia/u32.html\n // http://idav.ucdavis.edu/~okreylos/TAship/Spring2000/PointInPolygon.html\n obj.containsPoint(pointer)) {\n if ((this.perPixelTargetFind || obj.perPixelTargetFind) && !obj.isEditing) {\n var isTransparent = this.isTargetTransparent(obj, globalPointer.x, globalPointer.y);\n if (!isTransparent) {\n return true;\n }\n } else {\n return true;\n }\n }\n },\n /**\n * Function used to search inside objects an object that contains pointer in bounding box or that contains pointerOnCanvas when painted\n * @param {Array} [objects] objects array to look into\n * @param {Object} [pointer] x,y object of point coordinates we want to check.\n * @return {fabric.Object} object that contains pointer\n * @private\n */ _searchPossibleTargets: function(objects, pointer) {\n // Cache all targets where their bounding box contains point.\n var target, i = objects.length, subTarget;\n // Do not check for currently grouped objects, since we check the parent group itself.\n // until we call this function specifically to search inside the activeGroup\n while(i--){\n var objToCheck = objects[i];\n var pointerToUse = objToCheck.group ? this._normalizePointer(objToCheck.group, pointer) : pointer;\n if (this._checkTarget(pointerToUse, objToCheck, pointer)) {\n target = objects[i];\n if (target.subTargetCheck && target instanceof fabric.Group) {\n subTarget = this._searchPossibleTargets(target._objects, pointer);\n subTarget && this.targets.push(subTarget);\n }\n break;\n }\n }\n return target;\n },\n /**\n * Returns pointer coordinates without the effect of the viewport\n * @param {Object} pointer with \"x\" and \"y\" number values\n * @return {Object} object with \"x\" and \"y\" number values\n */ restorePointerVpt: function(pointer) {\n return fabric.util.transformPoint(pointer, fabric.util.invertTransform(this.viewportTransform));\n },\n /**\n * Returns pointer coordinates relative to canvas.\n * Can return coordinates with or without viewportTransform.\n * ignoreZoom false gives back coordinates that represent\n * the point clicked on canvas element.\n * ignoreZoom true gives back coordinates after being processed\n * by the viewportTransform ( sort of coordinates of what is displayed\n * on the canvas where you are clicking.\n * ignoreZoom true = HTMLElement coordinates relative to top,left\n * ignoreZoom false, default = fabric space coordinates, the same used for shape position\n * To interact with your shapes top and left you want to use ignoreZoom true\n * most of the time, while ignoreZoom false will give you coordinates\n * compatible with the object.oCoords system.\n * of the time.\n * @param {Event} e\n * @param {Boolean} ignoreZoom\n * @return {Object} object with \"x\" and \"y\" number values\n */ getPointer: function(e, ignoreZoom) {\n // return cached values if we are in the event processing chain\n if (this._absolutePointer && !ignoreZoom) {\n return this._absolutePointer;\n }\n if (this._pointer && ignoreZoom) {\n return this._pointer;\n }\n var pointer = getPointer(e), upperCanvasEl = this.upperCanvasEl, bounds = upperCanvasEl.getBoundingClientRect(), boundsWidth = bounds.width || 0, boundsHeight = bounds.height || 0, cssScale;\n if (!boundsWidth || !boundsHeight) {\n if (\"top\" in bounds && \"bottom\" in bounds) {\n boundsHeight = Math.abs(bounds.top - bounds.bottom);\n }\n if (\"right\" in bounds && \"left\" in bounds) {\n boundsWidth = Math.abs(bounds.right - bounds.left);\n }\n }\n this.calcOffset();\n pointer.x = pointer.x - this._offset.left;\n pointer.y = pointer.y - this._offset.top;\n if (!ignoreZoom) {\n pointer = this.restorePointerVpt(pointer);\n }\n var retinaScaling = this.getRetinaScaling();\n if (retinaScaling !== 1) {\n pointer.x /= retinaScaling;\n pointer.y /= retinaScaling;\n }\n if (boundsWidth === 0 || boundsHeight === 0) {\n // If bounds are not available (i.e. not visible), do not apply scale.\n cssScale = {\n width: 1,\n height: 1\n };\n } else {\n cssScale = {\n width: upperCanvasEl.width / boundsWidth,\n height: upperCanvasEl.height / boundsHeight\n };\n }\n return {\n x: pointer.x * cssScale.width,\n y: pointer.y * cssScale.height\n };\n },\n /**\n * @private\n * @throws {CANVAS_INIT_ERROR} If canvas can not be initialized\n */ _createUpperCanvas: function() {\n var lowerCanvasClass = this.lowerCanvasEl.className.replace(/\\s*lower-canvas\\s*/, \"\"), lowerCanvasEl = this.lowerCanvasEl, upperCanvasEl = this.upperCanvasEl;\n // there is no need to create a new upperCanvas element if we have already one.\n if (upperCanvasEl) {\n upperCanvasEl.className = \"\";\n } else {\n upperCanvasEl = this._createCanvasElement();\n this.upperCanvasEl = upperCanvasEl;\n }\n fabric.util.addClass(upperCanvasEl, \"upper-canvas \" + lowerCanvasClass);\n this.wrapperEl.appendChild(upperCanvasEl);\n this._copyCanvasStyle(lowerCanvasEl, upperCanvasEl);\n this._applyCanvasStyle(upperCanvasEl);\n this.contextTop = upperCanvasEl.getContext(\"2d\");\n },\n /**\n * Returns context of top canvas where interactions are drawn\n * @returns {CanvasRenderingContext2D}\n */ getTopContext: function() {\n return this.contextTop;\n },\n /**\n * @private\n */ _createCacheCanvas: function() {\n this.cacheCanvasEl = this._createCanvasElement();\n this.cacheCanvasEl.setAttribute(\"width\", this.width);\n this.cacheCanvasEl.setAttribute(\"height\", this.height);\n this.contextCache = this.cacheCanvasEl.getContext(\"2d\");\n },\n /**\n * @private\n */ _initWrapperElement: function() {\n this.wrapperEl = fabric.util.wrapElement(this.lowerCanvasEl, \"div\", {\n \"class\": this.containerClass\n });\n fabric.util.setStyle(this.wrapperEl, {\n width: this.width + \"px\",\n height: this.height + \"px\",\n position: \"relative\"\n });\n fabric.util.makeElementUnselectable(this.wrapperEl);\n },\n /**\n * @private\n * @param {HTMLElement} element canvas element to apply styles on\n */ _applyCanvasStyle: function(element) {\n var width = this.width || element.width, height = this.height || element.height;\n fabric.util.setStyle(element, {\n position: \"absolute\",\n width: width + \"px\",\n height: height + \"px\",\n left: 0,\n top: 0,\n \"touch-action\": this.allowTouchScrolling ? \"manipulation\" : \"none\",\n \"-ms-touch-action\": this.allowTouchScrolling ? \"manipulation\" : \"none\"\n });\n element.width = width;\n element.height = height;\n fabric.util.makeElementUnselectable(element);\n },\n /**\n * Copy the entire inline style from one element (fromEl) to another (toEl)\n * @private\n * @param {Element} fromEl Element style is copied from\n * @param {Element} toEl Element copied style is applied to\n */ _copyCanvasStyle: function(fromEl, toEl) {\n toEl.style.cssText = fromEl.style.cssText;\n },\n /**\n * Returns context of canvas where object selection is drawn\n * @return {CanvasRenderingContext2D}\n */ getSelectionContext: function() {\n return this.contextTop;\n },\n /**\n * Returns <canvas> element on which object selection is drawn\n * @return {HTMLCanvasElement}\n */ getSelectionElement: function() {\n return this.upperCanvasEl;\n },\n /**\n * Returns currently active object\n * @return {fabric.Object} active object\n */ getActiveObject: function() {\n return this._activeObject;\n },\n /**\n * Returns an array with the current selected objects\n * @return {fabric.Object} active object\n */ getActiveObjects: function() {\n var active = this._activeObject;\n if (active) {\n if (active.type === \"activeSelection\" && active._objects) {\n return active._objects.slice(0);\n } else {\n return [\n active\n ];\n }\n }\n return [];\n },\n /**\n * @private\n * @param {fabric.Object} obj Object that was removed\n */ _onObjectRemoved: function(obj) {\n // removing active object should fire \"selection:cleared\" events\n if (obj === this._activeObject) {\n this.fire(\"before:selection:cleared\", {\n target: obj\n });\n this._discardActiveObject();\n this.fire(\"selection:cleared\", {\n target: obj\n });\n obj.fire(\"deselected\");\n }\n if (obj === this._hoveredTarget) {\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n this.callSuper(\"_onObjectRemoved\", obj);\n },\n /**\n * @private\n * Compares the old activeObject with the current one and fires correct events\n * @param {fabric.Object} obj old activeObject\n */ _fireSelectionEvents: function(oldObjects, e) {\n var somethingChanged = false, objects = this.getActiveObjects(), added = [], removed = [];\n oldObjects.forEach(function(oldObject) {\n if (objects.indexOf(oldObject) === -1) {\n somethingChanged = true;\n oldObject.fire(\"deselected\", {\n e: e,\n target: oldObject\n });\n removed.push(oldObject);\n }\n });\n objects.forEach(function(object) {\n if (oldObjects.indexOf(object) === -1) {\n somethingChanged = true;\n object.fire(\"selected\", {\n e: e,\n target: object\n });\n added.push(object);\n }\n });\n if (oldObjects.length > 0 && objects.length > 0) {\n somethingChanged && this.fire(\"selection:updated\", {\n e: e,\n selected: added,\n deselected: removed\n });\n } else if (objects.length > 0) {\n this.fire(\"selection:created\", {\n e: e,\n selected: added\n });\n } else if (oldObjects.length > 0) {\n this.fire(\"selection:cleared\", {\n e: e,\n deselected: removed\n });\n }\n },\n /**\n * Sets given object as the only active object on canvas\n * @param {fabric.Object} object Object to set as an active one\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ setActiveObject: function(object, e) {\n var currentActives = this.getActiveObjects();\n this._setActiveObject(object, e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to setActiveObject but without firing\n * any event. There is commitment to have this stay this way.\n * This is the functional part of setActiveObject.\n * @private\n * @param {Object} object to set as active\n * @param {Event} [e] Event (passed along when firing \"object:selected\")\n * @return {Boolean} true if the selection happened\n */ _setActiveObject: function(object, e) {\n if (this._activeObject === object) {\n return false;\n }\n if (!this._discardActiveObject(e, object)) {\n return false;\n }\n if (object.onSelect({\n e: e\n })) {\n return false;\n }\n this._activeObject = object;\n return true;\n },\n /**\n * This is a private method for now.\n * This is supposed to be equivalent to discardActiveObject but without firing\n * any events. There is commitment to have this stay this way.\n * This is the functional part of discardActiveObject.\n * @param {Event} [e] Event (passed along when firing \"object:deselected\")\n * @param {Object} object to set as active\n * @return {Boolean} true if the selection happened\n * @private\n */ _discardActiveObject: function(e, object) {\n var obj = this._activeObject;\n if (obj) {\n // onDeselect return TRUE to cancel selection;\n if (obj.onDeselect({\n e: e,\n object: object\n })) {\n return false;\n }\n this._activeObject = null;\n }\n return true;\n },\n /**\n * Discards currently active object and fire events. If the function is called by fabric\n * as a consequence of a mouse event, the event is passed as a parameter and\n * sent to the fire function for the custom events. When used as a method the\n * e param does not have any application.\n * @param {event} e\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ discardActiveObject: function(e) {\n var currentActives = this.getActiveObjects(), activeObject = this.getActiveObject();\n if (currentActives.length) {\n this.fire(\"before:selection:cleared\", {\n target: activeObject,\n e: e\n });\n }\n this._discardActiveObject(e);\n this._fireSelectionEvents(currentActives, e);\n return this;\n },\n /**\n * Clears a canvas element and removes all event listeners\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ dispose: function() {\n var wrapper = this.wrapperEl;\n this.removeListeners();\n wrapper.removeChild(this.upperCanvasEl);\n wrapper.removeChild(this.lowerCanvasEl);\n this.contextCache = null;\n this.contextTop = null;\n [\n \"upperCanvasEl\",\n \"cacheCanvasEl\"\n ].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n if (wrapper.parentNode) {\n wrapper.parentNode.replaceChild(this.lowerCanvasEl, this.wrapperEl);\n }\n delete this.wrapperEl;\n fabric.StaticCanvas.prototype.dispose.call(this);\n return this;\n },\n /**\n * Clears all contexts (background, main, top) of an instance\n * @return {fabric.Canvas} thisArg\n * @chainable\n */ clear: function() {\n // this.discardActiveGroup();\n this.discardActiveObject();\n this.clearContext(this.contextTop);\n return this.callSuper(\"clear\");\n },\n /**\n * Draws objects' controls (borders/controls)\n * @param {CanvasRenderingContext2D} ctx Context to render controls on\n */ drawControls: function(ctx) {\n var activeObject = this._activeObject;\n if (activeObject) {\n activeObject._renderControls(ctx);\n }\n },\n /**\n * @private\n */ _toObject: function(instance, methodName, propertiesToInclude) {\n //If the object is part of the current selection group, it should\n //be transformed appropriately\n //i.e. it should be serialised as it would appear if the selection group\n //were to be destroyed.\n var originalProperties = this._realizeGroupTransformOnObject(instance), object = this.callSuper(\"_toObject\", instance, methodName, propertiesToInclude);\n //Undo the damage we did by changing all of its properties\n this._unwindGroupTransformOnObject(instance, originalProperties);\n return object;\n },\n /**\n * Realises an object's group transformation on it\n * @private\n * @param {fabric.Object} [instance] the object to transform (gets mutated)\n * @returns the original values of instance which were changed\n */ _realizeGroupTransformOnObject: function(instance) {\n if (instance.group && instance.group.type === \"activeSelection\" && this._activeObject === instance.group) {\n var layoutProps = [\n \"angle\",\n \"flipX\",\n \"flipY\",\n \"left\",\n \"scaleX\",\n \"scaleY\",\n \"skewX\",\n \"skewY\",\n \"top\"\n ];\n //Copy all the positionally relevant properties across now\n var originalValues = {};\n layoutProps.forEach(function(prop) {\n originalValues[prop] = instance[prop];\n });\n fabric.util.addTransformToObject(instance, this._activeObject.calcOwnMatrix());\n return originalValues;\n } else {\n return null;\n }\n },\n /**\n * Restores the changed properties of instance\n * @private\n * @param {fabric.Object} [instance] the object to un-transform (gets mutated)\n * @param {Object} [originalValues] the original values of instance, as returned by _realizeGroupTransformOnObject\n */ _unwindGroupTransformOnObject: function(instance, originalValues) {\n if (originalValues) {\n instance.set(originalValues);\n }\n },\n /**\n * @private\n */ _setSVGObject: function(markup, instance, reviver) {\n //If the object is in a selection group, simulate what would happen to that\n //object when the group is deselected\n var originalProperties = this._realizeGroupTransformOnObject(instance);\n this.callSuper(\"_setSVGObject\", markup, instance, reviver);\n this._unwindGroupTransformOnObject(instance, originalProperties);\n },\n setViewportTransform: function(vpt) {\n if (this.renderOnAddRemove && this._activeObject && this._activeObject.isEditing) {\n this._activeObject.clearContextTop();\n }\n fabric.StaticCanvas.prototype.setViewportTransform.call(this, vpt);\n }\n });\n // copying static properties manually to work around Opera's bug,\n // where \"prototype\" property is enumerable and overrides existing prototype\n for(var prop in fabric.StaticCanvas){\n if (prop !== \"prototype\") {\n fabric.Canvas[prop] = fabric.StaticCanvas[prop];\n }\n }\n})();\n(function() {\n var addListener = fabric.util.addListener, removeListener = fabric.util.removeListener, RIGHT_CLICK = 3, MIDDLE_CLICK = 2, LEFT_CLICK = 1, addEventOptions = {\n passive: false\n };\n function checkClick(e, value) {\n return e.button && e.button === value - 1;\n }\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n /**\n * Contains the id of the touch event that owns the fabric transform\n * @type Number\n * @private\n */ mainTouchId: null,\n /**\n * Adds mouse listeners to canvas\n * @private\n */ _initEventListeners: function() {\n // in case we initialized the class twice. This should not happen normally\n // but in some kind of applications where the canvas element may be changed\n // this is a workaround to having double listeners.\n this.removeListeners();\n this._bindEvents();\n this.addOrRemove(addListener, \"add\");\n },\n /**\n * return an event prefix pointer or mouse.\n * @private\n */ _getEventPrefix: function() {\n return this.enablePointerEvents ? \"pointer\" : \"mouse\";\n },\n addOrRemove: function(functor, eventjsFunctor) {\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n functor(fabric.window, \"resize\", this._onResize);\n functor(canvasElement, eventTypePrefix + \"down\", this._onMouseDown);\n functor(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n functor(canvasElement, eventTypePrefix + \"out\", this._onMouseOut);\n functor(canvasElement, eventTypePrefix + \"enter\", this._onMouseEnter);\n functor(canvasElement, \"wheel\", this._onMouseWheel);\n functor(canvasElement, \"contextmenu\", this._onContextMenu);\n functor(canvasElement, \"dblclick\", this._onDoubleClick);\n functor(canvasElement, \"dragover\", this._onDragOver);\n functor(canvasElement, \"dragenter\", this._onDragEnter);\n functor(canvasElement, \"dragleave\", this._onDragLeave);\n functor(canvasElement, \"drop\", this._onDrop);\n if (!this.enablePointerEvents) {\n functor(canvasElement, \"touchstart\", this._onTouchStart, addEventOptions);\n }\n if (typeof eventjs !== \"undefined\" && eventjsFunctor in eventjs) {\n eventjs[eventjsFunctor](canvasElement, \"gesture\", this._onGesture);\n eventjs[eventjsFunctor](canvasElement, \"drag\", this._onDrag);\n eventjs[eventjsFunctor](canvasElement, \"orientation\", this._onOrientationChange);\n eventjs[eventjsFunctor](canvasElement, \"shake\", this._onShake);\n eventjs[eventjsFunctor](canvasElement, \"longpress\", this._onLongPress);\n }\n },\n /**\n * Removes all event listeners\n */ removeListeners: function() {\n this.addOrRemove(removeListener, \"remove\");\n // if you dispose on a mouseDown, before mouse up, you need to clean document to...\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n removeListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n removeListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n },\n /**\n * @private\n */ _bindEvents: function() {\n if (this.eventsBound) {\n // for any reason we pass here twice we do not want to bind events twice.\n return;\n }\n this._onMouseDown = this._onMouseDown.bind(this);\n this._onTouchStart = this._onTouchStart.bind(this);\n this._onMouseMove = this._onMouseMove.bind(this);\n this._onMouseUp = this._onMouseUp.bind(this);\n this._onTouchEnd = this._onTouchEnd.bind(this);\n this._onResize = this._onResize.bind(this);\n this._onGesture = this._onGesture.bind(this);\n this._onDrag = this._onDrag.bind(this);\n this._onShake = this._onShake.bind(this);\n this._onLongPress = this._onLongPress.bind(this);\n this._onOrientationChange = this._onOrientationChange.bind(this);\n this._onMouseWheel = this._onMouseWheel.bind(this);\n this._onMouseOut = this._onMouseOut.bind(this);\n this._onMouseEnter = this._onMouseEnter.bind(this);\n this._onContextMenu = this._onContextMenu.bind(this);\n this._onDoubleClick = this._onDoubleClick.bind(this);\n this._onDragOver = this._onDragOver.bind(this);\n this._onDragEnter = this._simpleEventHandler.bind(this, \"dragenter\");\n this._onDragLeave = this._simpleEventHandler.bind(this, \"dragleave\");\n this._onDrop = this._onDrop.bind(this);\n this.eventsBound = true;\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js gesture\n * @param {Event} [self] Inner Event object\n */ _onGesture: function(e, self) {\n this.__onTransformGesture && this.__onTransformGesture(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js drag\n * @param {Event} [self] Inner Event object\n */ _onDrag: function(e, self) {\n this.__onDrag && this.__onDrag(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on wheel event\n */ _onMouseWheel: function(e) {\n this.__onMouseWheel(e);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseOut: function(e) {\n var target = this._hoveredTarget;\n this.fire(\"mouse:out\", {\n target: target,\n e: e\n });\n this._hoveredTarget = null;\n target && target.fire(\"mouseout\", {\n e: e\n });\n var _this = this;\n this._hoveredTargets.forEach(function(_target) {\n _this.fire(\"mouse:out\", {\n target: target,\n e: e\n });\n _target && target.fire(\"mouseout\", {\n e: e\n });\n });\n this._hoveredTargets = [];\n if (this._iTextInstances) {\n this._iTextInstances.forEach(function(obj) {\n if (obj.isEditing) {\n obj.hiddenTextarea.focus();\n }\n });\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseenter\n */ _onMouseEnter: function(e) {\n // This find target and consequent 'mouse:over' is used to\n // clear old instances on hovered target.\n // calling findTarget has the side effect of killing target.__corner.\n // as a short term fix we are not firing this if we are currently transforming.\n // as a long term fix we need to separate the action of finding a target with the\n // side effects we added to it.\n if (!this._currentTransform && !this.findTarget(e)) {\n this.fire(\"mouse:over\", {\n target: null,\n e: e\n });\n this._hoveredTarget = null;\n this._hoveredTargets = [];\n }\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js orientation change\n * @param {Event} [self] Inner Event object\n */ _onOrientationChange: function(e, self) {\n this.__onOrientationChange && this.__onOrientationChange(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */ _onShake: function(e, self) {\n this.__onShake && this.__onShake(e, self);\n },\n /**\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n * @param {Event} [self] Inner Event object\n */ _onLongPress: function(e, self) {\n this.__onLongPress && this.__onLongPress(e, self);\n },\n /**\n * prevent default to allow drop event to be fired\n * @private\n * @param {Event} [e] Event object fired on Event.js shake\n */ _onDragOver: function(e) {\n e.preventDefault();\n var target = this._simpleEventHandler(\"dragover\", e);\n this._fireEnterLeaveEvents(target, e);\n },\n /**\n * `drop:before` is a an event that allow you to schedule logic\n * before the `drop` event. Prefer `drop` event always, but if you need\n * to run some drop-disabling logic on an event, since there is no way\n * to handle event handlers ordering, use `drop:before`\n * @param {Event} e\n */ _onDrop: function(e) {\n this._simpleEventHandler(\"drop:before\", e);\n return this._simpleEventHandler(\"drop\", e);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onContextMenu: function(e) {\n if (this.stopContextMenu) {\n e.stopPropagation();\n e.preventDefault();\n }\n return false;\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onDoubleClick: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"dblclick\");\n this._resetTransformEventData(e);\n },\n /**\n * Return a the id of an event.\n * returns either the pointerId or the identifier or 0 for the mouse event\n * @private\n * @param {Event} evt Event object\n */ getPointerId: function(evt) {\n var changedTouches = evt.changedTouches;\n if (changedTouches) {\n return changedTouches[0] && changedTouches[0].identifier;\n }\n if (this.enablePointerEvents) {\n return evt.pointerId;\n }\n return -1;\n },\n /**\n * Determines if an event has the id of the event that is considered main\n * @private\n * @param {evt} event Event object\n */ _isMainEvent: function(evt) {\n if (evt.isPrimary === true) {\n return true;\n }\n if (evt.isPrimary === false) {\n return false;\n }\n if (evt.type === \"touchend\" && evt.touches.length === 0) {\n return true;\n }\n if (evt.changedTouches) {\n return evt.changedTouches[0].identifier === this.mainTouchId;\n }\n return true;\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onTouchStart: function(e) {\n e.preventDefault();\n if (this.mainTouchId === null) {\n this.mainTouchId = this.getPointerId(e);\n }\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n addListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n addListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n // Unbind mousedown to prevent double triggers from touch devices\n removeListener(canvasElement, eventTypePrefix + \"down\", this._onMouseDown);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseDown: function(e) {\n this.__onMouseDown(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n removeListener(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n addListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n addListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onTouchEnd: function(e) {\n if (e.touches.length > 0) {\n // if there are still touches stop here\n return;\n }\n this.__onMouseUp(e);\n this._resetTransformEventData();\n this.mainTouchId = null;\n var eventTypePrefix = this._getEventPrefix();\n removeListener(fabric.document, \"touchend\", this._onTouchEnd, addEventOptions);\n removeListener(fabric.document, \"touchmove\", this._onMouseMove, addEventOptions);\n var _this = this;\n if (this._willAddMouseDown) {\n clearTimeout(this._willAddMouseDown);\n }\n this._willAddMouseDown = setTimeout(function() {\n // Wait 400ms before rebinding mousedown to prevent double triggers\n // from touch devices\n addListener(_this.upperCanvasEl, eventTypePrefix + \"down\", _this._onMouseDown);\n _this._willAddMouseDown = 0;\n }, 400);\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */ _onMouseUp: function(e) {\n this.__onMouseUp(e);\n this._resetTransformEventData();\n var canvasElement = this.upperCanvasEl, eventTypePrefix = this._getEventPrefix();\n if (this._isMainEvent(e)) {\n removeListener(fabric.document, eventTypePrefix + \"up\", this._onMouseUp);\n removeListener(fabric.document, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n addListener(canvasElement, eventTypePrefix + \"move\", this._onMouseMove, addEventOptions);\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */ _onMouseMove: function(e) {\n !this.allowTouchScrolling && e.preventDefault && e.preventDefault();\n this.__onMouseMove(e);\n },\n /**\n * @private\n */ _onResize: function() {\n this.calcOffset();\n },\n /**\n * Decides whether the canvas should be redrawn in mouseup and mousedown events.\n * @private\n * @param {Object} target\n */ _shouldRender: function(target) {\n var activeObject = this._activeObject;\n if (!!activeObject !== !!target || activeObject && target && activeObject !== target) {\n // this covers: switch of target, from target to no target, selection of target\n // multiSelection with key and mouse\n return true;\n } else if (activeObject && activeObject.isEditing) {\n // if we mouse up/down over a editing textbox a cursor change,\n // there is no need to re render\n return false;\n }\n return false;\n },\n /**\n * Method that defines the actions when mouse is released on canvas.\n * The method resets the currentTransform parameters, store the image corner\n * position in the image object and render the canvas on top.\n * @private\n * @param {Event} e Event object fired on mouseup\n */ __onMouseUp: function(e) {\n var target, transform = this._currentTransform, groupSelector = this._groupSelector, shouldRender = false, isClick = !groupSelector || groupSelector.left === 0 && groupSelector.top === 0;\n this._cacheTransformEventData(e);\n target = this._target;\n this._handleEvent(e, \"up:before\");\n // if right/middle click just fire events and return\n // target undefined will make the _handleEvent search the target\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, \"up\", RIGHT_CLICK, isClick);\n }\n return;\n }\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, \"up\", MIDDLE_CLICK, isClick);\n }\n this._resetTransformEventData();\n return;\n }\n if (this.isDrawingMode && this._isCurrentlyDrawing) {\n this._onMouseUpInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n if (transform) {\n this._finalizeCurrentTransform(e);\n shouldRender = transform.actionPerformed;\n }\n if (!isClick) {\n var targetWasActive = target === this._activeObject;\n this._maybeGroupObjects(e);\n if (!shouldRender) {\n shouldRender = this._shouldRender(target) || !targetWasActive && target === this._activeObject;\n }\n }\n var corner, pointer;\n if (target) {\n corner = target._findTargetCorner(this.getPointer(e, true), fabric.util.isTouchEvent(e));\n if (target.selectable && target !== this._activeObject && target.activeOn === \"up\") {\n this.setActiveObject(target, e);\n shouldRender = true;\n } else {\n var control = target.controls[corner], mouseUpHandler = control && control.getMouseUpHandler(e, target, control);\n if (mouseUpHandler) {\n pointer = this.getPointer(e);\n mouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n }\n target.isMoving = false;\n }\n // if we are ending up a transform on a different control or a new object\n // fire the original mouse up from the corner that started the transform\n if (transform && (transform.target !== target || transform.corner !== corner)) {\n var originalControl = transform.target && transform.target.controls[transform.corner], originalMouseUpHandler = originalControl && originalControl.getMouseUpHandler(e, target, control);\n pointer = pointer || this.getPointer(e);\n originalMouseUpHandler && originalMouseUpHandler(e, transform, pointer.x, pointer.y);\n }\n this._setCursorFromEvent(e, target);\n this._handleEvent(e, \"up\", LEFT_CLICK, isClick);\n this._groupSelector = null;\n this._currentTransform = null;\n // reset the target information about which corner is selected\n target && (target.__corner = 0);\n if (shouldRender) {\n this.requestRenderAll();\n } else if (!isClick) {\n this.renderTop();\n }\n },\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @return {Fabric.Object} target return the the target found, for internal reasons.\n */ _simpleEventHandler: function(eventType, e) {\n var target = this.findTarget(e), targets = this.targets, options = {\n e: e,\n target: target,\n subTargets: targets\n };\n this.fire(eventType, options);\n target && target.fire(eventType, options);\n if (!targets) {\n return target;\n }\n for(var i = 0; i < targets.length; i++){\n targets[i].fire(eventType, options);\n }\n return target;\n },\n /**\n * @private\n * Handle event firing for target and subtargets\n * @param {Event} e event from mouse\n * @param {String} eventType event to fire (up, down or move)\n * @param {fabric.Object} targetObj receiving event\n * @param {Number} [button] button used in the event 1 = left, 2 = middle, 3 = right\n * @param {Boolean} isClick for left button only, indicates that the mouse up happened without move.\n */ _handleEvent: function(e, eventType, button, isClick) {\n var target = this._target, targets = this.targets || [], options = {\n e: e,\n target: target,\n subTargets: targets,\n button: button || LEFT_CLICK,\n isClick: isClick || false,\n pointer: this._pointer,\n absolutePointer: this._absolutePointer,\n transform: this._currentTransform\n };\n if (eventType === \"up\") {\n options.currentTarget = this.findTarget(e);\n options.currentSubTargets = this.targets;\n }\n this.fire(\"mouse:\" + eventType, options);\n target && target.fire(\"mouse\" + eventType, options);\n for(var i = 0; i < targets.length; i++){\n targets[i].fire(\"mouse\" + eventType, options);\n }\n },\n /**\n * @private\n * @param {Event} e send the mouse event that generate the finalize down, so it can be used in the event\n */ _finalizeCurrentTransform: function(e) {\n var transform = this._currentTransform, target = transform.target, options = {\n e: e,\n target: target,\n transform: transform,\n action: transform.action\n };\n if (target._scaling) {\n target._scaling = false;\n }\n target.setCoords();\n if (transform.actionPerformed || this.stateful && target.hasStateChanged()) {\n this._fire(\"modified\", options);\n }\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousedown\n */ _onMouseDownInDrawingMode: function(e) {\n this._isCurrentlyDrawing = true;\n if (this.getActiveObject()) {\n this.discardActiveObject(e).requestRenderAll();\n }\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseDown(pointer, {\n e: e,\n pointer: pointer\n });\n this._handleEvent(e, \"down\");\n },\n /**\n * @private\n * @param {Event} e Event object fired on mousemove\n */ _onMouseMoveInDrawingMode: function(e) {\n if (this._isCurrentlyDrawing) {\n var pointer = this.getPointer(e);\n this.freeDrawingBrush.onMouseMove(pointer, {\n e: e,\n pointer: pointer\n });\n }\n this.setCursor(this.freeDrawingCursor);\n this._handleEvent(e, \"move\");\n },\n /**\n * @private\n * @param {Event} e Event object fired on mouseup\n */ _onMouseUpInDrawingMode: function(e) {\n var pointer = this.getPointer(e);\n this._isCurrentlyDrawing = this.freeDrawingBrush.onMouseUp({\n e: e,\n pointer: pointer\n });\n this._handleEvent(e, \"up\");\n },\n /**\n * Method that defines the actions when mouse is clicked on canvas.\n * The method inits the currentTransform parameters and renders all the\n * canvas so the current image can be placed on the top canvas and the rest\n * in on the container one.\n * @private\n * @param {Event} e Event object fired on mousedown\n */ __onMouseDown: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"down:before\");\n var target = this._target;\n // if right click just fire events\n if (checkClick(e, RIGHT_CLICK)) {\n if (this.fireRightClick) {\n this._handleEvent(e, \"down\", RIGHT_CLICK);\n }\n return;\n }\n if (checkClick(e, MIDDLE_CLICK)) {\n if (this.fireMiddleClick) {\n this._handleEvent(e, \"down\", MIDDLE_CLICK);\n }\n return;\n }\n if (this.isDrawingMode) {\n this._onMouseDownInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n // ignore if some object is being transformed at this moment\n if (this._currentTransform) {\n return;\n }\n var pointer = this._pointer;\n // save pointer for check in __onMouseUp event\n this._previousPointer = pointer;\n var shouldRender = this._shouldRender(target), shouldGroup = this._shouldGroup(e, target);\n if (this._shouldClearSelection(e, target)) {\n this.discardActiveObject(e);\n } else if (shouldGroup) {\n this._handleGrouping(e, target);\n target = this._activeObject;\n }\n if (this.selection && (!target || !target.selectable && !target.isEditing && target !== this._activeObject)) {\n this._groupSelector = {\n ex: this._absolutePointer.x,\n ey: this._absolutePointer.y,\n top: 0,\n left: 0\n };\n }\n if (target) {\n var alreadySelected = target === this._activeObject;\n if (target.selectable && target.activeOn === \"down\") {\n this.setActiveObject(target, e);\n }\n var corner = target._findTargetCorner(this.getPointer(e, true), fabric.util.isTouchEvent(e));\n target.__corner = corner;\n if (target === this._activeObject && (corner || !shouldGroup)) {\n this._setupCurrentTransform(e, target, alreadySelected);\n var control = target.controls[corner], pointer = this.getPointer(e), mouseDownHandler = control && control.getMouseDownHandler(e, target, control);\n if (mouseDownHandler) {\n mouseDownHandler(e, this._currentTransform, pointer.x, pointer.y);\n }\n }\n }\n this._handleEvent(e, \"down\");\n // we must renderAll so that we update the visuals\n (shouldRender || shouldGroup) && this.requestRenderAll();\n },\n /**\n * reset cache form common information needed during event processing\n * @private\n */ _resetTransformEventData: function() {\n this._target = null;\n this._pointer = null;\n this._absolutePointer = null;\n },\n /**\n * Cache common information needed during event processing\n * @private\n * @param {Event} e Event object fired on event\n */ _cacheTransformEventData: function(e) {\n // reset in order to avoid stale caching\n this._resetTransformEventData();\n this._pointer = this.getPointer(e, true);\n this._absolutePointer = this.restorePointerVpt(this._pointer);\n this._target = this._currentTransform ? this._currentTransform.target : this.findTarget(e) || null;\n },\n /**\n * @private\n */ _beforeTransform: function(e) {\n var t = this._currentTransform;\n this.stateful && t.target.saveState();\n this.fire(\"before:transform\", {\n e: e,\n transform: t\n });\n },\n /**\n * Method that defines the actions when mouse is hovering the canvas.\n * The currentTransform parameter will define whether the user is rotating/scaling/translating\n * an image or neither of them (only hovering). A group selection is also possible and would cancel\n * all any other type of action.\n * In case of an image transformation only the top canvas will be rendered.\n * @private\n * @param {Event} e Event object fired on mousemove\n */ __onMouseMove: function(e) {\n this._handleEvent(e, \"move:before\");\n this._cacheTransformEventData(e);\n var target, pointer;\n if (this.isDrawingMode) {\n this._onMouseMoveInDrawingMode(e);\n return;\n }\n if (!this._isMainEvent(e)) {\n return;\n }\n var groupSelector = this._groupSelector;\n // We initially clicked in an empty area, so we draw a box for multiple selection\n if (groupSelector) {\n pointer = this._absolutePointer;\n groupSelector.left = pointer.x - groupSelector.ex;\n groupSelector.top = pointer.y - groupSelector.ey;\n this.renderTop();\n } else if (!this._currentTransform) {\n target = this.findTarget(e) || null;\n this._setCursorFromEvent(e, target);\n this._fireOverOutEvents(target, e);\n } else {\n this._transformObject(e);\n }\n this._handleEvent(e, \"move\");\n this._resetTransformEventData();\n },\n /**\n * Manage the mouseout, mouseover events for the fabric object on the canvas\n * @param {Fabric.Object} target the target where the target from the mousemove event\n * @param {Event} e Event object fired on mousemove\n * @private\n */ _fireOverOutEvents: function(target, e) {\n var _hoveredTarget = this._hoveredTarget, _hoveredTargets = this._hoveredTargets, targets = this.targets, length = Math.max(_hoveredTargets.length, targets.length);\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _hoveredTarget,\n evtOut: \"mouseout\",\n canvasEvtOut: \"mouse:out\",\n evtIn: \"mouseover\",\n canvasEvtIn: \"mouse:over\"\n });\n for(var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: \"mouseout\",\n evtIn: \"mouseover\"\n });\n }\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n },\n /**\n * Manage the dragEnter, dragLeave events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the onDrag event\n * @param {Event} e Event object fired on ondrag\n * @private\n */ _fireEnterLeaveEvents: function(target, e) {\n var _draggedoverTarget = this._draggedoverTarget, _hoveredTargets = this._hoveredTargets, targets = this.targets, length = Math.max(_hoveredTargets.length, targets.length);\n this.fireSyntheticInOutEvents(target, e, {\n oldTarget: _draggedoverTarget,\n evtOut: \"dragleave\",\n evtIn: \"dragenter\"\n });\n for(var i = 0; i < length; i++){\n this.fireSyntheticInOutEvents(targets[i], e, {\n oldTarget: _hoveredTargets[i],\n evtOut: \"dragleave\",\n evtIn: \"dragenter\"\n });\n }\n this._draggedoverTarget = target;\n },\n /**\n * Manage the synthetic in/out events for the fabric objects on the canvas\n * @param {Fabric.Object} target the target where the target from the supported events\n * @param {Event} e Event object fired\n * @param {Object} config configuration for the function to work\n * @param {String} config.targetName property on the canvas where the old target is stored\n * @param {String} [config.canvasEvtOut] name of the event to fire at canvas level for out\n * @param {String} config.evtOut name of the event to fire for out\n * @param {String} [config.canvasEvtIn] name of the event to fire at canvas level for in\n * @param {String} config.evtIn name of the event to fire for in\n * @private\n */ fireSyntheticInOutEvents: function(target, e, config) {\n var inOpt, outOpt, oldTarget = config.oldTarget, outFires, inFires, targetChanged = oldTarget !== target, canvasEvtIn = config.canvasEvtIn, canvasEvtOut = config.canvasEvtOut;\n if (targetChanged) {\n inOpt = {\n e: e,\n target: target,\n previousTarget: oldTarget\n };\n outOpt = {\n e: e,\n target: oldTarget,\n nextTarget: target\n };\n }\n inFires = target && targetChanged;\n outFires = oldTarget && targetChanged;\n if (outFires) {\n canvasEvtOut && this.fire(canvasEvtOut, outOpt);\n oldTarget.fire(config.evtOut, outOpt);\n }\n if (inFires) {\n canvasEvtIn && this.fire(canvasEvtIn, inOpt);\n target.fire(config.evtIn, inOpt);\n }\n },\n /**\n * Method that defines actions when an Event Mouse Wheel\n * @param {Event} e Event object fired on mouseup\n */ __onMouseWheel: function(e) {\n this._cacheTransformEventData(e);\n this._handleEvent(e, \"wheel\");\n this._resetTransformEventData();\n },\n /**\n * @private\n * @param {Event} e Event fired on mousemove\n */ _transformObject: function(e) {\n var pointer = this.getPointer(e), transform = this._currentTransform;\n transform.reset = false;\n transform.shiftKey = e.shiftKey;\n transform.altKey = e[this.centeredKey];\n this._performTransformAction(e, transform, pointer);\n transform.actionPerformed && this.requestRenderAll();\n },\n /**\n * @private\n */ _performTransformAction: function(e, transform, pointer) {\n var x = pointer.x, y = pointer.y, action = transform.action, actionPerformed = false, actionHandler = transform.actionHandler;\n // this object could be created from the function in the control handlers\n if (actionHandler) {\n actionPerformed = actionHandler(e, transform, x, y);\n }\n if (action === \"drag\" && actionPerformed) {\n transform.target.isMoving = true;\n this.setCursor(transform.target.moveCursor || this.moveCursor);\n }\n transform.actionPerformed = transform.actionPerformed || actionPerformed;\n },\n /**\n * @private\n */ _fire: fabric.controlsUtils.fireEvent,\n /**\n * Sets the cursor depending on where the canvas is being hovered.\n * Note: very buggy in Opera\n * @param {Event} e Event object\n * @param {Object} target Object that the mouse is hovering, if so.\n */ _setCursorFromEvent: function(e, target) {\n if (!target) {\n this.setCursor(this.defaultCursor);\n return false;\n }\n var hoverCursor = target.hoverCursor || this.hoverCursor, activeSelection = this._activeObject && this._activeObject.type === \"activeSelection\" ? this._activeObject : null, // only show proper corner when group selection is not active\n corner = (!activeSelection || !activeSelection.contains(target)) && target._findTargetCorner(this.getPointer(e, true));\n if (!corner) {\n if (target.subTargetCheck) {\n // hoverCursor should come from top-most subTarget,\n // so we walk the array backwards\n this.targets.concat().reverse().map(function(_target) {\n hoverCursor = _target.hoverCursor || hoverCursor;\n });\n }\n this.setCursor(hoverCursor);\n } else {\n this.setCursor(this.getCornerCursor(corner, target, e));\n }\n },\n /**\n * @private\n */ getCornerCursor: function(corner, target, e) {\n var control = target.controls[corner];\n return control.cursorStyleHandler(e, control, target);\n }\n });\n})();\n(function() {\n var min = Math.min, max = Math.max;\n fabric.util.object.extend(fabric.Canvas.prototype, /** @lends fabric.Canvas.prototype */ {\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n * @return {Boolean}\n */ _shouldGroup: function(e, target) {\n var activeObject = this._activeObject;\n return activeObject && this._isSelectionKeyPressed(e) && target && target.selectable && this.selection && (activeObject !== target || activeObject.type === \"activeSelection\") && !target.onSelect({\n e: e\n });\n },\n /**\n * @private\n * @param {Event} e Event object\n * @param {fabric.Object} target\n */ _handleGrouping: function(e, target) {\n var activeObject = this._activeObject;\n // avoid multi select when shift click on a corner\n if (activeObject.__corner) {\n return;\n }\n if (target === activeObject) {\n // if it's a group, find target again, using activeGroup objects\n target = this.findTarget(e, true);\n // if even object is not found or we are on activeObjectCorner, bail out\n if (!target || !target.selectable) {\n return;\n }\n }\n if (activeObject && activeObject.type === \"activeSelection\") {\n this._updateActiveSelection(target, e);\n } else {\n this._createActiveSelection(target, e);\n }\n },\n /**\n * @private\n */ _updateActiveSelection: function(target, e) {\n var activeSelection = this._activeObject, currentActiveObjects = activeSelection._objects.slice(0);\n if (activeSelection.contains(target)) {\n activeSelection.removeWithUpdate(target);\n this._hoveredTarget = target;\n this._hoveredTargets = this.targets.concat();\n if (activeSelection.size() === 1) {\n // activate last remaining object\n this._setActiveObject(activeSelection.item(0), e);\n }\n } else {\n activeSelection.addWithUpdate(target);\n this._hoveredTarget = activeSelection;\n this._hoveredTargets = this.targets.concat();\n }\n this._fireSelectionEvents(currentActiveObjects, e);\n },\n /**\n * @private\n */ _createActiveSelection: function(target, e) {\n var currentActives = this.getActiveObjects(), group = this._createGroup(target);\n this._hoveredTarget = group;\n // ISSUE 4115: should we consider subTargets here?\n // this._hoveredTargets = [];\n // this._hoveredTargets = this.targets.concat();\n this._setActiveObject(group, e);\n this._fireSelectionEvents(currentActives, e);\n },\n /**\n * @private\n * @param {Object} target\n */ _createGroup: function(target) {\n var objects = this._objects, isActiveLower = objects.indexOf(this._activeObject) < objects.indexOf(target), groupObjects = isActiveLower ? [\n this._activeObject,\n target\n ] : [\n target,\n this._activeObject\n ];\n this._activeObject.isEditing && this._activeObject.exitEditing();\n return new fabric.ActiveSelection(groupObjects, {\n canvas: this\n });\n },\n /**\n * @private\n * @param {Event} e mouse event\n */ _groupSelectedObjects: function(e) {\n var group = this._collectObjects(e), aGroup;\n // do not create group for 1 element only\n if (group.length === 1) {\n this.setActiveObject(group[0], e);\n } else if (group.length > 1) {\n aGroup = new fabric.ActiveSelection(group.reverse(), {\n canvas: this\n });\n this.setActiveObject(aGroup, e);\n }\n },\n /**\n * @private\n */ _collectObjects: function(e) {\n var group = [], currentObject, x1 = this._groupSelector.ex, y1 = this._groupSelector.ey, x2 = x1 + this._groupSelector.left, y2 = y1 + this._groupSelector.top, selectionX1Y1 = new fabric.Point(min(x1, x2), min(y1, y2)), selectionX2Y2 = new fabric.Point(max(x1, x2), max(y1, y2)), allowIntersect = !this.selectionFullyContained, isClick = x1 === x2 && y1 === y2;\n // we iterate reverse order to collect top first in case of click.\n for(var i = this._objects.length; i--;){\n currentObject = this._objects[i];\n if (!currentObject || !currentObject.selectable || !currentObject.visible) {\n continue;\n }\n if (allowIntersect && currentObject.intersectsWithRect(selectionX1Y1, selectionX2Y2, true) || currentObject.isContainedWithinRect(selectionX1Y1, selectionX2Y2, true) || allowIntersect && currentObject.containsPoint(selectionX1Y1, null, true) || allowIntersect && currentObject.containsPoint(selectionX2Y2, null, true)) {\n group.push(currentObject);\n // only add one object if it's a click\n if (isClick) {\n break;\n }\n }\n }\n if (group.length > 1) {\n group = group.filter(function(object) {\n return !object.onSelect({\n e: e\n });\n });\n }\n return group;\n },\n /**\n * @private\n */ _maybeGroupObjects: function(e) {\n if (this.selection && this._groupSelector) {\n this._groupSelectedObjects(e);\n }\n this.setCursor(this.defaultCursor);\n // clear selection and current transformation\n this._groupSelector = null;\n }\n });\n})();\n(function() {\n fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Exports canvas element to a dataurl image. Note that when multiplier is used, cropping is scaled appropriately\n * @param {Object} [options] Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by, to have consistent\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 2.0.0\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n * @see {@link http://jsfiddle.net/fabricjs/NfZVb/|jsFiddle demo}\n * @example Generate jpeg dataURL with lower quality\n * var dataURL = canvas.toDataURL({\n * format: 'jpeg',\n * quality: 0.8\n * });\n * @example Generate cropped png dataURL (clipping of canvas)\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * left: 100,\n * top: 100,\n * width: 200,\n * height: 200\n * });\n * @example Generate double scaled png dataURL\n * var dataURL = canvas.toDataURL({\n * format: 'png',\n * multiplier: 2\n * });\n */ toDataURL: function(options) {\n options || (options = {});\n var format = options.format || \"png\", quality = options.quality || 1, multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? this.getRetinaScaling() : 1), canvasEl = this.toCanvasElement(multiplier, options);\n return fabric.util.toDataURL(canvasEl, format, quality);\n },\n /**\n * Create a new HTMLCanvas element painted with the current canvas content.\n * No need to resize the actual one or repaint it.\n * Will transfer object ownership to a new canvas, paint it, and set everything back.\n * This is an intermediary step used to get to a dataUrl but also it is useful to\n * create quick image copies of a canvas without passing for the dataUrl string\n * @param {Number} [multiplier] a zoom factor.\n * @param {Object} [cropping] Cropping informations\n * @param {Number} [cropping.left] Cropping left offset.\n * @param {Number} [cropping.top] Cropping top offset.\n * @param {Number} [cropping.width] Cropping width.\n * @param {Number} [cropping.height] Cropping height.\n */ toCanvasElement: function(multiplier, cropping) {\n multiplier = multiplier || 1;\n cropping = cropping || {};\n var scaledWidth = (cropping.width || this.width) * multiplier, scaledHeight = (cropping.height || this.height) * multiplier, zoom = this.getZoom(), originalWidth = this.width, originalHeight = this.height, newZoom = zoom * multiplier, vp = this.viewportTransform, translateX = (vp[4] - (cropping.left || 0)) * multiplier, translateY = (vp[5] - (cropping.top || 0)) * multiplier, originalInteractive = this.interactive, newVp = [\n newZoom,\n 0,\n 0,\n newZoom,\n translateX,\n translateY\n ], originalRetina = this.enableRetinaScaling, canvasEl = fabric.util.createCanvasElement(), originalContextTop = this.contextTop;\n canvasEl.width = scaledWidth;\n canvasEl.height = scaledHeight;\n this.contextTop = null;\n this.enableRetinaScaling = false;\n this.interactive = false;\n this.viewportTransform = newVp;\n this.width = scaledWidth;\n this.height = scaledHeight;\n this.calcViewportBoundaries();\n this.renderCanvas(canvasEl.getContext(\"2d\"), this._objects);\n this.viewportTransform = vp;\n this.width = originalWidth;\n this.height = originalHeight;\n this.calcViewportBoundaries();\n this.interactive = originalInteractive;\n this.enableRetinaScaling = originalRetina;\n this.contextTop = originalContextTop;\n return canvasEl;\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Populates canvas with data from the specified JSON.\n * JSON format must conform to the one of {@link fabric.Canvas#toJSON}\n * @param {String|Object} json JSON string or object\n * @param {Function} callback Callback, invoked when json is parsed\n * and corresponding objects (e.g: {@link fabric.Image})\n * are initialized\n * @param {Function} [reviver] Method for further parsing of JSON elements, called after each fabric object created.\n * @return {fabric.Canvas} instance\n * @chainable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#deserialization}\n * @see {@link http://jsfiddle.net/fabricjs/fmgXt/|jsFiddle demo}\n * @example loadFromJSON\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas));\n * @example loadFromJSON with reviver\n * canvas.loadFromJSON(json, canvas.renderAll.bind(canvas), function(o, object) {\n * // `o` = json object\n * // `object` = fabric.Object instance\n * // ... do some stuff ...\n * });\n */ loadFromJSON: function(json, callback, reviver) {\n if (!json) {\n return;\n }\n // serialize if it wasn't already\n var serialized = typeof json === \"string\" ? JSON.parse(json) : fabric.util.object.clone(json);\n var _this = this, clipPath = serialized.clipPath, renderOnAddRemove = this.renderOnAddRemove;\n this.renderOnAddRemove = false;\n delete serialized.clipPath;\n this._enlivenObjects(serialized.objects, function(enlivenedObjects) {\n _this.clear();\n _this._setBgOverlay(serialized, function() {\n if (clipPath) {\n _this._enlivenObjects([\n clipPath\n ], function(enlivenedCanvasClip) {\n _this.clipPath = enlivenedCanvasClip[0];\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n });\n } else {\n _this.__setupCanvas.call(_this, serialized, enlivenedObjects, renderOnAddRemove, callback);\n }\n });\n }, reviver);\n return this;\n },\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Array} restored canvas objects\n * @param {Function} cached renderOnAddRemove callback\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */ __setupCanvas: function(serialized, enlivenedObjects, renderOnAddRemove, callback) {\n var _this = this;\n enlivenedObjects.forEach(function(obj, index) {\n // we splice the array just in case some custom classes restored from JSON\n // will add more object to canvas at canvas init.\n _this.insertAt(obj, index);\n });\n this.renderOnAddRemove = renderOnAddRemove;\n // remove parts i cannot set as options\n delete serialized.objects;\n delete serialized.backgroundImage;\n delete serialized.overlayImage;\n delete serialized.background;\n delete serialized.overlay;\n // this._initOptions does too many things to just\n // call it. Normally loading an Object from JSON\n // create the Object instance. Here the Canvas is\n // already an instance and we are just loading things over it\n this._setOptions(serialized);\n this.renderAll();\n callback && callback();\n },\n /**\n * @private\n * @param {Object} serialized Object with background and overlay information\n * @param {Function} callback Invoked after all background and overlay images/patterns loaded\n */ _setBgOverlay: function(serialized, callback) {\n var loaded = {\n backgroundColor: false,\n overlayColor: false,\n backgroundImage: false,\n overlayImage: false\n };\n if (!serialized.backgroundImage && !serialized.overlayImage && !serialized.background && !serialized.overlay) {\n callback && callback();\n return;\n }\n var cbIfLoaded = function() {\n if (loaded.backgroundImage && loaded.overlayImage && loaded.backgroundColor && loaded.overlayColor) {\n callback && callback();\n }\n };\n this.__setBgOverlay(\"backgroundImage\", serialized.backgroundImage, loaded, cbIfLoaded);\n this.__setBgOverlay(\"overlayImage\", serialized.overlayImage, loaded, cbIfLoaded);\n this.__setBgOverlay(\"backgroundColor\", serialized.background, loaded, cbIfLoaded);\n this.__setBgOverlay(\"overlayColor\", serialized.overlay, loaded, cbIfLoaded);\n },\n /**\n * @private\n * @param {String} property Property to set (backgroundImage, overlayImage, backgroundColor, overlayColor)\n * @param {(Object|String)} value Value to set\n * @param {Object} loaded Set loaded property to true if property is set\n * @param {Object} callback Callback function to invoke after property is set\n */ __setBgOverlay: function(property, value, loaded, callback) {\n var _this = this;\n if (!value) {\n loaded[property] = true;\n callback && callback();\n return;\n }\n if (property === \"backgroundImage\" || property === \"overlayImage\") {\n fabric.util.enlivenObjects([\n value\n ], function(enlivedObject) {\n _this[property] = enlivedObject[0];\n loaded[property] = true;\n callback && callback();\n });\n } else {\n this[\"set\" + fabric.util.string.capitalize(property, true)](value, function() {\n loaded[property] = true;\n callback && callback();\n });\n }\n },\n /**\n * @private\n * @param {Array} objects\n * @param {Function} callback\n * @param {Function} [reviver]\n */ _enlivenObjects: function(objects, callback, reviver) {\n if (!objects || objects.length === 0) {\n callback && callback([]);\n return;\n }\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, null, reviver);\n },\n /**\n * @private\n * @param {String} format\n * @param {Function} callback\n */ _toDataURL: function(format, callback) {\n this.clone(function(clone) {\n callback(clone.toDataURL(format));\n });\n },\n /**\n * @private\n * @param {String} format\n * @param {Number} multiplier\n * @param {Function} callback\n */ _toDataURLWithMultiplier: function(format, multiplier, callback) {\n this.clone(function(clone) {\n callback(clone.toDataURLWithMultiplier(format, multiplier));\n });\n },\n /**\n * Clones canvas instance\n * @param {Object} [callback] Receives cloned instance as a first argument\n * @param {Array} [properties] Array of properties to include in the cloned canvas and children\n */ clone: function(callback, properties) {\n var data = JSON.stringify(this.toJSON(properties));\n this.cloneWithoutData(function(clone) {\n clone.loadFromJSON(data, function() {\n callback && callback(clone);\n });\n });\n },\n /**\n * Clones canvas instance without cloning existing data.\n * This essentially copies canvas dimensions, clipping properties, etc.\n * but leaves data empty (so that you can populate it with your own)\n * @param {Object} [callback] Receives cloned instance as a first argument\n */ cloneWithoutData: function(callback) {\n var el = fabric.util.createCanvasElement();\n el.width = this.width;\n el.height = this.height;\n var clone = new fabric.Canvas(el);\n if (this.backgroundImage) {\n clone.setBackgroundImage(this.backgroundImage.src, function() {\n clone.renderAll();\n callback && callback(clone);\n });\n clone.backgroundImageOpacity = this.backgroundImageOpacity;\n clone.backgroundImageStretch = this.backgroundImageStretch;\n } else {\n callback && callback(clone);\n }\n }\n});\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, clone = fabric.util.object.clone, toFixed = fabric.util.toFixed, capitalize = fabric.util.string.capitalize, degreesToRadians = fabric.util.degreesToRadians, objectCaching = !fabric.isLikelyNode, ALIASING_LIMIT = 2;\n if (fabric.Object) {\n return;\n }\n /**\n * Root object class from which all 2d shape classes inherit from\n * @class fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#objects}\n * @see {@link fabric.Object#initialize} for constructor definition\n *\n * @fires added\n * @fires removed\n *\n * @fires selected\n * @fires deselected\n * @fires modified\n * @fires modified\n * @fires moved\n * @fires scaled\n * @fires rotated\n * @fires skewed\n *\n * @fires rotating\n * @fires scaling\n * @fires moving\n * @fires skewing\n *\n * @fires mousedown\n * @fires mouseup\n * @fires mouseover\n * @fires mouseout\n * @fires mousewheel\n * @fires mousedblclick\n *\n * @fires dragover\n * @fires dragenter\n * @fires dragleave\n * @fires drop\n */ fabric.Object = fabric.util.createClass(fabric.CommonMethods, /** @lends fabric.Object.prototype */ {\n /**\n * Type of an object (rect, circle, path, etc.).\n * Note that this property is meant to be read-only and not meant to be modified.\n * If you modify, certain parts of Fabric (such as JSON loading) won't work correctly.\n * @type String\n * @default\n */ type: \"object\",\n /**\n * Horizontal origin of transformation of an object (one of \"left\", \"right\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */ originX: \"left\",\n /**\n * Vertical origin of transformation of an object (one of \"top\", \"bottom\", \"center\")\n * See http://jsfiddle.net/1ow02gea/244/ on how originX/originY affect objects in groups\n * @type String\n * @default\n */ originY: \"top\",\n /**\n * Top position of an object. Note that by default it's relative to object top. You can change this by setting originY={top/center/bottom}\n * @type Number\n * @default\n */ top: 0,\n /**\n * Left position of an object. Note that by default it's relative to object left. You can change this by setting originX={left/center/right}\n * @type Number\n * @default\n */ left: 0,\n /**\n * Object width\n * @type Number\n * @default\n */ width: 0,\n /**\n * Object height\n * @type Number\n * @default\n */ height: 0,\n /**\n * Object scale factor (horizontal)\n * @type Number\n * @default\n */ scaleX: 1,\n /**\n * Object scale factor (vertical)\n * @type Number\n * @default\n */ scaleY: 1,\n /**\n * When true, an object is rendered as flipped horizontally\n * @type Boolean\n * @default\n */ flipX: false,\n /**\n * When true, an object is rendered as flipped vertically\n * @type Boolean\n * @default\n */ flipY: false,\n /**\n * Opacity of an object\n * @type Number\n * @default\n */ opacity: 1,\n /**\n * Angle of rotation of an object (in degrees)\n * @type Number\n * @default\n */ angle: 0,\n /**\n * Angle of skew on x axes of an object (in degrees)\n * @type Number\n * @default\n */ skewX: 0,\n /**\n * Angle of skew on y axes of an object (in degrees)\n * @type Number\n * @default\n */ skewY: 0,\n /**\n * Size of object's controlling corners (in pixels)\n * @type Number\n * @default\n */ cornerSize: 13,\n /**\n * Size of object's controlling corners when touch interaction is detected\n * @type Number\n * @default\n */ touchCornerSize: 24,\n /**\n * When true, object's controlling corners are rendered as transparent inside (i.e. stroke instead of fill)\n * @type Boolean\n * @default\n */ transparentCorners: true,\n /**\n * Default cursor value used when hovering over this object on canvas\n * @type String\n * @default\n */ hoverCursor: null,\n /**\n * Default cursor value used when moving this object on canvas\n * @type String\n * @default\n */ moveCursor: null,\n /**\n * Padding between object and its controlling borders (in pixels)\n * @type Number\n * @default\n */ padding: 0,\n /**\n * Color of controlling borders of an object (when it's active)\n * @type String\n * @default\n */ borderColor: \"rgb(178,204,255)\",\n /**\n * Array specifying dash pattern of an object's borders (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */ borderDashArray: null,\n /**\n * Color of controlling corners of an object (when it's active)\n * @type String\n * @default\n */ cornerColor: \"rgb(178,204,255)\",\n /**\n * Color of controlling corners of an object (when it's active and transparentCorners false)\n * @since 1.6.2\n * @type String\n * @default\n */ cornerStrokeColor: null,\n /**\n * Specify style of control, 'rect' or 'circle'\n * @since 1.6.2\n * @type String\n */ cornerStyle: \"rect\",\n /**\n * Array specifying dash pattern of an object's control (hasBorder must be true)\n * @since 1.6.2\n * @type Array\n */ cornerDashArray: null,\n /**\n * When true, this object will use center point as the origin of transformation\n * when being scaled via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredScaling: false,\n /**\n * When true, this object will use center point as the origin of transformation\n * when being rotated via the controls.\n * Backwards incompatibility note: This property replaces \"centerTransform\" (Boolean).\n * @since 1.3.4\n * @type Boolean\n * @default\n */ centeredRotation: true,\n /**\n * Color of object's fill\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ fill: \"rgb(0,0,0)\",\n /**\n * Fill rule used to fill an object\n * accepted values are nonzero, evenodd\n * Backwards incompatibility note: This property was used for setting globalCompositeOperation until v1.4.12 (use `fabric.Object#globalCompositeOperation` instead)\n * @type String\n * @default\n */ fillRule: \"nonzero\",\n /**\n * Composite rule used for canvas globalCompositeOperation\n * @type String\n * @default\n */ globalCompositeOperation: \"source-over\",\n /**\n * Background color of an object.\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ backgroundColor: \"\",\n /**\n * Selection Background color of an object. colored layer behind the object when it is active.\n * does not mix good with globalCompositeOperation methods.\n * @type String\n * @default\n */ selectionBackgroundColor: \"\",\n /**\n * When defined, an object is rendered via stroke and this property specifies its color\n * takes css colors https://www.w3.org/TR/css-color-3/\n * @type String\n * @default\n */ stroke: null,\n /**\n * Width of a stroke used to render this object\n * @type Number\n * @default\n */ strokeWidth: 1,\n /**\n * Array specifying dash pattern of an object's stroke (stroke must be defined)\n * @type Array\n */ strokeDashArray: null,\n /**\n * Line offset of an object's stroke\n * @type Number\n * @default\n */ strokeDashOffset: 0,\n /**\n * Line endings style of an object's stroke (one of \"butt\", \"round\", \"square\")\n * @type String\n * @default\n */ strokeLineCap: \"butt\",\n /**\n * Corner style of an object's stroke (one of \"bevel\", \"round\", \"miter\")\n * @type String\n * @default\n */ strokeLineJoin: \"miter\",\n /**\n * Maximum miter length (used for strokeLineJoin = \"miter\") of an object's stroke\n * @type Number\n * @default\n */ strokeMiterLimit: 4,\n /**\n * Shadow object representing shadow of this shape\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * Opacity of object's controlling borders when object is active and moving\n * @type Number\n * @default\n */ borderOpacityWhenMoving: 0.4,\n /**\n * Scale factor of object's controlling borders\n * bigger number will make a thicker border\n * border is 1, so this is basically a border thickness\n * since there is no way to change the border itself.\n * @type Number\n * @default\n */ borderScaleFactor: 1,\n /**\n * Minimum allowed scale value of an object\n * @type Number\n * @default\n */ minScaleLimit: 0,\n /**\n * When set to `false`, an object can not be selected for modification (using either point-click-based or group-based selection).\n * But events still fire on it.\n * @type Boolean\n * @default\n */ selectable: true,\n /**\n * When set to `false`, an object can not be a target of events. All events propagate through it. Introduced in v1.3.4\n * @type Boolean\n * @default\n */ evented: true,\n /**\n * When set to `false`, an object is not rendered on canvas\n * @type Boolean\n * @default\n */ visible: true,\n /**\n * When set to `false`, object's controls are not displayed and can not be used to manipulate object\n * @type Boolean\n * @default\n */ hasControls: true,\n /**\n * When set to `false`, object's controlling borders are not rendered\n * @type Boolean\n * @default\n */ hasBorders: true,\n /**\n * When set to `true`, objects are \"found\" on canvas on per-pixel basis rather than according to bounding box\n * @type Boolean\n * @default\n */ perPixelTargetFind: false,\n /**\n * When `false`, default object's values are not included in its serialization\n * @type Boolean\n * @default\n */ includeDefaultValues: true,\n /**\n * When `true`, object horizontal movement is locked\n * @type Boolean\n * @default\n */ lockMovementX: false,\n /**\n * When `true`, object vertical movement is locked\n * @type Boolean\n * @default\n */ lockMovementY: false,\n /**\n * When `true`, object rotation is locked\n * @type Boolean\n * @default\n */ lockRotation: false,\n /**\n * When `true`, object horizontal scaling is locked\n * @type Boolean\n * @default\n */ lockScalingX: false,\n /**\n * When `true`, object vertical scaling is locked\n * @type Boolean\n * @default\n */ lockScalingY: false,\n /**\n * When `true`, object horizontal skewing is locked\n * @type Boolean\n * @default\n */ lockSkewingX: false,\n /**\n * When `true`, object vertical skewing is locked\n * @type Boolean\n * @default\n */ lockSkewingY: false,\n /**\n * When `true`, object cannot be flipped by scaling into negative values\n * @type Boolean\n * @default\n */ lockScalingFlip: false,\n /**\n * When `true`, object is not exported in OBJECT/JSON\n * @since 1.6.3\n * @type Boolean\n * @default\n */ excludeFromExport: false,\n /**\n * When `true`, object is cached on an additional canvas.\n * When `false`, object is not cached unless necessary ( clipPath )\n * default to true\n * @since 1.7.0\n * @type Boolean\n * @default true\n */ objectCaching: objectCaching,\n /**\n * When `true`, object properties are checked for cache invalidation. In some particular\n * situation you may want this to be disabled ( spray brush, very big, groups)\n * or if your application does not allow you to modify properties for groups child you want\n * to disable it for groups.\n * default to false\n * since 1.7.0\n * @type Boolean\n * @default false\n */ statefullCache: false,\n /**\n * When `true`, cache does not get updated during scaling. The picture will get blocky if scaled\n * too much and will be redrawn with correct details at the end of scaling.\n * this setting is performance and application dependant.\n * default to true\n * since 1.7.0\n * @type Boolean\n * @default true\n */ noScaleCache: true,\n /**\n * When `false`, the stoke width will scale with the object.\n * When `true`, the stroke will always match the exact pixel size entered for stroke width.\n * this Property does not work on Text classes or drawing call that uses strokeText,fillText methods\n * default to false\n * @since 2.6.0\n * @type Boolean\n * @default false\n * @type Boolean\n * @default false\n */ strokeUniform: false,\n /**\n * When set to `true`, object's cache will be rerendered next render call.\n * since 1.7.0\n * @type Boolean\n * @default true\n */ dirty: true,\n /**\n * keeps the value of the last hovered corner during mouse move.\n * 0 is no corner, or 'mt', 'ml', 'mtr' etc..\n * It should be private, but there is no harm in using it as\n * a read-only property.\n * @type number|string|any\n * @default 0\n */ __corner: 0,\n /**\n * Determines if the fill or the stroke is drawn first (one of \"fill\" or \"stroke\")\n * @type String\n * @default\n */ paintFirst: \"fill\",\n /**\n * When 'down', object is set to active on mousedown/touchstart\n * When 'up', object is set to active on mouseup/touchend\n * Experimental. Let's see if this breaks anything before supporting officially\n * @private\n * since 4.4.0\n * @type String\n * @default 'down'\n */ activeOn: \"down\",\n /**\n * List of properties to consider when checking if state\n * of an object is changed (fabric.Object#hasStateChanged)\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: (\"top left width height scaleX scaleY flipX flipY originX originY transformMatrix \" + \"stroke strokeWidth strokeDashArray strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit \" + \"angle opacity fill globalCompositeOperation shadow visible backgroundColor \" + \"skewX skewY fillRule paintFirst clipPath strokeUniform\").split(\" \"),\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */ cacheProperties: (\"fill stroke strokeWidth strokeDashArray width height paintFirst strokeUniform\" + \" strokeLineCap strokeDashOffset strokeLineJoin strokeMiterLimit backgroundColor clipPath\").split(\" \"),\n /**\n * List of properties to consider for animating colors.\n * @type Array\n */ colorProperties: \"fill stroke backgroundColor\".split(\" \"),\n /**\n * a fabricObject that, without stroke define a clipping area with their shape. filled in black\n * the clipPath object gets used when the object has rendered, and the context is placed in the center\n * of the object cacheCanvas.\n * If you want 0,0 of a clipPath to align with an object center, use clipPath.originX/Y to 'center'\n * @type fabric.Object\n */ clipPath: undefined,\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will make the object clip to the outside of the clipPath\n * since 2.4.0\n * @type boolean\n * @default false\n */ inverted: false,\n /**\n * Meaningful ONLY when the object is used as clipPath.\n * if true, the clipPath will have its top and left relative to canvas, and will\n * not be influenced by the object transform. This will make the clipPath relative\n * to the canvas, but clipping just a particular object.\n * WARNING this is beta, this feature may change or be renamed.\n * since 2.4.0\n * @type boolean\n * @default false\n */ absolutePositioned: false,\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n /**\n * Create a the canvas used to keep the cached copy of the object\n * @private\n */ _createCacheCanvas: function() {\n this._cacheProperties = {};\n this._cacheCanvas = fabric.util.createCanvasElement();\n this._cacheContext = this._cacheCanvas.getContext(\"2d\");\n this._updateCacheCanvas();\n // if canvas gets created, is empty, so dirty.\n this.dirty = true;\n },\n /**\n * Limit the cache dimensions so that X * Y do not cross fabric.perfLimitSizeTotal\n * and each side do not cross fabric.cacheSideLimit\n * those numbers are configurable so that you can get as much detail as you want\n * making bargain with performances.\n * @param {Object} dims\n * @param {Object} dims.width width of canvas\n * @param {Object} dims.height height of canvas\n * @param {Object} dims.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @param {Object} dims.zoomY zoomY zoom value to unscale the canvas before drawing cache\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _limitCacheSize: function(dims) {\n var perfLimitSizeTotal = fabric.perfLimitSizeTotal, width = dims.width, height = dims.height, max = fabric.maxCacheSideLimit, min = fabric.minCacheSideLimit;\n if (width <= max && height <= max && width * height <= perfLimitSizeTotal) {\n if (width < min) {\n dims.width = min;\n }\n if (height < min) {\n dims.height = min;\n }\n return dims;\n }\n var ar = width / height, limitedDims = fabric.util.limitDimsByArea(ar, perfLimitSizeTotal), capValue = fabric.util.capValue, x = capValue(min, limitedDims.x, max), y = capValue(min, limitedDims.y, max);\n if (width > x) {\n dims.zoomX /= width / x;\n dims.width = x;\n dims.capped = true;\n }\n if (height > y) {\n dims.zoomY /= height / y;\n dims.height = y;\n dims.capped = true;\n }\n return dims;\n },\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @return {Object}.x width of object to be cached\n * @return {Object}.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _getCacheCanvasDimensions: function() {\n var objectScale = this.getTotalObjectScaling(), // caculate dimensions without skewing\n dim = this._getTransformedDimensions(0, 0), neededX = dim.x * objectScale.scaleX / this.scaleX, neededY = dim.y * objectScale.scaleY / this.scaleY;\n return {\n // for sure this ALIASING_LIMIT is slightly creating problem\n // in situation in which the cache canvas gets an upper limit\n // also objectScale contains already scaleX and scaleY\n width: neededX + ALIASING_LIMIT,\n height: neededY + ALIASING_LIMIT,\n zoomX: objectScale.scaleX,\n zoomY: objectScale.scaleY,\n x: neededX,\n y: neededY\n };\n },\n /**\n * Update width and height of the canvas for cache\n * returns true or false if canvas needed resize.\n * @private\n * @return {Boolean} true if the canvas has been resized\n */ _updateCacheCanvas: function() {\n var targetCanvas = this.canvas;\n if (this.noScaleCache && targetCanvas && targetCanvas._currentTransform) {\n var target = targetCanvas._currentTransform.target, action = targetCanvas._currentTransform.action;\n if (this === target && action.slice && action.slice(0, 5) === \"scale\") {\n return false;\n }\n }\n var canvas = this._cacheCanvas, dims = this._limitCacheSize(this._getCacheCanvasDimensions()), minCacheSize = fabric.minCacheSideLimit, width = dims.width, height = dims.height, drawingWidth, drawingHeight, zoomX = dims.zoomX, zoomY = dims.zoomY, dimensionsChanged = width !== this.cacheWidth || height !== this.cacheHeight, zoomChanged = this.zoomX !== zoomX || this.zoomY !== zoomY, shouldRedraw = dimensionsChanged || zoomChanged, additionalWidth = 0, additionalHeight = 0, shouldResizeCanvas = false;\n if (dimensionsChanged) {\n var canvasWidth = this._cacheCanvas.width, canvasHeight = this._cacheCanvas.height, sizeGrowing = width > canvasWidth || height > canvasHeight, sizeShrinking = (width < canvasWidth * 0.9 || height < canvasHeight * 0.9) && canvasWidth > minCacheSize && canvasHeight > minCacheSize;\n shouldResizeCanvas = sizeGrowing || sizeShrinking;\n if (sizeGrowing && !dims.capped && (width > minCacheSize || height > minCacheSize)) {\n additionalWidth = width * 0.1;\n additionalHeight = height * 0.1;\n }\n }\n if (this instanceof fabric.Text && this.path) {\n shouldRedraw = true;\n shouldResizeCanvas = true;\n additionalWidth += this.getHeightOfLine(0) * this.zoomX;\n additionalHeight += this.getHeightOfLine(0) * this.zoomY;\n }\n if (shouldRedraw) {\n if (shouldResizeCanvas) {\n canvas.width = Math.ceil(width + additionalWidth);\n canvas.height = Math.ceil(height + additionalHeight);\n } else {\n this._cacheContext.setTransform(1, 0, 0, 1, 0, 0);\n this._cacheContext.clearRect(0, 0, canvas.width, canvas.height);\n }\n drawingWidth = dims.x / 2;\n drawingHeight = dims.y / 2;\n this.cacheTranslationX = Math.round(canvas.width / 2 - drawingWidth) + drawingWidth;\n this.cacheTranslationY = Math.round(canvas.height / 2 - drawingHeight) + drawingHeight;\n this.cacheWidth = width;\n this.cacheHeight = height;\n this._cacheContext.translate(this.cacheTranslationX, this.cacheTranslationY);\n this._cacheContext.scale(zoomX, zoomY);\n this.zoomX = zoomX;\n this.zoomY = zoomY;\n return true;\n }\n return false;\n },\n /**\n * Sets object's properties from options\n * @param {Object} [options] Options object\n */ setOptions: function(options) {\n this._setOptions(options);\n this._initGradient(options.fill, \"fill\");\n this._initGradient(options.stroke, \"stroke\");\n this._initPattern(options.fill, \"fill\");\n this._initPattern(options.stroke, \"stroke\");\n },\n /**\n * Transforms context when rendering an object\n * @param {CanvasRenderingContext2D} ctx Context\n */ transform: function(ctx) {\n var needFullTransform = this.group && !this.group._transformDone || this.group && this.canvas && ctx === this.canvas.contextTop;\n var m = this.calcTransformMatrix(!needFullTransform);\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n },\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var NUM_FRACTION_DIGITS = fabric.Object.NUM_FRACTION_DIGITS, object = {\n type: this.type,\n version: fabric.version,\n originX: this.originX,\n originY: this.originY,\n left: toFixed(this.left, NUM_FRACTION_DIGITS),\n top: toFixed(this.top, NUM_FRACTION_DIGITS),\n width: toFixed(this.width, NUM_FRACTION_DIGITS),\n height: toFixed(this.height, NUM_FRACTION_DIGITS),\n fill: this.fill && this.fill.toObject ? this.fill.toObject() : this.fill,\n stroke: this.stroke && this.stroke.toObject ? this.stroke.toObject() : this.stroke,\n strokeWidth: toFixed(this.strokeWidth, NUM_FRACTION_DIGITS),\n strokeDashArray: this.strokeDashArray ? this.strokeDashArray.concat() : this.strokeDashArray,\n strokeLineCap: this.strokeLineCap,\n strokeDashOffset: this.strokeDashOffset,\n strokeLineJoin: this.strokeLineJoin,\n strokeUniform: this.strokeUniform,\n strokeMiterLimit: toFixed(this.strokeMiterLimit, NUM_FRACTION_DIGITS),\n scaleX: toFixed(this.scaleX, NUM_FRACTION_DIGITS),\n scaleY: toFixed(this.scaleY, NUM_FRACTION_DIGITS),\n angle: toFixed(this.angle, NUM_FRACTION_DIGITS),\n flipX: this.flipX,\n flipY: this.flipY,\n opacity: toFixed(this.opacity, NUM_FRACTION_DIGITS),\n shadow: this.shadow && this.shadow.toObject ? this.shadow.toObject() : this.shadow,\n visible: this.visible,\n backgroundColor: this.backgroundColor,\n fillRule: this.fillRule,\n paintFirst: this.paintFirst,\n globalCompositeOperation: this.globalCompositeOperation,\n skewX: toFixed(this.skewX, NUM_FRACTION_DIGITS),\n skewY: toFixed(this.skewY, NUM_FRACTION_DIGITS)\n };\n if (this.clipPath && !this.clipPath.excludeFromExport) {\n object.clipPath = this.clipPath.toObject(propertiesToInclude);\n object.clipPath.inverted = this.clipPath.inverted;\n object.clipPath.absolutePositioned = this.clipPath.absolutePositioned;\n }\n fabric.util.populateWithProperties(this, object, propertiesToInclude);\n if (!this.includeDefaultValues) {\n object = this._removeDefaultValues(object);\n }\n return object;\n },\n /**\n * Returns (dataless) object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n // will be overwritten by subclasses\n return this.toObject(propertiesToInclude);\n },\n /**\n * @private\n * @param {Object} object\n */ _removeDefaultValues: function(object) {\n var prototype = fabric.util.getKlass(object.type).prototype, stateProperties = prototype.stateProperties;\n stateProperties.forEach(function(prop) {\n if (prop === \"left\" || prop === \"top\") {\n return;\n }\n if (object[prop] === prototype[prop]) {\n delete object[prop];\n }\n // basically a check for [] === []\n if (Array.isArray(object[prop]) && Array.isArray(prototype[prop]) && object[prop].length === 0 && prototype[prop].length === 0) {\n delete object[prop];\n }\n });\n return object;\n },\n /**\n * Returns a string representation of an instance\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Return the object scale factor counting also the group scaling\n * @return {Object} object with scaleX and scaleY properties\n */ getObjectScaling: function() {\n // if the object is a top level one, on the canvas, we go for simple aritmetic\n // otherwise the complex method with angles will return approximations and decimals\n // and will likely kill the cache when not needed\n // https://github.com/fabricjs/fabric.js/issues/7157\n if (!this.group) {\n return {\n scaleX: this.scaleX,\n scaleY: this.scaleY\n };\n }\n // if we are inside a group total zoom calculation is complex, we defer to generic matrices\n var options = fabric.util.qrDecompose(this.calcTransformMatrix());\n return {\n scaleX: Math.abs(options.scaleX),\n scaleY: Math.abs(options.scaleY)\n };\n },\n /**\n * Return the object scale factor counting also the group scaling, zoom and retina\n * @return {Object} object with scaleX and scaleY properties\n */ getTotalObjectScaling: function() {\n var scale = this.getObjectScaling(), scaleX = scale.scaleX, scaleY = scale.scaleY;\n if (this.canvas) {\n var zoom = this.canvas.getZoom();\n var retina = this.canvas.getRetinaScaling();\n scaleX *= zoom * retina;\n scaleY *= zoom * retina;\n }\n return {\n scaleX: scaleX,\n scaleY: scaleY\n };\n },\n /**\n * Return the object opacity counting also the group property\n * @return {Number}\n */ getObjectOpacity: function() {\n var opacity = this.opacity;\n if (this.group) {\n opacity *= this.group.getObjectOpacity();\n }\n return opacity;\n },\n /**\n * @private\n * @param {String} key\n * @param {*} value\n * @return {fabric.Object} thisArg\n */ _set: function(key, value) {\n var shouldConstrainValue = key === \"scaleX\" || key === \"scaleY\", isChanged = this[key] !== value, groupNeedsUpdate = false;\n if (shouldConstrainValue) {\n value = this._constrainScale(value);\n }\n if (key === \"scaleX\" && value < 0) {\n this.flipX = !this.flipX;\n value *= -1;\n } else if (key === \"scaleY\" && value < 0) {\n this.flipY = !this.flipY;\n value *= -1;\n } else if (key === \"shadow\" && value && !(value instanceof fabric.Shadow)) {\n value = new fabric.Shadow(value);\n } else if (key === \"dirty\" && this.group) {\n this.group.set(\"dirty\", value);\n }\n this[key] = value;\n if (isChanged) {\n groupNeedsUpdate = this.group && this.group.isOnACache();\n if (this.cacheProperties.indexOf(key) > -1) {\n this.dirty = true;\n groupNeedsUpdate && this.group.set(\"dirty\", true);\n } else if (groupNeedsUpdate && this.stateProperties.indexOf(key) > -1) {\n this.group.set(\"dirty\", true);\n }\n }\n return this;\n },\n /**\n * This callback function is called by the parent group of an object every\n * time a non-delegated property changes on the group. It is passed the key\n * and value as parameters. Not adding in this function's signature to avoid\n * Travis build error about unused variables.\n */ setOnGroup: function() {\n // implemented by sub-classes, as needed.\n },\n /**\n * Retrieves viewportTransform from Object's canvas if possible\n * @method getViewportTransform\n * @memberOf fabric.Object.prototype\n * @return {Array}\n */ getViewportTransform: function() {\n if (this.canvas && this.canvas.viewportTransform) {\n return this.canvas.viewportTransform;\n }\n return fabric.iMatrix.concat();\n },\n /*\n * @private\n * return if the object would be visible in rendering\n * @memberOf fabric.Object.prototype\n * @return {Boolean}\n */ isNotVisible: function() {\n return this.opacity === 0 || !this.width && !this.height && this.strokeWidth === 0 || !this.visible;\n },\n /**\n * Renders an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ render: function(ctx) {\n // do not render if width/height are zeros or object is not visible\n if (this.isNotVisible()) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n ctx.save();\n this._setupCompositeOperation(ctx);\n this.drawSelectionBackground(ctx);\n this.transform(ctx);\n this._setOpacity(ctx);\n this._setShadow(ctx, this);\n if (this.shouldCache()) {\n this.renderCache();\n this.drawCacheOnCanvas(ctx);\n } else {\n this._removeCacheCanvas();\n this.dirty = false;\n this.drawObject(ctx);\n if (this.objectCaching && this.statefullCache) {\n this.saveState({\n propertySet: \"cacheProperties\"\n });\n }\n }\n ctx.restore();\n },\n renderCache: function(options) {\n options = options || {};\n if (!this._cacheCanvas || !this._cacheContext) {\n this._createCacheCanvas();\n }\n if (this.isCacheDirty()) {\n this.statefullCache && this.saveState({\n propertySet: \"cacheProperties\"\n });\n this.drawObject(this._cacheContext, options.forClipping);\n this.dirty = false;\n }\n },\n /**\n * Remove cacheCanvas and its dimensions from the objects\n */ _removeCacheCanvas: function() {\n this._cacheCanvas = null;\n this._cacheContext = null;\n this.cacheWidth = 0;\n this.cacheHeight = 0;\n },\n /**\n * return true if the object will draw a stroke\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when stroke happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the stroke is invisible.\n * @since 3.0.0\n * @returns Boolean\n */ hasStroke: function() {\n return this.stroke && this.stroke !== \"transparent\" && this.strokeWidth !== 0;\n },\n /**\n * return true if the object will draw a fill\n * Does not consider text styles. This is just a shortcut used at rendering time\n * We want it to be an approximation and be fast.\n * wrote to avoid extra caching, it has to return true when fill happens,\n * can guess when it will not happen at 100% chance, does not matter if it misses\n * some use case where the fill is invisible.\n * @since 3.0.0\n * @returns Boolean\n */ hasFill: function() {\n return this.fill && this.fill !== \"transparent\";\n },\n /**\n * When set to `true`, force the object to have its own cache, even if it is inside a group\n * it may be needed when your object behave in a particular way on the cache and always needs\n * its own isolated canvas to render correctly.\n * Created to be overridden\n * since 1.7.12\n * @returns Boolean\n */ needsItsOwnCache: function() {\n if (this.paintFirst === \"stroke\" && this.hasFill() && this.hasStroke() && typeof this.shadow === \"object\") {\n return true;\n }\n if (this.clipPath) {\n return true;\n }\n return false;\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * Read as: cache if is needed, or if the feature is enabled but we are not already caching.\n * @return {Boolean}\n */ shouldCache: function() {\n this.ownCaching = this.needsItsOwnCache() || this.objectCaching && (!this.group || !this.group.isOnACache());\n return this.ownCaching;\n },\n /**\n * Check if this object or a child object will cast a shadow\n * used by Group.shouldCache to know if child has a shadow recursively\n * @return {Boolean}\n */ willDrawShadow: function() {\n return !!this.shadow && (this.shadow.offsetX !== 0 || this.shadow.offsetY !== 0);\n },\n /**\n * Execute the drawing operation for an object clipPath\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Object} clipPath\n */ drawClipPathOnCache: function(ctx, clipPath) {\n ctx.save();\n // DEBUG: uncomment this line, comment the following\n // ctx.globalAlpha = 0.4\n if (clipPath.inverted) {\n ctx.globalCompositeOperation = \"destination-out\";\n } else {\n ctx.globalCompositeOperation = \"destination-in\";\n }\n //ctx.scale(1 / 2, 1 / 2);\n if (clipPath.absolutePositioned) {\n var m = fabric.util.invertTransform(this.calcTransformMatrix());\n ctx.transform(m[0], m[1], m[2], m[3], m[4], m[5]);\n }\n clipPath.transform(ctx);\n ctx.scale(1 / clipPath.zoomX, 1 / clipPath.zoomY);\n ctx.drawImage(clipPath._cacheCanvas, -clipPath.cacheTranslationX, -clipPath.cacheTranslationY);\n ctx.restore();\n },\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawObject: function(ctx, forClipping) {\n var originalFill = this.fill, originalStroke = this.stroke;\n if (forClipping) {\n this.fill = \"black\";\n this.stroke = \"\";\n this._setClippingProperties(ctx);\n } else {\n this._renderBackground(ctx);\n }\n this._render(ctx);\n this._drawClipPath(ctx, this.clipPath);\n this.fill = originalFill;\n this.stroke = originalStroke;\n },\n /**\n * Prepare clipPath state and cache and draw it on instance's cache\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */ _drawClipPath: function(ctx, clipPath) {\n if (!clipPath) {\n return;\n }\n // needed to setup a couple of variables\n // path canvas gets overridden with this one.\n // TODO find a better solution?\n clipPath.canvas = this.canvas;\n clipPath.shouldCache();\n clipPath._transformDone = true;\n clipPath.renderCache({\n forClipping: true\n });\n this.drawClipPathOnCache(ctx, clipPath);\n },\n /**\n * Paint the cached copy of the object on the target context.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawCacheOnCanvas: function(ctx) {\n ctx.scale(1 / this.zoomX, 1 / this.zoomY);\n ctx.drawImage(this._cacheCanvas, -this.cacheTranslationX, -this.cacheTranslationY);\n },\n /**\n * Check if cache is dirty\n * @param {Boolean} skipCanvas skip canvas checks because this object is painted\n * on parent canvas.\n */ isCacheDirty: function(skipCanvas) {\n if (this.isNotVisible()) {\n return false;\n }\n if (this._cacheCanvas && this._cacheContext && !skipCanvas && this._updateCacheCanvas()) {\n // in this case the context is already cleared.\n return true;\n } else {\n if (this.dirty || this.clipPath && this.clipPath.absolutePositioned || this.statefullCache && this.hasStateChanged(\"cacheProperties\")) {\n if (this._cacheCanvas && this._cacheContext && !skipCanvas) {\n var width = this.cacheWidth / this.zoomX;\n var height = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-width / 2, -height / 2, width, height);\n }\n return true;\n }\n }\n return false;\n },\n /**\n * Draws a background for the object big as its untransformed dimensions\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderBackground: function(ctx) {\n if (!this.backgroundColor) {\n return;\n }\n var dim = this._getNonTransformedDimensions();\n ctx.fillStyle = this.backgroundColor;\n ctx.fillRect(-dim.x / 2, -dim.y / 2, dim.x, dim.y);\n // if there is background color no other shadows\n // should be casted\n this._removeShadow(ctx);\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _setOpacity: function(ctx) {\n if (this.group && !this.group._transformDone) {\n ctx.globalAlpha = this.getObjectOpacity();\n } else {\n ctx.globalAlpha *= this.opacity;\n }\n },\n _setStrokeStyles: function(ctx, decl) {\n var stroke = decl.stroke;\n if (stroke) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = decl.strokeLineCap;\n ctx.lineDashOffset = decl.strokeDashOffset;\n ctx.lineJoin = decl.strokeLineJoin;\n ctx.miterLimit = decl.strokeMiterLimit;\n if (stroke.toLive) {\n if (stroke.gradientUnits === \"percentage\" || stroke.gradientTransform || stroke.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n this._applyPatternForTransformedGradient(ctx, stroke);\n } else {\n // is a simple gradient or pattern\n ctx.strokeStyle = stroke.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, stroke);\n }\n } else {\n // is a color\n ctx.strokeStyle = decl.stroke;\n }\n }\n },\n _setFillStyles: function(ctx, decl) {\n var fill = decl.fill;\n if (fill) {\n if (fill.toLive) {\n ctx.fillStyle = fill.toLive(ctx, this);\n this._applyPatternGradientTransform(ctx, decl.fill);\n } else {\n ctx.fillStyle = fill;\n }\n }\n },\n _setClippingProperties: function(ctx) {\n ctx.globalAlpha = 1;\n ctx.strokeStyle = \"transparent\";\n ctx.fillStyle = \"#000000\";\n },\n /**\n * @private\n * Sets line dash\n * @param {CanvasRenderingContext2D} ctx Context to set the dash line on\n * @param {Array} dashArray array representing dashes\n */ _setLineDash: function(ctx, dashArray) {\n if (!dashArray || dashArray.length === 0) {\n return;\n }\n // Spec requires the concatenation of two copies the dash list when the number of elements is odd\n if (1 & dashArray.length) {\n dashArray.push.apply(dashArray, dashArray);\n }\n ctx.setLineDash(dashArray);\n },\n /**\n * Renders controls and borders for the object\n * the context here is not transformed\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n */ _renderControls: function(ctx, styleOverride) {\n var vpt = this.getViewportTransform(), matrix = this.calcTransformMatrix(), options, drawBorders, drawControls;\n styleOverride = styleOverride || {};\n drawBorders = typeof styleOverride.hasBorders !== \"undefined\" ? styleOverride.hasBorders : this.hasBorders;\n drawControls = typeof styleOverride.hasControls !== \"undefined\" ? styleOverride.hasControls : this.hasControls;\n matrix = fabric.util.multiplyTransformMatrices(vpt, matrix);\n options = fabric.util.qrDecompose(matrix);\n ctx.save();\n ctx.translate(options.translateX, options.translateY);\n ctx.lineWidth = 1 * this.borderScaleFactor;\n if (!this.group) {\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n }\n if (this.flipX) {\n options.angle -= 180;\n }\n ctx.rotate(degreesToRadians(this.group ? options.angle : this.angle));\n if (styleOverride.forActiveSelection || this.group) {\n drawBorders && this.drawBordersInGroup(ctx, options, styleOverride);\n } else {\n drawBorders && this.drawBorders(ctx, styleOverride);\n }\n drawControls && this.drawControls(ctx, styleOverride);\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _setShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n var shadow = this.shadow, canvas = this.canvas, scaling, multX = canvas && canvas.viewportTransform[0] || 1, multY = canvas && canvas.viewportTransform[3] || 1;\n if (shadow.nonScaling) {\n scaling = {\n scaleX: 1,\n scaleY: 1\n };\n } else {\n scaling = this.getObjectScaling();\n }\n if (canvas && canvas._isRetinaScaling()) {\n multX *= fabric.devicePixelRatio;\n multY *= fabric.devicePixelRatio;\n }\n ctx.shadowColor = shadow.color;\n ctx.shadowBlur = shadow.blur * fabric.browserShadowBlurConstant * (multX + multY) * (scaling.scaleX + scaling.scaleY) / 4;\n ctx.shadowOffsetX = shadow.offsetX * multX * scaling.scaleX;\n ctx.shadowOffsetY = shadow.offsetY * multY * scaling.scaleY;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _removeShadow: function(ctx) {\n if (!this.shadow) {\n return;\n }\n ctx.shadowColor = \"\";\n ctx.shadowBlur = ctx.shadowOffsetX = ctx.shadowOffsetY = 0;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} filler fabric.Pattern or fabric.Gradient\n * @return {Object} offset.offsetX offset for text rendering\n * @return {Object} offset.offsetY offset for text rendering\n */ _applyPatternGradientTransform: function(ctx, filler) {\n if (!filler || !filler.toLive) {\n return {\n offsetX: 0,\n offsetY: 0\n };\n }\n var t = filler.gradientTransform || filler.patternTransform;\n var offsetX = -this.width / 2 + filler.offsetX || 0, offsetY = -this.height / 2 + filler.offsetY || 0;\n if (filler.gradientUnits === \"percentage\") {\n ctx.transform(this.width, 0, 0, this.height, offsetX, offsetY);\n } else {\n ctx.transform(1, 0, 0, 1, offsetX, offsetY);\n }\n if (t) {\n ctx.transform(t[0], t[1], t[2], t[3], t[4], t[5]);\n }\n return {\n offsetX: offsetX,\n offsetY: offsetY\n };\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderPaintInOrder: function(ctx) {\n if (this.paintFirst === \"stroke\") {\n this._renderStroke(ctx);\n this._renderFill(ctx);\n } else {\n this._renderFill(ctx);\n this._renderStroke(ctx);\n }\n },\n /**\n * @private\n * function that actually render something on the context.\n * empty here to allow Obects to work on tests to benchmark fabric functionalites\n * not related to rendering\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function() {},\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderFill: function(ctx) {\n if (!this.fill) {\n return;\n }\n ctx.save();\n this._setFillStyles(ctx, this);\n if (this.fillRule === \"evenodd\") {\n ctx.fill(\"evenodd\");\n } else {\n ctx.fill();\n }\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderStroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n ctx.save();\n if (this.strokeUniform && this.group) {\n var scaling = this.getObjectScaling();\n ctx.scale(1 / scaling.scaleX, 1 / scaling.scaleY);\n } else if (this.strokeUniform) {\n ctx.scale(1 / this.scaleX, 1 / this.scaleY);\n }\n this._setLineDash(ctx, this.strokeDashArray);\n this._setStrokeStyles(ctx, this);\n ctx.stroke();\n ctx.restore();\n },\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drwabacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {fabric.Gradient} filler a fabric gradient instance\n */ _applyPatternForTransformedGradient: function(ctx, filler) {\n var dims = this._limitCacheSize(this._getCacheCanvasDimensions()), pCanvas = fabric.util.createCanvasElement(), pCtx, retinaScaling = this.canvas.getRetinaScaling(), width = dims.x / this.scaleX / retinaScaling, height = dims.y / this.scaleY / retinaScaling;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext(\"2d\");\n pCtx.beginPath();\n pCtx.moveTo(0, 0);\n pCtx.lineTo(width, 0);\n pCtx.lineTo(width, height);\n pCtx.lineTo(0, height);\n pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.scale(dims.zoomX / this.scaleX / retinaScaling, dims.zoomY / this.scaleY / retinaScaling);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fillStyle = filler.toLive(ctx);\n pCtx.fill();\n ctx.translate(-this.width / 2 - this.strokeWidth / 2, -this.height / 2 - this.strokeWidth / 2);\n ctx.scale(retinaScaling * this.scaleX / dims.zoomX, retinaScaling * this.scaleY / dims.zoomY);\n ctx.strokeStyle = pCtx.createPattern(pCanvas, \"no-repeat\");\n },\n /**\n * This function is an helper for svg import. it returns the center of the object in the svg\n * untransformed coordinates\n * @private\n * @return {Object} center point from element coordinates\n */ _findCenterFromElement: function() {\n return {\n x: this.left + this.width / 2,\n y: this.top + this.height / 2\n };\n },\n /**\n * This function is an helper for svg import. it decompose the transformMatrix\n * and assign properties to object.\n * untransformed coordinates\n * @private\n * @chainable\n */ _assignTransformMatrixProps: function() {\n if (this.transformMatrix) {\n var options = fabric.util.qrDecompose(this.transformMatrix);\n this.flipX = false;\n this.flipY = false;\n this.set(\"scaleX\", options.scaleX);\n this.set(\"scaleY\", options.scaleY);\n this.angle = options.angle;\n this.skewX = options.skewX;\n this.skewY = 0;\n }\n },\n /**\n * This function is an helper for svg import. it removes the transform matrix\n * and set to object properties that fabricjs can handle\n * @private\n * @param {Object} preserveAspectRatioOptions\n * @return {thisArg}\n */ _removeTransformMatrix: function(preserveAspectRatioOptions) {\n var center = this._findCenterFromElement();\n if (this.transformMatrix) {\n this._assignTransformMatrixProps();\n center = fabric.util.transformPoint(center, this.transformMatrix);\n }\n this.transformMatrix = null;\n if (preserveAspectRatioOptions) {\n this.scaleX *= preserveAspectRatioOptions.scaleX;\n this.scaleY *= preserveAspectRatioOptions.scaleY;\n this.cropX = preserveAspectRatioOptions.cropX;\n this.cropY = preserveAspectRatioOptions.cropY;\n center.x += preserveAspectRatioOptions.offsetLeft;\n center.y += preserveAspectRatioOptions.offsetTop;\n this.width = preserveAspectRatioOptions.width;\n this.height = preserveAspectRatioOptions.height;\n }\n this.setPositionByOrigin(center, \"center\", \"center\");\n },\n /**\n * Clones an instance, using a callback method will work for every object.\n * @param {Function} callback Callback is invoked with a clone as a first argument\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n */ clone: function(callback, propertiesToInclude) {\n var objectForm = this.toObject(propertiesToInclude);\n if (this.constructor.fromObject) {\n this.constructor.fromObject(objectForm, callback);\n } else {\n fabric.Object._fromObject(\"Object\", objectForm, callback);\n }\n },\n /**\n * Creates an instance of fabric.Image out of an object\n * makes use of toCanvasElement.\n * Once this method was based on toDataUrl and loadImage, so it also had a quality\n * and format option. toCanvasElement is faster and produce no loss of quality.\n * If you need to get a real Jpeg or Png from an object, using toDataURL is the right way to do it.\n * toCanvasElement and then toBlob from the obtained canvas is also a good option.\n * This method is sync now, but still support the callback because we did not want to break.\n * When fabricJS 5.0 will be planned, this will probably be changed to not have a callback.\n * @param {Function} callback callback, invoked with an instance as a first argument\n * @param {Object} [options] for clone as image, passed to toDataURL\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {fabric.Object} thisArg\n */ cloneAsImage: function(callback, options) {\n var canvasEl = this.toCanvasElement(options);\n if (callback) {\n callback(new fabric.Image(canvasEl));\n }\n return this;\n },\n /**\n * Converts an object into a HTMLCanvas element\n * @param {Object} options Options object\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {HTMLCanvasElement} Returns DOM element with the fabric.Object\n */ toCanvasElement: function(options) {\n options || (options = {});\n var utils = fabric.util, origParams = utils.saveObjectTransform(this), originalGroup = this.group, originalShadow = this.shadow, abs = Math.abs, multiplier = (options.multiplier || 1) * (options.enableRetinaScaling ? fabric.devicePixelRatio : 1);\n delete this.group;\n if (options.withoutTransform) {\n utils.resetObjectTransform(this);\n }\n if (options.withoutShadow) {\n this.shadow = null;\n }\n var el = fabric.util.createCanvasElement(), // skip canvas zoom and calculate with setCoords now.\n boundingRect = this.getBoundingRect(true, true), shadow = this.shadow, scaling, shadowOffset = {\n x: 0,\n y: 0\n }, shadowBlur, width, height;\n if (shadow) {\n shadowBlur = shadow.blur;\n if (shadow.nonScaling) {\n scaling = {\n scaleX: 1,\n scaleY: 1\n };\n } else {\n scaling = this.getObjectScaling();\n }\n // consider non scaling shadow.\n shadowOffset.x = 2 * Math.round(abs(shadow.offsetX) + shadowBlur) * abs(scaling.scaleX);\n shadowOffset.y = 2 * Math.round(abs(shadow.offsetY) + shadowBlur) * abs(scaling.scaleY);\n }\n width = boundingRect.width + shadowOffset.x;\n height = boundingRect.height + shadowOffset.y;\n // if the current width/height is not an integer\n // we need to make it so.\n el.width = Math.ceil(width);\n el.height = Math.ceil(height);\n var canvas = new fabric.StaticCanvas(el, {\n enableRetinaScaling: false,\n renderOnAddRemove: false,\n skipOffscreen: false\n });\n if (options.format === \"jpeg\") {\n canvas.backgroundColor = \"#fff\";\n }\n this.setPositionByOrigin(new fabric.Point(canvas.width / 2, canvas.height / 2), \"center\", \"center\");\n var originalCanvas = this.canvas;\n canvas.add(this);\n var canvasEl = canvas.toCanvasElement(multiplier || 1, options);\n this.shadow = originalShadow;\n this.set(\"canvas\", originalCanvas);\n if (originalGroup) {\n this.group = originalGroup;\n }\n this.set(origParams).setCoords();\n // canvas.dispose will call image.dispose that will nullify the elements\n // since this canvas is a simple element for the process, we remove references\n // to objects in this way in order to avoid object trashing.\n canvas._objects = [];\n canvas.dispose();\n canvas = null;\n return canvasEl;\n },\n /**\n * Converts an object into a data-url-like string\n * @param {Object} options Options object\n * @param {String} [options.format=png] The format of the output image. Either \"jpeg\" or \"png\"\n * @param {Number} [options.quality=1] Quality level (0..1). Only used for jpeg.\n * @param {Number} [options.multiplier=1] Multiplier to scale by\n * @param {Number} [options.left] Cropping left offset. Introduced in v1.2.14\n * @param {Number} [options.top] Cropping top offset. Introduced in v1.2.14\n * @param {Number} [options.width] Cropping width. Introduced in v1.2.14\n * @param {Number} [options.height] Cropping height. Introduced in v1.2.14\n * @param {Boolean} [options.enableRetinaScaling] Enable retina scaling for clone image. Introduce in 1.6.4\n * @param {Boolean} [options.withoutTransform] Remove current object transform ( no scale , no angle, no flip, no skew ). Introduced in 2.3.4\n * @param {Boolean} [options.withoutShadow] Remove current object shadow. Introduced in 2.4.2\n * @return {String} Returns a data: URL containing a representation of the object in the format specified by options.format\n */ toDataURL: function(options) {\n options || (options = {});\n return fabric.util.toDataURL(this.toCanvasElement(options), options.format || \"png\", options.quality || 1);\n },\n /**\n * Returns true if specified type is identical to the type of an instance\n * @param {String} type Type to check against\n * @return {Boolean}\n */ isType: function(type) {\n return arguments.length > 1 ? Array.from(arguments).includes(this.type) : this.type === type;\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance (is 1 unless subclassed)\n */ complexity: function() {\n return 1;\n },\n /**\n * Returns a JSON representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} JSON\n */ toJSON: function(propertiesToInclude) {\n // delegate, not alias\n return this.toObject(propertiesToInclude);\n },\n /**\n * Sets \"angle\" of an instance with centered rotation\n * @param {Number} angle Angle value (in degrees)\n * @return {fabric.Object} thisArg\n * @chainable\n */ rotate: function(angle) {\n var shouldCenterOrigin = (this.originX !== \"center\" || this.originY !== \"center\") && this.centeredRotation;\n if (shouldCenterOrigin) {\n this._setOriginToCenter();\n }\n this.set(\"angle\", angle);\n if (shouldCenterOrigin) {\n this._resetOrigin();\n }\n return this;\n },\n /**\n * Centers object horizontally on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ centerH: function() {\n this.canvas && this.canvas.centerObjectH(this);\n return this;\n },\n /**\n * Centers object horizontally on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenterH: function() {\n this.canvas && this.canvas.viewportCenterObjectH(this);\n return this;\n },\n /**\n * Centers object vertically on canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ centerV: function() {\n this.canvas && this.canvas.centerObjectV(this);\n return this;\n },\n /**\n * Centers object vertically on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenterV: function() {\n this.canvas && this.canvas.viewportCenterObjectV(this);\n return this;\n },\n /**\n * Centers object vertically and horizontally on canvas to which is was added last\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ center: function() {\n this.canvas && this.canvas.centerObject(this);\n return this;\n },\n /**\n * Centers object on current viewport of canvas to which it was added last.\n * You might need to call `setCoords` on an object after centering, to update controls area.\n * @return {fabric.Object} thisArg\n * @chainable\n */ viewportCenter: function() {\n this.canvas && this.canvas.viewportCenterObject(this);\n return this;\n },\n /**\n * Returns coordinates of a pointer relative to an object\n * @param {Event} e Event to operate upon\n * @param {Object} [pointer] Pointer to operate upon (instead of event)\n * @return {Object} Coordinates of a pointer (x, y)\n */ getLocalPointer: function(e, pointer) {\n pointer = pointer || this.canvas.getPointer(e);\n var pClicked = new fabric.Point(pointer.x, pointer.y), objectLeftTop = this._getLeftTopCoords();\n if (this.angle) {\n pClicked = fabric.util.rotatePoint(pClicked, objectLeftTop, degreesToRadians(-this.angle));\n }\n return {\n x: pClicked.x - objectLeftTop.x,\n y: pClicked.y - objectLeftTop.y\n };\n },\n /**\n * Sets canvas globalCompositeOperation for specific object\n * custom composition operation for the particular object can be specified using globalCompositeOperation property\n * @param {CanvasRenderingContext2D} ctx Rendering canvas context\n */ _setupCompositeOperation: function(ctx) {\n if (this.globalCompositeOperation) {\n ctx.globalCompositeOperation = this.globalCompositeOperation;\n }\n },\n /**\n * cancel instance's running animations\n * override if necessary to dispose artifacts such as `clipPath`\n */ dispose: function() {\n if (fabric.runningAnimations) {\n fabric.runningAnimations.cancelByTarget(this);\n }\n }\n });\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Object);\n extend(fabric.Object.prototype, fabric.Observable);\n /**\n * Defines the number of fraction digits to use when serializing object values.\n * You can use it to increase/decrease precision of such values like left, top, scaleX, scaleY, etc.\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type Number\n */ fabric.Object.NUM_FRACTION_DIGITS = 2;\n /**\n * Defines which properties should be enlivened from the object passed to {@link fabric.Object._fromObject}\n * @static\n * @memberOf fabric.Object\n * @constant\n * @type string[]\n */ fabric.Object.ENLIVEN_PROPS = [\n \"clipPath\"\n ];\n fabric.Object._fromObject = function(className, object, callback, extraParam) {\n var klass = fabric[className];\n object = clone(object, true);\n fabric.util.enlivenPatterns([\n object.fill,\n object.stroke\n ], function(patterns) {\n if (typeof patterns[0] !== \"undefined\") {\n object.fill = patterns[0];\n }\n if (typeof patterns[1] !== \"undefined\") {\n object.stroke = patterns[1];\n }\n fabric.util.enlivenObjectEnlivables(object, object, function() {\n var instance = extraParam ? new klass(object[extraParam], object) : new klass(object);\n callback && callback(instance);\n });\n });\n };\n /**\n * Unique id used internally when creating SVG elements\n * @static\n * @memberOf fabric.Object\n * @type Number\n */ fabric.Object.__uid = 0;\n})( true ? exports : 0);\n(function() {\n var degreesToRadians = fabric.util.degreesToRadians, originXOffset = {\n left: -0.5,\n center: 0,\n right: 0.5\n }, originYOffset = {\n top: -0.5,\n center: 0,\n bottom: 0.5\n };\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Translates the coordinates from a set of origin to another (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} fromOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} fromOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @param {String} toOriginX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} toOriginY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToGivenOrigin: function(point, fromOriginX, fromOriginY, toOriginX, toOriginY) {\n var x = point.x, y = point.y, offsetX, offsetY, dim;\n if (typeof fromOriginX === \"string\") {\n fromOriginX = originXOffset[fromOriginX];\n } else {\n fromOriginX -= 0.5;\n }\n if (typeof toOriginX === \"string\") {\n toOriginX = originXOffset[toOriginX];\n } else {\n toOriginX -= 0.5;\n }\n offsetX = toOriginX - fromOriginX;\n if (typeof fromOriginY === \"string\") {\n fromOriginY = originYOffset[fromOriginY];\n } else {\n fromOriginY -= 0.5;\n }\n if (typeof toOriginY === \"string\") {\n toOriginY = originYOffset[toOriginY];\n } else {\n toOriginY -= 0.5;\n }\n offsetY = toOriginY - fromOriginY;\n if (offsetX || offsetY) {\n dim = this._getTransformedDimensions();\n x = point.x + offsetX * dim.x;\n y = point.y + offsetY * dim.y;\n }\n return new fabric.Point(x, y);\n },\n /**\n * Translates the coordinates from origin to center coordinates (based on the object's dimensions)\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToCenterPoint: function(point, originX, originY) {\n var p = this.translateToGivenOrigin(point, originX, originY, \"center\", \"center\");\n if (this.angle) {\n return fabric.util.rotatePoint(p, point, degreesToRadians(this.angle));\n }\n return p;\n },\n /**\n * Translates the coordinates from center to origin coordinates (based on the object's dimensions)\n * @param {fabric.Point} center The point which corresponds to center of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ translateToOriginPoint: function(center, originX, originY) {\n var p = this.translateToGivenOrigin(center, \"center\", \"center\", originX, originY);\n if (this.angle) {\n return fabric.util.rotatePoint(p, center, degreesToRadians(this.angle));\n }\n return p;\n },\n /**\n * Returns the real center coordinates of the object\n * @return {fabric.Point}\n */ getCenterPoint: function() {\n var leftTop = new fabric.Point(this.left, this.top);\n return this.translateToCenterPoint(leftTop, this.originX, this.originY);\n },\n /**\n * Returns the coordinates of the object based on center coordinates\n * @param {fabric.Point} point The point which corresponds to the originX and originY params\n * @return {fabric.Point}\n */ // getOriginPoint: function(center) {\n // return this.translateToOriginPoint(center, this.originX, this.originY);\n // },\n /**\n * Returns the coordinates of the object as if it has a different origin\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ getPointByOrigin: function(originX, originY) {\n var center = this.getCenterPoint();\n return this.translateToOriginPoint(center, originX, originY);\n },\n /**\n * Returns the point in local coordinates\n * @param {fabric.Point} point The point relative to the global coordinate system\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {fabric.Point}\n */ toLocalPoint: function(point, originX, originY) {\n var center = this.getCenterPoint(), p, p2;\n if (typeof originX !== \"undefined\" && typeof originY !== \"undefined\") {\n p = this.translateToGivenOrigin(center, \"center\", \"center\", originX, originY);\n } else {\n p = new fabric.Point(this.left, this.top);\n }\n p2 = new fabric.Point(point.x, point.y);\n if (this.angle) {\n p2 = fabric.util.rotatePoint(p2, center, -degreesToRadians(this.angle));\n }\n return p2.subtractEquals(p);\n },\n /**\n * Returns the point in global coordinates\n * @param {fabric.Point} The point relative to the local coordinate system\n * @return {fabric.Point}\n */ // toGlobalPoint: function(point) {\n // return fabric.util.rotatePoint(point, this.getCenterPoint(), degreesToRadians(this.angle)).addEquals(new fabric.Point(this.left, this.top));\n // },\n /**\n * Sets the position of the object taking into consideration the object's origin\n * @param {fabric.Point} pos The new position of the object\n * @param {String} originX Horizontal origin: 'left', 'center' or 'right'\n * @param {String} originY Vertical origin: 'top', 'center' or 'bottom'\n * @return {void}\n */ setPositionByOrigin: function(pos, originX, originY) {\n var center = this.translateToCenterPoint(pos, originX, originY), position = this.translateToOriginPoint(center, this.originX, this.originY);\n this.set(\"left\", position.x);\n this.set(\"top\", position.y);\n },\n /**\n * @param {String} to One of 'left', 'center', 'right'\n */ adjustPosition: function(to) {\n var angle = degreesToRadians(this.angle), hypotFull = this.getScaledWidth(), xFull = fabric.util.cos(angle) * hypotFull, yFull = fabric.util.sin(angle) * hypotFull, offsetFrom, offsetTo;\n //TODO: this function does not consider mixed situation like top, center.\n if (typeof this.originX === \"string\") {\n offsetFrom = originXOffset[this.originX];\n } else {\n offsetFrom = this.originX - 0.5;\n }\n if (typeof to === \"string\") {\n offsetTo = originXOffset[to];\n } else {\n offsetTo = to - 0.5;\n }\n this.left += xFull * (offsetTo - offsetFrom);\n this.top += yFull * (offsetTo - offsetFrom);\n this.setCoords();\n this.originX = to;\n },\n /**\n * Sets the origin/position of the object to it's center point\n * @private\n * @return {void}\n */ _setOriginToCenter: function() {\n this._originalOriginX = this.originX;\n this._originalOriginY = this.originY;\n var center = this.getCenterPoint();\n this.originX = \"center\";\n this.originY = \"center\";\n this.left = center.x;\n this.top = center.y;\n },\n /**\n * Resets the origin/position of the object to it's original origin\n * @private\n * @return {void}\n */ _resetOrigin: function() {\n var originPoint = this.translateToOriginPoint(this.getCenterPoint(), this._originalOriginX, this._originalOriginY);\n this.originX = this._originalOriginX;\n this.originY = this._originalOriginY;\n this.left = originPoint.x;\n this.top = originPoint.y;\n this._originalOriginX = null;\n this._originalOriginY = null;\n },\n /**\n * @private\n */ _getLeftTopCoords: function() {\n return this.translateToOriginPoint(this.getCenterPoint(), \"left\", \"top\");\n }\n });\n})();\n(function() {\n function arrayFromCoords(coords) {\n return [\n new fabric.Point(coords.tl.x, coords.tl.y),\n new fabric.Point(coords.tr.x, coords.tr.y),\n new fabric.Point(coords.br.x, coords.br.y),\n new fabric.Point(coords.bl.x, coords.bl.y)\n ];\n }\n var util = fabric.util, degreesToRadians = util.degreesToRadians, multiplyMatrices = util.multiplyTransformMatrices, transformPoint = util.transformPoint;\n util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Describe object's corner position in canvas element coordinates.\n * properties are depending on control keys and padding the main controls.\n * each property is an object with x, y and corner.\n * The `corner` property contains in a similar manner the 4 points of the\n * interactive area of the corner.\n * The coordinates depends from the controls positionHandler and are used\n * to draw and locate controls\n * @memberOf fabric.Object.prototype\n */ oCoords: null,\n /**\n * Describe object's corner position in canvas object absolute coordinates\n * properties are tl,tr,bl,br and describe the four main corner.\n * each property is an object with x, y, instance of Fabric.Point.\n * The coordinates depends from this properties: width, height, scaleX, scaleY\n * skewX, skewY, angle, strokeWidth, top, left.\n * Those coordinates are useful to understand where an object is. They get updated\n * with oCoords but they do not need to be updated when zoom or panning change.\n * The coordinates get updated with @method setCoords.\n * You can calculate them without updating with @method calcACoords();\n * @memberOf fabric.Object.prototype\n */ aCoords: null,\n /**\n * Describe object's corner position in canvas element coordinates.\n * includes padding. Used of object detection.\n * set and refreshed with setCoords.\n * @memberOf fabric.Object.prototype\n */ lineCoords: null,\n /**\n * storage for object transform matrix\n */ ownMatrixCache: null,\n /**\n * storage for object full transform matrix\n */ matrixCache: null,\n /**\n * custom controls interface\n * controls are added by default_controls.js\n */ controls: {},\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * @param {Boolean} absolute will return aCoords if true or lineCoords\n * @return {Object} {tl, tr, br, bl} points\n */ _getCoords: function(absolute, calculate) {\n if (calculate) {\n return absolute ? this.calcACoords() : this.calcLineCoords();\n }\n if (!this.aCoords || !this.lineCoords) {\n this.setCoords(true);\n }\n return absolute ? this.aCoords : this.lineCoords;\n },\n /**\n * return correct set of coordinates for intersection\n * this will return either aCoords or lineCoords.\n * The coords are returned in an array.\n * @return {Array} [tl, tr, br, bl] of points\n */ getCoords: function(absolute, calculate) {\n return arrayFromCoords(this._getCoords(absolute, calculate));\n },\n /**\n * Checks if object intersects with an area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with an area formed by 2 points\n */ intersectsWithRect: function(pointTL, pointBR, absolute, calculate) {\n var coords = this.getCoords(absolute, calculate), intersection = fabric.Intersection.intersectPolygonRectangle(coords, pointTL, pointBR);\n return intersection.status === \"Intersection\";\n },\n /**\n * Checks if object intersects with another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object intersects with another object\n */ intersectsWithObject: function(other, absolute, calculate) {\n var intersection = fabric.Intersection.intersectPolygonPolygon(this.getCoords(absolute, calculate), other.getCoords(absolute, calculate));\n return intersection.status === \"Intersection\" || other.isContainedWithinObject(this, absolute, calculate) || this.isContainedWithinObject(other, absolute, calculate);\n },\n /**\n * Checks if object is fully contained within area of another object\n * @param {Object} other Object to test\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area of another object\n */ isContainedWithinObject: function(other, absolute, calculate) {\n var points = this.getCoords(absolute, calculate), otherCoords = absolute ? other.aCoords : other.lineCoords, i = 0, lines = other._getImageLines(otherCoords);\n for(; i < 4; i++){\n if (!other.containsPoint(points[i], lines)) {\n return false;\n }\n }\n return true;\n },\n /**\n * Checks if object is fully contained within area formed by 2 points\n * @param {Object} pointTL top-left point of area\n * @param {Object} pointBR bottom-right point of area\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is fully contained within area formed by 2 points\n */ isContainedWithinRect: function(pointTL, pointBR, absolute, calculate) {\n var boundingRect = this.getBoundingRect(absolute, calculate);\n return boundingRect.left >= pointTL.x && boundingRect.left + boundingRect.width <= pointBR.x && boundingRect.top >= pointTL.y && boundingRect.top + boundingRect.height <= pointBR.y;\n },\n /**\n * Checks if point is inside the object\n * @param {fabric.Point} point Point to check against\n * @param {Object} [lines] object returned from @method _getImageLines\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if point is inside the object\n */ containsPoint: function(point, lines, absolute, calculate) {\n var coords = this._getCoords(absolute, calculate), lines = lines || this._getImageLines(coords), xPoints = this._findCrossPoints(point, lines);\n // if xPoints is odd then point is inside the object\n return xPoints !== 0 && xPoints % 2 === 1;\n },\n /**\n * Checks if object is contained within the canvas with current viewportTransform\n * the check is done stopping at first point that appears on screen\n * @param {Boolean} [calculate] use coordinates of current position instead of .aCoords\n * @return {Boolean} true if object is fully or partially contained within canvas\n */ isOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n var points = this.getCoords(true, calculate);\n // if some point is on screen, the object is on screen.\n if (points.some(function(point) {\n return point.x <= pointBR.x && point.x >= pointTL.x && point.y <= pointBR.y && point.y >= pointTL.y;\n })) {\n return true;\n }\n // no points on screen, check intersection with absolute coordinates\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n return this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n /**\n * Checks if the object contains the midpoint between canvas extremities\n * Does not make sense outside the context of isOnScreen and isPartiallyOnScreen\n * @private\n * @param {Fabric.Point} pointTL Top Left point\n * @param {Fabric.Point} pointBR Top Right point\n * @param {Boolean} calculate use coordinates of current position instead of .oCoords\n * @return {Boolean} true if the object contains the point\n */ _containsCenterOfCanvas: function(pointTL, pointBR, calculate) {\n // worst case scenario the object is so big that contains the screen\n var centerPoint = {\n x: (pointTL.x + pointBR.x) / 2,\n y: (pointTL.y + pointBR.y) / 2\n };\n if (this.containsPoint(centerPoint, null, true, calculate)) {\n return true;\n }\n return false;\n },\n /**\n * Checks if object is partially contained within the canvas with current viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords\n * @return {Boolean} true if object is partially contained within canvas\n */ isPartiallyOnScreen: function(calculate) {\n if (!this.canvas) {\n return false;\n }\n var pointTL = this.canvas.vptCoords.tl, pointBR = this.canvas.vptCoords.br;\n if (this.intersectsWithRect(pointTL, pointBR, true, calculate)) {\n return true;\n }\n var allPointsAreOutside = this.getCoords(true, calculate).every(function(point) {\n return (point.x >= pointBR.x || point.x <= pointTL.x) && (point.y >= pointBR.y || point.y <= pointTL.y);\n });\n return allPointsAreOutside && this._containsCenterOfCanvas(pointTL, pointBR, calculate);\n },\n /**\n * Method that returns an object with the object edges in it, given the coordinates of the corners\n * @private\n * @param {Object} oCoords Coordinates of the object corners\n */ _getImageLines: function(oCoords) {\n var lines = {\n topline: {\n o: oCoords.tl,\n d: oCoords.tr\n },\n rightline: {\n o: oCoords.tr,\n d: oCoords.br\n },\n bottomline: {\n o: oCoords.br,\n d: oCoords.bl\n },\n leftline: {\n o: oCoords.bl,\n d: oCoords.tl\n }\n };\n // // debugging\n // if (this.canvas.contextTop) {\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n // }\n return lines;\n },\n /**\n * Helper method to determine how many cross points are between the 4 object edges\n * and the horizontal line determined by a point on canvas\n * @private\n * @param {fabric.Point} point Point to check\n * @param {Object} lines Coordinates of the object being evaluated\n */ // remove yi, not used but left code here just in case.\n _findCrossPoints: function(point, lines) {\n var b1, b2, a1, a2, xi, xcount = 0, iLine;\n for(var lineKey in lines){\n iLine = lines[lineKey];\n // optimisation 1: line below point. no cross\n if (iLine.o.y < point.y && iLine.d.y < point.y) {\n continue;\n }\n // optimisation 2: line above point. no cross\n if (iLine.o.y >= point.y && iLine.d.y >= point.y) {\n continue;\n }\n // optimisation 3: vertical line case\n if (iLine.o.x === iLine.d.x && iLine.o.x >= point.x) {\n xi = iLine.o.x;\n // yi = point.y;\n } else {\n b1 = 0;\n b2 = (iLine.d.y - iLine.o.y) / (iLine.d.x - iLine.o.x);\n a1 = point.y - b1 * point.x;\n a2 = iLine.o.y - b2 * iLine.o.x;\n xi = -(a1 - a2) / (b1 - b2);\n // yi = a1 + b1 * xi;\n }\n // dont count xi < point.x cases\n if (xi >= point.x) {\n xcount += 1;\n }\n // optimisation 4: specific for square images\n if (xcount === 2) {\n break;\n }\n }\n return xcount;\n },\n /**\n * Returns coordinates of object's bounding rectangle (left, top, width, height)\n * the box is intended as aligned to axis of canvas.\n * @param {Boolean} [absolute] use coordinates without viewportTransform\n * @param {Boolean} [calculate] use coordinates of current position instead of .oCoords / .aCoords\n * @return {Object} Object with left, top, width, height properties\n */ getBoundingRect: function(absolute, calculate) {\n var coords = this.getCoords(absolute, calculate);\n return util.makeBoundingBoxFromPoints(coords);\n },\n /**\n * Returns width of an object's bounding box counting transformations\n * before 2.0 it was named getWidth();\n * @return {Number} width value\n */ getScaledWidth: function() {\n return this._getTransformedDimensions().x;\n },\n /**\n * Returns height of an object bounding box counting transformations\n * before 2.0 it was named getHeight();\n * @return {Number} height value\n */ getScaledHeight: function() {\n return this._getTransformedDimensions().y;\n },\n /**\n * Makes sure the scale is valid and modifies it if necessary\n * @private\n * @param {Number} value\n * @return {Number}\n */ _constrainScale: function(value) {\n if (Math.abs(value) < this.minScaleLimit) {\n if (value < 0) {\n return -this.minScaleLimit;\n } else {\n return this.minScaleLimit;\n }\n } else if (value === 0) {\n return 0.0001;\n }\n return value;\n },\n /**\n * Scales an object (equally by x and y)\n * @param {Number} value Scale factor\n * @return {fabric.Object} thisArg\n * @chainable\n */ scale: function(value) {\n this._set(\"scaleX\", value);\n this._set(\"scaleY\", value);\n return this.setCoords();\n },\n /**\n * Scales an object to a given width, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New width value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */ scaleToWidth: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).width / this.getScaledWidth();\n return this.scale(value / this.width / boundingRectFactor);\n },\n /**\n * Scales an object to a given height, with respect to bounding box (scaling by x/y equally)\n * @param {Number} value New height value\n * @param {Boolean} absolute ignore viewport\n * @return {fabric.Object} thisArg\n * @chainable\n */ scaleToHeight: function(value, absolute) {\n // adjust to bounding rect factor so that rotated shapes would fit as well\n var boundingRectFactor = this.getBoundingRect(absolute).height / this.getScaledHeight();\n return this.scale(value / this.height / boundingRectFactor);\n },\n calcLineCoords: function() {\n var vpt = this.getViewportTransform(), padding = this.padding, angle = degreesToRadians(this.angle), cos = util.cos(angle), sin = util.sin(angle), cosP = cos * padding, sinP = sin * padding, cosPSinP = cosP + sinP, cosPMinusSinP = cosP - sinP, aCoords = this.calcACoords();\n var lineCoords = {\n tl: transformPoint(aCoords.tl, vpt),\n tr: transformPoint(aCoords.tr, vpt),\n bl: transformPoint(aCoords.bl, vpt),\n br: transformPoint(aCoords.br, vpt)\n };\n if (padding) {\n lineCoords.tl.x -= cosPMinusSinP;\n lineCoords.tl.y -= cosPSinP;\n lineCoords.tr.x += cosPSinP;\n lineCoords.tr.y -= cosPMinusSinP;\n lineCoords.bl.x -= cosPSinP;\n lineCoords.bl.y += cosPMinusSinP;\n lineCoords.br.x += cosPMinusSinP;\n lineCoords.br.y += cosPSinP;\n }\n return lineCoords;\n },\n calcOCoords: function() {\n var rotateMatrix = this._calcRotateMatrix(), translateMatrix = this._calcTranslateMatrix(), vpt = this.getViewportTransform(), startMatrix = multiplyMatrices(vpt, translateMatrix), finalMatrix = multiplyMatrices(startMatrix, rotateMatrix), finalMatrix = multiplyMatrices(finalMatrix, [\n 1 / vpt[0],\n 0,\n 0,\n 1 / vpt[3],\n 0,\n 0\n ]), dim = this._calculateCurrentDimensions(), coords = {};\n this.forEachControl(function(control, key, fabricObject) {\n coords[key] = control.positionHandler(dim, finalMatrix, fabricObject);\n });\n // debug code\n // var canvas = this.canvas;\n // setTimeout(function() {\n // canvas.contextTop.clearRect(0, 0, 700, 700);\n // canvas.contextTop.fillStyle = 'green';\n // Object.keys(coords).forEach(function(key) {\n // var control = coords[key];\n // canvas.contextTop.fillRect(control.x, control.y, 3, 3);\n // });\n // }, 50);\n return coords;\n },\n calcACoords: function() {\n var rotateMatrix = this._calcRotateMatrix(), translateMatrix = this._calcTranslateMatrix(), finalMatrix = multiplyMatrices(translateMatrix, rotateMatrix), dim = this._getTransformedDimensions(), w = dim.x / 2, h = dim.y / 2;\n return {\n // corners\n tl: transformPoint({\n x: -w,\n y: -h\n }, finalMatrix),\n tr: transformPoint({\n x: w,\n y: -h\n }, finalMatrix),\n bl: transformPoint({\n x: -w,\n y: h\n }, finalMatrix),\n br: transformPoint({\n x: w,\n y: h\n }, finalMatrix)\n };\n },\n /**\n * Sets corner and controls position coordinates based on current angle, width and height, left and top.\n * oCoords are used to find the corners\n * aCoords are used to quickly find an object on the canvas\n * lineCoords are used to quickly find object during pointer events.\n * See {@link https://github.com/fabricjs/fabric.js/wiki/When-to-call-setCoords} and {@link http://fabricjs.com/fabric-gotchas}\n *\n * @param {Boolean} [skipCorners] skip calculation of oCoords.\n * @return {fabric.Object} thisArg\n * @chainable\n */ setCoords: function(skipCorners) {\n this.aCoords = this.calcACoords();\n // in case we are in a group, for how the inner group target check works,\n // lineCoords are exactly aCoords. Since the vpt gets absorbed by the normalized pointer.\n this.lineCoords = this.group ? this.aCoords : this.calcLineCoords();\n if (skipCorners) {\n return this;\n }\n // set coordinates of the draggable boxes in the corners used to scale/rotate the image\n this.oCoords = this.calcOCoords();\n this._setCornerCoords && this._setCornerCoords();\n return this;\n },\n /**\n * calculate rotation matrix of an object\n * @return {Array} rotation matrix for the object\n */ _calcRotateMatrix: function() {\n return util.calcRotateMatrix(this);\n },\n /**\n * calculate the translation matrix for an object transform\n * @return {Array} rotation matrix for the object\n */ _calcTranslateMatrix: function() {\n var center = this.getCenterPoint();\n return [\n 1,\n 0,\n 0,\n 1,\n center.x,\n center.y\n ];\n },\n transformMatrixKey: function(skipGroup) {\n var sep = \"_\", prefix = \"\";\n if (!skipGroup && this.group) {\n prefix = this.group.transformMatrixKey(skipGroup) + sep;\n }\n ;\n return prefix + this.top + sep + this.left + sep + this.scaleX + sep + this.scaleY + sep + this.skewX + sep + this.skewY + sep + this.angle + sep + this.originX + sep + this.originY + sep + this.width + sep + this.height + sep + this.strokeWidth + this.flipX + this.flipY;\n },\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties.\n * @param {Boolean} [skipGroup] return transform matrix for object not counting parent transformations\n * There are some situation in which this is useful to avoid the fake rotation.\n * @return {Array} transform matrix for the object\n */ calcTransformMatrix: function(skipGroup) {\n var matrix = this.calcOwnMatrix();\n if (skipGroup || !this.group) {\n return matrix;\n }\n var key = this.transformMatrixKey(skipGroup), cache = this.matrixCache || (this.matrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n if (this.group) {\n matrix = multiplyMatrices(this.group.calcTransformMatrix(false), matrix);\n }\n cache.key = key;\n cache.value = matrix;\n return matrix;\n },\n /**\n * calculate transform matrix that represents the current transformations from the\n * object's properties, this matrix does not include the group transformation\n * @return {Array} transform matrix for the object\n */ calcOwnMatrix: function() {\n var key = this.transformMatrixKey(true), cache = this.ownMatrixCache || (this.ownMatrixCache = {});\n if (cache.key === key) {\n return cache.value;\n }\n var tMatrix = this._calcTranslateMatrix(), options = {\n angle: this.angle,\n translateX: tMatrix[4],\n translateY: tMatrix[5],\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: this.skewX,\n skewY: this.skewY,\n flipX: this.flipX,\n flipY: this.flipY\n };\n cache.key = key;\n cache.value = util.composeMatrix(options);\n return cache.value;\n },\n /*\n * Calculate object dimensions from its properties\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */ _getNonTransformedDimensions: function() {\n var strokeWidth = this.strokeWidth, w = this.width + strokeWidth, h = this.height + strokeWidth;\n return {\n x: w,\n y: h\n };\n },\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param {Number} skewX, a value to override current skewX\n * @param {Number} skewY, a value to override current skewY\n * @private\n * @return {Object} .x width dimension\n * @return {Object} .y height dimension\n */ _getTransformedDimensions: function(skewX, skewY) {\n if (typeof skewX === \"undefined\") {\n skewX = this.skewX;\n }\n if (typeof skewY === \"undefined\") {\n skewY = this.skewY;\n }\n var dimensions, dimX, dimY, noSkew = skewX === 0 && skewY === 0;\n if (this.strokeUniform) {\n dimX = this.width;\n dimY = this.height;\n } else {\n dimensions = this._getNonTransformedDimensions();\n dimX = dimensions.x;\n dimY = dimensions.y;\n }\n if (noSkew) {\n return this._finalizeDimensions(dimX * this.scaleX, dimY * this.scaleY);\n }\n var bbox = util.sizeAfterTransform(dimX, dimY, {\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n skewX: skewX,\n skewY: skewY\n });\n return this._finalizeDimensions(bbox.x, bbox.y);\n },\n /*\n * Calculate object bounding box dimensions from its properties scale, skew.\n * @param Number width width of the bbox\n * @param Number height height of the bbox\n * @private\n * @return {Object} .x finalized width dimension\n * @return {Object} .y finalized height dimension\n */ _finalizeDimensions: function(width, height) {\n return this.strokeUniform ? {\n x: width + this.strokeWidth,\n y: height + this.strokeWidth\n } : {\n x: width,\n y: height\n };\n },\n /*\n * Calculate object dimensions for controls box, including padding and canvas zoom.\n * and active selection\n * private\n */ _calculateCurrentDimensions: function() {\n var vpt = this.getViewportTransform(), dim = this._getTransformedDimensions(), p = transformPoint(dim, vpt, true);\n return p.scalarAdd(2 * this.padding);\n }\n });\n})();\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Moves an object to the bottom of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */ sendToBack: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendToBack.call(this.group, this);\n } else if (this.canvas) {\n this.canvas.sendToBack(this);\n }\n return this;\n },\n /**\n * Moves an object to the top of the stack of drawn objects\n * @return {fabric.Object} thisArg\n * @chainable\n */ bringToFront: function() {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringToFront.call(this.group, this);\n } else if (this.canvas) {\n this.canvas.bringToFront(this);\n }\n return this;\n },\n /**\n * Moves an object down in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object behind next lower intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */ sendBackwards: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.sendBackwards.call(this.group, this, intersecting);\n } else if (this.canvas) {\n this.canvas.sendBackwards(this, intersecting);\n }\n return this;\n },\n /**\n * Moves an object up in stack of drawn objects\n * @param {Boolean} [intersecting] If `true`, send object in front of next upper intersecting object\n * @return {fabric.Object} thisArg\n * @chainable\n */ bringForward: function(intersecting) {\n if (this.group) {\n fabric.StaticCanvas.prototype.bringForward.call(this.group, this, intersecting);\n } else if (this.canvas) {\n this.canvas.bringForward(this, intersecting);\n }\n return this;\n },\n /**\n * Moves an object to specified level in stack of drawn objects\n * @param {Number} index New position of object\n * @return {fabric.Object} thisArg\n * @chainable\n */ moveTo: function(index) {\n if (this.group && this.group.type !== \"activeSelection\") {\n fabric.StaticCanvas.prototype.moveTo.call(this.group, this, index);\n } else if (this.canvas) {\n this.canvas.moveTo(this, index);\n }\n return this;\n }\n});\n(function() {\n var extend = fabric.util.object.extend, originalSet = \"stateProperties\";\n /*\n Depends on `stateProperties`\n */ function saveProps(origin, destination, props) {\n var tmpObj = {}, deep = true;\n props.forEach(function(prop) {\n tmpObj[prop] = origin[prop];\n });\n extend(origin[destination], tmpObj, deep);\n }\n function _isEqual(origValue, currentValue, firstPass) {\n if (origValue === currentValue) {\n // if the objects are identical, return\n return true;\n } else if (Array.isArray(origValue)) {\n if (!Array.isArray(currentValue) || origValue.length !== currentValue.length) {\n return false;\n }\n for(var i = 0, len = origValue.length; i < len; i++){\n if (!_isEqual(origValue[i], currentValue[i])) {\n return false;\n }\n }\n return true;\n } else if (origValue && typeof origValue === \"object\") {\n var keys = Object.keys(origValue), key;\n if (!currentValue || typeof currentValue !== \"object\" || !firstPass && keys.length !== Object.keys(currentValue).length) {\n return false;\n }\n for(var i = 0, len = keys.length; i < len; i++){\n key = keys[i];\n // since clipPath is in the statefull cache list and the clipPath objects\n // would be iterated as an object, this would lead to possible infinite recursion\n // we do not want to compare those.\n if (key === \"canvas\" || key === \"group\") {\n continue;\n }\n if (!_isEqual(origValue[key], currentValue[key])) {\n return false;\n }\n }\n return true;\n }\n }\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Returns true if object state (one of its state properties) was changed\n * @param {String} [propertySet] optional name for the set of property we want to save\n * @return {Boolean} true if instance' state has changed since `{@link fabric.Object#saveState}` was called\n */ hasStateChanged: function(propertySet) {\n propertySet = propertySet || originalSet;\n var dashedPropertySet = \"_\" + propertySet;\n if (Object.keys(this[dashedPropertySet]).length < this[propertySet].length) {\n return true;\n }\n return !_isEqual(this[dashedPropertySet], this, true);\n },\n /**\n * Saves state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */ saveState: function(options) {\n var propertySet = options && options.propertySet || originalSet, destination = \"_\" + propertySet;\n if (!this[destination]) {\n return this.setupState(options);\n }\n saveProps(this, destination, this[propertySet]);\n if (options && options.stateProperties) {\n saveProps(this, destination, options.stateProperties);\n }\n return this;\n },\n /**\n * Setups state of an object\n * @param {Object} [options] Object with additional `stateProperties` array to include when saving state\n * @return {fabric.Object} thisArg\n */ setupState: function(options) {\n options = options || {};\n var propertySet = options.propertySet || originalSet;\n options.propertySet = propertySet;\n this[\"_\" + propertySet] = {};\n this.saveState(options);\n return this;\n }\n });\n})();\n(function() {\n var degreesToRadians = fabric.util.degreesToRadians;\n fabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Determines which corner has been clicked\n * @private\n * @param {Object} pointer The pointer indicating the mouse position\n * @return {String|Boolean} corner code (tl, tr, bl, br, etc.), or false if nothing is found\n */ _findTargetCorner: function(pointer, forTouch) {\n // objects in group, anykind, are not self modificable,\n // must not return an hovered corner.\n if (!this.hasControls || this.group || !this.canvas || this.canvas._activeObject !== this) {\n return false;\n }\n var ex = pointer.x, ey = pointer.y, xPoints, lines, keys = Object.keys(this.oCoords), j = keys.length - 1, i;\n this.__corner = 0;\n // cycle in reverse order so we pick first the one on top\n for(; j >= 0; j--){\n i = keys[j];\n if (!this.isControlVisible(i)) {\n continue;\n }\n lines = this._getImageLines(forTouch ? this.oCoords[i].touchCorner : this.oCoords[i].corner);\n // // debugging\n //\n // this.canvas.contextTop.fillRect(lines.bottomline.d.x, lines.bottomline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.bottomline.o.x, lines.bottomline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.leftline.d.x, lines.leftline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.leftline.o.x, lines.leftline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.topline.d.x, lines.topline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.topline.o.x, lines.topline.o.y, 2, 2);\n //\n // this.canvas.contextTop.fillRect(lines.rightline.d.x, lines.rightline.d.y, 2, 2);\n // this.canvas.contextTop.fillRect(lines.rightline.o.x, lines.rightline.o.y, 2, 2);\n xPoints = this._findCrossPoints({\n x: ex,\n y: ey\n }, lines);\n if (xPoints !== 0 && xPoints % 2 === 1) {\n this.__corner = i;\n return i;\n }\n }\n return false;\n },\n /**\n * Calls a function for each control. The function gets called,\n * with the control, the object that is calling the iterator and the control's key\n * @param {Function} fn function to iterate over the controls over\n */ forEachControl: function(fn) {\n for(var i in this.controls){\n fn(this.controls[i], i, this);\n }\n ;\n },\n /**\n * Sets the coordinates of the draggable boxes in the corners of\n * the image used to scale/rotate it.\n * note: if we would switch to ROUND corner area, all of this would disappear.\n * everything would resolve to a single point and a pythagorean theorem for the distance\n * @private\n */ _setCornerCoords: function() {\n var coords = this.oCoords;\n for(var control in coords){\n var controlObject = this.controls[control];\n coords[control].corner = controlObject.calcCornerCoords(this.angle, this.cornerSize, coords[control].x, coords[control].y, false);\n coords[control].touchCorner = controlObject.calcCornerCoords(this.angle, this.touchCornerSize, coords[control].x, coords[control].y, true);\n }\n },\n /**\n * Draws a colored layer behind the object, inside its selection borders.\n * Requires public options: padding, selectionBackgroundColor\n * this function is called when the context is transformed\n * has checks to be skipped when the object is on a staticCanvas\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawSelectionBackground: function(ctx) {\n if (!this.selectionBackgroundColor || this.canvas && !this.canvas.interactive || this.canvas && this.canvas._activeObject !== this) {\n return this;\n }\n ctx.save();\n var center = this.getCenterPoint(), wh = this._calculateCurrentDimensions(), vpt = this.canvas.viewportTransform;\n ctx.translate(center.x, center.y);\n ctx.scale(1 / vpt[0], 1 / vpt[3]);\n ctx.rotate(degreesToRadians(this.angle));\n ctx.fillStyle = this.selectionBackgroundColor;\n ctx.fillRect(-wh.x / 2, -wh.y / 2, wh.x, wh.y);\n ctx.restore();\n return this;\n },\n /**\n * Draws borders of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawBorders: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n var wh = this._calculateCurrentDimensions(), strokeWidth = this.borderScaleFactor, width = wh.x + strokeWidth, height = wh.y + strokeWidth, hasControls = typeof styleOverride.hasControls !== \"undefined\" ? styleOverride.hasControls : this.hasControls, shouldStroke = false;\n ctx.save();\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeRect(-width / 2, -height / 2, width, height);\n if (hasControls) {\n ctx.beginPath();\n this.forEachControl(function(control, key, fabricObject) {\n // in this moment, the ctx is centered on the object.\n // width and height of the above function are the size of the bbox.\n if (control.withConnection && control.getVisibility(fabricObject, key)) {\n // reset movement for each control\n shouldStroke = true;\n ctx.moveTo(control.x * width, control.y * height);\n ctx.lineTo(control.x * width + control.offsetX, control.y * height + control.offsetY);\n }\n });\n if (shouldStroke) {\n ctx.stroke();\n }\n }\n ctx.restore();\n return this;\n },\n /**\n * Draws borders of an object's bounding box when it is inside a group.\n * Requires public properties: width, height\n * Requires public options: padding, borderColor\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {object} options object representing current object parameters\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawBordersInGroup: function(ctx, options, styleOverride) {\n styleOverride = styleOverride || {};\n var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options), strokeWidth = this.strokeWidth, strokeUniform = this.strokeUniform, borderScaleFactor = this.borderScaleFactor, width = bbox.x + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleX) + borderScaleFactor, height = bbox.y + strokeWidth * (strokeUniform ? this.canvas.getZoom() : options.scaleY) + borderScaleFactor;\n ctx.save();\n this._setLineDash(ctx, styleOverride.borderDashArray || this.borderDashArray);\n ctx.strokeStyle = styleOverride.borderColor || this.borderColor;\n ctx.strokeRect(-width / 2, -height / 2, width, height);\n ctx.restore();\n return this;\n },\n /**\n * Draws corners of an object's bounding box.\n * Requires public properties: width, height\n * Requires public options: cornerSize, padding\n * @param {CanvasRenderingContext2D} ctx Context to draw on\n * @param {Object} styleOverride object to override the object style\n * @return {fabric.Object} thisArg\n * @chainable\n */ drawControls: function(ctx, styleOverride) {\n styleOverride = styleOverride || {};\n ctx.save();\n var retinaScaling = this.canvas.getRetinaScaling(), matrix, p;\n ctx.setTransform(retinaScaling, 0, 0, retinaScaling, 0, 0);\n ctx.strokeStyle = ctx.fillStyle = styleOverride.cornerColor || this.cornerColor;\n if (!this.transparentCorners) {\n ctx.strokeStyle = styleOverride.cornerStrokeColor || this.cornerStrokeColor;\n }\n this._setLineDash(ctx, styleOverride.cornerDashArray || this.cornerDashArray);\n this.setCoords();\n if (this.group) {\n // fabricJS does not really support drawing controls inside groups,\n // this piece of code here helps having at least the control in places.\n // If an application needs to show some objects as selected because of some UI state\n // can still call Object._renderControls() on any object they desire, independently of groups.\n // using no padding, circular controls and hiding the rotating cursor is higly suggested,\n matrix = this.group.calcTransformMatrix();\n }\n this.forEachControl(function(control, key, fabricObject) {\n p = fabricObject.oCoords[key];\n if (control.getVisibility(fabricObject, key)) {\n if (matrix) {\n p = fabric.util.transformPoint(p, matrix);\n }\n control.render(ctx, p.x, p.y, styleOverride, fabricObject);\n }\n });\n ctx.restore();\n return this;\n },\n /**\n * Returns true if the specified control is visible, false otherwise.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @returns {Boolean} true if the specified control is visible, false otherwise\n */ isControlVisible: function(controlKey) {\n return this.controls[controlKey] && this.controls[controlKey].getVisibility(this, controlKey);\n },\n /**\n * Sets the visibility of the specified control.\n * @param {String} controlKey The key of the control. Possible values are 'tl', 'tr', 'br', 'bl', 'ml', 'mt', 'mr', 'mb', 'mtr'.\n * @param {Boolean} visible true to set the specified control visible, false otherwise\n * @return {fabric.Object} thisArg\n * @chainable\n */ setControlVisible: function(controlKey, visible) {\n if (!this._controlsVisibility) {\n this._controlsVisibility = {};\n }\n this._controlsVisibility[controlKey] = visible;\n return this;\n },\n /**\n * Sets the visibility state of object controls.\n * @param {Object} [options] Options object\n * @param {Boolean} [options.bl] true to enable the bottom-left control, false to disable it\n * @param {Boolean} [options.br] true to enable the bottom-right control, false to disable it\n * @param {Boolean} [options.mb] true to enable the middle-bottom control, false to disable it\n * @param {Boolean} [options.ml] true to enable the middle-left control, false to disable it\n * @param {Boolean} [options.mr] true to enable the middle-right control, false to disable it\n * @param {Boolean} [options.mt] true to enable the middle-top control, false to disable it\n * @param {Boolean} [options.tl] true to enable the top-left control, false to disable it\n * @param {Boolean} [options.tr] true to enable the top-right control, false to disable it\n * @param {Boolean} [options.mtr] true to enable the middle-top-rotate control, false to disable it\n * @return {fabric.Object} thisArg\n * @chainable\n */ setControlsVisibility: function(options) {\n options || (options = {});\n for(var p in options){\n this.setControlVisible(p, options[p]);\n }\n return this;\n },\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to deselect this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */ onDeselect: function() {\n // implemented by sub-classes, as needed.\n },\n /**\n * This callback function is called every time _discardActiveObject or _setActiveObject\n * try to to select this object. If the function returns true, the process is cancelled\n * @param {Object} [options] options sent from the upper functions\n * @param {Event} [options.e] event if the process is generated by an event\n */ onSelect: function() {\n // implemented by sub-classes, as needed.\n }\n });\n})();\nfabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.StaticCanvas.prototype */ {\n /**\n * Animation duration (in ms) for fx* methods\n * @type Number\n * @default\n */ FX_DURATION: 500,\n /**\n * Centers object horizontally with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxCenterObjectH: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.left,\n endValue: this.getCenterPoint().x,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"left\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n /**\n * Centers object vertically with animation.\n * @param {fabric.Object} object Object to center\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxCenterObjectV: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.top,\n endValue: this.getCenterPoint().y,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"top\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n object.setCoords();\n onComplete();\n }\n });\n },\n /**\n * Same as `fabric.Canvas#remove` but animated\n * @param {fabric.Object} object Object to remove\n * @param {Object} [callbacks] Callbacks object with optional \"onComplete\" and/or \"onChange\" properties\n * @param {Function} [callbacks.onComplete] Invoked on completion\n * @param {Function} [callbacks.onChange] Invoked on every step of animation\n * @return {fabric.AnimationContext} context\n */ fxRemove: function(object, callbacks) {\n callbacks = callbacks || {};\n var empty = function() {}, onComplete = callbacks.onComplete || empty, onChange = callbacks.onChange || empty, _this = this;\n return fabric.util.animate({\n target: this,\n startValue: object.opacity,\n endValue: 0,\n duration: this.FX_DURATION,\n onChange: function(value) {\n object.set(\"opacity\", value);\n _this.requestRenderAll();\n onChange();\n },\n onComplete: function() {\n _this.remove(object);\n onComplete();\n }\n });\n }\n});\nfabric.util.object.extend(fabric.Object.prototype, /** @lends fabric.Object.prototype */ {\n /**\n * Animates object's properties\n * @param {String|Object} property Property to animate (if string) or properties to animate (if object)\n * @param {Number|Object} value Value to animate property to (if string was given first) or options object\n * @return {fabric.Object} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#animation}\n * @return {fabric.AnimationContext | fabric.AnimationContext[]} animation context (or an array if passed multiple properties)\n *\n * As object — multiple properties\n *\n * object.animate({ left: ..., top: ... });\n * object.animate({ left: ..., top: ... }, { duration: ... });\n *\n * As string — one property\n *\n * object.animate('left', ...);\n * object.animate('left', { duration: ... });\n *\n */ animate: function() {\n if (arguments[0] && typeof arguments[0] === \"object\") {\n var propsToAnimate = [], prop, skipCallbacks, out = [];\n for(prop in arguments[0]){\n propsToAnimate.push(prop);\n }\n for(var i = 0, len = propsToAnimate.length; i < len; i++){\n prop = propsToAnimate[i];\n skipCallbacks = i !== len - 1;\n out.push(this._animate(prop, arguments[0][prop], arguments[1], skipCallbacks));\n }\n return out;\n } else {\n return this._animate.apply(this, arguments);\n }\n },\n /**\n * @private\n * @param {String} property Property to animate\n * @param {String} to Value to animate to\n * @param {Object} [options] Options object\n * @param {Boolean} [skipCallbacks] When true, callbacks like onchange and oncomplete are not invoked\n */ _animate: function(property, to, options, skipCallbacks) {\n var _this = this, propPair;\n to = to.toString();\n if (!options) {\n options = {};\n } else {\n options = fabric.util.object.clone(options);\n }\n if (~property.indexOf(\".\")) {\n propPair = property.split(\".\");\n }\n var propIsColor = _this.colorProperties.indexOf(property) > -1 || propPair && _this.colorProperties.indexOf(propPair[1]) > -1;\n var currentValue = propPair ? this.get(propPair[0])[propPair[1]] : this.get(property);\n if (!(\"from\" in options)) {\n options.from = currentValue;\n }\n if (!propIsColor) {\n if (~to.indexOf(\"=\")) {\n to = currentValue + parseFloat(to.replace(\"=\", \"\"));\n } else {\n to = parseFloat(to);\n }\n }\n var _options = {\n target: this,\n startValue: options.from,\n endValue: to,\n byValue: options.by,\n easing: options.easing,\n duration: options.duration,\n abort: options.abort && function(value, valueProgress, timeProgress) {\n return options.abort.call(_this, value, valueProgress, timeProgress);\n },\n onChange: function(value, valueProgress, timeProgress) {\n if (propPair) {\n _this[propPair[0]][propPair[1]] = value;\n } else {\n _this.set(property, value);\n }\n if (skipCallbacks) {\n return;\n }\n options.onChange && options.onChange(value, valueProgress, timeProgress);\n },\n onComplete: function(value, valueProgress, timeProgress) {\n if (skipCallbacks) {\n return;\n }\n _this.setCoords();\n options.onComplete && options.onComplete(value, valueProgress, timeProgress);\n }\n };\n if (propIsColor) {\n return fabric.util.animateColor(_options.startValue, _options.endValue, _options.duration, _options);\n } else {\n return fabric.util.animate(_options);\n }\n }\n});\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend;\n if (fabric.Rect) {\n fabric.warn(\"fabric.Rect is already defined\");\n return;\n }\n /**\n * Rectangle class\n * @class fabric.Rect\n * @extends fabric.Object\n * @return {fabric.Rect} thisArg\n * @see {@link fabric.Rect#initialize} for constructor definition\n */ fabric.Rect = fabric.util.createClass(fabric.Object, /** @lends fabric.Rect.prototype */ {\n /**\n * List of properties to consider when checking if state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(\"rx\", \"ry\"),\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"rect\",\n /**\n * Horizontal border radius\n * @type Number\n * @default\n */ rx: 0,\n /**\n * Vertical border radius\n * @type Number\n * @default\n */ ry: 0,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"rx\", \"ry\"),\n /**\n * Constructor\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n this._initRxRy();\n },\n /**\n * Initializes rx/ry attributes\n * @private\n */ _initRxRy: function() {\n if (this.rx && !this.ry) {\n this.ry = this.rx;\n } else if (this.ry && !this.rx) {\n this.rx = this.ry;\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n // 1x1 case (used in spray brush) optimization was removed because\n // with caching and higher zoom level this makes more damage than help\n var rx = this.rx ? Math.min(this.rx, this.width / 2) : 0, ry = this.ry ? Math.min(this.ry, this.height / 2) : 0, w = this.width, h = this.height, x = -this.width / 2, y = -this.height / 2, isRounded = rx !== 0 || ry !== 0, /* \"magic number\" for bezier approximations of arcs (http://itc.ktu.lt/itc354/Riskus354.pdf) */ k = 1 - 0.5522847498;\n ctx.beginPath();\n ctx.moveTo(x + rx, y);\n ctx.lineTo(x + w - rx, y);\n isRounded && ctx.bezierCurveTo(x + w - k * rx, y, x + w, y + k * ry, x + w, y + ry);\n ctx.lineTo(x + w, y + h - ry);\n isRounded && ctx.bezierCurveTo(x + w, y + h - k * ry, x + w - k * rx, y + h, x + w - rx, y + h);\n ctx.lineTo(x + rx, y + h);\n isRounded && ctx.bezierCurveTo(x + k * rx, y + h, x, y + h - k * ry, x, y + h - ry);\n ctx.lineTo(x, y + ry);\n isRounded && ctx.bezierCurveTo(x, y + k * ry, x + k * rx, y, x + rx, y);\n ctx.closePath();\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return this.callSuper(\"toObject\", [\n \"rx\",\n \"ry\"\n ].concat(propertiesToInclude));\n }\n });\n /**\n * Returns {@link fabric.Rect} instance from an object representation\n * @static\n * @memberOf fabric.Rect\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Rect instance is created\n */ fabric.Rect.fromObject = function(object, callback) {\n return fabric.Object._fromObject(\"Rect\", object, callback);\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, min = fabric.util.array.min, max = fabric.util.array.max, toFixed = fabric.util.toFixed, projectStrokeOnPoints = fabric.util.projectStrokeOnPoints;\n if (fabric.Polyline) {\n fabric.warn(\"fabric.Polyline is already defined\");\n return;\n }\n /**\n * Polyline class\n * @class fabric.Polyline\n * @extends fabric.Object\n * @see {@link fabric.Polyline#initialize} for constructor definition\n */ fabric.Polyline = fabric.util.createClass(fabric.Object, /** @lends fabric.Polyline.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"polyline\",\n /**\n * Points array\n * @type Array\n * @default\n */ points: null,\n /**\n * WARNING: Feature in progress\n * Calculate the exact bounding box taking in account strokeWidth on acute angles\n * this will be turned to true by default on fabric 6.0\n * maybe will be left in as an optimization since calculations may be slow\n * @deprecated\n * @type Boolean\n * @default false\n */ exactBoundingBox: false,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"points\"),\n /**\n * Constructor\n * @param {Array} points Array of points (where each point is an object with x and y)\n * @param {Object} [options] Options object\n * @return {fabric.Polyline} thisArg\n * @example\n * var poly = new fabric.Polyline([\n * { x: 10, y: 10 },\n * { x: 50, y: 30 },\n * { x: 40, y: 70 },\n * { x: 60, y: 50 },\n * { x: 100, y: 150 },\n * { x: 40, y: 100 }\n * ], {\n * stroke: 'red',\n * left: 100,\n * top: 100\n * });\n */ initialize: function(points, options) {\n options = options || {};\n this.points = points || [];\n this.callSuper(\"initialize\", options);\n this._setPositionDimensions(options);\n },\n /**\n * @private\n */ _projectStrokeOnPoints: function() {\n return projectStrokeOnPoints(this.points, this, true);\n },\n _setPositionDimensions: function(options) {\n var calcDim = this._calcDimensions(options), correctLeftTop, correctSize = this.exactBoundingBox ? this.strokeWidth : 0;\n this.width = calcDim.width - correctSize;\n this.height = calcDim.height - correctSize;\n if (!options.fromSVG) {\n correctLeftTop = this.translateToGivenOrigin({\n // this looks bad, but is one way to keep it optional for now.\n x: calcDim.left - this.strokeWidth / 2 + correctSize / 2,\n y: calcDim.top - this.strokeWidth / 2 + correctSize / 2\n }, \"left\", \"top\", this.originX, this.originY);\n }\n if (typeof options.left === \"undefined\") {\n this.left = options.fromSVG ? calcDim.left : correctLeftTop.x;\n }\n if (typeof options.top === \"undefined\") {\n this.top = options.fromSVG ? calcDim.top : correctLeftTop.y;\n }\n this.pathOffset = {\n x: calcDim.left + this.width / 2 + correctSize / 2,\n y: calcDim.top + this.height / 2 + correctSize / 2\n };\n },\n /**\n * Calculate the polygon min and max point from points array,\n * returning an object with left, top, width, height to measure the\n * polygon size\n * @return {Object} object.left X coordinate of the polygon leftmost point\n * @return {Object} object.top Y coordinate of the polygon topmost point\n * @return {Object} object.width distance between X coordinates of the polygon leftmost and rightmost point\n * @return {Object} object.height distance between Y coordinates of the polygon topmost and bottommost point\n * @private\n */ _calcDimensions: function() {\n var points = this.exactBoundingBox ? this._projectStrokeOnPoints() : this.points, minX = min(points, \"x\") || 0, minY = min(points, \"y\") || 0, maxX = max(points, \"x\") || 0, maxY = max(points, \"y\") || 0, width = maxX - minX, height = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: width,\n height: height\n };\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return extend(this.callSuper(\"toObject\", propertiesToInclude), {\n points: this.points.concat()\n });\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ commonRender: function(ctx) {\n var point, len = this.points.length, x = this.pathOffset.x, y = this.pathOffset.y;\n if (!len || isNaN(this.points[len - 1].y)) {\n // do not draw if no points or odd points\n // NaN comes from parseFloat of a empty string in parser\n return false;\n }\n ctx.beginPath();\n ctx.moveTo(this.points[0].x - x, this.points[0].y - y);\n for(var i = 0; i < len; i++){\n point = this.points[i];\n ctx.lineTo(point.x - x, point.y - y);\n }\n return true;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n if (!this.commonRender(ctx)) {\n return;\n }\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity of this instance\n */ complexity: function() {\n return this.get(\"points\").length;\n }\n });\n /**\n * Returns fabric.Polyline instance from an object representation\n * @static\n * @memberOf fabric.Polyline\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */ fabric.Polyline.fromObject = function(object, callback) {\n return fabric.Object._fromObject(\"Polyline\", object, callback, \"points\");\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), min = fabric.util.array.min, max = fabric.util.array.max, extend = fabric.util.object.extend, clone = fabric.util.object.clone, toFixed = fabric.util.toFixed;\n if (fabric.Path) {\n fabric.warn(\"fabric.Path is already defined\");\n return;\n }\n /**\n * Path class\n * @class fabric.Path\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#path_and_pathgroup}\n * @see {@link fabric.Path#initialize} for constructor definition\n */ fabric.Path = fabric.util.createClass(fabric.Object, /** @lends fabric.Path.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"path\",\n /**\n * Array of path points\n * @type Array\n * @default\n */ path: null,\n cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"path\", \"fillRule\"),\n stateProperties: fabric.Object.prototype.stateProperties.concat(\"path\"),\n /**\n * Constructor\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n * @return {fabric.Path} thisArg\n */ initialize: function(path, options) {\n options = clone(options || {});\n delete options.path;\n this.callSuper(\"initialize\", options);\n this._setPath(path || [], options);\n },\n /**\n * @private\n * @param {Array|String} path Path data (sequence of coordinates and corresponding \"command\" tokens)\n * @param {Object} [options] Options object\n */ _setPath: function(path, options) {\n this.path = fabric.util.makePathSimpler(Array.isArray(path) ? path : fabric.util.parsePath(path));\n fabric.Polyline.prototype._setPositionDimensions.call(this, options || {});\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */ _renderPathCommands: function(ctx) {\n var current, subpathStartX = 0, subpathStartY = 0, x = 0, y = 0, controlX = 0, controlY = 0, l = -this.pathOffset.x, t = -this.pathOffset.y;\n ctx.beginPath();\n for(var i = 0, len = this.path.length; i < len; ++i){\n current = this.path[i];\n switch(current[0]){\n case \"L\":\n x = current[1];\n y = current[2];\n ctx.lineTo(x + l, y + t);\n break;\n case \"M\":\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n ctx.moveTo(x + l, y + t);\n break;\n case \"C\":\n x = current[5];\n y = current[6];\n controlX = current[3];\n controlY = current[4];\n ctx.bezierCurveTo(current[1] + l, current[2] + t, controlX + l, controlY + t, x + l, y + t);\n break;\n case \"Q\":\n ctx.quadraticCurveTo(current[1] + l, current[2] + t, current[3] + l, current[4] + t);\n x = current[3];\n y = current[4];\n controlX = current[1];\n controlY = current[2];\n break;\n case \"z\":\n case \"Z\":\n x = subpathStartX;\n y = subpathStartY;\n ctx.closePath();\n break;\n }\n }\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx context to render path on\n */ _render: function(ctx) {\n this._renderPathCommands(ctx);\n this._renderPaintInOrder(ctx);\n },\n /**\n * Returns string representation of an instance\n * @return {String} string representation of an instance\n */ toString: function() {\n return \"#\";\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n return extend(this.callSuper(\"toObject\", propertiesToInclude), {\n path: this.path.map(function(item) {\n return item.slice();\n })\n });\n },\n /**\n * Returns dataless object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n var o = this.toObject([\n \"sourcePath\"\n ].concat(propertiesToInclude));\n if (o.sourcePath) {\n delete o.path;\n }\n return o;\n },\n /**\n * Returns number representation of an instance complexity\n * @return {Number} complexity of this instance\n */ complexity: function() {\n return this.path.length;\n },\n /**\n * @private\n */ _calcDimensions: function() {\n var aX = [], aY = [], current, subpathStartX = 0, subpathStartY = 0, x = 0, y = 0, bounds;\n for(var i = 0, len = this.path.length; i < len; ++i){\n current = this.path[i];\n switch(current[0]){\n case \"L\":\n x = current[1];\n y = current[2];\n bounds = [];\n break;\n case \"M\":\n x = current[1];\n y = current[2];\n subpathStartX = x;\n subpathStartY = y;\n bounds = [];\n break;\n case \"C\":\n bounds = fabric.util.getBoundsOfCurve(x, y, current[1], current[2], current[3], current[4], current[5], current[6]);\n x = current[5];\n y = current[6];\n break;\n case \"Q\":\n bounds = fabric.util.getBoundsOfCurve(x, y, current[1], current[2], current[1], current[2], current[3], current[4]);\n x = current[3];\n y = current[4];\n break;\n case \"z\":\n case \"Z\":\n x = subpathStartX;\n y = subpathStartY;\n break;\n }\n bounds.forEach(function(point) {\n aX.push(point.x);\n aY.push(point.y);\n });\n aX.push(x);\n aY.push(y);\n }\n var minX = min(aX) || 0, minY = min(aY) || 0, maxX = max(aX) || 0, maxY = max(aY) || 0, deltaX = maxX - minX, deltaY = maxY - minY;\n return {\n left: minX,\n top: minY,\n width: deltaX,\n height: deltaY\n };\n }\n });\n /**\n * Creates an instance of fabric.Path from an object\n * @static\n * @memberOf fabric.Path\n * @param {Object} object\n * @param {Function} [callback] Callback to invoke when an fabric.Path instance is created\n */ fabric.Path.fromObject = function(object, callback) {\n if (typeof object.sourcePath === \"string\") {\n var pathUrl = object.sourcePath;\n fabric.loadSVGFromURL(pathUrl, function(elements) {\n var path = elements[0];\n path.setOptions(object);\n callback && callback(path);\n });\n } else {\n fabric.Object._fromObject(\"Path\", object, callback, \"path\");\n }\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), min = fabric.util.array.min, max = fabric.util.array.max;\n if (fabric.Group) {\n return;\n }\n /**\n * Group class\n * @class fabric.Group\n * @extends fabric.Object\n * @mixes fabric.Collection\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.Group#initialize} for constructor definition\n */ fabric.Group = fabric.util.createClass(fabric.Object, fabric.Collection, /** @lends fabric.Group.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"group\",\n /**\n * Width of stroke\n * @type Number\n * @default\n */ strokeWidth: 0,\n /**\n * Indicates if click, mouseover, mouseout events & hoverCursor should also check for subtargets\n * @type Boolean\n * @default\n */ subTargetCheck: false,\n /**\n * Groups are container, do not render anything on theyr own, ence no cache properties\n * @type Array\n * @default\n */ cacheProperties: [],\n /**\n * setOnGroup is a method used for TextBox that is no more used since 2.0.0 The behavior is still\n * available setting this boolean to true.\n * @type Boolean\n * @since 2.0.0\n * @default\n */ useSetOnGroup: false,\n /**\n * Constructor\n * @param {Object} objects Group objects\n * @param {Object} [options] Options object\n * @param {Boolean} [isAlreadyGrouped] if true, objects have been grouped already.\n * @return {Object} thisArg\n */ initialize: function(objects, options, isAlreadyGrouped) {\n options = options || {};\n this._objects = [];\n // if objects enclosed in a group have been grouped already,\n // we cannot change properties of objects.\n // Thus we need to set options to group without objects,\n isAlreadyGrouped && this.callSuper(\"initialize\", options);\n this._objects = objects || [];\n for(var i = this._objects.length; i--;){\n this._objects[i].group = this;\n }\n if (!isAlreadyGrouped) {\n var center = options && options.centerPoint;\n // we want to set origins before calculating the bounding box.\n // so that the topleft can be set with that in mind.\n // if specific top and left are passed, are overwritten later\n // with the callSuper('initialize', options)\n if (options.originX !== undefined) {\n this.originX = options.originX;\n }\n if (options.originY !== undefined) {\n this.originY = options.originY;\n }\n // if coming from svg i do not want to calc bounds.\n // i assume width and height are passed along options\n center || this._calcBounds();\n this._updateObjectsCoords(center);\n delete options.centerPoint;\n this.callSuper(\"initialize\", options);\n } else {\n this._updateObjectsACoords();\n }\n this.setCoords();\n },\n /**\n * @private\n */ _updateObjectsACoords: function() {\n var skipControls = true;\n for(var i = this._objects.length; i--;){\n this._objects[i].setCoords(skipControls);\n }\n },\n /**\n * @private\n * @param {Boolean} [skipCoordsChange] if true, coordinates of objects enclosed in a group do not change\n */ _updateObjectsCoords: function(center) {\n var center = center || this.getCenterPoint();\n for(var i = this._objects.length; i--;){\n this._updateObjectCoords(this._objects[i], center);\n }\n },\n /**\n * @private\n * @param {Object} object\n * @param {fabric.Point} center, current center of group.\n */ _updateObjectCoords: function(object, center) {\n var objectLeft = object.left, objectTop = object.top, skipControls = true;\n object.set({\n left: objectLeft - center.x,\n top: objectTop - center.y\n });\n object.group = this;\n object.setCoords(skipControls);\n },\n /**\n * Returns string represenation of a group\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Adds an object to a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */ addWithUpdate: function(object) {\n var nested = !!this.group;\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n if (object) {\n if (nested) {\n // if this group is inside another group, we need to pre transform the object\n fabric.util.removeTransformFromObject(object, this.group.calcTransformMatrix());\n }\n this._objects.push(object);\n object.group = this;\n object._set(\"canvas\", this.canvas);\n }\n this._calcBounds();\n this._updateObjectsCoords();\n this.dirty = true;\n if (nested) {\n this.group.addWithUpdate();\n } else {\n this.setCoords();\n }\n return this;\n },\n /**\n * Removes an object from a group; Then recalculates group's dimension, position.\n * @param {Object} object\n * @return {fabric.Group} thisArg\n * @chainable\n */ removeWithUpdate: function(object) {\n this._restoreObjectsState();\n fabric.util.resetObjectTransform(this);\n this.remove(object);\n this._calcBounds();\n this._updateObjectsCoords();\n this.setCoords();\n this.dirty = true;\n return this;\n },\n /**\n * @private\n */ _onObjectAdded: function(object) {\n this.dirty = true;\n object.group = this;\n object._set(\"canvas\", this.canvas);\n },\n /**\n * @private\n */ _onObjectRemoved: function(object) {\n this.dirty = true;\n delete object.group;\n },\n /**\n * @private\n */ _set: function(key, value) {\n var i = this._objects.length;\n if (this.useSetOnGroup) {\n while(i--){\n this._objects[i].setOnGroup(key, value);\n }\n }\n if (key === \"canvas\") {\n while(i--){\n this._objects[i]._set(key, value);\n }\n }\n fabric.Object.prototype._set.call(this, key, value);\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var _includeDefaultValues = this.includeDefaultValues;\n var objsToObject = this._objects.filter(function(obj) {\n return !obj.excludeFromExport;\n }).map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n var obj = fabric.Object.prototype.toObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n /**\n * Returns object representation of an instance, in dataless mode.\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} object representation of an instance\n */ toDatalessObject: function(propertiesToInclude) {\n var objsToObject, sourcePath = this.sourcePath;\n if (sourcePath) {\n objsToObject = sourcePath;\n } else {\n var _includeDefaultValues = this.includeDefaultValues;\n objsToObject = this._objects.map(function(obj) {\n var originalDefaults = obj.includeDefaultValues;\n obj.includeDefaultValues = _includeDefaultValues;\n var _obj = obj.toDatalessObject(propertiesToInclude);\n obj.includeDefaultValues = originalDefaults;\n return _obj;\n });\n }\n var obj = fabric.Object.prototype.toDatalessObject.call(this, propertiesToInclude);\n obj.objects = objsToObject;\n return obj;\n },\n /**\n * Renders instance on a given context\n * @param {CanvasRenderingContext2D} ctx context to render instance on\n */ render: function(ctx) {\n this._transformDone = true;\n this.callSuper(\"render\", ctx);\n this._transformDone = false;\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group is already cached.\n * @return {Boolean}\n */ shouldCache: function() {\n var ownCache = fabric.Object.prototype.shouldCache.call(this);\n if (ownCache) {\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].willDrawShadow()) {\n this.ownCaching = false;\n return false;\n }\n }\n }\n return ownCache;\n },\n /**\n * Check if this object or a child object will cast a shadow\n * @return {Boolean}\n */ willDrawShadow: function() {\n if (fabric.Object.prototype.willDrawShadow.call(this)) {\n return true;\n }\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].willDrawShadow()) {\n return true;\n }\n }\n return false;\n },\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */ isOnACache: function() {\n return this.ownCaching || this.group && this.group.isOnACache();\n },\n /**\n * Execute the drawing operation for an object on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawObject: function(ctx) {\n for(var i = 0, len = this._objects.length; i < len; i++){\n this._objects[i].render(ctx);\n }\n this._drawClipPath(ctx, this.clipPath);\n },\n /**\n * Check if cache is dirty\n */ isCacheDirty: function(skipCanvas) {\n if (this.callSuper(\"isCacheDirty\", skipCanvas)) {\n return true;\n }\n if (!this.statefullCache) {\n return false;\n }\n for(var i = 0, len = this._objects.length; i < len; i++){\n if (this._objects[i].isCacheDirty(true)) {\n if (this._cacheCanvas) {\n // if this group has not a cache canvas there is nothing to clean\n var x = this.cacheWidth / this.zoomX, y = this.cacheHeight / this.zoomY;\n this._cacheContext.clearRect(-x / 2, -y / 2, x, y);\n }\n return true;\n }\n }\n return false;\n },\n /**\n * Restores original state of each of group objects (original state is that which was before group was created).\n * if the nested boolean is true, the original state will be restored just for the\n * first group and not for all the group chain\n * @private\n * @param {Boolean} nested tell the function to restore object state up to the parent group and not more\n * @return {fabric.Group} thisArg\n * @chainable\n */ _restoreObjectsState: function() {\n var groupMatrix = this.calcOwnMatrix();\n this._objects.forEach(function(object) {\n // instead of using _this = this;\n fabric.util.addTransformToObject(object, groupMatrix);\n delete object.group;\n object.setCoords();\n });\n return this;\n },\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */ destroy: function() {\n // when group is destroyed objects needs to get a repaint to be eventually\n // displayed on canvas.\n this._objects.forEach(function(object) {\n object.set(\"dirty\", true);\n });\n return this._restoreObjectsState();\n },\n dispose: function() {\n this.callSuper(\"dispose\");\n this.forEachObject(function(object) {\n object.dispose && object.dispose();\n });\n this._objects = [];\n },\n /**\n * make a group an active selection, remove the group from canvas\n * the group has to be on canvas for this to work.\n * @return {fabric.ActiveSelection} thisArg\n * @chainable\n */ toActiveSelection: function() {\n if (!this.canvas) {\n return;\n }\n var objects = this._objects, canvas = this.canvas;\n this._objects = [];\n var options = this.toObject();\n delete options.objects;\n var activeSelection = new fabric.ActiveSelection([]);\n activeSelection.set(options);\n activeSelection.type = \"activeSelection\";\n canvas.remove(this);\n objects.forEach(function(object) {\n object.group = activeSelection;\n object.dirty = true;\n canvas.add(object);\n });\n activeSelection.canvas = canvas;\n activeSelection._objects = objects;\n canvas._activeObject = activeSelection;\n activeSelection.setCoords();\n return activeSelection;\n },\n /**\n * Destroys a group (restoring state of its objects)\n * @return {fabric.Group} thisArg\n * @chainable\n */ ungroupOnCanvas: function() {\n return this._restoreObjectsState();\n },\n /**\n * Sets coordinates of all objects inside group\n * @return {fabric.Group} thisArg\n * @chainable\n */ setObjectsCoords: function() {\n var skipControls = true;\n this.forEachObject(function(object) {\n object.setCoords(skipControls);\n });\n return this;\n },\n /**\n * @private\n */ _calcBounds: function(onlyWidthHeight) {\n var aX = [], aY = [], o, prop, coords, props = [\n \"tr\",\n \"br\",\n \"bl\",\n \"tl\"\n ], i = 0, iLen = this._objects.length, j, jLen = props.length;\n for(; i < iLen; ++i){\n o = this._objects[i];\n coords = o.calcACoords();\n for(j = 0; j < jLen; j++){\n prop = props[j];\n aX.push(coords[prop].x);\n aY.push(coords[prop].y);\n }\n o.aCoords = coords;\n }\n this._getBounds(aX, aY, onlyWidthHeight);\n },\n /**\n * @private\n */ _getBounds: function(aX, aY, onlyWidthHeight) {\n var minXY = new fabric.Point(min(aX), min(aY)), maxXY = new fabric.Point(max(aX), max(aY)), top = minXY.y || 0, left = minXY.x || 0, width = maxXY.x - minXY.x || 0, height = maxXY.y - minXY.y || 0;\n this.width = width;\n this.height = height;\n if (!onlyWidthHeight) {\n // the bounding box always finds the topleft most corner.\n // whatever is the group origin, we set up here the left/top position.\n this.setPositionByOrigin({\n x: left,\n y: top\n }, \"left\", \"top\");\n }\n }\n });\n /**\n * Returns {@link fabric.Group} instance from an object representation\n * @static\n * @memberOf fabric.Group\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an group instance is created\n */ fabric.Group.fromObject = function(object, callback) {\n var objects = object.objects, options = fabric.util.object.clone(object, true);\n delete options.objects;\n if (typeof objects === \"string\") {\n // it has to be an url or something went wrong.\n fabric.loadSVGFromURL(objects, function(elements) {\n var group = fabric.util.groupSVGElements(elements, object, objects);\n group.set(options);\n callback && callback(group);\n });\n return;\n }\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function() {\n callback && callback(new fabric.Group(enlivenedObjects, options, true));\n });\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {});\n if (fabric.ActiveSelection) {\n return;\n }\n /**\n * Group class\n * @class fabric.ActiveSelection\n * @extends fabric.Group\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-3#groups}\n * @see {@link fabric.ActiveSelection#initialize} for constructor definition\n */ fabric.ActiveSelection = fabric.util.createClass(fabric.Group, /** @lends fabric.ActiveSelection.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"activeSelection\",\n /**\n * Constructor\n * @param {Object} objects ActiveSelection objects\n * @param {Object} [options] Options object\n * @return {Object} thisArg\n */ initialize: function(objects, options) {\n options = options || {};\n this._objects = objects || [];\n for(var i = this._objects.length; i--;){\n this._objects[i].group = this;\n }\n if (options.originX) {\n this.originX = options.originX;\n }\n if (options.originY) {\n this.originY = options.originY;\n }\n this._calcBounds();\n this._updateObjectsCoords();\n fabric.Object.prototype.initialize.call(this, options);\n this.setCoords();\n },\n /**\n * Change te activeSelection to a normal group,\n * High level function that automatically adds it to canvas as\n * active object. no events fired.\n * @since 2.0.0\n * @return {fabric.Group}\n */ toGroup: function() {\n var objects = this._objects.concat();\n this._objects = [];\n var options = fabric.Object.prototype.toObject.call(this);\n var newGroup = new fabric.Group([]);\n delete options.type;\n newGroup.set(options);\n objects.forEach(function(object) {\n object.canvas.remove(object);\n object.group = newGroup;\n });\n newGroup._objects = objects;\n if (!this.canvas) {\n return newGroup;\n }\n var canvas = this.canvas;\n canvas.add(newGroup);\n canvas._activeObject = newGroup;\n newGroup.setCoords();\n return newGroup;\n },\n /**\n * If returns true, deselection is cancelled.\n * @since 2.0.0\n * @return {Boolean} [cancel]\n */ onDeselect: function() {\n this.destroy();\n return false;\n },\n /**\n * Returns string representation of a group\n * @return {String}\n */ toString: function() {\n return \"#\";\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * objectCaching is a global flag, wins over everything\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * @return {Boolean}\n */ shouldCache: function() {\n return false;\n },\n /**\n * Check if this group or its parent group are caching, recursively up\n * @return {Boolean}\n */ isOnACache: function() {\n return false;\n },\n /**\n * Renders controls and borders for the object\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [styleOverride] properties to override the object style\n * @param {Object} [childrenOverride] properties to override the children overrides\n */ _renderControls: function(ctx, styleOverride, childrenOverride) {\n ctx.save();\n ctx.globalAlpha = this.isMoving ? this.borderOpacityWhenMoving : 1;\n this.callSuper(\"_renderControls\", ctx, styleOverride);\n childrenOverride = childrenOverride || {};\n if (typeof childrenOverride.hasControls === \"undefined\") {\n childrenOverride.hasControls = false;\n }\n childrenOverride.forActiveSelection = true;\n for(var i = 0, len = this._objects.length; i < len; i++){\n this._objects[i]._renderControls(ctx, childrenOverride);\n }\n ctx.restore();\n }\n });\n /**\n * Returns {@link fabric.ActiveSelection} instance from an object representation\n * @static\n * @memberOf fabric.ActiveSelection\n * @param {Object} object Object to create a group from\n * @param {Function} [callback] Callback to invoke when an ActiveSelection instance is created\n */ fabric.ActiveSelection.fromObject = function(object, callback) {\n fabric.util.enlivenObjects(object.objects, function(enlivenedObjects) {\n delete object.objects;\n callback && callback(new fabric.ActiveSelection(enlivenedObjects, object, true));\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var extend = fabric.util.object.extend;\n if (!global.fabric) {\n global.fabric = {};\n }\n if (global.fabric.Image) {\n fabric.warn(\"fabric.Image is already defined.\");\n return;\n }\n /**\n * Image class\n * @class fabric.Image\n * @extends fabric.Object\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-1#images}\n * @see {@link fabric.Image#initialize} for constructor definition\n */ fabric.Image = fabric.util.createClass(fabric.Object, /** @lends fabric.Image.prototype */ {\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"image\",\n /**\n * Width of a stroke.\n * For image quality a stroke multiple of 2 gives better results.\n * @type Number\n * @default\n */ strokeWidth: 0,\n /**\n * When calling {@link fabric.Image.getSrc}, return value from element src with `element.getAttribute('src')`.\n * This allows for relative urls as image src.\n * @since 2.7.0\n * @type Boolean\n * @default\n */ srcFromAttribute: false,\n /**\n * private\n * contains last value of scaleX to detect\n * if the Image got resized after the last Render\n * @type Number\n */ _lastScaleX: 1,\n /**\n * private\n * contains last value of scaleY to detect\n * if the Image got resized after the last Render\n * @type Number\n */ _lastScaleY: 1,\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */ _filterScalingX: 1,\n /**\n * private\n * contains last value of scaling applied by the apply filter chain\n * @type Number\n */ _filterScalingY: 1,\n /**\n * minimum scale factor under which any resizeFilter is triggered to resize the image\n * 0 will disable the automatic resize. 1 will trigger automatically always.\n * number bigger than 1 are not implemented yet.\n * @type Number\n */ minimumScaleTrigger: 0.5,\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(\"cropX\", \"cropY\"),\n /**\n * List of properties to consider when checking if cache needs refresh\n * Those properties are checked by statefullCache ON ( or lazy mode if we want ) or from single\n * calls to Object.set(key, value). If the key is in this list, the object is marked as dirty\n * and refreshed at the next render\n * @type Array\n */ cacheProperties: fabric.Object.prototype.cacheProperties.concat(\"cropX\", \"cropY\"),\n /**\n * key used to retrieve the texture representing this image\n * @since 2.0.0\n * @type String\n * @default\n */ cacheKey: \"\",\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */ cropX: 0,\n /**\n * Image crop in pixels from original image size.\n * @since 2.0.0\n * @type Number\n * @default\n */ cropY: 0,\n /**\n * Indicates whether this canvas will use image smoothing when painting this image.\n * Also influence if the cacheCanvas for this image uses imageSmoothing\n * @since 4.0.0-beta.11\n * @type Boolean\n * @default\n */ imageSmoothing: true,\n /**\n * Constructor\n * Image can be initialized with any canvas drawable or a string.\n * The string should be a url and will be loaded as an image.\n * Canvas and Image element work out of the box, while videos require extra code to work.\n * Please check video element events for seeking.\n * @param {HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | String} element Image element\n * @param {Object} [options] Options object\n * @param {function} [callback] callback function to call after eventual filters applied.\n * @return {fabric.Image} thisArg\n */ initialize: function(element, options) {\n options || (options = {});\n this.filters = [];\n this.cacheKey = \"texture\" + fabric.Object.__uid++;\n this.callSuper(\"initialize\", options);\n this._initElement(element, options);\n },\n /**\n * Returns image element which this instance if based on\n * @return {HTMLImageElement} Image element\n */ getElement: function() {\n return this._element || {};\n },\n /**\n * Sets image element for this instance to a specified one.\n * If filters defined they are applied to new image.\n * You might need to call `canvas.renderAll` and `object.setCoords` after replacing, to render new image and update controls area.\n * @param {HTMLImageElement} element\n * @param {Object} [options] Options object\n * @return {fabric.Image} thisArg\n * @chainable\n */ setElement: function(element, options) {\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + \"_filtered\");\n this._element = element;\n this._originalElement = element;\n this._initConfig(options);\n if (this.filters.length !== 0) {\n this.applyFilters();\n }\n // resizeFilters work on the already filtered copy.\n // we need to apply resizeFilters AFTER normal filters.\n // applyResizeFilters is run more often than normal filters\n // and is triggered by user interactions rather than dev code\n if (this.resizeFilter) {\n this.applyResizeFilters();\n }\n return this;\n },\n /**\n * Delete a single texture if in webgl mode\n */ removeTexture: function(key) {\n var backend = fabric.filterBackend;\n if (backend && backend.evictCachesForKey) {\n backend.evictCachesForKey(key);\n }\n },\n /**\n * Delete textures, reference to elements and eventually JSDOM cleanup\n */ dispose: function() {\n this.callSuper(\"dispose\");\n this.removeTexture(this.cacheKey);\n this.removeTexture(this.cacheKey + \"_filtered\");\n this._cacheContext = undefined;\n [\n \"_originalElement\",\n \"_element\",\n \"_filteredEl\",\n \"_cacheCanvas\"\n ].forEach((function(element) {\n fabric.util.cleanUpJsdomNode(this[element]);\n this[element] = undefined;\n }).bind(this));\n },\n /**\n * Get the crossOrigin value (of the corresponding image element)\n */ getCrossOrigin: function() {\n return this._originalElement && (this._originalElement.crossOrigin || null);\n },\n /**\n * Returns original size of an image\n * @return {Object} Object with \"width\" and \"height\" properties\n */ getOriginalSize: function() {\n var element = this.getElement();\n return {\n width: element.naturalWidth || element.width,\n height: element.naturalHeight || element.height\n };\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _stroke: function(ctx) {\n if (!this.stroke || this.strokeWidth === 0) {\n return;\n }\n var w = this.width / 2, h = this.height / 2;\n ctx.beginPath();\n ctx.moveTo(-w, -h);\n ctx.lineTo(w, -h);\n ctx.lineTo(w, h);\n ctx.lineTo(-w, h);\n ctx.lineTo(-w, -h);\n ctx.closePath();\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var filters = [];\n this.filters.forEach(function(filterObj) {\n if (filterObj) {\n filters.push(filterObj.toObject());\n }\n });\n var object = extend(this.callSuper(\"toObject\", [\n \"cropX\",\n \"cropY\"\n ].concat(propertiesToInclude)), {\n src: this.getSrc(),\n crossOrigin: this.getCrossOrigin(),\n filters: filters\n });\n if (this.resizeFilter) {\n object.resizeFilter = this.resizeFilter.toObject();\n }\n return object;\n },\n /**\n * Returns true if an image has crop applied, inspecting values of cropX,cropY,width,height.\n * @return {Boolean}\n */ hasCrop: function() {\n return this.cropX || this.cropY || this.width < this._element.width || this.height < this._element.height;\n },\n /**\n * Returns source of an image\n * @param {Boolean} filtered indicates if the src is needed for svg\n * @return {String} Source of an image\n */ getSrc: function(filtered) {\n var element = filtered ? this._element : this._originalElement;\n if (element) {\n if (element.toDataURL) {\n return element.toDataURL();\n }\n if (this.srcFromAttribute) {\n return element.getAttribute(\"src\");\n } else {\n return element.src;\n }\n } else {\n return this.src || \"\";\n }\n },\n /**\n * Sets source of an image\n * @param {String} src Source string (URL)\n * @param {Function} [callback] Callback is invoked when image has been loaded (and all filters have been applied)\n * @param {Object} [options] Options object\n * @param {String} [options.crossOrigin] crossOrigin value (one of \"\", \"anonymous\", \"use-credentials\")\n * @see https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes\n * @return {fabric.Image} thisArg\n * @chainable\n */ setSrc: function(src, callback, options) {\n fabric.util.loadImage(src, function(img, isError) {\n this.setElement(img, options);\n this._setWidthHeight();\n callback && callback(this, isError);\n }, this, options && options.crossOrigin);\n return this;\n },\n /**\n * Returns string representation of an instance\n * @return {String} String representation of an instance\n */ toString: function() {\n return '#';\n },\n applyResizeFilters: function() {\n var filter = this.resizeFilter, minimumScale = this.minimumScaleTrigger, objectScale = this.getTotalObjectScaling(), scaleX = objectScale.scaleX, scaleY = objectScale.scaleY, elementToFilter = this._filteredEl || this._originalElement;\n if (this.group) {\n this.set(\"dirty\", true);\n }\n if (!filter || scaleX > minimumScale && scaleY > minimumScale) {\n this._element = elementToFilter;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n this._lastScaleX = scaleX;\n this._lastScaleY = scaleY;\n return;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n var canvasEl = fabric.util.createCanvasElement(), cacheKey = this._filteredEl ? this.cacheKey + \"_filtered\" : this.cacheKey, sourceWidth = elementToFilter.width, sourceHeight = elementToFilter.height;\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._lastScaleX = filter.scaleX = scaleX;\n this._lastScaleY = filter.scaleY = scaleY;\n fabric.filterBackend.applyFilters([\n filter\n ], elementToFilter, sourceWidth, sourceHeight, this._element, cacheKey);\n this._filterScalingX = canvasEl.width / this._originalElement.width;\n this._filterScalingY = canvasEl.height / this._originalElement.height;\n },\n /**\n * Applies filters assigned to this image (from \"filters\" array) or from filter param\n * @method applyFilters\n * @param {Array} filters to be applied\n * @param {Boolean} forResizing specify if the filter operation is a resize operation\n * @return {thisArg} return the fabric.Image object\n * @chainable\n */ applyFilters: function(filters) {\n filters = filters || this.filters || [];\n filters = filters.filter(function(filter) {\n return filter && !filter.isNeutralState();\n });\n this.set(\"dirty\", true);\n // needs to clear out or WEBGL will not resize correctly\n this.removeTexture(this.cacheKey + \"_filtered\");\n if (filters.length === 0) {\n this._element = this._originalElement;\n this._filteredEl = null;\n this._filterScalingX = 1;\n this._filterScalingY = 1;\n return this;\n }\n var imgElement = this._originalElement, sourceWidth = imgElement.naturalWidth || imgElement.width, sourceHeight = imgElement.naturalHeight || imgElement.height;\n if (this._element === this._originalElement) {\n // if the element is the same we need to create a new element\n var canvasEl = fabric.util.createCanvasElement();\n canvasEl.width = sourceWidth;\n canvasEl.height = sourceHeight;\n this._element = canvasEl;\n this._filteredEl = canvasEl;\n } else {\n // clear the existing element to get new filter data\n // also dereference the eventual resized _element\n this._element = this._filteredEl;\n this._filteredEl.getContext(\"2d\").clearRect(0, 0, sourceWidth, sourceHeight);\n // we also need to resize again at next renderAll, so remove saved _lastScaleX/Y\n this._lastScaleX = 1;\n this._lastScaleY = 1;\n }\n if (!fabric.filterBackend) {\n fabric.filterBackend = fabric.initFilterBackend();\n }\n fabric.filterBackend.applyFilters(filters, this._originalElement, sourceWidth, sourceHeight, this._element, this.cacheKey);\n if (this._originalElement.width !== this._element.width || this._originalElement.height !== this._element.height) {\n this._filterScalingX = this._element.width / this._originalElement.width;\n this._filterScalingY = this._element.height / this._originalElement.height;\n }\n return this;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n if (this.isMoving !== true && this.resizeFilter && this._needsResize()) {\n this.applyResizeFilters();\n }\n this._stroke(ctx);\n this._renderPaintInOrder(ctx);\n },\n /**\n * Paint the cached copy of the object on the target context.\n * it will set the imageSmoothing for the draw operation\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ drawCacheOnCanvas: function(ctx) {\n fabric.util.setImageSmoothing(ctx, this.imageSmoothing);\n fabric.Object.prototype.drawCacheOnCanvas.call(this, ctx);\n },\n /**\n * Decide if the object should cache or not. Create its own cache level\n * needsItsOwnCache should be used when the object drawing method requires\n * a cache step. None of the fabric classes requires it.\n * Generally you do not cache objects in groups because the group outside is cached.\n * This is the special image version where we would like to avoid caching where possible.\n * Essentially images do not benefit from caching. They may require caching, and in that\n * case we do it. Also caching an image usually ends in a loss of details.\n * A full performance audit should be done.\n * @return {Boolean}\n */ shouldCache: function() {\n return this.needsItsOwnCache();\n },\n _renderFill: function(ctx) {\n var elementToDraw = this._element;\n if (!elementToDraw) {\n return;\n }\n var scaleX = this._filterScalingX, scaleY = this._filterScalingY, w = this.width, h = this.height, min = Math.min, max = Math.max, // crop values cannot be lesser than 0.\n cropX = max(this.cropX, 0), cropY = max(this.cropY, 0), elWidth = elementToDraw.naturalWidth || elementToDraw.width, elHeight = elementToDraw.naturalHeight || elementToDraw.height, sX = cropX * scaleX, sY = cropY * scaleY, // the width height cannot exceed element width/height, starting from the crop offset.\n sW = min(w * scaleX, elWidth - sX), sH = min(h * scaleY, elHeight - sY), x = -w / 2, y = -h / 2, maxDestW = min(w, elWidth / scaleX - cropX), maxDestH = min(h, elHeight / scaleY - cropY);\n elementToDraw && ctx.drawImage(elementToDraw, sX, sY, sW, sH, x, y, maxDestW, maxDestH);\n },\n /**\n * needed to check if image needs resize\n * @private\n */ _needsResize: function() {\n var scale = this.getTotalObjectScaling();\n return scale.scaleX !== this._lastScaleX || scale.scaleY !== this._lastScaleY;\n },\n /**\n * @private\n */ _resetWidthHeight: function() {\n this.set(this.getOriginalSize());\n },\n /**\n * The Image class's initialization method. This method is automatically\n * called by the constructor.\n * @private\n * @param {HTMLImageElement|String} element The element representing the image\n * @param {Object} [options] Options object\n */ _initElement: function(element, options) {\n this.setElement(fabric.util.getById(element), options);\n fabric.util.addClass(this.getElement(), fabric.Image.CSS_CANVAS);\n },\n /**\n * @private\n * @param {Object} [options] Options object\n */ _initConfig: function(options) {\n options || (options = {});\n this.setOptions(options);\n this._setWidthHeight(options);\n },\n /**\n * @private\n * @param {Array} filters to be initialized\n * @param {Function} callback Callback to invoke when all fabric.Image.filters instances are created\n */ _initFilters: function(filters, callback) {\n if (filters && filters.length) {\n fabric.util.enlivenObjects(filters, function(enlivenedObjects) {\n callback && callback(enlivenedObjects);\n }, \"fabric.Image.filters\");\n } else {\n callback && callback();\n }\n },\n /**\n * @private\n * Set the width and the height of the image object, using the element or the\n * options.\n * @param {Object} [options] Object with width/height properties\n */ _setWidthHeight: function(options) {\n options || (options = {});\n var el = this.getElement();\n this.width = options.width || el.naturalWidth || el.width || 0;\n this.height = options.height || el.naturalHeight || el.height || 0;\n },\n /**\n * Calculate offset for center and scale factor for the image in order to respect\n * the preserveAspectRatio attribute\n * @private\n * @return {Object}\n */ parsePreserveAspectRatioAttribute: function() {\n var pAR = fabric.util.parsePreserveAspectRatioAttribute(this.preserveAspectRatio || \"\"), rWidth = this._element.width, rHeight = this._element.height, scaleX = 1, scaleY = 1, offsetLeft = 0, offsetTop = 0, cropX = 0, cropY = 0, offset, pWidth = this.width, pHeight = this.height, parsedAttributes = {\n width: pWidth,\n height: pHeight\n };\n if (pAR && (pAR.alignX !== \"none\" || pAR.alignY !== \"none\")) {\n if (pAR.meetOrSlice === \"meet\") {\n scaleX = scaleY = fabric.util.findScaleToFit(this._element, parsedAttributes);\n offset = (pWidth - rWidth * scaleX) / 2;\n if (pAR.alignX === \"Min\") {\n offsetLeft = -offset;\n }\n if (pAR.alignX === \"Max\") {\n offsetLeft = offset;\n }\n offset = (pHeight - rHeight * scaleY) / 2;\n if (pAR.alignY === \"Min\") {\n offsetTop = -offset;\n }\n if (pAR.alignY === \"Max\") {\n offsetTop = offset;\n }\n }\n if (pAR.meetOrSlice === \"slice\") {\n scaleX = scaleY = fabric.util.findScaleToCover(this._element, parsedAttributes);\n offset = rWidth - pWidth / scaleX;\n if (pAR.alignX === \"Mid\") {\n cropX = offset / 2;\n }\n if (pAR.alignX === \"Max\") {\n cropX = offset;\n }\n offset = rHeight - pHeight / scaleY;\n if (pAR.alignY === \"Mid\") {\n cropY = offset / 2;\n }\n if (pAR.alignY === \"Max\") {\n cropY = offset;\n }\n rWidth = pWidth / scaleX;\n rHeight = pHeight / scaleY;\n }\n } else {\n scaleX = pWidth / rWidth;\n scaleY = pHeight / rHeight;\n }\n return {\n width: rWidth,\n height: rHeight,\n scaleX: scaleX,\n scaleY: scaleY,\n offsetLeft: offsetLeft,\n offsetTop: offsetTop,\n cropX: cropX,\n cropY: cropY\n };\n }\n });\n /**\n * Default CSS class name for canvas\n * @static\n * @type String\n * @default\n */ fabric.Image.CSS_CANVAS = \"canvas-img\";\n /**\n * Alias for getSrc\n * @static\n */ fabric.Image.prototype.getSvgSrc = fabric.Image.prototype.getSrc;\n /**\n * Creates an instance of fabric.Image from its object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} callback Callback to invoke when an image instance is created\n */ fabric.Image.fromObject = function(_object, callback) {\n var object = fabric.util.object.clone(_object);\n fabric.util.loadImage(object.src, function(img, isError) {\n if (isError) {\n callback && callback(null, true);\n return;\n }\n fabric.Image.prototype._initFilters.call(object, object.filters, function(filters) {\n object.filters = filters || [];\n fabric.Image.prototype._initFilters.call(object, [\n object.resizeFilter\n ], function(resizeFilters) {\n object.resizeFilter = resizeFilters[0];\n fabric.util.enlivenObjectEnlivables(object, object, function() {\n var image = new fabric.Image(img, object);\n callback(image, false);\n });\n });\n });\n }, null, object.crossOrigin);\n };\n /**\n * Creates an instance of fabric.Image from an URL string\n * @static\n * @param {String} url URL to create an image from\n * @param {Function} [callback] Callback to invoke when image is created (newly created image is passed as a first argument). Second argument is a boolean indicating if an error occurred or not.\n * @param {Object} [imgOptions] Options object\n */ fabric.Image.fromURL = function(url, callback, imgOptions) {\n fabric.util.loadImage(url, function(img, isError) {\n callback && callback(new fabric.Image(img, imgOptions), isError);\n }, null, imgOptions && imgOptions.crossOrigin);\n };\n})( true ? exports : 0);\n(function() {\n \"use strict\";\n /**\n * Tests if webgl supports certain precision\n * @param {WebGL} Canvas WebGL context to test on\n * @param {String} Precision to test can be any of following: 'lowp', 'mediump', 'highp'\n * @returns {Boolean} Whether the user's browser WebGL supports given precision.\n */ function testPrecision(gl, precision) {\n var fragmentSource = \"precision \" + precision + \" float;\\nvoid main(){}\";\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n return false;\n }\n return true;\n }\n /**\n * Indicate whether this filtering backend is supported by the user's browser.\n * @param {Number} tileSize check if the tileSize is supported\n * @returns {Boolean} Whether the user's browser supports WebGL.\n */ fabric.isWebglSupported = function(tileSize) {\n if (fabric.isLikelyNode) {\n return false;\n }\n tileSize = tileSize || fabric.WebglFilterBackend.prototype.tileSize;\n var canvas = document.createElement(\"canvas\");\n var gl = canvas.getContext(\"webgl\") || canvas.getContext(\"experimental-webgl\");\n var isSupported = false;\n // eslint-disable-next-line\n if (gl) {\n fabric.maxTextureSize = gl.getParameter(gl.MAX_TEXTURE_SIZE);\n isSupported = fabric.maxTextureSize >= tileSize;\n var precisions = [\n \"highp\",\n \"mediump\",\n \"lowp\"\n ];\n for(var i = 0; i < 3; i++){\n if (testPrecision(gl, precisions[i])) {\n fabric.webGlPrecision = precisions[i];\n break;\n }\n ;\n }\n }\n this.isSupported = isSupported;\n return isSupported;\n };\n fabric.WebglFilterBackend = WebglFilterBackend;\n /**\n * WebGL filter backend.\n */ function WebglFilterBackend(options) {\n if (options && options.tileSize) {\n this.tileSize = options.tileSize;\n }\n this.setupGLContext(this.tileSize, this.tileSize);\n this.captureGPUInfo();\n }\n ;\n WebglFilterBackend.prototype = /** @lends fabric.WebglFilterBackend.prototype */ {\n tileSize: 2048,\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/ resources: {},\n /**\n * Setup a WebGL context suitable for filtering, and bind any needed event handlers.\n */ setupGLContext: function(width, height) {\n this.dispose();\n this.createWebGLCanvas(width, height);\n // eslint-disable-next-line\n this.aPosition = new Float32Array([\n 0,\n 0,\n 0,\n 1,\n 1,\n 0,\n 1,\n 1\n ]);\n this.chooseFastestCopyGLTo2DMethod(width, height);\n },\n /**\n * Pick a method to copy data from GL context to 2d canvas. In some browsers using\n * putImageData is faster than drawImage for that specific operation.\n */ chooseFastestCopyGLTo2DMethod: function(width, height) {\n var canMeasurePerf = typeof window.performance !== \"undefined\", canUseImageData;\n try {\n new ImageData(1, 1);\n canUseImageData = true;\n } catch (e) {\n canUseImageData = false;\n }\n // eslint-disable-next-line no-undef\n var canUseArrayBuffer = typeof ArrayBuffer !== \"undefined\";\n // eslint-disable-next-line no-undef\n var canUseUint8Clamped = typeof Uint8ClampedArray !== \"undefined\";\n if (!(canMeasurePerf && canUseImageData && canUseArrayBuffer && canUseUint8Clamped)) {\n return;\n }\n var targetCanvas = fabric.util.createCanvasElement();\n // eslint-disable-next-line no-undef\n var imageBuffer = new ArrayBuffer(width * height * 4);\n if (fabric.forceGLPutImageData) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n return;\n }\n var testContext = {\n imageBuffer: imageBuffer,\n destinationWidth: width,\n destinationHeight: height,\n targetCanvas: targetCanvas\n };\n var startTime, drawImageTime, putImageDataTime;\n targetCanvas.width = width;\n targetCanvas.height = height;\n startTime = window.performance.now();\n copyGLTo2DDrawImage.call(testContext, this.gl, testContext);\n drawImageTime = window.performance.now() - startTime;\n startTime = window.performance.now();\n copyGLTo2DPutImageData.call(testContext, this.gl, testContext);\n putImageDataTime = window.performance.now() - startTime;\n if (drawImageTime > putImageDataTime) {\n this.imageBuffer = imageBuffer;\n this.copyGLTo2D = copyGLTo2DPutImageData;\n } else {\n this.copyGLTo2D = copyGLTo2DDrawImage;\n }\n },\n /**\n * Create a canvas element and associated WebGL context and attaches them as\n * class properties to the GLFilterBackend class.\n */ createWebGLCanvas: function(width, height) {\n var canvas = fabric.util.createCanvasElement();\n canvas.width = width;\n canvas.height = height;\n var glOptions = {\n alpha: true,\n premultipliedAlpha: false,\n depth: false,\n stencil: false,\n antialias: false\n }, gl = canvas.getContext(\"webgl\", glOptions);\n if (!gl) {\n gl = canvas.getContext(\"experimental-webgl\", glOptions);\n }\n if (!gl) {\n return;\n }\n gl.clearColor(0, 0, 0, 0);\n // this canvas can fire webglcontextlost and webglcontextrestored\n this.canvas = canvas;\n this.gl = gl;\n },\n /**\n * Attempts to apply the requested filters to the source provided, drawing the filtered output\n * to the provided target canvas.\n *\n * @param {Array} filters The filters to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} source The source to be filtered.\n * @param {Number} width The width of the source input.\n * @param {Number} height The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n * @param {String|undefined} cacheKey A key used to cache resources related to the source. If\n * omitted, caching will be skipped.\n */ applyFilters: function(filters, source, width, height, targetCanvas, cacheKey) {\n var gl = this.gl;\n var cachedTexture;\n if (cacheKey) {\n cachedTexture = this.getCachedTexture(cacheKey, source);\n }\n var pipelineState = {\n originalWidth: source.width || source.originalWidth,\n originalHeight: source.height || source.originalHeight,\n sourceWidth: width,\n sourceHeight: height,\n destinationWidth: width,\n destinationHeight: height,\n context: gl,\n sourceTexture: this.createTexture(gl, width, height, !cachedTexture && source),\n targetTexture: this.createTexture(gl, width, height),\n originalTexture: cachedTexture || this.createTexture(gl, width, height, !cachedTexture && source),\n passes: filters.length,\n webgl: true,\n aPosition: this.aPosition,\n programCache: this.programCache,\n pass: 0,\n filterBackend: this,\n targetCanvas: targetCanvas\n };\n var tempFbo = gl.createFramebuffer();\n gl.bindFramebuffer(gl.FRAMEBUFFER, tempFbo);\n filters.forEach(function(filter) {\n filter && filter.applyTo(pipelineState);\n });\n resizeCanvasIfNeeded(pipelineState);\n this.copyGLTo2D(gl, pipelineState);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.deleteTexture(pipelineState.sourceTexture);\n gl.deleteTexture(pipelineState.targetTexture);\n gl.deleteFramebuffer(tempFbo);\n targetCanvas.getContext(\"2d\").setTransform(1, 0, 0, 1, 0, 0);\n return pipelineState;\n },\n /**\n * Detach event listeners, remove references, and clean up caches.\n */ dispose: function() {\n if (this.canvas) {\n this.canvas = null;\n this.gl = null;\n }\n this.clearWebGLCaches();\n },\n /**\n * Wipe out WebGL-related caches.\n */ clearWebGLCaches: function() {\n this.programCache = {};\n this.textureCache = {};\n },\n /**\n * Create a WebGL texture object.\n *\n * Accepts specific dimensions to initialize the texture to or a source image.\n *\n * @param {WebGLRenderingContext} gl The GL context to use for creating the texture.\n * @param {Number} width The width to initialize the texture at.\n * @param {Number} height The height to initialize the texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source for the texture data.\n * @returns {WebGLTexture}\n */ createTexture: function(gl, width, height, textureImageSource) {\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n if (textureImageSource) {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, textureImageSource);\n } else {\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);\n }\n return texture;\n },\n /**\n * Can be optionally used to get a texture from the cache array\n *\n * If an existing texture is not found, a new texture is created and cached.\n *\n * @param {String} uniqueId A cache key to use to find an existing texture.\n * @param {HTMLImageElement|HTMLCanvasElement} textureImageSource A source to use to create the\n * texture cache entry if one does not already exist.\n */ getCachedTexture: function(uniqueId, textureImageSource) {\n if (this.textureCache[uniqueId]) {\n return this.textureCache[uniqueId];\n } else {\n var texture = this.createTexture(this.gl, textureImageSource.width, textureImageSource.height, textureImageSource);\n this.textureCache[uniqueId] = texture;\n return texture;\n }\n },\n /**\n * Clear out cached resources related to a source image that has been\n * filtered previously.\n *\n * @param {String} cacheKey The cache key provided when the source image was filtered.\n */ evictCachesForKey: function(cacheKey) {\n if (this.textureCache[cacheKey]) {\n this.gl.deleteTexture(this.textureCache[cacheKey]);\n delete this.textureCache[cacheKey];\n }\n },\n copyGLTo2D: copyGLTo2DDrawImage,\n /**\n * Attempt to extract GPU information strings from a WebGL context.\n *\n * Useful information when debugging or blacklisting specific GPUs.\n *\n * @returns {Object} A GPU info object with renderer and vendor strings.\n */ captureGPUInfo: function() {\n if (this.gpuInfo) {\n return this.gpuInfo;\n }\n var gl = this.gl, gpuInfo = {\n renderer: \"\",\n vendor: \"\"\n };\n if (!gl) {\n return gpuInfo;\n }\n var ext = gl.getExtension(\"WEBGL_debug_renderer_info\");\n if (ext) {\n var renderer = gl.getParameter(ext.UNMASKED_RENDERER_WEBGL);\n var vendor = gl.getParameter(ext.UNMASKED_VENDOR_WEBGL);\n if (renderer) {\n gpuInfo.renderer = renderer.toLowerCase();\n }\n if (vendor) {\n gpuInfo.vendor = vendor.toLowerCase();\n }\n }\n this.gpuInfo = gpuInfo;\n return gpuInfo;\n }\n };\n})();\nfunction resizeCanvasIfNeeded(pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, width = targetCanvas.width, height = targetCanvas.height, dWidth = pipelineState.destinationWidth, dHeight = pipelineState.destinationHeight;\n if (width !== dWidth || height !== dHeight) {\n targetCanvas.width = dWidth;\n targetCanvas.height = dHeight;\n }\n}\n/**\n * Copy an input WebGL canvas on to an output 2D canvas.\n *\n * The WebGL canvas is assumed to be upside down, with the top-left pixel of the\n * desired output image appearing in the bottom-left corner of the WebGL canvas.\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */ function copyGLTo2DDrawImage(gl, pipelineState) {\n var glCanvas = gl.canvas, targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext(\"2d\");\n ctx.translate(0, targetCanvas.height); // move it down again\n ctx.scale(1, -1); // vertical flip\n // where is my image on the big glcanvas?\n var sourceY = glCanvas.height - targetCanvas.height;\n ctx.drawImage(glCanvas, 0, sourceY, targetCanvas.width, targetCanvas.height, 0, 0, targetCanvas.width, targetCanvas.height);\n}\n/**\n * Copy an input WebGL canvas on to an output 2D canvas using 2d canvas' putImageData\n * API. Measurably faster than using ctx.drawImage in Firefox (version 54 on OSX Sierra).\n *\n * @param {WebGLRenderingContext} sourceContext The WebGL context to copy from.\n * @param {HTMLCanvasElement} targetCanvas The 2D target canvas to copy on to.\n * @param {Object} pipelineState The 2D target canvas to copy on to.\n */ function copyGLTo2DPutImageData(gl, pipelineState) {\n var targetCanvas = pipelineState.targetCanvas, ctx = targetCanvas.getContext(\"2d\"), dWidth = pipelineState.destinationWidth, dHeight = pipelineState.destinationHeight, numBytes = dWidth * dHeight * 4;\n // eslint-disable-next-line no-undef\n var u8 = new Uint8Array(this.imageBuffer, 0, numBytes);\n // eslint-disable-next-line no-undef\n var u8Clamped = new Uint8ClampedArray(this.imageBuffer, 0, numBytes);\n gl.readPixels(0, 0, dWidth, dHeight, gl.RGBA, gl.UNSIGNED_BYTE, u8);\n var imgData = new ImageData(u8Clamped, dWidth, dHeight);\n ctx.putImageData(imgData, 0, 0);\n}\n(function() {\n \"use strict\";\n var noop = function() {};\n fabric.Canvas2dFilterBackend = Canvas2dFilterBackend;\n /**\n * Canvas 2D filter backend.\n */ function Canvas2dFilterBackend() {}\n ;\n Canvas2dFilterBackend.prototype = /** @lends fabric.Canvas2dFilterBackend.prototype */ {\n evictCachesForKey: noop,\n dispose: noop,\n clearWebGLCaches: noop,\n /**\n * Experimental. This object is a sort of repository of help layers used to avoid\n * of recreating them during frequent filtering. If you are previewing a filter with\n * a slider you probably do not want to create help layers every filter step.\n * in this object there will be appended some canvases, created once, resized sometimes\n * cleared never. Clearing is left to the developer.\n **/ resources: {},\n /**\n * Apply a set of filters against a source image and draw the filtered output\n * to the provided destination canvas.\n *\n * @param {EnhancedFilter} filters The filter to apply.\n * @param {HTMLImageElement|HTMLCanvasElement} sourceElement The source to be filtered.\n * @param {Number} sourceWidth The width of the source input.\n * @param {Number} sourceHeight The height of the source input.\n * @param {HTMLCanvasElement} targetCanvas The destination for filtered output to be drawn.\n */ applyFilters: function(filters, sourceElement, sourceWidth, sourceHeight, targetCanvas) {\n var ctx = targetCanvas.getContext(\"2d\");\n ctx.drawImage(sourceElement, 0, 0, sourceWidth, sourceHeight);\n var imageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var originalImageData = ctx.getImageData(0, 0, sourceWidth, sourceHeight);\n var pipelineState = {\n sourceWidth: sourceWidth,\n sourceHeight: sourceHeight,\n imageData: imageData,\n originalEl: sourceElement,\n originalImageData: originalImageData,\n canvasEl: targetCanvas,\n ctx: ctx,\n filterBackend: this\n };\n filters.forEach(function(filter) {\n filter.applyTo(pipelineState);\n });\n if (pipelineState.imageData.width !== sourceWidth || pipelineState.imageData.height !== sourceHeight) {\n targetCanvas.width = pipelineState.imageData.width;\n targetCanvas.height = pipelineState.imageData.height;\n }\n ctx.putImageData(pipelineState.imageData, 0, 0);\n return pipelineState;\n }\n };\n})();\n/**\n * @namespace fabric.Image.filters\n * @memberOf fabric.Image\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#image_filters}\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n */ fabric.Image = fabric.Image || {};\nfabric.Image.filters = fabric.Image.filters || {};\n/**\n * Root filter class from which all filter classes inherit from\n * @class fabric.Image.filters.BaseFilter\n * @memberOf fabric.Image.filters\n */ fabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Image.filters.BaseFilter.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"BaseFilter\",\n /**\n * Array of attributes to send with buffers. do not modify\n * @private\n */ vertexSource: \"attribute vec2 aPosition;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vTexCoord = aPosition;\\n\" + \"gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n\" + \"}\",\n fragmentSource: \"precision highp float;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"void main() {\\n\" + \"gl_FragColor = texture2D(uTexture, vTexCoord);\\n\" + \"}\",\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n if (options) {\n this.setOptions(options);\n }\n },\n /**\n * Sets filter's properties from options\n * @param {Object} [options] Options object\n */ setOptions: function(options) {\n for(var prop in options){\n this[prop] = options[prop];\n }\n },\n /**\n * Compile this filter's shader program.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context to use for shader compilation.\n * @param {String} fragmentSource fragmentShader source for compilation\n * @param {String} vertexSource vertexShader source for compilation\n */ createProgram: function(gl, fragmentSource, vertexSource) {\n fragmentSource = fragmentSource || this.fragmentSource;\n vertexSource = vertexSource || this.vertexSource;\n if (fabric.webGlPrecision !== \"highp\") {\n fragmentSource = fragmentSource.replace(/precision highp float/g, \"precision \" + fabric.webGlPrecision + \" float\");\n }\n var vertexShader = gl.createShader(gl.VERTEX_SHADER);\n gl.shaderSource(vertexShader, vertexSource);\n gl.compileShader(vertexShader);\n if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n \"Vertex shader compile error for \" + this.type + \": \" + gl.getShaderInfoLog(vertexShader));\n }\n var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);\n gl.shaderSource(fragmentShader, fragmentSource);\n gl.compileShader(fragmentShader);\n if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n \"Fragment shader compile error for \" + this.type + \": \" + gl.getShaderInfoLog(fragmentShader));\n }\n var program = gl.createProgram();\n gl.attachShader(program, vertexShader);\n gl.attachShader(program, fragmentShader);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n throw new Error(// eslint-disable-next-line prefer-template\n 'Shader link error for \"${this.type}\" ' + gl.getProgramInfoLog(program));\n }\n var attributeLocations = this.getAttributeLocations(gl, program);\n var uniformLocations = this.getUniformLocations(gl, program) || {};\n uniformLocations.uStepW = gl.getUniformLocation(program, \"uStepW\");\n uniformLocations.uStepH = gl.getUniformLocation(program, \"uStepH\");\n return {\n program: program,\n attributeLocations: attributeLocations,\n uniformLocations: uniformLocations\n };\n },\n /**\n * Return a map of attribute names to WebGLAttributeLocation objects.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take attribute locations.\n * @returns {Object} A map of attribute names to attribute locations.\n */ getAttributeLocations: function(gl, program) {\n return {\n aPosition: gl.getAttribLocation(program, \"aPosition\")\n };\n },\n /**\n * Return a map of uniform names to WebGLUniformLocation objects.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {WebGLShaderProgram} program The shader program from which to take uniform locations.\n * @returns {Object} A map of uniform names to uniform locations.\n */ getUniformLocations: function() {\n // in case i do not need any special uniform i need to return an empty object\n return {};\n },\n /**\n * Send attribute data from this filter to its shader program on the GPU.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} attributeLocations A map of shader attribute names to their locations.\n */ sendAttributeData: function(gl, attributeLocations, aPositionData) {\n var attributeLocation = attributeLocations.aPosition;\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.enableVertexAttribArray(attributeLocation);\n gl.vertexAttribPointer(attributeLocation, 2, gl.FLOAT, false, 0, 0);\n gl.bufferData(gl.ARRAY_BUFFER, aPositionData, gl.STATIC_DRAW);\n },\n _setupFrameBuffer: function(options) {\n var gl = options.context, width, height;\n if (options.passes > 1) {\n width = options.destinationWidth;\n height = options.destinationHeight;\n if (options.sourceWidth !== width || options.sourceHeight !== height) {\n gl.deleteTexture(options.targetTexture);\n options.targetTexture = options.filterBackend.createTexture(gl, width, height);\n }\n gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, options.targetTexture, 0);\n } else {\n // draw last filter on canvas and not to framebuffer.\n gl.bindFramebuffer(gl.FRAMEBUFFER, null);\n gl.finish();\n }\n },\n _swapTextures: function(options) {\n options.passes--;\n options.pass++;\n var temp = options.targetTexture;\n options.targetTexture = options.sourceTexture;\n options.sourceTexture = temp;\n },\n /**\n * Generic isNeutral implementation for one parameter based filters.\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * Other filters may need their own version ( ColorMatrix, HueRotation, gamma, ComposedFilter )\n * @param {Object} options\n **/ isNeutralState: function() {\n var main = this.mainParameter, _class = fabric.Image.filters[this.type].prototype;\n if (main) {\n if (Array.isArray(_class[main])) {\n for(var i = _class[main].length; i--;){\n if (this[main][i] !== _class[main][i]) {\n return false;\n }\n }\n return true;\n } else {\n return _class[main] === this[main];\n }\n } else {\n return false;\n }\n },\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n if (options.webgl) {\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n } else {\n this.applyTo2d(options);\n }\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n if (!options.programCache.hasOwnProperty(this.type)) {\n options.programCache[this.type] = this.createProgram(options.context);\n }\n return options.programCache[this.type];\n },\n /**\n * Apply this filter using webgl.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.originalTexture The texture of the original input image.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyToWebGL: function(options) {\n var gl = options.context;\n var shader = this.retrieveShader(options);\n if (options.pass === 0 && options.originalTexture) {\n gl.bindTexture(gl.TEXTURE_2D, options.originalTexture);\n } else {\n gl.bindTexture(gl.TEXTURE_2D, options.sourceTexture);\n }\n gl.useProgram(shader.program);\n this.sendAttributeData(gl, shader.attributeLocations, options.aPosition);\n gl.uniform1f(shader.uniformLocations.uStepW, 1 / options.sourceWidth);\n gl.uniform1f(shader.uniformLocations.uStepH, 1 / options.sourceHeight);\n this.sendUniformData(gl, shader.uniformLocations);\n gl.viewport(0, 0, options.destinationWidth, options.destinationHeight);\n gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);\n },\n bindAdditionalTexture: function(gl, texture, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, texture);\n // reset active texture to 0 as usual\n gl.activeTexture(gl.TEXTURE0);\n },\n unbindAdditionalTexture: function(gl, textureUnit) {\n gl.activeTexture(textureUnit);\n gl.bindTexture(gl.TEXTURE_2D, null);\n gl.activeTexture(gl.TEXTURE0);\n },\n getMainParameter: function() {\n return this[this.mainParameter];\n },\n setMainParameter: function(value) {\n this[this.mainParameter] = value;\n },\n /**\n * Send uniform data from this filter to its shader program on the GPU.\n *\n * Intended to be overridden by subclasses.\n *\n * @param {WebGLRenderingContext} gl The canvas context used to compile the shader program.\n * @param {Object} uniformLocations A map of shader uniform names to their locations.\n */ sendUniformData: function() {\n // Intentionally left blank. Override me in subclasses.\n },\n /**\n * If needed by a 2d filter, this functions can create an helper canvas to be used\n * remember that options.targetCanvas is available for use till end of chain.\n */ createHelpLayer: function(options) {\n if (!options.helpLayer) {\n var helpLayer = document.createElement(\"canvas\");\n helpLayer.width = options.sourceWidth;\n helpLayer.height = options.sourceHeight;\n options.helpLayer = helpLayer;\n }\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n var object = {\n type: this.type\n }, mainP = this.mainParameter;\n if (mainP) {\n object[mainP] = this[mainP];\n }\n return object;\n },\n /**\n * Returns a JSON representation of an instance\n * @return {Object} JSON\n */ toJSON: function() {\n // delegate, not alias\n return this.toObject();\n }\n});\nfabric.Image.filters.BaseFilter.fromObject = function(object, callback) {\n var filter = new fabric.Image.filters[object.type](object);\n callback && callback(filter);\n return filter;\n};\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Color Matrix filter class\n * @class fabric.Image.filters.ColorMatrix\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.ColorMatrix#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @see {@Link http://www.webwasp.co.uk/tutorials/219/Color_Matrix_Filter.php}\n * @see {@Link http://phoboslab.org/log/2013/11/fast-image-filters-with-webgl}\n * @example Kodachrome filter\n * var filter = new fabric.Image.filters.ColorMatrix({\n * matrix: [\n 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502,\n -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203,\n -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946,\n 0, 0, 0, 1, 0\n ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.ColorMatrix = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.ColorMatrix.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"ColorMatrix\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"uniform mat4 uColorMatrix;\\n\" + \"uniform vec4 uConstants;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color *= uColorMatrix;\\n\" + \"color += uConstants;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Colormatrix for pixels.\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Array} matrix array of 20 numbers.\n * @default\n */ matrix: [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n mainParameter: \"matrix\",\n /**\n * Lock the colormatrix on the color part, skipping alpha, mainly for non webgl scenario\n * to save some calculation\n * @type Boolean\n * @default true\n */ colorsOnly: true,\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n // create a new array instead mutating the prototype with push\n this.matrix = this.matrix.slice(0);\n },\n /**\n * Apply the ColorMatrix operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = data.length, m = this.matrix, r, g, b, a, i, colorsOnly = this.colorsOnly;\n for(i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (colorsOnly) {\n data[i] = r * m[0] + g * m[1] + b * m[2] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + m[14] * 255;\n } else {\n a = data[i + 3];\n data[i] = r * m[0] + g * m[1] + b * m[2] + a * m[3] + m[4] * 255;\n data[i + 1] = r * m[5] + g * m[6] + b * m[7] + a * m[8] + m[9] * 255;\n data[i + 2] = r * m[10] + g * m[11] + b * m[12] + a * m[13] + m[14] * 255;\n data[i + 3] = r * m[15] + g * m[16] + b * m[17] + a * m[18] + m[19] * 255;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uColorMatrix: gl.getUniformLocation(program, \"uColorMatrix\"),\n uConstants: gl.getUniformLocation(program, \"uConstants\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var m = this.matrix, matrix = [\n m[0],\n m[1],\n m[2],\n m[3],\n m[5],\n m[6],\n m[7],\n m[8],\n m[10],\n m[11],\n m[12],\n m[13],\n m[15],\n m[16],\n m[17],\n m[18]\n ], constants = [\n m[4],\n m[9],\n m[14],\n m[19]\n ];\n gl.uniformMatrix4fv(uniformLocations.uColorMatrix, false, matrix);\n gl.uniform4fv(uniformLocations.uConstants, constants);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] function to invoke after filter creation\n * @return {fabric.Image.filters.ColorMatrix} Instance of fabric.Image.filters.ColorMatrix\n */ fabric.Image.filters.ColorMatrix.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Brightness filter class\n * @class fabric.Image.filters.Brightness\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Brightness#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Brightness({\n * brightness: 0.05\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Brightness = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Brightness.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Brightness\",\n /**\n * Fragment source for the brightness program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uBrightness;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color.rgb += uBrightness;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Brightness value, from -1 to 1.\n * translated to -255 to 255 for 2d\n * 0.0039215686 is the part of 1 that get translated to 1 in 2d\n * @param {Number} brightness\n * @default\n */ brightness: 0,\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"brightness\",\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.brightness === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, i, len = data.length, brightness = Math.round(this.brightness * 255);\n for(i = 0; i < len; i += 4){\n data[i] = data[i] + brightness;\n data[i + 1] = data[i + 1] + brightness;\n data[i + 2] = data[i + 2] + brightness;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uBrightness: gl.getUniformLocation(program, \"uBrightness\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBrightness, this.brightness);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Brightness} Instance of fabric.Image.filters.Brightness\n */ fabric.Image.filters.Brightness.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Adapted from html5rocks article\n * @class fabric.Image.filters.Convolute\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Convolute#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example Sharpen filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 0, -1, 0,\n * -1, 5, -1,\n * 0, -1, 0 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Blur filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9,\n * 1/9, 1/9, 1/9 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter\n * var filter = new fabric.Image.filters.Convolute({\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n * @example Emboss filter with opaqueness\n * var filter = new fabric.Image.filters.Convolute({\n * opaque: true,\n * matrix: [ 1, 1, 1,\n * 1, 0.7, -1,\n * -1, -1, -1 ]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Convolute = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Convolute.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Convolute\",\n /*\n * Opaque value (true/false)\n */ opaque: false,\n /*\n * matrix for the filter, max 9x9\n */ matrix: [\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0\n ],\n /**\n * Fragment source for the brightness program\n */ fragmentSource: {\n Convolute_3_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[9];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 3.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 3.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 1), uStepH * (h - 1));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 3.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_3_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[9];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 3.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 3.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 1.0), uStepH * (h - 1.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 3.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_5_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[25];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 5.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 5.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 5.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_5_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[25];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 5.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 5.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 2.0), uStepH * (h - 2.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 5.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_7_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[49];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 7.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 7.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 7.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_7_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[49];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 7.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 7.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 3.0), uStepH * (h - 3.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 7.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\",\n Convolute_9_1: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[81];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 0);\\n\" + \"for (float h = 0.0; h < 9.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 9.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n\" + \"color += texture2D(uTexture, vTexCoord + matrixPos) * uMatrix[int(h * 9.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n Convolute_9_0: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uMatrix[81];\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0, 0, 0, 1);\\n\" + \"for (float h = 0.0; h < 9.0; h+=1.0) {\\n\" + \"for (float w = 0.0; w < 9.0; w+=1.0) {\\n\" + \"vec2 matrixPos = vec2(uStepW * (w - 4.0), uStepH * (h - 4.0));\\n\" + \"color.rgb += texture2D(uTexture, vTexCoord + matrixPos).rgb * uMatrix[int(h * 9.0 + w)];\\n\" + \"}\\n\" + \"}\\n\" + \"float alpha = texture2D(uTexture, vTexCoord).a;\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.a = alpha;\\n\" + \"}\"\n },\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Convolute.prototype\n * @param {Object} [options] Options object\n * @param {Boolean} [options.opaque=false] Opaque value (true/false)\n * @param {Array} [options.matrix] Filter matrix\n */ /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var size = Math.sqrt(this.matrix.length);\n var cacheKey = this.type + \"_\" + size + \"_\" + (this.opaque ? 1 : 0);\n var shaderSource = this.fragmentSource[cacheKey];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, weights = this.matrix, side = Math.round(Math.sqrt(weights.length)), halfSide = Math.floor(side / 2), sw = imageData.width, sh = imageData.height, output = options.ctx.createImageData(sw, sh), dst = output.data, // go through the destination image pixels\n alphaFac = this.opaque ? 1 : 0, r, g, b, a, dstOff, scx, scy, srcOff, wt, x, y, cx, cy;\n for(y = 0; y < sh; y++){\n for(x = 0; x < sw; x++){\n dstOff = (y * sw + x) * 4;\n // calculate the weighed sum of the source image pixels that\n // fall under the convolution matrix\n r = 0;\n g = 0;\n b = 0;\n a = 0;\n for(cy = 0; cy < side; cy++){\n for(cx = 0; cx < side; cx++){\n scy = y + cy - halfSide;\n scx = x + cx - halfSide;\n // eslint-disable-next-line max-depth\n if (scy < 0 || scy >= sh || scx < 0 || scx >= sw) {\n continue;\n }\n srcOff = (scy * sw + scx) * 4;\n wt = weights[cy * side + cx];\n r += data[srcOff] * wt;\n g += data[srcOff + 1] * wt;\n b += data[srcOff + 2] * wt;\n // eslint-disable-next-line max-depth\n if (!alphaFac) {\n a += data[srcOff + 3] * wt;\n }\n }\n }\n dst[dstOff] = r;\n dst[dstOff + 1] = g;\n dst[dstOff + 2] = b;\n if (!alphaFac) {\n dst[dstOff + 3] = a;\n } else {\n dst[dstOff + 3] = data[dstOff + 3];\n }\n }\n }\n options.imageData = output;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uMatrix: gl.getUniformLocation(program, \"uMatrix\"),\n uOpaque: gl.getUniformLocation(program, \"uOpaque\"),\n uHalfSize: gl.getUniformLocation(program, \"uHalfSize\"),\n uSize: gl.getUniformLocation(program, \"uSize\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1fv(uniformLocations.uMatrix, this.matrix);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n opaque: this.opaque,\n matrix: this.matrix\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Convolute} Instance of fabric.Image.filters.Convolute\n */ fabric.Image.filters.Convolute.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Grayscale image filter class\n * @class fabric.Image.filters.Grayscale\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Grayscale();\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Grayscale = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Grayscale.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Grayscale\",\n fragmentSource: {\n average: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float average = (color.r + color.b + color.g) / 3.0;\\n\" + \"gl_FragColor = vec4(average, average, average, color.a);\\n\" + \"}\",\n lightness: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uMode;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 col = texture2D(uTexture, vTexCoord);\\n\" + \"float average = (max(max(col.r, col.g),col.b) + min(min(col.r, col.g),col.b)) / 2.0;\\n\" + \"gl_FragColor = vec4(average, average, average, col.a);\\n\" + \"}\",\n luminosity: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uMode;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 col = texture2D(uTexture, vTexCoord);\\n\" + \"float average = 0.21 * col.r + 0.72 * col.g + 0.07 * col.b;\\n\" + \"gl_FragColor = vec4(average, average, average, col.a);\\n\" + \"}\"\n },\n /**\n * Grayscale mode, between 'average', 'lightness', 'luminosity'\n * @param {String} type\n * @default\n */ mode: \"average\",\n mainParameter: \"mode\",\n /**\n * Apply the Grayscale operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, len = data.length, value, mode = this.mode;\n for(i = 0; i < len; i += 4){\n if (mode === \"average\") {\n value = (data[i] + data[i + 1] + data[i + 2]) / 3;\n } else if (mode === \"lightness\") {\n value = (Math.min(data[i], data[i + 1], data[i + 2]) + Math.max(data[i], data[i + 1], data[i + 2])) / 2;\n } else if (mode === \"luminosity\") {\n value = 0.21 * data[i] + 0.72 * data[i + 1] + 0.07 * data[i + 2];\n }\n data[i] = value;\n data[i + 1] = value;\n data[i + 2] = value;\n }\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var shaderSource = this.fragmentSource[this.mode];\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uMode: gl.getUniformLocation(program, \"uMode\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n // default average mode.\n var mode = 1;\n gl.uniform1i(uniformLocations.uMode, mode);\n },\n /**\n * Grayscale filter isNeutralState implementation\n * The filter is never neutral\n * on the image\n **/ isNeutralState: function() {\n return false;\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Grayscale} Instance of fabric.Image.filters.Grayscale\n */ fabric.Image.filters.Grayscale.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Invert filter class\n * @class fabric.Image.filters.Invert\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Invert();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */ filters.Invert = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Invert.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Invert\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform int uInvert;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"if (uInvert == 1) {\\n\" + \"gl_FragColor = vec4(1.0 - color.r,1.0 -color.g,1.0 -color.b,color.a);\\n\" + \"} else {\\n\" + \"gl_FragColor = color;\\n\" + \"}\\n\" + \"}\",\n /**\n * Filter invert. if false, does nothing\n * @param {Boolean} invert\n * @default\n */ invert: true,\n mainParameter: \"invert\",\n /**\n * Apply the Invert operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, len = data.length;\n for(i = 0; i < len; i += 4){\n data[i] = 255 - data[i];\n data[i + 1] = 255 - data[i + 1];\n data[i + 2] = 255 - data[i + 2];\n }\n },\n /**\n * Invert filter isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/ isNeutralState: function() {\n return !this.invert;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uInvert: gl.getUniformLocation(program, \"uInvert\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1i(uniformLocations.uInvert, this.invert);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Invert} Instance of fabric.Image.filters.Invert\n */ fabric.Image.filters.Invert.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Noise filter class\n * @class fabric.Image.filters.Noise\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Noise#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Noise({\n * noise: 700\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Noise = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Noise.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Noise\",\n /**\n * Fragment source for the noise program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uStepH;\\n\" + \"uniform float uNoise;\\n\" + \"uniform float uSeed;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"float rand(vec2 co, float seed, float vScale) {\\n\" + \"return fract(sin(dot(co.xy * vScale ,vec2(12.9898 , 78.233))) * 43758.5453 * (seed + 0.01) / 2.0);\\n\" + \"}\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"color.rgb += (0.5 - rand(vTexCoord, uSeed, 0.1 / uStepH)) * uNoise;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"noise\",\n /**\n * Noise value, from\n * @param {Number} noise\n * @default\n */ noise: 0,\n /**\n * Apply the Brightness operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.noise === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, i, len = data.length, noise = this.noise, rand;\n for(i = 0, len = data.length; i < len; i += 4){\n rand = (0.5 - Math.random()) * noise;\n data[i] += rand;\n data[i + 1] += rand;\n data[i + 2] += rand;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uNoise: gl.getUniformLocation(program, \"uNoise\"),\n uSeed: gl.getUniformLocation(program, \"uSeed\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uNoise, this.noise / 255);\n gl.uniform1f(uniformLocations.uSeed, Math.random());\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n noise: this.noise\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Noise} Instance of fabric.Image.filters.Noise\n */ fabric.Image.filters.Noise.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Pixelate filter class\n * @class fabric.Image.filters.Pixelate\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Pixelate#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Pixelate({\n * blocksize: 8\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Pixelate = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Pixelate.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Pixelate\",\n blocksize: 4,\n mainParameter: \"blocksize\",\n /**\n * Fragment source for the Pixelate program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uBlocksize;\\n\" + \"uniform float uStepW;\\n\" + \"uniform float uStepH;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"float blockW = uBlocksize * uStepW;\\n\" + \"float blockH = uBlocksize * uStepW;\\n\" + \"int posX = int(vTexCoord.x / blockW);\\n\" + \"int posY = int(vTexCoord.y / blockH);\\n\" + \"float fposX = float(posX);\\n\" + \"float fposY = float(posY);\\n\" + \"vec2 squareCoords = vec2(fposX * blockW, fposY * blockH);\\n\" + \"vec4 color = texture2D(uTexture, squareCoords);\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Apply the Pixelate operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = imageData.height, jLen = imageData.width, index, i, j, r, g, b, a, _i, _j, _iLen, _jLen;\n for(i = 0; i < iLen; i += this.blocksize){\n for(j = 0; j < jLen; j += this.blocksize){\n index = i * 4 * jLen + j * 4;\n r = data[index];\n g = data[index + 1];\n b = data[index + 2];\n a = data[index + 3];\n _iLen = Math.min(i + this.blocksize, iLen);\n _jLen = Math.min(j + this.blocksize, jLen);\n for(_i = i; _i < _iLen; _i++){\n for(_j = j; _j < _jLen; _j++){\n index = _i * 4 * jLen + _j * 4;\n data[index] = r;\n data[index + 1] = g;\n data[index + 2] = b;\n data[index + 3] = a;\n }\n }\n }\n }\n },\n /**\n * Indicate when the filter is not gonna apply changes to the image\n **/ isNeutralState: function() {\n return this.blocksize === 1;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uBlocksize: gl.getUniformLocation(program, \"uBlocksize\"),\n uStepW: gl.getUniformLocation(program, \"uStepW\"),\n uStepH: gl.getUniformLocation(program, \"uStepH\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uBlocksize, this.blocksize);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Pixelate} Instance of fabric.Image.filters.Pixelate\n */ fabric.Image.filters.Pixelate.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), extend = fabric.util.object.extend, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Remove white filter class\n * @class fabric.Image.filters.RemoveColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.RemoveColor#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.RemoveColor({\n * threshold: 0.2,\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.RemoveColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.RemoveColor.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"RemoveColor\",\n /**\n * Color to remove, in any format understood by fabric.Color.\n * @param {String} type\n * @default\n */ color: \"#FFFFFF\",\n /**\n * Fragment source for the brightness program\n */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec4 uLow;\\n\" + \"uniform vec4 uHigh;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"gl_FragColor = texture2D(uTexture, vTexCoord);\\n\" + \"if(all(greaterThan(gl_FragColor.rgb,uLow.rgb)) && all(greaterThan(uHigh.rgb,gl_FragColor.rgb))) {\\n\" + \"gl_FragColor.a = 0.0;\\n\" + \"}\\n\" + \"}\",\n /**\n * distance to actual color, as value up or down from each r,g,b\n * between 0 and 1\n **/ distance: 0.02,\n /**\n * For color to remove inside distance, use alpha channel for a smoother deletion\n * NOT IMPLEMENTED YET\n **/ useAlpha: false,\n /**\n * Constructor\n * @memberOf fabric.Image.filters.RemoveWhite.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.color=#RRGGBB] Threshold value\n * @param {Number} [options.distance=10] Distance value\n */ /**\n * Applies filter to canvas element\n * @param {Object} canvasEl Canvas element to apply filter to\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, i, distance = this.distance * 255, r, g, b, source = new fabric.Color(this.color).getSource(), lowC = [\n source[0] - distance,\n source[1] - distance,\n source[2] - distance\n ], highC = [\n source[0] + distance,\n source[1] + distance,\n source[2] + distance\n ];\n for(i = 0; i < data.length; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n if (r > lowC[0] && g > lowC[1] && b > lowC[2] && r < highC[0] && g < highC[1] && b < highC[2]) {\n data[i + 3] = 0;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uLow: gl.getUniformLocation(program, \"uLow\"),\n uHigh: gl.getUniformLocation(program, \"uHigh\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource(), distance = parseFloat(this.distance), lowC = [\n 0 + source[0] / 255 - distance,\n 0 + source[1] / 255 - distance,\n 0 + source[2] / 255 - distance,\n 1\n ], highC = [\n source[0] / 255 + distance,\n source[1] / 255 + distance,\n source[2] / 255 + distance,\n 1\n ];\n gl.uniform4fv(uniformLocations.uLow, lowC);\n gl.uniform4fv(uniformLocations.uHigh, highC);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return extend(this.callSuper(\"toObject\"), {\n color: this.color,\n distance: this.distance\n });\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.RemoveColor} Instance of fabric.Image.filters.RemoveWhite\n */ fabric.Image.filters.RemoveColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n var matrices = {\n Brownie: [\n 0.59970,\n 0.34553,\n -0.27082,\n 0,\n 0.186,\n -0.03770,\n 0.86095,\n 0.15059,\n 0,\n -0.1449,\n 0.24113,\n -0.07441,\n 0.44972,\n 0,\n -0.02965,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Vintage: [\n 0.62793,\n 0.32021,\n -0.03965,\n 0,\n 0.03784,\n 0.02578,\n 0.64411,\n 0.03259,\n 0,\n 0.02926,\n 0.04660,\n -0.08512,\n 0.52416,\n 0,\n 0.02023,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Kodachrome: [\n 1.12855,\n -0.39673,\n -0.03992,\n 0,\n 0.24991,\n -0.16404,\n 1.08352,\n -0.05498,\n 0,\n 0.09698,\n -0.16786,\n -0.56034,\n 1.60148,\n 0,\n 0.13972,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Technicolor: [\n 1.91252,\n -0.85453,\n -0.09155,\n 0,\n 0.04624,\n -0.30878,\n 1.76589,\n -0.10601,\n 0,\n -0.27589,\n -0.23110,\n -0.75018,\n 1.84759,\n 0,\n 0.12137,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Polaroid: [\n 1.438,\n -0.062,\n -0.062,\n 0,\n 0,\n -0.122,\n 1.378,\n -0.122,\n 0,\n 0,\n -0.016,\n -0.016,\n 1.483,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n Sepia: [\n 0.393,\n 0.769,\n 0.189,\n 0,\n 0,\n 0.349,\n 0.686,\n 0.168,\n 0,\n 0,\n 0.272,\n 0.534,\n 0.131,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ],\n BlackWhite: [\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 1.5,\n 1.5,\n 1.5,\n 0,\n -1,\n 0,\n 0,\n 0,\n 1,\n 0\n ]\n };\n for(var key in matrices){\n filters[key] = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.Sepia.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: key,\n /**\n * Colormatrix for the effect\n * array of 20 floats. Numbers in positions 4, 9, 14, 19 loose meaning\n * outside the -1, 1 range.\n * @param {Array} matrix array of 20 numbers.\n * @default\n */ matrix: matrices[key],\n /**\n * Lock the matrix export for this kind of static, parameter less filters.\n */ mainParameter: false,\n /**\n * Lock the colormatrix on the color part, skipping alpha\n */ colorsOnly: true\n });\n fabric.Image.filters[key].fromObject = fabric.Image.filters.BaseFilter.fromObject;\n }\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Color Blend filter class\n * @class fabric.Image.filter.BlendColor\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.BlendColor = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blend.prototype */ {\n type: \"BlendColor\",\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n * @type String\n * @default\n **/ color: \"#F95C63\",\n /**\n * Blend mode for the filter: one of multiply, add, diff, screen, subtract,\n * darken, lighten, overlay, exclusion, tint.\n * @type String\n * @default\n **/ mode: \"multiply\",\n /**\n * alpha value. represent the strength of the blend color operation.\n * @type Number\n * @default\n **/ alpha: 1,\n /**\n * Fragment source for the Multiply program\n */ fragmentSource: {\n multiply: \"gl_FragColor.rgb *= uColor.rgb;\\n\",\n screen: \"gl_FragColor.rgb = 1.0 - (1.0 - gl_FragColor.rgb) * (1.0 - uColor.rgb);\\n\",\n add: \"gl_FragColor.rgb += uColor.rgb;\\n\",\n diff: \"gl_FragColor.rgb = abs(gl_FragColor.rgb - uColor.rgb);\\n\",\n subtract: \"gl_FragColor.rgb -= uColor.rgb;\\n\",\n lighten: \"gl_FragColor.rgb = max(gl_FragColor.rgb, uColor.rgb);\\n\",\n darken: \"gl_FragColor.rgb = min(gl_FragColor.rgb, uColor.rgb);\\n\",\n exclusion: \"gl_FragColor.rgb += uColor.rgb - 2.0 * (uColor.rgb * gl_FragColor.rgb);\\n\",\n overlay: \"if (uColor.r < 0.5) {\\n\" + \"gl_FragColor.r *= 2.0 * uColor.r;\\n\" + \"} else {\\n\" + \"gl_FragColor.r = 1.0 - 2.0 * (1.0 - gl_FragColor.r) * (1.0 - uColor.r);\\n\" + \"}\\n\" + \"if (uColor.g < 0.5) {\\n\" + \"gl_FragColor.g *= 2.0 * uColor.g;\\n\" + \"} else {\\n\" + \"gl_FragColor.g = 1.0 - 2.0 * (1.0 - gl_FragColor.g) * (1.0 - uColor.g);\\n\" + \"}\\n\" + \"if (uColor.b < 0.5) {\\n\" + \"gl_FragColor.b *= 2.0 * uColor.b;\\n\" + \"} else {\\n\" + \"gl_FragColor.b = 1.0 - 2.0 * (1.0 - gl_FragColor.b) * (1.0 - uColor.b);\\n\" + \"}\\n\",\n tint: \"gl_FragColor.rgb *= (1.0 - uColor.a);\\n\" + \"gl_FragColor.rgb += uColor.rgb;\\n\"\n },\n /**\n * build the fragment source for the filters, joining the common part with\n * the specific one.\n * @param {String} mode the mode of the filter, a key of this.fragmentSource\n * @return {String} the source to be compiled\n * @private\n */ buildSource: function(mode) {\n return \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"gl_FragColor = color;\\n\" + \"if (color.a > 0.0) {\\n\" + this.fragmentSource[mode] + \"}\\n\" + \"}\";\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode, shaderSource;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n shaderSource = this.buildSource(this.mode);\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, iLen = data.length, tr, tg, tb, r, g, b, source, alpha1 = 1 - this.alpha;\n source = new fabric.Color(this.color).getSource();\n tr = source[0] * this.alpha;\n tg = source[1] * this.alpha;\n tb = source[2] * this.alpha;\n for(var i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n switch(this.mode){\n case \"multiply\":\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n break;\n case \"screen\":\n data[i] = 255 - (255 - r) * (255 - tr) / 255;\n data[i + 1] = 255 - (255 - g) * (255 - tg) / 255;\n data[i + 2] = 255 - (255 - b) * (255 - tb) / 255;\n break;\n case \"add\":\n data[i] = r + tr;\n data[i + 1] = g + tg;\n data[i + 2] = b + tb;\n break;\n case \"diff\":\n case \"difference\":\n data[i] = Math.abs(r - tr);\n data[i + 1] = Math.abs(g - tg);\n data[i + 2] = Math.abs(b - tb);\n break;\n case \"subtract\":\n data[i] = r - tr;\n data[i + 1] = g - tg;\n data[i + 2] = b - tb;\n break;\n case \"darken\":\n data[i] = Math.min(r, tr);\n data[i + 1] = Math.min(g, tg);\n data[i + 2] = Math.min(b, tb);\n break;\n case \"lighten\":\n data[i] = Math.max(r, tr);\n data[i + 1] = Math.max(g, tg);\n data[i + 2] = Math.max(b, tb);\n break;\n case \"overlay\":\n data[i] = tr < 128 ? 2 * r * tr / 255 : 255 - 2 * (255 - r) * (255 - tr) / 255;\n data[i + 1] = tg < 128 ? 2 * g * tg / 255 : 255 - 2 * (255 - g) * (255 - tg) / 255;\n data[i + 2] = tb < 128 ? 2 * b * tb / 255 : 255 - 2 * (255 - b) * (255 - tb) / 255;\n break;\n case \"exclusion\":\n data[i] = tr + r - 2 * tr * r / 255;\n data[i + 1] = tg + g - 2 * tg * g / 255;\n data[i + 2] = tb + b - 2 * tb * b / 255;\n break;\n case \"tint\":\n data[i] = tr + r * alpha1;\n data[i + 1] = tg + g * alpha1;\n data[i + 2] = tb + b * alpha1;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uColor: gl.getUniformLocation(program, \"uColor\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var source = new fabric.Color(this.color).getSource();\n source[0] = this.alpha * source[0] / 255;\n source[1] = this.alpha * source[1] / 255;\n source[2] = this.alpha * source[2] / 255;\n source[3] = this.alpha;\n gl.uniform4fv(uniformLocations.uColor, source);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n color: this.color,\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.BlendColor} Instance of fabric.Image.filters.BlendColor\n */ fabric.Image.filters.BlendColor.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Image Blend filter class\n * @class fabric.Image.filter.BlendImage\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @example\n * var filter = new fabric.Image.filters.BlendColor({\n * color: '#000',\n * mode: 'multiply'\n * });\n *\n * var filter = new fabric.Image.filters.BlendImage({\n * image: fabricImageObject,\n * mode: 'multiply',\n * alpha: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.BlendImage = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.BlendImage.prototype */ {\n type: \"BlendImage\",\n /**\n * Color to make the blend operation with. default to a reddish color since black or white\n * gives always strong result.\n **/ image: null,\n /**\n * Blend mode for the filter (one of \"multiply\", \"mask\")\n * @type String\n * @default\n **/ mode: \"multiply\",\n /**\n * alpha value. represent the strength of the blend image operation.\n * not implemented.\n **/ alpha: 1,\n vertexSource: \"attribute vec2 aPosition;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"uniform mat3 uTransformMatrix;\\n\" + \"void main() {\\n\" + \"vTexCoord = aPosition;\\n\" + \"vTexCoord2 = (uTransformMatrix * vec3(aPosition, 1.0)).xy;\\n\" + \"gl_Position = vec4(aPosition * 2.0 - 1.0, 0.0, 1.0);\\n\" + \"}\",\n /**\n * Fragment source for the Multiply program\n */ fragmentSource: {\n multiply: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform sampler2D uImage;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec4 color2 = texture2D(uImage, vTexCoord2);\\n\" + \"color.rgba *= color2.rgba;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n mask: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform sampler2D uImage;\\n\" + \"uniform vec4 uColor;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"varying vec2 vTexCoord2;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec4 color2 = texture2D(uImage, vTexCoord2);\\n\" + \"color.a = color2.a;\\n\" + \"gl_FragColor = color;\\n\" + \"}\"\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var cacheKey = this.type + \"_\" + this.mode;\n var shaderSource = this.fragmentSource[this.mode];\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);\n }\n return options.programCache[cacheKey];\n },\n applyToWebGL: function(options) {\n // load texture to blend.\n var gl = options.context, texture = this.createTexture(options.filterBackend, this.image);\n this.bindAdditionalTexture(gl, texture, gl.TEXTURE1);\n this.callSuper(\"applyToWebGL\", options);\n this.unbindAdditionalTexture(gl, gl.TEXTURE1);\n },\n createTexture: function(backend, image) {\n return backend.getCachedTexture(image.cacheKey, image._element);\n },\n /**\n * Calculate a transformMatrix to adapt the image to blend over\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ calculateMatrix: function() {\n var image = this.image, width = image._element.width, height = image._element.height;\n return [\n 1 / image.scaleX,\n 0,\n 0,\n 0,\n 1 / image.scaleY,\n 0,\n -image.left / width,\n -image.top / height,\n 1\n ];\n },\n /**\n * Apply the Blend operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, resources = options.filterBackend.resources, data = imageData.data, iLen = data.length, width = imageData.width, height = imageData.height, tr, tg, tb, ta, r, g, b, a, canvas1, context, image = this.image, blendData;\n if (!resources.blendImage) {\n resources.blendImage = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blendImage;\n context = canvas1.getContext(\"2d\");\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas1.width = width;\n canvas1.height = height;\n } else {\n context.clearRect(0, 0, width, height);\n }\n context.setTransform(image.scaleX, 0, 0, image.scaleY, image.left, image.top);\n context.drawImage(image._element, 0, 0, width, height);\n blendData = context.getImageData(0, 0, width, height).data;\n for(var i = 0; i < iLen; i += 4){\n r = data[i];\n g = data[i + 1];\n b = data[i + 2];\n a = data[i + 3];\n tr = blendData[i];\n tg = blendData[i + 1];\n tb = blendData[i + 2];\n ta = blendData[i + 3];\n switch(this.mode){\n case \"multiply\":\n data[i] = r * tr / 255;\n data[i + 1] = g * tg / 255;\n data[i + 2] = b * tb / 255;\n data[i + 3] = a * ta / 255;\n break;\n case \"mask\":\n data[i + 3] = ta;\n break;\n }\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uTransformMatrix: gl.getUniformLocation(program, \"uTransformMatrix\"),\n uImage: gl.getUniformLocation(program, \"uImage\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var matrix = this.calculateMatrix();\n gl.uniform1i(uniformLocations.uImage, 1); // texture unit 1.\n gl.uniformMatrix3fv(uniformLocations.uTransformMatrix, false, matrix);\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n image: this.image && this.image.toObject(),\n mode: this.mode,\n alpha: this.alpha\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} callback to be invoked after filter creation\n * @return {fabric.Image.filters.BlendImage} Instance of fabric.Image.filters.BlendImage\n */ fabric.Image.filters.BlendImage.fromObject = function(object, callback) {\n fabric.Image.fromObject(object.image, function(image) {\n var options = fabric.util.object.clone(object);\n options.image = image;\n callback(new fabric.Image.filters.BlendImage(options));\n });\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), pow = Math.pow, floor = Math.floor, sqrt = Math.sqrt, abs = Math.abs, round = Math.round, sin = Math.sin, ceil = Math.ceil, filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Resize image filter class\n * @class fabric.Image.filters.Resize\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Resize();\n * object.filters.push(filter);\n * object.applyFilters(canvas.renderAll.bind(canvas));\n */ filters.Resize = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Resize.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Resize\",\n /**\n * Resize type\n * for webgl resizeType is just lanczos, for canvas2d can be:\n * bilinear, hermite, sliceHack, lanczos.\n * @param {String} resizeType\n * @default\n */ resizeType: \"hermite\",\n /**\n * Scale factor for resizing, x axis\n * @param {Number} scaleX\n * @default\n */ scaleX: 1,\n /**\n * Scale factor for resizing, y axis\n * @param {Number} scaleY\n * @default\n */ scaleY: 1,\n /**\n * LanczosLobes parameter for lanczos filter, valid for resizeType lanczos\n * @param {Number} lanczosLobes\n * @default\n */ lanczosLobes: 3,\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uDelta: gl.getUniformLocation(program, \"uDelta\"),\n uTaps: gl.getUniformLocation(program, \"uTaps\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform2fv(uniformLocations.uDelta, this.horizontal ? [\n 1 / this.width,\n 0\n ] : [\n 0,\n 1 / this.height\n ]);\n gl.uniform1fv(uniformLocations.uTaps, this.taps);\n },\n /**\n * Retrieves the cached shader.\n * @param {Object} options\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ retrieveShader: function(options) {\n var filterWindow = this.getFilterWindow(), cacheKey = this.type + \"_\" + filterWindow;\n if (!options.programCache.hasOwnProperty(cacheKey)) {\n var fragmentShader = this.generateShader(filterWindow);\n options.programCache[cacheKey] = this.createProgram(options.context, fragmentShader);\n }\n return options.programCache[cacheKey];\n },\n getFilterWindow: function() {\n var scale = this.tempScale;\n return Math.ceil(this.lanczosLobes / scale);\n },\n getTaps: function() {\n var lobeFunction = this.lanczosCreate(this.lanczosLobes), scale = this.tempScale, filterWindow = this.getFilterWindow(), taps = new Array(filterWindow);\n for(var i = 1; i <= filterWindow; i++){\n taps[i - 1] = lobeFunction(i * scale);\n }\n return taps;\n },\n /**\n * Generate vertex and shader sources from the necessary steps numbers\n * @param {Number} filterWindow\n */ generateShader: function(filterWindow) {\n var offsets = new Array(filterWindow), fragmentShader = this.fragmentSourceTOP, filterWindow;\n for(var i = 1; i <= filterWindow; i++){\n offsets[i - 1] = i + \".0 * uDelta\";\n }\n fragmentShader += \"uniform float uTaps[\" + filterWindow + \"];\\n\";\n fragmentShader += \"void main() {\\n\";\n fragmentShader += \" vec4 color = texture2D(uTexture, vTexCoord);\\n\";\n fragmentShader += \" float sum = 1.0;\\n\";\n offsets.forEach(function(offset, i) {\n fragmentShader += \" color += texture2D(uTexture, vTexCoord + \" + offset + \") * uTaps[\" + i + \"];\\n\";\n fragmentShader += \" color += texture2D(uTexture, vTexCoord - \" + offset + \") * uTaps[\" + i + \"];\\n\";\n fragmentShader += \" sum += 2.0 * uTaps[\" + i + \"];\\n\";\n });\n fragmentShader += \" gl_FragColor = color / sum;\\n\";\n fragmentShader += \"}\";\n return fragmentShader;\n },\n fragmentSourceTOP: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec2 uDelta;\\n\" + \"varying vec2 vTexCoord;\\n\",\n /**\n * Apply the resize filter to the image\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n if (options.webgl) {\n options.passes++;\n this.width = options.sourceWidth;\n this.horizontal = true;\n this.dW = Math.round(this.width * this.scaleX);\n this.dH = options.sourceHeight;\n this.tempScale = this.dW / this.width;\n this.taps = this.getTaps();\n options.destinationWidth = this.dW;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceWidth = options.destinationWidth;\n this.height = options.sourceHeight;\n this.horizontal = false;\n this.dH = Math.round(this.height * this.scaleY);\n this.tempScale = this.dH / this.height;\n this.taps = this.getTaps();\n options.destinationHeight = this.dH;\n this._setupFrameBuffer(options);\n this.applyToWebGL(options);\n this._swapTextures(options);\n options.sourceHeight = options.destinationHeight;\n } else {\n this.applyTo2d(options);\n }\n },\n isNeutralState: function() {\n return this.scaleX === 1 && this.scaleY === 1;\n },\n lanczosCreate: function(lobes) {\n return function(x) {\n if (x >= lobes || x <= -lobes) {\n return 0.0;\n }\n if (x < 1.19209290E-07 && x > -1.19209290E-07) {\n return 1.0;\n }\n x *= Math.PI;\n var xx = x / lobes;\n return sin(x) / x * sin(xx) / xx;\n };\n },\n /**\n * Applies filter to canvas element\n * @memberOf fabric.Image.filters.Resize.prototype\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} scaleX\n * @param {Number} scaleY\n */ applyTo2d: function(options) {\n var imageData = options.imageData, scaleX = this.scaleX, scaleY = this.scaleY;\n this.rcpScaleX = 1 / scaleX;\n this.rcpScaleY = 1 / scaleY;\n var oW = imageData.width, oH = imageData.height, dW = round(oW * scaleX), dH = round(oH * scaleY), newData;\n if (this.resizeType === \"sliceHack\") {\n newData = this.sliceByTwo(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"hermite\") {\n newData = this.hermiteFastResize(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"bilinear\") {\n newData = this.bilinearFiltering(options, oW, oH, dW, dH);\n } else if (this.resizeType === \"lanczos\") {\n newData = this.lanczosResize(options, oW, oH, dW, dH);\n }\n options.imageData = newData;\n },\n /**\n * Filter sliceByTwo\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ sliceByTwo: function(options, oW, oH, dW, dH) {\n var imageData = options.imageData, mult = 0.5, doneW = false, doneH = false, stepW = oW * mult, stepH = oH * mult, resources = fabric.filterBackend.resources, tmpCanvas, ctx, sX = 0, sY = 0, dX = oW, dY = 0;\n if (!resources.sliceByTwo) {\n resources.sliceByTwo = document.createElement(\"canvas\");\n }\n tmpCanvas = resources.sliceByTwo;\n if (tmpCanvas.width < oW * 1.5 || tmpCanvas.height < oH) {\n tmpCanvas.width = oW * 1.5;\n tmpCanvas.height = oH;\n }\n ctx = tmpCanvas.getContext(\"2d\");\n ctx.clearRect(0, 0, oW * 1.5, oH);\n ctx.putImageData(imageData, 0, 0);\n dW = floor(dW);\n dH = floor(dH);\n while(!doneW || !doneH){\n oW = stepW;\n oH = stepH;\n if (dW < floor(stepW * mult)) {\n stepW = floor(stepW * mult);\n } else {\n stepW = dW;\n doneW = true;\n }\n if (dH < floor(stepH * mult)) {\n stepH = floor(stepH * mult);\n } else {\n stepH = dH;\n doneH = true;\n }\n ctx.drawImage(tmpCanvas, sX, sY, oW, oH, dX, dY, stepW, stepH);\n sX = dX;\n sY = dY;\n dY += stepH;\n }\n return ctx.getImageData(sX, sY, dW, dH);\n },\n /**\n * Filter lanczosResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ lanczosResize: function(options, oW, oH, dW, dH) {\n function process(u) {\n var v, i, weight, idx, a, red, green, blue, alpha, fX, fY;\n center.x = (u + 0.5) * ratioX;\n icenter.x = floor(center.x);\n for(v = 0; v < dH; v++){\n center.y = (v + 0.5) * ratioY;\n icenter.y = floor(center.y);\n a = 0;\n red = 0;\n green = 0;\n blue = 0;\n alpha = 0;\n for(i = icenter.x - range2X; i <= icenter.x + range2X; i++){\n if (i < 0 || i >= oW) {\n continue;\n }\n fX = floor(1000 * abs(i - center.x));\n if (!cacheLanc[fX]) {\n cacheLanc[fX] = {};\n }\n for(var j = icenter.y - range2Y; j <= icenter.y + range2Y; j++){\n if (j < 0 || j >= oH) {\n continue;\n }\n fY = floor(1000 * abs(j - center.y));\n if (!cacheLanc[fX][fY]) {\n cacheLanc[fX][fY] = lanczos(sqrt(pow(fX * rcpRatioX, 2) + pow(fY * rcpRatioY, 2)) / 1000);\n }\n weight = cacheLanc[fX][fY];\n if (weight > 0) {\n idx = (j * oW + i) * 4;\n a += weight;\n red += weight * srcData[idx];\n green += weight * srcData[idx + 1];\n blue += weight * srcData[idx + 2];\n alpha += weight * srcData[idx + 3];\n }\n }\n }\n idx = (v * dW + u) * 4;\n destData[idx] = red / a;\n destData[idx + 1] = green / a;\n destData[idx + 2] = blue / a;\n destData[idx + 3] = alpha / a;\n }\n if (++u < dW) {\n return process(u);\n } else {\n return destImg;\n }\n }\n var srcData = options.imageData.data, destImg = options.ctx.createImageData(dW, dH), destData = destImg.data, lanczos = this.lanczosCreate(this.lanczosLobes), ratioX = this.rcpScaleX, ratioY = this.rcpScaleY, rcpRatioX = 2 / this.rcpScaleX, rcpRatioY = 2 / this.rcpScaleY, range2X = ceil(ratioX * this.lanczosLobes / 2), range2Y = ceil(ratioY * this.lanczosLobes / 2), cacheLanc = {}, center = {}, icenter = {};\n return process(0);\n },\n /**\n * bilinearFiltering\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ bilinearFiltering: function(options, oW, oH, dW, dH) {\n var a, b, c, d, x, y, i, j, xDiff, yDiff, chnl, color, offset = 0, origPix, ratioX = this.rcpScaleX, ratioY = this.rcpScaleY, w4 = 4 * (oW - 1), img = options.imageData, pixels = img.data, destImage = options.ctx.createImageData(dW, dH), destPixels = destImage.data;\n for(i = 0; i < dH; i++){\n for(j = 0; j < dW; j++){\n x = floor(ratioX * j);\n y = floor(ratioY * i);\n xDiff = ratioX * j - x;\n yDiff = ratioY * i - y;\n origPix = 4 * (y * oW + x);\n for(chnl = 0; chnl < 4; chnl++){\n a = pixels[origPix + chnl];\n b = pixels[origPix + 4 + chnl];\n c = pixels[origPix + w4 + chnl];\n d = pixels[origPix + w4 + 4 + chnl];\n color = a * (1 - xDiff) * (1 - yDiff) + b * xDiff * (1 - yDiff) + c * yDiff * (1 - xDiff) + d * xDiff * yDiff;\n destPixels[offset++] = color;\n }\n }\n }\n return destImage;\n },\n /**\n * hermiteFastResize\n * @param {Object} canvasEl Canvas element to apply filter to\n * @param {Number} oW Original Width\n * @param {Number} oH Original Height\n * @param {Number} dW Destination Width\n * @param {Number} dH Destination Height\n * @returns {ImageData}\n */ hermiteFastResize: function(options, oW, oH, dW, dH) {\n var ratioW = this.rcpScaleX, ratioH = this.rcpScaleY, ratioWHalf = ceil(ratioW / 2), ratioHHalf = ceil(ratioH / 2), img = options.imageData, data = img.data, img2 = options.ctx.createImageData(dW, dH), data2 = img2.data;\n for(var j = 0; j < dH; j++){\n for(var i = 0; i < dW; i++){\n var x2 = (i + j * dW) * 4, weight = 0, weights = 0, weightsAlpha = 0, gxR = 0, gxG = 0, gxB = 0, gxA = 0, centerY = (j + 0.5) * ratioH;\n for(var yy = floor(j * ratioH); yy < (j + 1) * ratioH; yy++){\n var dy = abs(centerY - (yy + 0.5)) / ratioHHalf, centerX = (i + 0.5) * ratioW, w0 = dy * dy;\n for(var xx = floor(i * ratioW); xx < (i + 1) * ratioW; xx++){\n var dx = abs(centerX - (xx + 0.5)) / ratioWHalf, w = sqrt(w0 + dx * dx);\n /* eslint-disable max-depth */ if (w > 1 && w < -1) {\n continue;\n }\n //hermite filter\n weight = 2 * w * w * w - 3 * w * w + 1;\n if (weight > 0) {\n dx = 4 * (xx + yy * oW);\n //alpha\n gxA += weight * data[dx + 3];\n weightsAlpha += weight;\n //colors\n if (data[dx + 3] < 255) {\n weight = weight * data[dx + 3] / 250;\n }\n gxR += weight * data[dx];\n gxG += weight * data[dx + 1];\n gxB += weight * data[dx + 2];\n weights += weight;\n }\n /* eslint-enable max-depth */ }\n }\n data2[x2] = gxR / weights;\n data2[x2 + 1] = gxG / weights;\n data2[x2 + 2] = gxB / weights;\n data2[x2 + 3] = gxA / weightsAlpha;\n }\n }\n return img2;\n },\n /**\n * Returns object representation of an instance\n * @return {Object} Object representation of an instance\n */ toObject: function() {\n return {\n type: this.type,\n scaleX: this.scaleX,\n scaleY: this.scaleY,\n resizeType: this.resizeType,\n lanczosLobes: this.lanczosLobes\n };\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Resize} Instance of fabric.Image.filters.Resize\n */ fabric.Image.filters.Resize.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Contrast filter class\n * @class fabric.Image.filters.Contrast\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Contrast#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Contrast({\n * contrast: 0.25\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Contrast = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Contrast.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Contrast\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uContrast;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float contrastF = 1.015 * (uContrast + 1.0) / (1.0 * (1.015 - uContrast));\\n\" + \"color.rgb = contrastF * (color.rgb - 0.5) + 0.5;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * contrast value, range from -1 to 1.\n * @param {Number} contrast\n * @default 0\n */ contrast: 0,\n mainParameter: \"contrast\",\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Contrast.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.contrast=0] Value to contrast the image up (-1...1)\n */ /**\n * Apply the Contrast operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n if (this.contrast === 0) {\n return;\n }\n var imageData = options.imageData, i, len, data = imageData.data, len = data.length, contrast = Math.floor(this.contrast * 255), contrastF = 259 * (contrast + 255) / (255 * (259 - contrast));\n for(i = 0; i < len; i += 4){\n data[i] = contrastF * (data[i] - 128) + 128;\n data[i + 1] = contrastF * (data[i + 1] - 128) + 128;\n data[i + 2] = contrastF * (data[i + 2] - 128) + 128;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uContrast: gl.getUniformLocation(program, \"uContrast\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uContrast, this.contrast);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Contrast} Instance of fabric.Image.filters.Contrast\n */ fabric.Image.filters.Contrast.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Saturate filter class\n * @class fabric.Image.filters.Saturation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Saturation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Saturation({\n * saturation: 1\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Saturation = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Saturation.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Saturation\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform float uSaturation;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"float rgMax = max(color.r, color.g);\\n\" + \"float rgbMax = max(rgMax, color.b);\\n\" + \"color.r += rgbMax != color.r ? (rgbMax - color.r) * uSaturation : 0.00;\\n\" + \"color.g += rgbMax != color.g ? (rgbMax - color.g) * uSaturation : 0.00;\\n\" + \"color.b += rgbMax != color.b ? (rgbMax - color.b) * uSaturation : 0.00;\\n\" + \"gl_FragColor = color;\\n\" + \"}\",\n /**\n * Saturation value, from -1 to 1.\n * Increases/decreases the color saturation.\n * A value of 0 has no effect.\n * \n * @param {Number} saturation\n * @default\n */ saturation: 0,\n mainParameter: \"saturation\",\n /**\n * Constructor\n * @memberOf fabric.Image.filters.Saturate.prototype\n * @param {Object} [options] Options object\n * @param {Number} [options.saturate=0] Value to saturate the image (-1...1)\n */ /**\n * Apply the Saturation operation to a Uint8ClampedArray representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8ClampedArray to be filtered.\n */ applyTo2d: function(options) {\n if (this.saturation === 0) {\n return;\n }\n var imageData = options.imageData, data = imageData.data, len = data.length, adjust = -this.saturation, i, max;\n for(i = 0; i < len; i += 4){\n max = Math.max(data[i], data[i + 1], data[i + 2]);\n data[i] += max !== data[i] ? (max - data[i]) * adjust : 0;\n data[i + 1] += max !== data[i + 1] ? (max - data[i + 1]) * adjust : 0;\n data[i + 2] += max !== data[i + 2] ? (max - data[i + 2]) * adjust : 0;\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uSaturation: gl.getUniformLocation(program, \"uSaturation\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform1f(uniformLocations.uSaturation, -this.saturation);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {Function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Saturation} Instance of fabric.Image.filters.Saturate\n */ fabric.Image.filters.Saturation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Blur filter class\n * @class fabric.Image.filters.Blur\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Blur#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Blur({\n * blur: 0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n * canvas.renderAll();\n */ filters.Blur = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Blur.prototype */ {\n type: \"Blur\",\n /*\n'gl_FragColor = vec4(0.0);',\n'gl_FragColor += texture2D(texture, vTexCoord + -7 * uDelta)*0.0044299121055113265;',\n'gl_FragColor += texture2D(texture, vTexCoord + -6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + -5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + -4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + -3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + -2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + -1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord )*0.159576912161;',\n'gl_FragColor += texture2D(texture, vTexCoord + 1 * uDelta)*0.147308056121;',\n'gl_FragColor += texture2D(texture, vTexCoord + 2 * uDelta)*0.115876621105;',\n'gl_FragColor += texture2D(texture, vTexCoord + 3 * uDelta)*0.0776744219933;',\n'gl_FragColor += texture2D(texture, vTexCoord + 4 * uDelta)*0.0443683338718;',\n'gl_FragColor += texture2D(texture, vTexCoord + 5 * uDelta)*0.0215963866053;',\n'gl_FragColor += texture2D(texture, vTexCoord + 6 * uDelta)*0.00895781211794;',\n'gl_FragColor += texture2D(texture, vTexCoord + 7 * uDelta)*0.0044299121055113265;',\n*/ /* eslint-disable max-len */ fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec2 uDelta;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"const float nSamples = 15.0;\\n\" + \"vec3 v3offset = vec3(12.9898, 78.233, 151.7182);\\n\" + \"float random(vec3 scale) {\\n\" + /* use the fragment position for a different seed per-pixel */ \"return fract(sin(dot(gl_FragCoord.xyz, scale)) * 43758.5453);\\n\" + \"}\\n\" + \"void main() {\\n\" + \"vec4 color = vec4(0.0);\\n\" + \"float total = 0.0;\\n\" + \"float offset = random(v3offset);\\n\" + \"for (float t = -nSamples; t <= nSamples; t++) {\\n\" + \"float percent = (t + offset - 0.5) / nSamples;\\n\" + \"float weight = 1.0 - abs(percent);\\n\" + \"color += texture2D(uTexture, vTexCoord + uDelta * percent) * weight;\\n\" + \"total += weight;\\n\" + \"}\\n\" + \"gl_FragColor = color / total;\\n\" + \"}\",\n /* eslint-enable max-len */ /**\n * blur value, in percentage of image dimensions.\n * specific to keep the image blur constant at different resolutions\n * range between 0 and 1.\n * @type Number\n * @default\n */ blur: 0,\n mainParameter: \"blur\",\n applyTo: function(options) {\n if (options.webgl) {\n // this aspectRatio is used to give the same blur to vertical and horizontal\n this.aspectRatio = options.sourceWidth / options.sourceHeight;\n options.passes++;\n this._setupFrameBuffer(options);\n this.horizontal = true;\n this.applyToWebGL(options);\n this._swapTextures(options);\n this._setupFrameBuffer(options);\n this.horizontal = false;\n this.applyToWebGL(options);\n this._swapTextures(options);\n } else {\n this.applyTo2d(options);\n }\n },\n applyTo2d: function(options) {\n // paint canvasEl with current image data.\n //options.ctx.putImageData(options.imageData, 0, 0);\n options.imageData = this.simpleBlur(options);\n },\n simpleBlur: function(options) {\n var resources = options.filterBackend.resources, canvas1, canvas2, width = options.imageData.width, height = options.imageData.height;\n if (!resources.blurLayer1) {\n resources.blurLayer1 = fabric.util.createCanvasElement();\n resources.blurLayer2 = fabric.util.createCanvasElement();\n }\n canvas1 = resources.blurLayer1;\n canvas2 = resources.blurLayer2;\n if (canvas1.width !== width || canvas1.height !== height) {\n canvas2.width = canvas1.width = width;\n canvas2.height = canvas1.height = height;\n }\n var ctx1 = canvas1.getContext(\"2d\"), ctx2 = canvas2.getContext(\"2d\"), nSamples = 15, random, percent, j, i, blur = this.blur * 0.06 * 0.5;\n // load first canvas\n ctx1.putImageData(options.imageData, 0, 0);\n ctx2.clearRect(0, 0, width, height);\n for(i = -nSamples; i <= nSamples; i++){\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * width + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, j, random);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n for(i = -nSamples; i <= nSamples; i++){\n random = (Math.random() - 0.5) / 4;\n percent = i / nSamples;\n j = blur * percent * height + random;\n ctx2.globalAlpha = 1 - Math.abs(percent);\n ctx2.drawImage(canvas1, random, j);\n ctx1.drawImage(canvas2, 0, 0);\n ctx2.globalAlpha = 1;\n ctx2.clearRect(0, 0, canvas2.width, canvas2.height);\n }\n options.ctx.drawImage(canvas1, 0, 0);\n var newImageData = options.ctx.getImageData(0, 0, canvas1.width, canvas1.height);\n ctx1.globalAlpha = 1;\n ctx1.clearRect(0, 0, canvas1.width, canvas1.height);\n return newImageData;\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n delta: gl.getUniformLocation(program, \"uDelta\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n var delta = this.chooseRightDelta();\n gl.uniform2fv(uniformLocations.delta, delta);\n },\n /**\n * choose right value of image percentage to blur with\n * @returns {Array} a numeric array with delta values\n */ chooseRightDelta: function() {\n var blurScale = 1, delta = [\n 0,\n 0\n ], blur;\n if (this.horizontal) {\n if (this.aspectRatio > 1) {\n // image is wide, i want to shrink radius horizontal\n blurScale = 1 / this.aspectRatio;\n }\n } else {\n if (this.aspectRatio < 1) {\n // image is tall, i want to shrink radius vertical\n blurScale = this.aspectRatio;\n }\n }\n blur = blurScale * this.blur * 0.12;\n if (this.horizontal) {\n delta[0] = blur;\n } else {\n delta[1] = blur;\n }\n return delta;\n }\n });\n /**\n * Deserialize a JSON definition of a BlurFilter into a concrete instance.\n */ filters.Blur.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * Gamma filter class\n * @class fabric.Image.filters.Gamma\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.Gamma#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.Gamma({\n * gamma: [1, 0.5, 2.1]\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.Gamma = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Gamma.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"Gamma\",\n fragmentSource: \"precision highp float;\\n\" + \"uniform sampler2D uTexture;\\n\" + \"uniform vec3 uGamma;\\n\" + \"varying vec2 vTexCoord;\\n\" + \"void main() {\\n\" + \"vec4 color = texture2D(uTexture, vTexCoord);\\n\" + \"vec3 correction = (1.0 / uGamma);\\n\" + \"color.r = pow(color.r, correction.r);\\n\" + \"color.g = pow(color.g, correction.g);\\n\" + \"color.b = pow(color.b, correction.b);\\n\" + \"gl_FragColor = color;\\n\" + \"gl_FragColor.rgb *= color.a;\\n\" + \"}\",\n /**\n * Gamma array value, from 0.01 to 2.2.\n * @param {Array} gamma\n * @default\n */ gamma: [\n 1,\n 1,\n 1\n ],\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"gamma\",\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.gamma = [\n 1,\n 1,\n 1\n ];\n filters.BaseFilter.prototype.initialize.call(this, options);\n },\n /**\n * Apply the Gamma operation to a Uint8Array representing the pixels of an image.\n *\n * @param {Object} options\n * @param {ImageData} options.imageData The Uint8Array to be filtered.\n */ applyTo2d: function(options) {\n var imageData = options.imageData, data = imageData.data, gamma = this.gamma, len = data.length, rInv = 1 / gamma[0], gInv = 1 / gamma[1], bInv = 1 / gamma[2], i;\n if (!this.rVals) {\n // eslint-disable-next-line\n this.rVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.gVals = new Uint8Array(256);\n // eslint-disable-next-line\n this.bVals = new Uint8Array(256);\n }\n // This is an optimization - pre-compute a look-up table for each color channel\n // instead of performing these pow calls for each pixel in the image.\n for(i = 0, len = 256; i < len; i++){\n this.rVals[i] = Math.pow(i / 255, rInv) * 255;\n this.gVals[i] = Math.pow(i / 255, gInv) * 255;\n this.bVals[i] = Math.pow(i / 255, bInv) * 255;\n }\n for(i = 0, len = data.length; i < len; i += 4){\n data[i] = this.rVals[data[i]];\n data[i + 1] = this.gVals[data[i + 1]];\n data[i + 2] = this.bVals[data[i + 2]];\n }\n },\n /**\n * Return WebGL uniform locations for this filter's shader.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {WebGLShaderProgram} program This filter's compiled shader program.\n */ getUniformLocations: function(gl, program) {\n return {\n uGamma: gl.getUniformLocation(program, \"uGamma\")\n };\n },\n /**\n * Send data from this filter to its shader program's uniforms.\n *\n * @param {WebGLRenderingContext} gl The GL canvas context used to compile this filter's shader.\n * @param {Object} uniformLocations A map of string uniform names to WebGLUniformLocation objects\n */ sendUniformData: function(gl, uniformLocations) {\n gl.uniform3fv(uniformLocations.uGamma, this.gamma);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.Gamma} Instance of fabric.Image.filters.Gamma\n */ fabric.Image.filters.Gamma.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * A container class that knows how to apply a sequence of filters to an input image.\n */ filters.Composed = createClass(filters.BaseFilter, /** @lends fabric.Image.filters.Composed.prototype */ {\n type: \"Composed\",\n /**\n * A non sparse array of filters to apply\n */ subFilters: [],\n /**\n * Constructor\n * @param {Object} [options] Options object\n */ initialize: function(options) {\n this.callSuper(\"initialize\", options);\n // create a new array instead mutating the prototype with push\n this.subFilters = this.subFilters.slice(0);\n },\n /**\n * Apply this container's filters to the input image provided.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be applied.\n */ applyTo: function(options) {\n options.passes += this.subFilters.length - 1;\n this.subFilters.forEach(function(filter) {\n filter.applyTo(options);\n });\n },\n /**\n * Serialize this filter into JSON.\n *\n * @returns {Object} A JSON representation of this filter.\n */ toObject: function() {\n return fabric.util.object.extend(this.callSuper(\"toObject\"), {\n subFilters: this.subFilters.map(function(filter) {\n return filter.toObject();\n })\n });\n },\n isNeutralState: function() {\n return !this.subFilters.some(function(filter) {\n return !filter.isNeutralState();\n });\n }\n });\n /**\n * Deserialize a JSON definition of a ComposedFilter into a concrete instance.\n */ fabric.Image.filters.Composed.fromObject = function(object, callback) {\n var filters = object.subFilters || [], subFilters = filters.map(function(filter) {\n return new fabric.Image.filters[filter.type](filter);\n }), instance = new fabric.Image.filters.Composed({\n subFilters: subFilters\n });\n callback && callback(instance);\n return instance;\n };\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), filters = fabric.Image.filters, createClass = fabric.util.createClass;\n /**\n * HueRotation filter class\n * @class fabric.Image.filters.HueRotation\n * @memberOf fabric.Image.filters\n * @extends fabric.Image.filters.BaseFilter\n * @see {@link fabric.Image.filters.HueRotation#initialize} for constructor definition\n * @see {@link http://fabricjs.com/image-filters|ImageFilters demo}\n * @example\n * var filter = new fabric.Image.filters.HueRotation({\n * rotation: -0.5\n * });\n * object.filters.push(filter);\n * object.applyFilters();\n */ filters.HueRotation = createClass(filters.ColorMatrix, /** @lends fabric.Image.filters.HueRotation.prototype */ {\n /**\n * Filter type\n * @param {String} type\n * @default\n */ type: \"HueRotation\",\n /**\n * HueRotation value, from -1 to 1.\n * the unit is radians\n * @param {Number} myParameter\n * @default\n */ rotation: 0,\n /**\n * Describe the property that is the filter parameter\n * @param {String} m\n * @default\n */ mainParameter: \"rotation\",\n calculateMatrix: function() {\n var rad = this.rotation * Math.PI, cos = fabric.util.cos(rad), sin = fabric.util.sin(rad), aThird = 1 / 3, aThirdSqtSin = Math.sqrt(aThird) * sin, OneMinusCos = 1 - cos;\n this.matrix = [\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0,\n 1,\n 0\n ];\n this.matrix[0] = cos + OneMinusCos / 3;\n this.matrix[1] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[2] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[5] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[6] = cos + aThird * OneMinusCos;\n this.matrix[7] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[10] = aThird * OneMinusCos - aThirdSqtSin;\n this.matrix[11] = aThird * OneMinusCos + aThirdSqtSin;\n this.matrix[12] = cos + aThird * OneMinusCos;\n },\n /**\n * HueRotation isNeutralState implementation\n * Used only in image applyFilters to discard filters that will not have an effect\n * on the image\n * @param {Object} options\n **/ isNeutralState: function(options) {\n this.calculateMatrix();\n return filters.BaseFilter.prototype.isNeutralState.call(this, options);\n },\n /**\n * Apply this filter to the input image data provided.\n *\n * Determines whether to use WebGL or Canvas2D based on the options.webgl flag.\n *\n * @param {Object} options\n * @param {Number} options.passes The number of filters remaining to be executed\n * @param {Boolean} options.webgl Whether to use webgl to render the filter.\n * @param {WebGLTexture} options.sourceTexture The texture setup as the source to be filtered.\n * @param {WebGLTexture} options.targetTexture The texture where filtered output should be drawn.\n * @param {WebGLRenderingContext} options.context The GL context used for rendering.\n * @param {Object} options.programCache A map of compiled shader programs, keyed by filter type.\n */ applyTo: function(options) {\n this.calculateMatrix();\n filters.BaseFilter.prototype.applyTo.call(this, options);\n }\n });\n /**\n * Returns filter instance from an object representation\n * @static\n * @param {Object} object Object to create an instance from\n * @param {function} [callback] to be invoked after filter creation\n * @return {fabric.Image.filters.HueRotation} Instance of fabric.Image.filters.HueRotation\n */ fabric.Image.filters.HueRotation.fromObject = fabric.Image.filters.BaseFilter.fromObject;\n})( true ? exports : 0);\n(function(global) {\n \"use strict\";\n var fabric = global.fabric || (global.fabric = {}), clone = fabric.util.object.clone;\n if (fabric.Text) {\n fabric.warn(\"fabric.Text is already defined\");\n return;\n }\n var additionalProps = (\"fontFamily fontWeight fontSize text underline overline linethrough\" + \" textAlign fontStyle lineHeight textBackgroundColor charSpacing styles\" + \" direction path pathStartOffset pathSide pathAlign\").split(\" \");\n /**\n * Text class\n * @class fabric.Text\n * @extends fabric.Object\n * @return {fabric.Text} thisArg\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2#text}\n * @see {@link fabric.Text#initialize} for constructor definition\n */ fabric.Text = fabric.util.createClass(fabric.Object, /** @lends fabric.Text.prototype */ {\n /**\n * Properties which when set cause object to change dimensions\n * @type Array\n * @private\n */ _dimensionAffectingProps: [\n \"fontSize\",\n \"fontWeight\",\n \"fontFamily\",\n \"fontStyle\",\n \"lineHeight\",\n \"text\",\n \"charSpacing\",\n \"textAlign\",\n \"styles\",\n \"path\",\n \"pathStartOffset\",\n \"pathSide\",\n \"pathAlign\"\n ],\n /**\n * @private\n */ _reNewline: /\\r?\\n/,\n /**\n * Use this regular expression to filter for whitespaces that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reSpacesAndTabs: /[ \\t\\r]/g,\n /**\n * Use this regular expression to filter for whitespace that is not a new line.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reSpaceAndTab: /[ \\t\\r]/,\n /**\n * Use this regular expression to filter consecutive groups of non spaces.\n * Mostly used when text is 'justify' aligned.\n * @private\n */ _reWords: /\\S+/g,\n /**\n * Type of an object\n * @type String\n * @default\n */ type: \"text\",\n /**\n * Font size (in pixels)\n * @type Number\n * @default\n */ fontSize: 40,\n /**\n * Font weight (e.g. bold, normal, 400, 600, 800)\n * @type {(Number|String)}\n * @default\n */ fontWeight: \"normal\",\n /**\n * Font family\n * @type String\n * @default\n */ fontFamily: \"Times New Roman\",\n /**\n * Text decoration underline.\n * @type Boolean\n * @default\n */ underline: false,\n /**\n * Text decoration overline.\n * @type Boolean\n * @default\n */ overline: false,\n /**\n * Text decoration linethrough.\n * @type Boolean\n * @default\n */ linethrough: false,\n /**\n * Text alignment. Possible values: \"left\", \"center\", \"right\", \"justify\",\n * \"justify-left\", \"justify-center\" or \"justify-right\".\n * @type String\n * @default\n */ textAlign: \"left\",\n /**\n * Font style . Possible values: \"\", \"normal\", \"italic\" or \"oblique\".\n * @type String\n * @default\n */ fontStyle: \"normal\",\n /**\n * Line height\n * @type Number\n * @default\n */ lineHeight: 1.16,\n /**\n * Superscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */ superscript: {\n size: 0.60,\n baseline: -0.35 // baseline-shift factor (upwards)\n },\n /**\n * Subscript schema object (minimum overlap)\n * @type {Object}\n * @default\n */ subscript: {\n size: 0.60,\n baseline: 0.11 // baseline-shift factor (downwards)\n },\n /**\n * Background color of text lines\n * @type String\n * @default\n */ textBackgroundColor: \"\",\n /**\n * List of properties to consider when checking if\n * state of an object is changed ({@link fabric.Object#hasStateChanged})\n * as well as for history (undo/redo) purposes\n * @type Array\n */ stateProperties: fabric.Object.prototype.stateProperties.concat(additionalProps),\n /**\n * List of properties to consider when checking if cache needs refresh\n * @type Array\n */ cacheProperties: fabric.Object.prototype.cacheProperties.concat(additionalProps),\n /**\n * When defined, an object is rendered via stroke and this property specifies its color.\n * Backwards incompatibility note: This property was named \"strokeStyle\" until v1.1.6\n * @type String\n * @default\n */ stroke: null,\n /**\n * Shadow object representing shadow of this shape.\n * Backwards incompatibility note: This property was named \"textShadow\" (String) until v1.2.11\n * @type fabric.Shadow\n * @default\n */ shadow: null,\n /**\n * fabric.Path that the text should follow.\n * since 4.6.0 the path will be drawn automatically.\n * if you want to make the path visible, give it a stroke and strokeWidth or fill value\n * if you want it to be hidden, assign visible = false to the path.\n * This feature is in BETA, and SVG import/export is not yet supported.\n * @type fabric.Path\n * @example\n * var textPath = new fabric.Text('Text on a path', {\n * top: 150,\n * left: 150,\n * textAlign: 'center',\n * charSpacing: -50,\n * path: new fabric.Path('M 0 0 C 50 -100 150 -100 200 0', {\n * strokeWidth: 1,\n * visible: false\n * }),\n * pathSide: 'left',\n * pathStartOffset: 0\n * });\n * @default\n */ path: null,\n /**\n * Offset amount for text path starting position\n * Only used when text has a path\n * @type Number\n * @default\n */ pathStartOffset: 0,\n /**\n * Which side of the path the text should be drawn on.\n * Only used when text has a path\n * @type {String} 'left|right'\n * @default\n */ pathSide: \"left\",\n /**\n * How text is aligned to the path. This property determines\n * the perpendicular position of each character relative to the path.\n * (one of \"baseline\", \"center\", \"ascender\", \"descender\")\n * This feature is in BETA, and its behavior may change\n * @type String\n * @default\n */ pathAlign: \"baseline\",\n /**\n * @private\n */ _fontSizeFraction: 0.222,\n /**\n * @private\n */ offsets: {\n underline: 0.10,\n linethrough: -0.315,\n overline: -0.88\n },\n /**\n * Text Line proportion to font Size (in pixels)\n * @type Number\n * @default\n */ _fontSizeMult: 1.13,\n /**\n * additional space between characters\n * expressed in thousands of em unit\n * @type Number\n * @default\n */ charSpacing: 0,\n /**\n * Object containing character styles - top-level properties -> line numbers,\n * 2nd-level properties - character numbers\n * @type Object\n * @default\n */ styles: null,\n /**\n * Reference to a context to measure text char or couple of chars\n * the cacheContext of the canvas will be used or a freshly created one if the object is not on canvas\n * once created it will be referenced on fabric._measuringContext to avoid creating a canvas for every\n * text object created.\n * @type {CanvasRenderingContext2D}\n * @default\n */ _measuringContext: null,\n /**\n * Baseline shift, styles only, keep at 0 for the main text object\n * @type {Number}\n * @default\n */ deltaY: 0,\n /**\n * WARNING: EXPERIMENTAL. NOT SUPPORTED YET\n * determine the direction of the text.\n * This has to be set manually together with textAlign and originX for proper\n * experience.\n * some interesting link for the future\n * https://www.w3.org/International/questions/qa-bidi-unicode-controls\n * @since 4.5.0\n * @type {String} 'ltr|rtl'\n * @default\n */ direction: \"ltr\",\n /**\n * Array of properties that define a style unit (of 'styles').\n * @type {Array}\n * @default\n */ _styleProperties: [\n \"stroke\",\n \"strokeWidth\",\n \"fill\",\n \"fontFamily\",\n \"fontSize\",\n \"fontWeight\",\n \"fontStyle\",\n \"underline\",\n \"overline\",\n \"linethrough\",\n \"deltaY\",\n \"textBackgroundColor\"\n ],\n /**\n * contains characters bounding boxes\n */ __charBounds: [],\n /**\n * use this size when measuring text. To avoid IE11 rounding errors\n * @type {Number}\n * @default\n * @readonly\n * @private\n */ CACHE_FONT_SIZE: 400,\n /**\n * contains the min text width to avoid getting 0\n * @type {Number}\n * @default\n */ MIN_TEXT_WIDTH: 2,\n /**\n * Constructor\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */ initialize: function(text, options) {\n this.styles = options ? options.styles || {} : {};\n this.text = text;\n this.__skipDimension = true;\n this.callSuper(\"initialize\", options);\n if (this.path) {\n this.setPathInfo();\n }\n this.__skipDimension = false;\n this.initDimensions();\n this.setCoords();\n this.setupState({\n propertySet: \"_dimensionAffectingProps\"\n });\n },\n /**\n * If text has a path, it will add the extra information needed\n * for path and text calculations\n * @return {fabric.Text} thisArg\n */ setPathInfo: function() {\n var path = this.path;\n if (path) {\n path.segmentsInfo = fabric.util.getPathSegmentsInfo(path.path);\n }\n },\n /**\n * Return a context for measurement of text string.\n * if created it gets stored for reuse\n * this is for internal use, please do not use it\n * @private\n * @param {String} text Text string\n * @param {Object} [options] Options object\n * @return {fabric.Text} thisArg\n */ getMeasuringContext: function() {\n // if we did not return we have to measure something.\n if (!fabric._measuringContext) {\n fabric._measuringContext = this.canvas && this.canvas.contextCache || fabric.util.createCanvasElement().getContext(\"2d\");\n }\n return fabric._measuringContext;\n },\n /**\n * @private\n * Divides text into lines of text and lines of graphemes.\n */ _splitText: function() {\n var newLines = this._splitTextIntoLines(this.text);\n this.textLines = newLines.lines;\n this._textLines = newLines.graphemeLines;\n this._unwrappedTextLines = newLines._unwrappedLines;\n this._text = newLines.graphemeText;\n return newLines;\n },\n /**\n * Initialize or update text dimensions.\n * Updates this.width and this.height with the proper values.\n * Does not return dimensions.\n */ initDimensions: function() {\n if (this.__skipDimension) {\n return;\n }\n this._splitText();\n this._clearCache();\n if (this.path) {\n this.width = this.path.width;\n this.height = this.path.height;\n } else {\n this.width = this.calcTextWidth() || this.cursorWidth || this.MIN_TEXT_WIDTH;\n this.height = this.calcTextHeight();\n }\n if (this.textAlign.indexOf(\"justify\") !== -1) {\n // once text is measured we need to make space fatter to make justified text.\n this.enlargeSpaces();\n }\n this.saveState({\n propertySet: \"_dimensionAffectingProps\"\n });\n },\n /**\n * Enlarge space boxes and shift the others\n */ enlargeSpaces: function() {\n var diffSpace, currentLineWidth, numberOfSpaces, accumulatedSpace, line, charBound, spaces;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n if (this.textAlign !== \"justify\" && (i === len - 1 || this.isEndOfWrapping(i))) {\n continue;\n }\n accumulatedSpace = 0;\n line = this._textLines[i];\n currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth < this.width && (spaces = this.textLines[i].match(this._reSpacesAndTabs))) {\n numberOfSpaces = spaces.length;\n diffSpace = (this.width - currentLineWidth) / numberOfSpaces;\n for(var j = 0, jlen = line.length; j <= jlen; j++){\n charBound = this.__charBounds[i][j];\n if (this._reSpaceAndTab.test(line[j])) {\n charBound.width += diffSpace;\n charBound.kernedWidth += diffSpace;\n charBound.left += accumulatedSpace;\n accumulatedSpace += diffSpace;\n } else {\n charBound.left += accumulatedSpace;\n }\n }\n }\n }\n },\n /**\n * Detect if the text line is ended with an hard break\n * text and itext do not have wrapping, return false\n * @return {Boolean}\n */ isEndOfWrapping: function(lineIndex) {\n return lineIndex === this._textLines.length - 1;\n },\n /**\n * Detect if a line has a linebreak and so we need to account for it when moving\n * and counting style.\n * It return always for text and Itext.\n * @return Number\n */ missingNewlineOffset: function() {\n return 1;\n },\n /**\n * Returns string representation of an instance\n * @return {String} String representation of text object\n */ toString: function() {\n return \"#';\n },\n /**\n * Return the dimension and the zoom level needed to create a cache canvas\n * big enough to host the object to be cached.\n * @private\n * @param {Object} dim.x width of object to be cached\n * @param {Object} dim.y height of object to be cached\n * @return {Object}.width width of canvas\n * @return {Object}.height height of canvas\n * @return {Object}.zoomX zoomX zoom value to unscale the canvas before drawing cache\n * @return {Object}.zoomY zoomY zoom value to unscale the canvas before drawing cache\n */ _getCacheCanvasDimensions: function() {\n var dims = this.callSuper(\"_getCacheCanvasDimensions\");\n var fontSize = this.fontSize;\n dims.width += fontSize * dims.zoomX;\n dims.height += fontSize * dims.zoomY;\n return dims;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _render: function(ctx) {\n var path = this.path;\n path && !path.isNotVisible() && path._render(ctx);\n this._setTextStyles(ctx);\n this._renderTextLinesBackground(ctx);\n this._renderTextDecoration(ctx, \"underline\");\n this._renderText(ctx);\n this._renderTextDecoration(ctx, \"overline\");\n this._renderTextDecoration(ctx, \"linethrough\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderText: function(ctx) {\n if (this.paintFirst === \"stroke\") {\n this._renderTextStroke(ctx);\n this._renderTextFill(ctx);\n } else {\n this._renderTextFill(ctx);\n this._renderTextStroke(ctx);\n }\n },\n /**\n * Set the font parameter of the context with the object properties or with charStyle\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Object} [charStyle] object with font style properties\n * @param {String} [charStyle.fontFamily] Font Family\n * @param {Number} [charStyle.fontSize] Font size in pixels. ( without px suffix )\n * @param {String} [charStyle.fontWeight] Font weight\n * @param {String} [charStyle.fontStyle] Font style (italic|normal)\n */ _setTextStyles: function(ctx, charStyle, forMeasuring) {\n ctx.textBaseline = \"alphabetical\";\n if (this.path) {\n switch(this.pathAlign){\n case \"center\":\n ctx.textBaseline = \"middle\";\n break;\n case \"ascender\":\n ctx.textBaseline = \"top\";\n break;\n case \"descender\":\n ctx.textBaseline = \"bottom\";\n break;\n }\n }\n ctx.font = this._getFontDeclaration(charStyle, forMeasuring);\n },\n /**\n * calculate and return the text Width measuring each line.\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @return {Number} Maximum width of fabric.Text object\n */ calcTextWidth: function() {\n var maxWidth = this.getLineWidth(0);\n for(var i = 1, len = this._textLines.length; i < len; i++){\n var currentLineWidth = this.getLineWidth(i);\n if (currentLineWidth > maxWidth) {\n maxWidth = currentLineWidth;\n }\n }\n return maxWidth;\n },\n /**\n * @private\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} line Text to render\n * @param {Number} left Left position of text\n * @param {Number} top Top position of text\n * @param {Number} lineIndex Index of a line in a text\n */ _renderTextLine: function(method, ctx, line, left, top, lineIndex) {\n this._renderChars(method, ctx, line, left, top, lineIndex);\n },\n /**\n * Renders the text background for lines, taking care of style\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextLinesBackground: function(ctx) {\n if (!this.textBackgroundColor && !this.styleHas(\"textBackgroundColor\")) {\n return;\n }\n var heightOfLine, lineLeftOffset, originalFill = ctx.fillStyle, line, lastColor, leftOffset = this._getLeftOffset(), lineTopOffset = this._getTopOffset(), boxStart = 0, boxWidth = 0, charBox, currentColor, path = this.path, drawStart;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n heightOfLine = this.getHeightOfLine(i);\n if (!this.textBackgroundColor && !this.styleHas(\"textBackgroundColor\", i)) {\n lineTopOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n lineLeftOffset = this._getLineLeftOffset(i);\n boxWidth = 0;\n boxStart = 0;\n lastColor = this.getValueOfPropertyAt(i, 0, \"textBackgroundColor\");\n for(var j = 0, jlen = line.length; j < jlen; j++){\n charBox = this.__charBounds[i][j];\n currentColor = this.getValueOfPropertyAt(i, j, \"textBackgroundColor\");\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillStyle = currentColor;\n currentColor && ctx.fillRect(-charBox.width / 2, -heightOfLine / this.lineHeight * (1 - this._fontSizeFraction), charBox.width, heightOfLine / this.lineHeight);\n ctx.restore();\n } else if (currentColor !== lastColor) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = lastColor;\n lastColor && ctx.fillRect(drawStart, lineTopOffset, boxWidth, heightOfLine / this.lineHeight);\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastColor = currentColor;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n }\n if (currentColor && !path) {\n drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentColor;\n ctx.fillRect(drawStart, lineTopOffset, boxWidth, heightOfLine / this.lineHeight);\n }\n lineTopOffset += heightOfLine;\n }\n ctx.fillStyle = originalFill;\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n /**\n * @private\n * @param {Object} decl style declaration for cache\n * @param {String} decl.fontFamily fontFamily\n * @param {String} decl.fontStyle fontStyle\n * @param {String} decl.fontWeight fontWeight\n * @return {Object} reference to cache\n */ getFontCache: function(decl) {\n var fontFamily = decl.fontFamily.toLowerCase();\n if (!fabric.charWidthsCache[fontFamily]) {\n fabric.charWidthsCache[fontFamily] = {};\n }\n var cache = fabric.charWidthsCache[fontFamily], cacheProp = decl.fontStyle.toLowerCase() + \"_\" + (decl.fontWeight + \"\").toLowerCase();\n if (!cache[cacheProp]) {\n cache[cacheProp] = {};\n }\n return cache[cacheProp];\n },\n /**\n * measure and return the width of a single character.\n * possibly overridden to accommodate different measure logic or\n * to hook some external lib for character measurement\n * @private\n * @param {String} _char, char to be measured\n * @param {Object} charStyle style of char to be measured\n * @param {String} [previousChar] previous char\n * @param {Object} [prevCharStyle] style of previous char\n */ _measureChar: function(_char, charStyle, previousChar, prevCharStyle) {\n // first i try to return from cache\n var fontCache = this.getFontCache(charStyle), fontDeclaration = this._getFontDeclaration(charStyle), previousFontDeclaration = this._getFontDeclaration(prevCharStyle), couple = previousChar + _char, stylesAreEqual = fontDeclaration === previousFontDeclaration, width, coupleWidth, previousWidth, fontMultiplier = charStyle.fontSize / this.CACHE_FONT_SIZE, kernedWidth;\n if (previousChar && fontCache[previousChar] !== undefined) {\n previousWidth = fontCache[previousChar];\n }\n if (fontCache[_char] !== undefined) {\n kernedWidth = width = fontCache[_char];\n }\n if (stylesAreEqual && fontCache[couple] !== undefined) {\n coupleWidth = fontCache[couple];\n kernedWidth = coupleWidth - previousWidth;\n }\n if (width === undefined || previousWidth === undefined || coupleWidth === undefined) {\n var ctx = this.getMeasuringContext();\n // send a TRUE to specify measuring font size CACHE_FONT_SIZE\n this._setTextStyles(ctx, charStyle, true);\n }\n if (width === undefined) {\n kernedWidth = width = ctx.measureText(_char).width;\n fontCache[_char] = width;\n }\n if (previousWidth === undefined && stylesAreEqual && previousChar) {\n previousWidth = ctx.measureText(previousChar).width;\n fontCache[previousChar] = previousWidth;\n }\n if (stylesAreEqual && coupleWidth === undefined) {\n // we can measure the kerning couple and subtract the width of the previous character\n coupleWidth = ctx.measureText(couple).width;\n fontCache[couple] = coupleWidth;\n kernedWidth = coupleWidth - previousWidth;\n }\n return {\n width: width * fontMultiplier,\n kernedWidth: kernedWidth * fontMultiplier\n };\n },\n /**\n * Computes height of character at given position\n * @param {Number} line the line index number\n * @param {Number} _char the character index number\n * @return {Number} fontSize of the character\n */ getHeightOfChar: function(line, _char) {\n return this.getValueOfPropertyAt(line, _char, \"fontSize\");\n },\n /**\n * measure a text line measuring all characters.\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */ measureLine: function(lineIndex) {\n var lineInfo = this._measureLine(lineIndex);\n if (this.charSpacing !== 0) {\n lineInfo.width -= this._getWidthOfCharSpacing();\n }\n if (lineInfo.width < 0) {\n lineInfo.width = 0;\n }\n return lineInfo;\n },\n /**\n * measure every grapheme of a line, populating __charBounds\n * @param {Number} lineIndex\n * @return {Object} object.width total width of characters\n * @return {Object} object.widthOfSpaces length of chars that match this._reSpacesAndTabs\n */ _measureLine: function(lineIndex) {\n var width = 0, i, grapheme, line = this._textLines[lineIndex], prevGrapheme, graphemeInfo, numOfSpaces = 0, lineBounds = new Array(line.length), positionInPath = 0, startingPoint, totalPathLength, path = this.path, reverse = this.pathSide === \"right\";\n this.__charBounds[lineIndex] = lineBounds;\n for(i = 0; i < line.length; i++){\n grapheme = line[i];\n graphemeInfo = this._getGraphemeBox(grapheme, lineIndex, i, prevGrapheme);\n lineBounds[i] = graphemeInfo;\n width += graphemeInfo.kernedWidth;\n prevGrapheme = grapheme;\n }\n // this latest bound box represent the last character of the line\n // to simplify cursor handling in interactive mode.\n lineBounds[i] = {\n left: graphemeInfo ? graphemeInfo.left + graphemeInfo.width : 0,\n width: 0,\n kernedWidth: 0,\n height: this.fontSize\n };\n if (path) {\n totalPathLength = path.segmentsInfo[path.segmentsInfo.length - 1].length;\n startingPoint = fabric.util.getPointOnPath(path.path, 0, path.segmentsInfo);\n startingPoint.x += path.pathOffset.x;\n startingPoint.y += path.pathOffset.y;\n switch(this.textAlign){\n case \"left\":\n positionInPath = reverse ? totalPathLength - width : 0;\n break;\n case \"center\":\n positionInPath = (totalPathLength - width) / 2;\n break;\n case \"right\":\n positionInPath = reverse ? 0 : totalPathLength - width;\n break;\n }\n positionInPath += this.pathStartOffset * (reverse ? -1 : 1);\n for(i = reverse ? line.length - 1 : 0; reverse ? i >= 0 : i < line.length; reverse ? i-- : i++){\n graphemeInfo = lineBounds[i];\n if (positionInPath > totalPathLength) {\n positionInPath %= totalPathLength;\n } else if (positionInPath < 0) {\n positionInPath += totalPathLength;\n }\n // it would probably much faster to send all the grapheme position for a line\n // and calculate path position/angle at once.\n this._setGraphemeOnPath(positionInPath, graphemeInfo, startingPoint);\n positionInPath += graphemeInfo.kernedWidth;\n }\n }\n return {\n width: width,\n numOfSpaces: numOfSpaces\n };\n },\n /**\n * Calculate the angle and the left,top position of the char that follow a path.\n * It appends it to graphemeInfo to be reused later at rendering\n * @private\n * @param {Number} positionInPath to be measured\n * @param {Object} graphemeInfo current grapheme box information\n * @param {Object} startingPoint position of the point\n */ _setGraphemeOnPath: function(positionInPath, graphemeInfo, startingPoint) {\n var centerPosition = positionInPath + graphemeInfo.kernedWidth / 2, path = this.path;\n // we are at currentPositionOnPath. we want to know what point on the path is.\n var info = fabric.util.getPointOnPath(path.path, centerPosition, path.segmentsInfo);\n graphemeInfo.renderLeft = info.x - startingPoint.x;\n graphemeInfo.renderTop = info.y - startingPoint.y;\n graphemeInfo.angle = info.angle + (this.pathSide === \"right\" ? Math.PI : 0);\n },\n /**\n * Measure and return the info of a single grapheme.\n * needs the the info of previous graphemes already filled\n * @private\n * @param {String} grapheme to be measured\n * @param {Number} lineIndex index of the line where the char is\n * @param {Number} charIndex position in the line\n * @param {String} [prevGrapheme] character preceding the one to be measured\n */ _getGraphemeBox: function(grapheme, lineIndex, charIndex, prevGrapheme, skipLeft) {\n var style = this.getCompleteStyleDeclaration(lineIndex, charIndex), prevStyle = prevGrapheme ? this.getCompleteStyleDeclaration(lineIndex, charIndex - 1) : {}, info = this._measureChar(grapheme, style, prevGrapheme, prevStyle), kernedWidth = info.kernedWidth, width = info.width, charSpacing;\n if (this.charSpacing !== 0) {\n charSpacing = this._getWidthOfCharSpacing();\n width += charSpacing;\n kernedWidth += charSpacing;\n }\n var box = {\n width: width,\n left: 0,\n height: style.fontSize,\n kernedWidth: kernedWidth,\n deltaY: style.deltaY\n };\n if (charIndex > 0 && !skipLeft) {\n var previousBox = this.__charBounds[lineIndex][charIndex - 1];\n box.left = previousBox.left + previousBox.width + info.kernedWidth - info.width;\n }\n return box;\n },\n /**\n * Calculate height of line at 'lineIndex'\n * @param {Number} lineIndex index of line to calculate\n * @return {Number}\n */ getHeightOfLine: function(lineIndex) {\n if (this.__lineHeights[lineIndex]) {\n return this.__lineHeights[lineIndex];\n }\n var line = this._textLines[lineIndex], // char 0 is measured before the line cycle because it nneds to char\n // emptylines\n maxHeight = this.getHeightOfChar(lineIndex, 0);\n for(var i = 1, len = line.length; i < len; i++){\n maxHeight = Math.max(this.getHeightOfChar(lineIndex, i), maxHeight);\n }\n return this.__lineHeights[lineIndex] = maxHeight * this.lineHeight * this._fontSizeMult;\n },\n /**\n * Calculate text box height\n */ calcTextHeight: function() {\n var lineHeight, height = 0;\n for(var i = 0, len = this._textLines.length; i < len; i++){\n lineHeight = this.getHeightOfLine(i);\n height += i === len - 1 ? lineHeight / this.lineHeight : lineHeight;\n }\n return height;\n },\n /**\n * @private\n * @return {Number} Left offset\n */ _getLeftOffset: function() {\n return this.direction === \"ltr\" ? -this.width / 2 : this.width / 2;\n },\n /**\n * @private\n * @return {Number} Top offset\n */ _getTopOffset: function() {\n return -this.height / 2;\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {String} method Method name (\"fillText\" or \"strokeText\")\n */ _renderTextCommon: function(ctx, method) {\n ctx.save();\n var lineHeights = 0, left = this._getLeftOffset(), top = this._getTopOffset();\n for(var i = 0, len = this._textLines.length; i < len; i++){\n var heightOfLine = this.getHeightOfLine(i), maxHeight = heightOfLine / this.lineHeight, leftOffset = this._getLineLeftOffset(i);\n this._renderTextLine(method, ctx, this._textLines[i], left + leftOffset, top + lineHeights + maxHeight, i);\n lineHeights += heightOfLine;\n }\n ctx.restore();\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextFill: function(ctx) {\n if (!this.fill && !this.styleHas(\"fill\")) {\n return;\n }\n this._renderTextCommon(ctx, \"fillText\");\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextStroke: function(ctx) {\n if ((!this.stroke || this.strokeWidth === 0) && this.isEmptyStyles()) {\n return;\n }\n if (this.shadow && !this.shadow.affectStroke) {\n this._removeShadow(ctx);\n }\n ctx.save();\n this._setLineDash(ctx, this.strokeDashArray);\n ctx.beginPath();\n this._renderTextCommon(ctx, \"strokeText\");\n ctx.closePath();\n ctx.restore();\n },\n /**\n * @private\n * @param {String} method fillText or strokeText.\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Array} line Content of the line, splitted in an array by grapheme\n * @param {Number} left\n * @param {Number} top\n * @param {Number} lineIndex\n */ _renderChars: function(method, ctx, line, left, top, lineIndex) {\n // set proper line offset\n var lineHeight = this.getHeightOfLine(lineIndex), isJustify = this.textAlign.indexOf(\"justify\") !== -1, actualStyle, nextStyle, charsToRender = \"\", charBox, boxWidth = 0, timeToRender, path = this.path, shortCut = !isJustify && this.charSpacing === 0 && this.isEmptyStyles(lineIndex) && !path, isLtr = this.direction === \"ltr\", sign = this.direction === \"ltr\" ? 1 : -1, drawingLeft, currentDirection = ctx.canvas.getAttribute(\"dir\");\n ctx.save();\n if (currentDirection !== this.direction) {\n ctx.canvas.setAttribute(\"dir\", isLtr ? \"ltr\" : \"rtl\");\n ctx.direction = isLtr ? \"ltr\" : \"rtl\";\n ctx.textAlign = isLtr ? \"left\" : \"right\";\n }\n top -= lineHeight * this._fontSizeFraction / this.lineHeight;\n if (shortCut) {\n // render all the line in one pass without checking\n // drawingLeft = isLtr ? left : left - this.getLineWidth(lineIndex);\n this._renderChar(method, ctx, lineIndex, 0, line.join(\"\"), left, top, lineHeight);\n ctx.restore();\n return;\n }\n for(var i = 0, len = line.length - 1; i <= len; i++){\n timeToRender = i === len || this.charSpacing || path;\n charsToRender += line[i];\n charBox = this.__charBounds[lineIndex][i];\n if (boxWidth === 0) {\n left += sign * (charBox.kernedWidth - charBox.width);\n boxWidth += charBox.width;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n if (isJustify && !timeToRender) {\n if (this._reSpaceAndTab.test(line[i])) {\n timeToRender = true;\n }\n }\n if (!timeToRender) {\n // if we have charSpacing, we render char by char\n actualStyle = actualStyle || this.getCompleteStyleDeclaration(lineIndex, i);\n nextStyle = this.getCompleteStyleDeclaration(lineIndex, i + 1);\n timeToRender = fabric.util.hasStyleChanged(actualStyle, nextStyle, false);\n }\n if (timeToRender) {\n if (path) {\n ctx.save();\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n this._renderChar(method, ctx, lineIndex, i, charsToRender, -boxWidth / 2, 0, lineHeight);\n ctx.restore();\n } else {\n drawingLeft = left;\n this._renderChar(method, ctx, lineIndex, i, charsToRender, drawingLeft, top, lineHeight);\n }\n charsToRender = \"\";\n actualStyle = nextStyle;\n left += sign * boxWidth;\n boxWidth = 0;\n }\n }\n ctx.restore();\n },\n /**\n * This function try to patch the missing gradientTransform on canvas gradients.\n * transforming a context to transform the gradient, is going to transform the stroke too.\n * we want to transform the gradient but not the stroke operation, so we create\n * a transformed gradient on a pattern and then we use the pattern instead of the gradient.\n * this method has drawbacks: is slow, is in low resolution, needs a patch for when the size\n * is limited.\n * @private\n * @param {fabric.Gradient} filler a fabric gradient instance\n * @return {CanvasPattern} a pattern to use as fill/stroke style\n */ _applyPatternGradientTransformText: function(filler) {\n var pCanvas = fabric.util.createCanvasElement(), pCtx, // TODO: verify compatibility with strokeUniform\n width = this.width + this.strokeWidth, height = this.height + this.strokeWidth;\n pCanvas.width = width;\n pCanvas.height = height;\n pCtx = pCanvas.getContext(\"2d\");\n pCtx.beginPath();\n pCtx.moveTo(0, 0);\n pCtx.lineTo(width, 0);\n pCtx.lineTo(width, height);\n pCtx.lineTo(0, height);\n pCtx.closePath();\n pCtx.translate(width / 2, height / 2);\n pCtx.fillStyle = filler.toLive(pCtx);\n this._applyPatternGradientTransform(pCtx, filler);\n pCtx.fill();\n return pCtx.createPattern(pCanvas, \"no-repeat\");\n },\n handleFiller: function(ctx, property, filler) {\n var offsetX, offsetY;\n if (filler.toLive) {\n if (filler.gradientUnits === \"percentage\" || filler.gradientTransform || filler.patternTransform) {\n // need to transform gradient in a pattern.\n // this is a slow process. If you are hitting this codepath, and the object\n // is not using caching, you should consider switching it on.\n // we need a canvas as big as the current object caching canvas.\n offsetX = -this.width / 2;\n offsetY = -this.height / 2;\n ctx.translate(offsetX, offsetY);\n ctx[property] = this._applyPatternGradientTransformText(filler);\n return {\n offsetX: offsetX,\n offsetY: offsetY\n };\n } else {\n // is a simple gradient or pattern\n ctx[property] = filler.toLive(ctx, this);\n return this._applyPatternGradientTransform(ctx, filler);\n }\n } else {\n // is a color\n ctx[property] = filler;\n }\n return {\n offsetX: 0,\n offsetY: 0\n };\n },\n _setStrokeStyles: function(ctx, decl) {\n ctx.lineWidth = decl.strokeWidth;\n ctx.lineCap = this.strokeLineCap;\n ctx.lineDashOffset = this.strokeDashOffset;\n ctx.lineJoin = this.strokeLineJoin;\n ctx.miterLimit = this.strokeMiterLimit;\n return this.handleFiller(ctx, \"strokeStyle\", decl.stroke);\n },\n _setFillStyles: function(ctx, decl) {\n return this.handleFiller(ctx, \"fillStyle\", decl.fill);\n },\n /**\n * @private\n * @param {String} method\n * @param {CanvasRenderingContext2D} ctx Context to render on\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {String} _char\n * @param {Number} left Left coordinate\n * @param {Number} top Top coordinate\n * @param {Number} lineHeight Height of the line\n */ _renderChar: function(method, ctx, lineIndex, charIndex, _char, left, top) {\n var decl = this._getStyleDeclaration(lineIndex, charIndex), fullDecl = this.getCompleteStyleDeclaration(lineIndex, charIndex), shouldFill = method === \"fillText\" && fullDecl.fill, shouldStroke = method === \"strokeText\" && fullDecl.stroke && fullDecl.strokeWidth, fillOffsets, strokeOffsets;\n if (!shouldStroke && !shouldFill) {\n return;\n }\n ctx.save();\n shouldFill && (fillOffsets = this._setFillStyles(ctx, fullDecl));\n shouldStroke && (strokeOffsets = this._setStrokeStyles(ctx, fullDecl));\n ctx.font = this._getFontDeclaration(fullDecl);\n if (decl && decl.textBackgroundColor) {\n this._removeShadow(ctx);\n }\n if (decl && decl.deltaY) {\n top += decl.deltaY;\n }\n shouldFill && ctx.fillText(_char, left - fillOffsets.offsetX, top - fillOffsets.offsetY);\n shouldStroke && ctx.strokeText(_char, left - strokeOffsets.offsetX, top - strokeOffsets.offsetY);\n ctx.restore();\n },\n /**\n * Turns the character into a 'superior figure' (i.e. 'superscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */ setSuperscript: function(start, end) {\n return this._setScript(start, end, this.superscript);\n },\n /**\n * Turns the character into an 'inferior figure' (i.e. 'subscript')\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @returns {fabric.Text} thisArg\n * @chainable\n */ setSubscript: function(start, end) {\n return this._setScript(start, end, this.subscript);\n },\n /**\n * Applies 'schema' at given position\n * @private\n * @param {Number} start selection start\n * @param {Number} end selection end\n * @param {Number} schema\n * @returns {fabric.Text} thisArg\n * @chainable\n */ _setScript: function(start, end, schema) {\n var loc = this.get2DCursorLocation(start, true), fontSize = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, \"fontSize\"), dy = this.getValueOfPropertyAt(loc.lineIndex, loc.charIndex, \"deltaY\"), style = {\n fontSize: fontSize * schema.size,\n deltaY: dy + fontSize * schema.baseline\n };\n this.setSelectionStyles(style, start, end);\n return this;\n },\n /**\n * @private\n * @param {Number} lineIndex index text line\n * @return {Number} Line left offset\n */ _getLineLeftOffset: function(lineIndex) {\n var lineWidth = this.getLineWidth(lineIndex), lineDiff = this.width - lineWidth, textAlign = this.textAlign, direction = this.direction, isEndOfWrapping, leftOffset = 0, isEndOfWrapping = this.isEndOfWrapping(lineIndex);\n if (textAlign === \"justify\" || textAlign === \"justify-center\" && !isEndOfWrapping || textAlign === \"justify-right\" && !isEndOfWrapping || textAlign === \"justify-left\" && !isEndOfWrapping) {\n return 0;\n }\n if (textAlign === \"center\") {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === \"right\") {\n leftOffset = lineDiff;\n }\n if (textAlign === \"justify-center\") {\n leftOffset = lineDiff / 2;\n }\n if (textAlign === \"justify-right\") {\n leftOffset = lineDiff;\n }\n if (direction === \"rtl\") {\n leftOffset -= lineDiff;\n }\n return leftOffset;\n },\n /**\n * @private\n */ _clearCache: function() {\n this.__lineWidths = [];\n this.__lineHeights = [];\n this.__charBounds = [];\n },\n /**\n * @private\n */ _shouldClearDimensionCache: function() {\n var shouldClear = this._forceClearCache;\n shouldClear || (shouldClear = this.hasStateChanged(\"_dimensionAffectingProps\"));\n if (shouldClear) {\n this.dirty = true;\n this._forceClearCache = false;\n }\n return shouldClear;\n },\n /**\n * Measure a single line given its index. Used to calculate the initial\n * text bounding box. The values are calculated and stored in __lineWidths cache.\n * @private\n * @param {Number} lineIndex line number\n * @return {Number} Line width\n */ getLineWidth: function(lineIndex) {\n if (this.__lineWidths[lineIndex] !== undefined) {\n return this.__lineWidths[lineIndex];\n }\n var lineInfo = this.measureLine(lineIndex);\n var width = lineInfo.width;\n this.__lineWidths[lineIndex] = width;\n return width;\n },\n _getWidthOfCharSpacing: function() {\n if (this.charSpacing !== 0) {\n return this.fontSize * this.charSpacing / 1000;\n }\n return 0;\n },\n /**\n * Retrieves the value of property at given character position\n * @param {Number} lineIndex the line number\n * @param {Number} charIndex the character number\n * @param {String} property the property name\n * @returns the value of 'property'\n */ getValueOfPropertyAt: function(lineIndex, charIndex, property) {\n var charStyle = this._getStyleDeclaration(lineIndex, charIndex);\n if (charStyle && typeof charStyle[property] !== \"undefined\") {\n return charStyle[property];\n }\n return this[property];\n },\n /**\n * @private\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ _renderTextDecoration: function(ctx, type) {\n if (!this[type] && !this.styleHas(type)) {\n return;\n }\n var heightOfLine, size, _size, lineLeftOffset, dy, _dy, line, lastDecoration, leftOffset = this._getLeftOffset(), topOffset = this._getTopOffset(), top, boxStart, boxWidth, charBox, currentDecoration, maxHeight, currentFill, lastFill, path = this.path, charSpacing = this._getWidthOfCharSpacing(), offsetY = this.offsets[type];\n for(var i = 0, len = this._textLines.length; i < len; i++){\n heightOfLine = this.getHeightOfLine(i);\n if (!this[type] && !this.styleHas(type, i)) {\n topOffset += heightOfLine;\n continue;\n }\n line = this._textLines[i];\n maxHeight = heightOfLine / this.lineHeight;\n lineLeftOffset = this._getLineLeftOffset(i);\n boxStart = 0;\n boxWidth = 0;\n lastDecoration = this.getValueOfPropertyAt(i, 0, type);\n lastFill = this.getValueOfPropertyAt(i, 0, \"fill\");\n top = topOffset + maxHeight * (1 - this._fontSizeFraction);\n size = this.getHeightOfChar(i, 0);\n dy = this.getValueOfPropertyAt(i, 0, \"deltaY\");\n for(var j = 0, jlen = line.length; j < jlen; j++){\n charBox = this.__charBounds[i][j];\n currentDecoration = this.getValueOfPropertyAt(i, j, type);\n currentFill = this.getValueOfPropertyAt(i, j, \"fill\");\n _size = this.getHeightOfChar(i, j);\n _dy = this.getValueOfPropertyAt(i, j, \"deltaY\");\n if (path && currentDecoration && currentFill) {\n ctx.save();\n ctx.fillStyle = lastFill;\n ctx.translate(charBox.renderLeft, charBox.renderTop);\n ctx.rotate(charBox.angle);\n ctx.fillRect(-charBox.kernedWidth / 2, offsetY * _size + _dy, charBox.kernedWidth, this.fontSize / 15);\n ctx.restore();\n } else if ((currentDecoration !== lastDecoration || currentFill !== lastFill || _size !== size || _dy !== dy) && boxWidth > 0) {\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n if (lastDecoration && lastFill) {\n ctx.fillStyle = lastFill;\n ctx.fillRect(drawStart, top + offsetY * size + dy, boxWidth, this.fontSize / 15);\n }\n boxStart = charBox.left;\n boxWidth = charBox.width;\n lastDecoration = currentDecoration;\n lastFill = currentFill;\n size = _size;\n dy = _dy;\n } else {\n boxWidth += charBox.kernedWidth;\n }\n }\n var drawStart = leftOffset + lineLeftOffset + boxStart;\n if (this.direction === \"rtl\") {\n drawStart = this.width - drawStart - boxWidth;\n }\n ctx.fillStyle = currentFill;\n currentDecoration && currentFill && ctx.fillRect(drawStart, top + offsetY * size + dy, boxWidth - charSpacing, this.fontSize / 15);\n topOffset += heightOfLine;\n }\n // if there is text background color no\n // other shadows should be casted\n this._removeShadow(ctx);\n },\n /**\n * return font declaration string for canvas context\n * @param {Object} [styleObject] object\n * @returns {String} font declaration formatted for canvas context.\n */ _getFontDeclaration: function(styleObject, forMeasuring) {\n var style = styleObject || this, family = this.fontFamily, fontIsGeneric = fabric.Text.genericFonts.indexOf(family.toLowerCase()) > -1;\n var fontFamily = family === undefined || family.indexOf(\"'\") > -1 || family.indexOf(\",\") > -1 || family.indexOf('\"') > -1 || fontIsGeneric ? style.fontFamily : '\"' + style.fontFamily + '\"';\n return [\n // node-canvas needs \"weight style\", while browsers need \"style weight\"\n // verify if this can be fixed in JSDOM\n fabric.isLikelyNode ? style.fontWeight : style.fontStyle,\n fabric.isLikelyNode ? style.fontStyle : style.fontWeight,\n forMeasuring ? this.CACHE_FONT_SIZE + \"px\" : style.fontSize + \"px\",\n fontFamily\n ].join(\" \");\n },\n /**\n * Renders text instance on a specified context\n * @param {CanvasRenderingContext2D} ctx Context to render on\n */ render: function(ctx) {\n // do not render if object is not visible\n if (!this.visible) {\n return;\n }\n if (this.canvas && this.canvas.skipOffscreen && !this.group && !this.isOnScreen()) {\n return;\n }\n if (this._shouldClearDimensionCache()) {\n this.initDimensions();\n }\n this.callSuper(\"render\", ctx);\n },\n /**\n * Returns the text as an array of lines.\n * @param {String} text text to split\n * @returns {Array} Lines in the text\n */ _splitTextIntoLines: function(text) {\n var lines = text.split(this._reNewline), newLines = new Array(lines.length), newLine = [\n \"\\n\"\n ], newText = [];\n for(var i = 0; i < lines.length; i++){\n newLines[i] = fabric.util.string.graphemeSplit(lines[i]);\n newText = newText.concat(newLines[i], newLine);\n }\n newText.pop();\n return {\n _unwrappedLines: newLines,\n lines: lines,\n graphemeText: newText,\n graphemeLines: newLines\n };\n },\n /**\n * Returns object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var allProperties = additionalProps.concat(propertiesToInclude);\n var obj = this.callSuper(\"toObject\", allProperties);\n obj.styles = fabric.util.stylesToArray(this.styles, this.text);\n if (obj.path) {\n obj.path = this.path.toObject();\n }\n return obj;\n },\n /**\n * Sets property to a given value. When changing position/dimension -related properties (left, top, scale, angle, etc.) `set` does not update position of object's borders/controls. If you need to update those, call `setCoords()`.\n * @param {String|Object} key Property name or object (if object, iterate over the object properties)\n * @param {Object|Function} value Property value (if function, the value is passed into it and its return value is used as a new one)\n * @return {fabric.Object} thisArg\n * @chainable\n */ set: function(key, value) {\n this.callSuper(\"set\", key, value);\n var needsDims = false;\n var isAddingPath = false;\n if (typeof key === \"object\") {\n for(var _key in key){\n if (_key === \"path\") {\n this.setPathInfo();\n }\n needsDims = needsDims || this._dimensionAffectingProps.indexOf(_key) !== -1;\n isAddingPath = isAddingPath || _key === \"path\";\n }\n } else {\n needsDims = this._dimensionAffectingProps.indexOf(key) !== -1;\n isAddingPath = key === \"path\";\n }\n if (isAddingPath) {\n this.setPathInfo();\n }\n if (needsDims) {\n this.initDimensions();\n this.setCoords();\n }\n return this;\n },\n /**\n * Returns complexity of an instance\n * @return {Number} complexity\n */ complexity: function() {\n return 1;\n }\n });\n /**\n * Returns fabric.Text instance from an object representation\n * @static\n * @memberOf fabric.Text\n * @param {Object} object plain js Object to create an instance from\n * @param {Function} [callback] Callback to invoke when an fabric.Text instance is created\n */ fabric.Text.fromObject = function(object, callback) {\n var objectCopy = clone(object), path = object.path;\n delete objectCopy.path;\n return fabric.Object._fromObject(\"Text\", objectCopy, function(textInstance) {\n textInstance.styles = fabric.util.stylesFromArray(object.styles, object.text);\n if (path) {\n fabric.Object._fromObject(\"Path\", path, function(pathInstance) {\n textInstance.set(\"path\", pathInstance);\n callback(textInstance);\n }, \"path\");\n } else {\n callback(textInstance);\n }\n }, \"text\");\n };\n fabric.Text.genericFonts = [\n \"sans-serif\",\n \"serif\",\n \"cursive\",\n \"fantasy\",\n \"monospace\"\n ];\n fabric.util.createAccessors && fabric.util.createAccessors(fabric.Text);\n})( true ? exports : 0);\n(function() {\n fabric.util.object.extend(fabric.Text.prototype, /** @lends fabric.Text.prototype */ {\n /**\n * Returns true if object has no styling or no styling in a line\n * @param {Number} lineIndex , lineIndex is on wrapped lines.\n * @return {Boolean}\n */ isEmptyStyles: function(lineIndex) {\n if (!this.styles) {\n return true;\n }\n if (typeof lineIndex !== \"undefined\" && !this.styles[lineIndex]) {\n return true;\n }\n var obj = typeof lineIndex === \"undefined\" ? this.styles : {\n line: this.styles[lineIndex]\n };\n for(var p1 in obj){\n for(var p2 in obj[p1]){\n // eslint-disable-next-line no-unused-vars\n for(var p3 in obj[p1][p2]){\n return false;\n }\n }\n }\n return true;\n },\n /**\n * Returns true if object has a style property or has it ina specified line\n * This function is used to detect if a text will use a particular property or not.\n * @param {String} property to check for\n * @param {Number} lineIndex to check the style on\n * @return {Boolean}\n */ styleHas: function(property, lineIndex) {\n if (!this.styles || !property || property === \"\") {\n return false;\n }\n if (typeof lineIndex !== \"undefined\" && !this.styles[lineIndex]) {\n return false;\n }\n var obj = typeof lineIndex === \"undefined\" ? this.styles : {\n 0: this.styles[lineIndex]\n };\n // eslint-disable-next-line\n for(var p1 in obj){\n // eslint-disable-next-line\n for(var p2 in obj[p1]){\n if (typeof obj[p1][p2][property] !== \"undefined\") {\n return true;\n }\n }\n }\n return false;\n },\n /**\n * Check if characters in a text have a value for a property\n * whose value matches the textbox's value for that property. If so,\n * the character-level property is deleted. If the character\n * has no other properties, then it is also deleted. Finally,\n * if the line containing that character has no other characters\n * then it also is deleted.\n *\n * @param {string} property The property to compare between characters and text.\n */ cleanStyle: function(property) {\n if (!this.styles || !property || property === \"\") {\n return false;\n }\n var obj = this.styles, stylesCount = 0, letterCount, stylePropertyValue, allStyleObjectPropertiesMatch = true, graphemeCount = 0, styleObject;\n // eslint-disable-next-line\n for(var p1 in obj){\n letterCount = 0;\n // eslint-disable-next-line\n for(var p2 in obj[p1]){\n var styleObject = obj[p1][p2], stylePropertyHasBeenSet = styleObject.hasOwnProperty(property);\n stylesCount++;\n if (stylePropertyHasBeenSet) {\n if (!stylePropertyValue) {\n stylePropertyValue = styleObject[property];\n } else if (styleObject[property] !== stylePropertyValue) {\n allStyleObjectPropertiesMatch = false;\n }\n if (styleObject[property] === this[property]) {\n delete styleObject[property];\n }\n } else {\n allStyleObjectPropertiesMatch = false;\n }\n if (Object.keys(styleObject).length !== 0) {\n letterCount++;\n } else {\n delete obj[p1][p2];\n }\n }\n if (letterCount === 0) {\n delete obj[p1];\n }\n }\n // if every grapheme has the same style set then\n // delete those styles and set it on the parent\n for(var i = 0; i < this._textLines.length; i++){\n graphemeCount += this._textLines[i].length;\n }\n if (allStyleObjectPropertiesMatch && stylesCount === graphemeCount) {\n this[property] = stylePropertyValue;\n this.removeStyle(property);\n }\n },\n /**\n * Remove a style property or properties from all individual character styles\n * in a text object. Deletes the character style object if it contains no other style\n * props. Deletes a line style object if it contains no other character styles.\n *\n * @param {String} props The property to remove from character styles.\n */ removeStyle: function(property) {\n if (!this.styles || !property || property === \"\") {\n return;\n }\n var obj = this.styles, line, lineNum, charNum;\n for(lineNum in obj){\n line = obj[lineNum];\n for(charNum in line){\n delete line[charNum][property];\n if (Object.keys(line[charNum]).length === 0) {\n delete line[charNum];\n }\n }\n if (Object.keys(line).length === 0) {\n delete obj[lineNum];\n }\n }\n },\n /**\n * @private\n */ _extendStyles: function(index, styles) {\n var loc = this.get2DCursorLocation(index);\n if (!this._getLineStyle(loc.lineIndex)) {\n this._setLineStyle(loc.lineIndex);\n }\n if (!this._getStyleDeclaration(loc.lineIndex, loc.charIndex)) {\n this._setStyleDeclaration(loc.lineIndex, loc.charIndex, {});\n }\n fabric.util.object.extend(this._getStyleDeclaration(loc.lineIndex, loc.charIndex), styles);\n },\n /**\n * Returns 2d representation (lineIndex and charIndex) of cursor (or selection start)\n * @param {Number} [selectionStart] Optional index. When not given, current selectionStart is used.\n * @param {Boolean} [skipWrapping] consider the location for unwrapped lines. useful to manage styles.\n */ get2DCursorLocation: function(selectionStart, skipWrapping) {\n if (typeof selectionStart === \"undefined\") {\n selectionStart = this.selectionStart;\n }\n var lines = skipWrapping ? this._unwrappedTextLines : this._textLines, len = lines.length;\n for(var i = 0; i < len; i++){\n if (selectionStart <= lines[i].length) {\n return {\n lineIndex: i,\n charIndex: selectionStart\n };\n }\n selectionStart -= lines[i].length + this.missingNewlineOffset(i);\n }\n return {\n lineIndex: i - 1,\n charIndex: lines[i - 1].length < selectionStart ? lines[i - 1].length : selectionStart\n };\n },\n /**\n * Gets style of a current selection/cursor (at the start position)\n * if startIndex or endIndex are not provided, selectionStart or selectionEnd will be used.\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @param {Boolean} [complete] get full style or not\n * @return {Array} styles an array with one, zero or more Style objects\n */ getSelectionStyles: function(startIndex, endIndex, complete) {\n if (typeof startIndex === \"undefined\") {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === \"undefined\") {\n endIndex = this.selectionEnd || startIndex;\n }\n var styles = [];\n for(var i = startIndex; i < endIndex; i++){\n styles.push(this.getStyleAtPosition(i, complete));\n }\n return styles;\n },\n /**\n * Gets style of a current selection/cursor position\n * @param {Number} position to get styles at\n * @param {Boolean} [complete] full style if true\n * @return {Object} style Style object at a specified index\n * @private\n */ getStyleAtPosition: function(position, complete) {\n var loc = this.get2DCursorLocation(position), style = complete ? this.getCompleteStyleDeclaration(loc.lineIndex, loc.charIndex) : this._getStyleDeclaration(loc.lineIndex, loc.charIndex);\n return style || {};\n },\n /**\n * Sets style of a current selection, if no selection exist, do not set anything.\n * @param {Object} [styles] Styles object\n * @param {Number} [startIndex] Start index to get styles at\n * @param {Number} [endIndex] End index to get styles at, if not specified selectionEnd or startIndex + 1\n * @return {fabric.IText} thisArg\n * @chainable\n */ setSelectionStyles: function(styles, startIndex, endIndex) {\n if (typeof startIndex === \"undefined\") {\n startIndex = this.selectionStart || 0;\n }\n if (typeof endIndex === \"undefined\") {\n endIndex = this.selectionEnd || startIndex;\n }\n for(var i = startIndex; i < endIndex; i++){\n this._extendStyles(i, styles);\n }\n /* not included in _extendStyles to avoid clearing cache more than once */ this._forceClearCache = true;\n return this;\n },\n /**\n * get the reference, not a clone, of the style object for a given character\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @return {Object} style object\n */ _getStyleDeclaration: function(lineIndex, charIndex) {\n var lineStyle = this.styles && this.styles[lineIndex];\n if (!lineStyle) {\n return null;\n }\n return lineStyle[charIndex];\n },\n /**\n * return a new object that contains all the style property for a character\n * the object returned is newly created\n * @param {Number} lineIndex of the line where the character is\n * @param {Number} charIndex position of the character on the line\n * @return {Object} style object\n */ getCompleteStyleDeclaration: function(lineIndex, charIndex) {\n var style = this._getStyleDeclaration(lineIndex, charIndex) || {}, styleObject = {}, prop;\n for(var i = 0; i < this._styleProperties.length; i++){\n prop = this._styleProperties[i];\n styleObject[prop] = typeof style[prop] === \"undefined\" ? this[prop] : style[prop];\n }\n return styleObject;\n },\n /**\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @param {Object} style\n * @private\n */ _setStyleDeclaration: function(lineIndex, charIndex, style) {\n this.styles[lineIndex][charIndex] = style;\n },\n /**\n *\n * @param {Number} lineIndex\n * @param {Number} charIndex\n * @private\n */ _deleteStyleDeclaration: function(lineIndex, charIndex) {\n delete this.styles[lineIndex][charIndex];\n },\n /**\n * @param {Number} lineIndex\n * @return {Boolean} if the line exists or not\n * @private\n */ _getLineStyle: function(lineIndex) {\n return !!this.styles[lineIndex];\n },\n /**\n * Set the line style to an empty object so that is initialized\n * @param {Number} lineIndex\n * @private\n */ _setLineStyle: function(lineIndex) {\n this.styles[lineIndex] = {};\n },\n /**\n * @param {Number} lineIndex\n * @private\n */ _deleteLineStyle: function(lineIndex) {\n delete this.styles[lineIndex];\n }\n });\n})();\n(function() {\n var controlsUtils = fabric.controlsUtils, scaleSkewStyleHandler = controlsUtils.scaleSkewCursorStyleHandler, scaleStyleHandler = controlsUtils.scaleCursorStyleHandler, scalingEqually = controlsUtils.scalingEqually, scalingYOrSkewingX = controlsUtils.scalingYOrSkewingX, scalingXOrSkewingY = controlsUtils.scalingXOrSkewingY, scaleOrSkewActionName = controlsUtils.scaleOrSkewActionName, objectControls = fabric.Object.prototype.controls;\n objectControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingXOrSkewingY,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mb = new fabric.Control({\n x: 0,\n y: 0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName\n });\n objectControls.mt = new fabric.Control({\n x: 0,\n y: -0.5,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionHandler: scalingYOrSkewingX,\n getActionName: scaleOrSkewActionName\n });\n objectControls.tl = new fabric.Control({\n x: -0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.tr = new fabric.Control({\n x: 0.5,\n y: -0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.bl = new fabric.Control({\n x: -0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.br = new fabric.Control({\n x: 0.5,\n y: 0.5,\n cursorStyleHandler: scaleStyleHandler,\n actionHandler: scalingEqually\n });\n objectControls.mtr = new fabric.Control({\n x: 0,\n y: -0.5,\n actionHandler: controlsUtils.rotationWithSnapping,\n cursorStyleHandler: controlsUtils.rotationStyleHandler,\n offsetY: -40,\n withConnection: true,\n actionName: \"rotate\"\n });\n if (fabric.Textbox) {\n // this is breaking the prototype inheritance, no time / ideas to fix it.\n // is important to document that if you want to have all objects to have a\n // specific custom control, you have to add it to Object prototype and to Textbox\n // prototype. The controls are shared as references. So changes to control `tr`\n // can still apply to all objects if needed.\n var textBoxControls = fabric.Textbox.prototype.controls = {};\n textBoxControls.mtr = objectControls.mtr;\n textBoxControls.tr = objectControls.tr;\n textBoxControls.br = objectControls.br;\n textBoxControls.tl = objectControls.tl;\n textBoxControls.bl = objectControls.bl;\n textBoxControls.mt = objectControls.mt;\n textBoxControls.mb = objectControls.mb;\n textBoxControls.mr = new fabric.Control({\n x: 0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: \"resizing\"\n });\n textBoxControls.ml = new fabric.Control({\n x: -0.5,\n y: 0,\n actionHandler: controlsUtils.changeWidth,\n cursorStyleHandler: scaleSkewStyleHandler,\n actionName: \"resizing\"\n });\n }\n})();\n(function() {\n /** ERASER_START */ /**\n * add `eraser` to enlivened props\n */ fabric.Object.ENLIVEN_PROPS.push(\"eraser\");\n var __drawClipPath = fabric.Object.prototype._drawClipPath;\n var _needsItsOwnCache = fabric.Object.prototype.needsItsOwnCache;\n var _toObject = fabric.Object.prototype.toObject;\n var _getSvgCommons = fabric.Object.prototype.getSvgCommons;\n var __createBaseClipPathSVGMarkup = fabric.Object.prototype._createBaseClipPathSVGMarkup;\n var __createBaseSVGMarkup = fabric.Object.prototype._createBaseSVGMarkup;\n fabric.Object.prototype.cacheProperties.push(\"eraser\");\n fabric.Object.prototype.stateProperties.push(\"eraser\");\n /**\n * @fires erasing:end\n */ fabric.util.object.extend(fabric.Object.prototype, {\n /**\n * Indicates whether this object can be erased by {@link fabric.EraserBrush}\n * The `deep` option introduces fine grained control over a group's `erasable` property.\n * When set to `deep` the eraser will erase nested objects if they are erasable, leaving the group and the other objects untouched.\n * When set to `true` the eraser will erase the entire group. Once the group changes the eraser is propagated to its children for proper functionality.\n * When set to `false` the eraser will leave all objects including the group untouched.\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n * @type boolean | 'deep'\n * @default true\n */ erasable: true,\n /**\n * @tutorial {@link http://fabricjs.com/erasing#eraser}\n * @type fabric.Eraser\n */ eraser: undefined,\n /**\n * @override\n * @returns Boolean\n */ needsItsOwnCache: function() {\n return _needsItsOwnCache.call(this) || !!this.eraser;\n },\n /**\n * draw eraser above clip path\n * @override\n * @private\n * @param {CanvasRenderingContext2D} ctx\n * @param {fabric.Object} clipPath\n */ _drawClipPath: function(ctx, clipPath) {\n __drawClipPath.call(this, ctx, clipPath);\n if (this.eraser) {\n // update eraser size to match instance\n var size = this._getNonTransformedDimensions();\n this.eraser.isType(\"eraser\") && this.eraser.set({\n width: size.x,\n height: size.y\n });\n __drawClipPath.call(this, ctx, this.eraser);\n }\n },\n /**\n * Returns an object representation of an instance\n * @param {Array} [propertiesToInclude] Any properties that you might want to additionally include in the output\n * @return {Object} Object representation of an instance\n */ toObject: function(propertiesToInclude) {\n var object = _toObject.call(this, [\n \"erasable\"\n ].concat(propertiesToInclude));\n if (this.eraser && !this.eraser.excludeFromExport) {\n object.eraser = this.eraser.toObject(propertiesToInclude);\n }\n return object;\n }\n });\n var __restoreObjectsState = fabric.Group.prototype._restoreObjectsState;\n fabric.util.object.extend(fabric.Group.prototype, {\n /**\n * @private\n * @param {fabric.Path} path\n */ _addEraserPathToObjects: function(path) {\n this._objects.forEach(function(object) {\n fabric.EraserBrush.prototype._addPathToObjectEraser.call(fabric.EraserBrush.prototype, object, path);\n });\n },\n /**\n * Applies the group's eraser to its objects\n * @tutorial {@link http://fabricjs.com/erasing#erasable_property}\n */ applyEraserToObjects: function() {\n var _this = this, eraser = this.eraser;\n if (eraser) {\n delete this.eraser;\n var transform = _this.calcTransformMatrix();\n eraser.clone(function(eraser) {\n var clipPath = _this.clipPath;\n eraser.getObjects(\"path\").forEach(function(path) {\n // first we transform the path from the group's coordinate system to the canvas'\n var originalTransform = fabric.util.multiplyTransformMatrices(transform, path.calcTransformMatrix());\n fabric.util.applyTransformToObject(path, originalTransform);\n if (clipPath) {\n clipPath.clone(function(_clipPath) {\n var eraserPath = fabric.EraserBrush.prototype.applyClipPathToPath.call(fabric.EraserBrush.prototype, path, _clipPath, transform);\n _this._addEraserPathToObjects(eraserPath);\n }, [\n \"absolutePositioned\",\n \"inverted\"\n ]);\n } else {\n _this._addEraserPathToObjects(path);\n }\n });\n });\n }\n },\n /**\n * Propagate the group's eraser to its objects, crucial for proper functionality of the eraser within the group and nested objects.\n * @private\n */ _restoreObjectsState: function() {\n this.erasable === true && this.applyEraserToObjects();\n return __restoreObjectsState.call(this);\n }\n });\n /**\n * An object's Eraser\n * @private\n * @class fabric.Eraser\n * @extends fabric.Group\n * @memberof fabric\n */ fabric.Eraser = fabric.util.createClass(fabric.Group, {\n /**\n * @readonly\n * @static\n */ type: \"eraser\",\n /**\n * @default\n */ originX: \"center\",\n /**\n * @default\n */ originY: \"center\",\n drawObject: function(ctx) {\n ctx.save();\n ctx.fillStyle = \"black\";\n ctx.fillRect(-this.width / 2, -this.height / 2, this.width, this.height);\n ctx.restore();\n this.callSuper(\"drawObject\", ctx);\n },\n /**\n * eraser should retain size\n * dimensions should not change when paths are added or removed\n * handled by {@link fabric.Object#_drawClipPath}\n * @override\n * @private\n */ _getBounds: function() {\n // noop\n }\n });\n /**\n * Returns {@link fabric.Eraser} instance from an object representation\n * @static\n * @memberOf fabric.Eraser\n * @param {Object} object Object to create an Eraser from\n * @param {Function} [callback] Callback to invoke when an eraser instance is created\n */ fabric.Eraser.fromObject = function(object, callback) {\n var objects = object.objects;\n fabric.util.enlivenObjects(objects, function(enlivenedObjects) {\n var options = fabric.util.object.clone(object, true);\n delete options.objects;\n fabric.util.enlivenObjectEnlivables(object, options, function() {\n callback && callback(new fabric.Eraser(enlivenedObjects, options, true));\n });\n });\n };\n var __renderOverlay = fabric.Canvas.prototype._renderOverlay;\n /**\n * @fires erasing:start\n * @fires erasing:end\n */ fabric.util.object.extend(fabric.Canvas.prototype, {\n /**\n * Used by {@link #renderAll}\n * @returns boolean\n */ isErasing: function() {\n return this.isDrawingMode && this.freeDrawingBrush && this.freeDrawingBrush.type === \"eraser\" && this.freeDrawingBrush._isErasing;\n },\n /**\n * While erasing the brush clips out the erasing path from canvas\n * so we need to render it on top of canvas every render\n * @param {CanvasRenderingContext2D} ctx\n */ _renderOverlay: function(ctx) {\n __renderOverlay.call(this, ctx);\n if (this.isErasing() && !this.freeDrawingBrush.inverted) {\n this.freeDrawingBrush._render();\n }\n }\n });\n /**\n * EraserBrush class\n * Supports selective erasing meaning that only erasable objects are affected by the eraser brush.\n * Supports **inverted** erasing meaning that the brush can \"undo\" erasing.\n *\n * In order to support selective erasing, the brush clips the entire canvas\n * and then draws all non-erasable objects over the erased path using a pattern brush so to speak (masking).\n * If brush is **inverted** there is no need to clip canvas. The brush draws all erasable objects without their eraser.\n * This achieves the desired effect of seeming to erase or unerase only erasable objects.\n * After erasing is done the created path is added to all intersected objects' `eraser` property.\n *\n * In order to update the EraserBrush call `preparePattern`.\n * It may come in handy when canvas changes during erasing (i.e animations) and you want the eraser to reflect the changes.\n *\n * @tutorial {@link http://fabricjs.com/erasing}\n * @class fabric.EraserBrush\n * @extends fabric.PencilBrush\n * @memberof fabric\n */ fabric.EraserBrush = fabric.util.createClass(fabric.PencilBrush, /** @lends fabric.EraserBrush.prototype */ {\n type: \"eraser\",\n /**\n * When set to `true` the brush will create a visual effect of undoing erasing\n */ inverted: false,\n /**\n * @private\n */ _isErasing: false,\n /**\n *\n * @private\n * @param {fabric.Object} object\n * @returns boolean\n */ _isErasable: function(object) {\n return object.erasable !== false;\n },\n /**\n * @private\n * This is designed to support erasing a collection with both erasable and non-erasable objects.\n * Iterates over collections to allow nested selective erasing.\n * Prepares the pattern brush that will draw on the top context to achieve the desired visual effect.\n * If brush is **NOT** inverted render all non-erasable objects.\n * If brush is inverted render all erasable objects that have been erased with their clip path inverted.\n * This will render the erased parts as if they were not erased.\n *\n * @param {fabric.Collection} collection\n * @param {CanvasRenderingContext2D} ctx\n * @param {{ visibility: fabric.Object[], eraser: fabric.Object[], collection: fabric.Object[] }} restorationContext\n */ _prepareCollectionTraversal: function(collection, ctx, restorationContext) {\n collection.forEachObject(function(obj) {\n if (obj.forEachObject && obj.erasable === \"deep\") {\n // traverse\n this._prepareCollectionTraversal(obj, ctx, restorationContext);\n } else if (!this.inverted && obj.erasable && obj.visible) {\n // render only non-erasable objects\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n } else if (this.inverted && obj.visible) {\n // render only erasable objects that were erased\n if (obj.erasable && obj.eraser) {\n obj.eraser.inverted = true;\n obj.dirty = true;\n collection.dirty = true;\n restorationContext.eraser.push(obj);\n restorationContext.collection.push(collection);\n } else {\n obj.visible = false;\n collection.dirty = true;\n restorationContext.visibility.push(obj);\n restorationContext.collection.push(collection);\n }\n }\n }, this);\n },\n /**\n * Prepare the pattern for the erasing brush\n * This pattern will be drawn on the top context, achieving a visual effect of erasing only erasable objects\n * @todo decide how overlay color should behave when `inverted === true`, currently draws over it which is undesirable\n * @private\n */ preparePattern: function() {\n if (!this._patternCanvas) {\n this._patternCanvas = fabric.util.createCanvasElement();\n }\n var canvas = this._patternCanvas;\n canvas.width = this.canvas.width;\n canvas.height = this.canvas.height;\n var patternCtx = canvas.getContext(\"2d\");\n if (this.canvas._isRetinaScaling()) {\n var retinaScaling = this.canvas.getRetinaScaling();\n this.canvas.__initRetinaScaling(retinaScaling, canvas, patternCtx);\n }\n var backgroundImage = this.canvas.backgroundImage, bgErasable = backgroundImage && this._isErasable(backgroundImage), overlayImage = this.canvas.overlayImage, overlayErasable = overlayImage && this._isErasable(overlayImage);\n if (!this.inverted && (backgroundImage && !bgErasable || !!this.canvas.backgroundColor)) {\n if (bgErasable) {\n this.canvas.backgroundImage = undefined;\n }\n this.canvas._renderBackground(patternCtx);\n if (bgErasable) {\n this.canvas.backgroundImage = backgroundImage;\n }\n } else if (this.inverted && backgroundImage && bgErasable) {\n var color = this.canvas.backgroundColor;\n this.canvas.backgroundColor = undefined;\n this.canvas._renderBackground(patternCtx);\n this.canvas.backgroundColor = color;\n }\n patternCtx.save();\n patternCtx.transform.apply(patternCtx, this.canvas.viewportTransform);\n var restorationContext = {\n visibility: [],\n eraser: [],\n collection: []\n };\n this._prepareCollectionTraversal(this.canvas, patternCtx, restorationContext);\n this.canvas._renderObjects(patternCtx, this.canvas._objects);\n restorationContext.visibility.forEach(function(obj) {\n obj.visible = true;\n });\n restorationContext.eraser.forEach(function(obj) {\n obj.eraser.inverted = false;\n obj.dirty = true;\n });\n restorationContext.collection.forEach(function(obj) {\n obj.dirty = true;\n });\n patternCtx.restore();\n if (!this.inverted && (overlayImage && !overlayErasable || !!this.canvas.overlayColor)) {\n if (overlayErasable) {\n this.canvas.overlayImage = undefined;\n }\n __renderOverlay.call(this.canvas, patternCtx);\n if (overlayErasable) {\n this.canvas.overlayImage = overlayImage;\n }\n } else if (this.inverted && overlayImage && overlayErasable) {\n var color = this.canvas.overlayColor;\n this.canvas.overlayColor = undefined;\n __renderOverlay.call(this.canvas, patternCtx);\n this.canvas.overlayColor = color;\n }\n },\n /**\n * Sets brush styles\n * @private\n * @param {CanvasRenderingContext2D} ctx\n */ _setBrushStyles: function(ctx) {\n this.callSuper(\"_setBrushStyles\", ctx);\n ctx.strokeStyle = \"black\";\n },\n /**\n * **Customiztion**\n *\n * if you need the eraser to update on each render (i.e animating during erasing) override this method by **adding** the following (performance may suffer):\n * @example\n * ```\n * if(ctx === this.canvas.contextTop) {\n * this.preparePattern();\n * }\n * ```\n *\n * @override fabric.BaseBrush#_saveAndTransform\n * @param {CanvasRenderingContext2D} ctx\n */ _saveAndTransform: function(ctx) {\n this.callSuper(\"_saveAndTransform\", ctx);\n this._setBrushStyles(ctx);\n ctx.globalCompositeOperation = ctx === this.canvas.getContext() ? \"destination-out\" : \"source-over\";\n },\n /**\n * We indicate {@link fabric.PencilBrush} to repaint itself if necessary\n * @returns\n */ needsFullRender: function() {\n return true;\n },\n /**\n *\n * @param {fabric.Point} pointer\n * @param {fabric.IEvent} options\n * @returns\n */ onMouseDown: function(pointer, options) {\n if (!this.canvas._isMainEvent(options.e)) {\n return;\n }\n this._prepareForDrawing(pointer);\n // capture coordinates immediately\n // this allows to draw dots (when movement never occurs)\n this._captureDrawingPath(pointer);\n // prepare for erasing\n this.preparePattern();\n this._isErasing = true;\n this.canvas.fire(\"erasing:start\");\n this._render();\n },\n /**\n * Rendering Logic:\n * 1. Use brush to clip canvas by rendering it on top of canvas (unnecessary if `inverted === true`)\n * 2. Render brush with canvas pattern on top context\n *\n */ _render: function() {\n var ctx;\n if (!this.inverted) {\n // clip canvas\n ctx = this.canvas.getContext();\n this.callSuper(\"_render\", ctx);\n }\n // render brush and mask it with image of non erasables\n ctx = this.canvas.contextTop;\n this.canvas.clearContext(ctx);\n this.callSuper(\"_render\", ctx);\n ctx.save();\n var t = this.canvas.getRetinaScaling(), s = 1 / t;\n ctx.scale(s, s);\n ctx.globalCompositeOperation = \"source-in\";\n ctx.drawImage(this._patternCanvas, 0, 0);\n ctx.restore();\n },\n /**\n * Creates fabric.Path object\n * @override\n * @private\n * @param {(string|number)[][]} pathData Path data\n * @return {fabric.Path} Path to add on canvas\n * @returns\n */ createPath: function(pathData) {\n var path = this.callSuper(\"createPath\", pathData);\n path.globalCompositeOperation = this.inverted ? \"source-over\" : \"destination-out\";\n path.stroke = this.inverted ? \"white\" : \"black\";\n return path;\n },\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path in canvas coordinate plane\n * @param {fabric.Object} clipPath The clipPath to apply to the path\n * @param {number[]} clipPathContainerTransformMatrix The transform matrix of the object that the clip path belongs to\n * @returns {fabric.Path} path with clip path\n */ applyClipPathToPath: function(path, clipPath, clipPathContainerTransformMatrix) {\n var pathInvTransform = fabric.util.invertTransform(path.calcTransformMatrix()), clipPathTransform = clipPath.calcTransformMatrix(), transform = clipPath.absolutePositioned ? pathInvTransform : fabric.util.multiplyTransformMatrices(pathInvTransform, clipPathContainerTransformMatrix);\n // when passing down a clip path it becomes relative to the parent\n // so we transform it acoordingly and set `absolutePositioned` to false\n clipPath.absolutePositioned = false;\n fabric.util.applyTransformToObject(clipPath, fabric.util.multiplyTransformMatrices(transform, clipPathTransform));\n // We need to clip `path` with both `clipPath` and it's own clip path if existing (`path.clipPath`)\n // so in turn `path` erases an object only where it overlaps with all it's clip paths, regardless of how many there are.\n // this is done because both clip paths may have nested clip paths of their own (this method walks down a collection => this may reccur),\n // so we can't assign one to the other's clip path property.\n path.clipPath = path.clipPath ? fabric.util.mergeClipPaths(clipPath, path.clipPath) : clipPath;\n return path;\n },\n /**\n * Utility to apply a clip path to a path.\n * Used to preserve clipping on eraser paths in nested objects.\n * Called when a group has a clip path that should be applied to the path before applying erasing on the group's objects.\n * @param {fabric.Path} path The eraser path\n * @param {fabric.Object} object The clipPath to apply to path belongs to object\n * @param {Function} callback Callback to be invoked with the cloned path after applying the clip path\n */ clonePathWithClipPath: function(path, object, callback) {\n var objTransform = object.calcTransformMatrix();\n var clipPath = object.clipPath;\n var _this = this;\n path.clone(function(_path) {\n clipPath.clone(function(_clipPath) {\n callback(_this.applyClipPathToPath(_path, _clipPath, objTransform));\n }, [\n \"absolutePositioned\",\n \"inverted\"\n ]);\n });\n },\n /**\n * Adds path to object's eraser, walks down object's descendants if necessary\n *\n * @fires erasing:end on object\n * @param {fabric.Object} obj\n * @param {fabric.Path} path\n */ _addPathToObjectEraser: function(obj, path) {\n var _this = this;\n // object is collection, i.e group\n if (obj.forEachObject && obj.erasable === \"deep\") {\n var targets = obj._objects.filter(function(_obj) {\n return _obj.erasable;\n });\n if (targets.length > 0 && obj.clipPath) {\n this.clonePathWithClipPath(path, obj, function(_path) {\n targets.forEach(function(_obj) {\n _this._addPathToObjectEraser(_obj, _path);\n });\n });\n } else if (targets.length > 0) {\n targets.forEach(function(_obj) {\n _this._addPathToObjectEraser(_obj, path);\n });\n }\n return;\n }\n // prepare eraser\n var eraser = obj.eraser;\n if (!eraser) {\n eraser = new fabric.Eraser();\n obj.eraser = eraser;\n }\n // clone and add path\n path.clone(function(path) {\n // http://fabricjs.com/using-transformations\n var desiredTransform = fabric.util.multiplyTransformMatrices(fabric.util.invertTransform(obj.calcTransformMatrix()), path.calcTransformMatrix());\n fabric.util.applyTransformToObject(path, desiredTransform);\n eraser.addWithUpdate(path);\n obj.set(\"dirty\", true);\n obj.fire(\"erasing:end\", {\n path: path\n });\n if (obj.group && Array.isArray(_this.__subTargets)) {\n _this.__subTargets.push(obj);\n }\n });\n },\n /**\n * Add the eraser path to canvas drawables' clip paths\n *\n * @param {fabric.Canvas} source\n * @param {fabric.Canvas} path\n * @returns {Object} canvas drawables that were erased by the path\n */ applyEraserToCanvas: function(path) {\n var canvas = this.canvas;\n var drawables = {};\n [\n \"backgroundImage\",\n \"overlayImage\"\n ].forEach(function(prop) {\n var drawable = canvas[prop];\n if (drawable && drawable.erasable) {\n this._addPathToObjectEraser(drawable, path);\n drawables[prop] = drawable;\n }\n }, this);\n return drawables;\n },\n /**\n * On mouseup after drawing the path on contextTop canvas\n * we use the points captured to create an new fabric path object\n * and add it to every intersected erasable object.\n */ _finalizeAndAddPath: function() {\n var ctx = this.canvas.contextTop, canvas = this.canvas;\n ctx.closePath();\n if (this.decimate) {\n this._points = this.decimatePoints(this._points, this.decimate);\n }\n // clear\n canvas.clearContext(canvas.contextTop);\n this._isErasing = false;\n var pathData = this._points && this._points.length > 1 ? this.convertPointsToSVGPath(this._points) : null;\n if (!pathData || this._isEmptySVGPath(pathData)) {\n canvas.fire(\"erasing:end\");\n // do not create 0 width/height paths, as they are\n // rendered inconsistently across browsers\n // Firefox 4, for example, renders a dot,\n // whereas Chrome 10 renders nothing\n canvas.requestRenderAll();\n return;\n }\n var path = this.createPath(pathData);\n // needed for `intersectsWithObject`\n path.setCoords();\n // commense event sequence\n canvas.fire(\"before:path:created\", {\n path: path\n });\n // finalize erasing\n var drawables = this.applyEraserToCanvas(path);\n var _this = this;\n this.__subTargets = [];\n var targets = [];\n canvas.forEachObject(function(obj) {\n if (obj.erasable && obj.intersectsWithObject(path, true, true)) {\n _this._addPathToObjectEraser(obj, path);\n targets.push(obj);\n }\n });\n // fire erasing:end\n canvas.fire(\"erasing:end\", {\n path: path,\n targets: targets,\n subTargets: this.__subTargets,\n drawables: drawables\n });\n delete this.__subTargets;\n canvas.requestRenderAll();\n this._resetShadow();\n // fire event 'path' created\n canvas.fire(\"path:created\", {\n path: path\n });\n }\n });\n/** ERASER_END */ })();\n\n\n/***/ }),\n\n/***/ 6734:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ 6907:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ }),\n\n/***/ 4866:\n/***/ (function() {\n\n/* (ignored) */\n\n/***/ })\n\n},\n/******/ function(__webpack_require__) { // webpackRuntimeModules\n/******/ var __webpack_exec__ = function(moduleId) { return __webpack_require__(__webpack_require__.s = moduleId); }\n/******/ __webpack_require__.O(0, [774,937,866,609,980,445,617,943,50,888,179], function() { return __webpack_exec__(8312); });\n/******/ var __webpack_exports__ = __webpack_require__.O();\n/******/ _N_E = __webpack_exports__;\n/******/ }\n]);"],"names":["self","push","__unused_webpack_module","__unused_webpack_exports","__webpack_require__","window","__NEXT_P","__webpack_exports__","r","d","HomePage","jsx_runtime","head","head_default","n","react","CanvasContext","createContext","displayName","src_useCanvas","canvasId","_context_canvases_canvasId","context","useContext","canvases","ToolsContext","useTools","usePopper","es","index_esm","fa_index_esm","go_index_esm","gi_index_esm","io_index_esm","im_index_esm","CanvasTools","_canvas__objects_length_toLocaleString","nameInputRef","useRef","fileInputRef","fileTypeRef","activeCanvas","backgroundColor","setBackgroundColor","selectedObjects","lockedObjects","lockSelection","unlockSelection","bringForward","sendBackward","duplicate","deleteSelection","undo","redo","canUndo","canRedo","brushColor","setBrushColor","brushSize","setBrushSize","hueRotate","setHueRotate","saturation","setSaturation","brightness","setBrightness","layerMode","setLayerMode","activeCanvasType","addImages","exportSkin","canvas","isDrawingMode","setDrawingMode","isMac","setIsMac","useState","commandKeyPrefix","referenceElement","setReferenceElement","popperElement","setPopperElement","arrowElement","setArrowElement","isBrushToolsOpen","setBrushToolsOpen","isFilterToolsOpen","setFilterToolsOpen","styles","attributes","D","modifiers","name","options","element","offset","isSelectionLocked","length","every","has","object","handleBackgroundColorChange","event","target","value","useEffect","navigator","platform","startsWith","userAgent","match","focus","jsxs","className","children","jsx","type","id","checked","onChange","htmlFor","Fragment","ref","imageUrl","Promise","resolve","reject","_event_target_files","inputFile","files","reader","FileReader","addEventListener","_event_target","result","readAsDataURL","accept","hidden","title","current","click","yAv","style","fontSize","undefined","isOpen","J76","popper","tabIndex","newFocusElement","relatedTarget","isFocusLeaving","currentTarget","contains","toLocaleString","_objects","Math","round","Z","min","max","startPoint","Array","isArray","trackStyle","height","background","handleStyle","width","marginTop","borderColor","opacity","railStyle","border","concat","arrow","onClick","D5B","kUi","KhA","O9L","xvH","disabled","AMf","UIL","rks","Pvc","VUP","display","placeholder","size","format","defaultValue","config","config_default","fabric","WarriorContext","useWarrior","createFabricImage","url","Image","fromURL","crossOrigin","comlink","Worker_fn","Worker","p","useImageWorker","workerRef","functionsRef","useMemo","getFunctions","combineColorAndAlphaImageUrls","_len","arguments","args","_key","functions","removeAlphaFromArrayBuffer","convertArrayBufferAlphaToGrayscale","convertGrayscaleImageUrlToMetallicRoughness","worker","Ud","Yy","terminate","useSettings","canvasPadding","basePath","imageUrlToArrayBuffer","response","fetch","ok","arrayBuffer","publicRuntimeConfig","materials","ToolsProvider","param","_materialDefs_selectedMaterialIndex","_materialDef_size","actualModel","selectedModelType","selectedMaterialIndex","setSelectedMaterialIndex","materialDefs","materialDef","textureSize","hasMetallic","metallicFactor","roughnessFactor","setActiveCanvasType","setLockedObjects","Set","filterMap","setFilterMap","Map","setSelectedObjects","metallicCanvasId","notifyChange","metallicCanvas","filterChanges","setFilterChanges","getFilter","_canvas__objects","_canvas__objects_slice","_filterMap_get","_name","applyObjects","slice","getValue","get","i","firstValue","applyObject","setFilter","useCallback","newFilterMap","existingFilters","newFilters","set","selectedObject","key","filters","_newFilters_key","filterValue","HueRotation","rotation","Saturation","Brightness","applyFilters","newLockedObjects","add","lockMovementX","lockMovementY","lockScalingX","lockScalingY","lockRotation","delete","getActiveObject","sendBackwards","imageUrls","lastAddedImage","image","widthRatio","heightRatio","scale","scaleX","scaleY","grayscaleFilter","Grayscale","centerObject","setActiveObject","_copy_top","_copy_left","copy","clone","top","left","evented","forEachObject","setCoords","discardActiveObject","objects","getActiveObjects","remove","requestRenderAll","savePngFile","saveZipFile","createZipFile","all","e","then","bind","trim","materialExports","filter","selectable","map","_canvases_","_canvases_1","_materialDef_file","outputImageUrl","filename","colorCanvas","colorImageUrl","toDataURL","metallicImageUrl","file","materialExport","data","zip","camelCaseName","replace","a","b","toUpperCase","zipFileName","handleSelectionUpdated","on","off","freeDrawingBrush","color","Provider","CanvasBackdrop","CanvasProvider","setCanvases","registerCanvas","canvasInfo","unregisterCanvas","rest","CanvasInteractions","nudge","_object_top","_object_left","onDrop","preventDefault","items","dataTransfer","images","from","item","kind","droppedImageFile","getAsFile","onload","Boolean","onKeyDown","nodeName","ctrlKey","metaKey","altKey","shiftKey","CanvasToggle","ai_index_esm","WarriorSelector_publicRuntimeConfig","defaultSkins","customSkins","modelDefaults","WarriorSelector_materials","WarriorSelector","_defaultSkins_actualModel","_customSkins_actualModel","_customSkins_actualModel1","selectedModel","setSelectedModel","setSelectedModelType","selectedSkin","setSelectedSkin","setSelectedSkinType","setSelectedAnimation","setSkinImageUrls","setAnimationPaused","_defaultSkins_newSelectedModel","_customSkins_newSelectedModel","_modelDefaults_newSelectedModel","parentNode","selectedOptions","newSelectedModel","modelType","dataset","newModelHasSkin","includes","label","_parentNode_dataset_skinType","skinType","FjK","WarriorProvider_publicRuntimeConfig","WarriorProvider_materials","WarriorProvider_modelDefaults","baseSkinPath","getSkinImageUrls","selectedSkinType","base","reduce","skinImageUrls","_materialDef_file1","_materialDef_file2","_materialDef_file3","hasDefault","WarriorProvider","selectedAnimation","animationPaused","selectedModelUrl","defaultSkinImageUrls","dynamic","dynamic_default","EnvironmentContext","useEnvironment","SkinContext","useSkin","useModelViewer","useTexture","material","textureType","modelViewer","stale","updateTexture","setAlphaMode","pbrMetallicRoughness","setBaseColorFactor","alphaMode","alphaCutoff","baseColorFactor","emissiveFactor","emissiveTexture","textureUrl","setAlphaCutoff","setEmissiveFactor","setMetallicFactor","setRoughnessFactor","texture","createTexture","setTexture","Material","_getSkinImages","getSkinImages","Materials_publicRuntimeConfig","Materials_materials","Materials","model","_materialDefs_find","find","index","ModelViewer","loadableGenerated","webpack","ssr","WarriorViewer_publicRuntimeConfig","cameraOverrides","WarriorViewer","_cameraOverrides_selectedModel","_cameraOverrides_selectedModel1","environmentImageUrl","showEnvironment","exposure","modelUrl","animationName","cameraOrbit","cameraTarget","fieldOfView","fov","EnvironmentSelector","selectedEnvironment","setSelectedEnvironment","EnvironmentExposure","setExposure","MXq","step","parseFloat","AnimationSelector_publicRuntimeConfig","animations","animationLabels","animationLabelOverrides","AnimationSelector","_animations_actualModel","animationList","global","_animationLabelOverrides_actualModel","_animationLabelOverrides_actualModel_animationName","v$e","IWN","EnvironmentProvider","setShowEnvironment","SkinProvider","materialSkins","setMaterialSkins","setters","setSkinImages","materialFile","skinImages","setColorImageUrl","setMetallicImageUrl","getColorImageUrl","getMetallicImageUrl","MaterialSelector_publicRuntimeConfig","MaterialSelector_materials","MaterialSelector","_materialDef_label","parseInt","Canvas","baseImageUrl","defaultDrawingMode","canvasElementRef","setCanvas","handleChangeRef","trackChanges","undoHistory","setUndoHistory","redoHistory","setRedoHistory","handleChange","restoreState","currentState","renderOnAddRemove","clear","loadFromJSON","renderAll","nextState","isActive","changeTimer","Object","prototype","transparentCorners","cornerSize","cornerStyle","cornerColor","cornerStrokeColor","strokeWidth","perPixelTargetFind","preserveObjectStacking","targetFindTolerance","isSnapshotting","handleChangeWithCanvasArg","handleRender","clearTimeout","setTimeout","snapshot","snapshotCanvas","history","toJSON","dispose","calcOffset","addImage","hoverCursor","moveCursor","expectedWidth","expectedHeight","ImageLoaderContext","useImageLoader","defaultTextureSize","ColorCanvas","skinImageUrl","defaultSkinImageUrl","noAlphaImageUrl","setNoAlphaImageUrl","loadImage","generateImageUrl","err","canvasType","MetallicCanvas_defaultTextureSize","MetallicCanvas","alphaImageUrl","setAlphaImageUrl","runningChangeHandlers","MaterialCanvases_publicRuntimeConfig","MaterialCanvases_materials","MaterialCanvases","QueryClientProvider","ImageLoaderProvider","queryClient","NL","fetchQuery","queryKey","imageFetcher","pages_queryClient","S","defaultOptions","queries","queryFn","staleTime","Infinity","cacheTime","refetchOnWindowFocus","refetchOnReconnect","aH","client","ModelViewerContext","react__WEBPACK_IMPORTED_MODULE_0__","exports","extend","toFixed","capitalize","degreesToRadians","objectCaching","sqrt","atan2","pow","PiBy180","PiBy2","couldUseAttachEvent","touchEvents","parseEl","supportsOpacity","supportsFilters","reOpacity","setOpacity","controls","originXOffset","originYOffset","util","multiplyMatrices","transformPoint","createClass","floor","abs","sin","ceil","__drawClipPath","_needsItsOwnCache","_toObject","__restoreObjectsState","__renderOverlay","Buffer","version","document","HTMLDocument","Document","implementation","createHTMLDocument","virtualWindow","jsdom","JSDOM","decodeURIComponent","features","FetchExternalResources","resources","jsdomImplForWrapper","implForWrapper","nodeCanvas","DOMParser","copyGLTo2DDrawImage","gl","pipelineState","glCanvas","targetCanvas","ctx","getContext","translate","sourceY","drawImage","copyGLTo2DPutImageData","dWidth","destinationWidth","dHeight","destinationHeight","numBytes","u8","Uint8Array","imageBuffer","u8Clamped","Uint8ClampedArray","readPixels","RGBA","UNSIGNED_BYTE","imgData","ImageData","putImageData","isTouchSupported","maxTouchPoints","isLikelyNode","DPI","reNum","commaWsp","rePathCommand","reNonWord","fontPaths","iMatrix","svgNS","perfLimitSizeTotal","maxCacheSideLimit","minCacheSideLimit","charWidthsCache","disableStyleCopyPaste","enableGLFiltering","devicePixelRatio","webkitDevicePixelRatio","mozDevicePixelRatio","browserShadowBlurConstant","arcToSegmentsCache","boundsOfCurveCache","cachesBoundsOfCurve","forceGLPutImageData","initFilterBackend","isWebglSupported","console","log","maxTextureSize","WebglFilterBackend","tileSize","Canvas2dFilterBackend","_removeEventListener","eventName","handler","__eventListeners","eventListener","indexOf","array","fill","_once","_handler","apply","Observable","fire","listenersForEvent","len","call","prop","once","Collection","_onObjectAdded","insertAt","nonSplicing","splice","somethingRemoved","_onObjectRemoved","callback","getObjects","o","isEmpty","deep","some","obj","complexity","memo","CommonMethods","_setOptions","_initGradient","filler","property","colorStops","Gradient","_initPattern","source","Pattern","_setObject","_set","toggle","PI","cos","angle","sign","removeFromArray","idx","getRandomInt","random","degrees","radiansToDegrees","radians","rotatePoint","point","origin","newPoint","Point","x","y","v","rotateVector","addEquals","vector","createVector","to","calcAngleBetweenVectors","acos","hypot","getHatVector","multiply","getBisector","A","B","C","AB","AC","alpha","ro","projectStrokeOnPoints","points","openPath","coords","s","strokeUniformScalar","strokeUniform","getStrokeHatVector","scalar","forEach","miterVector","bisector","bisectorVector","strokeLineJoin","strokeMiterLimit","subtract","SQRT2","t","ignoreOffset","makeBoundingBoxFromPoints","transform","xPoints","minX","maxX","yPoints","minY","maxY","invertTransform","number","fractionDigits","Number","parseUnit","unit","exec","Text","DEFAULT_SVG_FONT_SIZE","falseFunction","getKlass","namespace","string","camelize","charAt","resolveNamespace","getSvgAttributes","parts","split","img","createImage","onLoadCallback","onerror","src","substring","loadImageInDom","div","createElement","position","appendChild","querySelector","removeChild","enlivenObjects","reviver","enlivenedObjects","numLoadedObjects","numTotalObjects","onLoaded","fromObject","error","enlivenObjectEnlivables","enlivenProps","ENLIVEN_PROPS","enlivedProps","enlivenPatterns","patterns","numLoadedPatterns","numPatterns","enlivenedPatterns","pattern","groupSVGElements","elements","path","centerPoint","Group","sourcePath","populateWithProperties","destination","properties","createCanvasElement","copyCanvasElement","newCanvas","canvasEl","quality","multiplyTransformMatrices","is2x2","qrDecompose","denom","skewX","skewY","translateX","translateY","calcRotateMatrix","theta","calcDimensionsMatrix","scaleMatrix","flipX","flipY","tan","composeMatrix","matrix","resetObjectTransform","rotate","saveObjectTransform","isTransparent","tolerance","_isTransparent","imageData","getImageData","l","temp","parsePreserveAspectRatioAttribute","attribute","align","meetOrSlice","alignX","alignY","aspectRatioAttrs","pop","clearFabricFontCache","fontFamily","toLowerCase","limitDimsByArea","ar","maximumArea","roughWidth","capValue","findScaleToFit","findScaleToCover","matrixToSVG","NUM_FRACTION_DIGITS","join","removeTransformFromObject","inverted","finalTransform","calcOwnMatrix","applyTransformToObject","addTransformToObject","center","setPositionByOrigin","sizeAfterTransform","dimX","dimY","transformMatrix","bbox","mergeClipPaths","c1","c2","calcTransformMatrix","clipPath","hasStyleChanged","prevStyle","thisStyle","forTextSpans","stroke","fontWeight","fontStyle","deltaY","overline","underline","linethrough","stylesToArray","text","textLines","charIndex","stylesArray","c","start","end","stylesFromArray","styleIndex","stylesObject","assign","_join","commandLengths","m","h","q","repeatedCommands","M","calcVectorAngle","ux","uy","vx","vy","ta","tb","calcLineLength","x1","y1","x2","y2","pathIterator","iterator","perc","tempP","tmpLen","getPathSegmentsInfo","tempInfo","angleFinder","totalLength","info","command","getPointOnCubicBezierIterator","p1x","p1y","p2x","p2y","p3x","p3y","p4x","p4y","pct","c3","c4","getTangentCubicIterator","invT","getPointOnQuadraticBezierIterator","getTangentQuadraticIterator","destX","destY","joinPath","pathData","segment","parsePath","pathString","currentPath","parsed","coordsStr","re","rNumber","rNumberCommaWsp","rFlagCommaWsp","regArcArgumentSequence","coordsParsed","j","jlen","isNaN","commandLength","repeatedCommand","k","klen","makePathSimpler","converted","previous","controlX","controlY","destinationPath","fromArcToBeziers","fx","fy","rx","ry","rot","large","sweep","segsNorm","arcToSegments","toX","toY","rotateX","th","sinTh","cosTh","fromX","fromY","px","py","rx2","ry2","py2","px2","pl","root","cx","cy","cx1","cy1","mTheta","dtheta","segments","mDelta","mT","th3","segmentToBezier","th2","costh2","sinth2","costh3","sinth3","tx","ty","getSmoothPathFromPoints","correction","p1","p2","multSignX","multSignY","manyPoints","eq","midPoint","midPointFrom","getBoundsOfCurve","x0","y0","x3","y3","argsString","t1","t2","b2ac","sqrtb2ac","tvalues","bounds","mt","getPointOnPath","distance","infos","segInfo","segPercent","lerp","findPercentageForDistance","nextLen","lastPerc","nextStep","transformPath","pathOffset","pathSegment","newSegment","byProperty","condition","invoke","method","value1","value2","Element","hasOwnProperty","character","firstLetterOnly","escapeXml","graphemeSplit","textstring","chr","graphemes","getWholeChar","str","code","charCodeAt","next","prev","emptyFunction","IS_DONTENUM_BUGGY","toString","addMethods","klass","parent","superclass","constructor","returnValue","valueOf","Subclass","callSuper","methodName","parentMethod","_this","superClassMethod","initialize","shift","subclasses","attachEvent","addListener","removeListener","removeEventListener","getPointer","touchProp","scroll","getScrollLeftTop","_evt","changedTouches","clientX","clientY","isTouchEvent","pointerType","currentStyle","hasLayout","zoom","test","setStyle","elementStyle","cssText","normalizedProperty","styleFloat","setProperty","selectProp","getElementStyle","sliceCanConvertNodelists","_slice","toArray","arrayLike","childNodes","makeElement","tagName","el","setAttribute","docElement","documentElement","body","scrollLeft","scrollTop","host","nodeType","arr","defaultView","getComputedStyle","attr","makeElementUnselectable","onselectstart","unselectable","makeElementSelectable","setImageSmoothing","imageSmoothingEnabled","webkitImageSmoothingEnabled","mozImageSmoothingEnabled","msImageSmoothingEnabled","oImageSmoothingEnabled","getById","getElementById","addClass","wrapElement","wrapper","replaceChild","getElementOffset","docElem","scrollLeftTop","doc","ownerDocument","box","offsetAttributes","borderLeftWidth","borderTopWidth","paddingLeft","paddingTop","getBoundingClientRect","clientLeft","clientTop","getNodeCanvas","impl","_canvas","_image","cleanUpJsdomNode","_currentSrc","_attributes","_classList","emptyFn","request","onComplete","xhr","XMLHttpRequest","parameters","onreadystatechange","readyState","open","setRequestHeader","send","warn","RUNNING_ANIMATIONS","noop","defaultEasing","cancelAll","animation","cancel","cancelByCanvas","cancelled","cancelByTarget","findAnimationsByTarget","findAnimationIndex","cancelFunc","findAnimation","_requestAnimFrame","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","msRequestAnimationFrame","_cancelAnimFrame","cancelAnimationFrame","requestAnimFrame","animate","removeFromRegistry","runningAnimations","currentValue","startValue","completionRate","durationRate","timestamp","time","Date","duration","finish","abort","easing","isMany","endValue","byValue","onStart","tick","ticktime","currentTime","timePerc","_value","valuePerc","cancelAnimFrame","calculateColor","begin","pos","animateColor","fromColor","toColor","startColor","Color","getSource","endColor","originalOnComplete","originalOnChange","colorEasing","that","scalarAdd","scalarAddEquals","subtractEquals","scalarSubtract","scalarSubtractEquals","multiplyEquals","divide","divideEquals","lt","lte","gt","gte","distanceFrom","dx","dy","setXY","setX","setY","setFromPoint","swap","Intersection","status","appendPoint","appendPoints","intersectLineLine","a1","a2","b1","b2","uaT","ubT","uB","ua","ub","intersectLinePolygon","inter","intersectPolygonPolygon","points1","points2","intersectPolygonRectangle","r1","r2","topRight","bottomLeft","inter1","inter2","inter3","inter4","_tryParsingColor","setSource","hue2rgb","colorNameMap","sourceFromHex","sourceFromRgb","sourceFromHsl","_rgbToHsl","g","_source","toRgb","toRgba","toHsl","hsl","toHsla","toHex","toHexa","getAlpha","setAlpha","toGrayscale","average","currentAlpha","toBlackWhite","threshold","overlayWith","otherColor","otherSource","reRGBa","reHSLa","reHex","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgrey","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgrey","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","fromRgb","fromSource","fromRgba","fromHsl","fromHsla","fromHex","isShortNotation","isRGBa","oColor","scaleMap","skewMap","LEFT","RIGHT","BOTTOM","CENTER","opposite","bottom","right","findCornerQuadrant","fabricObject","control","cornerAngle","fireEvent","canvasOptions","scaleIsProportional","eventData","uniformIsToggled","uniScaleKey","uniformScaling","isTransformCentered","originX","originY","scalingIsForbidden","by","scaleProportionally","lockX","lockY","commonEventInfo","pointer","wrapWithFixedAnchor","actionHandler","getCenterPoint","constraint","translateToOriginPoint","actionPerformed","wrapWithFireEvent","getLocalPoint","corner","getZoom","padding","localPoint","toLocalPoint","offsetX","offsetY","targetHasOneFlip","compensateScaleForSkew","oppositeSkew","scaleToCompensate","axis","reference","newValue","_getTransformedDimensions","skewObjectX","newSkew","dimNoSkew","totalSkewSize","currentSkew","hasSkewed","dimBeforeSkewing","skewObjectY","scaleObject","dim","signX","signY","forbidScaling","gestureScale","lockScalingFlip","original","oldScaleX","oldScaleY","scaleCursorStyleHandler","skewCursorStyleHandler","lockSkewingY","lockSkewingX","scaleSkewCursorStyleHandler","altActionKey","rotationWithSnapping","pivotPoint","lastAngle","ey","ex","curAngle","hasRotated","snapAngle","snapThreshold","rightAngleLocked","leftAngleLocked","scalingEqually","scalingX","scalingY","scalingYOrSkewingX","skewHandlerX","scalingXOrSkewingY","skewHandlerY","changeWidth","strokePadding","multiplier","oldWidth","newWidth","localPointFromCenter","finalHandler","dragHandler","newLeft","newTop","moveX","moveY","scaleOrSkewActionName","isAlternative","rotationStyleHandler","cursorStyle","controlsUtils","renderCircleControl","styleOverride","xSize","sizeX","ySize","sizeY","myLeft","myTop","save","fillStyle","strokeStyle","lineWidth","beginPath","arc","restore","renderSquareControl","xSizeBy2","ySizeBy2","strokeRect","Control","visible","actionName","touchSizeX","touchSizeY","withConnection","mouseDownHandler","mouseUpHandler","getActionHandler","getMouseDownHandler","getMouseUpHandler","cursorStyleHandler","getActionName","getVisibility","controlKey","objectVisibility","_controlsVisibility","setVisibility","visibility","positionHandler","finalMatrix","calcCornerCoords","objectAngle","objectCornerSize","centerX","centerY","isTouch","cosHalfOffset","sinHalfOffset","cosHalfOffsetComp","sinHalfOffsetComp","controlTriangleAngle","cornerHypotenuse","newTheta","newThetaComp","tl","tr","bl","br","render","StaticCanvas","CANVAS_INIT_ERROR","renderAndResetBound","renderAndReset","requestRenderAllBound","_initStatic","backgroundImage","overlayColor","overlayImage","includeDefaultValues","stateful","controlsAboveOverlay","allowTouchScrolling","viewportTransform","backgroundVpt","overlayVpt","enableRetinaScaling","vptCoords","skipOffscreen","cb","_createLowerCanvas","_initOptions","interactive","_initRetinaScaling","setOverlayImage","setBackgroundImage","setOverlayColor","_isRetinaScaling","getRetinaScaling","scaleRatio","__initRetinaScaling","lowerCanvasEl","contextContainer","upperCanvasEl","contextTop","_offset","__setBgOverlayImage","__setBgOverlayColor","isError","instance","setOptions","_createCanvasElement","_originalCanvasStyle","_applyCanvasStyle","getWidth","getHeight","setWidth","setDimensions","setHeight","dimensions","cssValue","cssOnly","_setBackstoreDimension","hasLostContext","backstoreOnly","_setCssDimension","_isCurrentlyDrawing","_setBrushStyles","cacheCanvasEl","wrapperEl","setViewportTransform","vpt","activeObject","_activeObject","backgroundObject","overlayObject","group","calcViewportBoundaries","zoomToPoint","before","after","setZoom","absolutePan","relativePan","getElement","setupState","clearContext","clearRect","_hasITextHandlers","_mouseUpITextHandler","_iTextInstances","canvasToDrawOn","renderCanvas","isRendering","iVpt","cancelRequestedRender","_renderBackground","_renderObjects","drawControls","shouldCache","_transformDone","renderCache","forClipping","drawClipPathOnCanvas","_renderOverlay","globalCompositeOperation","zoomX","zoomY","_cacheCanvas","cacheTranslationX","cacheTranslationY","_renderBackgroundOrOverlay","needsVpt","moveTo","lineTo","closePath","toLive","gradientTransform","patternTransform","getCenter","centerObjectH","_centerObject","centerObjectV","viewportCenterObject","vpCenter","getVpCenter","viewportCenterObjectH","viewportCenterObjectV","toDatalessJSON","propertiesToInclude","toDatalessObject","toObject","_toObjectMethod","_toObjects","excludeFromExport","__serializeBgOverlay","originalValue","bgImage","bgColor","overlay","sendToBack","objs","activeSelection","unshift","bringToFront","intersecting","newIdx","objsMoved","_findNewLowerIndex","intersectsWithObject","isContainedWithinObject","_findNewUpperIndex","classList","DataURLExporter","EMPTY_JSON","supports","setLineDash","createPNGStream","createJPEGStream","opts","BaseBrush","shadow","strokeLineCap","strokeDashArray","limitedToCanvasSize","lineCap","miterLimit","lineJoin","_saveAndTransform","_setShadow","shadowColor","shadowBlur","blur","shadowOffsetX","shadowOffsetY","needsFullRender","_resetShadow","_isOutSideCanvas","PencilBrush","decimate","drawStraightLine","straightLineKey","_points","_hasStraightLine","_drawSegment","quadraticCurveTo","onMouseDown","_isMainEvent","_prepareForDrawing","_captureDrawingPath","_render","onMouseMove","oldEnd","onMouseUp","_finalizeAndAddPath","_reset","_addPoint","pointerPoint","convertPointsToSVGPath","_isEmptySVGPath","createPath","Path","affectStroke","Shadow","decimatePoints","adjustedDistance","lastPoint","newPoints","CircleBrush","drawDot","addPoint","dot","radius","originalRenderOnAddRemove","circles","circle","Circle","circleRadius","circleColor","SprayBrush","density","dotWidth","dotWidthVariance","randomOpacity","optimizeOverlapping","sprayChunks","addSprayChunk","sprayChunkPoints","rects","ilen","sprayChunk","rect","Rect","_getOptimizedRects","uniqueRects","uniqueRectsArray","globalAlpha","fillRect","PatternBrush","getPatternSrc","patternCanvas","patternCtx","getPatternSrcFunction","String","getPattern","createPattern","topLeft","_getLeftTopCoords","_initInteractive","_createCacheCanvas","centeredScaling","centeredRotation","centeredKey","selection","selectionKey","altSelectionKey","selectionColor","selectionDashArray","selectionBorderColor","selectionLineWidth","selectionFullyContained","defaultCursor","freeDrawingCursor","notAllowedCursor","containerClass","skipTargetFind","stopContextMenu","fireRightClick","fireMiddleClick","targets","enablePointerEvents","_hoveredTarget","_hoveredTargets","_currentTransform","_groupSelector","_initWrapperElement","_createUpperCanvas","_initEventListeners","_chooseObjectsToRender","objsToRender","activeGroupObjects","activeObjects","contextTopDirty","renderTopLayer","_drawSelection","renderTop","_normalizePointer","invertedM","vptPointer","restorePointerVpt","isTargetTransparent","normalizedPointer","targetRelativeX","targetRelativeY","_cacheContext","contextCache","originalColor","selectionBackgroundColor","_isSelectionKeyPressed","_shouldClearSelection","_shouldCenterTransform","action","centerTransform","_getOriginFromCorner","_getActionFromCorner","alreadySelected","_setupCurrentTransform","__corner","lastX","lastY","_beforeTransform","setCursor","cursor","selector","viewportStart","viewportExtent","extent","strokeOffset","_setLineDash","findTarget","skipGroup","activeTarget","activeTargetSubs","aObjects","shouldLookForActive","_findTargetCorner","_searchPossibleTargets","_checkTarget","globalPointer","containsPoint","isEditing","subTarget","objToCheck","pointerToUse","subTargetCheck","ignoreZoom","_absolutePointer","_pointer","cssScale","boundsWidth","boundsHeight","retinaScaling","lowerCanvasClass","_copyCanvasStyle","getTopContext","fromEl","toEl","getSelectionContext","getSelectionElement","active","_discardActiveObject","_fireSelectionEvents","oldObjects","somethingChanged","added","removed","oldObject","selected","deselected","currentActives","_setActiveObject","onSelect","onDeselect","removeListeners","_renderControls","originalProperties","_realizeGroupTransformOnObject","_unwindGroupTransformOnObject","originalValues","layoutProps","_setSVGObject","markup","clearContextTop","addEventOptions","passive","checkClick","button","mainTouchId","_bindEvents","addOrRemove","_getEventPrefix","functor","eventjsFunctor","canvasElement","eventTypePrefix","_onResize","_onMouseDown","_onMouseMove","_onMouseOut","_onMouseEnter","_onMouseWheel","_onContextMenu","_onDoubleClick","_onDragOver","_onDragEnter","_onDragLeave","_onDrop","_onTouchStart","eventjs","_onGesture","_onDrag","_onOrientationChange","_onShake","_onLongPress","_onMouseUp","_onTouchEnd","eventsBound","_simpleEventHandler","__onTransformGesture","__onDrag","__onMouseWheel","_target","hiddenTextarea","__onOrientationChange","__onShake","__onLongPress","_fireEnterLeaveEvents","stopPropagation","_cacheTransformEventData","_handleEvent","_resetTransformEventData","getPointerId","evt","identifier","pointerId","isPrimary","touches","__onMouseDown","__onMouseUp","_willAddMouseDown","__onMouseMove","_shouldRender","groupSelector","shouldRender","isClick","_onMouseUpInDrawingMode","_finalizeCurrentTransform","targetWasActive","_maybeGroupObjects","activeOn","isMoving","originalControl","originalMouseUpHandler","_setCursorFromEvent","eventType","subTargets","absolutePointer","currentSubTargets","_scaling","hasStateChanged","_fire","_onMouseDownInDrawingMode","_onMouseMoveInDrawingMode","_previousPointer","shouldGroup","_shouldGroup","_handleGrouping","saveState","_transformObject","_fireOverOutEvents","fireSyntheticInOutEvents","oldTarget","evtOut","canvasEvtOut","evtIn","canvasEvtIn","_draggedoverTarget","inOpt","outOpt","targetChanged","previousTarget","nextTarget","reset","_performTransformAction","getCornerCursor","reverse","_updateActiveSelection","_createActiveSelection","currentActiveObjects","removeWithUpdate","addWithUpdate","_createGroup","groupObjects","isActiveLower","exitEditing","ActiveSelection","_groupSelectedObjects","aGroup","_collectObjects","currentObject","selectionX1Y1","selectionX2Y2","allowIntersect","intersectsWithRect","isContainedWithinRect","toCanvasElement","cropping","scaledWidth","scaledHeight","originalWidth","originalHeight","newZoom","vp","originalInteractive","originalRetina","originalContextTop","json","serialized","JSON","parse","_enlivenObjects","_setBgOverlay","enlivenedCanvasClip","__setupCanvas","loaded","cbIfLoaded","__setBgOverlay","enlivedObject","_toDataURL","_toDataURLWithMultiplier","toDataURLWithMultiplier","stringify","cloneWithoutData","backgroundImageOpacity","backgroundImageStretch","touchCornerSize","borderDashArray","cornerDashArray","fillRule","strokeDashOffset","borderOpacityWhenMoving","borderScaleFactor","minScaleLimit","hasControls","hasBorders","statefullCache","noScaleCache","dirty","paintFirst","stateProperties","cacheProperties","colorProperties","absolutePositioned","_cacheProperties","_updateCacheCanvas","_limitCacheSize","dims","limitedDims","capped","_getCacheCanvasDimensions","objectScale","getTotalObjectScaling","neededX","neededY","drawingWidth","drawingHeight","minCacheSize","dimensionsChanged","cacheWidth","cacheHeight","zoomChanged","shouldRedraw","additionalWidth","additionalHeight","shouldResizeCanvas","canvasWidth","canvasHeight","sizeGrowing","getHeightOfLine","setTransform","needFullTransform","_removeDefaultValues","getObjectScaling","retina","getObjectOpacity","isChanged","groupNeedsUpdate","_constrainScale","isOnACache","setOnGroup","getViewportTransform","isNotVisible","isOnScreen","_setupCompositeOperation","drawSelectionBackground","_setOpacity","drawCacheOnCanvas","_removeCacheCanvas","drawObject","propertySet","isCacheDirty","hasStroke","hasFill","needsItsOwnCache","ownCaching","willDrawShadow","drawClipPathOnCache","originalFill","originalStroke","_setClippingProperties","_drawClipPath","skipCanvas","_getNonTransformedDimensions","_removeShadow","_setStrokeStyles","decl","lineDashOffset","gradientUnits","_applyPatternForTransformedGradient","_applyPatternGradientTransform","_setFillStyles","dashArray","drawBorders","forActiveSelection","drawBordersInGroup","scaling","multX","multY","nonScaling","_renderPaintInOrder","_renderStroke","_renderFill","pCtx","pCanvas","_findCenterFromElement","_assignTransformMatrixProps","_removeTransformMatrix","preserveAspectRatioOptions","cropX","cropY","offsetLeft","offsetTop","objectForm","_fromObject","cloneAsImage","utils","origParams","originalGroup","originalShadow","withoutTransform","withoutShadow","boundingRect","getBoundingRect","shadowOffset","originalCanvas","isType","shouldCenterOrigin","_setOriginToCenter","_resetOrigin","centerH","viewportCenterH","centerV","viewportCenterV","viewportCenter","getLocalPointer","pClicked","objectLeftTop","createAccessors","extraParam","__uid","translateToGivenOrigin","fromOriginX","fromOriginY","toOriginX","toOriginY","translateToCenterPoint","leftTop","getPointByOrigin","adjustPosition","offsetFrom","offsetTo","hypotFull","getScaledWidth","xFull","yFull","_originalOriginX","_originalOriginY","originPoint","oCoords","aCoords","lineCoords","ownMatrixCache","matrixCache","_getCoords","absolute","calculate","calcACoords","calcLineCoords","getCoords","pointTL","pointBR","intersection","other","otherCoords","lines","_getImageLines","_findCrossPoints","_containsCenterOfCanvas","isPartiallyOnScreen","allPointsAreOutside","topline","rightline","bottomline","leftline","xi","iLine","xcount","lineKey","getScaledHeight","scaleToWidth","boundingRectFactor","scaleToHeight","cosP","sinP","cosPSinP","cosPMinusSinP","calcOCoords","rotateMatrix","_calcRotateMatrix","translateMatrix","_calcTranslateMatrix","startMatrix","_calculateCurrentDimensions","forEachControl","w","skipCorners","_setCornerCoords","transformMatrixKey","prefix","cache","tMatrix","noSkew","_finalizeDimensions","originalSet","saveProps","props","tmpObj","dashedPropertySet","keys","_isEqual","origValue","firstPass","forTouch","isControlVisible","touchCorner","fn","controlObject","wh","shouldStroke","setControlVisible","setControlsVisibility","FX_DURATION","fxCenterObjectH","callbacks","empty","fxCenterObjectV","fxRemove","_animate","skipCallbacks","propsToAnimate","out","propPair","propIsColor","_options","valueProgress","timeProgress","_initRxRy","isRounded","bezierCurveTo","Polyline","exactBoundingBox","_setPositionDimensions","_projectStrokeOnPoints","correctLeftTop","calcDim","_calcDimensions","correctSize","fromSVG","commonRender","_setPath","_renderPathCommands","subpathStartX","subpathStartY","aX","aY","pathUrl","loadSVGFromURL","useSetOnGroup","isAlreadyGrouped","_updateObjectsACoords","_calcBounds","_updateObjectsCoords","_updateObjectCoords","objectLeft","objectTop","nested","_restoreObjectsState","_includeDefaultValues","objsToObject","originalDefaults","_obj","ownCache","groupMatrix","destroy","toActiveSelection","ungroupOnCanvas","setObjectsCoords","onlyWidthHeight","iLen","jLen","_getBounds","minXY","maxXY","toGroup","newGroup","childrenOverride","srcFromAttribute","_lastScaleX","_lastScaleY","_filterScalingX","_filterScalingY","minimumScaleTrigger","cacheKey","imageSmoothing","_initElement","_element","setElement","removeTexture","_originalElement","_initConfig","resizeFilter","applyResizeFilters","backend","filterBackend","evictCachesForKey","getCrossOrigin","getOriginalSize","naturalWidth","naturalHeight","_stroke","filterObj","getSrc","hasCrop","filtered","getAttribute","setSrc","_setWidthHeight","minimumScale","elementToFilter","_filteredEl","sourceWidth","sourceHeight","isNeutralState","imgElement","_needsResize","elementToDraw","elWidth","elHeight","sX","sY","sW","sH","maxDestW","maxDestH","_resetWidthHeight","CSS_CANVAS","_initFilters","pAR","preserveAspectRatio","rWidth","rHeight","pWidth","pHeight","parsedAttributes","getSvgSrc","_object","resizeFilters","imgOptions","setupGLContext","captureGPUInfo","isSupported","getParameter","MAX_TEXTURE_SIZE","precisions","testPrecision","precision","fragmentShader","createShader","FRAGMENT_SHADER","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","webGlPrecision","createWebGLCanvas","aPosition","Float32Array","chooseFastestCopyGLTo2DMethod","startTime","drawImageTime","canUseImageData","canMeasurePerf","performance","canUseArrayBuffer","ArrayBuffer","canUseUint8Clamped","copyGLTo2D","testContext","now","glOptions","premultipliedAlpha","depth","stencil","antialias","clearColor","cachedTexture","getCachedTexture","sourceTexture","targetTexture","originalTexture","passes","webgl","programCache","pass","tempFbo","createFramebuffer","bindFramebuffer","FRAMEBUFFER","applyTo","bindTexture","TEXTURE_2D","deleteTexture","deleteFramebuffer","clearWebGLCaches","textureCache","textureImageSource","texParameteri","TEXTURE_MAG_FILTER","NEAREST","TEXTURE_MIN_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","texImage2D","uniqueId","gpuInfo","renderer","vendor","ext","getExtension","UNMASKED_RENDERER_WEBGL","UNMASKED_VENDOR_WEBGL","sourceElement","originalImageData","originalEl","BaseFilter","vertexSource","fragmentSource","createProgram","vertexShader","VERTEX_SHADER","getShaderInfoLog","program","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","attributeLocations","getAttributeLocations","uniformLocations","getUniformLocations","uStepW","getUniformLocation","uStepH","getAttribLocation","sendAttributeData","aPositionData","attributeLocation","buffer","createBuffer","bindBuffer","ARRAY_BUFFER","enableVertexAttribArray","vertexAttribPointer","FLOAT","bufferData","STATIC_DRAW","_setupFrameBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","_swapTextures","main","mainParameter","_class","applyToWebGL","applyTo2d","retrieveShader","shader","useProgram","uniform1f","sendUniformData","viewport","drawArrays","TRIANGLE_STRIP","bindAdditionalTexture","textureUnit","activeTexture","TEXTURE0","unbindAdditionalTexture","getMainParameter","setMainParameter","createHelpLayer","helpLayer","mainP","ColorMatrix","colorsOnly","uColorMatrix","uConstants","constants","uniformMatrix4fv","uniform4fv","uBrightness","Convolute","opaque","Convolute_3_1","Convolute_3_0","Convolute_5_1","Convolute_5_0","Convolute_7_1","Convolute_7_0","Convolute_9_1","Convolute_9_0","dstOff","scx","scy","srcOff","wt","weights","side","halfSide","sw","sh","output","createImageData","dst","alphaFac","uMatrix","uOpaque","uHalfSize","uSize","uniform1fv","lightness","luminosity","mode","uMode","uniform1i","Invert","invert","uInvert","Noise","noise","rand","uNoise","uSeed","Pixelate","blocksize","_i","_j","_iLen","_jLen","uBlocksize","RemoveColor","useAlpha","lowC","highC","uLow","uHigh","matrices","Brownie","Vintage","Kodachrome","Technicolor","Polaroid","Sepia","BlackWhite","BlendColor","screen","diff","lighten","darken","exclusion","tint","buildSource","tg","alpha1","uColor","BlendImage","mask","TEXTURE1","calculateMatrix","canvas1","blendData","blendImage","uTransformMatrix","uImage","uniformMatrix3fv","Resize","resizeType","lanczosLobes","uDelta","uTaps","uniform2fv","horizontal","taps","filterWindow","getFilterWindow","generateShader","tempScale","getTaps","lobeFunction","lanczosCreate","offsets","fragmentSourceTOP","dW","dH","lobes","xx","rcpScaleX","rcpScaleY","newData","oW","oH","sliceByTwo","hermiteFastResize","bilinearFiltering","lanczosResize","tmpCanvas","doneW","doneH","stepW","stepH","dX","dY","srcData","destImg","destData","lanczos","ratioX","ratioY","rcpRatioX","rcpRatioY","range2X","range2Y","cacheLanc","icenter","process","u","weight","fX","fY","xDiff","yDiff","chnl","origPix","w4","pixels","destImage","destPixels","ratioW","ratioH","ratioWHalf","ratioHHalf","img2","data2","weightsAlpha","gxR","gxG","gxB","gxA","yy","w0","Contrast","contrast","contrastF","uContrast","adjust","uSaturation","Blur","aspectRatio","simpleBlur","canvas2","blurLayer1","blurLayer2","percent","ctx1","ctx2","newImageData","delta","chooseRightDelta","blurScale","Gamma","gamma","rInv","gInv","bInv","rVals","gVals","bVals","uGamma","uniform3fv","Composed","subFilters","rad","aThird","aThirdSqtSin","OneMinusCos","additionalProps","_dimensionAffectingProps","_reNewline","_reSpacesAndTabs","_reSpaceAndTab","_reWords","textAlign","lineHeight","superscript","baseline","subscript","textBackgroundColor","pathStartOffset","pathSide","pathAlign","_fontSizeFraction","_fontSizeMult","charSpacing","_measuringContext","direction","_styleProperties","__charBounds","CACHE_FONT_SIZE","MIN_TEXT_WIDTH","__skipDimension","setPathInfo","initDimensions","segmentsInfo","getMeasuringContext","_splitText","newLines","_splitTextIntoLines","_textLines","graphemeLines","_unwrappedTextLines","_unwrappedLines","_text","graphemeText","_clearCache","calcTextWidth","cursorWidth","calcTextHeight","enlargeSpaces","diffSpace","currentLineWidth","numberOfSpaces","accumulatedSpace","line","charBound","spaces","isEndOfWrapping","getLineWidth","kernedWidth","lineIndex","missingNewlineOffset","_setTextStyles","_renderTextLinesBackground","_renderTextDecoration","_renderText","_renderTextStroke","_renderTextFill","charStyle","forMeasuring","textBaseline","font","_getFontDeclaration","maxWidth","_renderTextLine","_renderChars","styleHas","heightOfLine","lineLeftOffset","lastColor","charBox","currentColor","drawStart","leftOffset","_getLeftOffset","lineTopOffset","_getTopOffset","boxStart","boxWidth","_getLineLeftOffset","getValueOfPropertyAt","renderLeft","getFontCache","cacheProp","_measureChar","_char","previousChar","prevCharStyle","coupleWidth","previousWidth","fontCache","fontDeclaration","previousFontDeclaration","couple","stylesAreEqual","fontMultiplier","measureText","getHeightOfChar","measureLine","lineInfo","_measureLine","_getWidthOfCharSpacing","grapheme","prevGrapheme","graphemeInfo","startingPoint","totalPathLength","lineBounds","positionInPath","_getGraphemeBox","_setGraphemeOnPath","numOfSpaces","centerPosition","skipLeft","getCompleteStyleDeclaration","previousBox","__lineHeights","maxHeight","_renderTextCommon","lineHeights","isEmptyStyles","actualStyle","nextStyle","timeToRender","drawingLeft","isJustify","charsToRender","shortCut","isLtr","currentDirection","_renderChar","_applyPatternGradientTransformText","handleFiller","fillOffsets","strokeOffsets","_getStyleDeclaration","fullDecl","shouldFill","fillText","strokeText","setSuperscript","_setScript","setSubscript","schema","loc","get2DCursorLocation","setSelectionStyles","lineDiff","__lineWidths","_shouldClearDimensionCache","shouldClear","_forceClearCache","_size","_dy","lastDecoration","currentDecoration","currentFill","lastFill","topOffset","styleObject","family","fontIsGeneric","genericFonts","newLine","newText","allProperties","needsDims","isAddingPath","objectCopy","textInstance","pathInstance","p3","cleanStyle","letterCount","stylePropertyValue","stylesCount","allStyleObjectPropertiesMatch","graphemeCount","stylePropertyHasBeenSet","removeStyle","lineNum","charNum","_extendStyles","_getLineStyle","_setLineStyle","_setStyleDeclaration","selectionStart","skipWrapping","getSelectionStyles","startIndex","endIndex","complete","selectionEnd","getStyleAtPosition","lineStyle","_deleteStyleDeclaration","_deleteLineStyle","scaleSkewStyleHandler","scaleStyleHandler","objectControls","ml","mr","mb","mtr","Textbox","textBoxControls","getSvgCommons","_createBaseClipPathSVGMarkup","_createBaseSVGMarkup","erasable","eraser","_addEraserPathToObjects","EraserBrush","_addPathToObjectEraser","applyEraserToObjects","originalTransform","_clipPath","eraserPath","applyClipPathToPath","Eraser","isErasing","_isErasing","_isErasable","_prepareCollectionTraversal","collection","restorationContext","preparePattern","_patternCanvas","bgErasable","overlayErasable","clipPathContainerTransformMatrix","pathInvTransform","clipPathTransform","clonePathWithClipPath","objTransform","_path","desiredTransform","__subTargets","applyEraserToCanvas","drawables","drawable","O","_N_E"],"sourceRoot":""} \ No newline at end of file diff --git a/docs/_next/static/JOh8EP5LP_6eoAEA3R--z/_buildManifest.js b/docs/_next/static/tZo5ViPNpnTTmF1vXUecO/_buildManifest.js similarity index 89% rename from docs/_next/static/JOh8EP5LP_6eoAEA3R--z/_buildManifest.js rename to docs/_next/static/tZo5ViPNpnTTmF1vXUecO/_buildManifest.js index baa5484..bb6ab34 100644 --- a/docs/_next/static/JOh8EP5LP_6eoAEA3R--z/_buildManifest.js +++ b/docs/_next/static/tZo5ViPNpnTTmF1vXUecO/_buildManifest.js @@ -1 +1 @@ -self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/78e521c3-312593b4f3190cc4.js","static/chunks/95b64a6e-6f3d919198a9be32.js","static/chunks/31664189-7261674e93dbb0a6.js","static/chunks/545f34e4-f96cf9e26b6b92a5.js","static/chunks/1bfc9850-6b316c8ef06e5170.js","static/chunks/d7eeaac4-06e64d251e2cbda7.js","static/chunks/f580fadb-a8e2c6896615a304.js","static/chunks/50-cece886aa17c1d5e.js","static/chunks/pages/index-617009baca527a4e.js"],"/_error":["static/chunks/pages/_error-479484f6c157e921.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file +self.__BUILD_MANIFEST={__rewrites:{beforeFiles:[],afterFiles:[],fallback:[]},"/":["static/chunks/78e521c3-312593b4f3190cc4.js","static/chunks/95b64a6e-6f3d919198a9be32.js","static/chunks/31664189-7261674e93dbb0a6.js","static/chunks/545f34e4-f96cf9e26b6b92a5.js","static/chunks/1bfc9850-6b316c8ef06e5170.js","static/chunks/d7eeaac4-06e64d251e2cbda7.js","static/chunks/f580fadb-a8e2c6896615a304.js","static/chunks/50-cece886aa17c1d5e.js","static/chunks/pages/index-1a76b27dafc9b8ab.js"],"/_error":["static/chunks/pages/_error-479484f6c157e921.js"],sortedPages:["/","/_app","/_error"]},self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/docs/_next/static/JOh8EP5LP_6eoAEA3R--z/_ssgManifest.js b/docs/_next/static/tZo5ViPNpnTTmF1vXUecO/_ssgManifest.js similarity index 100% rename from docs/_next/static/JOh8EP5LP_6eoAEA3R--z/_ssgManifest.js rename to docs/_next/static/tZo5ViPNpnTTmF1vXUecO/_ssgManifest.js diff --git a/docs/index.html b/docs/index.html index cc27fb2..6eef137 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1 +1 @@ -T2 Model Viewer & Skinner
\ No newline at end of file +T2 Model Viewer & Skinner
\ No newline at end of file diff --git a/docs/textures/turret_assaultTank.png b/docs/textures/turret_assaultTank.png new file mode 100644 index 0000000000000000000000000000000000000000..645ec85e686ecc18acacd8c3c595170101297b98 GIT binary patch literal 467149 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 z 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%0DV1-}hAj=@?Rqd&UKE(wI_Jvg$S&N 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

QplFk-SPX6Ng}P(}O2 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 z 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

c+!r{N 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 z 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%0D)`tp%uF~~;-wpq7PAy2baxl9H}!ZB<~Y$>XS1t$ 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 KvF6?YJU8Wf*=@=17ccXkiwle~L+ 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 P00000NkvXXu0mjfaH}NL literal 0 HcmV?d00001 diff --git a/docs/textures/vehicle_air_bomber2.png b/docs/textures/vehicle_air_bomber2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3cd95d8429ba3cd1b8b7885eaaf55e03543fdc5 GIT binary patch literal 315789 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%0AE&-_mL70<^++B+zQBCA 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

*W?Cvoq@6x8FBzk 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ⅅC5c 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

7547D~y3S$huy}d56>~-R|-+qhZIOfkk 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

&7^ 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 literal 0 HcmV?d00001 diff --git a/docs/textures/vehicle_air_bomber3.png b/docs/textures/vehicle_air_bomber3.png new file mode 100644 index 0000000000000000000000000000000000000000..f7721dba3fd0df144bb809cb3ceb10bad5ca688c GIT binary patch literal 418994 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 tzHRgp8Dzk7)`KUu0AVSAD2pNAIiuWCJ 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%0DXIVcW`)HEj)W? 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 z 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 SH;-;C2rkT5`ONm}{q(5~y*~P>! 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%0A4B-$kpcdtM?X%f7vkh_!_y7)s@v! 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 z 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%0A)k?|y^s`U> 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%0Aw?; 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

FA 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

@9r_oc$lkfm(`cnAQCGb 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%0A&V#H;%NR4` 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/Q2O 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

eZ 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 literal 0 HcmV?d00001 diff --git a/docs/textures/vehicle_air_hpc3.png b/docs/textures/vehicle_air_hpc3.png new file mode 100644 index 0000000000000000000000000000000000000000..04d2e0ec91463a383614fe3e81fcd5f556fb69fd GIT binary patch literal 440587 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%0DY6bZ7G;5mVb*{UtTfdxn-BY-aC%H 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 ChOH(5 literal 0 HcmV?d00001 diff --git a/docs/turret_assaulttank_mortar.glb b/docs/turret_assaulttank_mortar.glb new file mode 100644 index 0000000000000000000000000000000000000000..a6b81ed796c36e68ff01033b17f692fcffef2218 GIT binary patch literal 83856 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 literal 0 HcmV?d00001 diff --git a/docs/vehicle_air_bomber.glb b/docs/vehicle_air_bomber.glb new file mode 100644 index 0000000000000000000000000000000000000000..a8332b0a23deeeb2302f0ce25a986e38e3423f5b GIT binary patch literal 202876 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%0DB=g68b$h{h#&5aAN+kYOTZhmIP=WZAS?|JO(oyV zvhd9;$9yx(F(1wHcn*P=W(CC5GqXIxN{FdvW<`Wm^6=2C0T0cZ%tNy#JTt4oKeGn> zHXnkgW{v+^KTYbDN&PhSUO!DMJTooKKhuiP?&qi34nCSr_-eLC9LD@JJ${;<;iK6B zKAK$+^M0D$;i=gbKAOD{7q*`!_0aTqYYvBh=Ks%rn(+C`k^M2@Q<fw9X~MTFNA}-@ zPgxG<kLlw4F<F}W{=f&v#rbl&WM5ABD7j=mO*u{dmEhCll6^MiH1*qp?~jY~*<@+z z69nHV7w4zR(zHB$sa%|&CQEz$G+msZrc3rUgU^@i>pOm$EbaAcb8$YKEKU8q;IEWh z2RTj4!)J=Y_xfqFwAWA5CHrZ@H<P8QZzg;;U9!(6e7Ib)Zzg=rT%7--OZI<+pIUA{ z{4QDA>qqI5{V3sg>5}~`;g9B`KA2v=OO~eP;g9Cx{5M&e`ftJ?EjJ(jo-Wzn6aHu} z>Jv)+K;a+C(q6w&m+UtRe^Qt1PYT~Xm+X%Te?6D%r%BVY|0et^SsAZ?CF2dRf2B+I zuY|9ni}U4VX|GS8i}U4VX_^n8GRAveU(Q^fgrAyA_RWOPrc3tOgr6o$d;K(78LywF zOZKUx?{dCxxn<y+$=>z)Z?d%4Pc!#h@QL$zSB44S%-s6(^2N&(k2{YSeCTrJi|0K# zpYkCuzwl4Y<!4@w;Fp(6A6W)@+R`*HgYd7+rN1n9v<%;-vfNQw<9Psng}Jf@AHCeR z=H-Rz3RyqUI?Hm$>l~i{W!$MA;N=&-nYpsS%aM#bEf2rQTzQmnr}~GNK^b@IUkSg< zTt1g^r~a6{T*$an|4m+wDDJY(;pI-oo$3c(PG#J^e&4w|gr^}7Q-(uz4t#+X`Bvs( zub*ZvPx3q<^AFYAa+>lI&wD%#W%|=Ha@y;snX9Y$Hige-u3Ymx!1odG$0V{pCj2ys z?57F;O(Oem!XJ}x{+NXG$0V{pCVV*w=gUcCUrzXGO0u6Od^084HxoXalI*hye@sdC z$Ar(O#QALIrs1b4aekT-=cg%gewq^JrzvrMniA)yN#fzBN&PY5n@MEfO!#aP*=G~} zm_+u+gwH17d^U;fvkBi!!ue_Drs1basGsH!@Y95ECXszJ;j>9(pH28?66%||7QUJA z*(9>hCj1{o>i<|9{*UmBbjyB`sf%h$vcDw!D5am^M>!sTl<=>VWdBO|T}rawCHyfZ z*&h>rnv(3N3I9#E?7s=WPEq#j{Iyn9vK;=NQSkSKA1IOiK;a)sWdBh3jS{`rZxsHd zg!+^AfIlhxF(ug_6MmXfO|PFO{5K`pe-r+d66aqjasHK(>|Y6APKop7lsI2biSy-@ zIA2bQ^W~IeUrzXDO0sVz^|h3JHsPl!aekT-=cg%gewvc(rwJcSBKu}i-%r_R6MmY6 z^V7^N13yi|`Dqf_Pjf<2bf)Z^DTJ)o$v&I#)7&NdY0ipjY2y4ecX582yOjJi?~I?A z&t|6Vvsu03vNvVlO!#b?WS>p=KbkpT$lNsiB~7xwBoC8M!|yUv_Pc~XW|r)a+49lH zb}sb#X~KWg6z=ukgkPsg_UnYdXO`^m2|v(XrM!NikN4Y`Df@@QZ`36FjgHz8Ws?0# zKd>A$wz=b*X_9?2;j_6*_SsDTr^2oV-ZJpnG|4`j@P9PP{*OB2|6}hw;Ho&b$A2v- z3WB|Xii+49Rbh9=0@xdBY^bP+z4wM1ODu^RjWzaeG)4t%?B1~(HFk}?8)I*=xBSnU zd(U;?#b4fgdB5_1@51NKoH;u?J9~C^ww&4T)Cr<-k<W+C@=vmlmy8Z*nMmU(PfYR- z+G*FrxJyTV7>^lD<1tH29~n&JG-3Q^Fpb~L=Qc3d6V}CXoiN@rh{k)4_z<!AynP&K zGfVExG(Pm?z|u(#AU}>9?NDYz5{)N?v6*rVqkWvFLxyph>)@RUjNg>wG^JiSKFYg# z^}WLXybNPAaqOkAkJEI>FivwV>h0q+rQSJC6OWJc=d^*d4LI9?vkf@gfU^z!Uuy$2 zE|bP-(zwk}jmxC*e>5JD#%a>{Od79A<1%R+C5@~6XUA#M_)HqFN#io9T-pwf^ZcW6 znlwI>#%p4X<1<r_n@pXiah5dhlEz`uxJ(+SiLp9v6Vo`Zlg4?{xKA1fO5;LlTqcdv zq;Z>{8h81Rj^Cv5l{8-S&&Fxe_)W_9r{gs3<1=Zz=HEL`lg4M#cug9gN#iwX+$4>o zq;Zur&XUGm(l|^Smr3IxY1}4_<D_w&G|rR8ebP8ktOt$@rE!`xK9k04()dgouSxZ! zag;Q!lEzumxJw#`N%f?0np963$4TQlX`CmG`=oK8R8Mt$CXUNYJx)^{pNZo#aonal zPE#G9iQ_VH+@?BCQyrg)<1%sFraDfO#%I!aP3Jhxk58#i$!P(n1^(3*z<WmZ&zV-O zVY{DHHBS4e)^OU#*&dwjLA8LhJ*d`j_7BeX@YmYI$8nk#7@vuMHkM|3DZ4-l$7`mA ze;3doR}(3lIDRv&9LGtcINju^O(bl(O2Q_FC})8<GlZ^k6lYc$B4HE9a$<;MIc>yE zlyk^*4msA7$eVd!{3ed#%nzX##KhSw1XRtpTeE2eU)9x@SIunpnw(jG*ZZ`V?ZR{u z^aknMJ*cQ(I{vk`(sQnHIP&YTj5$5EJ&R`OASaXDdva#;1FV}J)`k2g<-ZltT#wFk zCAmxD3ZwEDv%>ramN#(StsX7(y$g;R6FUqv)iTv>sr7;UCgq1RO)68}E|i~4<*Rj5 z>yxSujxyEysO6~Tt9jJ=sP$C$MJ-3&u39(qtFPIiP5t=ts5^S8BBR)_mhCxzdcZnn z<2TlCe(uM|Ur9Fi-!8%fnpNee5Bae6E#|P{)7$g9wYISLnQL2Lcy{6aD{N<n*X^?Y zXtw2D9?i2teh~=y&q4l;Uk%|e+kUMt8q%D3w{6Nt?cQR2pXUra-+3@E*`|&4v*>er zx;5?j9ZO+W;q?{vd&?f&YyS_7eVvb$`JpF2?e{(V<#Jl<h0cS8ALMTd`Jqhl8<e>m z%7i@P6y&)Ad7ykj<wKd`S18lpR;KWVG9#f(JSnzxix(#g-;i9g)bgoRde@S__)pCm zV?BRph)`uLXSze*F<`P?M!oG%?brS*8J9VK|G756)<W&$KQ*?WGXIeg9dp`wXPPWw zi~rs2@$vo*zp%*w_iK2Errwp|moy%57v>2uem#>NLiM|u)c03-mz5X(y=CkzW#pLW zhx@I(cCI<n%?km^9NFU-76P6*rZFr8RC7!h1>SifNjdj}5c%d9`oceQ&M`!}B*cCY z`U2s+G?2|p*(v8pG`Coe>c^9tE!iDb?aefOS8OSxOD#8}+z<~9^(d46{m~ZMng?zg z<k3ErN70ATx~a<7lyVG`Ay1fE2hywCQtO6#%A>BU)*1DGRtGhYx-GR#yg!}$y0vk` zc$D1j$gOYi{&9)REUkILFx_**Btv@@XQKYq){$DZLsK=pKRp^0q@5~hCgXkIf!6o5 z^z~v*$Zt}9yg#Kf@&54;<Z*#KYWb<kG^tF~H`m^1ceR~{TE1G2T8B@SqvlulMXje= zzN%OAt99NmXrx%Nws++im$AAk4+1^*74-{`)$f43a_!^FeeaBs_jhn@mCNjX$)Cz@ zJf45v;E`N6wLInz^y$91ll<8S+xGt+*<KI0=c7Nhe@iJJ9yF3q&DN)KjhAC|RUQEP zDcPP>#{Dfec%&?=%Hc73(+<&m^@eZEpYK}u&ek*8WWB7|>Ry&tSY3mAhZGXaZ%;K_ zRlLW>-(H}9JE1+V(ys}3tva2xZvUKZi|Whgmz&QrRr}d2x4MQX0Qr|fekfCXZ!Z(_ zh<T9b_o_deP`;JQkFI#n`h~qr-mi(kGTT6zKD|Hl@0Ku_Z{FXReKDaRJJV$tU*vjG z|9nD0E6S@teql~$%lx|V)}eFcy?Od2z4=>nJ$r6Wx1zo+=o81}3uv>qi`L}zNTJGT zK`)1XZom?|jQZCFMvC8`tdYm@k7cyA^XIgIvklnV0G>6}|2Si`#{Zr@Y+HAR|C<(| zbAamLOp_&SvC|&^S@!t&oSN2xPpWCbuaF*|SJCHyJcx9lL;nIk!&*{2zq$hZfxHTt z;2AcvoWl!e^1`QDe6~gZ0<j_J={7se&V_^soTV!_#MvOs193`ELSA^PMSsG_=URN4 z#d*34!t*Q5(Dm`@wFErHmXuGbI4c)EtCo~=a^cfzIp8;7><?0aWA?2;n0G4#(nxa% zg%CLoIO7)1yQRySwg5OO=iB1IalqNPkmkUE-Vgy42b^yU<C-8v!aQ3@aHu2a+^Pq0 zeULD00I_Yht%fkSRwI~MD@uk<A*PwOn!=1*INKJ^xz!xv77*fmTR6j3OQ1HilCx{Y zK#22d(Og;`VdgBHKdUo@T_DCev${iQn=Pvs%!<|1K0{VNm<g+|oE7V@%!D<`GTHK_ zWs>D9h^JVlTBbqxHN?{`Gc4agI1}Pomf4m$5YB~op5<H1d<Yj{{B)akdgxZ|@bC&| zo6ug`y1SP(OQTE1Lc4xQ_*o-nW^e6m&r8}-$aBaiPAgX8gch~ts4-;v4lV1(AGAaB z4;q6&&H?h0h9TzivYoWX>yAlz!P9L9mOmWIi4N^$VEJjFeAuqkAAvFt`otMnW@9LG z@bn!9mU9HkY(2BLLE9Z**Dr<gmzM2hQ2C?Aq%#_BTcX8fU1PNNu3}U!_FjvxaMFnJ zuA-ql9OSrB^^BM~cccvYHOk**R6Py#!ywOq#3IJ9HSYS$nB&Hv#3CBXzkxjWL22Xe z%BfmUDF1c-JlX@0muPLwZy%J_6up7^6`&6qUPwz*d%kvW->c-n;e`y8AA+owQ|;+M zqbh87ENr(r$Q?6X)0V=zYJS+3qfE6van0W*zgzuW>oTCc(XIL0FqAuitkyqz#`ff1 z^>%C1&l$<>W^4~bc^b%Sog<zO)H=a-abHlz`g{)cQTI{Z7j?U;o#)p*p4@BPT5ZEg zGx<|>Q0uv{?(s0pzaH|d$4ITGy1zrFT{W^F^VIqV95U24FxamD+~R7gZDvZb6Ec6B z*Llq;#WxvVCuV6=J6AK+_Bm|YRV@pY*$c{qax_nnM?*Pkd!AbCgw(f&a;6sFq~*1j zLvqvOhM|_Dt~(9Z#q!^EGL6eC{pGsNAb*N;N7*l|CzjtF@~Ha)<;Z>c0Oed->F>y+ zo-fa!4P*PE<4DJp+Bxdmz_}1J>zU^JMMG0PzI5(jyH(qp+9rR4a|g@EJb2t&Lpgp> zj=C;w3(rB4al4cU^<+0Z7OH(nkM>k;uI{^f993JX$6B?In!otWqOuK4gYBy8(sr>v z>M<%Yv#3UGhVo$D)csQX4b}dX2lqEspCkJyw4rKG)jn#S)&5PbzuNxQK9=f<`=Zug zZS(4Rs`fu>pQE1Fs$M;3)pFGSLG44-{AwQcd{^_U?K5>AYR_uhQ|qtRS#7s!J=MNN z?Hkp4s@qkMsd}u{daB1!t%G{p)jG#t^x-}OB6-!}W6fm^9<iArEqGksc%~oD$dj+u z;qjZkVKqBmW|yWl=6Skru|{|Mfo;51jUTz=&O0qG$8Qv@#FrP!$m(YD;IqHtyne`b z>z(IQnD1FXK6`wi2sxZl?1pl>K{+cLJhEc>9iaRn7kz{;Y_|z)H?G?c*6mQHfHK=J zE+_6nnf;(l-tn^aGHllewp%ZghnNB7w}A4mJ)dGN4&~2+@^^QSU=MF@wjO`pMGQMr zlNAq+u=XuFP_%9F$ow)>HEX3ALqxO7S$O;A)vV2iH4txaePd1Pz0BJER-9;aIg1Da zeN)gUKAshLxbYah(2$WL<C7hMo=wK+1woD<{&K^YQ$~u`cY5n(HV!HY?*T;KI(cCZ zC5z>w{-xCC2K_$IK^td;#*4M_kM;eYFQvQ=<ZHfNglpE5*0)EFYnjUT6eFf@vmX7r ztv;$jM`3(@!|GKspE22^mv}RMgVp=|E`9K@XtC==8j&g5#r(DE*o0hb2Jp_Ar?GEx zO-$H4q&+X4_>i?a9g?u;YB(RYq$nTy^|^%Hkf#&msXMzx!nmP6d_(^le2QOrhYWS# zSchMs4x<}%<lAAptzf&Z<$LncP@mmUpP|E|xq$6vgY8c8=*2%keF{K*`cLj8d^WUV zw}rv>eds05z3<2>6q>+#^z9^EYy7CU`f!R}dl4-j=e*1&w;julmunze7O28{#(VGq zlRNQzu<jjL7xMGpB7fAILw+cSpN4Y$p`26Y8u0p%zdPi=`XZWRIa8n<x8?oC$`iAg z%iVE_^BN8o!B5ZV-8#lt4?Q0&x@Nww|DZRpVxCoyr*=&L#NWI+iTf8!Gq?L0Ynlt~ zMdFQH<|Ln6R#=y7ux?9O*L`_^z8La%>%SuLr{{xt9F()dRu0E<&bgILeBsrJ?|^b# zp&XYB?fDl_&M+uPn|Owud9aLasosJ=v*zO+fm<HaFoO5F(vYngv5eKc)19|mS&G+5 z{DNg}<<B2^ztgTS-^0>t-FdyPL-ks9r?Bo_2k;lxe4-Dm+ZxubGVzS{guTpuR~lLu zK{>UdoS2oRL@OvK4U`jB;GJ<A%E<ub#C08N*0h%sZgfhjGw3dB`Ar9rrF!0^79R81 z>mvO{pMi@4S6?Y3=j94bdn9RPuZH~m;+!I_Pp+WS4HNva9q03nOj<ksnw$@8!k_{P zTa&(%`VnVJY>tL<UO_n*9>i>}2j#bb@)!P+eX|MWY=?5N{X-dlm+t~|9%DU3t>_)r zvkfByRQV|A>w+Hh90xg4=GhkjdXD-)^Fs>xFz8!=zSztK2`4~iAm7-%GVt@7{%dfb zqP8?jOet@Y`bMC~ZD5`zAcrq$A@_S?qn!yU<#Tp@RY!hYOY0aTo_Bb`yf)@BRC)S` zXkipi!)Gj+Z9H4hLHyq6uJm27jxqc(<Sz;NRe8pTXucitFM<3o7IfgR?D=oDdTWl~ z`-pj4VuUKc_dk@VeYS<Q&CpBq7(K}Pd5^68v{!BMpw(M_6yz@e`Biz+1+T!ekiR|T zA2)gs8w2@IK>ly4d5XP7O7Z!l-!oPIs=T*2vAh7E8~!_MzBrBOcOZygAMu7&7~eDD zw>18u>Dv&l%EMfyB|HWFXQ1ztMo)MKaubkeRrBP#p!@|;zA8^C@6ECNc~E}z;xxQB zlz$V-pY$RdpX3+C3&p21Rk_gQoIGbEXsc5)n}wr2`GVgX^BTuq8IVU{erC(>kbNfS z6geRO8_4ey?I{*Q{xOiB#m-MC7*WEQ{B9&y<zElRBn-9dGk5qgVRyJKPgqPJaiRBj z)|bgmHB}x`rmx6wb%izich$7mDZPd9e!cbXkDay3F@5+gdwx}h{2cRNT~keqnbMn| zfc*Inbk=O=3Z5^{pVJ1;HsEXn&Nkp|1I{+!Yy-|V@bAzDUU@BM6=&7pyK^4X*Lhds z{-cDB>35)S+O87k`Z7IvUM0SM^>lsXl3M(9qqU6Usb?$ku>ITgp$BU4!lMrAUH69Y zOUo89Ojn6qpkJ?1iMRafOTE^wwfGg(yI0~3pMJ+`Lb^W0SHGyl-JaCp*}8S+L5rI6 zAzwD-3oE(GcyjkveAvtu{Ks24<?@={Tx9y`peX)jasz&)t%r<TAML|^e2VilbHn+= zEp_<)^;Km$@|T|c5u|r@ug={c<mD5x^_KB=e>d*maU?H&-<#i#?!m9+7|H!|_Tu*k z8f@;x;ru$JaryCnVSG>9Q>?_T5A3^U>3MY#z%kA^;t|^g`rH*V@VoP~a+bENjJMj$ zy#(tQgYrt)%f~d9ciUcmrlmD_+S}=P`(v&6`q5`u&!esQyYTFM&GUx5{j-y7)Qu?a z=be>jw&&|*UrzaHIp&Xr{3q)cV`ir=ylT=p)}u@lUhnhCGJUGCuS}1ex=N<=xZP)u ztF_>j?D-7)de!XtciQt0u;<Ta&%d<Imn`t$TUK&Q9rjG~;HNr`VwMq4*#6}mWcpUl zpXKtfZ9CZD;2UiH#yae~01rN|&X??L;dks}i&3oLizlq)%nnk&_WEh5cb&F_y}NXS zm4M@#(4rNu82_4Wf_R_(c+ZD+@Lj`Zyz1es{6(?uJd?ehOv&6(rnlscmFum7c7p2% zK>Jw>`5*80;crIQ=aW{RV%5IQ#m7VZ3erzNkLmhB?^*W1?)>q@0JeI_aClGTFVjEO z+QwEvI{l;o88@-#^PFK@e%ikLMsRKZ=Di>9`%`EB0@~Kzg*9Z1Y1Ef4S6ily-L~|( zR^4Q}4CrzB-tCve_VgObOX{!n0(D_t!;nilrYk024%<5~k{1JgLC|Bq{h-I?`yh6K z<@;cH*xRAJ?Aor}^`{u#WP2O_d}WkOzZgA=XPDTLA8@lseTi*{SUJddzJiBbeqfbg zxcugcbUboTc0Rx7PweKni!9Tr$1F$ZY`j&K8!W@^vy9G@@%iA~d6}E<itWtzU~E5+ zGQ6$JalJlm%gb^a{us(}{ZiAba#vV?`u+7`IZNf{4c^w#_XSkp-5|~m>CN}nhq)h) z;J#_LvHhUGvF9kme8nM+@fApCf#p;`I<M$FqwU>a<jv4NWH+*7g9RR}&Hf<{d)=|; zBYW0{<uR}v--$T?oEC6ez-fX13=80Wy87o#tJbjH!>byneN<~W?c;0@&i0^Mz}X&D zYdHG{XM1qA2h{@q)9vBon06e?jw9NUmxJTiZET#B<JjHhICdPrj-%Ld)H;q?$C2wu z#li2gZC_>MnDrcT<a%z1aUR2b5EA_czs~jsO#usjgIxf|s@uN6#t^^0R!6NDg)gg% z!hdmyi@|r+MP*n5#;g|yxfE!M$+7GuU@UuC7`0vo#;;>s0VEvFj$_$zB)dP1VaGTa zq(B(W9-Lw{dnk-z#~BJW_{S0Lp%5~NIfS+u3ai1W_UbTGp*p6$ru@DfXDIYeHKx4* zjAgG6<JTL&==H{OEPGRkZR6HIgK_Ks_^5S@Wz!gc?Zf2)#-L#y=Gfitnq}a^(1?d) zwS8x<h55bq(rVNWHWTf6P~T$1eW}0q`MJ=o;~$4DshCYGU4LxYil0hqnVa8Ej!PS3 zQkiY?w=~yey`f<_eW84H-2}V-z|#DNx~-R<du9G`*sfZB-hk`cl?@)6`R3PTwVs=x zoHHF7hPv!!VH-ex+w+@bl&KE5Uw3v~(_VlcWp!UD57u*OwgYnAlZ9HE`Hm-OE5q7o z!LN&%`j9{=w<z+;$Ys~p1v$B2fYb*-p4fUZQg&Oq%lL{dl=1+OQ}5T*ZEnfODzq_G zTdDi2)<LbCT7T7^stwh0P^N9EHc`u0?Wx-Eb?Y6{{`FxWRXeEr{@$J^5cYl6!1Xf! zpj7*=+D*TePv${e?QG;FWwhs~Y#4Hf%RCvN%*2S(n(w+v$@|k!4pWbvx?hovYion6 zxf<Qv`fCZ0Kl7P8A(&s?uX}~cXeGmq%3UB&iuPmAAN^ZYsJbn+oDKFmU>@3*zBNqS zq^$eEUVbIetNG8&w6%@mAytg2_O`L4R+SX(WUk$Yl`36GR_&?gS8bw}skXhc{i;a2 zMdrAWtR5rP&gwB$kBhplx?Oc!YCTnZsy0#WKzckbs$R9NT8?T@bzRk-q(}R!$4fn? zln1w~mY<^iOdKlK#6?*{lS^%Td1IK^ofK^SVnge&>m!GW9e&(8_&fJ7&n`p7+G9<u z?k&RuI^`N67Cy^oog02T4CN&tw+H#*%%S4m@J80Dmww*#2;?guf4uVAuDjQxtLTGv z#Pj8gHtP2}UDG|=4&m=YYs;~1DeqNn`O6)y&*r#w;kRFGW#!w?Vo$$m%9~z!$kHDC zf%Tji$)_&L$RBweXEis6@KrD-&9~J|HuqA0v94gz?YE}SWO+~b7nS1AZToOy5i4Gz zpUBW=k#RcV8<zEDe=#DU%cd+Fm$O4P`-;Y|?-(0$C$IwTdx-&iyO_3mtM>~3oV;ZD zx8^LKogWEmB$m|o3~Oec#nP_oFV1)RLT{SuiTPyJ2;sT1bWrI4U*4=!xcDKY1T*4} zS}X84@s(bld9J@}jR<cm_S71|7bexve@O3cJ@@l4ZmbS5)_xvh{rUb#{&H@N_Kp8C zZTX3TJWrDmdd-4kt+nHZ@@Y$4+4>$ut;HUU<P-W#)h5>-uhjwlV9;*@{fZ+a`S8)V zv;)`9YoEb*wz_Q}C+@6O*6@aLyQ2mqvRCg9>%VsF#oxswu?F$wgSNhk<LOHZR>snr zk-jnLW9PQvy%z3ZU!PjWhLms4tE@fAUN&3LhScaGF8Cxd-^mtsA$Kp4^l~$ExpO(} z_!n^^YZbv(KJCC(oa-qbSK7)dH{2f9J6#(QzhDPD_I4%nI@d~!e)==J7CnnqF5t!I zmmR7<&Qgcp&XA9v-I}aFyH<y1I#!VXo^xO2+dtOi9WG_#zih9}-d3o`M+D{P-)HWx z&)!>y&q|w{cO5i9555XMr#jjArMz49_G23H;gQ+-`iP04?s=nd?3}>k-M-Xz$DCXw zC+NA8+LsEIdXR$-E^-ULmn{$fX8i!YX#V<Km1kAT$|H(C*Mn*_;z_&!?>~KOqFcJ! z_V;^#+kV_1bmXyxt})%ZE>V>|K;IVh`8^IMx`Esc<aRx$CI)-NiPp2Pf_`79D%W}6 zQEb0>mE|t9Ce*7?oOs&^^1Qzun)Z0%r0ypx$$7d|Iqb*INtv1-l=|rjNs0G;-2>4E zkDC8fxz4T{{7OC_uFA)ET0(o6HTdH~K0LJC?8+tf*WgET_;BbG__||F*v@>xfvM$H zQolLS1M+MD8ST4r!+Im%laXR#_V|jbyvD8{o&CecWp;U7_IUruUem3;>JQ*^lNSZ5 zas$x!1U;6if!qh=Imv~BZm-JEPxMO1vNo&5RrwL<uYo=@=&ypj8{|A7+xi<kF3z9R z2F^C%Yy-|V;A{i`ciKQgmHO=F%<tL6tUoZz;+V?4d;H3#mpsByPwD3O_vrpFud}R! zmg@;qda!|aAIs&pKHOtFAKhn(m)5iRg&J?@aX?RobWE2Dtf;B;^(&6Dtrybr)evW| ztnpD3R_oJG-)Eg``mi4FL%5}3w@@qO_j$5K|1F>zPb|EH<@Ac@$L^(LqmNYM>oQo_ z&<`W{?N*OiuVV4s@_o6mg{$gvORlnEd4I~xV>;|)?GBdb?jZ}A7o=SwZfmI^^@~hD z{_6S{Y;$4`?t9}4Hsfg`t8yh5x71C?qL-B9En^n4tC{?HT1cb5({UH}-Dl<az)tho zmX^UhBK`ERxY488#hHw?x5roetk*Fe-Fqop=aox;*LOFwKt9Xic3~Lr%C&<P@1?Wb zgQw`@^z}OGH+CDN$3zt4g(pAK_Xh>bxGkhnzYo$Fk1Cp9>M<?^`P#$s4ff?2V;c3C zALFi&5A_(=E`3MewLT4>{j8quS92FD75Y-YJJW@y<*|B|cl+3fsg+oc{b_j53AGvO zwF8ydiAg(I^0&2FINQ!#mdCO!t)qC`#${RG4RtxDF~&6N%}wL=;4crbtLs8o-2xUK zR3n6aw{8y`Z+)+0dhL3!^8{VmIdPiKa6fTBaKCosdc)NHd$rufQE%K2_hl|A_UCrC zH>~bicXm277mwco-*Elt$xmD@EMslJ3aNh*y^3w$oP)RMc!|A<$ixf4bHm`sOnl1E zci3&vFAUnq)(x)9i!JTUo;HZ$U)R{kW`{>{9^aX{j;+hb_x9zTCzR#q<ID1Lu66i^ zL1p=~vZeUOLB4!x`}+L$%SwFwH+6aW-R1bhgQd7j#_~LE{#raoVkO=;q8ul?k$uUY zWPiM0bpAOl;IzQM$^v+;RR5f5)f%>YDOKaNk7^C4eVpyV*&b92INO72jlbSM{4>6H zq{X>OpF7gf(GQQl_sl7L?>WHxo(=r&xgl14@A<&*o=46;gZ_8)zI(&ZOVZ+y8CL{6 z@rA*wjudoX>1p=^FMBcYy!%PQIr`sAf?Nv162Ocr21_w42EO)Ul6+nk;&PH8haUKf z()W%b`r(lx7c716LEvi-h7|JTg2C4wX7{*<NuN8095huRM3!7th><534q*huk-(Fy zDM@lQ{@cCo;Hxso&klZGgZ%H{FHTl`?oy9FckmY*if>)&(Ps_*beZ4oi%%wBJotqT zEC+q-Y98<%OFjDH!ME<n558bS@vVQX8{{Y7x>`5zFUxY!N3Yf&e6j}l-@#{XC_Z<` zzEFO<&t2w6pF8-A4fMIAUl@FpQbzwf_?@L}_qj{i?sJ#2-RCZ4^tprYQp)IK1>dEV z(f5jVCZD*vFRE?T{Q_UPqi$-Q)%{ZKtlCz!gKAswM?37PZcDA3x?R-{;LnvdN1r?R z=%tK4deuJQJC=I8FWzAj@bgMN+D)}H_~NDB?u(cCQ`;8&&N7em#oOB|wn^~48swK( z_ZNJxhT@Ai6koh!-@zwqD86_{dsE8<U$9&keeU2dc9a9YV7Xn?t9fX<=obcGvn=24 zi+AJ)|Fzr~^s~b_4TpVHyM3ztsCEFKyIdFB9{9~=ndox|KfA+*>hV&Kqk1gVZK>s` z?N+U`x{s<2)%~SB_OTESyQz89byXXxwpGg^+3s_99Cy;=w$wgNEgyXDj&mRU?411U z8zv6r<bMaBJ6C+}oP6%!Tjz>zos(}J{O?@x#dGq--|uwIB;We&=qe`q+*g6m-FAJo z-DiMr-HN{TUv0j1>u=y&Z*23eTNU5Bm3-^!x~dF*b}RbXL%`1t{&y?--`9fw9enOq z^11(<@QoFH?jvnJcdO!axBjbr?rPms8T{|b<bMahyiR_3@Wq>oFFr}}#ak6$yjAhV z3-ZN-|6RNW|N9*9zk^?1kY65r?qU-7+^2%i9sKNKB>35n+WhQ-{OsVb7mB}LkiQ;$ z^n!f!;Aa=)e<vAz?%<;r<f8|_ydb|k_~M1)ix=dJ2md=K|2z2QIr-(m7ta-6JXd`2 zT=B(o^2LMyU6B7B{PKeQ^5BaXiZ5O$zIdVd;)UXi7m6=lD86|4PQmVfPa!M5c&_;3 zh2o2M$l!|?iZ5P}FCP5tLh-pfWbnBQ#pf;*pF3B4?hYAz?p*P?bH(Q#)a|3s-64a| zJxKAn2R{1fbKj=;+#NFb+_x(}_ic*LT_`^H6td!T7mCkaQ+)0Y8GP<iw)@<rZ1=e{ z#pmvj!RO8tpF2~0?n3doJ7n;=3&rOyoIZE#bDck@4V-Pj*#?|#;QwkHAYVKA-c$SB zQ~TI)x$1)_A3OQn$p`;uKK9f;dGfWB@BPnw?&NDH-}|5W+|l=rK4J0^lkc5;@&AYq zo_z1<izlCZYG3;w`R36lPri56=T1I(^2Mt@c=ElgzWD#j2T#6V^2Pt7K6usljz0I) zK6vuIlP^BC51xGOs_&il2Yv43Yo{>->KFp_xs$J*eDA4!?&NDH-+OAGJNeql_nzA4 zPQG^Xy{GoMldqk8@2P$6<ZCD2yVK`xd*XD4P7D0^SOD)G)IVohwTA7!Le)6!qgumh zA7^`Twg=S$&i0^M<FEG*HlKSM_|82I%-3d{!3|@avn{QhcRVfVT|rI<|Cu0{1;We_ zXSSr5p&P{R(({fX&fAt*&f(?;u?P6(vpBw<_k?v_z(1b>!mJQygV05K>TwQp7x2)# z!WPrYFeA+ImJuWjGr|%~=YTvJ!H18tzU6{%=yStAen+1hzNE+4OZxY5j`KX=$<G7- z`5?ym;BrG)0OEoW=aOMw@ao%Uh{KuUd|)Zg5mx~I3&Rin{wNob=_0Tuu3Z$$^M$yG z91V~keEYU9^YM#(+xPf5j-Ui=ALo<vlHcKb%kS{L<u~~GK*sO<{UF9LAN=F@{H5gx z0SrsSe<>N`Xo1r5hhagG@rPk92rEcA7i<GZAYkY(#~}EFR02jEU|deh-VoEwb%8M2 z0KfPTk|D-8iyej`_R$A8A_2eq4+K4ifiM;!&^{s|5XK<ruv~**V2Y6mTrvV|;}a^w z_=FG`$ABdU!w3Z&*`V9UE8u8_aQL^4S-{XX3tn|O7hX7U1HwVVFdRlQU>d`4m=6!r zbzrnZILwL{0a9H{J&5Z;NfE#ms0Zl=P*!yrMgnUf5+n>GfjNNbMlePq64(PZKtcjR z4fs`uunELb_8Ih=!t8lSBxoUL)oTec&ZB3WMGxb)kjAjBB?f-2W!P5EtQP}ed(dIn z4*okp91CGP8FsMXjC-*V#zBnp?%}L^on_n=q%JW3URRibuQSNqVHUp5F#lc;ka~f> z3(UsX2j<}GZRrPbA2}aiADEG^za{02d;=|mEkiBCKs($r!V(YRNQg&491r1Wh(EWC zv5b`=#^XT3aGYg4=s$<>3y3E`I3B`@5Kn?-V<DUj@s}`n-xLU^LOcy(oWBoe@B3QL z-}kpO_~9IWbL1?3IEUXtn9Xm#Wf9Ehx7f18vJ}E)5HE*#sbz&_rDYX_t07)v`OdNy z!gUabd)(Ca-l?K#9SWH!C!U;SR0dfGIRWIG2gVq6-o4buN6j&=f!q+}aUf$J%-?Ov z)3DiX(-~DkKKNa3?K0#+ePqYp#<!qv4EgUi{@j=aGU^Y)wi*XTI=0mmWXywQqP|U= z$C~9?TJ3(v24-uJ2Q(jO+yyz<FRgyG{6s0^wy@5ZU|UUL-7Xh$YFLK|(8n2%Lx=sm zYde<tc+Z%y-XK>4{TF@Q4V1C|KAS5VaUf^(4$?3B#T!?loUEQT^>G8+CgXl39p+NL z1^U2qm1Q2(2Z8)~XD<!qJ9ESIsgNJ*oDd$QUz^i5c^=du1C)t*&{kPv%gS{zPu5ap zblk@qps)OE1u0`Wx%>J`8S|8m$|Ls?_x+36e){E{aR$oI!UFXT!*gj3(LRR*_2)BV zl2QNkLmB;TqjVbDr|kE>`fpm8)&%mru3S`Kle36+5A@%bFRgd0|0)da|8$6-K6TQf z%DC@6uNK#%R<%t=xnR?h`qAVV;~U7+aaRc)ZHsjaaq*S%b*S^pkRo~<*qO?CzUYoz zH}+wE-P>-@7mx>!^;{@tch$l=**{l?S6cZD-^n)SZkLa(xL|DQoL@)1|FR2)b+MP; zD`19pX#XlB?5?-&5Bd<O!-q>gdPwQ7v<ubN8K(jZ>4RdIYGt%b#;v6fwcKr%$})33 zd8jRIuvGid;F7VV&NG-JaE5jO%ITWLN3ZSOM#K8A>2^ok)b=aw`#S54559Lb)MNWm z+tRibh4musm;TMZW4oG~u|;y`2{W`|7rpdx7cVEjSo?L@5v!Mec=)%Ke*+oYw#D~o z=pB%;y*0SuYTN?3-0AFko1?{ydmyW}!ec=;RF8#vj7H|otLqP%hGF@tJ)@uvlU{A- zYWr8){7*SvY3-p7SdQBM)nlsKK|QC`HlWr)-L87v)$%b9o%`y(tLMU}`j$_fBUmQ& z6>6WLo;&I}qV^$b-=dy7>iMFccb_Uh2>K#CzwjIkypl&By<?Vk@=0}b`oY5b=!7w{ z{Un|%qEEj%RI3&cZWe5oTc5aOzHHCxd8(dkYJRn!9F*ai=2l>=HV4X4*X7UCIkv0T zLCuflP~Tp@z)LMM%OpoXPyKMWaW4AVMe}8y)iTv{R;|C9Up)uab5^y3dQPePo4P(! zPj%nb<D%MJwS#(0)xJXAmfCNq?OCmx+HTczRy}vrHmvpu>iMXiv+6mb=2y=n^%$vr zl-j4M=ca0N^|-6YMLk~XF;)9RwM^9}YTpRYJmTT?=>bEs^iN#n+g{v${>WN*W|PD* z>pF`!0mrR-^Q_fRzwi)eeHx2Whc@dyCwhuOuN#X3dzvL4c`!f(vaYOKWMN<&j1s?I z&mPE<ItI4>t+u!xm0oO*S-~c?xoh1wqk;Hp^LBQl!Z1;3+QfiSUq)C9wT}`V%3ig0 z_-?y(T&@?^m0JTu^YIx({U4f$oWbAw_Z#LRYL&|_&P@KvI&w~ki1t5d-LubAtnvvJ zzCHVj!b_(y>uPT{ElmcIKei&TdEq^aJ`pZ9op{d{96ZAEmB=ZszxU;9fBu~v`M#eR z-nOGPF!VEaZrBs+yofS_UCqWvjPJsOwj@{&c5luG-iYU;T^gFZb}cg3c?{?Nev$fq z*D~zc`B)x$@S-(o(`)lP{u#f2EHiI3d5-zwyEy*l<_xpn%k$P3oqF&lbApolP8ICt z&MN#uU?FZqMY9hZEAdz6RqLF5nZ&DuwfL_$vx`UbI<Rqd>hs^rXBRoz`B?p@6z3xc zKd{a?msdoH3+&sFU#xeJ*A(m8m*8zZwpiP3Eh&~1jo?>npJmr}KC|xKUW=~?TAlo6 zUICH0NG@KcU>aVibWw5b)d#j>Mr|IoAj$e_g$uv_V@aN^RwhxlcO(z)eus5^bcNMv z*N&H2U!4^VyUhBx>%o_A{K4!x8;(n>27GvyL)N<GFR@<XFIb1}F+9i&F{WLA%4#-i z&Gj)QS$y_)%x_@?e|YmStJ^V}`^7G__Wtn*3n}Nv%N((YnQqy+{<It)H8Zowa0q-i zZOZY68(>bhsEpjTYX@tmZ-?;5U-85Svo=|4BzNUwCP%W8=U1|-qkHh1l|$K#n#ru! zraF8{xtGkn>NWP}L`VKMSCZxvm5(o48^CY(-^*qXE6gj759iIs|Ek9yE-Ji?a9-!q zlF-kV78L!OROcC^H5OfbvGwf3y8P*-v^+fDa#s46Kz=p8Ft6XBym)W=@JZ1o^Xla) z?kp(ECq2u;pQUdvI!!d#)`~M($adiK=c&QJ=xWiMHwfd6&t>A}e?QHxKPjs>KD){c zxgF1cAJUX>Tr$O)`M2NL*`HhSZ>~MoUo`uj1@~z#u20LrEr)jKmSH``FJm@aOZJ<t z7cj#3`IfJ(m9IW!<I0Egb`fqO<Ky-0`_NW=-S=y)KAs2Isu`WR+lKj}_kKIg3ix#7 z{eEr3-Z$FMj+AW9r}GJ{eAb67`9lo99zKt~Yhkj-H$B9azV-RHXKS$En-vu4Vr%j( zMZVN;elt*H8Zwbx&Cay--!>LvnWu1X6`-fjT|l^b)(}ba+*zGM<wWzaP|-NsHhory z@WAc0I`e^nXIRMan7|pA`||mhm%yoUKj6xomi%Uz3y;Xt*`c?Ju>toR*5>^$c+2<j zBwwjNHgNZnmZEN17k+i{vcSpBYKyxkym_S&T>@7&?kwhHI>XN0`7v-3=<k94W*@)6 zZxV-#b~}r*PLsz;xdX`8*0l)0exzH2tD9`^Wo&GkIJPRW|BK#Y^38RUsniSP<sgsl zRv;<M!U&OQ6cMAlEl4T^@<NaswDU>aymf};y1dL+Hfim>({ld7v!3??=Y4o8W#5Fz zpq}T~O1b$h|Db6%7Dy({%Ae*X)!bJ=GH>3vtxxK_DpJblm%dEuzN=I)*3WBn!65Hf zwPpV8=NMlxuoRzt^q!ICRXcv}@FUhfXF+pfkFNa0y2H$;yv6u=u*NmtvOMI}4&#TC zgZa5f1KGlMy7_uucYfVFnceMi-CW$RN7(+%Q}yv}M~bLT2g6F1exx^I@uK0vgs?-? zCg{a_j1(<q$A!&VYGHj|jS%ZMP7Hk+w_W@F;YfkDde>=%w*2WxvG#QXu>ihPZhs`s zcw4@U=n{F71)s|qb_V+3aR+ko*O!_ZO_p^LIcgkdqmD)gW?fTG3{Mlr3*3EXG`Lhw zJUJf9Kiqt5eAzC4aOUbIH{<>`Za*O?bHLYff9Lft9^5L2A?1c|Zv{OanoG*3PL|yK zu-jMCo&}$@*?i$@rXXB*;-tx&m&`7nfU@nFVmL~;e7!H|>43~KkE$;ddB7ZbqdcEe zw~}~WLe~aBpWx~0B?2!LvF5#=kME1GDHc35w4l9F{94&;qS~wZR*y6XSdO=?Mf$*@ z{9WrN?3G&?T`xG4*BI86os13AAN3u=M+dcMZ+uGW?V1eZYwv}z@u%wOeVz>AixQi$ zY&mP{H_H?X^2#4C(mi;kXHBjg)a&kG@jSE_dzQIb&;j=WqP_1o>~j5gftV*d<k>T= zQ_xQbV?~Qizev8%#Wn+Y#x&EVEZz?0ne+FQ@`1-Ac+BE7QhwJmj^~cPl0yHTIb7UI zD8hdD<#BSEt;0p<Uy87rXX_gk&kqx!S_peEKhPLaF<vyg{!}luy-lLFd$<@~uL$e@ zW5clM2S06XTXrNLnsvFEQm(tL0O&K8S}s{$OF(|`Vww47WMojoEo*T;Qm)FOUxWl5 zov=R;_1gzG4Z4wS6COu6$DKc?4V-Pj*#?|#z}W_zZNS+EoNd6_2LAtT14|PRv(u|B z{MD};wUZEMxV=%kzp4(aa&GO`+YtL4TDukXb@OdtJ9;PU!!(241bvO5Ci;(%o>)Gc zj`|f)&g;iMvYfXN<9e8$nk$jjpIL%;9A8DR3vs3S`!$SlyH}x{%fpjpx!q$XF-y(a zVLi&um2t5x8D%{Ez;PY*eG~k2-0tl)_1Foh55`ze)MGlv-^#F_w?O|2wtHl0Jy|a5 zaXrk3dW&h>FN|?Lj8TvE!g^+IGEm2Onn-3ZKtHr+Jz4+mS|Y0h`YWvt$^G2=YzM>r z*c!2sZH4`B@qVPN@9{<TWIR6YSRM7apI9%9(ViD!e^Fn*nisRwm>o9PzJFv#+W&_+ z-S}#l%l;|Em4<!K(%%K9+mP?s(+gMGyB|Jh-8Woj3t{>E3};z%`|+&j$@A><gX`Jl zOrCPRd$&FK<@4*Aw#uEqfc%kh=h)V_wb(i>8(-aJJe%?`E64P-kvU|1G3jT9+gqM= zLgu@7CW^Z@_vD>2)!@Dv884Bgt&9tF?7;mXJ#&9m8P7TrCiPugROXNSMDd&VBV^oW zRFsS_<Y+77WqG>Dd`(t$`@?jh>akM4z^$r`soc)?a_fuJEbp;xI@Q-bpBu+C)wgq- zGi=nb8DUvKkMU<E+VW9Nll5JCJRkLNQP@t5A>BMzN11+_tr>q8P>1aSJ;u0vWOWPg z7t)vyhj@GQ)_hJ6A8rNxJcvtcL-^6mCHU3!o%sof8xGFKy#sf$Jl(4Cligf-Ziwe> z>&RU8<>9xxc4QOQ6yp6?*I}ogcyqt>F1%!0c!yBSgU^jDDPv6I@+#Y|uyKdV^MdP_ zvKH$@_!z&dEKOvnOplE&%kPZ3!JhZ2A=A|&B6-BiLfofr8fJ8;!N>kwkrjJVh4<F( z>jy^^<RxYYv+z5Wc<004>swBhka70nSJ`);hwxE57qaTGelgfin=C=HTr3Z_8`8Qg zr+Qp!%(+i|OTBTnQry*ho?c{S2;We6o?f(Ib$;yTc)jv2U%5Qs1f1&&9_TL~`S2=d z#_I<wdhrQRpIaL_&)fX0ZbJPq{S~yYyI_mj?x)xbR-E^_?ZV$c+;`q_b|3Ul>U+ra z=&fJt9=iiR?&q@n?A7a1{KVbWVOUSB|HC(>`0F{j_@=-pexXo0-fb1*L#O8AT_JY& zd(Ae2K74fne)MTJUbbuqUoxEWsa1VsTn5r@%0}_s^*Db#FdIMgV_umiyF5Gnwf@=n z0lfL1{A^a*()`&S+jhsocIUq<#dBBumGuwu;k&b@;~(78a^HP-*lURMw@=SeKP@RM zx3v8-teIa3k2&I}`*qAB<JfNlrT*jl9H->8fYSm_3pg$C-(vy17gztBY1JCGXEjyh zw2x{Hr+u95!Py>E3pm?@Y7J-q;A{`h_Mlq8*&bAD{OkLNkIYirY@zAl8ztLJp|0?q z6Mnno3g1g*kRg6Il@a93@Ksbs_(m!dXpvu<3BHrE%^2zlv2ET^5BN3;nWdP{0pC7( z!goLT1r&xk;d`c>AmMjVIpOOi`~r$*6wL=xe)u8?zkKon3Av_TF!N{ukg`LGwmC*= zhS4JMol`;ho~fuLoch2wP`>b0lMj58R2;q@!VqI*oMMPyHQ{$orQqwM;_wX<QcrP~ z(UK0vX+`*U$sfK>!Z6@(7^jutOQK5fMNwt>C6R4DQQgwMU~b+2(JW)mK+QC><<q0L zt}!OJs$lZ!Fy0>YX?6ygoi69ppVnPvbQ%>b^DL-)*yxvGok4l7Raj~CER|ljMjkVs z{5s#r6Z2NXb%WQ>G?Loe<c4XP*`#!OU9+w<4&4ngx3qTEOKv)01TUOsoIaIKZp)?m z1f%ZH>GS|t_t!1q=9V_D`iZFJ#wt%{s^xe6ER){aUe5_lGwD>HqZ6{|8Mhuawi=5J zwS0BE$0lacf3xq4T7G<{{Q5Ebw$%MStrgV6>~&V{a|-mhzmH*mQBQRk0p;L+1;Kt{ zIaD9CGw#=hy>kq;p1EV)<i4X`&9B;4EnnT=2HZuj0A-^6)q0LPQB;=M7;KI*ZZ`~$ zg<5BIf0un<K<0k{Hb)urXM|&+?u%--xm8?bo_9NfO!ZiN)zMAru`Q`}Q|qiAYqflJ zyXvu1%T$kx+HTdlsmD~^FLi&_HnwuIuUI?Gh1dMvlY3^05WXi~u@mo4ve|1piFc*8 zvg<}?R_<I$5$lnLpP7(_kL^BKY?#xZ9Sz8)x2qB_wmo|&Igt-*#))1VPgz&h&djb) zY$t|a?`=I<;siTetA<$eMIKT0N>l5|2cDuz6)pzMPO`Qh7%5&(>ue3XnVU!6t|ZDl zt#9qss3dRG;fd8Utg7g}?zT10kH1<gO{p$w48LbhfAp4ry|TkZ|I-oHcYaZcbwU0d z<bDT62cmu;$hGoENx2`$bI<%9fO?euLKe&XlR+-k>_T82&`$-qacq~s+8{3jc}9Wq zL0Bf{nHAzH<uM>%>OCP4^;1AzeIY^0Ux2(|;S{;8p&%C&O&#0Hq&H5$?e+w{d35|H zs>ANIUszW@OUF)b>o3MsUC2IU^<W+sdy75q!RK<LFbj#UFJ7<9F4n%v&ZbYVFV3#7 zDISf_%vu)m5=~k(5gT_DWcgcX5_`_n;9t5IVxDjEiwa4V`P1(!vHk9)M3<tC`K0x( zqVGOt{l0c#{;El!&|9psUV-td1#@n;{@w%p4i7r;GUubL4}U$%YF_)DWzQBW&V)R% zW-u+ha@8;)_TRHUJs!y~Z?0>-_#iJIp1TQOIU&G0ucRwaf7hEo&7Ym8yY9yOdsN{$ z+%xkGH+Qqal{@mq-yULNp7q$x9bWv0@3Zm)OFj5}pMm`J!Y^5sl|8h&rAF`-d2_Mh zW$tNH_O=hKb~uZ5_Jk2!mHFAwpwgh91Nvuorzf@oc^1f#5fzhst-1N=JM~k@Ena#i z`GI~E=mTd&B^3dA49IO()<}vP6DTT;4-%@JtLpK<-k{G9`sFX)CIx`}8OXM4GTx^+ ze@+`X+rWQX8z?s56}#52BfnTD1HW{jJAZ#94afAc@@e?nGu?PV&qjRp`k}nqg~t3k z=vxfk$4>8$;o0JUV)HZB;yHbP(lG8C7@}XB(STn{JjP;wY{$p1IU|?5$JGhL<<=bs zwWt~O`8dl?Hju^g^owJ4ZD?m6TR)MF8Pb{GU1Vhmce?S+QHR*-^_}?X0v|Mg9?MVU z$gYpS+l}vX^Vf#{(21{vczv;f{1E7u-R;BoL%zE+hw!(HV)d&n2gvg8KpM-v0%<I7 z9puOIG5@4WeR->rv3#A+5WZyIFkb5XP~H;KA1e2g=}f@;#q^=Gz4+aEL-~o(!(}|@ z&`7CoYTwVTMQ!`-4t7`w`-gV<8SL`4eLwfKv+Xz90hgm)I)Yu$uJ6FEX^z_LjCQ{a zcBkWjc1HW7-B*F#{a1A5m0!p5Wusc~WuEao{l?FDD5QV)?IhE0t*==;)P2Lvd#uZ% z!F+qxyKDrci!XQ~({nF9WYfOt!cT8I%=*si$iM7xQl>w<`<(TIbjs&5XX-!C0?v07 zDUZ3+9!`6x7Wj8>4<Fy5rLoXkG>l!q2>31y->Bhxw6w4^BfKq32YP&$hCCvi@h20! zPebOA8%VbKfbiX#2dse%BUgBLhVS1z;pZy3Lm44N(h%~8@SRvj2y;N39i*JF9#V=t zpact~ka2_zqV)FnZ8q)@zHQ4d-?Zhmzi-P6Z`pFgJ2vDC;XAjyGW3S9pnUg+a|?OH z`!!7AJ34&V<}Eox$Q>#SKOcAxhp{)jjVlVW4}`w*-JCa+SycWo%mZ>BcuQ9dLO%%c zhat{Pgg*>RKxmt>sHA+OS5oTn9UjhER7}3X!}oaj!!Qqo_!bf0=9QLV83@Zk3PY63 z%NXfIULco&5a044<0v<TWgyNE8hqo3a~tJ@5SdIk(@|>rPzcb2LgZXWNEyNzkB~4F z3{oXv1_jDDgh6r+Bn)+USI8i)B*QQZ2N~x>(jl$_AqU=2B`B{dXe$9{C<yXbgK~p_ z?-LGmppV2M<OAVcNyHec1xss7@(@yns$1%STwC&mYRM4!LJ@Y-5K@LPT_5sAKq(EN z9OMc$kbI%)5F%|TN|J_<F4O?HLN(yO3H%yEh^(Qek}hPU47C8x&}TpxY6-DQ8A7g5 zv?L56X$Uz(NEM2aT%ooOx)5@PkSK(tA><4pVJH^pLdY5VBfd~q;0tw=d?5@wOV&^~ z2WzM+P=<N}ZK!Js)=+;)^##t*0EkuA&>-Lp4Ymvd*3i%ttRbWg#RGF_G{k>DYiOdR z3{8}@p~(<VOu-tOB56Y^YiK4=ho)O*S!M%YXqIIz#DB{gLekLu6s#d64K4q#SVIQ! zg@Ait5c2_8Lk6*iP)}?MU=$d{6ar3&K@1|`Dj38S!TiJ^LYcTjDC4$}F9eJTLtzRT z#1z7E6qbldd?8>#NIf!eP$pgwFjWlV2m#N*Al4A@QVe1cVVT6e!TRGqB4-AeLMHNs zkSPSLAt__|z#uY-K?HmullVfwxG;(51N<M8_&>lMGKo6`tRa~nSwq0PFmYRUZjY4h z+#Zv-J-`Aoi3J1<3X|#y%o&roK)^CGiDd*_8dG5enZyVJev3&gBVfOn#QXt1hDj_S zER*;)z)+I=h;;+5i(D6F;3G*rvX6j+B=vR<k~|i64w6Y6B;dN33j4?;_7QMGOyV5@ zx5OaU5b%Xe;tK(HNa~S01UwLvI6}Y-F^Mk(3?fru5Shdv0#1lYTp-{J8N?R?Mu$P% zAz*hH#1{h2hDqEZ;At2NYsk?afVtr~M!@tih-HNBidaLy7cz-21l%E$xI@?ui7$lh zoVY{kaa4~TFiA|}1*Jajbd1zv2mBM0m_=$kSKB{uQ4EDC<Tyvv_77YXgSM-l3&0(6 zv`O{cQEj5uQ!P_HAJw*pd8kiN_eE{1Y9FGW<7%5!+aZ?uNBsk^h8*ovZIhqsXMic> zXv4rA`one$d>h$@vCRW_$k7+6+XAkRNqiw-znH`w0(Ow8u!c;9HRR|+)cyh64E3?< zy1))H6xNVqU0}#Kwxw<t%b`A8T^HCshQb<hYzr7QrotL>l&PMxY98R&IQ9kjLXPuM zJzr99i|V7=N<Du+We3&%YJZ|0Q?*Z4`w+EEwLej}tF~?R+)>XpwQZ~YfZCqbb3r|? z)pJcfchqv!<MpY&OSP?f&Z@^nZ3F5tQrn5TuG$}}c2N69;0tl$3t7NFf!v{?z#RhC z5PxfD4FMyF6C()o5K{;kM4T8zz!YM{6aoej4*~{JcVG|!cZd^r2>3#r_(H%G;tErU z6H^GdLyWjXz!ze~7Xro+C&m%*f*A3FfFs0-BLu7=POPD+X)<sxU=Y;;1`%+FIB|!7 zQ^bi=1WX}O(asbC){qzltfAe&8UhB92nGhxAz%;zUq~QdC<^#O!1J*Z&j<KFg7`nc z9TKmBJ2ViuLpOI;5yTn-ZjZIYM{bW*;r3XG+XE~hK`bEP^9bVe02fFQ7YJBJf>=ht z2oftkGJ-@rFoNm>BM4YV;uf%s9stV-m_LG;KfnSK!~z0FkRV17Fq8x_lz@FCh<yZn zBtd*6;2;TwgJe}WNP;*>z&;WR`$!P`2zW<=ct;t#c3{XFdIYQ?;0sxaFI0clCWhRh z&w)Dx93ep*A>a!M;tK(T$f_`iti&J!E|4HD5b%W<@r8gp#EClud?8MJA>a;Ki8}<W zA%6EGYlstT2>3#R_(H%k;>0q#`lPJc$j%x9zK|fk5O9YCafg5}#ECBi+#!C=&K&}F zkRWytFogs$g^reNF24TA5fa1^0tS&F1`)7{1hI*LStN*A1WX~0Ora|_rVv+{LR?`A zabgMqkBAeG2slNYI7Pr0N+iAzaEB6!I|Qtu1cf!^$OEjQ1mX+9s{;$kz!yp+z7TMS z5{Wwmtf54OHIzuKp<nv=B@%0>^W<?-M%K`cbuA>5ru*Nrh5|pq8VXWaLqQ5_D3Dk~ zz!yp+z7TMSf`~f=OraoR3ITU0N#PD95qAifLP^9F0`5?d!W{}C?hx>W1o4G{J0yrZ z1gs&Uu!e-f8WIX?NDylX_(I9V7Xt23GI581HI%HdhLRQ5(DpxK4FO+>6JH3pL!7un zz#8HTYlthXA+E57xWXFR>}F>T0bgh{@r8gpltkPi;0py4UkJEENyHrjj!@DcafE<D z6s$0ag8zs?1gs%F-p(2Vz7Qk65O9YK;tl~{h!I~1xI+eUhkz+0h$#fDAyE@pL#Kc> z1PmfU3?kqQ3E~R@cSx+WbBBN_ltfG+U=1Y^YX}%bNyH!mzEBeJg@8MhNZcVj7gVN@ z${JD`L~0)54gqV3|7vFq0bhs{UkJEEoVY{47vjVh0`3qe?hx>WDk-cXMXp=<6Re>m zg*D`mfi;w*u!fSHtRZ|K?ff}y;A{iVHsEXn&Nkp|1I{+!Yy<zlw*g`d5p#%GL&Odu zwh*z0h>1h&Az}_;Imj4F%@!i&5HW^`T|^8aVhRy!h}c8K+#x0rv4w~=MC>7A3=so} z7(v7wBG%BSm_Nh{qU{kgh*(9b*+IlAB0CT(h}c2IJ|dQp$~gKXrcr8^5iyL2HRNCn z*_lJc6e7k@YW5H@gNQLi%pqb75pyUtYlxUV4pxz!HAIXdVh#~wh?qmf5+b%xYNime zhloW)452?`3#Dcf5o3s$Lx08^BE}FghyJ@*L&O*&<`A)kQZt8$EtHx$M2sO~{rnkg zh!{h}9QrfX5V3TKIrR6khKMml%pqb75pyUtQ|MFdAz}>?V~ChT#26yxP=uW=g!VwT z5V41dF+|KEVha&#h}c8K7$W8nv4w~=MC>7A3=wmP?Biez*_lJc7$W8nF@}gal$td} zj3HtUIax#a2FUs6w1CqBP7C}`S^%F()IVohwTA6^Mb$X%qgumhA7^`Twg=S$&i0^M z!`VML+k>+`s1|Ux2h|$?`u^eLcT)Hz6n-1!0x?pCQnQBet0-g)Wq{Bf;w<v(D54By zgKwdbFJ$}b$;KDT245E0_(I4Q!f%1_OCy|P9lut>nbh%nC;YxAAB5fzBT>jphDa8| zZ=SM4nfSdEe$iAAzGW&Tzi285-z(wQPWUyGkNvx(KjI6Og0GX1D}?i*mw_0+Ju01o zEK~u$Cn^VD7X?5ZDCZZ)FNuQSyPrQM3t23{tucuw1iTiLI77g;k+PjFWGZYSlQ=q* z$Iccqi7f;?Ap^@no)B<`q>P*)V8)mVPe_)JJRxBJn8X|c?u)6gg-nGl<R~9lHI6y} z+r}i$5HNd8V)>|Ls@nxVjUx}RZDf6r1B7;<{Q?G$+?Jgi<ggF$draaCVL4<I;MSPL zB?8Wksj!P2^#_KK++RCe$WaHhIWdRS{Q@?RN!%c{&Z^DTI;(X9o{%gPc|s`Tu|Up{ zT2J8aNImj|)cr-h!WMGa2Y5nKk31oDA65GU2T10zvxOY>SNBV`IdFy?Z9v^_>f=Rr zR?Ao0s#+g)zkoC3u)n(RY8wNd5GS4xaE3T>hJY=^6}Avp*g{-k3vq=l#EC5gJRwdz zA>a&g;tT;#h$}oHPCOxC4sl`*0b7VEY#~N$p)^NtNlwoIVD<n{D3N$Vz!{RfALIZ5 zTS)4WCsaISvD70g2slHM_k()i{YXX;%D@4VOd#X{6%b7wd4L-v%Rz1s@PrbPErdLw zi@hgE`74ltKa_-e+%9m5q>S4t+3bSMgDfIo7bOzA2pB?w7(&1nvi@#o3juS85pxK* zK|<jM3E~C;bBHU<A+9io_(nT(2-re`*h0V)62ub%&X6F^5b%Vo3QtH7PY9Spf|x_V z77_|uNDx~HctV1BLckdk#2Es%kWkn{LSYLDg)Jl$woszN7IMhI7D`gsLV*ffC`e%o zIb>i91u1NyAcZXyq_Bk?GO&db6}C{2lP!ezV$Pq_2LIV@fS5wWw)uP6Lc|mz#!zae z5V3|n#TFu_5HW^`EksNqVhj-zh!{b{3_?Z`GK7dJM2sO~4iSSWHJgZ7Lc|s#)=+AO z(5F~K#1<l^5HW^QGlhsXl$tF>Od(<n{TW+`m_o!DO3fA`rVufPQnQ7KDMXARCtE1x z6R0!gd?%5z4LI%Lw1;YefA{wA@tv9NjTwf>_p!j6GZ%P2X0hz|%%GRf`I*+f{17we zw*311IxV%1Adfcv^yu5=lTjYC%To`ZJWA#XWQFuPH47S;zxwKIdU%oc2IkqcF@ruO ztH0DAdUYZx=jbnSesU4hBF*LpKUbCW#`k}abMw|<H#z@&=<n$_FTMLn>W?*So49pJ zANhUXrs7qTE}ow$*DZRy_vS{I_ie&*{-^I{Pc|6B>jr$rz6kHkzwF<HCA4hAe;T!z zi3WXm&A4#(ZelF&USccDBzp1m0sB~$gM)eRDu$dZ9&P-O|NT$5#gA=+xKp<GsV=~L z0`}9k{3f*pXd@=I5oi~t(k@J;U6@L{FqL*;QoDe*5KL|1@T(I+IqYp@z=NE@O1lWA zc5$^~+rS<6cCop5)u0RZc2VSb@8JKfc0uid+Q+|hyNG+>t&i<E#|T@jnbE^tq}=}P z41;9UQy$dY+B}}C^!H~nw)ubl*Q(k8UglUQ_WR3r{7|jD9KN@eY1CtyYVqm#uby)s z&mpjhiMB#JfK8-qx0^#I{r`ro$VOzd|4mzA|B@DZ8T8{I&5rsX+w2k83!!f(1H?$b zv-x;jq(28k^!6aX&NizA67e!a8fTNpD0z6U5F!f?eLpCnH;A}+n6i0;vVafB9e$pW z_K-UC3T1(GR*17gY@36^Q*!b=Eh^)_Gt4XSwnQGY-=XR$=4Ln!a~qJ}3Ud<t&?c`r zd!?RYUI)}4D^bdvG=E=;c?+=2acxSQN29i<n1|pP%&9<nb>4!BFz*7Dqw@W`!Q2cR z?Aul622ks!?hBq9)mja<!cRPUHOm^;um}Fcv6hFem45nGZ@j6CxRyH)UwN>U2uiwb zJ+j~?{9<+Z$@6Pt8h7hgb4CbE+w?bCx!19>4=DHgrWMP#$m_RFvTsYSd*9`Qe%~ct z=Iy^P!5Wd!OUkTtsBqg_UdlNxf6hEd4w5pJ19f2bItW;wV>wv5@5oU8#`w+peegTj z?myqJ{3onyr1>h$ufZtJ?w!#_^?MNZH1Mp3=`$s!gkiefozgnSUiHf8sDJgtONQxz z#!H6jx|@HO>4)2Ym+7fvTsSVTHrj>b^7Z30$#maQnPmFR;-NA<7nsht+-)(;c?|i@ z1@SU%YaRcW!oPZL_;+9b<F)Uf?ays~d+g)?zW&_i*T-J{ulMISm3e5o)XA-H7`xM` zu(G~6Oqpw^bOCpLlU;w&$6J4Tb&s*HK%{v>nWyIh=vUQ#VT`EtwQ*dThX%{Mv+}jE zywWHG%Ov0RelK^2{-!ctPM63Gj&c?#bLuRskwO2>zTJ_^ygO>$)O~@zHwpV+=zH0X ztX0^>+cDze?W^p|JoWjei+N-}n(kN$-njn<>+HC!kS~^FUOe*#)$Ya54N71To4=*U zxhX6bjMsiw3Vz>NA%?#8xb?nEBj|UJ%f8*dzLX&^$NX3x>T&%V^#^nKS;tLWVZ@9Y zDa(Y|oV%wdujIYe8d>y~cIRSW{_X80vJSXDmV@h7g#P>v^yl9?`*X0ze|<f}{ya8} z%l_PA=GU-4$29imn8yAbW9-jSkNr8Ou|LN&_UD+!{v6ZTpJN*Pb4+7@j%n=AF^&B> zrm;WAH1_A1#{L}Bc>Mlv{r$W5$A5MI{<c5Idvh9VmEMAP<@nwRL)-f!yf;TWwe4Qr zcHf@zj$Q5HGs$~*yl=PNtK06|ZTITfv%99cW4BSQvw+riuTG=5Ft**d)2wlL-~P9E z>=w)QA~{XEAFqAH-7$9O8t7@<NgdErp30x)HR+x`1Y{aJRS9Ie*G4^!CBpLQ-W<!M zKEBRjcZa?f$fQp{&(%>*T9B!nTOiXt`%RE(%#&I-wf=CQ&gecJj|JVo!#z8rd-m{Y zxy2r@(jvL&9lU3!`(=4vD);Po-wyZkAN%Y7#(Q>pZoqqX_}T8+8)gg@3wu1X4tU_a zXaBQ4p6=D@-raf6j;&w)`>TE6zx(=XACEn|?arOv!C+sG{d*eu)`j}@ls!78{^%VH z-ogJ-kFMUct35i-S3vJz)E-@Z2ZJMZZT&jVRp4pq)hwr@55GIp&7^zwGikFp`tuTd za+!3`K4^!FN%!odkGeYgbJWv4`{$siei+N7dv+|7`t2|G=5pwJHUHSp-<jv-C};EJ zkJp6_bG=NuXFoM5ucJR#>!$7t+$;a-J^P?s<wcuEFRcDW-2d`Ddv$o<13!5!_($&9 zt95NCjs)fuX{%M%KXuP;Okkq?k_Xn&H=n~Z0iI9J-=}Qgyk}SY?mv?M-TULex_=-0 z^Gv%V^cQIh>9;P=GUMlO*S^b?+bn*un_1-Y9&LU@U%k|}+2+j|RrEG{3z}!Tb}<iS z*&J58Ni*x>h@nE2r-8nfU7x{Yb68!w{HZqlck3Ug4Xu(mK?}b!l9x$0gcrNkk6Z4i z4UKUL*HQOJM?a<RUuUcJBX${Nt0f7wOtRI{>ER~X>eYpx46@Zhut^=e9aMRWVndgI zQ(JwzI8v|RHOF|~Db`%x%+QR7H;mB!8I4+V_i5qRW*f%+PUfIKRrNgYZyH?&UrUa6 z-yBx6%P?`}K^3biH@54qf_@FiwII)BkpJ%X^NH(7VxveF`RzhBzH5EXDpueRPu1Z? z3N2x`_B3QY-<1C!ZC92&TMV*QElapbwi<ASnPjUP19lo@tC5NwRJn<w|97-i8o0wu z1D-#;(?ky-%6KnIv&W}}CF$Tj0nUDfxiAOLfn}Qy3-3PhzSR}(MAJZMyX!=cpY06- zYTV=<EZ)avk)@`G7-bLm$G6RRmx;4n*)-$>M4untajNeU&>M*JW}#OR^>`<m4dl!a z;+Ao%7@`iBxx;s0=y`MlJ$_+^X-wfP_L#;LerblYZQ&mF&*ExU=oqcVx=%E7JoGi= znrzs9VdLlKm4*4u_x`Q5L)j)e<hjoe$vjbz=ewDE&8uB}O_$m;lOHu4ZC+@S&0O%y z=h`!u!&3ehWWOSl%zjXQ(og<ItuiCbRS}-%PXA~lAa;k8cY%DsGEC-4ggn0u*=efv z!SXFoz8Sd3EcnFRY~3KxaLGGD%F!U7=(W?#<Dbi<a!{u7shohvhf>r>t!Lg^or2#M zin4b6YAC#4J{WWn<W3-4EQ^B6`b1efNExpJ)c33739=^bh5Vgm9#y|ExH+ub4)hz( zj|n*F$b;qJpRKH$j%_*C4WQ*?$Nxw&)TK(m`p!!Occ&;vt`pGuxNqQH(8qnOC+3H7 zO!!B2mNMuqmdy2!S`Q2_%np4W2WedH{QawJaO(VoWGu_I`VR0TjN+aJqrfL@k6Di} zsfT!w^@?0R>Ff!ZTCGQzj3M8Jv7YjHM3jT~+@O~+=^-6gw7*>b<4IT_((m)Y`*K(= zV@R)P4e!e#En`S`!2A$jJv2<}WejO-2mgQksqGhQ>`bRTZvUt~Z1?JP?W616$15OS z_0;PfT>)+SjIb21fGMwcDX)Wg&B1FAzKQ>M?ZayvYA~iN9bN}*Z_jbW3tbKI%7|At zdh24l($Q7Vb_K+%p?bZeD<EDCQ(pV<s%N_be(KtHHO|#+Fr%&(b7GQtxkFL2cbW~` zt6U#zHr|=fT-msu*5k}1hy1SP0huQn@*M5B+l;zh#Efb@CAr(2G3K@G+03-z{j_l{ z4m#u)rze|OewxuGjAm}5&C-6J=GKZ0jHt<0DQ^RLcg9gNj|KAFnj)l3^}+J%LHVz} zcA1;*dzr28mNc%U87<{#kb903X50@sO)3XvDxdc2QPTq{>Z8_kami}Ix9!)C&zkNH z`gnbr5S$aPU$Jma!FTcGNB!9L<TWE<9jx0G@^lV6VSTkEH`~}6uPGCPi`%c8Pkt#H z_#@=8T_0&}+qLeseY>QEb6Zq12g7_feXYfcO-(42dnj*pvL%CfW73G<0#4b>p?5_P zZ%Q1I5ReYGh1YIdIdmQUcwP+Zo?8^3+KfF(TQgNX<vz%M(blgx(|^Sd&THStmi(`g zKDJ?d+lIEP{yCSc*08l*Rg>C2AFqA*G>6Y|>EPeyf4~s0R<`Fql5JjxG;l@4W%#6I zlkpmfS3<lV+SnhM!g-GIxe%Ym@QD#aoFDn4SAw3?Y$HO`!4jN7IUQW1@Cx>EtSDZ! zaCDJ7EW>d|9uV6+&v^Z`EwMc}dct)woqQ(5JSgKe6_;fN8JDD!PlUJ(ucVmD4*wVu zeFRfkm1o0j_Gd$j<=5UBb$Tw0N}FG&XTkA}e06$8yajpa*{=T9tU5jOp-j($v@Sk7 z;=1(g*!XZ!ot_<0rsurrO}uq_&O@1=^Cr*Csnc^F%JiJ)wZ_AtN160kH+rU2_l0D9 zF8oxT;kj@#Jr}~W;AVOjglEJgdPY3*Q{99^j_cdP&GgLo>9(l0$*e&ipB=H?;<8cx z7R$86kJn+T$7@?a8cUVLJ1MT2c&)QN=iLIm?U@zx<DV?+zvwU2df2X+YvvwdHRlv& zS++T!3qRVA?D*GWx;E1DAUz+_^Bz6_(et3p2hVA#pBMk$=RSIFq~}Pv9Vm~UADz#I zYWt`2<^K(waiGLVlP9%qg!Jt|wITKDM#w5GP@M>>6|vWikTtiUIuW&Qgw=|m`Fv1) z3F&7-YC>48h^Qxts~bVJBIJB7MBfonH~x?2u!Z&0indAG!upDTBb04neMpcRSl^F< zL(mq~KLqs&VQf%e5vCW^w*={h^(_nTD%ryNmLN8)A9(Shv@NV32x7zffvrnKY+?OC z5F6GH^pfU>i-XuOagf_!eNJS*z}TREBg~!XZdSSGxD8Pkb!>z66<4p?wG~!(85<jK zLG=APw!!*@4^1xFy<Q|{rxKrrvPKt?`@m(bF|2RtT~M}PYkt>0Aia?hST|mS)^))C zA83s(2ybF!XxPk%wI9g9@DZiX1m|^Ny@|-*z&@uvsLu(pAJ%^a-j|mlX8&$txLqr& z$9`ltQ@d^$>E?~rjfj*_9Tp;OL(?>#b|6T_sCv|JClnso!VDpneeRja(<dKoxUMhW zfXLgZHeiN1$@=$iv||PCPlo^?dkfG^V7bP?0JVS5t2@gK$+aJ34khlVRR2&9zaij$ znx-Ej{7*CcADRe)_Bz{q_hSanz2V4fIPC}Ow`~LNq5kH_yqDbkLxlg)%4ATEfs{MI ze7Bhh{W#r!sMUHWP(RuEfBuIFwnW&E)BSCSi}r%_-%V`77ydZ)XZ{SZA*7$5=Y-wN zW!Z2ufb9JsF;FOqFD%|`c|yU)ff;xF<I~TtV`W1~KQOLvhJQ@HgXMEz_|LO10i78F tbR&9w0*-6k`uVLbh|mxBJIFK$fY@W(#lHin-)82_nZU6moc0r~9{>jBEz|%2 literal 0 HcmV?d00001 diff --git a/docs/vehicle_air_hapc.glb b/docs/vehicle_air_hapc.glb new file mode 100644 index 0000000000000000000000000000000000000000..31badd092c7138ced0f038d56bca7d94abd15d8e GIT binary patch literal 223216 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 X0pzds_)&i6ezJMS7UB*b0N4LN;@N5y literal 0 HcmV?d00001 diff --git a/docs/vehicle_grav_tank.glb b/docs/vehicle_grav_tank.glb new file mode 100644 index 0000000000000000000000000000000000000000..0ecd7f788139ea29e68b9b05a944e83cc96c2257 GIT binary patch literal 174908 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 literal 0 HcmV?d00001 diff --git a/public/textures/turret_assaultTank.png b/public/textures/turret_assaultTank.png new file mode 100644 index 0000000000000000000000000000000000000000..645ec85e686ecc18acacd8c3c595170101297b98 GIT binary patch literal 467149 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%0DV1-}hAj=@?Rqd&UKE(wI_<ZF!yM&LCGV50yx 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%0AqorULm^sZR&{IymKgaF@azFb~7$@9)7 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 literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_bomber1.png b/public/textures/vehicle_air_bomber1.png new file mode 100644 index 0000000000000000000000000000000000000000..40da5f3e628e6373fd450131f4975ead52c93720 GIT binary patch literal 297348 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%0D)`tp%uF~~;-wpq7PAy2baxl9H}!ZB<~Y$>XS1t$ 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 P00000NkvXXu0mjfaH}NL literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_bomber2.png b/public/textures/vehicle_air_bomber2.png new file mode 100644 index 0000000000000000000000000000000000000000..e3cd95d8429ba3cd1b8b7885eaaf55e03543fdc5 GIT binary patch literal 315789 zcmeFacUV(P+y5H~B_h2@fFJ}!iU>&vCG-v=Md?L)4ZZg+(nXM71eK;BRf^JkkuCxP z0wTQzK|uP!U7o!+&-42J&N<Jy&Ohb?l6&r%@67tl%)MsKVnM_mWjP`OS^@w7Ky*u9 zS``4mI{%0b0O6g#*`<{qoxfdjl-F?q04`Jf_{IXHWq{8U@m+5z$>7fd=`Qh+bm9d( zKTm?X%4oaFqHWC?m5uGp0q*8jXj5BrLu0hFp^1Z?iMca^%hBF4)N2F*00{1()wNx< zl@tX{9qhP_%^Xb3xjgM0&s6{bVKGlfV^bS*S4I<aOSHWR6Q;J2i4kok!lcEk1XFU9 zIv1Arb~ab@R#rFlwlPJSF^P#12zv^i3)q>v8Z&y@+1k4ZdWtaprYm^<`A0H06XS1L zTx~>{Bz{!LsI7E|QOd#DoROD{=cXwP4rk=!<ANi3`S{?Rj0hMU!3{hA;=2h)3i9#^ zBKR5qcrl3*oPQE_HnR{^m6rXZx^qi}$;#E$QIMP4!^4BigNMt(*^(QMLZN=hAP_gt zbKG?CvUfH1ylL;k{JY4XI@0DYrp{<bSG0pY;}2b969+d}5hkV|75(e=$8p&?{;MK; zmp|B@Q{?tEcI1Y0!MOjWd|puaoQa^6v$?UWgR{DWgRSWAM}Ei3!PUXV%E6IQN{x?^ zO$%*r=HTJNF3f!~`(O3{rDQH`>}oE0&WHadjOQkTPaVc92;&n(!f(Qmf-u<MM1IeC zK|{&G3~k}{PYwPb8oWqBIM3fT{+9Ei#(9658M_+)AF2F3?;kqC+&>`y4f=0A`h(Yn z^#83h%uN5)7mjYuw!d|`nJKrqt+}1Ky{pT4f589QA7-Y477osK#;&4hJ7Y_8?(-QT z%>7s5f4hB-e|Gf0n)#0*^Dp<m51fCw1f?8o9h}em!d#R`nEO8^|F;``J_wbR{&R!> z9OHI&-2Z8AxVXx=pHG`Vrr|#h_0N(n>RyiK+^Xg-4sOn-<}&W*-SpR7{A0!_DGA=P zcX2hgH#NT{EqdM@E;QOq5GjD<f%8kkq!Dn03_lz$DaFqxfRyEzK*&f)@gk&u8~Fb$ z`p;o|?vr*fb^9?g{*X2MA<O@NCi}Od|0b*Aj6RQ)#<qXU^P|=OcjW(r#J^P|k9Ika zBVK<_mfr)@Z&OCi-07dGf6gUa^lwwh(b(C={0Dgvra#gDJxu+s^rOsgJt$~w`XdsG zn*In}=4Qg&|499-Sr?0;|3jz!uXKOc{#()iS>MCT-2P{Q?{}%+a{bRDE)Ev19>&h* z5|-!V;D3w9zbpQ;$VKVjgPAS*|AP*2F?RodiT{6{GyjkA|NA-P{~!E+japMHV|z<; zGg0n82kf5-|7Sh+dq4hjCjA*xF3i0D+WE^BZSmK#<sb3#hv(nV3O`Z>&qKxe&^7*T zio%7t|1IsW!xjF`r~PBf+q(UhpC17`e{sWq{QRTn-`y9B>ioRu-`y9B{#8=L9_=cM z_@lN9$$ymkuK_jpME?&!e|Y{K=#SLj&#-Fei(Ye4K3-lPUSaNw$$vYz-&}Xlp60gN z(&+PZiOY{jiQwh?qtHdqe=Mo<S4m#@IhnsS|K|BAn%{w)FMrQh-rWCMdjDGp`d5Vh zZ+`gekp7#h7qos=askNC&0n~F&gX*n7p@CHes2E4^>aQKyuWZ=0P=J57p|Z4x#0bU z>jIFUo4;`VoX-XCFI*RZ{M`J7>*stfcz@x#0OaT9FI+$8bHV!y*99OyH-F*!IiCyO zU$`y+`MLQE*U$M}@czPe0m#qIU$}nG=Ysbat_whZZvMjcb3PZmzi?du@^kYSuAlR{ z;QfW`0+64Zzi|DW&js%<To-`+-28>>=X@@Bf8n|S<mcuuTtDY?!TSr>1t32+f8qK$ zp9|h!xGn(sx%ms%&-q;N{=#(u$j{ARxPH#(g7+7$3qXEu{=)ThJ{P>da9sfMbMqIj zpYyrk{e|lSke{1B#YOPf!>s1^=TESDoIk31VBcPK{+KKH$K$eUe>@BXxbR#ivM0v! zJP*l_JX+3ZS9528nwz7!^ZDbt?QJDf001N4mb8Sr=LE90=e6Cq+v2XDspzP#55~oQ zT0Kt{lVGOjuH#>8t99w!0OF0U#7AROM%$J<$NGaI#1$Zd;20sQyOcphE#_g<k9Xy7 zsHN^_y6hP|I-q5ESh(6h{si9ny#vGlUF^8zY>}F4pL#9VMvNGZ<OL101ZuF!eU0mS z1{m!UzRl53z2>F}Co|x^=Zv~)kJ*2Tzn;4maF%seOO0tf+7KOx+FyhyMY=FDcIiW6 zmXcHLn}#b3@UuyvjDhS3oEDZ+A<7p+&C5z?CTl85Q8?H9Fv-l$%;}ea-3jiKMNH<S zy^vJa+h0>}CcB8gve!2Qy)b2Cdkj@0U7Y85vR<iR>Y_xp%IH0ua9vly(^of<ximvL zgnRVeYTu1azweos!}G%m%~IV1%1%qY1Lxd*mZ!U!v3u56*Jj7o1{;qG8|zL+8V|Gz z(+*zu1iOh{13$dPE@x0e0t9B{QIvt=?`_8E*+@o8uj#7hFhBi(*UY=no%2js&Kh9H zKmc{*u9kQV#DW0xAv7kz%P*EAlQ!JziK04o4%*78y0IyUwy|j7f{boYxKm@=vQaUU zBN)Tl>I~|txxp7<j8EOP`Xh$I4qp^p!+Jpt4-H&F>d=LS3BdDv*IKjlGg1avV>I0$ zO2bGVFS(t(6lKk-5vp)feC@FCC?)Dvw;ODFyGsL`k|`9U8?njMY<go3C#L~UXB3TF z4;JoIGgv9aDMYLTHD~F80SApI`wYihwKFtobzv%TVGN?3O%xQF@A6iBEpMlN-(I+% zkNjEzW|Z3t<iMwHDTHQV-!37*?Sj3#mOEYtybV~Es=i|7)OAx;Kh5&ai?m)C-VoUv zMH-BVsHf}agOi;>!jEH}&7`+3y(K4zX(={it@X8<b)T#g;mzsJl{jQKt%zi7U4D;} z36819Lr9_3bA+7;gI6DiOwbF}NV0xuom<ri>zJ)c!iskLG~{{nQZCU8)Mqz{+kSlz zR0&64f=F+}Sz%K=%oNeO`_Vk<ThG~g*38Mm*|wNy#YV@$Y4mfc)%odKRvzWs(s88@ z8hzL!VVtrZqKvmd6h#7`(#JNVEkv`ppM6_R5fpZt$`sUP9SrNx9odt*g4^F@+86<c zhDv*DI4I4FZ;bfh>*~?N;hpiRmyHE!#K+4H3K9>T5wBP4=@_yiC*Rx(|JW06=%6C6 z`0<gF)AhXkwz9VnrLhgPun5v<wWd*sPUP##LeJi;il2MUaqZYBNyC}`LrV12S9N|5 zvMb~+8Ft@_>tBg7J7J_oXgP6mbQh4*)^XjjCPr&Sxo=pR_wqS9UXM(F*q6(C-!_z9 z6VyXlnz(u!$%6xCez`g>0e`A4XCsqD9;(y}eV)kW$oLJbq-9pd?xx@XmYx2I=O;#> zyhI-vtJ;2KFjv_PVyQIp@MqJIqs2^@kdDDo0!c!vUB@_1w`30{?WaC!Vg=Ta=~-1f zfhXjW(U4`fFf*V)mWum_DW^|wl8CbWk67nQjz<Fy*S9;u=I+uhxqLIvM8&?<C&|4< z=$cCR6p#nlduFbTLs*Go!k)N0U)0?@%U14cxf(;3!=mhNWrbse^_gH9H6H$+on^8l zECnZ>qO+)5R*Fb90VX4*czKO<;v=3HK{g>3w{WN8!@f1``pT}w7<LbH6<e_6jkLV( zG@_zM>Gs^3H<x(0^Nm!h(_i;UA|0M&d?J&EJh)?}5Ds{nZ{X<RZQ<|oYOOVpd`Yb% zoPKuy?2Dm)PDyP~p@DGGw4R1hV8W}Bk$~@CPBus0mK54&zetv{oBZ%@vxqPyFngU= zE(|pk(^pMR;(hw{5l>eCY)`;W?qkr+;r5tpn<mb@z*%BuPfraDu$yRU*d&a9q@F2M z8ptb8Ow`w7vg0-DXlkQh<d%bFkk?f$dXnmUu+^!W6PGIdZuQ7+2Q8R77ISjAY+mS0 zrC&mF`rUEo#HpQ4D=VqjbVIv((uhHLbnQj<ESpsQJwG2Wt8c}snhd*JCx`Q$8{Iua zcZR-w|K40GIEZzxT8TT$pysfcU0NvSxxHjjp>t-1V)FM*{s!H`&;&%V%=_r8K`gAI zLO1h<?)C)cwvE;>nj(NJY;qbNu`p>cCr*-qdNnaV4KPlgAhrjL9m}g;6Ay*!=3T2$ zHD=sKz9y1To{wdVZ%J5xQ46cN7kK$a=QDPKC36c{c{CQSf!n2VfZ&8C>;p?wbkedN zDJdxv8MgC1+ZjHFqGeZ)s?iX;Ny=y#l8BIy0i4UG#47Z}B2+%MnG?H`qykS-jmd8L z>sOZO4#V&Hjc$j1+^6HO`KJ%Heb2r=z$T1un|9AqwiJ5OKicsup=SDEdZv1<HGbP1 zZ$3Qe<G$1oaEZNK!jYj1Zt^Z-gg%La`Qe)T?$ch-i>lB|uQh1E;uC|*F>pM}2&5r) z-DRvgLyI&>C6ODT$o>2;Hek033IGUAW(exErur<U+`O)!=<Wt`1;t~va?*STq>xJ? z*X6=?#VZSX&?b_f{ngvqbqI*(yYIza4iyk=xu)17-D+!22MYL>f3_j_9@bSTxjIo@ zT#vn|AKB6q#_G^H+pB(!x3jH^feTP{yBU;x8M&t`!%tUVkQ6y4b{sLtyVcrw<}UUG z^X6)pxMVXM24vC1_z-J&#Wv^J>nP}5I{@Pp;dV2W5w8^jloOF=$sC|DrSx6z^mq2& zVRp#heF4h9<PVl$lpEWa9je~tOQ5EkI{A8%eDcw~nb{jd&<s}1n-?f9^gs#FA#1AE z^4>?yW9tnU6=yDm+>Nxa9#Qe&smHQeQ;2`IE46{%r)fjpbfuNOu{{l|@jQE0ZQCe% z;L&)tKX+Q`gNK&~MpI5KGeV(5EWNi)R`jjup^CCRhs(6B#!$q3n{JIP)sk19B4`w@ zBfarlN&zQaye-gK9UOYCJRvxNkX}5EB41eVW;!@s)+4aktb+{b<IyJGVZ`QR8O0SM z?G^^Y6`Z(h)(j>E8<mPD)OX4BC#U8ww3S~iD3ZKpgq80F^&Ux}n3ZP01IGq`b#34$ zA%kAKOiRn<YHpBOe}%l@>Q%$-A{BqW(>?05Z{uQz<J`TIj)k4fz4($KLg=$0Ec}sL zU5D7aGe?^<`y|sx5?S1rdGX%4?<PbHubAnf->D&)jjo_yU(#2E->pZ-M)T<@P&CVH zsl@=+07p$LrzXl)?*@X~1N~-%^SWZ0jsWN&ePHL%XDQ()Jb9kw8%{f;^urZf_LoY< zD~x*qdy{<Pj`ERCmkN};LNkE1g1zKE8-jh~*bqG%)yU{e+S|6(ldIum$p_@tQyPAO zP>NV@ZrTV?z;S-SY0{Nt&yN+DFj9z{e*Jz>wksN0G*+0bCt>n=H9e*#=GyDgYPd?! zX6SR`+tP(fS8zcPV&C<-EG2G+8O%(;KHc1=t7NG-j#Oy9_i?yuTyab`-@L$hc`wfW zjfKS!<^c++NZZ^OiTb5YJ6;w~J!|d0f4B7aK5b+57j~FbYKZEr^1+1Jj}`89hGDsF zEDYM!qh}0aYQ)~A4_YV3#E=#2oro98Bn3?#&R4D%B!bYNwH^G|(_^Y?`O8M8NW?0{ zZ2QTyZSHc@7i|_)a?H!8isM|BYyL>`07fG%ax_TyRcPkeTZe&x5^Yr^MJy08+B|x% zo1BKFr<tuu51%}U^rNnZV#E-3J--nlI}Htvs}^X;8)FiV#~cb7M!FEl?lW~X3CM(i zX*jnweV<FbDbmWn>^etDeHlJzGH(?_N*-)(lie+#1Cl0?*6o)#dKNA|9}zAMQ{7D2 zF^dd=B*fdiwN69K2|E?aSod>c4-KYTMe{8I(k-uc7H3~AO_(L_hy~v?61wVI(UNtN zJ0p6&7(E%cNgkUaR3YKM6lD5lbK3-k*HHoHxT7ccG95c&!PjA9<t1i}`gCGvOiCnD zcCBl;ZC2_@4yU+W9EldF8#`k9i448RlFytY3tfrm2<gG`safou%cR>T&G#CpZ2gjz zWYxnShUV8?hMK&?vZWuw=e%Bn2nt$&pl=6rmeL4JEWQPzxGZjqM;nzx2|fveB^kZd zga}>Ih=wYQ!jeV7<<A~*nU+&hI5G9yrR)PcKc#%TMIK4w<Q_V67T@T3dG$@=^U1lz z1ZKSEhwGiQ(<BeytIG{(5+`PJU@tFhaWY5Wt7fWX!ePu+M3FHEeKeN;zC7u$#NfMM zXueLTGE7s?I}f5C8Ap?b$_gPrk>!J4i|30IuUN_R@eI7)FyApC=|fxe##L_6LMJB0 zz8)NxJ@RLg1>?LtTqV21=$haL!(aU<t6!3x*ar;5cL|j2jUNhko}BXAk7Yx49}Olj zFQ{(NUx~0KyM8|x;3iiZxG>&}zV6Kc69@J$sw$**mibUNk1oiLmakSGjctstF%Zn0 z9?tN6f41WKT$o%+9CQsr)-n4ffuaMvJnfc-co>>O?vjbByH(HL7lDwg0EC(mkmG^m zuK-(@38JG>Wvx(t<pbMIvl~=|-KvC;Y@2UdRI#q0rsd~s(w8B9RBF!|bHMDELj)(l zCYfDk;&h-SkcT`#TC%vF!33neZ4%MJBF9%E${5%&TKo7CtrA!E2g*T8ld5cuM_1m6 z`UV~#cP=;XhIxpcM4h>E>D_0bYyCi#N^^74h{Dv20oxgYrzJvA17xTPn6jYD!2W)G z;8Git*O|;+Pp|QKsPD6z5phuO5Gi&ruJVrJZ9KypNfBFv#_UD}@s+cl6CBt~-1*Vv z4jhvltVWEp#q!y=<x#NC)JkGPcXba>>O7X$gJnfw)-E8aOY@@P(B{b|O6<=qL-f|b zMI|NKd{Ran44}IUN1aSx9N|b{Yu;4v^?m=z5tQvNDCWTN0r%<BS)U#hJh5D`R!~ph zV6QR!_@my??n<|un6Pr7N1O<@{ZsxoUG+7gv}~{n(B+^+Vzqg*&{f>zBg^Bibcgnm zfZf8%is#__NWpvhSFrUqU{Q)tifJcE7&c+VI1)tNB`=?ok@46`)X-LUv&B;MDD_(^ z!_j)eqFTn%ZRA>tONF@(=Uy;7aj0!CT-SApJQ{vYXipzXtA;Em>32b1MpVVr`cm@% z`v@dKvX>&hoJ^5(?U;2sF)F-i6w*VMuNNxkOEbjO6mL6QL4;PF+z8{y=fjYEm2-Jx zV&5!$=ZY-5;M(slKQgG?DD=S(gyMaclL-Ys9foD~^QC1cMxtXNeosFH3!8@~!1KF5 z7xUp6g#u`&njtI1Rhr19h$1XG_DH7}Nx{0rSxc!PEPCvRNQ@&sBNL9vRLN$x3GwR( zpV{hLj5FR#Gdx9p_N$`>YgfE68#T}fV_q1K7Jmv?im*tX#_!*!j=D1LgY_Yf2)s_K z0prj3Vv^1OtzqY5q2Fp}!1Xh^voDRl8xQ%#t}={Lzgz6Z0zsVx4JD0Si1H<$hC#Do zPp+hIw~L;3tgRnWG#rndVPJF()5UZ585+c@{E{CAiAw<Lcry&sAHsuC@2yG`1hAHm zMsDISuEfZBBsuTwdaLahBjv(lM)5v{eMY{$2BxxDbo_Gq-Q?RGz{O&CFr)mL*2s|S zdYGgO3`~Jz6XIc7QY+~g&2&|stwRgBEUc%cfgQg1#x6ZiO<nYfq*xl4n%Qo_T5Ivg zoVwmopG2V)Wy=_x$*fG-JLLj>O;wkV?p7wdeee!X(y>tkkXZ>VFBdX*`6`<*6t5Z) zO0l!pRC;HU_hI9QN@AYNxU&d`Cu2lcA6AP}1T2i5wJ&g=jhuaR&1@%qwzDGIg<T^g z>(*}O2!aBkv_AK}2|%VV7>JU9R6x84c60wlo~#~+v+tAWse;Cxhb0iTG@Y0!sc=`+ zpt~4%D#=<NS1VHKRp;y@5)xt_;o1O;>iiq_ldDjcLF_5~XuSKzqBloncl;)KRpR^d zqwnHRIA-)m=`#RFC%Im*_fcGGtr2}og9^Qo8!@8!L6et;##DUczQkhVDP4f$nMc4$ z$(V!hLeH+1Qqh%X{Pelql8mcOAhI5o`)e`Tl)FRfHecW1#gh@n6%lcIm95#i?O-iN zi$B}9tC)_Pt8XX$?AIiWFxT>{lY}zHhI>_UJspdY7k7Ih7?;$$BmDKy)x`~wMK0(* z!0gmWB{r37qzD=(t2GrOZok$wX|-Xy)x}PbKO8a|U9@iCfY15XeyzB)Buy1jBhAWD z1Kz%2>!I+?s_uNrk(DJ<oprP^g9<pM4zMfs8E%~eE-tYG!`&P}ph!{m+rYRXYbOh% znHo|5{oc*Ytd^PcZIqjn8>6CM%T)3jPu`#DG#nH;Jo20BsN?KaYpE(qYmw$uf2q;S zv&6J+w_i_bu-$UL^B_kN+BBM8jmI_HMwuo=7sEBOYLu~oV13_SPDMl|7pz10X|K=n zTKaJN>TX^P2T7YS`D<MDk^-)1<u+1B6t@|z=Yi)N_~c_HA1s6E$gE_=y=SWUHx(hw z+lSvw2(ju}P|ZE%;GvT$yUe`ao|DvRj+mkYR}X5FurECui&Y+8QzOBjTP3bwZiaMU z;*l!tT@CBB3JH|Q0?G5i-|>P3aC^A~Q0)<Lno-T1MHo@t*_Sx6y|-ECSBMN5XC(nA z0k0UmcVhZj#4F6g;e%nV^q&4_oJb=5eO4=RFP&bqr<dS((XHQ`NlN_R*70zHvJSfq z1q?Scb;O8mj}{fho$n{-tt43O^!1F60E1#TDi0KSmd6jcGL~NR)-y49p(b}%7NumC z%=t`AHh@?3^PUais~SWnSfd~ob;4@}V<Tv?r7^D2HJ6c1N7}^&#W&h(#kc#-!a-h4 zlJh<JeIirsVUxqNM}0)nX{-PXgh_OeY9VK@BKzwPQs9^cSHvI~T`GJT&l9sPdX4p2 z0V!}`7zNR!5)YQbyD!YB6o-bR0wLts&;0xzdzfTeu9^wk%dq22TWin&^LL);#IDx7 zJa~pup$s=Qtlz`qNyf%<(V<2Ph7@}X9Lj`*_#?aNpSgd^B2UN5D0x#69Y_ugUwM4T zr@2S3_0h>EZl%WK2QzOoG8@fviReUKbv6yW==%)YiCpZesaxZW)L>p3Z!|@EXbg`6 zPVKx7Hib@HYd$Uo>}utcO#4&^oZK)(``8emn8TzwNHyiSflE6k?V)viiS8hjOR6DN z{MB%F+^3k#ampR(sLQtM*6Oi9X3|^*-r(%@tBldGQu{GD{EMr<eJlOi-m)mf>y~z2 zSDD+?p2p7W2&Z?SO49c<a|KMlNE27{5kHWSer&T+a7BVa{5d$N+@4^uG<J~GQ!opR z<%aKray7|`G{q<}dZk?njpsRTW;hvhc)4jXs+7C&9=wGm%kz+Hb9ZaBMim*OS+_?_ zRM2y`jtu~#RhWUa>JX4RTkPOfwPurLU%~h_Wq<Eh@xLyrZx|i$y}#N=K6UY08Yy!V zoRSQMBdpJWf7o<#U~-lDQ@Yjsatu3eTdHrF=xX~BcW0;Q$=iq?dcC!YM_=TM(o7`L z#YMF_;ikwE4FLt0ln)9+RScU4(xET#jKm6tfh|a5KkxNNYl~O!?@b?9**7@2wF#Gf zFclX4bgUWHqrawEAvAjhN+!2r4YFb!t@k8d&|kLrB0PSVc&aKgw*UCu%&C&s_s{rq zzGu-EsYhi((3Cha0-W`0&cv=B5IHI(L50LzTXqX;kSrt1{rGiJN^wGRUec506xHWb zxCL76;5S<MpTn=exCCqo<k1ef<m#Zi#z8Cx3T=L7g{2swFG;7=D#Qc{z8?f)9+Z8$ zYy{|l5mL_sZ!0K{3k;IwwP|v^0^*RVnnaKHLOM?Y(YB4-YiC~%lF#nX2sSU3P8Cc& z;l|U9=m_lH)EENIxNA+};8aZ`-&OACQ=b+!9;u!zRyW)YIJ6A#KR8|r5EV;Y6#G8w zbGSI;i+%)HL|ZV>_l3alWa)zGOu`8*)M33Dip>v(N<-R^ftv1Ep%tGV*a!PGAAbKl zox89tj038q5?6vfOTuDMf&-j%LD+KjE8FXpu!Yo7x~jWFI2~42N?@27`Nj*-)l|;= zt5)@0wWT>BL-?PtLs7an6|PuaiS4~JG+Ws$tP>toNw3VaXeCWjm-C`HNKmll`~sJI zdbP87+I`<iAOjp6J?|z`F{U4rH<4bBd;Qjv7y+g0tgGNyyjS&KS|-bU6ykb=j0rh= zT4EpH)kwP4*7nH%`1QdPhk(Lj70f|`rKg=FLb=Cw>v=upOF`32fvkQ)Sp;ry=v{nH zLFN32dUp{~(eL@wr!NmS57zd+95S9Sx}0oktBJ4Lb&;-vWq^To-G1joDcp?SY@Fni zy_R9MQV+UpqkV+IQ21R^gcE`9@#nkK;)`wBnj%y7H6ld@c-jkAo6F9Sqdd1MnJ7*h zi9(sy?pgXm67eBe<o^4z8rTyH9K55&v9scPi;BrP;wiazR%dsFbxK3(*UP~lb%&jV zToovW7tD^z1Us70I=$n(ACS4@Y2ntu4gd-k+UjhEa({+eLg(Q=O)i)YnZTEp(`B0f zvdk3+YBkR80WnJFfvw0xg9ve~GE^;|m$}PffG+aUY8Lb+1lN!sXxNAk*yPnZG}~2c zxOz-r*>J$CH`7<Qp7GDbG=7x}IGuRpw`sZEdi3Z{$kY>_nvk-Y57u8tA84hHIyKbd z;I!IqjfV$(-y7@jXxQ^u7+>f=?JhanTsh5l2*aFx1~wKYF7=F0pY&@z+TD9GydcT{ z)Ei$)Jo;L6EJ-xnNHJp|s-69=TNj5;)pOwd!Z;5_$l6AG=^}W_2nxs3l96(tcR|oz zLg*1=xjGW!<E4DHPN^9QuF=xzO;K%WuwTt(3h71=6=`7wRhjM0KE=%e4|Sez(c(PC zq;nIFvNemp4g^Qnf5MY8Y8`Ada|O;dA>?#3TK!!gfNA{qqXNF?RZp!sUafqYh=q7> z4mMTO(F()Ii%s4cAFXeey9;xU<e_1jq92by->SG>b(dCoSTdx|bOv&*O&*c{=own) z`;dyiV8B`W%!{LqTRSJI8OpCr#jSKX<E{%3ayh3Wn1cY&4%?$m@#wnr>(f;Qk9=1< z^B)DQZfNgCDw<|c>-I*=CplZ}LQABM?^4N7NQU<sKgVsotC^dz;VS4f>Hd(f$!l?C z^Ze?|ET~UkUzu6jhxcWs^P<<=L3YJvF!p$DtjlwsWI$$81c<B;@DPeIx+{)RHXYMr zI0)BwC=6IipIN@0N!t67Jp_WvC46(=uI}AOE>8B>ys*Bwp2s?S!3A7fRAH=yY6@nN ziqU2zC0z=PD(Ldj2W0rFF)4E<(Q#Lp+2^KKOr{=~QZ_duLr5QHhNq4r=&#nib9`|r zA}-{P5K@U1sK0{HdudcczoXw)ZWbd^KqW&8H-Gn_=j2IHhhTxPIvr`is-?f(!S2j) zYpt(`CCQpKO`C83I#W;4n?$YW%9n%R4vi$LwY)y!F|0d^30QDAJxodJ%{m-6%n10h z<nLuI@)@7oKIE25%$C9K`GR<6av1-SLJy6s+$7(?4yuh1H(Z}MRU*jjs;Y<?6cJ~{ z6iNmMOqLmAlg>$|Q^%;PuZ3o-S8mGVNt5m%%HB9al<XXk04Uxow?tpYyi2RZbTP;Q zzL}fqH>VGcG7z^~b)&4;<h_jVl@n2bL#i}oz+{2!oT2ZVN2%VoNf;C6)5K!QpRVc> zN$ET3a&}yrRXJTZ^f%j&nY7#W3rOrX!TGGeikr=w>jfu#`Y_KvbUHE^^fID*S-%tp zTc^T9x|z#(D^@x1mrWMV>aUdx&@mm9srYkbU@|*P{10x2L1B#8l$@M-s=_%<q^y&V z`pmyTh*kq>V7eo*q$c8Nul=@PXQg8@>uF$k=1n#O1|$&4m+6Etn)F7W3!%EW-Vbn} z*UVLLUU}YJ|B|=!ZegC+^C&BQ7;^zNx7#324g`G5i*8wzat<PEM_d06E9W?JgSLA} z|9rd5PU%$+Qyg~$3db1$Ws!<L-jWl`oc3F)-TipgxZA8*0BYK3N03@UdiN1_&D{2J z%XPVN_XkF><oCj<3nA=y-$Vy}GziFUr@exN-FTcpstPb|vYTu-s;d>#;nv6>ZU+<k z)O%IfCd6^MVjNMj;n9u@2}L$mKDshsQ&MjX7$kg?^|sm<D=MGyW8VM<RpByv4O$|o zd1&lIBmx{Nm|3i~F_xIT<PZ|DEfnB*a6E9bdT)<@vX$aJis!l!1gJ#z6iCX6&5mP2 z@J8s#@|xiE$>!Km^4aF?h4?IQp|h3}e`A83af4S>+@l(jY6?McI$65!)71@{Hteyu zuZ~s)IqEd)A3tHT#vr7l@-OKtTQN$o`89D)zTT1k7BpJRX({=5EO>~nhEPq{_FY8f zmC8-ZFkO!>2`vgqvqZQ`C<@P&L3>{bj*Bq223y~-wgN$&GO^X^4wn_!5wuRWwI2$C z@e#7_44_tCKnQBMmRYw#Go6V!pZ)dd^I6H2FAJw8T-5r6jYpjUd$V9d4*Faw89LgN zt!ZLUC)@$fY_t`law>{WDkWtYmEiy4?OdYEIv87*<~d{;SnmoYrviGVaYFADG1J}& z+Zoq$2m>=U?)Q~cNrP}wh!&N|;&MIu^1Gu48|d#aQ2;;SQDU<@`+0s-IsGue>EQP* zzAPDgQNFFI0b{UQyzzpgh~o+2!bdYE*%FTWaA+(tqu--ht~1tAH0$QJhP@j>g*fkf zoN!f-un43prf=LX9QJK58^ZZTAo6pI*V|IfB`1A1W!9+S8&^xRZBXWdA-l6fn9QlU zO=s%HgNNK&aVaUVv^zdhC}O2#7Xc+6KM-g|PM_Mym#xF&&))@rc_J5K>AI~3QHL)C zV+a^5yi&dV-5Fx)**bgg3VE+ZG9k!&?z)O-@@Gpb*Xe8FO6(-C6KoPmjxG3Fnt~Pt z)Q`kT;S0Uf^j?uj*F?d=PH~4A(r)ui*n{zy>=y}AFoc;&nhGASy$ZvN4=pMIi#sb> zr=u9d%z$qj>OBhOJZ%wbAa&%OxY1fXK~h`=0hQN%346(yqw0o(1@~H!g8|=D>ihw} z)8w5ahI?*P#V;7si9X3K@75mOnYi;V?rf_bQ`H%^-{EzM{CtN!&*e*l)=N1Xus9y} zbtyVsNsGvcK8O-mMc$BfTLe{`Q|&ve`GiYg5u7)1<Dmjdv*;UF*<LWzh*^fBCL8E8 zm)bu*sBs9Ml{+G%ujIYkF`e#9C>^C9m?o$y-^5t$=f(l!PBn?wX}VM4DwwYLu{vEf zvpdBLl|>|KcEv802mM&Bi+!ugP~^A+bMiG^bqpytx@KCkdxx$Af<07FRYM%wltS^@ z2-ByQ*}ES!k*@mgp0gw!ksJoQ8~silaP3q+%r20mU6{hJ36~LX^!-+ZN&uhT+MMUU zPXNYCnKt_wktsWU{*Kwwa5Tu2=JRyTJTcrQbJG?f$I$;MU@w1>f7<g#8`w@P@~T0@ zq-nHzntTLQnwYmMtO+D_4GX8oJ%K}O{xNqICsrjyaIYW*(P_mYH<UrniRB2>u@F?U zwbOWv1<O=kGU|r0Oe|~EpP#V4*b2vB^L8GLn<$26yAi4gFSMx=cVX$2o>$hBdDS3> z8slrJh&CP;?~)C)k{j_&MZ-&zT757uo(H78v#W9vCi7b{8La85l0`Cd<G6HRNF{su zbmQlv&o81pE}0jq9_(wT4cR!wgU|1iV0VJUp(be-SLLL19GJ*4nT=PR(>}fvXV8bM zgj|vWUSV>UUoQfJRlgKYJzVXD1E#-`VCv_3oXZW5EE_#eA8;QpqLzAhS75J;6R@Yk zL(G<A+-5ZP4-0lAwG0rt+@~Znhlk%!#~O7Pz0S`vpTsgTS&ilxk$ZP#Wq@}c71%a! za$5?iMC9^oE1X}0Pp_P9?a$bIxR|T~^DPG?!!LIN_MN{URJJdo%0AIPW-=wTy7sBt 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%0AE&-_mL70<^++B+zQBCA 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 literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_bomber3.png b/public/textures/vehicle_air_bomber3.png new file mode 100644 index 0000000000000000000000000000000000000000..f7721dba3fd0df144bb809cb3ceb10bad5ca688c GIT binary patch literal 418994 zcmeFaby!@>*8hnH2`&i`T!KsE5Q4kAJ9HzBySoQM@Zb_4Sfjx;5L|;aA-E?%aMvN{ zTsfC}-@Lz>x%13F>8F9cYE^w}*Qcu1uD$7kNM%JSbW|c#7#J9I8EJ7<7#O(wLpT`Z zNB2LDJti;jf1o%>>o~)}JjVU`1q+jwL2#dl<RYUWfwT<&3>6mZi;@lheG-L>gtm*M zl?{+w(Zm)A;|8>}GP401nOHd)ncCZ$0-ZQm9PBKb39o}-VE9k1)U{o-73BHN>}^?0 z%<WBqEFQKF_bM<j0zw`RCT3uu3%M!K!piO?<z90;CApRPOG+&+1vUi-v3p@@FDIay zm!i6v7ubx?oKi>-RltM)UceUUVnXg=Yh&lk@9~oI4_*HI<Dbc_l;nS8aRI-i6!}>p zxwe8bxtP5ZkerK!gV~G?03he)W&v<=adQKh$l2Kd?5u3}Z*FD)CqEZAKRXZk-(Hl0 zsP{(#PUawfRdLC`Rd;W_q_lK#ao}fVb$54Xapz#Mcd}pw@bU5elwoIQzR$tz>}ls> z;=yd^O!cS8-*v=+&Sp+l4lY*qcH}>GO-$`wU0zaB{;cR9ufMg+*5Mx&**X7>-91HC z4-*Gg01F%IKa}qa3fwc{7jpudxY#?X+uPd+{@HS6OM4f4XG?nraxpb-ayl(5J9B$? zXL<qFhuQyG|38(0;wCOY!FxVD%xoOY?A+>X-2C@%4t8cXPJTAFzli*q^MQtfy}1?0 z^ItW1{?GvM1GxUG@t2$rHSYV<+{DG?|48MpdH<#(!1@#NU!ecdqd$2)NdMnD!`$p2 zec|BhWb;Rto13u$ZGg5wI~V8s{s8=If0&!`gY2DbO<V-6Y)veHtoJiQfc2k=|Lya0 z_<KkH<23(e$o#|o?*r!_E`Bk48+)hwz5ohx2(bRA<p1_b-w#3sh5vlQe;?zvwyghY zZaBM0xZO{izfHq`Y3kogI;(p+09jRm&i1ZOW<UwI`)>N@T>RUNQBdHQv2%7Yu`>h8 zhzs7I4vUqQIlm|$fL)S}i%pypz%Ic90Emk5aPx9X@`$iYh=_5qi~lk3|F!794%>U5 zxV@R{&yn#rS@U~YK1or42nV;gILEJL|5EhdWR;w(?jxm%&0q5TJnR2E^8Z2N->Q+e za=wovo`0V#e+H&Mri>cU@n2K_K9_8){+L1zCQi=4pX6Us{vG{a!_=QjKg;~lgZw6D zKO>=_+0VcQG#6m~m(+ir*27{}|K4f;JKaCE|5EgS)_1oA+Wji<{VDZFuK!uY*&gKL zZsG(KvA7=x|64r%Q}JJmJe2-3nAuqUf6xKWCT{=l@c-{~=KnGNf4^q@|AYUZqt?vQ z#Lfa}F39@#0sHra|Fa(ZvmgI;CjC98JeYa^wd<FQ73iPKmVb$tKRy3`Rrs08e;+FD zhpx#VQxqV;`fq9fY_7l`KJA}V-p2Kh{5<Sz_b*n!&+mUL`d9bEqB_4W`d9bEqW>(Z zVQ1wc$o{w59wh&*)PD^q(8KC~0Q%GO??8X1{&|H}yI=GI1-ZGnIJg8@A142$aeug! ztvrA>+TvFC*AnNSk&+8=-@gCo`Hv-a{>PGk@%$3apTO>yzxOL|)_*L$|1AXlBSQZ- z5B}Mt|EB5#t>2YA0P<_|H?CjvdEotx>j98oo4;}Wn$H98Z(I+6{M!7D>(_i9cz@%1 z0OZ%^Z(P6T^T7KX*8?EGHh<&#HJ=CG-?$zC`L+2Q*RT0J@czd20LZV+-?)Cw=YjV( zt_MJVZT`mfYd#OWzi~YP@@w-qu3z(c;Qfv30gzvtzj6JV&jasoTn~W!+Wd{{*L)s$ zf8%-p<k#kJT)*b?!228510cUPf8+W!p9kLGxE=ucwfP&@ulYRi{>JqH$gj=cxPHy& zf%iAA2S9#p{>JrdJ`cRVaXkR?Yx6g*U-Nn3{f+AZkYAg>as8Ul1MhEK4}kpI{Eh3^ zd>(jz<9Yz(*XA#Aq5g9-E70zK2dn%2R@E92IjQ??t^_}~%c}itGZ4&!eVLqtuPyHL zVE)Xb<z(dobb?WHbpSfuZ`bYqR51?&Lk=S&E~4)7)uz>;hDOSXdV@4oV{^{V7-k49 zrkPRo^3Ff(d4i!9CXT{$mYB)c5h7=N8idPU5q)J%Z*8BU5zU`v>5-+zVegWX`W&BX z;E=;$k>_%W?Zses@`+O9o=M^azzw4f6A6S&z{3V`Mu_?)!(f5J7GCIq$zjOgHwoYZ zphVOksbFA!+`8`W1H{?<%dtg*sIdZLV==G3zt6r(VO6SAY{ZN<lg4Jlfx#L8TY=a( zGWOJ1dXEOXvPMbJVQ9n~dXPO}DButv?jPFX$f=QFY_1g3KK70gz{3f15XgWZ!MO^l ziszuP!R5oiV2~%qz6E_b%}mZl5?>Nfg6$N#9liTvv=@ALtaNuAHC9z?d$pcobU7+? zCr)(41q&lXbtnka5DwR|dcpa2SwQjJ0ajVOgKDp<EZ2})dVFZZUk;nM7e?mT)`BA# zF92?t;*BK)7lu-_3yFHld%+SEfs7@*7lXAg_?p11Lsw7e6$lygX50U2`h45Ioewck zTzrXF@q)lOBp?9XN5z(byxv*|{o;)z6B6Pe)$oeiYmbv7BEXw`Zc6$C6d7?YoD$)) zF!y+XrvWxB89X+HI5Nn_mui?!M)D)F3LH4*$0*X>ZTt268zuj1=fyK5nZB0}S>Zjr zpS`8_NI(~dJp}x{siT1xf?nVpLK#sk{PFf{p*yGB+4h@uGyk3I!}Y<_?7P9mS?G(l zn^OhU+>;*L*)MOwv3SBb(6KE-g2=n0yUWcZqq`HM(cV=P|LgUXTX+96T3jc4ZSdTs zWIXR{jyV#@0xmKE3i@>W^<aB+`}I2OGQ~%<*}9qRyKDC!DMHtlkI2^uu*YnDGd6RN z1c0C%Lge`THvhZwRo)M_jqP(Jy`FTPz~OTrftjJDP2qETRdx>TMQP9wR)^-^jt3dR zvWGx+4&l7Pn=kbwjie-k`ny?R0#R_!LcM-Cwu3vGJ61=VttBYhVf{6w@ZsvkM<`nR z?IpOOxz4vj17HqAcJmSR%xJG(KtHw@gXn;CWR*AR3V91sW&c9wV9&ROb40C`%LPmw z018_bSSP(cT*X8PINPR?v3{A&n&_y8v%G(I<A1Y=fr$)(AI@>0gHvAff^=Y0i^Flk z!Qop|m$}M{ic4dCA-bxos>N{cz3^kCWZ$Tj9P!Zih7Fh_*~M5BM36yq4+%jXd<#3o zV5g$mrY7=sTB1YQG14-|Qj#tNKsidVk&?S|9sSBvFNo6of@wy#93Rto@}<qJB+UNN zCr@Hj`m9l@yYRbpvidr%7Qd?}k}C%u+F*3@Wo!pb3OICe`$ym&m?b9(gdzTV+jmpm zQH}$nYPrfGTR7-8kH!xB&_%Gxlg{MtxeJUAww**_4(*Bfjc%Wy!hWfnKfE3~LkEmf zxg#TZo9%W*AMIWcH<#lgp0tR>!^P>LQ`6-b9{+%wuFqQl-N<bZ9#U@PVx4qJmsjYu zgI1Iuzq*jy&O-<}bRM!H)d^x(2Edm=-*0q_!ccC&mCmjCRdMD~HZg>;Yq|NUG9S9m zds>$~@hb-#kfB6CZvFgX8D{#t%Mra_dW4uFGNL%R!w!XjI5;^_a;9qHT;_#s5jJ9= z2DsUV=qROKIDK;Iu@-*NYmAzUmLnp*>9Cm-b(t~g1bWIX70b3~!UGy&9ciCCKW(=L z4ODmwkomN>IX6^<ho3A|AoAL$9P!CTArsm94f^0VIL$PQa#Yd<cfPM>2qkxFi$!HR z>RwNwcc<HQN_C`lG8lfU&o^|LT9of$pgzBF(>lsSLl1A-Hrp~cJ1y1V(0r>LU~*CG z2GNi)6=VXKZTtGu?`g5Y39>e|v24}!pEy7-N3~4Jr>FI25e_`5<hD6BIJl-VL)NgP zBBD{KMRQLkodTW8$KM#&I%}Xv&L`-rzyic^b``~u8>jKHTSyDuxRV`S;^9EbsVLuk zPF0Qwd_zs1IQmsS{u^n;n>mAFs;2@R(AQs^IoKL7$s_hJ%e-VsDISN%IrBZn>4e89 zNd+Ky&{a_8)wu~0PuRAC+cd+a0yt4V;(xQgD?dB9@_40JX;>v&?~p9xIC+~<#Y8#D zfHH=EYb6<4!RrYLZvw?5Bjee7vkms3bvHiI2oHwp09I8dn_9{<vqy+m+^Xk-9tq+% zG#F%W=?`Sv&($%%Di|2!dj*d&Kt#9dZ^s_=DO$AhdFjzW^mYpxPDoX46ET(5qp=Vs zXK3Rm**1=zBEM139+TZC;{@?u;A7-r8WT>CDq<hkB6Ez+8@POFiFyAN@p#K&V@YXP zUAuHF20c8E5({fdZ3rvml>v&V#;tRlS4a;52b~G1fzu3B=vk|h+FYBQJ+7-+^aC{y zKz!Bayy%7+ANvtRg76taVH`~mpXcXiOMO;b`Lgubl@5eLCu!ccxIuv^9BG>~z`ypw z?#mE}s18or+^ZLgCONp&1x5$eVj+)8@b(nt>}Ft2>u!2tv>Hj-2_l|B-ksGc<AXZm z(*t4j%xc2M`0AHydp9M?%_Z5kyl4oKw`8j~;H)p^u(JrkrCnJU9lM(@&rMyCEj|)w zAa~8(&E7{2N%v`8jwB7gn?pp^FOI}SRBU04`3@*5x$1&P-jIm6K;AK3v)MW{cGmza zyTcMYa*8$OkO+Zmv<~D^jd;W}ew{Kbs`YGOJXUS4C&?G=PJ-ZJBJaf|Dm=YOUnD2b z^qdl6$~}M54_f?G(js{ur9IShiktaHaj)8zc}IuldOIAnLd-!s8jYD|ee))e#|Trp zohbP4DNA7~M9U^<=MH?MwW|*KjgP#j#`JpIgbp`9(Q8E5N(RIsrC@rHP@lnABH)#q zdE^1&@8f%+Gg{_msx<rtX?)Pq74M{8aJCpW21h?uhl9i#V~oJbp~VMD*z?;<7Kw7B zH~a0kVYaiCdwLX_ot_vZy}9}+nUSc#sb|>n0n^*vP&7R-3<4Po(Ra_7^V1)CA<b?6 z-d2l5x;*i)p+PX0b?FE`{^;}w+NBUZ<OIyOTrWw<Y+6k+#8!!&Fh79i&XA;6T!{|> zY&GT1#Q2wF-+Tvy2ZK?kJzKgExx}A`I-|?5QN@T)ruqXzbtO>CJ5BL9cwEGnUq?1X z1M>Ola1q@IaI8WBU|o>U88V#-@^P~C#J&KBE_gC3-F&+)3J;UQTHz}{8gB7HQ8jh2 zRymJuE+i?*`o?}f#bQoR=FGKyoA8U!b=TeGkZw=%!i-*5-Ckq6VTA*x02wA#Kk{_z z>3kUl3`6cK0r(o?5S>awTt534$xcLsj)*reL=;1yn%C+GB^$kMKM*3F(IOh#n+WTn zY;%NImg4o2R4Acgh)b{{mdT?7mRK<z(&j=OS2`jFgt6gEfTvQAxB}UUMC88JlCJoa ztubGfB9h^%Lc+(bCn~~??uLdAH4Tj)AxkTNOfYKm`Es<{?-@blC^E>A3Xu@OB1IG# zrkaNr41qRQw>QvqZnM!!e=RY^DRevbrGil47)rKvqz0<Bvag2fGig(^$EG1k`^M@N z6vatR6KszjrO~b&7FV}2TtP3r7I1sA5EnzXbR1ad==h@KcZ|pRAsR?-Mo7h!PJmaU z6<4b2P9E(Ta&Pz1US^|cNO+V-<_Eq>e;&LepMi5YKcfp5w3(Xp`LR7OE=zm-=$xTv zo0R6sb}f*SmZl6pih<^dK;$!N-j6*c7%~zXR`P5`@yei`cr2B5l&4ID0|BN`OU@R< z#VMjH+e~NlM(+(w02}JSV198fxmWR&8p-QA*T@{WlC`)RJi%D_FWk}lLAvku7nwq1 zk0$vZdAWB4_|9_TN{$P|0v`2vTF>%Ries8gx+?O23$l|6!p5w&&oq8H-q_H&-nG11 zrj4B{-^_R<nh?kTTCLZ!JjyLP*P(ZrWv-+y6}@$(8Lg~D&9v0LNH_As*LN%gWA*41 zO9CXQ#*5A>8JoptSHrg3-+bX=(A=Zt6J4^T#*u5QR%AIOg68FiUcM3UI7?wLG*{(& z&5P-@_+khqmICfuTzXHhvPXw5(o8i$adx(4P-$&gpHL}$aUeGgPAXok-bYe6j!1B8 z%?We1HgB8nmEjjE(2AZz!*FYN5NhRlyOQ)IdO|f^K$1+(V!4UnyGYHz>8nA}B@V<F zW^n+_v$CgL{(Z9B!x2!up2cOYxGFa*KPVF~<NH4A#v+zc-b};@l;u2i86NiM!lh_! zsP$0^{+CB&v!m_THtjd3dZN3KcS`(Bf!uWqT7mh`R;+MeLVY$o`#3N!TJE4@-e&b{ z+}6Y3Xq971drRAHFqLGGXXFt3=;+0eG)&eN6b0M7zK6+2m?NQ9_{oJ1GEChHKg@BP zy)r@%LBI!$06=NkfVrv2M^9tRPP8K$O>XYH7koUul!6R-o-fab=(aLi$MVGCHsA)s zLy;}OF-Csp)<QSeNMOjaPqs3`LN5i?E2&I22>u6qHr$}+c-c=$QQi4NayUCVUe#iR zE}4m+FWp|l(7$$M2n!Cmgnq9@?&TA-eJxt-k@3FHw%vLA!X5q?1?fo|1<vRue7r*o zCQ4a;*iP$_zzEtn={KitLKKQLlSMb8Xk3{H2XW-Zc7MzykQgdSF9m(2{WDubB@*|@ z2J?8=tal~kRcDHHn0#ljIN#>Xi@Jsl%&0d{JOr6A_j3DUilNb|9&cLhnJ|cpqItI7 zxQ%wnlUlZ#Epqo9S?%T`W2y&$*pWT4O4(>Rv}-(HY)6b*W3W;4FX&PAjT>2Z-f9p| zT{4v0tT;f4>K2NTiTCQC_zHJ^DJt{hN_Zy18%q_PBPfU#u&^iAeS?Dv9ET%F4@iKU z)Ln(X$m!TVc}WQ;bbU^xw^!M;3um;}1srDi#xA<)NbXZqE6Li_G4I%dDIBrDQwP!d z(4YU!gSKfc9w+q;Tp$4{%HXr~TG3!@UtmW<_+tc0w7s)tjLOG1a5?qF^L@RmunE;L z1Y$*_W!HwT-!>YP>C_DG;x4mggsRRL7hdR6DB2JbBbuO9(3yU)(?CasmMNFLMPj0$ zpZ2DFy=#ajn;9<2rUDz|h%942jHd?WuY=&?WQa#k&U^uVxs-(El@isI9N&7Q`Gm9| zd$V<*H{c3|quL$*b05?gV)Y%TM|m(9ewYaP<I7{gwpTaid(Q*~v*zkDA&w-}#X1y2 zM7pA%_K$|BAue)d<~$~-%&3g6LQ9ha>a|0J^}6841(_(ha{EUiI9v=K8Oo%hIv1D~ zYc0aE_`yJ7aAU!{5yE+oCS)V^M4ez*G!Lf(9Ef5kF9wS8US<&-w|-^+^Kl#`q?|re z8aTOx<C8(HBgZESPb!NgBAB=YNn;s;1C_@WLCM<`A!m*QVslqL3q<(i1ynM;1{A!e zPYB-PM0k#TO*+KOGcmUBw~=@vtW#kHNKz@52G842PU+ac!t!E44*7(I4U4XnD1q#f z+(5DMs`;3bhlO?3ZhxeDzo&TG^ql0(eKUEF2+McnJ?gvi7!N&{Hz9F(BtAFGkNwY= zAM0^=c!*L{3+Rh<rd4SbwvMfI|L8W2!a)^4<dP0tet+08^vsDYKn;S4JQS>h!O<0= z{H#CAOXJR5)CR%>mv|M3Y%=RsXO}wVwImQe;+%NM25-g_Y_Fr!Zlq%peUunZd#!02 z<BWFv*+jBsYkP%|KA%Z(3a2mwi6eV71g8|I^Nah*g5^_Q@{rtg03ka4oTKC;MsTKZ z<OU8TXQmHKEVh}NCr1>_iJ|m)<BIqB<4|atwB9&2q&99_fkrcRyNqjPb=8V9Y$;mw zSz0m9E;X`F3(<y*(<;~doCrqCd}MS$X~djJsu2h=Ff~yVf3A?+9&sYCI1dArNYkJx zQQJ5q<t>MV1In`IXZ@?k5CG#cuGw34;%(0?xWF^V{Zvu3+K{8k>5rqYyckQ~MNtGA zGpVOoCnrgKhC!*2w7bSG2N1u%qCGBZaJeAx*m)M?>v+jY**T>PSL<0pKc=2*q;_l# zVkb|S7JXhPmHrjCz=quHM^s3lE1Q|@Gfkb@cuOSl$OK8*w4!R%8vNA4p6+PIqLF~f zAxmmWiWlx7(z34&)U-?=rE`_l(wJvHl`MKg1U~~pP3zO&(}~s!$Ub1BuWnIJPpnWd z-5TFr^XeD&Pk6fSO}%VJDQh%S9|I-o>g^8R{90IIT86tlz9L<(ojK*W<%23wW|6S{ z?y#yqGJT$lLxylYhUJ(d2&*{qya(M@Nt5}BE+g!_Q%!vot-O$0sYXsd$It!pq{i0i zXeom1&V%{@n)20xuGDKUlvi?6tE(AO0&`UE={6MO1@O|;!13`o&M(XG2>4E38%#19 zm*O-el#??$D-2<vk2p_*1miFb!0dbPl>1~Fl_pz6%_>%AsSwDldrGodGsB*@#&;vb zmXP&U<&1+J;UV=tDsidLm>IXm8<q9p_+)~ndzh-U{WKqamU!`9HEv#<h%st`yg;2O z5hi?;mCQ%LT{D2L&%ydrG!$)i)e16$Y7Efd6;lhfM%)bd7Do%?kM2XI4B3|#*9EhI zc{$#x<-wzP$@Ei=Ea7)kN=4zDKa!N*n|_QP$jpsgoFg=XyULVPQZj7$s4Y?1+-k0u z*Y*59e9BfOikeY>C8vttdpdH|;Ygkr<UwD*9-5P3mZOs{D%fgdp8>K?^7W$Lxq`7> zRQtZ5E7yH|)lp|=EkX^uH?3#v<gd1g4YN=|g&o=Zj{Qchi=?%FV1z<TIICZK{7@|- zVN9EjS3)<oH+VEQJQOn|T#gniOee4Ew45P0Q?$A7<oye!b{utjivCZ?;OuqoI?r$Q z+#eY=-}l-iy)}630Q<!8MTFWL+DN@c)mJK}%-@1!j?N?%Cn<SaI!WH0xAd;|-(NX; zgHd)Kw=Q){R@X}gb>D@fVz>B7+I_-l<LhNhMOvuX!(K*pdn8N<pxpm)gDP`=xc=&7 zfg)1yQIAI`rST7yt?y-xWi;L6W0g9iQ6FaV&-dr*gJ$(aw%0na_l`p3tg$2Oo(AC^ z<rwZUa=?Qhadsx>J3Xh3Jk3}g>M+#5Q`bnZ-KMMPVvLJU#P(`HFkU1Dp~Of<<36dm zT9xNyz-BsbV}`LeEk|^NA1Wt5ju8w)`1o?xZ>UKJ?6LEL3U0BzeXUC*9^z^<tErwQ zjc7^pI*|@l^Ed#H<3Mh0vb4D;T91}fF|>JMufFA2I5h)l=nZAIjy5m_Ul$QT!`=+t zVwlAv5DbkqUuAY}Lb07EDId={HXQJVA0v;WFDc7!EK+|G-}0$In++=rK_vyNHHrtO z68fb+%ZLm^h}P0*r5R6y`DKcF_4wj<BGk?zpJ~}28AP>A0VJEA5j0E0@58;6LPm(x z(y>t8`)aC%C`duN5xkLSSIwB<4^Y?u2~3MaLJVX}YbKBq_Dm*w*gM!Sx?<pbVh3Pe z41bDjUjIPW_j1{{s)NxCOiN<SxQ^9Pm9k#(vfYz?gw1~MZ(|19AcR4>Kb|w%4$I0k z9o(JS^p(8a9XB;Bf)S$Ewnq;14fD;B;M?EEG&=8!HHsNB57{C|4-{6HTWO;miVhNH zZzLP&Dhl!WQGP0!lqG{NU5?BglOEnhtIrjR4&rF=8TeKJGlYkYAg}h+w`K7ymKhz} zb8*8_+OAAhM_q_ZXWptr+R$Ove7Hc6Irq&BPGw0^>syN{^+s#E0-0ft=QzkT`1v6` z5--f%a2sjv9%mq3)&=SS=tpW?W*8(qP>@RtYKC8_7MDzYO!d;r;;jJ&RBGy{#3iTG z(YGdxrfwefukzwZNCJ32P97!|n&Wt>bu*(ta@ypvaI!+c-<5Y!Pm0U#UOwZGbufrJ zn1bTe0E@qVi;6Y;nk<KMXO$WZ`M8^j#S;_pSvCaB!_TyVs7{lJv>R=iaonvg%7o&j zEd52Gb2(Dl5@IrFE%-eZqZFZJfVegpuXja{(Q~(T+9aJh38MQ<gP{QW?9|qbCT7SY z))hvA#xIHq$EMb=fQ429bd)qw7Iv0QS!O|23>#=rxeIaXk&h}RGp10|zsxK7u+=-X zJLlOrBdIG>Th8*791AYmmIki$DuU)Iw_F-sLYt2y^VD*7iKT+AD>)Y9tpq}kr#fP< z(wsMTqbIqxlr({inEZ2jwOKt9bSHFn+_`9Yv&yE&oDy!DqwhFt#uWNqnhhcXeWB#@ zQ|AnkynEZ@h#&OkSarcFobYdm59Q%hKc$lKBR1Bsov6aWN>gl4YT|!&&K;~r@YxE; z*Gs{+gp%X*dKTu`4Z2BT^CU9k`XF#Jxb>?Mm&%&R4TeBxb^Xmkn1J(X2NcwvYwTMK zSd(~8*5`elwRX(rQ8fB!I+U;F>$o2m>`RB_R$?-u3azDOayUGtvV>}oBT<5yP0g%H zRHKb9`kEZMnf<7*P>;rNX}&#T2Kv`%!e~aQb$LF`7<sDv9urkk=G*HDDe`(Cp5gJq zdhq=+UyTEPWL23V=qVMw=ohaVP)}d5(emrQxu}K&Jp82So*s3LjYmS9ALv9|VyVpJ zW-SZGR`-t4-EW4NaC>;CbS?HWH7WBC{J@KKuIwM62R?#BLk`49c&}~5sf=yQ<?9v> zzPNk0F61hc&S4Ah$r0B?Ov>VrLwXe)F39AQI@KqFY61Z-2orT65vo*QO9s|=eFR8D z2^ivO@8%H4bWf`+fNX`F)O@$drvgiKJ!q5#Bbk(v@MAjRs-1ydCihP=GGRQqO{2w@ zM+j1rZCkN9?;op67dWBJup_^k>2|<Kku9)k2j7X%(dVS&q-DbyslHTevB15|NRk;P z;gfXhv&VXYs}lq;856H!n=O34mLmHtk5(H+?zDwN)T4Egh(1H?2=BCZ*03L3Y>_qQ zbaE?pb>Gn4Q$Mm)xs6t!kZ&ZMP}XSe>l#{K)W+|ODx_T+e7406wpnj%d~5I;QdPY< zN~7g~PEBV10?W%8na_66pYiMM9Rv1%)GxxJDnLFbEgNP^s$RMf1g>3drx}pX$`+}@ z#|e_q)QQrMf7X4U`q_6$AgsrcZtin^j14+EiPPx7Fj~njdTHB~a-UMg$#N(Wq3$As z$0r;yvG}K(^SYN@LkJ#j&g5`086+wvn9Hlt(z|yh*D-_Hf$Q5Qpuxwmp0+^|Z8UJ$ z@nJ|l9&gs#Y%^pg^K~GW_0VV9`wrL^FnTBk@8Ydc*ghm*8IMzhsuqrj2Da9>7@D~X zgf2<Un%Bi9FA%6dRcZ<4SaSe|lUUKe)}J?d*VKgyz)2e(DY3z2)@Wq`oJ=Kw+`uSV za3?!m?(TKa{a&FP8%VvZF3!nUGO{|`muGJURGJ$cH3=&;V`g<r9#I}%M}1X0qh`s* zReh>_Fk2%AIx&sK$t*8F|B93<>|NW|D-a9t;T|vKk=%ovs!%Qxv2ZwSds|;A_U`9G z)q2N<3kSwMR#Ddm<}$nE81(FNQ_<w9GQ2wIw_hP{f3vR^$6s`gq-4)Bm*Bf1DZN}d zT7?(7J4D)U{d|A3E0=K((O3h5ds#H9*|ioDAecKH1eaSpH*`(D+_k1>S{Fs9$N7qX zHJ<~A5ZeN7_}O}uSJtbFm!lkw&cYWN&s&WjkBii%$KfrXG!Uf$6ygRJVEU3FHufJv zDcKsEonRZh&g>_T2fp&rCr>@=p?}8mdh07WC=5V6wWW&he;Ozkh+yeSBZ=)mllUkR zhOt}Adbr_4A^#)6o8gkPk`Rc&^o!5<9HxuzvLeM4lkst-AcQfNR_PnFdW^)K6}`yk zyP}hg&7y+d7ebIJCDs1HyX8Zdx7XDLURI7t6PkH=UwYmQspfFwzRF_&rGHaDdUDva z;C=eR3<qB(cC^AC;)vo<0bd`jhJ)cRKze_hx5=lT`BL21Z5tiJg%%)as`8vvh86#j z6Qm$dz$p~CQk1^M6&j%XLyzgRXPr|4CPF%jOC3Lg#WT_br1oq2t^HK#X?cf8aq4D5 z%OK~0?v4e$T|O$&PXt<EFqo#SCb<*JNtM8ER9IWMP(K$A!^3g1pmvmeHr#f?X~C~l z)ub$)^WK;>cP6NVwo_%7Wr_V$70tQzE^n+^DkeRyrJ~{dD`6Hv!7gQzjL>tesc=Dm z&$>{SwBi#*ug?7wn}UdI!USQh4ITFnn&3b!(KH;dk*vVHIo1j8YHKl8z~<T}i|_Oy zgYsIpR<i&7pBNptjVl^%+pC0n5F`0SN7gaW3(j40`Ka`qu`Guc3<VoKMg34zi2OP8 z&GErW*X{MD(9FTDp*Itc+G3sf`E}x)8eq6o!Q7EB!BQos_BAvD5JHDtfWHDt<Hn~) zOMQ+i^NOGMY#}<(6{6`C<6s2SsPW=bd}>*jlW->4{m~PmXIlo;?DUUgIRTVogCa~< zhpg;?%=0azB=WF{v5l?sb__guAiiD9g1cOr6}1{&=e+p4tYzzG7w6|4N<ufewzG<% z?{qeyg*lAyVy8lzQiW=BFl$~m=ujA5eDX`EYDdl7vZBQO(;dB@x-!#F_^35>M#4U~ zoVJf1#TDLij-xcDgInw;6WyO_;Y6w1@gQ7I+tCg!h85NvRwx%B4K0S2GMGUUm0UWl zdT#t98{1R~yl==!0M(wdp!Ys#!{}u0xap{iZuH;zg3;}&OXtj))beIrw7!e;c_tbO zf80)(&bEC+IOKQrL(j%{bv2IAveeZi<7`CzRe0At?blpTv7aEOo-vNq&hS#i%o$6y z?w(EErVOBm(mq`Q63EO#`QrI?a^;LF8KbD<c6c_*XIb+=rF~x|Em6DKFx&07t?P72 zLWKi2kIoinx$5(Ew$`y*Z66WTEtDD<O(hsu3WJHmM*RQ&SpWz3LewU#2D#WGXqxRT zXa-}-7?L2L-;?IZPt&#-zE!imS2Ft5m;UJeMMNQQ-Qke-%ctTTROS(7O1#^c^TVCg zei!GR`k4MxE*YhM`_@Y7kA#I8-ww<lc<g+sfBpS1HL1c_Np3H8uwRLC-$UR_n-6_^ zxf{NXOm<Fv@~*>$yG?h0dMafGlqhOxU?eg2ec-37lg!O4m{iNoQ;#t(y$G@7Y1niN zv6rR#FSrxLcdte&jM|nw+Q*YB-7m#`M&j_q><5+J>6y71mSK>*=~?9+r<0#_fu*U2 z;F4N$9zzL3u@tiL;|ZVQIUuqj%rHSpn@!zXrMKj13Y2y}YqAffcEE)a#o(oA63Y#s zGRD2ZqbrLy<Qx{*Q9j5y6HG7;dBM8nz~{>XFN{Y~tcRUrjcGH3h$s|Z2sJ0YB^)M> zKYuTDJ6;D_zF~;N3aWv(5WS|Gx<gRZA$c@N!Sg-Y+IE+QmE5?dKBzx!bp_$drSs*8 zJTimHP({lpM;*2GI~~4+I><Z1&zvL*LY~O#XQJ}Cq?#{0YLj@j=Pr|9w<lddc3`nA z7#DzORZMV>6Zs3e@h%*2B_Jgt&zWszL68VgEjoA2YH&D8==Pk-|8||$Tj121V4x-M z1GTpFiGl)e>q0qi-%3@rZ(*$@5k6{kP%WA*@YSHez9DQfJ9G=br0#72N*LZsgc^t0 zyCm3t8`|a<c^cOEJo8-y@DQ#7$i|Ls7V1Ws$Bx>Gc1tThoLFhE08O3TlQ(0k22wij z6t|6UFh?rafZ!TMkM^0vmFvmRfLuqgm0Lc}XNSn~@_|p$`*HniRy`o5n7;M7sk9_p zXL$r+?7)Q=JhN=46qri&O~+Lt-}I+EIas>Y=0ex&-3PuGv*}fbC_yBOsLj8_9oHi# z-xk_8eMR%$gz}s&e9^VAZ)IA{z;3MC3!`XaB6z=OP~0a2mIR|ia?F@N4D8-O33ZA} zwVIYbMI@@q&_!^Uu12;n+qL8za;nLq51*9C1!|woL6VGzENCyP_jX%>ZwkLBQ;xsA zDg+>gpJesRT{o9~jlTi_p;>5Vp2SO^-37^%THE}yuYk`--h>=^SWFK&AXd+L2?zy% zo~)PGe-$5frZH9l&@$&98TRmEFSEIGe$~ay3xt?NFF6uhb6U!UOp1AtvBHiy`&ZT$ z7maPL@P!Y4*=UkY*QWBj+BSkky<eUl1s#3%t}1hER3Wk_A<Jc3J^j)llIH5`rfwkM z$L9-cQzrU}Hd_6)Qy$#ZmUJbMrjFlLz#PkFRu(N|y%}E@XWh_Ktd32Rh<}*D^rG_{ z&Z;8A%<6dZyn)*0o*tMOr0S*zJk&!Wu|Ex)h)v?b{jzS!Act+5N%)jE&H7f@VOH0g z4i#iS#6m|F-1oMqSxZ8&{Slp3>(nSqjiSp3U5+|aKaEWr=3$nU4gkq*6xwJ^!jKXn zq5`!qX|aa7yg2_rVOITFfSyx%`ZKHXEfpE>E~ZiMD$EoD>eg=0lfA{9nFc136t;J| zMXEO3CTa_CY6ix2Wd%|vLonjx?7>Gn^u6~H-7>b<4!_~O^_4Y6Lug#;%y7snSLW}+ zK)ler+(d`IH!15D$=P+EU?)D?l~bCLXyXe^5QNU1kqi@MkJ1`qy`E;Q)|JLPE$b6x zjQF0zLviXWhm?1A1p$Pe_L_<K<444=F1VexC2;DN?9B{h+VID#bFm6D<|w%Os@ID| z?c&VPF@A$nQgeB$SrCjKDOlD8VZT99IRbGe#+*9Zx-^fG-i}xuudW6Uqv^~j6`Fpv zc-|xfi_xd`Uf<~U+&5#+^!^v5ymKdht?SDZZ_KtHTaX*4J3-b3v@3PfP?F39DYzXe zjNWEi(Y#it>DF2)N%tH;3rUT8e<$urn3H4@&tRDZ*WlFAu8@V>6te^Kg<El;Q?qig z<eObqrbH?P!2pQPkN<UVb&SmKGT8T1&8d}B%(?*uN9hR8(}Wiv+J58{UO^o-Ul>wi z6hC7@)YAmz&JMw#0*~1lH_K3Dc)D~p`yDfMeZTRnxk(<)jQVE5qu!Ih?St~)Zu{Q| zU0+?1jK*Rrt`Z9=DfIR(xN}nV5ELBKUez5P%*`+~j;uMtP@maafEBusUat<7ydW0u zL$icxRrK>c8V!hDmUb6btJ#_6lk5=tb|X6$Eo@&n{unUl7_DZ;3lcLCul&INZQgS2 zbT!t03Hl;hh4SX33NllayR;)@`^F93T`*f|_Oj=g_xwo<MxwwQ%0#43Ascec*?3YU zZ>I9P>A~yleL4m@$yEy_H?=-uYhBm~a>PwLA17`O7cvH?erO3uN7`#`&(O5RET!ID zXR!I@J9v&8Y2S9OV-=Kg8Mr9zT|01_T^8f<Z%Zi6P6?JVebVpvIHQ`<Zx16Cq1S$` z&yqqHMQ4PXrxR7V*jr3s+EEJ6fqM=J!=lU2QPFsF;c1PZ(X*aE?R8Omp5GX?r%7Wp zHMOy>nkvXPGn}XkKb`MYVa-I($252_snhtvi@nK><G7pl+_@xw?}r|A$GWsx2W~Yh z^dN!o#`-z}sBe@`J^TIq++!uy|FWAjHsodot;f%ChexZ}+NS|Ut%h6{phn8ZP=u2p zRJ^cW_BwjSt7^jAueh0ZR8<mhDqD!$!6`(iKremdTPgmh(#IxI`*2#bgO@cCJ}Nx5 z->=U+vnpqq0`t7BpkwtTN+oyv!V(jRRy^`j`P$DJHAjzBe_XC4vA$;0^DdX*d)j6v z&|pU=^RY`N{1c60#@=ihM1*((s4{4cmTmEvd^p2K^%(@CK~(rFP8-eqDmI(am%1T* zS)m@KEWD-lYmI#iYf*<`iH1HA2!$%HaZ?71y^6fM(&xzA9))$k;heX(L?16&@{7yb zK|thKsm->%6m~&IySaqw7vptfs6OL%m0u<0Y!zQSg03+8m*LGawpw%b3dMRIBRGA3 zwBpnjJ<&25q_%N`IwW6!dSYWYYX$MU1Epld*_puzM7a|ry)R6u^B<Qo4Hx>_?0K@m z5?PG%kc}eUt_t~e+qe5V$K77u+MV1Y8c?dIyq!u}qhj{$<#QmlKc)96J%xZ`q=d)= z-s%4EY3M{6h<WB55FPK6s>^r|qeN%h$dSXqxZGnLMf@JgUZ?yp`HRslKA4igG<wN1 z15yi$k|v7-*fHnpw;Y!R`Q+bq9v!H2aMTv!tyX*7%o*`H=g#3hjrZ2bM(77o2G^h} zH0TXdb%0V3rn9X?C-Lo*lO=GzRI?jqJypR}FPI&N$ZbILy!WUXOZ5(L=HfwH5Zait zE5}C@Y<8ml34$c=d@xzSX8Ig*oIM?N_VQDHgsKn-NdZtAtzDN<_FeKQ06h)4P^rP? zwfyt2nv<xLVPg|qWj&O=v{t}N0uXs)WVCiBLBW0|-byrdil4XACT*KuQMN!Su*wL! zlJRZZI_?QOQfskguV?4{$rT08V|HfCswoi=TBICuZ(4IOs2(9tprFF-otut`?3Xi= z_Ul9EtHXnj#D_uYUwu$yKw;_3)QFy07K(bJPQ>E1`{Eb<Vl}i}fr}8Hx@0!=!moOv zI+EypX<t+NqDz8Y6yW7wyPOBa=KiSS$d)06+f1El<$5>JD2G+omRrA4F!1T!`&x5g zs-_`{mGZGyYmS2in&gMP#i%?T!k1MiipT<^(;3JgaY&L415mSlJGHolB&{g~N%>Cp zhz;46tHBc?3x#4|@`Dn6yP>*LI?Wr$oG{P?Glkq$b*EkdZLVRr4ROFIAetd?O<inl zb0q5k7?W|~w`Z^$SSC_5)}Mc@UtJ3Mv9T@0tewK|Bd+-bd0M=2x9!_0pJM|#_xBoq z-<(UE8Yg~hIKu{`Ig`i)zS;1#v+{sETpX23>)vPhNz{(dpO$emmKBGx=#D?4XXmo~ zBs(`U;n*_TQt#x0Miv0uioM*kOmPOVH&_)o@oPUmI54@YgB%IZyoj-#J@1;XxW8ZB zn|?7n<|8dB%#3KwozRlePEN+J)Vu$t_K}$xxdr(CexnXHb~7QW<HCzx0$6@LJbGO~ zh-)jNM_^3J=1U15<!f2eJFI*0?tKAk!pN%(WF1{335NHO(eX9@eAyl2G{0|;^drF# zOcg*iE@-i`MISYeLcKhUPV0%7N8PRrd~3SPv&TvOwr+r0tJsvOr$h2PnS#_89amTG zQ&qiCBHhKJF@Eax5k73p1Z$aB>++>~!8#U1I*-;V)a0k>l#8<iMVGC%%#*i$Mn2FD zE8br3AgEdim4CFk6vzh?UM@kaKM1rr@lNi?b(Ke<Rvs$%l@CRud~b)T=1ToK&OG#T z%Zw?QH_-uG8oofr(f{InNqvUpx?Xu7s{0XDZKCSaxTl4rs0^kIr6q%b$nK16be*l) zrTm&V<V%WrpSaq@AZC<&z@|^I5~)Q|aSgCbD9NL>0RLi7B0tvmJwk@xB<Eta+3V_% zirq-RO@|GFg^Z?@ANg*CeST@D8c$-Qkb8(do*t<f{7}Cp374;F=7Aw2!@OR`^slTi zYR`AQR^Y{n%cFd<ShXYau^@TK1Ro$FN*HYc)$;3dM%C_2oGIofqo@gA<)$Agx3+h@ z1Ll9`-;|7D5ALH7wEDI%u9@X*ZhMeQ?_;hj-Q$q4slzND({Lc(>S}WpcEn5I%BFB= z_Ikb`?l^z18i~7NqO9tvequ!r3yfWfua!IMlU72nZP#+|n5`1iiC_@}=CdDAShG{Y z5pIwibXe7#A*2>>z0n5jW&9ak7s)4Eba+NdAH!!B`o8s9X?!SQ;|WIR`Uo-X3vY@I zx-HjH6ur^S@E3$0t`UZX6xXvR6iw)c8Tc=(hy<UQx5HF^m0HJ%<ZHlbiA?NM>KqR( z41HJ2eB}f7IV!89MIhSsw72@v>_ht8ZQ8r5&KB{YXW02wO(v6s>uxk?;K?vrv?1v+ zQ&wdX$zlF07aGxV;w-Jc37Z_l8V--)kH}>EDzYa*k%LiQq62S7=y;Od^0J2<N3vZI zUO~MCNK5rT^%gs}P+_+_W$w-QkV^`qN>P12Loc^^IbZ#f?LAI8H0m*m!IZ;n1be$| z-h!GXP|LeTGo8^A5{D|DuAzUL**vOPEdNAzn`?~*msLVnzJkKMsaQq2z}1C6l60^B zxvCp$k)~dq#q{u`t^x#|0kGS;uHFd<(TfhDSY6w}Disx?G|!qq;i_4*V)sb*(p@{N zU9#7>n^!K9y!3&7UD`5lnix)qDuYEQKa39g6uGnD%FofdFa0U<D4kVz#P57r?zI4> zZ(78x*NF04eeYqY&Jnt94c{m1T$={z>?a!;nHd~Hy}2yd3p-EJq)Y6uZkp<3gl-k3 z!6&3C;gV5^F1hqi$88dvvJ@D<KMn?eJp`&O(ni-XpcbIIb1TZXpCDdPyTn<E3@<9C zl&aFQQUxYUDc5*k56KsZ(~bIWVhZ_Gk@=mo4=Nr*Xk6UNu_F;1^+?EzX-EpLxwtEF z{aThu*?Kal-x{h!7m!raXgW>>Zya3=k-H+8d0HvSn8>6_+st;I_P!HnQZmk%NTRrk zoCr>vty8FFFU;vB$!I%s_7etYIyXT>5N&zveBWhnqMH=wO7bb78<CQ|d1183{>~@! zJv2n3To#BC{dpf2#U|G9wcB@q9mvOK7J{iyBWb;!@uY!qYi@HcXRbt0lHyV0UfpHc z(8x=Z=7oqE5GU@?TQ-=Q)sLm~Yy$N7;K@V7`yCZoU+R~(PoQH(g$e4n={h4pmSIoO zDO3DI;T;fr04_prp5r)Z4KJLamo~4u|M1uBU+VMjfFhH%`Ao{`7tpBc6w+SE*beJU z^OO_r*4;lf@!npQ*6Icje@Lz##$m1B;SR`tPZa4pi*uY7F`XtkbM7PPR5=Q*5+e0! z#T-E}EhXIhR6HVScX4z7(H||5iaG0Y$vPMAW6{YT>4odrdVAgxG5OUT`R8Xb^Iy?; zUEh4zB9CB<?Ehqny6!?u+bL%8!cJE&SgSX9>RbbyJPB*3woU%I<EH9k*@3{qzT<do zz1QNHcW(--(d=}E5H}@rlJ_NYrA?MrfkWh^i-McZk1P^U%!e?uhJ0bFlWC(noc7z3 zyQArC1Ke~S(enF`lc0;D4F;9i%3nJ7jllMgNqY;BLiKv<7jM1SatiZ4nomvYYYxt^ zrW!E6R0tTy=dwbYl1JAf>ek|tPkeUEnas{nXDgQeT$w(5ja@q3#YF*oXvXAdFUYV) z>WQvHO@H?XIH<v{K5rY#StE+oHt5dH_0=dGhcB`iKu_w(tz^J|CsVSEup`whP44?^ zzJMWZ%>%gQF8kY#rQY5yzw-mBw%9YTyMd$Ea%Um*Jv6Ufkh)L5%y_FtP<#Z(o4Hve zKkXIQMR@yNvQ&v8%U}{Q%7TG$HI!fkVKw>l+GID=ZnSuQg~X6H#A$y$%6aB_`iO59 z-__0v9jJ=c&mev{PJf-=&JCE0w@alXbfUPJG|p(&T>2uW^ahN9YCYSN{qv^l=CZr& z+?r}ny^FTpYVaU#Y8;2q2fx(c2}9<sb4!Zk2fQEdFII3Y)<g(L`kDQR!u6hS>l71u z-wA9$ExG#nHM^S;%u=XEOU&O3gGoQA5i+1FP;{0>X$119HV&=d;VF{QV#zRvAdS6; z*>)0r=6WuLM=frhLG@lT>GG;-4=k#y{#f^sKBM@GV37Nkz=p^G-cEM`d+PvsGQ~s= zUbXN0+DDRYIi3n!ITFiM376HgnYIFham=69Z43Mx=x`}1<ENM`Nfc*ddMo%g<h|Ap zt<OUqmDz=elaBx*8gj0<(vEs&XEKyEKYBL7Y*4ha`;8=jUDtAaCd0xof3s8V4M7QF zvJhF|TOyRRXy1#@ZJO5-H(qoX$i~bAS>|{8yA8<C%WB~Kz|Ga2)L`{uPRRAzeQH*k z)4YA+Wi@*x`?lJ-;6T;EU_%!+No_WtLKU6^X@Q#ad(&eQmFXrlkG*%+tch6@2M*_B z2Y&ROpX=Lt(uGKyZ;$*hy^q<~q6omM>kd*wOr}vD)(EAkpNZsfIbz{g&8p*f5BBa( z7x%qdv9Z^7cuTmsgAy_OGa}YL6gP|6p0uZ=PVtV1L0Lrft+7hj-&cHRe1)p2B6VRt zQAS6xz-6nO&19G=aFf4S*c!W`KLj-K1*gk>+r*)kDD#UGo#_Li#il{ndaYO8Ni?)C z0ot3K9~witw4RRG=;6b}aDnsW0dO(G^)6^1#@_2-;^x{+5W3+RXi2{tNdI|vmvFM+ z`2;_zIl_~M`|0?1QZQPD&gU-dw+fn}l*~#=eDKEoE6~>Rv^J*5Jq}eD#-xLpQHi>y zPpH_%5pQZFK%K_mB^4j1MWede$G-iGXH$wAb5&wsRCP_;ZWRI(OK{T!r)2==P5&k_ zkh5m3ZQx+QDT8=uyp(_LqD$$1RU+h53*j1RT%<snDCI6qoVp|0v4z*|Y;{g3DU_hd z+aS@~=)#WXAA@{-R*vS|SS*9(yz02{Snt%xEQ62AgnyW9k4O7v9eWU9N}-=%FSw~* z#`WqlDhy(BqN((>RqsxN2stJ<&P=?RtMJ3~)|gzQyHz31<(Fwy^c-8u^dO>D^+&76 zn9_nXjvKxuytZM@BUV0%`bqfKDyMCAi95BtYPV?(&gfH(-_nY0`~-!f$qo1FDMMI| znvxW1$`If4T=9kBm22W&4H1cP4T*LdW*CT%h>)usA(C>Td>9JD(Lf1y*%J21eF{`* zp~+Lf-D-MHVQ^N!NKraa8y~&(W6DM(L;96<8C{Aa$sl6#H(&mS7%TXah;25qP=vV5 zgy%A>;o>MxBRAvE<oBFLK1EI+Fo;}-Xze>$KQ3777+~wSGgDRx4+vkQFOuJ$`Tmal zfVkZD>2QRjB!30|&O+HTFNVZ<T5`kGwF}r+MbI!4VQ49Lk|rZ+Rr{OtSL{u!ET1;> zM5PcNxe0ohLl^?S*Ud#`P+Sw<g}sam>~h;h)lXV^>-V8q>u&SzD*IqUNvJ-f=FI^d zDe#~L;Uhj$o_Nf-cxlXYa3;h(TAJ#;ef#ay-QnULyBE*#k2o%=Jr4oWx*yLLD#Xkz zF~Agi@6^;H&_upVnRXmCPDr`cM+{k&O;oHZBF<}ngga}jl@x7S%j2;a3|d{SwqGH6 z9$QUqF>Fugevwh<J`*|WDEyWp5ACexEqxQv`rB{><Z`ulACY<^zhCh*4Dd*6a0zFu zXFXH7`n1GllR_81uUvDoh~ArnzIw-Jjdm+F@)48?>)3X4y29u&Qzd<J76@?wqgqlY zSeXt^E`WtzlJt5xj&f78JUc6?-k`7x{5GL5%ZZXuP2ZCF$7*lKcY3tF)+&3wEVVQl z$(4zjTDBh(kmvA3gC5VKWYRx~{$SswG4-0c$fmNYCdJXkNNu3su!mMfc^8cK(_FcJ z+hhynOWY`QO1!d#YBJC%k$uU=yx#AccCxJA&KbH@(*_Tc6%oJTq&TudAK*mMGh<>7 zHs25}$jO>+LjE#HO|&jtSQO1YX9A6HE{4)mj#s>3M2c}_0c7l61BYeL@?>_ij<k|= zI^$&^Ln1G;;}X;8D@#O<{XUv6&m3Y8UbRQ-vV?OF7h7uPz2nAgCU7Ei4j;I2dJ5KJ zS7lCwU0^`3!zhK0r4FaebQe^Ye+mLNnI^-%<uekL+5@F7TcFZWkkdYg5+hJ8wKa$? z2&`>NFFRsH>uLevLaOX-Bqcu{Rj#!-5pNA;OjqX2y0qha;AK5$JK_rn0WTfuXXVof zCgrs6dFz|O7j_xx1eKKW*FGX!-`GLdd0D6VVT`G((1A;$bV4LvCy1^DcV$<L4L1tV zgGXgG?xsfIO|?2+t`mn<Ym@6AIh1cUpT%AGIHrGqw{@M?h?EL9aDm@)Mu8NYAPM=s zux3M#a4*o`yQVHH^wEZS1D5Vy1W||?jb!GAxpV7!^sD>(njb`#*;M{NAI99`P{GaK z=3E8zU{P_pc76Xa&33~L${17co*1i-iQSaaXePb8-MiZeGMAXbGwmLXIsr-RMZH^h z4}4Wai+<I{VVb|R8@5sAiBvCYhA)W9MqZQ25H9G`DP34z1p9=*g50jVXYVdoXE<(? zy<kOs{ua}ZCTNlmS8y)y&IzMiK`h~slD1+oBk0>9uQqS{{{8>uvQL9&C@I+39nGbm zkVhq-tttvN_HPS)sUp+U?Wx{Syvt~yIcXJ1`gn>(>gW*TO&xPDmENG=u#K3Oj=&<; zacatXQ^gbB`Ovt>k#BWF@Ln4JI0ooj=A_W9T1Qme-LA3e_GiaxL#AXb8lIQI=VAqL z*$$>?uM$bdA-Tr{Hipe6n$1ofYP5XXNl)c&95kk>sl2H=N)fvIZ0u?5R?8Lp0)pwB z|2k}t${|_>=&S}V-pNcvND{59&H`E{S__qM^{~C@QX5^-i6}D>yyiUo(%W%$f?9~0 zEV*2@hlRFxFfst~$STHR&bDtcWKBu}mT)~j%zoTj%RN<%5U|R-0Yfi8U9B0VIH|qF zH^2LT0kc3%zb4~?HL}@dfIHv8);sro<C!A@OIViKdoxNkk9{1cP*7FNd$HDAS(XC+ z_G;_PBx>Jxd+g8Tm5zhsI3Nj+$HUNaYGOpx%z#w!#u<1%pSJJYf|AeUtOQ1j$E{Jl zEE{RjY+lnspyr6%)^ZN}`+cm+a-Pb)bp~nOT_Y5$+{HTl^~uh+l=WHV$8x44$-eKY z&6w5e)CsJ>Tq^T?UYtB5Y4DLFcqhM>2u!x>;2c70{POXI@8iwie)|@^cVOSpnz7vJ z<_KiDr+LeU9ov?Z_GrtCALo%u_UUptQG+pD-@bj1ZR>WmrCuHf(=K+@m}lk4(&bOy z%NZ{eIFCbP-!w<=VkHq13CMLPcci%WSR<HMOXM_!njIz6!(iE!^0J{#v{@m?_xDTZ zd4lPt$kuy3gA!_4l2l_F8uiZJ)1RM}jFY6*v;6hfUqkv8=XuH`>|3u`RxP8`BYt_Q zMa`_RBE&nk<IIkk^U(YCJ;iTZ&!VVwJjwl554RGTBy71SYWjra;3s=LKlt(WE8g$# zi9Mud=W21Ay<6q2+N<a|#_CSe^Z>d1z^+5Fw;VNG{cP*`O`5l$YLzcQ9s$!A#;*B& z^XnNXzle?d<B?jd^PKRySR;1N94m<X$Y=4Q=H^trN&DEm&uXFdF@j6)9XVSeLVfy^ zu-)|Wv%mimh~#_}k`?zdX$+F4-mQwY(C|d6x5rkkPgf87boW!_kg@F4S(bv6ZN?IP z0~{Wa?IXXZ{YuhfotApJYK=_J)PRgBm0;6~zV3M@yk4(x4_M#w#J8Nmp()->WRg>C z%@Vw~SqN75o|ks=%g4^viUP<Ld7oMRJHFs@Ny~|XHP3yvNMR1ONKxA|{z-41tQw~P z;pbm|wjaKJwR4;``DqG!BDs42(x`xe**mNBN1q}+n+TnzPe4Se@{t1=5_WDEk6MRj zjlsO!ldf3?<s>KAa!s@w50{e;muyH0U-s4kD+j=;yqno<HJSrKK2`ct`8{GR7`nAQ zlv+3PT~ns6F?yV457WYL;!AONyqlSKnr>%B7rwYU5mHVLV_I&u+931#Q%^+YM8q0o zg5EpEd9L-*S}x+gZD}^vngB5(H!7~+fsvNIh-&LXDfyA@YZHY?v#>e!?$(x<-8S~A zO;1a2oyk+{O&b#$9v<{+(vBL%ISs7tRN;NF&wN*vL{HCn#2BzyeNU61iR;}ajHiAj z;I%)>d`HGa)>wP1I!E|?e&9R@$9YQ8)5OL%Z5z<6G3=U2KOOj{@z5MDG+gS(1pojb z07*naR3U5r%`m*c>-Da|n1S;=7xtXvLD!h>g$Sfj&u2?h(m&2cJ?NT7#~fek>0i!< zt@mo7x^y>IpP$L6$!m@TW(9A#zUJ(PR^A$^56Fh9X?{~9qq#pHXsxl}S}tu*Rh23F zs|g<w*^LOoD;bC}bR_+#mXsM5eOW#1#rY~Z^_W4Pf&tcO-_zzbd|(`hT3-VgrU$-4 zK?ae^-gHCM^f@jDI13g>Z(BNx?ho!CU-Uj_l3dX7?Dn{E^9!k)nmdxi%QNnhq|WcT zKt|p1fr}1Owgpz-wq^U^GT6&+j2nAVaj1lxRhbvx!r#rE$IU5k%`KSSR<pxmrs_Ex zWe&hlBFZ(MVA}CszEKN!>q`uy+j?HwvCM+%no-nP@11EMJs=OX#)VRb&5?Chy<*GD z@ba8p2<0pakn6jKgegsk>JcWjP-52dY2lh`Sy{$1;mhZ6pE$SnRfcd0K2BA`Tj>ri z^}olb;d|G_OU3Gx=)Iw}{Q5ot`Vo25t%H)ec@S|EFs4ty;-Ko~Olm;7S~vFnVI*+A z-^hWQ#%<s2hp#_c%M&`)jO7Xvk*aDRE+g^yc#^GUn}uiZd=Vr}+g$+)p4ls}v=a8} zGw*19H<g#YZpIVm7z)q1^K%hr@XH?O)^Cuj0>^nI2d(n4pJ#H8j%439Y&pJmJ@8aZ zzcq&I@py1m>V;-47!@fH%&$L6QT<gpX|7ue9dq)Kn4D1+YN+1N<sESx$22_2{hYok znS}WG|H*pW9$AvyN|T2)bC1Zpx87PkvkUD0|35aEkp#?WTUD7E?q($S14(nwmIMJp zch$X_5$<MuIp;b4*!N&ucY=myB3Du7s!n>udLRyT(4J|Ds^(w%Me`hPb5iRKlw)-@ zqt-exE9TVFuBL0md`?XP<T|u{S}+i{_Q?GBAR~@B(iiJa9-mLL;<1QbxgTu3qo6$^ zoMZAvEJDXQ_&APO25AZ}ttw=%bU$oSye#rr#cxhkNAfVtY|#;`aA>VXkPJ8gDNAD& z^JJ77Csolsxa2Vo2hn-FoTcIC&mWjmalBqW#&qU`M1&rXp!c=Za70>II7PxqU@J5w zKi@T(s1a&R40a+K!N`vvp0{m732j?%G-o55N-RzST#ykb>f6T8#{&T+yGDzq>f=0V zj?)|V*inm6+Zv<^F=VZKn1pm*(Z@O`wMSp%(AvRDYZvZ%#_zU?Py_q(x$`-uZ~1=d zagwRg);rqP2{TqV+qMB9KaUftleX5$Rb9vM^L4m7VJ7mv`eQTmF=i0`dT7(~R*M5u zm1f+oA<|%p-;s#MnBHBGHp~pu%=HCwmFn(y>uu>+h#WpbAT{Q2HIx1Eq~kcv^yMIT z<_t<Ifvd$BD<=aGX^<8^^cppT9g<sTHS<%I=GSWxufRZSeYt@$A0P|La9^2EU%BKr z+A8GI#L!f7dIb(V4g#-KKEFoZ8T6GT$`qQ{^i{y*LM!W{Z#xJ?=j*VTU}A+Al_(Pw zJ)KjgLsII8h-j?Ii&qQ_MSE>|UdF508so>$cbw;NH>V~gGQA;%aXVuL<czSGnh`@h zfJ>KGzfxqcsivTSV9d<2^;P_tsn5(zNYNxAMaMVrV>mj9NMlifZQlq46w!AE2Vpso z3X@z6oe(TnEV|Jgry-||@Q7k|BWk6cx3!DACHOAZINdYU*Tk$O^_9nf6eUP&Xgwoh zC$AqeQpy_K6mm1rR$etVp?L;&b9ol6EJdLNMsn*R99o{pQqBqyS)tu>8dpX&fk@m3 z01>YgEX^<xX^r}}VL>xM4hW&OC<IBt6h2SS{g6)eF-`(UWnPy_;!?f#-&J{~1r06e zUDR5qknNJ6=SgD>Z>?e9cTAmC499cdT9D0BMO`*CDYrzxV?r6sf}%I7&JbAT-kt%n zTWTH>gd02sjU>Vl1Z8s6NVM*ZgQEnCW}(1sr5H9}>z}x=skQ1-nTTUDBf^MfVGNc< zTKsv53Rap#B$@YJyD%a0uxYm5z{aj~k_R7tg}%5uZN2*(BM!5$xWnjTaH}eDWUS?^ z7wMDDa($tsW7<@7vAZWZx?;;|(l=2+G5O<JEz~iI8wfMjT0X{#J0{as7N#5vX4+gU zk)YcQ>nPTu)noT8Eq3*nyCgo}Qo!3Hka_AMWc6abZ!mKj7!gHXDU3;$+qMncz6apw zJgbv)&<eK6<UhY5iX&<`pr-<5qR-FITf!sL9J($wQ+00+clfq%`I44ha{3&@MH)ek zjx%%b!*vlFSWDWXD~<ER&CFk~7YRVx8<Cm6zM{Yi=lJDXDO;{-te#XIL(k-6<hxOb z)pCzzK8RYi*2QmdU&g4MJh^K4@Y|Ji%ESZ-`mSdh-N(mY^ZC~^#K+vg!tOdtaJI(K z`CYn3IGC4LZJek7_1B-qvT`j#T&J<q4p~(}jxx8z3^k#s#8C;i5>b;9yk=|#UoppN zN(*K}c8H<EOP2?&mED#2S(Aj!5J=Cy+;G-N;$%Q<{7Q~p9X}I$#^NE@f~M3sEUJ8? ziTb?_NeCGn#Dap(Ve1=AkK|%pH(atU@>tA!2@;Sq4flw%<W?r+sZpfFbZ^W_wF<2@ zu{2rl;vDCih*r{{rJJo4Holr|b)P}R1q*wHO2M3zjMzY$QO%X@9LQ&?NoC@rJ!6NR zT5rVMZU}Nv%Pi>X)NlzmDmNLIwT=qEOiS#iD{U*rxlnww0J3E2RulaE`3`rb0?fMS z!|DcMA=w^~n}|>ozgw8t%o1=Xhsd^g>25@gL)2mJWK-Q~xUf{te10he`SF85<l`KE zj6vr)91OfYb}-i^u6`Z(9q0nXX`TW>fN7HkHKWhZPak8@^Z7;;4|wj*_c}Ygf^JI5 zPwtT^AOhx2A`LM+1iihz^VioGvRH7YFsAO?hW8)u80Vl7{BoxoD%MoJ_f8^_^Qh`H z)V$(_uXtc{hhs^vz$EM>jlJ+l(=;ATazc>S(DxmQ>U6k=x||s^{oHdV>}BQCs&noN zg9b+qFiGFwX3(iV&(rtE1C>7k!0Rjx9UNep>kMb=X-+m%|2PgcbK3T>ca3qTLKx`1 z`<x?0S<;<zSQQpKyQQ8YUvi+)g<oZ6;+!%ROz69?)0arI7!Z*#Xv@g<Z9FeQ5^*BT zIbF@&zsTmC=pyM&FP6Gvi6+DUzY2`9R9#uXzEUYefYzwBM!k2aDVa@bO&}ap$}tN+ zU1;eI?l2ZBl3PuZXpGZD7>~z;8w<hB;SmDWw=J|1jmhV5bElz3KFznrAO`iV6Acgi zaE#q?+VubVum7g!IlQ+PgUKRVZX5Q;1JCD^8KCnx{5%e)&|}bfo~~-NZJqXghkkyV ze>fe-VdFf*5}WCUjfINGBEqH5NV0S|LS`PqB0?6zQU?(|-=DniJ0w>L8K{K<w6rd< zQ{OtI3C(F9yXCwLY{tc}zNQ=(bUKQ{-Ws}yFyJ45eYg|NpFe-$AUqD!F}zUS3ks8m z`j|>&j&n>iQy*iH%}H<XZ%lL*3zmCl$~~dy=nyUZ^WFqoCSw-Yi^0VG!Q|#TCw+ds z;$JPOSY|eqJ1*sjxticSdzY2(V(7<z4=2!^w<!6TD3PnuY2g|QcxD9C1^A}y)kN-! zq+>dWVC0nU_7$ydR*AJak;nw~a2Un8+<S-T%Cp=UV@@iv>J?N$iBQkznB3KWgA~bS zyGt=K5dnP*LZv&=d4>R6Q<Mq{0w(3eCAmbgj*T;Vt#U4GxL^^{Qdi@~AzN8=K_|7; z_Jn3PoZ1m!gq8__1$c5NY88%<%a`?w6giA4SD7@CiCEQS;RtVv#7q5b7tN_{9q(^X zemr(q?zDUbbxjb#MS3XZGYay;4y0Hmb4PSW*^fdsE*5oyJ=BP>6yDxkGLIaIzhsnG zevXVJZ7l_3)xBGGQ*EU>5fGrDE4+a?(5Q5t!<i4Xl<eO{SvU3h-LLIa6-ML{YwVRB zjuP*czM_}_kLMGQ#{+6cP|c~J5vTj29_F$}O&gxhhTP+MslF*^V+%D}BWIGZy@UeS z$h5lrHLZvY^Zc`>PKR9po%?>VoD6P;OTmssTXZ)X<MeS35(%5&MYF0j2Y0%}jM-k1 zyW0A>c_rZm`@Bgb>_}@Vduvp7qdZ3qceL+4mwbI^`BRoa(Em%c#YJd4&#_?UoE>mH zjedn-B{Ixu`aP9VRh@%Y7fFDnODM5nSoTo*0dMUF2Dm^*frOVEX03M8p(zj+j4^!9 z;il%TwS}~`L>O1TN9qjxI1bOtDzxdPE|#z;#kAYVTvPQ-gv9TvTZ#U>gnuBSaSk8n zY3{H&HRay%3BSHx^m?86{P;3vK&N^fR`I^36e6d4(X46-7_%iuL}x7@c8soTrJ0jR z3#Gkjh-b$bAaXPjdjIiGKY#w<CXB}9EmJzrTzkd}pjF3;jKlUZXHH>?As+=#U<?`D zgwicga0F^1v4WVx#~Aea*Pjs*Gf#I@GEWL?<5~a{i$HqgBJIZrTkv>$@Z0l2E$nqZ zRa4N&Rk@~5om?$Lx!h@-gT{GUr9wv9B1gibx%ZDx|LgP1j^j+4G@O%MNL7s1Z}d<2 z_F_+DA)omexMf!?DrdOK$WUZfEb$}JA|sSKV`&+fuGsGHyb^O;$)xq>Ypk~Lc)mpg zFM)`rSaB`Q&7Hq%W{IDxL|)vepT7M4RzgHZK6mjPDDwGCVr{J>|49=TrD|$L761qg z>9Rsd%r4UETDNmN?*XZbJQNXG2`1?`yF~g|^!qwz+MVQA1U1IR3cRwRZ$tsQ#iizh zo;%3!=w=XxC%NeH*zxOczcGtIb%{#iMKtx;H7Cd4sX!-LwPi|EX-85ZG0r23>$D7M zTn^M)2SSwRrb^S@*#$x3tX-X#G8APmi+#B*MQh}y`_j_nL6gEj%b+GuYkf@)RCU?4 zl9ig5pCE0M-qH<FUGw2Dzb4VZah`6fwC@j|b8>6VTe=6ry^#wAH=k4KJWh(0!WA~+ z?li_ps?%GGc-oO%2BU%}VR>s+En`YK!#LtHn8EsXR&{1(cidMRwNH<o_)WmG!gMl@ zxVAZUN<>ou5-^VA<suDr8PQUPn{%|p<W6+V(=F2LRu(~Zhw)iV8gu%#?GO=+G0bXt zU6nKgy|=(6hn1B^cD%j!jO3LCj+(a)Tljm{al|w`o#XV^@v`UhDakF*Nl%FHY8^vE zoxrs3JIJq4kKk-f+9d>aa|~BCKhDFez_sjvTMO+=78VFg(@yS2UteDyNMt}&Np6<L z!ex(h_&H7rfRFna!;ja?)r`6Z>YACI5e$fr&ktu|yTQ0vS`QWT9B$+^hmsR$>l-5D zJoFTwujt@2-WWC)Y8H8R)mnjl0l;_(QLhZ7^y@H)oeO=8<Ta3pu(f7X33hAa9^bnW zIM!_~RyK1ug)q|H9sAb#=Py6;d_KY&W=8wg@$>B=0?;|t-qM>5#6-%-k<J+qF{!#A z=Ru}35|eIr=zLc3cs|hjM(26b95aQAU~Y|cPWt-%GzQVu-lY|Xf~edK1O~Offm??; z(bvZp#(8+_jJM|ld#o>goFf58o}XtF`I@T|MsvyW^ca)={KsEpX0$&xFoVwXu;J=X z;P;<D=>6AU#8mzB<HJ5aKJA<q3Vd9bi<3u2L9H4XYnL785ptE_E04rtA->jBQpjS+ zvP+s8Ar2S(Qz|K#+v1<7DV5_Ofn^@!_tIZ5o#%7_*dBX0%U0K}Ug@tDMG{_=C_<*r zhzGV5Ia+b6eGyVU#g0w5rqDj;Bv>Ymng&QHHCAb%O+q9S$f1SQ&J*(SctAv;8U(^~ z3>RivVRUJQZ>^(5t?BnCY68_6EQz&M@Z^D%7&DsWmj9t!c51a7FSWdXhlPFPo-Yo3 z3F!b&&DKiYdnD^W{KN)kS>ZHTqQMY@=&jILAxZSzie1^}uGiTf>0Fu<giPuy?_{#) zR}k%GpG0F>YS$Xy*57ANA)val<^YzuP2h{CFSPeww#b{eHa@b}!X{Wg*Rld8gJ9_` zY795dgUrp}-rn%%pMNgB>nlQ1(hj2Ozz9)OOiXf2$C7(Pb=*I*JiJm;ke1&Xg}QHB z6ad1K`y_xX$t>I)%V|J#J**eoU%pv}ajT*yxo<g^wG;(1Gu3D@vk>C*bwz!8UiOWe zn#5Q?gooLM>70I^T7tc0UG4FmAUFu>e#;prBG0jM;-r@~&^abH-+sUQ3ZO=;@%Kd9 zq3U#V^G&v}@|lvGCM)Ce`bOcWi%w~_Mt!cU7@#E8(L#e>85mUbJYwmE2S$eZ#4}Od z)ujSXA2Sli8^SvsBa01nGo=}VJkPOfYM&!b5Rmx1Ggzg#>O`5*4q13nc%%pF&=f|M zXPl{T9nu<X%u8ODv_GSZ)M*tvxCC_H<EYIdET{75X}M*wiYB_M>X^dhpP{NDcn0C; z&o}=2-~I+^Vc{|}$hOnZ_c!c4TuibxCU9!PS1NM2b(l#FL}YkAb_e!cKZH=Nc<kI7 z`nDm@qbi8KwT2$6LVxTV$ju-71N*jfbfzI}4r{4|UdbF}@xJyhc<ddIy_Z%YF2bBX z)w(j{!-<t#iUJF#$G!o-{=(77Fo%db$uHAToPypO9*+%==L7%t@Bcf;Vz}ubY^lsw zH2W&`<LfKW{ZheuI)7p!Mw0)MtusC+oX*7mWdau??~u?L%yBVnL$gQ0gb*r0pqt|D z?G3HP`-vd%Cc+oVD+xPC0)tRMB-Od}aBKZm_~88iMT7+LXIdm8#<83FHZzA2c?j6E znDI2kmd7BU@!lFFSCApMx|%J?Nh4>f4W}U6H1siO`R5y_An=MdPYDr9Bxq*T>H{)Y zXEPMjU2~s)&n+h+&m4qeM6OOZKY6O~9ud&C@AUTeF59-H$da8B>H#=GKoUB{HLh`Y zObua)=Xkze@<j^*NHcjUSm>V5y#aH25szr0d5zq14W0gp6}L#1$tE!adOjaebvnn0 zxW%+9u{5AvLy%CjUUrQLByk#XsIK(GJk*o^mT8J21T#=;w-tu1IN-i*`1$iEy<P`$ z&r6@5A3En&v8*xaNb#L!7?Q1u+gzk&fKT!ql4q{zGY+jnj5h(IF<Mp!NOpZ-O$$&_ z!j+7ISm;nI2a?~hm43lyqSAqFAR(`~&QwlIfS^RE_bm(C*pp2)BGnoSkw}BYdUB;~ zF*BV`5K-T^4O$SPh;7BTZK;>=^?ekkcaG_E&YG^QiB!bnqQ>#K)XY*grVvZ!^yuyF z4ZU~FF=#M*d%mTjn8{snBxy3kSMYj8%3se^%Q`AmCw;xX=;!+z7@f8Vp31zG6y^1f zudgqAy<Rr;(?vS=$HtO{Piu{~tyAwU1WU^nZs@JkmV0(?LLRnGF!L&;%~Bguodyx@ z`vcL%_87)Q{sW0LZo;IjHMdFMe{@4LiD?y!Okir;PLJo4rhbr{-Q|PpUA5Z*TkkGz zVpmo3^E@l8B_Jrwl)1fYMqI=-HFG^f6zZm~Q;k9R+uwhaKYst6ZBClUL6AnhcX~b_ z+*+;+GOq%Km|1LGkYsU^BuWRvId&a2KlMr*4_?9b{4M-*MaF_5y}Qi`2SbbTLDgkW zoX0D{Wr4mnHR?^!d!ycj$YaXGxS%rx220ELcK9u3mB>NU%=hPmw|!5(!JsjeaZYFE z1ig`KBp2fO_T<0)?RWq8fB)a%cU_2d&b47h!Ck3;0mwmd(PK@PO=j{@32rpcVLF|N z9kvkINFiNYJQ+)2U$`yek8Kj`6?em&r<eFmXLQL^m6|aB@%yjr2~&#?BLdm>-s$<+ zp{n%P=ZAZ+MdFLJ8M}YJp3jRK%Buk2)*x#VoH{Zh1c6TofR8aSB8P>x-fCLt;9#<d zv_+~N!CP5($%-VyMf@!8M<(K4kyN35Sp1zzb4}M?ZU>`*Y~^KiGjidArLCRlmF{(A z3j2KufIR(C>CvS+W<2(dpZgBJQHmC8d)cQzLE(xoeOUN*Rn@~rA-I&J3pz#jWzCHc z=w`fB;rM4FpN9~PJgi<RiL1_tM4A&tfI?tfXVn{v9bZi;-_qi0^j{XSycCg;k~M;^ zODl5QeMK&VFV1s?Foi|w^sVo4fJ`OkNeO<rRyOJ@?N4&A?5QfPwZ@t-FcDK*$%i$8 z$h?BQBmoieyVu%o;3OhK6N#Vn9vJjbi}LS@a3O<GvMX0Yd|7Ui1B2chsmA4dW-PU* zGB~VdOvGu~i`iQk44BcA|DH||4}odCGdCu~y$JAcF~9jgskrwXwXJ=-Ws2Lf!<msg zFD=5H)5n<T+st)=mo|Y2M4hixvmk!r=DNAkEj=MSu`e{Q=c-8qn6Yg;Ugw}OUUcfq z$<=zgLrRhCIo>WUO>`j*`@TofHZ`3yVM&cw$4GU$D6dQl&O|g%>@IFm%kj<%DMFEb z#j#!iHtBT^+mtj&1MT~RK0m)`(OPLmps(ZPzf2t0)FJ+9ozsuwL~G&|PE)C8YbLmu z=vr{FA`0S<KYr!E{qcuP4T4|_m?0VKz19&6w{iOcb$xTegAX)$bi@SrAnL9VmzC9! zg2H;|?h(BiY?j&`cT$UeZLS+Vr)6^vnj-{dv7&^}IWd_?P?W#`NLkUM1xxc{Q!giw zFFgkcz{s?(ZGZ3>)25GX7cI00EimxE{Q3+1=Rf}R&(D{~oHVsqfupOMvykT~SdQV! zc;Tc-A^|`)##&w0Az!W$UP*%}XfX;@RI5CvE4!f5vrLUlg9R~F@&4l-?{9B7&cmH} z;dWaSk`{c4agL%QUd>D;kk<WU*Yn}`WW$WhuIC<Cs18J;ppI#RtwIL4v_}<*nfUu9 zGOlTF1<WCA#Y-;~#o(lhyAO~o@<UGx<%KI<aj#V<H=-*GF@Yelx8uyN*BB*BcHx1m z$`L;9Jai^zt_5zWg?r0PX?IhLah6$HH`0z{(`^pCy}tnvI?s_y<fI2C5>n(E@1?>s zS@dNu)v^;pWTlPeR+?5GbnJB05r>qQ&$S7|*=Ww;5scH&WQz--;x(_ZV{A!``}pf4 znjh5|OU8~L>6Qpqdp^vSd5`bAWV%N`fROmofB116F4Dcnw1P`SRP?vB7Luyc`guM+ z%+&n(d}NfI=V+L(3p#)pMDFz1AKaP*!A}>>YXvVwHESyg@cqXdK!n%VmuoB*{|n^E zSBhCE<VA$04sumzcap{Anb1g6gqhl$y+W7PB<gs*jNA(a4K;PO@S=0Vgg7oJh)YEt z#}>&gXp_CgB0x1EL4I5H_(jsnL)x#^^SYEh!i!dCJkH@SJF-x*Jj^2{k#bs4wwZhI zN^6b4cCpG=JTR!S#N@+c<&#`!<~X%U-JM0yTW8<Rf=>~NWW<5Sn{)bk9%$0;*j7~6 zc^rr7oX|OvEg$c&y19+8(+UermD~l#c{oB7zdCU#Z+CvaY8L5mRG+6gBo3^plfXiK z>oCXKY4_e^+LvjVrD5UFFome|28vnFSNgkViW*Do*!r?f<_dvUW(X`+F-?g6_WN)0 z$M3(3o5vZ{n2A7Jlh82Kt)1Uzo+0rZHzB3z=Q-&(Mx?M&2_z%gt!*1QGa{ng-P}TW zm$XGe@J6_IfIzRWmz^UV4)HvmG$J4=+&5b<HmJF~k9m@*xrmUu<8?&$_vk|AN*}M6 zz0OD*WKrx+L3d0mpPP~~6Sod&8_qGwUZ)kZdD}agKJb;U2;$C=Yxg|ol;3~<&A&eX z)oyUCOAa1TX}U6FuEud)q^WE1fU9M!a7;uf?R=bxnST2_C|68{`39JdIR88Yn!F}7 zi;RTu&Oe?H0<#~-AQ5qC&A}nC9p~_4&YYa)L?d_VglImvZ0-_P==&Nri#Yc=Gu_pw z<xcnW<ICDP(ZZp%ejn4htmr|0J#9_|QMC#Xb59lwaSyGTT;lSa;)a`{W$g5Kg<h^! za;2{t=a)OtOukIxQr70qye{16W|_jaP_{p+(c&$_@nUilIozCN>)3mb%RlO3@)YHj zvtR|!XE&!)L$m=R=>j(7c0XYTwFJ%GATz<p+)P(kOm8jmzqn$kjjj%|%DV6&dj%CO zT9sL<Ftgf9nTy|4pDFD5wih3%5_WGc2{&2b8&x<ti8R`_jXC|UmtH`Zx4gA@u*aBw z97i^Cw#1c^T>%y#BszR#l3(QsXb4x<&NE)m?2aq$15xCp_>FXEeAg_?rGVU@-=+ob zW_UcGL}v75N^F(kn$aa`*R9W{ey*wJHYfEPGP;CVPVB>~OW%U~pDYMV0b5QQ%22sh zFVP*#w=}IZvE*2sNfl%oSrN<*5pfYt<gqPYd+8<aQ-O5=t-zEk>G7ub2uy8$-f6i? z?{1POZ+aHVy~bTrbLj+Hj{nGudEYbswO;Uu17MJ_C*BoCxV6B+5fBz^+h)DDjFeV~ z1%#YaC!<BI<FaH`UU~{xlM1P-E11d_deoD{@5IXK1y2VAGf8hmbA;X{1e|`p4!W$~ zSj8eyXk#j<D$-SM0SmY3VR>3Drx@9YAn@F=b~3Y=#0B%89vkCd{{AoW<NXIm8ev{4 zseWgX*z1GIZe@9(`;A1L#(C1~>+s_kKGjJh#BzzGr8ROEm!4wIsSd;*d7Ni}kc7#f zPhtq>JpJ|hve)b7>$%HNv*;WJkJwvNH5mompHp-F=5&JS^%c#_Yn*NbV(vu4Xv|5E z$AemNN>rUlY2!wEo-{^Wpo}6a28Tq?6FN1d|2MY`xzY3SfFM!!>pM)nL+xI$5YH=t z6}Rrb&acq<roNeOP8_?XT&`(iPK)#B32WUf3#d~j%3jMk9smF!07*naR0gjk&w`wZ zZ~Fs;m|l7rlH&9U{C1uz4ZL!`@@EftTb#eaL8*7VimI4O(VRgSY|_YY0{Y`PGIlB$ z8CK_MtxCfl9((b9&okb>=Oo`g$AYU>if<GJDV?jt;Y#nimjf%rDepQ{YLY5tt307w zaL9#Mq-!@<y2=ViDCiD@rcU1;4}O1p!(-nNn&`xXx=~{y={-n(`QdPD)LG~}r?Xlx z#*-;fpp^_*@Y?NCijbg|_9pdh-<G<50Z<CA;_lW`G?$+Xz~IJI;T`3<H3}Z}@%3_d z_nxD#ZQEf^^zr)2@D#fI<jgC)BxdsQT*tu@D~ZSB!2sy<^V3uV{@|C$(ytLDUvas) zcXHE;j`l2=mRKwmy-T3dq``am^@~{z09y;K#XQd-V70jX37|QLj}auRp0=|w#*KxL zDURm!@$qSHG1lt6!7TEy=M2U=SHhiN@x+#BT~~9@RgY<QTDitG4X(SJlXauk8*HkZ zN8%lsdf1eb8kd()>l+FpVme*tbWKe474AZ$78N^zsrPvOb!tpHECD37`>wd*&=h#O zbfXx|$%wFE>pPy$=OP+bF>4<A1fWU}i{f`7Op7&eA2quB3?VLB>(n1Re;o%PoB*gQ zm=mp?dE<QxGUkHth@iEOEmm*zI?k}hrQf;<`?hUd2vOD3;Ymc}MsrMZH)?&ywm;Ci zV5<3X95nNpP}S4|Em5S8utTEWPcU3s2jOs?io;%h9>ZT>U)9+!Yiv$dxNqA^p7dzu z<EdVe)wZ&GXcZ8a?D*jX(6;YjA-rC%3<fi2BK-IN_TSpy{^f7-@%d@z94jS_w?^B( z!6CPl&S0{~)M)q^hkt&2<TL;<g3mmYV7CK&Od9UiwyiV?SGT5Cov)AcB(T_2qpz<| z%cRc55)fhPt&_R?`Hz2Os%1w^N(57<AIHmUq9g##^N4i_K+<C;Ztnhi9j<D4e}88; z_s_4FyPNOk;Gp9mFJgB9rbZ%-`nCgnUV8VUbgB}A@Z;xC{`0R7ql_bVx46c0T2)fS z6^ubw0N1jyrl{DNpefvF8C7gG8SvCV*2FH~mwBF%!QmFG4qGb*T=w9!A`{Wu+Z(sm z`1$s<2+PU~FvsfV7s9_uXpD$Juh-$G4sMYGI>zbeI6^d?>j$?BC%*4H%MDC61I0&k zjL;haF#%nOZPdzq6+eML7ZNs5y9yyq%W1jF<DKA&v4~+`;hrU27H9BeNGJr6y7)05 zX&vpma@&`3J`=^V3tx7R)%_PDpk}^P0~7n}FF)}1_Qp#FPfNEKfeIWBZ;M$oF&ddi zF8G|2+7@}*3??*QyVlq1Aol>42-n36s_0rqrA+B<7nD25ye!j{v6$KsA)LRv(c0;x z<ib@a37i<s-7WK`0t0)4!uS$dRM8PJVVAcyCljUeF6}^iRvi^IA=L%ZH~U)b-5arh zY+9ub)`fqKvh!4Aj#R6H#uVdzT{@{52v|(0z*Q}G=r{lDH-9`MU@S^sUtj+A{sd>j zR6vQ0;2O)F+*uax+q@E~BwPw5rn1#}JC^x3qI3z-<+xF<PcqO#Wa$ljH5*u1^2+ya z$#z(KL}pMT7h<I#V1}!&sZRK=87m*+Qs4*Eor}GlYUbX1{A}%p6QfvqS~?|c&b6Mp zi-_)*e_9~d_v7r;TF)N@-_jq$W@mn_Tae5OA(n;~D+06>7)o&j=Jau%K6TRj_D;l% zX-?-HfK~n(Ejp&BW2X0w+yk#`Wvv}S<;!ez&(4yJnMjr>3;=uY8;C}9s$=+6P0fp~ zy*@L8aRIwTB%CeKt3b+qalErhk&g=j=_Pj`lcMOr-HC%AKc4d2AHVa*=O;}yc%`S+ zl=!x<;bebIRi9({>*Ft<<4iqL0BYQcrkc;7O2&4&QYBw6pQ@1C6e;%68m^}nc<tBg zpsD8L90`xfJR}C0@ioEA^DDADvdEme=z~+0hFMq(gD*ft9AQK5<UZ**PVc>Yg<Mgf zuDyw^9yTS4KE_Ez9V`rSai=wD^!y#1-2K<ze!=JQLJ2UEwn{mHh34$C&ifT9UXsu3 z8!hq}R&K!Z*T=5YGm_jnwP|a8kmnYK5+{}JjB*FnkZ!8d_Shl4VdeyyGj`iEc{Tj| zw32RH>*yI|#uX(WYG^vcrc2~bkxv$D6<$`@_Dwri_EQwG@TQTlTZ6rXZhm#^D}KE0 zQI4}<+(d~r6)f?6jas;feOjV!zPa6;wyo3F8=BqX8vQ1|sSfaN4J0B$5x3UQ8;4R8 z#xFmA@Gn2!IV#E6(br#C`yIQHj+RP>5I_-Cw^LnJlgBTC4o(n>t}ONJrQFjSo!OPQ z^r@Qov)quH$YeM!PDbWl#{&$%lh#0C4Iv`eP=`AM+uoC?6iRFTvJ}c>n1p#=s7hnz z$jQnNAL{y0_9xc6Qljz!3zFLgRZ9ze{BKX2-Z2h0wPl-9%lPIbgVg09A|Mws3n#;v zr!#f5)}a>P?<E$D9qRh7Ga~pVo(!=JKk)ham9B#nMnZ@oXuVNy>2oL0>liD?IxgfM ziFaUfn}JFV2qZa-m_vnK<gYP;W6z24Ya(FbE1A-bI94pgMUK>2B0iEZ0h36x-ZyG} z!<^G!Ux%w!G943VF(TRd*JXA&93mA?T6QKm2>~1FoLSUi30%4S{WC0f?&>13ZmG~6 zi}$PCE$&3=TIeWZnDn+{r^~TXj0E^fz)boWAc73qkz6TR9_XVI&-|Rz&pGHdPWtiV z7qneT#)*oGR=Yx^j`MWL%l79(A~eRFL2h$moTq=izI@B|5!1EmE3q;W+|{Uw5Cc$i zNbi1OW$zKn9)-a|J4fN1hd;_^&G~oLTFy}cPO*V9Q-8g_tcu{)8g*{`FMt0#e;sFp zdyCK}0_-Ig<beBtVX2|;IqB<l_#CIx%w$bOlNoz`FI+UaU*gh0!X}QpZy*i=;hZzZ z(+s#087W-Nb>>v6$hA3ZQa7p`kcymCRT^XZ!s}A>BkRx4`BI(>km&Bi@oP%w7$(f& zUWj-j1mZe+Mt38{BpO)^f|4&EP^M`{Hs{L1X*~*(a}0u$i!dbDik4X#>Q239pi(s; z$@ovJoR9N#4b4OHT~0?(Edc<ztB&F_CoPr})XYps{Y9=vnQz0#Pyzq?>n}LY!^%;T zL(%2=N11LDJ8VR*X7OOLz&RQVof=C{X=}BS08iR_r*hCND1Yh^7!pYE5*L+_yrP$v zVk|*GIwN~UXG+}|`{MyHN9t@`>7bjtL=f5}O#xwV99fp>kO)Qz(J*y})7~3e6Kb~N zfaArw=t}pf@$c2el{)1pCG-3H8~*tHH%J#m+_z*Amvvr_$X6k8%OzjR)a;(rXAtDX zoVmE&bB&P9;JEvPb1!3gfya-^SB!4?%_~Wav(m1yeWI;nE=eoZuga^+-)0iuwhba3 zPUL|a6);omd#f;t|B}qzN04(p#DM`>SwC~W#Kizedfh)2f}XzCD+4`>2qPdQF)L{< z@<lGeAwX)toN$eB6Blkv*&GuHO#!D|YE-&X!|uDPvYDM@P^CFqvU)GIdR)?_b}tot zj4F$Y$CV{TV2R%(RM!ErsPG@xh16Yn>Q@8>IYNiw%N0QRd)(6E`nK}OS_|az>vd3g z-myA;uBhF+-XjHORiIt?Qwlf;YjnnI$M1_&=0T@h41r=F5E=;))=FZf6ZQ&{@-bqS zVW#fPK6NHW7T@AkZ-`jeIW9qwR>BAQ>-F+E=MqewW0IQT4Dnr#UpUZ^EK5x9s`NTu z{ya}pwOYG?IVNN7POV3m<b3fvu+q!o5;lwU!fk8luNO;`TaoY$7)6{3hxZ)$I-8bH zx<<sN<QBAkPNlDV1P(diXyFQZJa=sSh7maj87fm>QW4T(vXn?z|B8Sng1fhhgV2Cz z5n8Go);YLD(Se0^5_V@8GK-_|u;iM-l$lVOZX7RBL@DGm`~B)b*FQRG+oJhcxfL01 zmcyc&ta@1@mwqb)uZWB!{p5@Hk~yjrV}A6UZaIwRjEmGwV*+UgfSd{FUFbXxM^Zi) zW$yZBqd*3n0hA#4vYo~%tENwNzVj`W^V(gfr8J#E06Zs9$s)XYif)rNa>v{Ai8;rm z)^`eCO@-#%S8{NgW<(?Yj8l`W=(b!uGjmJa(=NSts2WYRJI(ZptzWCZI=6DxjzA5U z9_BiCgE&-d8dSnjj#PcA{i$*}mh;VQ(9}uHE#7COQ2I9At>0S>)I9f2#gvcd%GSkS zUrO&CMoy&cWV&AS&>}VZ@$(&h?`&$+n4KUT0E~d2e1696TvCB?#n(m#voO0+_*Nye z*3HacpPx3<o_38^E+1lHKi8;;uh_@6XDZ5EMvGEGNQ=;<d6_a3(qFl7&{>>$$vAik za%j%!F|rq!PAkM_WhIcMoo`NRHC}bS&DU@Lm-*py44-2X?q<hK7;Lw|qHXI$MELmY z!*#01pKC6Kw&l!nKqDbw&JlOgj7+rF8q7IfDDqsRBxEUyB`0#y5h;BZ8P@1qhx8sQ z_2Zz@Gf-eT3g(X#Vnr@@j^PP$(5tCSB$`p%Hdgll9JyiJdhNl&MU>tCoaXWUHGq*F zc?7T2NGj0G8}j9Ib3^ZuW$-#)MntJb4|A1>SnRdwj<volMR0ghBK_ilI)TaDP#3uA zjLXoMXwXF(m_j5sRY`R?i{SZu=dd}RG{zuJcR{SW)g{Kf`1ts6Q#BVRotp8aaq&eY zZ@^c2yel-$)6esy-ZvVfQ{Nha;K%U_5!_>^$MX%3=No$8{6GHBe~?*4g%HWMqvEEg zDyAJyMD*8Rf4MOG{@n5P^#wO`2GQI56OZRcbDYkZsKyL8GJ;!NsA$l%bMCFt)_XF{ z|0!iGPi!><jbUZSEFA}38Xa)!U<S>T+`?QIIOVcMDV25>E`+`X8MLP-zQUarTJ+L; zfm!IUuP=W^f?kN28D#FRQ%Q|7tDQ+GLbWv9O$$5x+{2eY)oe^7T+H*hfK`1ZT3=KV z;#i!cNdrqG<>7M-ntEo&2D!9W4#W)lGWVe6#r`Y5KQoJo<%-nii-)2SQouQapL5VT zrl;KmvNME1TNfJBY0N?AIK8#V>lkMtm*HI+NG<v&jtnoaST-<mDhL>${qexIZ8(p^ zM=Isb(t_z1^Zf$ws9&S-K<t{E`(@wFsaJ~d%*co{u@za&7<FOVw+&;SIl;+dl_Nzl zJobcbdn8dWRx)45>8k2#QJ8Jp1Dpjq0c697gs44sFf+#Ir~7TK>t5tbPJ3>3Jb>jI zuR^+RwIrk>fz#4I=Wti0^Ej{KIIXae3Mss8JGI`T`BipOf==^gh)TphWp<Oz>5f;d zmFVV0yl16XK~OfG<pYm@*bBC7<kVtB!G7EA)IO;7jtVm~bBZKid{Z}4?r*^Cl4(n- z>fw7G9=`yu1op7g$SSEq&|zLAJkGsmwThlL#z<BY@&G6xP_fs~?6)I<D-t=A%dkeP zPUL}|&CzycR7c~#E|J*f!V6uw(4GmBDL_PxHwnT-o+EpS3pXBgmZciMYc|FhOACRF z^)4B>n+FIebFc{<K}GRr#$3TKes)l#TI@J0yF0{JwWEX+x%7tK8!^A(c)fg11rc1$ z>Ge8Y#lRx<!=$(S^7yJ*q?3uP400r<Qg!&;XEF{-Bo;bTQ;TOOnTJeEDeQim^c00{ zF`#lp1uy{f)&%aI#+bF<THpW0j=Et-b1GCszuRO6vAd3aEwxoyySr1v)eongBLqkJ z=jJ}wGp=ntcl)-%G(5nCb6Ei|Wge!4;TK6i)&xWpiI5PcPHjyq3L&~}J1Tt1OhdR= z!6uzS1vZHZ7+PzNT5Tkz7tzVZu6Ys1DOX@2-%h~^<VxO)&nP=-1X(X|cqNv*apC=< zLw?I$AcW6eL$nNlv-tEi7SH=2J`ZPVTPJlRLA&-@S3>9_&q)&6bZTmAByr?9g0^Zz zt%f~ysRz?7L!Fo<)Zo)rrboPAtL66lcUPiN3)`C$BGjn>V0r}Rnx$o8Txf}OPPeIP zbMpE<f<F@Hi7z@I$CxoLN~Q4WD9Ax$4j*&IchZnIMDEAUXryjq>$2#6DFVmivEM^s z$(?+vAwJJI*Uda2IU;mMk?Qr1+=-#($1Vre3c0Ft#1iIzE7EUy0wq=SdU-Whf<J$} zM@^AM!MC8IM2W-PpN~KRlTt>5r-q@XMp=k*YY=yz$4Tdy^ezn^O=6@1c!?KnX@Xp} zD$J$k*Hq)je{_kiEPv-Zmsa9rtj9>`N?jztd+P`!b^Nn^+d`A6mXXATZ8vy|pb0U# zonv}K<^_-P-Nsn^@+{^AU{2INB4DF})sggV2UiAip*Y>vF1)_(#6PcpCSD{>1y+C* zzK)lLXe##Dt?zu#l}^{vB~VK>4^oZ4?K^W&t=y)PkwY?#s`Vhx&CIo)X4HhK#Q=I$ z>Ao<ez7F)Qbp|ud6q%`B;zDGMDZ_&*cpFEt2<_WWy*G?8=sXTLvp^Q368VTkfai11 zGk~Zy@#8S;`-5Yz?$?EEMz7aOrSf}_MbcHWGxil6vD9`;{e5@S#RX!{*!KsRL0_+z zrJZe!M+<}#si6)0d_!;D)gs!|ROxjN7g2gVAIZV?HM%2Q2fkIur{lu&r1r$_fT8SR z`qpAq68mVH!7Hb-%H6N$h3us4l2T<~WBA@1ny@i5wTw{xPQ1JhiK-0MR*C`Ko%U_R zkN5X*o?NS1s@eNAz1CEO&{&Ajoa#|O<D0LYxnX}i`1$q(!1R1Pa2_YucyP{1YCQ@j z7Lpd-%$PAP+V>sE&w@qh`FJuj(|_>)XW<f|EGTow&g=?uow@>dBF8?aQ2V}N+j?a& z_{X0gKBswaotku*#?H8!17^v0D8<BPfgs7T@EFs_87>dLbXp;DtLH2;zyU1(GHyjq zhA&yh+W;ld3R=sGkF8PX^ZDSd2O(0;9Xb);d4i1yOKcU|m=M?HItxTjV?;Jbq|<@a z&3#(2=dnF@>b>JUUjFrY_?H`rFjB=IYp@I+;#)zZsSf8P4_OEyfH9m|pmF)qRC6_= z_n&X*+m6@kMRQCy5B_~dzqn<AUT%ZlnaGWFnrpB_5CAgrX+~q7iBK<B3nQkk;Zn%+ zCLuKJX1>IhQzvb`;qlnfwnp=u(R3vTg42>sW&br>E{f!-<jy}Qv$xB?^&WjmP9Bp7 z<4Yu%`?$J99akbXkQ$Dxgw%}Qf4nm?TuM!;O9I0rE@M4Mh#+;Yn0I#~=?$`qi-o$U z)&$HO<`{O4;X~&NFRJ-}6iBix(WOE2VE?Zr0SLJw2n9pg12r8x#gB=?C0H&!QOYy* zI+=31iZd3bZQn6Rte(t_Y#JSQq^nCPFg3BFY_W@);i9+_(r_om-I?fEo&(S{MQe?I z`R!NX*0B=8%!t{-5;tZkWV1WX-AH=UVWn(#*UVyPX4>}+8F94I^pat7%RIa7tC<T1 za-)ZZgP}D>??D@!wJyjnE-JkIB5t_JrBiTP9eijYBPz2F=JmN$D05ZGh_D+8IMVX| zmp6W0Z4oy~!f=Vsj737g6pGXa7D;yh6+?S5(zCG$3Go_Y)OS~GE-*u=d5w=N@B9Mz zTv52WH-ue*;dJS?LWNA?>*s@}Dx2VT4)PM&tqPs4iDyk0%m{%{P3HheEjtGG+iC<? zS6chU9Df>tdXgfSvtV`J>td>?P$YepK%i~wH!GuixfO013&j#Z%~d?JMMZ$;+XFv- zyy3n-OzjCYt0YSpQYN`kDbK6Gsh7QP8=h}(yzh^AMVaaGc;Y|);~$9P9%wzIem5(- zA?X}s9uN>PQ_J-hOOPT>ZT)O>P9NtHpNTN`eTS*C&S_UShHzkncrqxQAxK-h+7N*C zcsB`A$pp{y8rSE9qSjqz;e`17__$;i*Yuli{t57k)wORV!0Xu?1VVV9E8CbZ018Lm z0z`y=`Q>MZRIQ0gOpq=MbLxOBnFhM3pCxdPg*yCBIE=NU=epGK`T0rb@p4}cR7`w> zCK{}XvQ3tbq$ZS>q|QKBsN3sB$v2?$7(S;`>z!KPVdj`aP3MfBKX)mYiXc!d=?%#h znGt~_D2hv{U}*<8DgclOs7YA<&vCjfpi%(X!rtm}e&(0bwvAfvY~}`T@z;jfc})Ox z`WoL`TCx|Wo$k#XeS@SGSN2+s*Qr#Zam%$XGE*k!QRb+a7yx*CdqPcbdb4otTn;ix z3W$GWi7W!-%_X$XnQZKgh>q9ctxF0MeL;#mMX|i}T$TD!>VDjGGjV^Fb+jVsy%ImG ziMvfrgh56in@W^1Z5OKda+zJ)q+o5Vc#T|FH?`caH_6?5bVKPy_lv-FG2SCJFmB?X zzy2!kKYubHa5Ea`kyU<H{%7DeYd4OnkOWKAWVuImGvD{fYi8l}@vjc<o(5G?rN{t` zjs^s*T}jz?go9Td=z(|{ZO%|GXW`&W;D}h8o3Ec)gn@J<+yOL|en+=h)q6x^?CPC9 z{`$+Oss{!*k^t*<wK^C8(mDP0deM`cS6;M;tgQ<HUI^t&s9B?Gu6VgrxB3zhl^&qC z1}DcHWEyykB}`+^LI_Of7*%ZtZ7fE&*m@^0({Y^6tT2-Z-vQG->bTz6IU`b7&6d_9 zzPD2Un=1iZi9ngj<<gx78al*)bI#~-gwZn1#Po_d=J0H$Vlq1ss?31KS=5*(940gm zf^F+e?lz|)82`!eUMmAo%alO71WMGJ(Eiw|yuo3&E9YwqV413?2r}f~bVbz$$!^jZ z!+Y;|KA*I0vCBWtGX#shrLYR2X73HHF%fkqcbsQD8m;$|sU)BWkk*i35-%H}nfjdD zatiE^2Ny-MRNWc7>?BxwF*T<dSZ)-(R(hw5Fec{V&Q?*k#4I3irgIuuIt=3B(1O@_ ztNjjNl32Qlp=#Q7$9dPf#N6D$Ny`gxOIZceZi)9F@BHKEPac_dks@4boB=GE<x%kg zU!R|T&XEj2cy;IiyC9}cA>pGHI5nrzfByNOMM}+!jmexare*3~D)@}Z8J^;8THi~u zzM@#R9PevJ14ph&@4ddO5FEOZl=;E@0+kgAOPz*WG4eqa=Zlk5>m5yk5@4#tDXMHu zNN)B?oiVY4ASMZ_u4Y66u(T@h(f1w4Il-;vSzfCi&5RhYLd{o@4?I!6RFTEi)w$hP zLM?@B9!%~PYE+Yigs~9aP`w!lL0|-UErNK~N}DB|5Xj`HJy|GM0UzUg_J6|3uL+^8 zsaXq#iscIWTDL@p6BmADNu_%SOI(fRI=EISxG9OPCI+ov=Y|`dI@5w*>$Ol>NE0Up z&0_|WBDBH8Y0CuP+b>%8Zc750*J!Y+#`2$DxZkU?$lVEk{Cwx%e*cZjhG!{M1oL8i zUkMHu?EC5hswzs{Y<y`5=!N>cF|<ovT9xAZ0GgxahjveJs~unFg;2aZmfrFRi6C6S z2*2{xsR@xyg%uV#54(sXwr^Ep{W~RED&!+5$F?*4swORRi}GT#8NOg+IO>J*Nsnh7 z4n4wcFcWS=ML3Kur`9dLbO}XYlPh75%oiT{(s+c#_VW1WL?Qt%q>ADs)S(pL&BDo+ zKnGWq9*0D|{6&aE>O`utzbfq7BVNkiD>mgGC4i+CRySfa=QY~7sl}~6zs0^y(qTQ* zs1&>$hOjdW9?u6<6*&NiV4Rz?<!*zm5To2dqQW>LY)G@a0Kq^$zle2$Fx)vJaa4_L z^?vD#4#agLqB9M1VV%tZE)2PAX0?9{LrWjKGzoVJ0~eY!1PhjzZg3vVi(w$b5N4<} zm(~F}5hTe7rYh~pm3$Y|okB4a;GrdWBDowWOJ^k5M`~b*1!Kk5bA8u)LvMoPoKb|M z1i=?J#LZA*wbg;$nwx5H)QyPYlJ+n65K6{o4)pf+Ubgy0*Sq)~H?>c$Fy_qntW+gR z7c)I(>s}+>D2gm8oGbKx&ExvEMe1S1XrsP^0L{o!dMBN+rZTr-hbNMpsP_%6NwPn} z6~M$qt}*h*<<vnIXvxhYCAhGJ-8nQ7>zuba^0VR_`Lb5NP8N;}s@R@joP~CWA?r7I zKHu@5|M`*7A0pI*A&_)l9dG(M{K{3aMa7JAgt8I5Y|WP|>E^oda5`0{_U)x#e46@3 ze*X9gkp?qEZ<(69at2VvMT(_y-AQ-x<Pr$`isr5yf{Hh{49F_6Wr?4A6I#KU3%b2@ z-8ad93BYoFySn|fwo5jucJtol)Owm`o<&$p&md4zk4eXs$(Xe<m!pcphS?xjl&8DX z9MkWe{x=a$sv6ymq%r;a+b`MmPv5rio#uEuB2g*z1YmLn#pF4`5LUR@L`^KuBtoDx zhL16>puRO`jTgS+XEy@Pq}iD!u5~fpJw=R2KYDp&D6yy(%lGgpySdWy`9zaOAM-D_ z+@*8Ed@6m<Z>ZY}VhIq(b<k^qSC|2oevSMyc*hWa^GWWO`Oe`LN3rlh1k5@8I8WnD zmXaP7;r84>0FKvdrGtrpdS9dH^s6`A!4w5~VipnsaSQ5VW-u&xk-I}pgSQ?pKR7Gg z%ZY)C8@Q0UN$;Xb)H-A9TOLYQ%3mS^wZ@RkuTH8OalCA<s)$R_Qwzcg{xD1q{B1l7 zIhfD9b9bjk<SfwzM{%TH;ylae6U>qOZV$Y^UUZ%#i-omL@FK-U*O_h+zX!Pp0gO3@ zhpyv2_WZV}K?D}4lc{Q4Sc#a9>~JYp0qGnxhGcSQc)ri`^aT)M_Bp4khTW)wjR2y3 z+o(06F($%QFl<;@y<&ng)>wP%TfLv2dNX-zT*3eVAOJ~3K~!qe7IM4z5mw(L;Gsup zB)wHKC;H-=r<){oF)k7}O74LLM0@Yx=fhveLGO<T{onun@BBah$N#eXz?xvID+y8= zK~f;P?0?y_NnVp7D!jE%DJl$MucP<wb52N|YjgP2c<y?J9Kk)NNA>sKjiyUeW&ye) zf}2Hbv&D|P3(=e>nYoKF_Wi*>e*D7w{=nzwrya+On8`I0{c0K~9E?;&cJyG{9}l!` z132FKuaBsT_s0X$8fLC6`_@1P_(aS>npE6t1%zRa)6dsov5JjgFLNiD!^~-V!JMXp zBM66_i6by6=7<d>#Kd7jjxadHBm;6)>W}B1@z*!KP=MjgV+9ojCI|74)*3jUx*D}7 z?)y@Z2X=Q&P=ZqHm$flNh{~&*>ww0L;YPi8{^M_daExS$gaNqud7c6G;w==~3r3R# zP>J&-n#`IEsw$BgJs%GOfO8Dj0(i&YORj<a)j9p~+*ha^U0|c2p<dv^YBiz&CnwEw z2P{OYG{<ykxbOfFH_0hv2RX>pedM%0H3ZHQE6%WiU#__-ket)*51<7h=%&{7?@G)2 z4i1;44nKeV<hQqHC=1Daj`JFUfaqdI`1PLFyLwB0@+(o8F7<BMEwl(x%L=qQ#znSU z2Ue+SE4tM!Ast3@(o#^DBGlAkY&s_(5|>j7Ujhd!sI|eE(>K%Hi*k07eu+PFJXkv- zRVAC#b&hl&2<mXBRrSXH2Ibmyf>C^7VD~v^{CVLeUP*7IA*hQOX}CAHJV)hQms8_P zx`ObQ-?b9t)(XR%ifLb?F3<6qRh%&=L*EmkbkVsyGpWB#j&6RZl^-4h2V7ouuW${e z<eukc8$cps_6(hIBm@t)=b?6}>FF-zZXP~YR$Oc1b<tVAliR+t#poi(*a-u&uO)(7 zTA1uOqWB930LW>Mljb>GnCZ%5U3~u}{1xRf#vTD`GMDU9LsX~UL{PX`BBGXoB~gdy z(vnc-OWZ;+*Jl9=F8v&n<{V2OSJ0=*F<@ruTZfm5(Ib{Lk{TmOgoTsGx1tMajFD8f zT;B-8m0Zoi>{KH`21i`C2)Z<4Qu^bM-*6lU|J%R+A1yf)FJ*H~=9uBRHCagV0JMjr zMHV$MMoF5XMk$`c+uIwq)}ZGg?y_<e0umG7J?H9-GddPI`o#)LtBx-jn`H%bqt-X{ zINZV9iDk#O?fiH=u|FOhjyy`YOj^}U%8`M<od+$k_wHb!wr!9&<dNqd+#P*uNeYty z-+%yP_e|PD-_W)VttXXJ)xSPIi7YVbl?_?Mq#!I3&9LtgCp^A#B*V5V&N-{q*t~@( z(%r{7$Xp}mf#agt_YFFyi?m$tX=q<?CEitp`VzkS&1xN=eQM~g?>(*WH@(O@v#yD( zIquZdWXj<E?TP2x6JK9PsZvTW72@y~q)N|DSf}C|Rq!{~2D#Hbk9Y~U4qx`<|7x?G zBVw0DBwy^9jMWMw);{(P8pPG)xRcTh*G;<Bf}K;A!u#8v#S=#;!%7RxeLrq#qkc<k zWe((b1vNESD>(iIM7Tvc`nSASN@T3iufP1tO@uW)@n5f(F$<n=A&k0@q7li2G3FUF zlLC8%kzBE<X*;|#!Z{0++Tq0IV}bV%dr2Nf!40UtxAhLV#7M+6*W<y8j*xlhOpkK7 zK?0>mpPwH#=D_3eWH(C!*YH38{8P7WLx6y!M%o?~pRS_m>aqusTaMf^__7}U)E@NC zc=Se0gx46vEU;Kg)92@>GqZ~b_tvpLwt{H5nc+N-i0;h;)=a%FbvLK;I6Xp*8VJ6u zXo;`I)T_XV9h!ieQ{Ofq#VvCT-=ixD?zS;nZ^S0}`uZ|T^*QIE73yAE)<g&S7*}`A z+(=qR&yGpvK<^vO-Brt0**GYRwF_i4X%y*oz6ygn4<Z`e6P3CIe<ku-$ggc<cQ?fD zefpfkRn4EzC-3`)ug|Z<;$-A;YcvY`NnYu7>yQx!8iy(uM6Pqt988|oTsbiSV1GOo zqdX!(6<IK5j)0JJ&5+$gLuStPAFTU%(J+HE5CJ}Z281N6jUccH?awC@4$8H4?nr&n zG7B@xTZd++VT;QjsbkyTiG}HP5-j(-uH+-f(@vJ6eWr{{t5qJ#dK%wVI*3yC{Qk=i zwtxRWnxlCn$1=l~N*K#Y*3<BNSg!r@jM{o9%KUem>S3KzY@PZ4{eS*1IWtdvrkrEn zABZHkJLEd!WLbRBxY!$O6kfRt79==TdOUXYE(ApP-M1$rry*lbnje2zSbpR0ktXO( zaL2$>aYE3j?Gg8#eH0<>l+VY`sv5<PRBnWUqtAmQ$ReC6h5NpNnd#%N0N(8TP8Meu zN$U$Zqf^~E5=B>HO+`4>6d}MevARz$|K1xl5MEzj=4Qk_IJhE0zyJQ5{ICD{uS4gE za4N*cP*PXs<}}U#7PS^!29Krq5`bGu7o(;(xR#Df@*Y+4u!_f@D{%6N{3WBb)Dl@J z0P*vepKvpp<BU?Gw+wlcS~-)%pBEF0aay>uq-=!ChA5Fy;B%bx`Ss~RJIwgAiUy|& zg~MWVM8TQ_&^c+G!*NwHrAW>Jj@+kCVRkMq&DDLZ`=idKslx%M{jo8?G{#BiX*A9e z0_Y4?tD;t#Kp2D>jbW>fJY$_H4cNDB1+Bepa>()9&tLfQ*fGb9A7YH$jg)H%i(4KC zbc|?=dn|Whg|7&Lm8_I6CK3RBsnqEn=%*K@>Xt5LSv>^_uhERA(K#>wwsk5h)i_Vf z&})|*&8sRMUoYSLwjzW9q9gpc-dbO~={YCOG4f(<H!)o9s8+0$$G9nz)rw;%%r0er zaVHDm9Zx+M&pvH4fhAtz%#q9wuD~G@i;mL&sr|Hs-`ALzK(`&_P1U+ywz$FP3^8Dd z6a!{6y){8=(alB>(~L{1uyR#BfA^~|v7x2YLrqCoeAxok!kTpx6($ee?~3qS^y(@c z-HG;nBN6=nY`t5TBgu`Wiw&5$lM#8Ti@ICgt7qo?|NnI)wMweWs>}$IZU$f;0GKm% z&V!bgs+1W)(rJdv-rs(DR-I~@AL)BaV;D`Hm3`ohK=8UV%|0>4D8qzjMGiBy{C&=N zQ}7C{YOOhuqXoO*y9B{X_mlRWI|U-_?m{*#FJ~rahA<#ZWUkK1J4hkgA}vP9jjzkx zkd6X9F~k{Y0BOymb318vzA^>epAs3LrTI&#Tme#zEz=o6V~j|u%udN`fSS4&N^d># z9PuZBnPnr^dgs7>us^#)mY}u%Uia^GBP9+?EAr~>YgBAR^k4t+@BHz@EB^lXe`F&8 zYHg=v#1rK%J;*odonM*azC@ko>alLIga8?B`-Zq^BRw_L<j*K~eolQ%#BltWmboJZ z+A85&im}6{AC)*skOjb@&B`-5GU<rOA<1pc_qg7h47qUxc@x*`h3x%CrjrCcUK0`A z`5Ahdl+EaixCx}JR#8a@TrF7(t#^!>NcO06@cQx++Dnbe2NOAS2{aLMibY{f7DjHO zO9Xj_24~P6IoQ_%J>J_!5hTaS`bbf<$9^0j@@WPLQ|paxw>MIqsmdon#DyFQ2RSXe z!Xa9IzV8a^l7+1_fqP6i)HGwyupnV}rjzEBZ_!H0+-Mv}fsRgEs9ELNoX1rtp#78w z;GCjY!<Lg8&pW2KhE^0t7Pz?28Rx95LY&CVF{cumtm#8rV}wF-7P+cWsZTaBGo$PE z%AY=e;@kVp3FH;fl3iW}!jcw^EdVCx&T-)&X<e3H#H1%nm6H)0hp(ROyA{9^hUDn@ zqzuFg!BVB+K~?e?qVd}0*F!@9j^k0nF*J$Qz)bFTu>hDEudlDm8aYScA$1H7>Kjt% z9bW=+%21Br0+<>F#fD)Tcu-gMDIn4vA_8?pMz=_D@7IoejOlKk;d1f8l9Mz064<rY z$xNXM1lq4x_VO18W3j+aG{*=9e~^cwGOqPbDdCg<Z)VHCZv<3sd2~VzV+>oF-(WHr zo-_in?@WkNiXD*@D>rg_j3{=teFLLX{nQ_igH)$4*F>!na&yQ{LXefN4}Pj&-Jbzd zQHYK)>2|w&u^r-H@d;!}scg~_QYeTetc&+d>hG*Ob}1pH^^9$GxGAZH-$hy@C-TSR zLFP`^%O$ef(|w|5#HQ4H?DAa)fz0E+^$>w(mcq7mYONtY!$~e6;UM8P4(EeaxJhU& z&_yWYpO!$5h;SUkAIHPZEY7(+<a3Pf!m(%XTaPJ42KL0%>mXGNY;)q5&%-L1kd>bv zROE`P;z)rcMw5<;9`MzLAd9X-;HE#kj>bwwb0>qQ?JHow4skW54<A4A?RL*-5TjN> zQ1x@nh=Nbz4t9W`iF=KMJyhdrkxx)v_I10WM;=6ITP2?_3imrpLj(ndtYO<)Tz*rD zTwQoY<x>3`y0jOSAx?{#lEGXd!gvz9K_r$>vETJEC)p%2e|UX=^Yg^EZEzw##-s`! zonv?*mz_K&0Rikd(=(r#B0=6HQX8?N+j?9w>Aa}|<a)jE{rw(M-pC+cI}24wP5=S$ zr2wXd!%m@m3du{08P7sZ0wSF;rd3Q~Rw=hx@+LqCA@==o_lW)O5NVn4NN`F1en17C zgP()GZ?McJC=eFmTtR>ZtpoZ*A}q*#Ow^*$h?R9tzLSBYQ)z1wxhr6vQ)wK-Vw%{n zBJT@iN2l|z%9P0cb8@V8q%#<;Z!DZJvdkS20i1$j81TE6a3!VN``vYGv?Wot#ombu zMH)7XC;x5j-_0U0<<qB6h!L`SlZJiY7q&P3TMN)vm;d4|<2-2W?EKOOlVq+06A_4> z^}3Z6V9zXcoE7X6be2VMc^?<q@C3;u|GQ<FjwPZHIZBRr)4W(x3{u^n1=u2DMi)jI zYbSk@`jFh_r;w*&mFkQz?NpJ+TL5Zl5y-ABc$-F<Z64aP$N~57;$+KLUe_d_0{Ij4 zlQAJR)((PU@WfHzo6L+KV=O*Ft!CoyH#aks(6iL&Yu@=(#G4thv2zC`tuPgeq-ue# ztP3aNiNiJ(alRBQj>0O_Vqib9IZ&Okh?K$l+!<3?mk@caF{x1vcdpY)X-s0H<H{gB ze2#&%;8GkMvm!}jKbkFH7QTpt<51W$_ZYS?`8qtzX<Dq2(oY?uY^U#58PzI#ii@QQ zr9BMHviA46e)7k0cvB|sLd0-)UDF%MqA<vU9R=nwGoN$#I5Kj23^xt;O;3)8le@Z- znWVd+FP3~T)YDOtLcueI(^8j0Xsx03R)rop5e%GS-&0HJW-*$kGb1FPGFtD?x%WH^ zfFhw4W;W<}ioR{UZ5O(|e=Y47g?S~vE1tOrWNvCcYy_fT=MrC~JZtgE`nKVE*>Tx= zQ4Yz;;T$g}1)cewV3@@vy<c{S2;FaY*Le^#MX^?n4<)akL942$L1<VUqezscJ|{Ry z>*%c$gXkC&4){=wJb={VgV~GBvF#hAb(+&C$dBaFJ+7WAxQKyhrsQ>1QF7{q@_q9x zj{OOH?Pm1x<3}8i5#4J6wd`a)ROj#Ouz1R0#3CH8^i3>ef`Kd)rD+!raV!zJ<d+2? zu#lO--05<?aJp7%+TaVPe<DwEG_CF+>idPY5Xz=G@uCw97hw;}Zus4rx-q5Jm{u|@ z{JR+FCOtG7zV`QM;LMPTm%4On>8f(Gr^Yr`_2oUNEj`jAdA_MmE8j<GO$k<30NCeH zYR$n6YS))5+?*cwd+fY2pu#e?Gi_7E%(z~!e7Rh~((qxwpr_K%%qTh>jS*D&`}4M5 zobFU(qdLm-KhE(1(oAnn&ry4D76ZJ19CKNXHtJ$0UgWqqv@1r~mN1YqZSRr!$S<$2 zx$EK+q?c;U)-1a$P{ZcylJ)Yr7S=WBe-+1D8HY)gi4?ycnuEycvDhc|79LedT*#I} zrYzI3L?$(wU(~cJsBpPl&|0H8!%wcEoxqkm#c>?&<}ST~h|>oi!b+)$O~s9Rrh}2w zF(yq_-@B|!H#JyvW-vMuNaX42sNj*}5ry}g9Idfu{3lWEu7U)HB3dmfUXtPFoY4U> zXzLwtih>{u2qOYdb0S6neI)YC66Qkg<PwvQ73ttkT^fzFxNZB6-aFC{i`Kih*65Gl z|5!fN7^7ZEr$SAOxV3h>B7&*v4A5~L-df8}r*_{;I)~5n?#7O8`01?SG_eV}nrl}0 zj?iuZ?Ax~Ca@lF>3>|5FCnF%p*%<^4PGqJ)HtsRT1=ziJaVM>MjgH6R3{Y=EBhu<J zoGCwp0*}zS%A)w*nX3A>ZP+h69>?J;FT^}FBdYY{k3Y$WkFP<LBc~Dhs{|)!ahL{D zZX6?{TAZT3j*e^2$Z)_4%|Z(E5=>JEvp&0UKrp30{pn{Oa}ro++jl&HpiqSiDZ5Qz z_=xl7n30yaI3ooDa|jD<+lFo5(1cN<ag9l7YD+qGX@H0M2ppEa>*d1I8kwmbWaQ~2 zC{?_fl98_H)_A$!gV?}Kkd~9XNbl@@L+ErsZFkyL{Wy+jSbS025T93Ip_?$ajp;^2 zkGrPxB0V%Yoq<HuaEMVYxgc0DF%U=RKP`9V9c0A^aNo8ITHi3o%y;QK)x){Etz|uE zO&MZ>7pP*G<+LPHO#(nf%NI{><%3U62(P6v!SVX~f`9+_f8)pFku*DvB`;-?70$iB zlLae7nWQy)Rwfs<(W*gQV|2};C#t``Z7A2n9D^?VhQwm8%fHOSQ-e-8bvifBLY+h4 zJ15rate7OJ(@Kjrk;i(dG)}>aFb6wY-m!B`A8L-)LU<V9I>^S<L<qg3id-V57J`Qn z<FD^i0O?dlhb`^HhgYzK0&@$|Nz9QDBUFYgVwz@E8e@+q1ng75#}mvv6#EvHZp}Zc zvv{6H6h*IggO!&Yzo$O|5@wMZ>%fJ((|E+lxvWeDD56uBfQHQp^ZB8zIIiV;FH6PQ z?=vxleYi@2>Rx!g-GzM&7{%IQ=JRE#%&ww{oSf5dUfPI++pMB0lM*YisoY^XUUT9+ zlnNodI^XigN4(p)%Sz99y`QN4U0%{`x`bKvzH^3ZXu|m|VI^)0cCs=GVoY`>!mVdv zDQ_c14oqi0cy<viLMh-(tDrk`U+HkV?4R^xDWcO}nx9wi4civauaY`VTa5d(kA+S| z*hLtV*;yGY!OS!*&NaLaSdJzK9T6#taw^wUwJz0qlsLKEoV)hQ$jP`BN-|37KBCYl z3nV|~SLl-lrU$V#LsNnik?X;nRKbA=Qt7>+Y`<<!r8-2~g3BFJ-z9!>ZbU&j3QptW zc*JG7HF9$wkHgE$UL1w`9CS|F_s);Uu$tOM{4`u?mZIx<8ofYZ^`g@W1L-}!o9y`E zhfg@hSlRN~#iG#W%<;L9nL`+)Nb8gnJw0ouLt@7kHeZ+<wOaeQgDo0>t%ax-#UP^C zqi4B*DD+`-3}SL>jdO9pOV<?ZxE9k!;H17)RA_dE5evQ{r<BW0(p#g^8fiehkW)$! z8cFYHy;EK&<T{`VcNPTmUg>EFg}`Z;3k;k#$)cd57G&%Hjc2+dwtbHn^Bf^-k?v5u zm+ZPvQTliPT_7kh&_p8UAUxdert5Qky8Pj}b+zo;fBNYs-uIo4aV*OqJd%JDZ64Z` z9CO4@e>xry5VKbzD?M=ma!nE9WlOG$htRUF%yO(zL8kB|R3^lG5sjjkP&vlrGq@5S zbVd=0Q)6lXjdF##XsVKHl$>jfNG9~_CB)lfPM_5v6C%Yi)Rq-ElgWvpKWT5@zIid8 z%cou!AyRn640?UN^6Sf$)n;@AI*E;IhvPAFA*co`dREF=GQQJ(pM&Ut*+^@IF+#ke zW|s7-(iFsp6CG*><HQa>cOJgD{pVVt=!KSVT6CxZ&O8;+pyToI-rFiPKnwR9@{Y*K zj!*_7nolIF^tH!@lRLMb{(Q{|Lsfxp=2MOEbbLC2jua1uznnbsog>X~&MW|OuTULh zP{Bf&IL2636p=<-4>o#<Bq|3QwVPOpf0>(|?L0G+x}`JIsJD3kYf8hyghq==J#O#O zG_($G9TGYL8Y4!^CFK;BW!1^456F{nm*T_>)?1{&62}U+(#FvJes`Nn`@Tb@hc$+l zK#-<R66ZB;=K?0>zPm}p^2|Bi+$bC<ZD}H+K+zOf5H(4BbG|M$O%YV2A*z}m$6?3u zu--#3Whw57NY!BdmkBmH(EK@T<iFAisa+aNkMTQaBy?(hz{2);Jp6ILV~!W@DKu;> zxa>O;3<E$2Dlk==>h$)0^JA)QT|9H$;el<A$wlg5L|S;n$$i>Px~w{rgHs$e#^GaX z*cJgEkB1$PyMdgA$sdp5$K&pwKD^@P^%eK`cYE`<ToEjaj(Zl4Zsx5w`tSe!-}1{Z z|DbPQzv_k_VLVQVY`6dcc_n0VRkU#-fQ5R`$q&Ud@cD;N*!GUEk2`Wq<^a*<DoHF1 z{hVcho>AxkpK~-S&C!UcZ#!@MzNmJ?2<Sq4K2NG;YKZQYCB(5g#q{_0cLy^rmn-uY zdLD8O5@F77m*_S1LAhq~f3c!@X{3llrN5l?d3|y;Xw;HTJZZpMBL}d*zCfhW{r%0D z;oH8!+~HuDQ-Z7v1<%r0!NHkb-0Q$gW<?TQE#k1T8k%$6G{%6=3>da&{H=c%Gw%MB zEmA2PD^Wwpyv_r0c7s>Y49EGzEHF!+ftpKePJnFtj;WdxU-i--dF4N5et@?;2gQj! zVxa9iq|g&oj0~DnRyA{C(97$qwBA#A>E5KlOY;!`sMs*%vQph#2rG<E=aB_l%-BZh zv?GWLTW=sTnz>ux)j)=<)Kfru%;`EcsEJRyCkv7zVl0(GKqts-#UM8wV|lqtanB*) ze2zxN<#GX%LKR<;=&<I9w7|GbiA*iVd<hjP-zT2)r_-k_EM%&I-b}em<~x5^i6hnI z{=@`$(i~Og{wx{DEO(C>#A5cBJuq-h0a=jvfwIC`62g$X<x<!Ft0v-%&CS2Je3_|N zXzBV3j=JUOhF1ZRqow5c7Mn5l>#Fys92|zEa56z`>-Q<m!71cCQIo_)S$XoSvOHb3 z%a{NVdrcoQg8=46B$E5`$bz4Gc#+l0T+TT*u60h67C}L&j;@P&<zMITTJ6E9oIc$G zS+s=yK_fjd7g@;$07(!TV?3JdbP-Mq4)Q$$>H>xtn8h=<9IGQKMM34m3)8lBm<4@p zK4uaZBQb7L#rx)pjG4GRrn$$f9E9fwvRIY{wW-OHnz_1#PrgF3VhrsyqCM_+Kkg6T z+Oi_9)X93L+$obMYa%h-G^}e3CS72*Q%IK&%W{Y$k}IY~?CIRmHML_(0^jl-gWT0c zK>Oawbhyrg0)ty&VukX~(4Vr#T{ik*e&)BgH+6G@#91qu*`S5?#reCHVy?0d0MKy^ zGBdoszObqS0dJwH>YS;fu8KKB#90DSqh&|;SSh4aiF~Doe(!>!(qpU@GQilkEzY?t z0OuHfj1ki}7GiGRN_D+Nm?^-G{8TzU;!c%+L#Unb8X*%yQVbl?<t6w_5Dlm|cQ;5E z!ZASHXxlHSRb9pjpUw%3*Dw<kYzye+j>z+XxfADPj{<oNWA<|2RFT(O!{xHm+xx9_ zx>3kw#>(33pL(cZo@9ndAj9D-t<<%YX-P3r$X$P3{>%B5g3-KJB0Hgphi3w3R?5?* zo*qRiFNKXnjo0}@=YGF*Muz8Ujijj7=&Z%O;BzsNc;b_gn<M@L2SBE}#OommNmVGr z-7M2~9lm<NOqGqq4I(h9=i1o=)KzO0Fu=|Ww_d~7rB8c`q7QIdj^I~3R~+bG9hvG} zSXiq|)+0TOAv7O@Os5}YR+(zy$8HNtxpDwNr87Wly*^c6am1$KXHPm7II^5;2l5<9 z6vD3+(HWglOEHcUc`OsDMJt}pfEclmIm*6Q;SE_etR3<-lHPE;-97$Uy+wHdJHfQ9 zR7BIvb1s9haPjinRWcQs(Ph6t8q>&dJa><TF4b@-6%i|$%FN8E=1tv1ybq;ycp9Fa zguY4yaVK;2(q}FpRjS%`PM2aV1Xvx23lmI|t}FN$VFVXqlFJopj%ohgDu!98HNqwR z$Tj+3<7K2ar1<?+2s|;iDanxtmcO4XhEUs*DTtVu7(MKqbiY5m82uuQZQqy(H0HGA z05ApG*cX&DiH^?|agF<8^xI%=wA)7a`+a$Ekh{0m8gG%7M~i_PVF6X~Q{5k`v-ZDh zs#Zix_er<gyP2tf`t(WA8bERR9Xe^cc~3;InbH^sjWJy{I0nqXhP|FIH#hXwalKyG z_h=k3Vl>3>GUqVW9%*wrD|XknePdIj+wn%O>JN7pX4)@XAZU^b*;@}<W^2eS3+AnP zto=em#HZ+^Y`UKDOfiB4lTM>;+v7P&#XctzHRgp8Dzk7)`KUu0AVSAD2pNAIiuWCJ zDoH}UxHU))+K>C)?GBQ@(Y9?NUZus4A$9kek;@Q{i#DuQs1=t8sJFgiYWmh_>m98% ziu=<1e!tu8cK4~8c46}O+s(}4xQ2TW1p5w=#+ti*Rn4SCOZQpIx)S}1r|(l}1O@xP zW8XKlCU}B;A@V7RuKNXGq2qD**}XRc3u{bc4D2LeA~f7@H=o5t0nh-LMH-?@w0&^* zTwlU{daN1(9@iVwjvX0rwcH&A2BS30aEkfHGzxfRyq_7i85dZKsC4%t>xDQyM)RqI z3d>{Sb{S&?XJ8zM_r~blkXa$ifszFTq%~?ua2+G~Bh`3vu9z#9nyct&jRXYYz#!gk zH<J*%X42*)GY!`gc!2;k8tMQ5AOJ~3K~#?_b-*)Ap#-lYjaVAF8m3vKUve}cPDZ!; z;c$1(JcOtPj9}3qX|8YfeMc82vYEdxlexvr#?E4|&b`vmOA$$*mi=ewkLvnE?nal( zh5DAFya=>G#;8*7o#q@g$0P!IFJ$hslpq`HweL6cIR>b?S9GGgWpJIJ>n}OQNzXXj zX9aw9{so?64mLTLd^{NP(bZ>)lfwua5vVmHs;mSz^V|JKt#?dje}8{>RrTHkMKto9 z9+>LVwCdv?c+?E|Ny%1@X_Q>2!y~P%^9CchhD9oX9aE`q@GrlA(Qj{W>-DiPjXC^& zzXhGoCNUWMe(|6nYIb{3ZTHr}%sw>^Y;$#hvnv+>QTW{NcRL<;Z!BoNW7~H$>txLk z6ZVKk9do+PiBB)D*e(eziRDuiUIpw~`2i>6p(Z|_R>M;Ls~Yvz;$bg3R`|o7p2MXG zK+y!UtVJwMDvYM`kV_<aa<-FO5lVGtVv_Z(DBD`x$+Co=9KjeaV9=H5e&6wUgo+y) z0VMV1u@pmATV?69i<J|;BPwR_ly^DP3oXau_xp`5mpu~h_zbDCJP<_$(xldaQ3T9M zEbPJt5~isUy49#H+mbucp%w^k3A*N-fq<PFV3GiDog&(@W?8Twe9z2>F$RIiMH;q! zFSKK=Tm11jmRq2;76nPsZTu|UQ(#9<PE8t2iHu`sjkI*-_!RWCGUMElU^N5oW--2g zdHHaXDn&>lsS*-RL1<Kl(&KT@12uFAHZ{k(N;8`d3F{)fE&vWses3FC8d}&raoIas zHXBnX9b@_*fBa!@Z#O%}NZ^eC44ZTMJnmjAvdiU#uP-mc(&!k69mnB%9FcDm%i&y? zsK=Th&dxdGyHmOE`@Zqk8(v>u@ae-x1k-}RQfs_enT|u(G}E0xifla2%7Ga)hEaY5 zF$GeEyE<9qIaGc@eZP%7?A~#`Q%H0;r=w@{S2oUa8ZBISf|x+3Jr&F`wIzxq!4)zV z<@?O89|;}fkpGgoVcYf~EvP~w2rkbATa&Vq&qqkm8FJLPEpL2@y4S&yU^7r^kn)f* zHK*ofqKlqFLeXjEZj$0X_@eBFQO;L3PPyEW)W}+ey4tgZGFS~6O{`AO8A=O{s&<}h z!r|&5{ENoo>2Gb-0ZIC_gDH%}fC{#4!{;A9@fPW1i0~1K!znTW(0Ze(>Io$A)#Y(e z+^}p!PV68vqIn$d?zC+i1WazAikM+xlGcHYF$HL;eOE!5NZiVY411eG(-OyNtFic{ zVx;$!c4c&WDaxacv|kb6|NQlzYUV!Yh&}lhKYxa0=;?PzF`Zk!2k}rPLm!cBD5M(d z*k8YWLvQjVK+*NV*qHd+-~Kj_aU{-|=>6@RzI}UMeZ=d3zrC+Z(t=h-1ke`gb(DpL zKX>VC0GVP+7NMz1$9?)S!}?bl4b^d&8GU$p<<<n!dW@3iTq2sVC59uw-RY4DiX!YK zh|z2a&68>1PW!(6tA6rl!h*(29qaiGUoy=&R?KM}2bsyTB&tq#BfsAtmbl`;^v+?@ zf<j2SzDn_9rGt4TBcEpR;Q4h4;cM+?Sz`;~S!|4BxaH@n+99c*SSzT4zcYu3&x{yG z;ILyJfe%LS9mg@ewMP3Mq{%$MAkygaa^;>xMs^_<#+b+`Oj`Q_*FcfpZa3O5JE<8R zYGee5`EzJYUVbAkC4k;<QC9^MzamHCBGj3dB#z{&F?DfL#^YfTcopH%A3lD_&gx;l zXpSWyjP<;yM#N0>pQdiiDta}5<=}wGAi{ydSOfJ+ha(EF`{&P}@wnf;^+wm;fpEu! z{-L+nzjH%+8c22eJcf_QL2BW80a~t@JeVN}%BCb8ueXlAb?$vb7a?hV<qR;nef#!J zfBomL`gj};Vw!D+XTJ&D%#X+6b4-sj<lUy4Lxe^$`8~g@ecL!zgyv@EdRS&8#bX+J z8i!7$gARMVzx&rOzteB~Z}{owpXBq8KeVm)n4;xml)+$T^wx3|>=kW{n6eXXy$5_M z)6rtTez=H`x47cHxcw!d3))eNLgO2>Z5_AUJ$H<;PHyQeK?235T5v`xyv&^(y70D@ z1Uct$CI{qPr-dLj{%o=$e5!(l@zbAv44tdnlRYk1&@3e`chyPmo#Wh^IVEsB)kE3) zI>5OyD`9q4Dj6gEU8Fh|!{(f576LPe{ZtZAa`h4fFExj8%0Za0HJHhQfk`&Q_hY!a zhiDWarCfieg?>z@sf5?pmq_*X5x5MU<QxFJni#5TOaST<tPr3S4B&FT@Q*)y=6&Dc z<Oqvg4^dI_;3J)msr3fSrB3Clhw?0O83iOyCcEa|emPgt9s<rUS8Gq8pcN07%6DIt zeX-kDUbvc5CN>o<%+5rrWhq+fWSovzPlfotZ}fQF>G3!c1sh!#p2&8-?2YH2#X>YL zXpuveWW}Dx19(3s`Rb0NSYc+EtKV)nCwK3?BZZ8a8kdC%^OIWH(jF7GIxrIHYAAnn z6a%_Kp3*u+&V=fuh&)7v4?lNbkzz*7?5Y#e8>BUi$8ddeW-R)^Q$ge8zQ8|ABzp1` zmL=;sWpZugW5kz@T7)N+y^u~)ou*K-^_VybC%|P6GUgbciew;^Ixn5!Ibn!{g+W}1 zO>-8GWIa`=s_*-bF$O*EcQ@fD;mOITs1;WeA#U+|%rR5zA^<iwJ5~`^JcQ6pthB=5 zF9ZtW$-WARw3VvJooUXXu~ien`T8qHG_cIE(<U$_Ptkc<>tg-{Q)f8MEU1=-MPiCD z%~Hr@>j2lBIGs`M9OQs$=)EljI48p*-Y%w~0h@=W;FMZPMB7z(WsF`^7+1OqO)$er zKn&I_k<-?9T((BH`)!dRmzF1=ElKARvCv}-8X1Ee9bmi`mYN2|K7H#wY+CM71Oy&8 z3g^fQAw$@0|MHi==->YKSDj-TLrC~Jy%32wdS<Iu^LH+2%L&o4fSd_YlVmFhb7X?# z9}YXTddoD?+wJau{p<hG{TTG;|NOIT`^L$rg0$vtQN02no*;FPHL0gRbn8f;OX%$^ z1+AGL*}{1gngDf=O>{{BRz3!O`0xSWzP(ei(j$;K1mK~~Fjrl{Z}={3E?1&Cm2pqo zt$>y%zjpe|r4q%jzg#c;`SWLt0K1(qGRiaa>3lLb4+e%V3}!Vu&p9{%+|`kBzxj~b z5{<%%P};<dX%DW6h2*d%3I8$`eF9FGpfh8sJ&F!gG(DDc23dHkDzUVTZjR!dI7pnH zc^Cv)WW}QEdfL}x#XyPRCu(IgsS~#KPGe4z*6{OBKl8qKjxP(*97<c;NQ6nv;N%`` zbMq#RoDJr&2lVx#!!H+jV-RmWj$qRz&Wka2P?KcIeojH+b7X9){88ZvQN_hrAVPSQ zvH~oc1!^agij<`L#RZx6j#AJQfwA?Cdf)JP49uA$UNcBlc$ItaAe&a%%HhM`8urU& z?ZR}%WJH(&;;LAq^DiqHfpi*;p>CSfF`r)2a0U}RE~``>*O-nFL^RaDnW|tgwr!){ z8q}O74F_?;n!>oRvw}Io(wapxEibz}X@+)19(?S!9`_qfOZIveBQY8RnQ=y>ruiqp zJQjy=gS5u`ejy^t$~&@rmq73d_+0af*p<=R=T+HI;x2cO$Yx;@4tpBZu<d({`P9;- za9G;1f^(iWWXYLl`P>AJ#0-!7-P|mxZaa;~5zD;5F;bI;y>HZ8BXXy$H|kphbBn3U zF-)gY5+orUWBTu5Mdv|Qht~c6h)VuA(hnR-Uol3Pg}IiDflfCBdha<U^A+zZ9IGEn zqMY<Cc7$^}Qv?wS;|w@rru}kZA`0a2nEpWoA$jK&Nt*f*+P6-<?`-+5KsZME;Lr%= z!ngDR3`N-|$wTP$fBv8U)&BOEzuFv107FxG(w-uu0S8G$3eXug<)%tqf`!ny)=4?_ zG7BY)iIY3_ONTk={dRMmMwDni&!nU1^f}T3TkQ8kT&6kYTSo`EI}Ht@=HLGMKlAVZ z^Y=*(Z>>=aHv^d)$eG{-j#0d)a|l}(?7cHUB;?+O$;`QlP-~JH?y&9c+Y4{GX4N>e zuvi2-eT;BB^=$`O{L7c$b*lQm|M@@KhmRk)Nv5|(&H~UHoY{F!3%3e|tr6s|N;*oM z3@_K%W#4eUUIAttV>nF(BovHuPE*qq90%Y_T8Sm|gfWB8>2uDq9fo_Q1m6|@<4!uK z6C=(M57-(#CFiz6u3{xYIyuqn%WG;38mjOkGZGd+m`a$Z83OmnEE8lLuxH^@6XtMr z)g;Cjn%7tGoYe*E@LV_Q^l4GlrQ2yWYmu2z(Wy&pmsf8xa-3*th%UWgZeW^Lw)#n} z_u%rNrg7$Gpx8AK_0CxcOs_(v?CSBqqv@>#;I=Nx;;80n^zq|Ietmu6Lgm&NwCsK6 zHR=wyOm8hc<>3)HV;k!trl(C$?&4Q=az2Qs03*jQD1E?pK|A;t+g}`zXLKae^1%hu zz%wV-zS9v@psd>ppLcin^x78-2d#IsMCV#SB~TN9X(2cS6ZN*CNe2nhz@RzKPK^+@ zKh+wIra&YCIO;}K9S24?LUxQm(wP{tpg_wbP0<XAM7Tt)9QJKP6Cs^SlLJ_zYNyb% zMhk8*H8M_pLMw40VY2#TJd`}#9y)_)2R^H6M9k>YAw8w=Ep0%{aarvBCBkQB#N?9G z)0rOX<`V1G#Lb@o-K&tx&q`J6k;;9or?Ndpxp7|yU&7ryW1YiuWaP{o5$1lr28!5C zNEUUbM%%t)%r&N5lrb-iZYlB^5E8Enqo7qarSPbJR;py>3N*<yH}{N~jW@;Ad_=HK zh7M_@#g(fdcnfZ-U=d$IRVha(|NDy1bBow)a_3|%FfxEA*L4x@6ZXbgQ-tc&0M~#| z(e-i(@3b!}WDr9IDMoto*VpHpMZZoZX7ZnY{)xwN$lw0<KQWH_?l?l>Z;6Z%OF~~o z1;}ad4NaH^gUs`Ja3|A|uRT6qWG>0+grF2oItjw2*PEa<rq(KI8Wh1Zk^xB}6ds59 zRP}%U`m6o&k6#ts+;m3H0OIqm6i|pz7l!OjbarQs^=9u|d>$H!pv5DYbNHwr8fN_P z`7?j~_yOO({$Y>fz_#sV?({egKOT>mcxAkygTT!G?d{FR|NEEu<By-^r=Nf3#sbT! zUh5sijBT4sjS&Qy0KOUcq<W<eSMpqN0x=s{0xu`x_5Jf_XI5(xqFIDvLQkx(pK3rp zh3D=bMfvHYFOY|?J~rGR#T*L(Vm$w?F}5b8bDUEFE!P*X#8yiocAd9HALNx=6L(rf z-bYEJaTn1_A9VMmGUop;(+e#Kr*t~k^29Fya%G%oVt8_zSlYMTnZzAdJAWsO%%c*1 zXLcrX5X?kIq!i&nMQwbZh(`esu9Kij>q_w?0<{_|*GP7Z=}v?nK7ZzP$~sXYKSLv+ zIpT-{Aa)r}u}?C!po@7hQkQ@yZ}2f@Z1|ddmv)d!e3%*8@>YhuCX&yh`%tl@wDn@1 zr&Ukg&Al~Vqd(6!lrvS(b3_{6`HE&e*}|UosWGFA2*qoR%wJ!xEDV}+nwg>ZjfI8o zkB7}U$;rZ+kri*<4v*tOrsk5_3jVZ`01>rxIUF<IO9})i_O0W?>lI8+x7(c_BS>^+ zNQOTx|L@iti6r!L*;QiKCm8_E3|On^7q1akjAojzc*@dvFazBU)6`UlzrB66CY}4X z#lW9sb?Kp%2pG}UGquo^%%=BrW~fdY$HS#>h1U#Eb^tV-nGu4waF2{*_|)kdyP~ju zRmV_*qC~t?1`JuU!5J~_m~$pBGb(U04v<HF!;0tKkO5CwU}}ytr8RK5Jalr`-Q{rv zOM&5$(H>vUp<xf)TPJq|H-@;-`?qf{B5vz0i!piF3S&3RDXf(ykx%dE^;Z*^a9K3^ z{mUPA9AWPxa$+Z+L+SQDO`724^@UsO2=_s(?PGkbM5Y0Q5%IzXGmtylQZI+~j~UdY zk;R(myQuJTWf3#o?su9xb2|c*HTF0TA7icvY|lxch`1))NG;YB*OwPz@HDsVaBD>p z#chs!!~g8&;8b@z;p4{-d6dPwHX|V{h?@=68$*OK9)};(ys-QC+byV=2+T4I69g$H z&Tu6G33u$<hMqhWvv?-o-*5iqx8D^kwM&m#Sb(;|rNlx8M(+*(_S0v6**E&*>sNa` zMq1#UT92Z`DI$8me7V`<INXe=_YFV%@JT+tzT)=&Mz1d~etEevf$8n-EieZAMpM;i z2>4xNA5O>PVZZ$S7ytJ44S)L6&$90ui$orZ0JQf26b+pL)#7B_1LO=?t{~<#nnOv4 zdNEO|aiRYY7MDx+h5P;C(z2M0<%(A!y6pZ7;s&&>FThkq37@w7_)bf%rs9rJGFNvZ z-@1T>U^+<EEP{PPuSTiFPph3{t%%}!PGenwaR|hY?{MztXp*zAG%Hw;!}7eRg{4mN z<eGr`DsTewG)<Qkl~w{`7|8IH(3Fj8S}B3PZ_F&DGjMBCY1r^cL`+Uhg@+Z>g7ch| z9y|=yVMIVq27?4hPh(d##r5UNm+KDISv#o6D^3(5MGNuF3CNVRLh{4U4ChdQFA!8l zY&KpG&Y3t&r(e`{(y*}8Fq+o_<#`go(KV%w&rYsXVt-H8^}paKm(9+XW$8H`Dk{OS zhU{C%%k_#6uP=DE;_TZNf8QfFEVau|qMRjbeMWMY>#{F0nlN0=BcTkn+i^7|W^sVf zq~Z1Yf|u(KcgMHe-M_uve9YlifC~v#`PN%a21)G{`&F@V((qQ|WYwU7TFz{(EIz3B zh9(Va>cTgS5lZ%#>nk|odnuZi66@#!6K#E4vCWYtC?shqIvx+_TqmSxECLLZDK8vC zLx5<|5nuAMeiFWC=i>}Kcyfn0B!me%6=v=k(38_1r)Qzhj6FKQ?7ino!&bC2xU~$r zleO+*=2&-CwtDe0IsD6&j>pU}HZRRY@&{bRR|F;&-I2}-Sv5#FwGolDc{*X{BJ<T0 zAiif~sL#<IDIoN8z2L;@El87^k%ljYDiFp?<AUdezDQEEEE_9T^ZN1vBgfPkn6+Gu zm>Q{Tq@U$@bxjsyjR0X;AHx_k9195;M2fMZ7$9c|N+l2^w+u&7!@dhH*PR~6qb8dH zQc6C1>#YKs+_OUi*iV5RQ|~eEPoY@_z#vGTjMg_uaxKEjN93yh$8TTsxF06H(~Kx= zY^{0koti|<>{J6c!N(7;e7RiccsytvWBI{3(;r(1W)nVUSdf<95x^tH^>Tqm{4Uho zd+T_4xh`D$F{VEr2gXQ!h8wAofBoaDk2&ej|M_RUzP_L$Y%4>f%)Bs$3a=2i5~HYl zfUkOI5m}>jH(I{;%AY59%JYc6ef{R-@vOvUW@lDQHg-=ilXy;7oKITcE1faEjJeyk zm7rJ<f!5-3jY(Nr>ZR3Gq*iY3XE@54%13KNe{x=G!p8{b(E3jJat&pqaq=`g8?ICc zKcR$t-8r!qujwx*|Jk0L1_hzYHqsG*HX@cJ!ZJCOl$_XfSrlXapkz7L_b0ATY3Psw z`k3IeS4dma%q*{qwYP?!fBs1b4wl#(5edaA-ZBA-XxnxUq0V7rP)+Zsw+>-OQb3Dr zw!G?Lzo@f2rUj;!<GS$jBUs;YvE+Do!DCBJK8KqbVx%V2%*Yf-3@Y(6?|>Ytl{*j* zY()Dqdc|K->{K@bT;f7AQ+j>5;^pNUJ8pG)JO;TrZF`LNV-2Cn698SWSAM--`RgBF z=kYi^Ivpcob^+nz%L{*aeZd&R$5em2-RKxGRXK%y<YNrK-R>YWx?C^x!{^WP^Upt% zF#PX-|3$z2@zqS#m7E4bytulhND5mtL|-wK&!aec3Sp_Wlz4?fOB2#DJv_{y-Z#8{ z_$VY2xXI&iozv%-%S)RIUav_Gh=@zm;(=hhJsu7gT&~w#@ucgSR&Y{yl(JxHy+`t2 zsgqOh@dUK-6ycyXp_W}m3i&D=C3F*V&Xq$vs-$KvszC3EDN*in^1ke?Vc&LgcY5@L zgn3!D-GjZ)47yye*tR{i3g*tzh}Gy^Vr0I3&7l+cOBvH-Zn;aO@=n)0G>h55mTdb@ zQx!+LXqFqLH8e)8v`AVfcfcP9vN&}RVc&L0>v-HBt^|0(l}=nSJqc<x(#i62O$Guk zmkVBAUh%lU6JrHQ1e!FTh5fQ~<rb(#MuU1N>dhTJT_Pp$0}JahEY56$rwgE1A|s#0 zNaS-gA^Q2}ANiQaa*j}fQAFbR+_t_zWM0^73z2eCKykTVA({G_tHvBp3);2;K|owo zD-bZp@GrmpW==4j1o99-?ps5cjX-0lt2_Sm<4?S`PXGM%iy!y9UoO{3^EFL*cl@l7 zASqhwkT#f{yl<V3aro8+uODAI5*$x(Te@usEVS=CU-pat_T`HnV|WR0nHi7!-EZ$V ze|>pL(PLP1DMg0lLdp|e*dHkuV{Sp6b#-<1$8q=8I~j3_HDRWNm`_I!X9gCgy?3}O zO+OqaL~dS=q%b6$l+c-ps`cGZ<!@%`6n>qZIAXo#Fw&_G0SO7*)%R_OsTV<(8-pM% z*T2hFna!u?+ARg9Q=Qz1ldwuf!p)AnHIBO@fmW@jrY2KX-GX^gVN-RouEIWnJ!2fX z(hEHeryV%KNTK=2B83t0(e=HI%p!AeE{p@B<eulFu+!sl55)bp#q*msXi5gi7=d{A zf=opQ5?Y8F;4ZOq-?q-5K7C{_=6JRSQDr!}DYf1ZJO3De1&>|}>6q$Xc@lQ{f(V^e zR;I>j9B?6Q!U6^n7{cU3D@pBHMBy~Ygt5gQ24~<9Sya+tw+afi2H+a@U6inqDG{2a z(wtoub%_?~ZQB|y+ZGz;D5jROb7iZW!2y><DPJxZdVhP%Q6y>}k8RuW`ud7wuveD7 zW&0How3W<g>bKk7+?^pp+`DfAe!X7#&;Ri!sLuKJ{%(1XfHOm#Kz@5X{5S@tDs6p> zJ!XA|Y5ypi9G_JZ5i}XmPE&`gsgF6%xM(v!#-wTL<8gPL!`&t|0U5Vg(Zs>#<Q8iG z)`+oaKVC68ZWb#*1{p1tZfZ;@vAmHOD9qs20{iL%a|YQggokl(GY9&#Rv`JkuiO(l zziqxqUg=r()RDv}n1w*0OIf)BUhob^@!CZsGX-{MiL8tasX06LmR(52yJmspIR*@g z$vL4adZou0)Qg{BArYpjO53(!jDazZ`sLPSiI#dfEmB6y=NuG2hdR)RQGI(wsg_>j z1WNfCiJDy$ot>2Dsw6PUd6ywQ;M=|<^3!ci0#_~r7_GG^c<m&L?)#48F^H{zOmP-d zMO3Tig%GK4y)}IJ_yI!)71tURVJT-QC4zyF+4jNrF%ZEyc4l5$mcXs9)Q*7l^qxez z$aRP`I`@D6@=u#%n6yR~f@$i#1!>RCRgI=9US3~uz3lY3KWHAq`?kl_vI%HTGMh0C zBO(dm7G3rY2JkV$#`w73tvA8tas?3f>*E;lrC)%}u<!LA+MhATsbbFr&|m-gt8QDT z4<BB_%o(YpDgJhHg-a7`dxzeK*VHgqebCbS<W?I9tGEMXaGGi~)cm@4TrXR|IW#S$ zz7j{*(wB?$R|3Fj7(7@dvFAp{aeG=2$$jZI8Z)^~5)uCJ^2!nS8-z%Y1T|l=-43!R zCqN)|*5wOYD~#gco#6J=Bdp#2;?G#dkEQR8i@s|99FuUOcfHP(I7gnHVo#%p#ZVwW z$+DD<GMKXj{azy@O{i%E!y$7eP+0&;Vzg<|0Hw7$Q&_#_Tm->Q7hEno_ug^(?Xw%0 zhA~DaHLZbcGNRAi=jovxm-6XnM@CO9=pq=z!5!f=L3FClF4V3p49cC0TXZ9oWH}=8 zkz%Rf1~e42U5L<HBQWSbCh4IOL(NRBL{jdjU5^0#Km)&mNJXKlG&6Ob;rI89=atq- z#OT{w#~6cDm4unLt&=pNsWA!o`t=XH?i(1CT>UFeC#Xec__z0)GnKECmrXGcyu{LY z0fvT7!V$kWi5N3e7vUxiKYacqFV`!ti;ReF_q+Z6^{ah*dr!KRz>R394b%vxMq>p0 zrFI0o25Hrj!snb20jURucWWKD_c!~^Nh4({k90TMd%TXRjw3Tp%{-X;t<iqHvb)pc z7OKwImzM}-Qgt^_c;{(ZbdK9$?oL~9AaFbmpX&bc^Ob?n22iX>2uySw2ThH=J;!?- zV8asPln69g>t!UoUUn7{`u6Rcn;G41H`}%it+yPN$Cvgv4!69Fg+mP0T0@WVEX}DX zd~vAuqXU+RHwLrB$}2If$L;VrhPT$Uppfjs=mZ31Mnt(-`qpWhI>rD*vg(%<kkJ{; zl4IR^pH!9Zw|g)m7&NBQV+?{w1e&Q4H-VEQ=$#-{^T<D7?E97)gqe;Vr^n;rxA%Ad z`t@t*Z4kRqB>C)ey>jKTml(;`sMu)<NL6bR<z!Aj{_q2T{o@-Fh7-8f(<S5_UtmJy zq|lE)e&qdf<?&v4;YOV4adQm1&lxD#%N3!y5E61g&mFK=W(YCy3Z3#Q?x=_T5*bkp zcJ^O?{Z+qw`F-}*$jDdI6516ZJ>sChTrT|cPd~D0beQ|Tq4!8qga}O4Z?{{db~5>N zB{RkA>kEJQ6g%|$<6*~f_;G9|(z&&;D3d!qRLw2o%ws|w{xNBcZR-^K;)xmQnf~?b zS5=+<-~a2s+UJiSSUSTUAdVH;@whv{bh%zJHAsDq2#z91W(7n?9o?-H_eLOt>GWYS zF(q<bE<5&{g-H<r03ZNKL_t)o<8jQDBFYqQETiu;q0>GGtqDPjWkZvq(DQ~wem=Q$ zj>6%G4<F^@#}9nJKY}&3^vAvyhlO!n7kI6^h^X&d@IowXxygPYM8oTI1kx?mK(bce zrC&n@e`M2A;l98rg3jwPCJH^U?(Vb#^E}SsyjPi?9nUL#YYr!7aNANe3^1h&j-u#p z+eXK6kkKS|Su2g4!+A|;qNonXLIY^o;mi#Cw#SF^6gd(0jNxQP(pxg_0|sOIBmvJ( zq15-$SwHPJ>?9j`Dl&T$>P?m%X=;8U6EML#5o74wcP3e`AUt#$h%=rytWCYgWB~JI z2owXLY*OJU$%i@-5){-kXJ%@>(cAmYg_~{L&RSH-*dN27q!H@kp_dT9-EQ`efBZAY zutGW}U`8z>t-;LPLYeK4aSN*7CRDMub50umsF+>yglGKm$5%fd4;#meZ#@o><>@ET z+xyLb`|`WJy}x^ry(s8maDTWoS#goRxKPQEITI_LSrGW()2+d2qnUH~#uCC4Q)d`$ zlDqTtjfWw_iMdhhEtBe;lu(r^Rv<c7Hg@dx!qq`(X(KZyR*OqM|2de^7%tzrLnzd; zk^7o-z{H+awneJ<&CRjg3i0o9G?)UU8Ugy+x36^uGxmK)Ag7=B6Kj0TEBB%Zl`H}` zEP)l$@)?L5a#?GMDtZz57`Yn};ZT07xi=?Ic+R$Mn8za}!of6<*3gqpA8PgCbB@g6 zN?i_wypjfKF(#J4%QA|z1xXI|8hejv3`Jt6KOPSQdW{DctfaL@>q}CkMRx}*r;=v` z_~`;sx?Fd>yzF>?e|XEwCWR(`+IF!VL;Lm0<^+)~-p3@g*|gvfFvuL_naqf?oW>Z_ zS1fs1gNyFZpw>HWeFL|M$gMN{{eJg<{Q5;5>_|F%K0`jI=9*Dy?;St?{Ik5gT=Dgf zujU@&*g*HTg*K;P*ZZ_dFE2ZO`sqjh&;R_d*0-I%y?yh)|MHLd>py>;kNd;j$+vw^ zRCOmegJ}p_O(z-1rFXjY4LW8_IeHIml7+tf+qXCS>tFsl>CgYsK7ahk(gY+7r%oUy zjr;=i)@ka)mSZiVXihuVQ%KR7kr1oc>|g1JpMJtGzx)H$?Wf*8^#ktC{yk9R{|8uB zIrpW4Pn1;HmZMX~=O2E6^hP+2JWKfWM`dq&@-2873M&9onxy0`jQH!Gi9|)RD1L)r z_Z```2&fqzX1a=+rB$j-fto9&K$H`3mv`C9TTcwt(i~RzpH(!Gxx)=0Sv-hEtdz*T zk^JA!&OSTw+#&K@DZ5UMrBvEVK8;>pu85F@w29=dl*qg_(7tc%0DXIVcW`)HEj)W? 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%0A4B-$kpcdtM?X%f7vkh_!_y7)s@v! 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%0AW;CGIrXCujOj(3z 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 O0000<MNUMnLSTa9`|YX# literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_hpc1.png b/public/textures/vehicle_air_hpc1.png new file mode 100644 index 0000000000000000000000000000000000000000..80201ef69a4b7c2cc7f5b3efe5b730a1ec1a1d64 GIT binary patch literal 590518 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%0A)k?|y^s`U> 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%0Aw?; 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%0A&mUx({|u)bi=|XtpROV#zI=YMi4(rk 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%0AfaBGT_-NGLaQpljY&4<|`sh-pS#qi% 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 literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_hpc2.png b/public/textures/vehicle_air_hpc2.png new file mode 100644 index 0000000000000000000000000000000000000000..ea7622052dbd04fa56122f2ae36ca5ba0a94be98 GIT binary patch literal 425032 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%0A&V#H;%NR4` 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 literal 0 HcmV?d00001 diff --git a/public/textures/vehicle_air_hpc3.png b/public/textures/vehicle_air_hpc3.png new file mode 100644 index 0000000000000000000000000000000000000000..04d2e0ec91463a383614fe3e81fcd5f556fb69fd GIT binary patch literal 440587 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%0DY6bZ7G;5mVb*{UtTfdxn-BY-aC%H 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 ChOH(5 literal 0 HcmV?d00001 diff --git a/public/turret_assaulttank_mortar.glb b/public/turret_assaulttank_mortar.glb new file mode 100644 index 0000000000000000000000000000000000000000..a6b81ed796c36e68ff01033b17f692fcffef2218 GIT binary patch literal 83856 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 literal 0 HcmV?d00001 diff --git a/public/vehicle_air_bomber.glb b/public/vehicle_air_bomber.glb new file mode 100644 index 0000000000000000000000000000000000000000..a8332b0a23deeeb2302f0ce25a986e38e3423f5b GIT binary patch literal 202876 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%0DB=g68b$h{h#&5aAN+kYOTZhmIP=WZAS?|JO(oyV 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 literal 0 HcmV?d00001 diff --git a/public/vehicle_air_hapc.glb b/public/vehicle_air_hapc.glb new file mode 100644 index 0000000000000000000000000000000000000000..31badd092c7138ced0f038d56bca7d94abd15d8e GIT binary patch literal 223216 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 X0pzds_)&i6ezJMS7UB*b0N4LN;@N5y literal 0 HcmV?d00001 diff --git a/public/vehicle_grav_tank.glb b/public/vehicle_grav_tank.glb new file mode 100644 index 0000000000000000000000000000000000000000..0ecd7f788139ea29e68b9b05a944e83cc96c2257 GIT binary patch literal 174908 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 literal 0 HcmV?d00001 diff --git a/src/WarriorSelector.tsx b/src/WarriorSelector.tsx index 40cbc24..7792c2a 100644 --- a/src/WarriorSelector.tsx +++ b/src/WarriorSelector.tsx @@ -85,9 +85,14 @@ export default function WarriorSelector() { <option value="targeting">Targeting Laser</option> </optgroup> <optgroup label="Vehicles" data-model-type="vehicle"> - <option value="vehicle_air_scout">Shrike</option> - <option value="vehicle_grav_scout">Wildcat</option> - <option value="vehicle_land_mpbbase">MPB</option> + <option value="vehicle_grav_scout">Wildcat Grav Cycle</option> + <option value="vehicle_grav_tank">Beowulf Assault Tank</option> + <option value="vehicle_land_mpbbase"> + Jericho Mobile Point Base + </option> + <option value="vehicle_air_scout">Shrike Scout Fighter</option> + <option value="vehicle_air_bomber">Thundersword Bomber</option> + <option value="vehicle_air_hapc">HAVOC Gunship Transport</option> </optgroup> </select> </div>