{"version":3,"sources":["webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/es6.array.is-array.js","webpack:///./src/components/mathematics/Math9thGrade/Utils.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/es6.date.to-string.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/_enum-keys.js"],"names":["ctx","$export","toObject","call","isArrayIter","toLength","createProperty","getIterFn","S","F","iter","Array","from","arrayLike","length","result","step","iterator","O","C","this","aLen","arguments","mapfn","undefined","mapping","index","iterFn","next","done","value","isArray","createSpace","xmin","xmax","ymin","ymax","graph","JXG","JSXGraph","initBoard","boundingbox","keepaspectratio","axis","ticks","visible","grid","showCopyright","showNavigation","pan","enabled","zoom","placeCircles","board","boundingBox","attr","size","positionX","positionY","imgs","i","create","opacity","fixed","highlight","rotate","placeBCircles","placeEggs","placeExclaim","placeChecks","placeCross","placeQuestion","msg","_m","m","anchorX","display","anchorY","color","CssStyle","_defineProperty","Math","round","canvasWidth","placeComment","_m2","placeFingers","placeAnswers","obj","_m3","letters","txts","placeLogo","imageAttributes","im","placePlay","loc","x","placePause","placeGo","placeShuffle","placeTest","placeUndo","placeRedo","placeErase","placeEraseLeft","placeStat","makeResponsive","resizeFunction","bb","resizeContainer","containerObj","clientWidth","clientHeight","setBoundingBox","fullUpdate","window","addEventListener","drawSegment","Pt1","Pt2","lm","strokeColor","dash","strokeWidth","le","X","Y","drawPoint","options","point","showInfoBox","ptA","name","label","fillColor","ptM","writeSmallText","message","_m5","ele","setSize","setAttribute","labelIt","namee","offset","cssStyle","fontSize","placeText","_m8","writeHTMLText","_m9","placeMiddleText","_m10","placeLeftText","_m11","placeBoldText","_m13","placeBoldLeftText","_m15","placeTapeHori","pt1","pt2","val","arrowAttributes","point1","face","fillOpacity","point2","garrow","placeTapeVert","placeRec","pt3","pt4","cols","recAttributes","vertices","borders","drawTriangle","hasInnerPoints","placeSlider","limit1","start","limit2","sliderAttributes","baseline","canvasHeight","lineCap","highline","withTicks","precision","placeStartOver","placeImage","imValue","placeInput","_inputAttributes","inputAttributes","inp","toggle","toggleTF","hoverMe","element","Xoffset","Yoffset","setLabel","on","placeLabel","placeWhite","placeTitle","titleText","subTitleText","commonTextAttributes","titleTextAttributes","_objectSpread","subTitleTextAttributes","title","subtitle","clearInputFields","_step","magicGraph","inputFields","querySelectorAll","_iterator","_createForOfIteratorHelper","s","n","inputField","err","e","f","exports","flags","RegExp","prototype","configurable","get","global","core","LIBRARY","wksExt","defineProperty","module","$Symbol","Symbol","charAt","anObject","$flags","DESCRIPTORS","TO_STRING","$toString","define","fn","source","R","concat","toIObject","gOPN","toString","windowNames","Object","getOwnPropertyNames","getWindowNames","it","slice","DateProto","Date","INVALID_DATE","getTime","NaN","has","redefine","META","KEY","$fails","shared","setToStringTag","uid","wks","wksDefine","enumKeys","isObject","toPrimitive","createDesc","_create","gOPNExt","$GOPD","$GOPS","$DP","$keys","gOPD","dP","$JSON","JSON","_stringify","stringify","PROTOTYPE","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","a","key","D","protoDesc","wrap","tag","sym","_k","isSymbol","$defineProperty","enumerable","$defineProperties","P","keys","l","$create","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","push","$getOwnPropertySymbols","IS_OP","TypeError","$set","set","G","W","es6Symbols","split","j","wellKnownSymbols","store","k","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyDescriptor","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","args","apply","valueOf","getKeys","gOPS","pIE","getSymbols","symbols"],"mappings":"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","file":"js/chunk-5e4c2941.89872fc1.js","sourcesContent":["'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', { isArray: require('./_is-array') });\n","////////////////////////////////////////////////////////\r\nvar printArray =[];\r\nexport function alert(board, msg)\r\n{\r\n msg.setAttribute({visible:true});\r\n setTimeout(() => {\r\n msg.setAttribute({visible:false});\r\n}, \"500\")\r\n// setTimeout(msg.setAttribute({visible:false}), 400);\r\n}\r\nexport function createSpace(xmin, xmax, ymin, ymax){\r\nlet graph = JXG.JSXGraph.initBoard('jxgbox1',{boundingbox: [xmin, ymax, xmax, ymin],\r\n keepaspectratio: true, axis:false, ticks:{visible:false},\r\n grid:true, showCopyright:false, showNavigation:false,\r\n pan:{enabled:false}, zoom:{enabled:false}});\r\nreturn graph\r\n }\r\n///////////////removing the object/////////////////////////////////////////////\r\nfunction removeIt(board, obj)\r\n{\r\nboard.removeObject(obj);\r\n}\r\n///////////////////////repeat an action////////////////////////////////////////////////////\r\nexport function repeatTask(n, act)\r\n{\r\nfor(let i=0;i Math.round(26*board.canvasWidth /800.)};\r\n ////////////////////////////////////////////////////////\r\n let imgs =board.create('text', [positionX, positionY, msg], m);\r\n return imgs;\r\n}\r\n///////////////////////////////placeComment////////////////////\r\nexport function placeComment(board, msg){\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/12;\r\n const positionX = boundingBox[0]+0.5;\r\n const positionY = boundingBox[1]-1.5;\r\n const m ={\r\n anchorX: 'left',\r\n display: 'html',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n color:'black',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(26*board.canvasWidth /800.)};\r\n ////////////////////////////////////////////////////////\r\n let imgs =board.create('text', [positionX, positionY-5, msg], m);\r\n return imgs;\r\n}\r\n//////////////////////////////////////////////////////////////////////\r\nexport function placeFingers(board)\r\n{\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/12;\r\n const positionX = boundingBox[0]+0.5;\r\n const positionY = boundingBox[1]-0.5;\r\n let imgs =[];\r\n const m = {opacity:1, fixed:true, highlight:false, rotate:0, visible:false};\r\n imgs[0]=board.create('image',['/assets/finger.svg', [positionX-0.45, positionY-2.35],[0.5,0.5]], m);\r\n imgs[1]=board.create('image',['/assets/finger.svg', [positionX-0.45, positionY-3.35],[0.5,0.5]], m);\r\n imgs[2]=board.create('image',['/assets/finger.svg', [positionX-0.45, positionY-4.35],[0.5,0.5]], m);\r\n imgs[3]=board.create('image',['/assets/finger.svg', [positionX-0.45, positionY-5.35],[0.5,0.5]], m);\r\n return imgs;\r\n}\r\n///////////////////////////////////////////////////////////////////////\r\nexport function placeAnswers(board, obj){\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/12;\r\n const positionX = boundingBox[0]+0.5;\r\n const positionY = boundingBox[1]-1.5;\r\n const m ={\r\n anchorX: 'left',\r\n display: 'html',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n color:'grey',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(26*board.canvasWidth /800.)};\r\n ////////////////////////////////////////////////////////\r\n const letters =['a. ', 'b. ', 'c. ', 'd. '];\r\n let txts =[];\r\n txts[0] =board.create('text', [positionX+0.15, positionY-1, ()=>letters[0]+obj[0]], m);\r\n txts[1] =board.create('text', [positionX+0.15, positionY-2, ()=>letters[1]+obj[1]], m);\r\n txts[2] =board.create('text', [positionX+0.15, positionY-3, ()=>letters[2]+obj[2]], m);\r\n txts[3] =board.create('text', [positionX+0.15, positionY-4, ()=>letters[3]+obj[3]], m);\r\n return txts;\r\n}\r\n//////////////////////////////////\r\nexport function moveIt(obj, xnew, ynew){\r\n obj.moveTo([xnew, ynew], 1000);\r\n}\r\n/////////////////////////////////////////////////////////////////////\r\nexport function draw3DBox(board, Pt,col)\r\n{\r\n let ops = {\r\n vertices:{visible:false},\r\n fillOpacity:1,\r\n fillColor:col,\r\n highlight:false,\r\n borders:{strokeColor:'black',\r\n highlight:false,\r\n strokeWidth: ()=>Math.round(1*board.canvasWidth/800.)}}\r\n let f1 =board.create('regularpolygon', [[()=>Pt[0], ()=>Pt[1]], [()=>Pt[0]+1, ()=>Pt[1]], 4],ops);\r\n let f2 = board.create('regularpolygon', [[()=>Pt[0]+0.5, ()=>Pt[1]+0.5], [()=>Pt[0]+0.5+1, ()=>Pt[1]+0.5], 4],ops);\r\n let f3 =board.create('polygon', [[()=>Pt[0], ()=>Pt[1]+1], [()=>Pt[0]+1, ()=>Pt[1]+1],[()=>Pt[0]+1+0.5, ()=>Pt[1]+1+0.5],[()=>Pt[0]+0.5, ()=>Pt[1]+1+0.5]], ops);\r\n let f4 = board.create('polygon', [[()=>Pt[0]+1, ()=>Pt[1]], [()=>Pt[0]+1, ()=>Pt[1]+1],[()=>Pt[0]+1+0.5, ()=>Pt[1]+1+0.5],[()=>Pt[0]+1+0.5, ()=>Pt[1]+0.5]], ops);\r\n return [f1, f2, f3, f4]\r\n}\r\n////////////////////////////////////////////////////////////////////////////////\r\nexport function createAxes(board)\r\n{\r\n let xAxis =board.create('axis', [[-1, 0],[1, 0]], {\r\n strokeColor:'grey',\r\n highlight:false,\r\n strokeWidth: ()=>Math.round(2*board.canvasWidth/800.),\r\n withLabel:true,\r\n name: '',\r\n label: {\r\n display:'internal',\r\n fontSize:function(){return 24*board.canvasHeight/800},\r\n CssStyle: 'fontFamily:Oswald;fontWeight:bold',\r\n position: 'rt',\r\n offset: [-20, 20]}});\r\n let yAxis =board.create('axis', [[0, -1],[0, 1]], {\r\n strokeColor:'grey',\r\n highlight:false,\r\n strokeWidth: ()=>Math.round(2*board.canvasWidth/800.),\r\n withLabel:true,\r\n name: '',\r\n label: {\r\n display:'internal',\r\n fontSize:function(){return 24*board.canvasHeight/800},\r\n CssStyle: 'fontFamily:Oswald;fontWeight:bold',\r\n position: 'rt',\r\n offset: [20, -20]}\r\n });\r\n return [xAxis, yAxis];\r\n}\r\n//////////////////////////////////\r\nexport function drawPerp(board, Ln, Pt){\r\n const lm ={\r\n fixed:true,\r\n strokeColor:'black',\r\n highlight:false,\r\n perpendicularpoint:{visible:false},\r\n strokeWidth: () => Math.round(2*board.canvasWidth /800.)};\r\n let le=board.create('perpendicular', [Ln, [()=>Pt.X(), ()=>Pt.Y()]], lm);\r\n return le;\r\n}\r\n///////////////////////////////////////////////////////////////////\r\nexport function drawPerpP(board, Ln, Pt){\r\n const ptA = {\r\n name:'',\r\n size: ()=>Math.round(2*board.canvasWidth/800.),\r\n fillColor:'white',\r\n strokeColor:'white',\r\n visible:false,\r\n label:{display:'internal'},\r\n highlight:false};\r\n let le=board.create('perpendicularpoint', [Ln, [()=>Pt.X(), ()=>Pt.Y()]], ptA);\r\n return le;\r\n}\r\n///////////////////////////////////////////////////////////\r\nexport function drawIntersection(board, Ln1, Ln2)\r\n{\r\n const ptA = {\r\n name:'',\r\n size: ()=>Math.round(2*board.canvasWidth/800.),\r\n color:'black',\r\n strokeWidth:()=>Math.ceil(4*board.canvasWidth/800.),\r\n highlight:false\r\n };\r\n let pts = board.create('intersection', [Ln1, Ln2], ptA);\r\n return pts;\r\n}\r\n///////////////////////////////////////////////////////////////\r\nexport function drawSlider(board, track, positionX, positionY){\r\n const ptA = {\r\n name:'',\r\n size: ()=>Math.round(2*board.canvasWidth/800.),\r\n color:'black',\r\n label: {\r\n display:'internal'\r\n },\r\n strokeWidth:()=>Math.ceil(4*board.canvasWidth/800.),\r\n highlight:false};\r\n let ptM =board.create('glider', [positionX, positionY, track], ptA);\r\n return ptM;\r\n }\r\n//////////////////////////////////////////////\r\nexport function drawMarker(board, track, positionX, positionY){\r\n const ptA = {\r\n name:'',\r\n\t label: {\r\n display:'internal'\r\n },\r\n size: ()=>Math.round(2*board.canvasWidth/800.),\r\n color:'black',\r\n highlight:false};\r\n let ptM =board.create('glider', [positionX, positionY, track], ptA);\r\n return ptM;\r\n }\r\n/////////////////////////////////////////////////\r\nexport function placeLogo(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/10;\r\n let im =board.create('image', ['/assets/logo.png', [boundingBox[2]-size, boundingBox[1]-size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////\r\nexport function placePlay(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/play.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////////////////\r\nexport function placePause(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/pause.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n////////////////////////////////////////////////////\r\nexport function placeGo(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/go.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////\r\nexport function placeShuffle(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/shuffle.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n/****************************************Hint****************************/\r\nexport function placeHint(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/12;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/Hint.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n///////////////////////////////////////////////////////////////////////////\r\nexport function placeShuffleRight(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['/assets/shuffle.svg', [0.5*(boundingBox[2]+boundingBox[0])+0.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////////////////////////////////////////\r\nexport function placeTest(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/puzzle.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n////////////////////////////////////////////////////////////////////////////\r\nexport function placeRight(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['/assets/redo.svg', [0.5*(boundingBox[2]+boundingBox[0])+0.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n///////////////////////////////////////////////////////////\r\nexport function placeLeft(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['https://s3.amazonaws.com/edliy.com/assets/undo.svg', [0.5*(boundingBox[2]+boundingBox[0])-1.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n///////////////////////////////////////////\r\nexport function placeUndo(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/previous.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n/////////////////////////////////////////////\r\nexport function placeRedo(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/next.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////////////\r\nexport function placeDynamic(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['assets/dynamic.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n///////////////////////////////////////////\r\nexport function placeStatic(board, loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/static.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n///////////////////////////////////////////////////////////\r\nexport function placeErase(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['/assets/eraser.svg', [0.5*(boundingBox[2]+boundingBox[0])+0.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n////////////////////////////////////\r\nexport function placeEraseLeft(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['https://s3.amazonaws.com/edliy.com/assets/eraser.svg', [0.5*(boundingBox[2]+boundingBox[0])-1.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////\r\nexport function placeStat(board)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n let im =board.create('image', ['https://s3.amazonaws.com/edliy.com/assets/statistics.svg', [0.5*(boundingBox[2]+boundingBox[0])+0.4*size, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n/////////////////////////////////////\r\nexport function makeResponsive(board) {\r\n let resizeFunction = function() {\r\n const bb = board.attr.boundingbox;\r\n board.resizeContainer(board.containerObj.clientWidth,\r\n board.containerObj.clientHeight,\r\n true,\r\n true);\r\n board.setBoundingBox(bb);\r\n board.fullUpdate();\r\n };\r\n window.addEventListener(\"resize\", resizeFunction);\r\n}\r\n////////////////////////////////////////PLACE ANGLE/////////////////////////////\r\nexport function drawAngle(board, Pt1, Pt2, Pt3){\r\n const lm = {\r\n radius:0.5,\r\n strokeWidth:1,\r\n strokeColor:'black',\r\n fillColor:'red',\r\n highlight:false,\r\n radiusPoint:{visible:false},\r\n label:{color:'black', anchorX:'middle', anchorY:'middle', fontSize:function(){return 24*board.canvasHeight/800},\r\n cssStyle:'fontFamily:Oswald;'}\r\n }\r\n let le=board.create('nonreflexangle', [Pt1, Pt2, Pt3], lm);\r\n le.setAttribute({center:{visible:true}, radiusPoint:{visible:true}, anglePoint:{visible:true}});\r\n return le;\r\n}\r\n//////////////////////////////\r\nexport function print(board, value)\r\n{\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/12;\r\n const positionX = -(boundingBox[2]-boundingBox[0])/2+0.5;\r\n const positionY = (boundingBox[2]-boundingBox[0])/2-0.5;\r\n const m ={\r\n anchorX: 'left',\r\n display: 'html',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(18*board.canvasWidth /800.)\r\n};\r\nprintArray.push(value);\r\nlet i = printArray.length-1;\r\nboard.create('text', [positionX, positionY-i, printArray[i]], m);\r\n}\r\n///////////////////////////////////////////LINE////////////////////////////////\r\nexport function drawSegment(board, Pt1, Pt2){\r\n const lm ={\r\n fixed:true,\r\n visible:true,\r\n strokeColor:'black',\r\n highlight:false,\r\n dash:0,\r\n strokeWidth: () => Math.round(2*board.canvasWidth /800.)};\r\n let le=board.create('segment', [[()=>Pt1.X(), ()=>Pt1.Y()],[()=>Pt2.X(), ()=>Pt2.Y()]] , lm);\r\n return le;\r\n}\r\n/////////////////////////////////////////////////////////////////////////////\r\nexport function drawLine(board, Pt1, Pt2){\r\n const lm ={\r\n fixed:true,\r\n strokeColor:'black',\r\n highlight:false,\r\n strokeWidth: () => Math.round(2*board.canvasWidth /800.)};\r\n let le=board.create('line', [[()=>Pt1.X(), ()=>Pt1.Y()],[()=>Pt2.X(), ()=>Pt2.Y()]] , lm);\r\n return le;\r\n}\r\n/////////////////////////////////////////////////////////////////////\r\nexport function drawPoint(board, positionX, positionY){\r\n board.options.point.showInfoBox=false;\r\n const ptA = {\r\n name:'',\r\n label: {\r\n display:'internal'\r\n },\r\n size: ()=>Math.round(2*board.canvasWidth/800.),\r\n fillColor:'red',\r\n visible:true,\r\n strokeColor:'red',\r\n highlight:false};\r\n let ptM =board.create('point', [positionX, positionY], ptA);\r\n return ptM;\r\n }\r\n///////////////////////////////////////////////////////\r\nexport function drawCircle(board, Pt1, Pt2){\r\n const lm ={\r\n fixed:true,\r\n strokeColor:'red',\r\n fillColor:'white',\r\n fillOpacity:0,\r\n highlight:false,\r\n strokeWidth: () => Math.round(4*board.canvasWidth /800.)};\r\n let le=board.create('circle', [[()=>Pt1.X(), ()=>Pt1.Y()],[()=>Pt2.X(), ()=>Pt2.Y()]], lm);\r\n return le;\r\n}\r\n////////////////////////////////\r\nexport function plotFunction(board, fx, xmin, xmax)\r\n{\r\n const lm ={\r\n fixed:true,\r\n strokeColor:'red',\r\n highlight:false,\r\n strokeWidth: () => Math.round(4*board.canvasWidth /800.)};\r\n let pt = board.create('functiongraph',\r\n [fx, xmin, xmax],lm);\r\n return pt;\r\n}\r\n//////////////////////////////////////////////////////\r\nexport function writeSmallText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(18*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\n///////////////////////////////////////\r\nexport function writeMediumText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\n/////////////////////////////////////////////////\r\nexport function writeLargeText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(30*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\n///////////////////////////////////////////////////\r\nexport function setColor(board, obj, cols){\r\n obj.setAttribute({\r\n strokeColor:cols,\r\n fillColor:cols});\r\n}\r\nexport function setWidth(board, obj, width){\r\n obj.setAttribute({\r\n strokeWidth: () => Math.round(width*board.canvasWidth /800.)});\r\n}\r\nexport function setSize(board, obj, size){\r\n obj.setAttribute({\r\n size: () => Math.round(size*board.canvasWidth /800.)});\r\n}\r\nexport function labelIt(board, obj, namee){\r\n obj.setAttribute({name:namee});\r\n obj.label.setAttribute({\r\n color:'black',\r\n offset:[0,20],\r\n cssStyle:'fontFamily:Oswald',\r\n fontSize:()=>Math.round(20*board.canvasWidth/800.)\r\n })\r\n}\r\nexport function showInfo(board, obj){\r\n board.options.point.showInfoBox=true\r\n}\r\nexport function setFix(board, obj){\r\n obj.setAttribute({\r\n fixed:true})\r\n}\r\n//////////////////////////////////////////////////////\r\nexport function drawDash(board, Pt1, Pt2){\r\n const lm ={\r\n fixed:true,\r\n dash:1,\r\n strokeColor:'red',\r\n highlight:false,\r\n strokeWidth: () => Math.round(2*board.canvasWidth /800.)};\r\n let le=board.create('segment', [[()=>Pt1.X(), ()=>Pt1.Y()],[()=>Pt2.X(), ()=>Pt2.Y()]] , lm);\r\n return le;\r\n}\r\n/////////////////////////// Arc /////////////////////////////\r\nexport function drawArc(board, Pt1, Pt2, Pt3){\r\n const lm ={\r\n fixed:true,\r\n dash:1,\r\n strokeColor:'red',\r\n fillOpacity:1,\r\n highlight:false,\r\n strokeWidth: () => Math.round(2*board.canvasWidth /800.)};\r\n let le=board.create('arc', [[()=>Pt1.X(), ()=>Pt1.Y()],[()=>Pt2.X(), ()=>Pt2.Y()],[()=>Pt3.X(), ()=>Pt3.Y()]], lm);\r\n le.setAttribute({center:{visible:false}, radiusPoint:{visible:false}, anglePoint:{visible:false}});\r\n return le;\r\n}\r\n////////////////////////////////Arrow//////////////////////////////\r\nexport function drawArrow(board, pt1, pt2){\r\n const recAttributes = {\r\n strokeWidth: () => Math.round(2*board.canvasWidth/800.),\r\n strokeColor:'red',\r\n highlight:false,\r\n fillOpacity:1.0}\r\n let m =board.create('arrow', [[()=>pt1.X(), ()=>pt1.Y()],\r\n [()=>pt2.X(), ()=>pt2.Y()]], recAttributes);\r\n return m;\r\n }\r\n//////////////////////////////////////TEXT/////////////////////////////\r\nexport function placeText(board, positionX, positionY, size, message){\r\n const m ={\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(size*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\n////////////////////////////////////////////////////////\r\nexport function writeHTMLText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n visible:true,\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeMiddleText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n visible:true,\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeLeftText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'left',\r\n display: 'internal',\r\n visible:true,\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeRightText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'right',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n visible:true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeBoldText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n visible:true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;fontWeight:bold',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeBoldRightText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'right',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;fontWeight:bold',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\nexport function placeBoldLeftText(board, positionX, positionY, message){\r\n const m ={\r\n anchorX: 'left',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily:Oswald;fontWeight:bold',\r\n highlight:false,\r\n fontSize: () => Math.round(24*board.canvasWidth /800.)};\r\n let ele =board.create('text', [positionX, positionY, message], m)\r\n return ele;\r\n}\r\n/////////////////////////// Draggable Point/////////////////////////////////////\r\nexport function dragMe(board, positionX, positionY){\r\n const pointAttributes ={\r\n name:'Drag me',\r\n size:3,\r\n strokeColor:'black',\r\n fillColor:'white',\r\n fixed:false,\r\n label:{color:'blue',\r\n offset:[0,20],\r\n cssStyle:'fontFamily:Oswald',\r\n fontSize:()=>Math.round(16*board.canvasWidth/800.)\r\n }\r\n };\r\n let pt = board.create('point',[positionX, positionY], pointAttributes);\r\n return [pt];\r\n }\r\n//////////////////////////HiddenPoint////////////////////////////////////////\r\nexport function hiddenPt(board, positionX, positionY){\r\n const pointAttributes ={\r\n name:'Drag me',\r\n size:3,\r\n strokeColor:'black',\r\n fillColor:'white',\r\n fixed:false,\r\n visible:false,\r\n label:{color:'blue',\r\n offset:[0,20],\r\n cssStyle:'fontFamily:Oswald',\r\n fontSize:()=>Math.round(16*board.canvasWidth/800.)\r\n }\r\n };\r\n let pt = board.create('point',[positionX, positionY], pointAttributes);\r\n return pt;\r\n }\r\n///////////////////////////FixedPoint/////////////////////////////////////////\r\nexport function fixedPt(board, positionX, positionY, size, name, cols1, cols2){\r\n const pointAttributes ={\r\n name:name,\r\n size: ()=>Math.round(size*board.canvasWidth/800.),\r\n strokeWidth:()=>Math.ceil(2*board.canvasWidth/800.),\r\n fillColor:cols1,\r\n strokeColor:cols2,\r\n highlight:false,\r\n fixed:true,\r\n label:{color:'blue',\r\n offset:[0,20],\r\n cssStyle:'fontFamily:Oswald',\r\n fontSize:()=>Math.round(16*board.canvasWidth/800.)\r\n }\r\n };\r\n let pt = board.create('point',[positionX, positionY], pointAttributes);\r\n return pt;\r\n }\r\n/////////////////////////////////////////////////////////////////////////////\r\n//////////////////////////////Gravity ////////////////////////////////////////\r\nexport function placeGlider(board, line, positionX, positionY, size, cols1, cols2){\r\n const ptA = {\r\n name:'',\r\n size: ()=>Math.round(size*board.canvasWidth/800.),\r\n strokeWidth:()=>Math.ceil(2*board.canvasWidth/800.),\r\n fillColor:cols1,\r\n strokeColor:cols2,\r\n highlight:false};\r\n let ptM =board.create('glider', [positionX, positionY, line], ptA);\r\n return ptM;\r\n }\r\n//////////////////////////////////////////////////////////////////////////////////\r\nexport function placeGravity(board, pt1, pt2, val)\r\n {\r\n const arrowAttributes = {\r\n fixed:true,\r\n highlight:false,\r\n strokeWidth: () => Math.round(3*board.canvasWidth/800.),\r\n strokeColor:'black',\r\n fillOpacity:1.0\r\n };\r\n const gAttributes={\r\n fixed:true,\r\n highlight:false,\r\n anchorX: 'left',\r\n anchorY:'middle',\r\n color:'black',\r\n CssStyle: 'font-weight:bold; fontFamily:Oswald;',\r\n fontSize: () => Math.round(24*board.canvasWidth/800.)\r\n };\r\n let gtext =board.create('text', [0.5*(pt1[0]+pt2[0])+Math.abs(pt1[1]-pt2[1])*0.25, 0.5*(pt1[1]+pt2[1])+Math.abs(pt1[0]-pt2[0])*0.25, val], gAttributes);\r\n let garrow=board.create('arrow', [\r\n [pt1[0], pt1[1]],\r\n [pt2[0], pt2[1]]\r\n ], arrowAttributes);\r\n\r\n return [garrow, gtext];\r\n }\r\n///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\nexport function placeRuler(board, pt1, pt2, val)\r\n {\r\n const arrowAttributes = {\r\n fixed:true,\r\n highlight:false,\r\n strokeWidth: () => Math.round(3*board.canvasWidth/800.),\r\n strokeColor:'black',\r\n fillOpacity:1.0\r\n };\r\n const gAttributes={\r\n fixed:true,\r\n highlight:false,\r\n anchorX: 'middle',\r\n anchorY:'middle',\r\n color:'black',\r\n display:'internal',\r\n CssStyle: 'font-weight: bold;fontFamily:Oswald;',\r\n fontSize: ()=>Math.round(28*board.canvasWidth/800.)\r\n };\r\n let garrow=board.create('arrow', [[pt1[0], pt1[1]],[pt2[0], pt2[1]]], arrowAttributes);\r\n let gtext =board.create('text',[0.5*(1.00*pt1[0]+1.00*pt2[0])+Math.abs(1.00*pt1[1]-1.00*pt2[1])*0.25, 0.5*(1.00*pt1[1]+1.00*pt2[1])+Math.abs(1.00*pt1[0]-1.00*pt2[0])*0.25, val], gAttributes);\r\n return [garrow, gtext];\r\n }\r\n///////////////////////////////////////////////////////////////////////////////\r\nexport function placeTape(board, pt1, pt2, val)\r\n {\r\n const arrowAttributes = {\r\n name:val,\r\n fixed:true,\r\n point1:{face:'circle', size:2, fillColor:'red'},\r\n point2:{face:'circle', size:2, fillColor:'red'},\r\n highlight:false,\r\n strokeWidth: () => Math.round(3*board.canvasWidth/800.),\r\n strokeColor:'black',\r\n fillOpacity:1.0,\r\n label:{fixed:true,\r\n highlight:false,\r\n anchorX: 'left',\r\n anchorY:'middle',\r\n color:'black',\r\n display:'internal',\r\n CssStyle: 'font-weight:normal; fontFamily: Oswald;',\r\n fontSize: () => Math.round(28*board.canvasWidth /800.)}\r\n };\r\n const gAttributes={\r\n fixed:true,\r\n highlight:false,\r\n anchorX: 'middle',\r\n anchorY:'middle',\r\n color:'black',\r\n display:'internal',\r\n CssStyle: 'font-weight: bold; fontFamily: Oswald;',\r\n fontSize: () => Math.round(28*board.canvasWidth /800.)\r\n };\r\n let garrow=board.create('tapemeasure', [[pt1[0], pt1[1]],[pt2[0], pt2[1]]], arrowAttributes);\r\n //let gtext =board.create('text',[0.5*(1.00*pt1[0]+1.00*pt2[0])+Math.abs(1.00*pt1[1]-1.00*pt2[1])*0.25, 0.5*(1.00*pt1[1]+1.00*pt2[1])+Math.abs(1.00*pt1[0]-1.00*pt2[0])*0.25, val], gAttributes);\r\n return garrow;\r\n }\r\n/////////////////////////////////////////////////////////////////////////////////////////////\r\nexport function placeTapeHori(board, pt1, pt2, val)\r\n {\r\n const arrowAttributes = {\r\n name:val,\r\n fixed:true,\r\n point1:{face:'circle', size:Math.round(2*board.canvasWidth/800.), fillColor:'black', fillOpacity:1},\r\n point2:{face:'circle', size:Math.round(2*board.canvasWidth/800.), fillColor:'black', fillOpacity:1},\r\n highlight:false,\r\n strokeWidth: () => Math.round(3*board.canvasWidth/800.),\r\n strokeColor:'black',\r\n fillOpacity:1.0,\r\n label:{fixed:true,\r\n highlight:false,\r\n anchorX: 'middle',\r\n anchorY:'bottom',\r\n color:'black',\r\n display:'internal',\r\n CssStyle: 'font-weight:normal; fontFamily: Oswald;',\r\n fontSize: () => Math.round(20*board.canvasWidth /800.)}\r\n };\r\n let garrow=board.create('tapemeasure', [[()=>pt1.X(), ()=>pt1.Y()],[()=>pt2.X(), ()=>pt2.Y()]], arrowAttributes);\r\n //let gtext =board.create('text',[0.5*(1.00*pt1[0]+1.00*pt2[0])+Math.abs(1.00*pt1[1]-1.00*pt2[1])*0.25, 0.5*(1.00*pt1[1]+1.00*pt2[1])+Math.abs(1.00*pt1[0]-1.00*pt2[0])*0.25, val], gAttributes);\r\n return garrow;\r\n }\r\n/////////////////////////////////////////////////////////\r\nexport function placeTapeVert(board, pt1, pt2, val)\r\n {\r\n const arrowAttributes = {\r\n name:val,\r\n fixed:true,\r\n point1:{face:'circle', size:Math.round(2*board.canvasWidth/800.), fillColor:'black', fillOpacity:1},\r\n point2:{face:'circle', size:Math.round(2*board.canvasWidth/800.), fillColor:'black', fillOpacity:1},\r\n highlight:false,\r\n strokeWidth: () => Math.round(3*board.canvasWidth/800.),\r\n strokeColor:'black',\r\n fillOpacity:1.0,\r\n label:{fixed:true,\r\n highlight:false,\r\n anchorX: 'left',\r\n anchorY:'middle',\r\n color:'black',\r\n display:'internal',\r\n CssStyle: 'font-weight:normal; fontFamily: Oswald;',\r\n fontSize: () => Math.round(20*board.canvasWidth /800.)}\r\n };\r\n let garrow=board.create('tapemeasure', [[()=>pt1.X(), ()=>pt1.Y()],[()=>pt2.X(), ()=>pt2.Y()]], arrowAttributes);\r\n //let gtext =board.create('text',[0.5*(1.00*pt1[0]+1.00*pt2[0])+Math.abs(1.00*pt1[1]-1.00*pt2[1])*0.25, 0.5*(1.00*pt1[1]+1.00*pt2[1])+Math.abs(1.00*pt1[0]-1.00*pt2[0])*0.25, val], gAttributes);\r\n return garrow;\r\n }\r\n///////////////////////////////////////Polygon////////////////////////////////////////\r\nexport function placeRec(board, pt1, pt2, pt3, pt4, cols){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:cols,\r\n fillOpacity:1.0}\r\n let m =board.create('polygon', [[pt1[0], pt1[1]],\r\n [pt2[0], pt2[1]],\r\n [pt3[0], pt3[1]],\r\n [pt4[0], pt4[1]]], recAttributes);\r\n return m;\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nexport function placeSq(board, pt1, pt2, cols){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:cols,\r\n fillOpacity:1.0}\r\n let m =board.create('polygon', [[pt1[0], pt1[1]],\r\n [pt2[0], pt1[1]],\r\n [pt2[0], pt2[1]],\r\n [pt1[0], pt2[1]]], recAttributes);\r\n return m;\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nexport function drawRec(board, pt1, pt2){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:'blue',\r\n fillOpacity:1.0,\r\n hasInnerPoints:true}\r\n let m =board.create('polygon', [\r\n [()=>pt1.X(), ()=>pt1.Y()],\r\n [()=>pt1.X(), ()=>pt2.Y()],\r\n [()=>pt2.X(), ()=>pt2.Y()],\r\n [()=>pt2.X(), ()=>pt1.Y()]], recAttributes);\r\n return m;\r\n}\r\n///////////////////////////////////////////////////////////////////\r\nexport function drawTriangle(board, pt1, pt2, pt3){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:'blue',\r\n fillOpacity:1,\r\n hasInnerPoints:true}\r\n let m =board.create('polygon', [[()=>pt1.X(), ()=>pt1.Y()], [()=>pt2.X(), ()=>pt2.Y()],\r\n [()=>pt3.X(), ()=>pt3.Y()]], recAttributes);\r\n return m;\r\n}\r\n/////////////////////////////////////////////////////////////\r\nexport function drawSq(board, pt1, pt2){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:'blue',\r\n fillOpacity:1,\r\n hasInnerPoints:true}\r\n let m =board.create('polygon', [\r\n [()=>pt1.X(), ()=>pt1.Y()],\r\n [()=>pt1.X(), ()=>pt2.Y()],\r\n [()=>pt2.X(), ()=>pt2.Y()],\r\n [()=>pt2.X(), ()=>pt1.Y()]], recAttributes);\r\n return m;\r\n}\r\n//////////////////////////////////////////////Circle////////////////////////\r\nexport function drawRegPoly(board, pt1, pt2, n){\r\n const recAttributes = {\r\n vertices:{visible:false, fixed:true},\r\n borders:{visible:false},\r\n highlight:false,\r\n fillColor:'blue',\r\n fillOpacity:1,\r\n hasInnerPoints:true}\r\n let m =board.create('regularpolygon', [\r\n [()=>pt1.X(), ()=>pt1.Y()],\r\n [()=>pt2.X(), ()=>pt2.Y()], n], recAttributes);\r\n return m\r\n}\r\n/////////////////////////////////////\r\nexport function placeSlider(board, positionX, positionY, limit1, start, limit2, length, name)\r\n{\r\n const sliderAttributes={\r\n baseline:{strokeWidth:8*board.canvasHeight/800, strokeColor:'grey', highlight:false, lineCap:'round'},\r\n highline:{strokeWidth:8*board.canvasHeight/800, strokeColor:'black', highlight:false, lineCap:'round'},\r\n name:name,\r\n highlight:false,\r\n size:()=>8*board.canvasHeight/800,\r\n face:'circle',\r\n fillColor:'grey',\r\n strokeColor:'black',\r\n withTicks:false,\r\n precision:2,\r\n label:{fontSize:()=> Math.round(18*board.canvasWidth/800.), offset:[15,0],\r\n cssStyle:'fontFamily:Oswald;', highlight:false}\r\n }\r\n let m = board.create('slider',[[positionX, positionY],[positionX+length, positionY],[limit1, start, limit2]], sliderAttributes); //\r\n return m;\r\n}\r\n//////////////////////////////////////////////////////////////////////\r\n///////////////////////////////////////////////////////////\r\nexport function placeStartOver(board,loc)\r\n{\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0,\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size =(boundingBox[2]-boundingBox[0])/13;\r\n const x = function(){if(loc=='left')\r\n {return 0.5*(boundingBox[2]+boundingBox[0])-1.4*size\r\n }\r\n else{\r\n return 0.5*(boundingBox[2]+boundingBox[0])+0.4*size\r\n }\r\n }\r\n let im =board.create('image', ['/assets/replay.svg', [x, boundingBox[3]+0.50*size],[size,size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////////////////////////////\r\nexport function placeSliderSwitch(board, positionX, positionY, limit1, limit2, length, name)\r\n{\r\n const sliderAttributes={\r\n baseline:{strokeWidth:7*board.canvasHeight/800,strokeColor:'grey'},\r\n highline:{strokeWidth:7*board.canvasHeight/800,strokeColor:'black'},\r\n name:name,\r\n size:()=>8*board.canvasHeight/800,\r\n highlight:false,\r\n face:'square',\r\n fillColor:'#FF0000',\r\n strokeColor:'black',\r\n snapWidth:1,\r\n withTicks:false,\r\n label:{anchorX:'left',fontSize:()=> Math.round(24*board.canvasWidth/800.),\r\n cssStyle:'fontFamily:Oswald;'}\r\n }\r\n let m = board.create('slider',[[positionX, positionY],[positionX+length, positionY],[limit1, 0.5*(limit1+limit2), limit2]], sliderAttributes); //\r\n return m;\r\n}\r\n/////////////////////////////////////////////////////////////////\r\nexport function placeImage(board, imValue, positionX, positionY){\r\n const imageAttributes ={\r\n opacity:1,\r\n fixed:true,\r\n rotate:0\r\n };\r\n let im =board.create('image', [imValue, [positionX, positionY],[1,1]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////\r\nexport function placeInput(board, positionX, positionY, val){\r\n const inputAttributes ={\r\n fixed: true,\r\n cssStyle: 'fontFamily:Oswald; width:10%; background-color:#008CBA;border:1px solid black;border-radius:3.5px;',\r\n fontSize:function(){return Math.round(24*board.canvasWidth/800.)},\r\n fixed:true,\r\n alignY:'bottom',\r\n parse:true\r\n }\r\n let inp =board.create('input', [positionX, positionY, val, ''], inputAttributes);\r\n return inp;\r\n}\r\n///////////////////////////////Shuffle Function ////////////////////////////\r\nexport function shuffle(listName, varName){\r\n if(varName Math.round(32 * board.canvasWidth /800.)\r\n };\r\n\r\n const boundingBox = board.attr.boundingbox;\r\n\r\n let title = board.create(\r\n 'text',\r\n [(boundingBox[0] + boundingBox[2]) / 2.0,\r\n (boundingBox[1] + boundingBox[3]) / 2.0,\r\n function(){return titleText+'/5'}], titleTextAttributes);\r\n\r\n return title;\r\n}\r\n///////////////////////////////////////////////////////////////////////\r\nexport function placeWhite(board){\r\n const imageAttributes ={\r\n opacity:0,\r\n fixed:true,\r\n visible:true\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const size = 20;\r\n let im =board.create('image', ['/assets/square.svg', [(boundingBox[0] + boundingBox[2]-size) / 2.0,\r\n (boundingBox[1] + boundingBox[3]-size) / 2.0,],[size, size]], imageAttributes);\r\n return im;\r\n}\r\n//////////////////////////////////////////////////////////////////////////////\r\nexport function placeTitle(board, titleText, subTitleText){\r\n const commonTextAttributes = {\r\n anchorX: 'middle',\r\n display: 'internal',\r\n highlight: false,\r\n fixed: true\r\n };\r\n const titleTextAttributes = {\r\n ...commonTextAttributes,\r\n anchorY: 'middle',\r\n CssStyle: 'font-weight: bold; fontFamily: Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(32 * board.canvasWidth /800.)\r\n };\r\n const subTitleTextAttributes = {\r\n ...commonTextAttributes,\r\n anchorY: 'middle',\r\n CssStyle: 'fontFamily: Oswald;',\r\n highlight:false,\r\n fontSize: () => Math.round(24 * board.canvasWidth /800.)\r\n };\r\n const boundingBox = board.attr.boundingbox;\r\n const offset = [0, -(boundingBox[2] - boundingBox[0])/20.0];\r\n let title = board.create(\r\n 'text',\r\n [(boundingBox[0] + boundingBox[2]) / 2.0 + offset[0],\r\n boundingBox[1] + offset[1],\r\n titleText],\r\n titleTextAttributes\r\n );\r\n let subtitle = board.create(\r\n 'text',\r\n [(boundingBox[0] + boundingBox[2]) / 2.0 + offset[0],\r\n boundingBox[1] + 2*offset[1],\r\n subTitleText],\r\n subTitleTextAttributes\r\n );\r\n return [title, subtitle];\r\n}\r\n/////////////////////////////////////////////////////////////////////////////\r\nexport function clearInputFields(board) {\r\n let magicGraph = board.containerObj;\r\n let inputFields = magicGraph.querySelectorAll(\"input\");\r\n for (let inputField of inputFields) {\r\n inputField.value = \"\"\r\n }\r\n}\r\n/////////////////////////////////////////////////////////////////////////////\r\nexport function setInputFieldAnswerColor(inputObject, isAnswerCorrect) {\r\n // TODO: Tableau colors don't look great with blue background, find a\r\n // different color scheme that looks better.\r\n let colorizeElement = function (element, condition) {\r\n if (element) {\r\n if (condition) {\r\n // element.style.borderColor = '#59A14F';\r\n element.style.backgroundColor = 'green';\r\n } else {\r\n // element.style.borderColor = '#E15759';\r\n element.style.backgroundColor = 'red';\r\n }\r\n }\r\n }\r\n\r\n colorizeElement(inputObject.rendNodeInput, isAnswerCorrect);\r\n colorizeElement(inputObject.rendNode, isAnswerCorrect);\r\n}\r\n/////////////////////////////////////////////////////////////\r\nexport function markInteractive(inputObject) {\r\n let board = inputObject.board;\r\n if (!board._xedliy) {\r\n board._xedliy = {};\r\n }\r\n\r\n if (!board._xedliy.interactive) {\r\n let magicGraph = board.containerObj;\r\n let svgs = magicGraph.querySelectorAll(\"svg\");\r\n for (let svg of svgs) {\r\n svg.style.pointerEvents = \"none\";\r\n }\r\n board._xedliy.interactive = true;\r\n }\r\n\r\n if (inputObject) {\r\n // console.log(inputObject);\r\n inputObject.rendNode.style.cursor = \"pointer\";\r\n inputObject.rendNode.style.pointerEvents = \"all\";\r\n }\r\n}\r\n///////////////////////////////////////////////////////////////\r\n","exports.f = require('./_wks');\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","var DateProto = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar $toString = DateProto[TO_STRING];\nvar getTime = DateProto.getTime;\nif (new Date(NaN) + '' != INVALID_DATE) {\n require('./_redefine')(DateProto, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","require('./_wks-define')('asyncIterator');\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n"],"sourceRoot":""}