/** * balanced.js v0.0.13 */ var balanced=function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p="",b(0)}([function(a,b){function c(a){if(a=a||{},!a.open)throw new Error('Balanced: please provide a "open" property');if(!a.close)throw new Error('Balanced: please provide a "close" property');if(this.balance=a.balance||!1,this.exceptions=a.exceptions||!1,this.caseInsensitive=a.caseInsensitive,this.head=a.head||a.open,this.head=Array.isArray(this.head)?this.head:[this.head],this.open=Array.isArray(a.open)?a.open:[a.open],this.close=Array.isArray(a.close)?a.close:[a.close],!Array.isArray(this.head)||!Array.isArray(this.open)||!Array.isArray(this.close)||this.head.length!==this.open.length||this.open.length!==this.close.length)throw new Error('Balanced: if you use arrays for a "head,open,close" you must use matching arrays for all options');var b=i(this.head.map(this.regExpFromArrayGroupedMap,this)),c=i(this.open.map(this.regExpFromArrayGroupedMap,this)),d=i(this.close.map(this.regExpFromArrayGroupedMap,this));this.regExp=i([b,c,d],"g"+(this.caseInsensitive?"i":"")),this.regExpGroupLength=this.head.length}function d(a,b,c){for(var d=f(b.substr(0,c+1),/^.*\n?$/gim),e=f(b,/^.*\n?$/gim),g=d.length-1,h=d.length?d[d.length-1].index:0,i=c+1-h,j="",k=2;k>=0;k--)g-k>=0&&e[g-k]&&(j+=b.substr(e[g-k].index,e[g-k].length)+"\n");for(k=0;i-1>k;k++)j+="-";for(j+="^\n",k=1;2>=k;k++)g+k>=0&&e[g+k]&&(j+=b.substr(e[g+k].index,e[g+k].length)+"\n");j=j.replace(/\t/g," ").replace(/\n$/,"");var l=new Error(a+" at "+(g+1)+":"+i+"\n\n"+j);return l.line=g+1,l.column=i,l.index=c,l}function e(a,b){return a>=b.index&&a<=b.index+b.length-1}function f(a,b){var c,d=new RegExp(b),e=[];if(a)for(;c=d.exec(a);)e.push({index:c.index,length:c[0].length,match:c[0]}),c[0].length||d.lastIndex++;return e}function g(a,b,c){for(var d=0,e=0;e