text: /*!
   * isona.js 0.1.0
   * https://github.com/evojs/evojs
   * MIT licensed
   *
   * Copyright (C) 2015 Miska Kaipiainen
   */
  var evo={};"object"==typeof module?module.exports=evo:"function"==typeof define&&define.amd?define(function(){return evo}):window.evo=evo,function(a){a.version="0.1.0"}(evo),function(a){function b(){var a=new Array(2);if(a[0]=0,a[1]=0,1==arguments.length){if("[object Array]"!==Object.prototype.toString.call(arguments[0])||"number"!=typeof arguments[0][0]||"number"!=typeof arguments[0][1])throw"Invalid argument for Point2d.";a[0]=arguments[0][0],a[1]=arguments[0][1]}else if(arguments.length>=2){if("number"!=typeof arguments[0]||"number"!=typeof arguments[1])throw"Invalid argument for Point2d.";a[0]=arguments[0],a[1]=arguments[1]}return a.__proto__=b.prototype,a}b.prototype=Object.create(Array.prototype),b.prototype.from=function(){try{var a=b.apply(this,arguments);this[0]=a[0],this[1]=a[1]}catch(c){throw c}return this},b.prototype.toString=function(){return"[Point2d x: "+this[0]+", y: "+this[1]+"]"},Object.defineProperty(b.prototype,"x",{get:function(){return this[0]},set:function(a){this[0]=a},enumerable:!1}),Object.defineProperty(b.prototype,"y",{get:function(){return this[1]},set:function(a){this[1]=a},enumerable:!1}),a.Point2d=b}(evo),function(a){var b={};b.type="Float32Array",b["default"]=[1,0,0,0,1,0,0,0,1],b.create=function(){var a;switch(b.type){case"Array":a=new Array(9);break;case"Float32Array":default:a=new Float32Array(9)}return 1==arguments.length?b.set(a,arguments[0][0],arguments[0][1],arguments[0][2],arguments[0][3],arguments[0][4],arguments[0][5],arguments[0][6],arguments[0][7],arguments[0][8]):9==arguments.length?b.set(a,arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6],arguments[7],arguments[8]):b.set(a,b["default"]),a},b.isMatrix=function(a){return Object.prototype.toString.call(a)==="[object "+b.type+"]"&&9===a.length},b.set=function(a){if(2==arguments.length)a[0]=arguments[1][0],a[1]=arguments[1][1],a[2]=arguments[1][2],a[3]=arguments[1][3],a[4]=arguments[1][4],a[5]=arguments[1][5],a[6]=arguments[1][6],a[7]=arguments[1][7],a[8]=arguments[1][8];else{if(10!=arguments.length)throw"Invalid arguments for Matrix3.set().";a[0]=arguments[1],a[1]=arguments[2],a[2]=arguments[3],a[3]=arguments[4],a[4]=arguments[5],a[5]=arguments[6],a[6]=arguments[7],a[7]=arguments[8],a[8]=arguments[9]}return a},b.clone=function(a){return b.create(a)},b.setElement=function(a,b,c){a[b]=c},b.getElement=function(a,b){return a[b]},b.identity=function(a){return a?b.set(a,1,0,0,0,1,0,0,0,1):a=b.create(1,0,0,0,1,0,0,0,1),a},b.zero=function(a){return a?b.set(a,0,0,0,0,0,0,0,0,0):a=b.create(0,0,0,0,0,0,0,0,0),a},b.isEqual=function(a,b){return a.length==b.length&&a[0]==b[0]&&a[1]==b[1]&&a[2]==b[2]&&a[3]==b[3]&&a[4]==b[4]&&a[5]==b[5]&&a[6]==b[6]&&a[7]==b[7]&&a[8]==b[8]},b.add=function(a,c){return b.create(a[0]+c[0],a[1]+c[1],a[2]+c[2],a[3]+c[3],a[4]+c[4],a[5]+c[5],a[6]+c[6],a[7]+c[7],a[8]+c[8])},b.sub=function(a,c){return b.create(a[0]-c[0],a[1]-c[1],a[2]-c[2],a[3]-c[3],a[4]-c[4],a[5]-c[5],a[6]-c[6],a[7]-c[7],a[8]-c[8])},b.mult=function(a,c){return b.create(a[0]*c[0]+a[3]*c[1]+a[6]*c[2],a[1]*c[0]+a[4]*c[1]+a[7]*c[2],a[2]*c[0]+a[5]*c[1]+a[8]*c[2],a[0]*c[3]+a[3]*c[4]+a[6]*c[5],a[1]*c[3]+a[4]*c[4]+a[7]*c[5],a[2]*c[3]+a[5]*c[4]+a[8]*c[5],a[0]*c[6]+a[3]*c[7]+a[6]*c[8],a[1]*c[6]+a[4]*c[7]+a[7]*c[8],a[2]*c[6]+a[5]*c[7]+a[8]*c[8])},b.determinant=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],h=a[6],i=a[7],j=a[8];return b*f*j-b*g*i-c*e*j+c*g*h+d*e*i-d*f*h},b.invert=function(a){var c=a[4]*a[8]-a[7]*a[5],d=a[7]*a[2]-a[1]*a[8],e=a[1]*a[5]-a[4]*a[2],f=a[0]*c+a[3]*d+a[6]*e;if(0==f)throw"EvoJS: Unable to invert matrix since determinant is zero!";var g=1/f;return b.create(c*g,d*g,e*g,(a[6]*a[5]-a[3]*a[8])*g,(a[0]*a[8]-a[6]*a[2])*g,(a[3]*a[2]-a[0]*a[5])*g,(a[3]*a[7]-a[6]*a[4])*g,(a[6]*a[1]-a[0]*a[7])*g,(a[0]*a[4]-a[3]*a[1])*g)},b.transpose=function(a){var b;return b=a[1],a[1]=a[3],a[3]=b,b=a[2],a[2]=a[6],a[6]=b,b=a[5],a[5]=a[7],a[7]=b,a},b.normal=function(a){return b.transpose(b.invert(a))},b.createTranslate=function(a,c){return b.create(1,0,a,0,1,c,0,0,1)},b.createScale=function(a,c){return b.create(a,0,0,0,c,0,0,0,1)},b.createRotate=function(a,c,d,e){var f=Math.cos(a),g=1-f,h=Math.sin(a);return b.create(c*c*g+f,c*d*g+e*h,c*e*g-d*h,c*d*g-e*h,d*d*g+f,d*e*g+c*h,c*e*g+d*h,d*e*g-c*h,e*e*g+f)},b.createRotateX=function(a){var c=Math.cos(a),d=Math.sin(a);return b.create(1,0,0,0,c,d,0,-d,c)},b.createRotateY=function(a){var c=Math.cos(a),d=Math.sin(a);return b.create(c,0,-d,0,1,0,d,0,c)},b.createRotateZ=function(a){var c=Math.cos(a),d=Math.sin(a);return b.create(c,d,0,-d,c,0,0,0,1)},b.Rotate=function(a,c,d,e,f){var g=a[0],h=a[1],i=a[2],j=a[3],k=a[4],l=a[5],m=a[6],n=a[7],o=a[8],p=Math.cos(c),q=Math.sin(c),r=1-p,s=d*d*r+p,t=d*e*r+f*q,u=d*f*r-e*q,v=d*e*r-f*q,w=e*e*r+p,x=e*f*r+d*q,y=d*f*r+e*q,z=e*f*r-d*q,A=f*f*r+p;return b.set(a,g*s+j*t+m*u,h*s+k*t+n*u,i*s+l*t+o*u,g*v+j*w+m*x,h*v+k*w+n*x,i*v+l*w+o*x,g*y+j*z+m*A,h*y+k*z+n*A,i*y+l*z+o*A)},b.Translate=function(a,c,d,e){var f=b.createTranslate(c,d);return e=b.mult(a,f)},b.Scale=function(a,c,d,e){var f=b.createScale(c,d);return e=b.mult(a,f)},b.Rotate=function(a,c,d){var e=b.createRotate(c);return d=b.mult(a,e)},b.toString=function(a){for(var b=0,c=0;c<a.length;c++){var d=String(a[c]).length;d>b&&(b=d)}for(var e=[],f=0;3>f;f++){e.push("[ ");for(var g=0;3>g;g++){for(var h=String(a[3*f+g]),i="",j=0;j<b-h.length;j++)i+=" ";i+=h+" ",e.push(i)}e.push("]\n")}return e.join("")},b.ApplyTransformToPoint=function(a,b){b&&"undefined"!=typeof b.x&&"undefined"!=typeof b.y&&(b.x=b.x*a[0]+b.y*a[3]+a[2],b.y=b.y*a[1]+b.y*a[4]+a[5])},a.Matrix3=b}(evo);