/*! * html2canvas 1.4.1 * Copyright (c) 2022 Niklas von Hertzen * Released under MIT License */ !function(global,factory){"object"==typeof exports&&"undefined"!=typeof module?module.exports=factory():"function"==typeof define&&define.amd?define(factory):(global="undefined"!=typeof globalThis?globalThis:global||self).html2canvas=factory()}(this,(function(){"use strict"; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var extendStatics=function(d,b){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,b){d.__proto__=b}||function(d,b){for(var p in b)Object.prototype.hasOwnProperty.call(b,p)&&(d[p]=b[p])})(d,b)};function __extends(d,b){if("function"!=typeof b&&null!==b)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");function __(){this.constructor=d}extendStatics(d,b),d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)}var __assign=function(){return(__assign=Object.assign||function __assign(t){for(var s,i=1,n=arguments.length;i0&&t[t.length-1])&&(6===op[0]||2===op[0])){_=0;continue}if(3===op[0]&&(!t||op[1]>t[0]&&op[1]=55296&&value<=56319&&i>10),codePoint%1024+56320)),(index+1===length||codeUnits.length>16384)&&(result+=String.fromCharCode.apply(String,codeUnits),codeUnits.length=0)}return result},chars$2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$2="undefined"==typeof Uint8Array?[]:new Uint8Array(256),i$2=0;i$2>4,bytes[p++]=(15&encoded2)<<4|encoded3>>2,bytes[p++]=(3&encoded3)<<6|63&encoded4;return buffer},polyUint16Array$1=function(buffer){for(var length=buffer.length,bytes=[],i=0;i=0){if(codePoint<55296||codePoint>56319&&codePoint<=65535)return ix=((ix=this.index[codePoint>>5])<<2)+(31&codePoint),this.data[ix];if(codePoint<=65535)return ix=((ix=this.index[2048+(codePoint-55296>>5)])<<2)+(31&codePoint),this.data[ix];if(codePoint>11),ix=this.index[ix],ix+=codePoint>>5&63,ix=((ix=this.index[ix])<<2)+(31&codePoint),this.data[ix];if(codePoint<=1114111)return this.data[this.highValueIndex]}return this.errorValue},Trie}(),chars$3="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$3="undefined"==typeof Uint8Array?[]:new Uint8Array(256),i$3=0;i$350?(categories.push(!0),classType-=50):categories.push(!1),-1!==["normal","auto","loose"].indexOf(lineBreak)&&-1!==[8208,8211,12316,12448].indexOf(codePoint))return indices.push(index),types.push(16);if(4===classType||11===classType){if(0===index)return indices.push(index),types.push(AL);var prev=types[index-1];return-1===LINE_BREAKS.indexOf(prev)?(indices.push(indices[index-1]),types.push(prev)):(indices.push(index),types.push(AL))}return indices.push(index),31===classType?types.push("strict"===lineBreak?NS:ID):classType===SA?types.push(AL):29===classType?types.push(AL):43===classType?codePoint>=131072&&codePoint<=196605||codePoint>=196608&&codePoint<=262141?types.push(ID):types.push(AL):void types.push(classType)})),[indices,types,categories]},isAdjacentWithSpaceIgnored=function(a,b,currentIndex,classTypes){var current=classTypes[currentIndex];if(Array.isArray(a)?-1!==a.indexOf(current):a===current)for(var i=currentIndex;i<=classTypes.length;){var next;if((next=classTypes[++i])===b)return!0;if(next!==SP)break}if(current===SP)for(var i=currentIndex;i>0;){var prev=classTypes[--i];if(Array.isArray(a)?-1!==a.indexOf(prev):a===prev)for(var n=currentIndex;n<=classTypes.length;){var next;if((next=classTypes[++n])===b)return!0;if(next!==SP)break}if(prev!==SP)break}return!1},previousNonSpaceClassType=function(currentIndex,classTypes){for(var i=currentIndex;i>=0;){var type=classTypes[i];if(type!==SP)return type;i--}return 0},_lineBreakAtIndex=function(codePoints,classTypes,indicies,index,forbiddenBreaks){if(0===indicies[index])return"×";var currentIndex=index-1;if(Array.isArray(forbiddenBreaks)&&!0===forbiddenBreaks[currentIndex])return"×";var beforeIndex=currentIndex-1,afterIndex=currentIndex+1,current=classTypes[currentIndex],before=beforeIndex>=0?classTypes[beforeIndex]:0,next=classTypes[afterIndex];if(2===current&&3===next)return"×";if(-1!==HARD_LINE_BREAKS.indexOf(current))return"!";if(-1!==HARD_LINE_BREAKS.indexOf(next))return"×";if(-1!==SPACE$1.indexOf(next))return"×";if(8===previousNonSpaceClassType(currentIndex,classTypes))return"÷";if(11===UnicodeTrie$1.get(codePoints[currentIndex]))return"×";if((current===EB||current===EM)&&11===UnicodeTrie$1.get(codePoints[afterIndex]))return"×";if(7===current||7===next)return"×";if(9===current)return"×";if(-1===[SP,BA,HY].indexOf(current)&&9===next)return"×";if(-1!==[CL,CP,EX,IS,SY].indexOf(next))return"×";if(previousNonSpaceClassType(currentIndex,classTypes)===OP)return"×";if(isAdjacentWithSpaceIgnored(23,OP,currentIndex,classTypes))return"×";if(isAdjacentWithSpaceIgnored([CL,CP],NS,currentIndex,classTypes))return"×";if(isAdjacentWithSpaceIgnored(12,12,currentIndex,classTypes))return"×";if(current===SP)return"÷";if(23===current||23===next)return"×";if(16===next||16===current)return"÷";if(-1!==[BA,HY,NS].indexOf(next)||14===current)return"×";if(36===before&&-1!==HYPHEN.indexOf(current))return"×";if(current===SY&&36===next)return"×";if(next===IN)return"×";if(-1!==ALPHABETICS.indexOf(next)&¤t===NU||-1!==ALPHABETICS.indexOf(current)&&next===NU)return"×";if(current===PR&&-1!==[ID,EB,EM].indexOf(next)||-1!==[ID,EB,EM].indexOf(current)&&next===PO)return"×";if(-1!==ALPHABETICS.indexOf(current)&&-1!==PREFIX_POSTFIX.indexOf(next)||-1!==PREFIX_POSTFIX.indexOf(current)&&-1!==ALPHABETICS.indexOf(next))return"×";if(-1!==[PR,PO].indexOf(current)&&(next===NU||-1!==[OP,HY].indexOf(next)&&classTypes[afterIndex+1]===NU)||-1!==[OP,HY].indexOf(current)&&next===NU||current===NU&&-1!==[NU,SY,IS].indexOf(next))return"×";if(-1!==[NU,SY,IS,CL,CP].indexOf(next))for(var prevIndex=currentIndex;prevIndex>=0;){var type;if((type=classTypes[prevIndex])===NU)return"×";if(-1===[SY,IS].indexOf(type))break;prevIndex--}if(-1!==[PR,PO].indexOf(next))for(var prevIndex=-1!==[CL,CP].indexOf(current)?beforeIndex:currentIndex;prevIndex>=0;){var type;if((type=classTypes[prevIndex])===NU)return"×";if(-1===[SY,IS].indexOf(type))break;prevIndex--}if(JL===current&&-1!==[JL,JV,H2,H3].indexOf(next)||-1!==[JV,H2].indexOf(current)&&-1!==[JV,JT].indexOf(next)||-1!==[JT,H3].indexOf(current)&&next===JT)return"×";if(-1!==KOREAN_SYLLABLE_BLOCK.indexOf(current)&&-1!==[IN,PO].indexOf(next)||-1!==KOREAN_SYLLABLE_BLOCK.indexOf(next)&¤t===PR)return"×";if(-1!==ALPHABETICS.indexOf(current)&&-1!==ALPHABETICS.indexOf(next))return"×";if(current===IS&&-1!==ALPHABETICS.indexOf(next))return"×";if(-1!==ALPHABETICS.concat(NU).indexOf(current)&&next===OP&&-1===ea_OP.indexOf(codePoints[afterIndex])||-1!==ALPHABETICS.concat(NU).indexOf(next)&¤t===CP)return"×";if(41===current&&41===next){for(var i=indicies[currentIndex],count=1;i>0&&41===classTypes[--i];)count++;if(count%2!=0)return"×"}return current===EB&&next===EM?"×":"÷"},cssFormattedClasses=function(codePoints,options){options||(options={lineBreak:"normal",wordBreak:"normal"});var _a=codePointsToCharacterClasses(codePoints,options.lineBreak),indicies=_a[0],classTypes=_a[1],isLetterNumber=_a[2],forbiddenBreakpoints;return"break-all"!==options.wordBreak&&"break-word"!==options.wordBreak||(classTypes=classTypes.map((function(type){return-1!==[NU,AL,SA].indexOf(type)?ID:type}))),[indicies,classTypes,"keep-all"===options.wordBreak?isLetterNumber.map((function(letterNumber,i){return letterNumber&&codePoints[i]>=19968&&codePoints[i]<=40959})):void 0]},Break=function(){function Break(codePoints,lineBreak,start,end){this.codePoints=codePoints,this.required="!"===lineBreak,this.start=start,this.end=end}return Break.prototype.slice=function(){return fromCodePoint$1.apply(void 0,this.codePoints.slice(this.start,this.end))},Break}(),LineBreaker=function(str,options){var codePoints=toCodePoints$1(str),_a=cssFormattedClasses(codePoints,options),indicies=_a[0],classTypes=_a[1],forbiddenBreakpoints=_a[2],length=codePoints.length,lastEnd=0,nextIndex=0;return{next:function(){if(nextIndex>=length)return{done:!0,value:null};for(var lineBreak="×";nextIndex=48&&codePoint<=57},isSurrogateCodePoint=function(codePoint){return codePoint>=55296&&codePoint<=57343},isHex=function(codePoint){return isDigit(codePoint)||codePoint>=A&&codePoint<=F||codePoint>=a&&codePoint<=f},isLowerCaseLetter=function(codePoint){return codePoint>=a&&codePoint<=z},isUpperCaseLetter=function(codePoint){return codePoint>=A&&codePoint<=Z},isLetter=function(codePoint){return isLowerCaseLetter(codePoint)||isUpperCaseLetter(codePoint)},isNonASCIICodePoint=function(codePoint){return codePoint>=128},isWhiteSpace=function(codePoint){return 10===codePoint||9===codePoint||32===codePoint},isNameStartCodePoint=function(codePoint){return isLetter(codePoint)||isNonASCIICodePoint(codePoint)||95===codePoint},isNameCodePoint=function(codePoint){return isNameStartCodePoint(codePoint)||isDigit(codePoint)||45===codePoint},isNonPrintableCodePoint=function(codePoint){return codePoint>=0&&codePoint<=8||11===codePoint||codePoint>=14&&codePoint<=31||127===codePoint},isValidEscape=function(c1,c2){return 92===c1&&10!==c2},isIdentifierStart=function(c1,c2,c3){return 45===c1?isNameStartCodePoint(c2)||isValidEscape(c2,c3):!!isNameStartCodePoint(c1)||!(92!==c1||!isValidEscape(c1,c2))},isNumberStart=function(c1,c2,c3){return 43===c1||45===c1?!!isDigit(c2)||46===c2&&isDigit(c3):isDigit(46===c1?c2:c1)},stringToNumber=function(codePoints){var c=0,sign=1;43!==codePoints[c]&&45!==codePoints[c]||(45===codePoints[c]&&(sign=-1),c++);for(var integers=[];isDigit(codePoints[c]);)integers.push(codePoints[c++]);var int=integers.length?parseInt(fromCodePoint$1.apply(void 0,integers),10):0;46===codePoints[c]&&c++;for(var fraction=[];isDigit(codePoints[c]);)fraction.push(codePoints[c++]);var fracd=fraction.length,frac=fracd?parseInt(fromCodePoint$1.apply(void 0,fraction),10):0;codePoints[c]!==E&&codePoints[c]!==e||c++;var expsign=1;43!==codePoints[c]&&45!==codePoints[c]||(45===codePoints[c]&&(expsign=-1),c++);for(var exponent=[];isDigit(codePoints[c]);)exponent.push(codePoints[c++]);var exp=exponent.length?parseInt(fromCodePoint$1.apply(void 0,exponent),10):0;return sign*(int+frac*Math.pow(10,-fracd))*Math.pow(10,expsign*exp)},LEFT_PARENTHESIS_TOKEN={type:2},RIGHT_PARENTHESIS_TOKEN={type:3},COMMA_TOKEN={type:4},SUFFIX_MATCH_TOKEN={type:13},PREFIX_MATCH_TOKEN={type:8},COLUMN_TOKEN={type:21},DASH_MATCH_TOKEN={type:9},INCLUDE_MATCH_TOKEN={type:10},LEFT_CURLY_BRACKET_TOKEN={type:11},RIGHT_CURLY_BRACKET_TOKEN={type:12},SUBSTRING_MATCH_TOKEN={type:14},BAD_URL_TOKEN={type:23},BAD_STRING_TOKEN={type:1},CDO_TOKEN={type:25},CDC_TOKEN={type:24},COLON_TOKEN={type:26},SEMICOLON_TOKEN={type:27},LEFT_SQUARE_BRACKET_TOKEN={type:28},RIGHT_SQUARE_BRACKET_TOKEN={type:29},WHITESPACE_TOKEN={type:31},EOF_TOKEN={type:32},Tokenizer=function(){function Tokenizer(){this._value=[]}return Tokenizer.prototype.write=function(chunk){this._value=this._value.concat(toCodePoints$1(chunk))},Tokenizer.prototype.read=function(){for(var tokens=[],token=this.consumeToken();token!==EOF_TOKEN;)tokens.push(token),token=this.consumeToken();return tokens},Tokenizer.prototype.consumeToken=function(){var codePoint=this.consumeCodePoint();switch(codePoint){case 34:return this.consumeStringToken(34);case 35:var c1=this.peekCodePoint(0),c2=this.peekCodePoint(1),c3=this.peekCodePoint(2);if(isNameCodePoint(c1)||isValidEscape(c2,c3)){var flags=isIdentifierStart(c1,c2,c3)?2:1,value;return{type:5,value:value=this.consumeName(),flags:flags}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),SUFFIX_MATCH_TOKEN;break;case 39:return this.consumeStringToken(39);case 40:return LEFT_PARENTHESIS_TOKEN;case 41:return RIGHT_PARENTHESIS_TOKEN;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),SUBSTRING_MATCH_TOKEN;break;case 43:if(isNumberStart(codePoint,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(codePoint),this.consumeNumericToken();break;case 44:return COMMA_TOKEN;case 45:var e1=codePoint,e2=this.peekCodePoint(0),e3=this.peekCodePoint(1);if(isNumberStart(e1,e2,e3))return this.reconsumeCodePoint(codePoint),this.consumeNumericToken();if(isIdentifierStart(e1,e2,e3))return this.reconsumeCodePoint(codePoint),this.consumeIdentLikeToken();if(45===e2&&62===e3)return this.consumeCodePoint(),this.consumeCodePoint(),CDC_TOKEN;break;case 46:if(isNumberStart(codePoint,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(codePoint),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var c=this.consumeCodePoint();if(42===c&&47===(c=this.consumeCodePoint()))return this.consumeToken();if(-1===c)return this.consumeToken()}break;case 58:return COLON_TOKEN;case 59:return SEMICOLON_TOKEN;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),CDO_TOKEN;break;case 64:var a1=this.peekCodePoint(0),a2=this.peekCodePoint(1),a3=this.peekCodePoint(2),value;if(isIdentifierStart(a1,a2,a3))return{type:7,value:value=this.consumeName()};break;case 91:return LEFT_SQUARE_BRACKET_TOKEN;case 92:if(isValidEscape(codePoint,this.peekCodePoint(0)))return this.reconsumeCodePoint(codePoint),this.consumeIdentLikeToken();break;case 93:return RIGHT_SQUARE_BRACKET_TOKEN;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),PREFIX_MATCH_TOKEN;break;case 123:return LEFT_CURLY_BRACKET_TOKEN;case 125:return RIGHT_CURLY_BRACKET_TOKEN;case u:case U:var u1=this.peekCodePoint(0),u2=this.peekCodePoint(1);return 43!==u1||!isHex(u2)&&63!==u2||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(codePoint),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),DASH_MATCH_TOKEN;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),COLUMN_TOKEN;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),INCLUDE_MATCH_TOKEN;break;case-1:return EOF_TOKEN}return isWhiteSpace(codePoint)?(this.consumeWhiteSpace(),WHITESPACE_TOKEN):isDigit(codePoint)?(this.reconsumeCodePoint(codePoint),this.consumeNumericToken()):isNameStartCodePoint(codePoint)?(this.reconsumeCodePoint(codePoint),this.consumeIdentLikeToken()):{type:6,value:fromCodePoint$1(codePoint)}},Tokenizer.prototype.consumeCodePoint=function(){var value=this._value.shift();return void 0===value?-1:value},Tokenizer.prototype.reconsumeCodePoint=function(codePoint){this._value.unshift(codePoint)},Tokenizer.prototype.peekCodePoint=function(delta){return delta>=this._value.length?-1:this._value[delta]},Tokenizer.prototype.consumeUnicodeRangeToken=function(){for(var digits=[],codePoint=this.consumeCodePoint();isHex(codePoint)&&digits.length<6;)digits.push(codePoint),codePoint=this.consumeCodePoint();for(var questionMarks=!1,start_1,end;63===codePoint&&digits.length<6;)digits.push(codePoint),codePoint=this.consumeCodePoint(),questionMarks=!0;if(questionMarks)return{type:30,start:parseInt(fromCodePoint$1.apply(void 0,digits.map((function(digit){return 63===digit?48:digit}))),16),end:end=parseInt(fromCodePoint$1.apply(void 0,digits.map((function(digit){return 63===digit?F:digit}))),16)};var start=parseInt(fromCodePoint$1.apply(void 0,digits),16);if(45===this.peekCodePoint(0)&&isHex(this.peekCodePoint(1))){this.consumeCodePoint(),codePoint=this.consumeCodePoint();for(var endDigits=[];isHex(codePoint)&&endDigits.length<6;)endDigits.push(codePoint),codePoint=this.consumeCodePoint();var end;return{type:30,start:start,end:end=parseInt(fromCodePoint$1.apply(void 0,endDigits),16)}}return{type:30,start:start,end:start}},Tokenizer.prototype.consumeIdentLikeToken=function(){var value=this.consumeName();return"url"===value.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:19,value:value}):{type:20,value:value}},Tokenizer.prototype.consumeUrlToken=function(){var value=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:22,value:""};var next=this.peekCodePoint(0);if(39===next||34===next){var stringToken=this.consumeStringToken(this.consumeCodePoint());return 0===stringToken.type&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:22,value:stringToken.value}):(this.consumeBadUrlRemnants(),BAD_URL_TOKEN)}for(;;){var codePoint=this.consumeCodePoint();if(-1===codePoint||41===codePoint)return{type:22,value:fromCodePoint$1.apply(void 0,value)};if(isWhiteSpace(codePoint))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:22,value:fromCodePoint$1.apply(void 0,value)}):(this.consumeBadUrlRemnants(),BAD_URL_TOKEN);if(34===codePoint||39===codePoint||40===codePoint||isNonPrintableCodePoint(codePoint))return this.consumeBadUrlRemnants(),BAD_URL_TOKEN;if(92===codePoint){if(!isValidEscape(codePoint,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),BAD_URL_TOKEN;value.push(this.consumeEscapedCodePoint())}else value.push(codePoint)}},Tokenizer.prototype.consumeWhiteSpace=function(){for(;isWhiteSpace(this.peekCodePoint(0));)this.consumeCodePoint()},Tokenizer.prototype.consumeBadUrlRemnants=function(){for(;;){var codePoint=this.consumeCodePoint();if(41===codePoint||-1===codePoint)return;isValidEscape(codePoint,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},Tokenizer.prototype.consumeStringSlice=function(count){for(var SLICE_STACK_SIZE=5e4,value="";count>0;){var amount=Math.min(5e4,count);value+=fromCodePoint$1.apply(void 0,this._value.splice(0,amount)),count-=amount}return this._value.shift(),value},Tokenizer.prototype.consumeStringToken=function(endingCodePoint){for(var value="",i=0;;){var codePoint=this._value[i];if(-1===codePoint||void 0===codePoint||codePoint===endingCodePoint)return{type:0,value:value+=this.consumeStringSlice(i)};if(10===codePoint)return this._value.splice(0,i),BAD_STRING_TOKEN;if(92===codePoint){var next=this._value[i+1];-1!==next&&void 0!==next&&(10===next?(value+=this.consumeStringSlice(i),i=-1,this._value.shift()):isValidEscape(codePoint,next)&&(value+=this.consumeStringSlice(i),value+=fromCodePoint$1(this.consumeEscapedCodePoint()),i=-1))}i++}},Tokenizer.prototype.consumeNumber=function(){var repr=[],type=4,c1=this.peekCodePoint(0);for(43!==c1&&45!==c1||repr.push(this.consumeCodePoint());isDigit(this.peekCodePoint(0));)repr.push(this.consumeCodePoint());c1=this.peekCodePoint(0);var c2=this.peekCodePoint(1);if(46===c1&&isDigit(c2))for(repr.push(this.consumeCodePoint(),this.consumeCodePoint()),type=8;isDigit(this.peekCodePoint(0));)repr.push(this.consumeCodePoint());c1=this.peekCodePoint(0),c2=this.peekCodePoint(1);var c3=this.peekCodePoint(2);if((c1===E||c1===e)&&((43===c2||45===c2)&&isDigit(c3)||isDigit(c2)))for(repr.push(this.consumeCodePoint(),this.consumeCodePoint()),type=8;isDigit(this.peekCodePoint(0));)repr.push(this.consumeCodePoint());return[stringToNumber(repr),type]},Tokenizer.prototype.consumeNumericToken=function(){var _a=this.consumeNumber(),number=_a[0],flags=_a[1],c1=this.peekCodePoint(0),c2=this.peekCodePoint(1),c3=this.peekCodePoint(2),unit;return isIdentifierStart(c1,c2,c3)?{type:15,number:number,flags:flags,unit:this.consumeName()}:37===c1?(this.consumeCodePoint(),{type:16,number:number,flags:flags}):{type:17,number:number,flags:flags}},Tokenizer.prototype.consumeEscapedCodePoint=function(){var codePoint=this.consumeCodePoint();if(isHex(codePoint)){for(var hex=fromCodePoint$1(codePoint);isHex(this.peekCodePoint(0))&&hex.length<6;)hex+=fromCodePoint$1(this.consumeCodePoint());isWhiteSpace(this.peekCodePoint(0))&&this.consumeCodePoint();var hexCodePoint=parseInt(hex,16);return 0===hexCodePoint||isSurrogateCodePoint(hexCodePoint)||hexCodePoint>1114111?65533:hexCodePoint}return-1===codePoint?65533:codePoint},Tokenizer.prototype.consumeName=function(){for(var result="";;){var codePoint=this.consumeCodePoint();if(isNameCodePoint(codePoint))result+=fromCodePoint$1(codePoint);else{if(!isValidEscape(codePoint,this.peekCodePoint(0)))return this.reconsumeCodePoint(codePoint),result;result+=fromCodePoint$1(this.consumeEscapedCodePoint())}}},Tokenizer}(),Parser=function(){function Parser(tokens){this._tokens=tokens}return Parser.create=function(value){var tokenizer=new Tokenizer;return tokenizer.write(value),new Parser(tokenizer.read())},Parser.parseValue=function(value){return Parser.create(value).parseComponentValue()},Parser.parseValues=function(value){return Parser.create(value).parseComponentValues()},Parser.prototype.parseComponentValue=function(){for(var token=this.consumeToken();31===token.type;)token=this.consumeToken();if(32===token.type)throw new SyntaxError("Error parsing CSS component value, unexpected EOF");this.reconsumeToken(token);var value=this.consumeComponentValue();do{token=this.consumeToken()}while(31===token.type);if(32===token.type)return value;throw new SyntaxError("Error parsing CSS component value, multiple values found when expecting only one")},Parser.prototype.parseComponentValues=function(){for(var values=[];;){var value=this.consumeComponentValue();if(32===value.type)return values;values.push(value),values.push()}},Parser.prototype.consumeComponentValue=function(){var token=this.consumeToken();switch(token.type){case 11:case 28:case 2:return this.consumeSimpleBlock(token.type);case 19:return this.consumeFunction(token)}return token},Parser.prototype.consumeSimpleBlock=function(type){for(var block={type:type,values:[]},token=this.consumeToken();;){if(32===token.type||isEndingTokenFor(token,type))return block;this.reconsumeToken(token),block.values.push(this.consumeComponentValue()),token=this.consumeToken()}},Parser.prototype.consumeFunction=function(functionToken){for(var cssFunction={name:functionToken.value,values:[],type:18};;){var token=this.consumeToken();if(32===token.type||3===token.type)return cssFunction;this.reconsumeToken(token),cssFunction.values.push(this.consumeComponentValue())}},Parser.prototype.consumeToken=function(){var token=this._tokens.shift();return void 0===token?EOF_TOKEN:token},Parser.prototype.reconsumeToken=function(token){this._tokens.unshift(token)},Parser}(),isDimensionToken=function(token){return 15===token.type},isNumberToken=function(token){return 17===token.type},isIdentToken=function(token){return 20===token.type},isStringToken=function(token){return 0===token.type},isIdentWithValue=function(token,value){return isIdentToken(token)&&token.value===value},nonWhiteSpace=function(token){return 31!==token.type},nonFunctionArgSeparator=function(token){return 31!==token.type&&4!==token.type},parseFunctionArgs=function(tokens){var args=[],arg=[];return tokens.forEach((function(token){if(4===token.type){if(0===arg.length)throw new Error("Error parsing function args, zero tokens for arg");return args.push(arg),void(arg=[])}31!==token.type&&arg.push(token)})),arg.length&&args.push(arg),args},isEndingTokenFor=function(token,type){return 11===type&&12===token.type||(28===type&&29===token.type||2===type&&3===token.type)},isLength=function(token){return 17===token.type||15===token.type},isLengthPercentage=function(token){return 16===token.type||isLength(token)},parseLengthPercentageTuple=function(tokens){return tokens.length>1?[tokens[0],tokens[1]]:[tokens[0]]},ZERO_LENGTH={type:17,number:0,flags:4},FIFTY_PERCENT={type:16,number:50,flags:4},HUNDRED_PERCENT={type:16,number:100,flags:4},getAbsoluteValueForTuple=function(tuple,width,height){var x=tuple[0],y=tuple[1];return[getAbsoluteValue(x,width),getAbsoluteValue(void 0!==y?y:x,height)]},getAbsoluteValue=function(token,parent){if(16===token.type)return token.number/100*parent;if(isDimensionToken(token))switch(token.unit){case"rem":case"em":return 16*token.number;case"px":default:return token.number}return token.number},DEG="deg",GRAD="grad",RAD="rad",TURN="turn",angle_name="angle",angle_parse=function(_context,value){if(15===value.type)switch(value.unit){case DEG:return Math.PI*value.number/180;case GRAD:return Math.PI/200*value.number;case RAD:return value.number;case TURN:return 2*Math.PI*value.number}throw new Error("Unsupported angle type")},isAngle=function(value){return 15===value.type&&(value.unit===DEG||value.unit===GRAD||value.unit===RAD||value.unit===TURN)},parseNamedSide=function(tokens){var sideOrCorner;switch(tokens.filter(isIdentToken).map((function(ident){return ident.value})).join(" ")){case"to bottom right":case"to right bottom":case"left top":case"top left":return[ZERO_LENGTH,ZERO_LENGTH];case"to top":case"bottom":return deg(0);case"to bottom left":case"to left bottom":case"right top":case"top right":return[ZERO_LENGTH,HUNDRED_PERCENT];case"to right":case"left":return deg(90);case"to top left":case"to left top":case"right bottom":case"bottom right":return[HUNDRED_PERCENT,HUNDRED_PERCENT];case"to bottom":case"top":return deg(180);case"to top right":case"to right top":case"left bottom":case"bottom left":return[HUNDRED_PERCENT,ZERO_LENGTH];case"to left":case"right":return deg(270)}return 0},deg=function(deg){return Math.PI*deg/180},color$1_name="color",color$1_parse=function(context,value){if(18===value.type){var colorFunction=SUPPORTED_COLOR_FUNCTIONS[value.name];if(void 0===colorFunction)throw new Error('Attempting to parse an unsupported color function "'+value.name+'"');return colorFunction(context,value.values)}if(5===value.type){if(3===value.value.length){var r=value.value.substring(0,1),g=value.value.substring(1,2),b=value.value.substring(2,3);return pack(parseInt(r+r,16),parseInt(g+g,16),parseInt(b+b,16),1)}if(4===value.value.length){var r=value.value.substring(0,1),g=value.value.substring(1,2),b=value.value.substring(2,3),a=value.value.substring(3,4);return pack(parseInt(r+r,16),parseInt(g+g,16),parseInt(b+b,16),parseInt(a+a,16)/255)}if(6===value.value.length){var r=value.value.substring(0,2),g=value.value.substring(2,4),b=value.value.substring(4,6);return pack(parseInt(r,16),parseInt(g,16),parseInt(b,16),1)}if(8===value.value.length){var r=value.value.substring(0,2),g=value.value.substring(2,4),b=value.value.substring(4,6),a=value.value.substring(6,8);return pack(parseInt(r,16),parseInt(g,16),parseInt(b,16),parseInt(a,16)/255)}}if(20===value.type){var namedColor=COLORS[value.value.toUpperCase()];if(void 0!==namedColor)return namedColor}return COLORS.TRANSPARENT},isTransparent=function(color){return 0==(255&color)},asString=function(color){var alpha=255&color,blue=255&color>>8,green=255&color>>16,red=255&color>>24;return alpha<255?"rgba("+red+","+green+","+blue+","+alpha/255+")":"rgb("+red+","+green+","+blue+")"},pack=function(r,g,b,a){return(r<<24|g<<16|b<<8|Math.round(255*a)<<0)>>>0},getTokenColorValue=function(token,i){if(17===token.type)return token.number;if(16===token.type){var max=3===i?1:255;return 3===i?token.number/100*max:Math.round(token.number/100*max)}return 0},rgb=function(_context,args){var tokens=args.filter(nonFunctionArgSeparator);if(3===tokens.length){var _a=tokens.map(getTokenColorValue),r=_a[0],g=_a[1],b=_a[2];return pack(r,g,b,1)}if(4===tokens.length){var _b=tokens.map(getTokenColorValue),r=_b[0],g=_b[1],b=_b[2],a=_b[3];return pack(r,g,b,a)}return 0};function hue2rgb(t1,t2,hue){return hue<0&&(hue+=1),hue>=1&&(hue-=1),hue<1/6?(t2-t1)*hue*6+t1:hue<.5?t2:hue<2/3?6*(t2-t1)*(2/3-hue)+t1:t1}var hsl=function(context,args){var tokens=args.filter(nonFunctionArgSeparator),hue=tokens[0],saturation=tokens[1],lightness=tokens[2],alpha=tokens[3],h=(17===hue.type?deg(hue.number):angle_parse(context,hue))/(2*Math.PI),s=isLengthPercentage(saturation)?saturation.number/100:0,l=isLengthPercentage(lightness)?lightness.number/100:0,a=void 0!==alpha&&isLengthPercentage(alpha)?getAbsoluteValue(alpha,1):1;if(0===s)return pack(255*l,255*l,255*l,1);var t2=l<=.5?l*(s+1):l+s-l*s,t1=2*l-t2,r=hue2rgb(t1,t2,h+1/3),g=hue2rgb(t1,t2,h),b=hue2rgb(t1,t2,h-1/3);return pack(255*r,255*g,255*b,a)},SUPPORTED_COLOR_FUNCTIONS={hsl:hsl,hsla:hsl,rgb:rgb,rgba:rgb},parseColor=function(context,value){return color$1_parse(context,Parser.create(value).parseComponentValue())},COLORS={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199},backgroundClip={name:"background-clip",initialValue:"border-box",prefix:!1,type:1,parse:function(_context,tokens){return tokens.map((function(token){if(isIdentToken(token))switch(token.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},backgroundColor={name:"background-color",initialValue:"transparent",prefix:!1,type:3,format:"color"},parseColorStop=function(context,args){var color=color$1_parse(context,args[0]),stop=args[1];return stop&&isLengthPercentage(stop)?{color:color,stop:stop}:{color:color,stop:null}},processColorStops=function(stops,lineLength){var first=stops[0],last=stops[stops.length-1];null===first.stop&&(first.stop=ZERO_LENGTH),null===last.stop&&(last.stop=HUNDRED_PERCENT);for(var processStops=[],previous=0,i=0;iprevious?processStops.push(absoluteValue):processStops.push(previous),previous=absoluteValue}else processStops.push(null)}for(var gapBegin=null,i=0;istat.optimumDistance)?{optimumCorner:corner,optimumDistance:d}:stat}),{optimumDistance:closest?1/0:-1/0,optimumCorner:null}).optimumCorner},calculateRadius=function(gradient,x,y,width,height){var rx=0,ry=0;switch(gradient.size){case 0:0===gradient.shape?rx=ry=Math.min(Math.abs(x),Math.abs(x-width),Math.abs(y),Math.abs(y-height)):1===gradient.shape&&(rx=Math.min(Math.abs(x),Math.abs(x-width)),ry=Math.min(Math.abs(y),Math.abs(y-height)));break;case 2:if(0===gradient.shape)rx=ry=Math.min(distance(x,y),distance(x,y-height),distance(x-width,y),distance(x-width,y-height));else if(1===gradient.shape){var c=Math.min(Math.abs(y),Math.abs(y-height))/Math.min(Math.abs(x),Math.abs(x-width)),_a=findCorner(width,height,x,y,!0),cx=_a[0],cy=_a[1];ry=c*(rx=distance(cx-x,(cy-y)/c))}break;case 1:0===gradient.shape?rx=ry=Math.max(Math.abs(x),Math.abs(x-width),Math.abs(y),Math.abs(y-height)):1===gradient.shape&&(rx=Math.max(Math.abs(x),Math.abs(x-width)),ry=Math.max(Math.abs(y),Math.abs(y-height)));break;case 3:if(0===gradient.shape)rx=ry=Math.max(distance(x,y),distance(x,y-height),distance(x-width,y),distance(x-width,y-height));else if(1===gradient.shape){var c=Math.max(Math.abs(y),Math.abs(y-height))/Math.max(Math.abs(x),Math.abs(x-width)),_b=findCorner(width,height,x,y,!1),cx=_b[0],cy=_b[1];ry=c*(rx=distance(cx-x,(cy-y)/c))}}return Array.isArray(gradient.size)&&(rx=getAbsoluteValue(gradient.size[0],width),ry=2===gradient.size.length?getAbsoluteValue(gradient.size[1],height):rx),[rx,ry]},linearGradient,prefixLinearGradient=function(context,tokens){var angle$1=deg(180),stops=[];return parseFunctionArgs(tokens).forEach((function(arg,i){if(0===i){var firstToken=arg[0];if(20===firstToken.type&&-1!==["top","left","right","bottom"].indexOf(firstToken.value))return void(angle$1=parseNamedSide(arg));if(isAngle(firstToken))return void(angle$1=(angle_parse(context,firstToken)+deg(270))%deg(360))}var colorStop=parseColorStop(context,arg);stops.push(colorStop)})),{angle:angle$1,stops:stops,type:1}},webkitGradient,CLOSEST_SIDE="closest-side",FARTHEST_SIDE="farthest-side",CLOSEST_CORNER="closest-corner",FARTHEST_CORNER="farthest-corner",CIRCLE="circle",ELLIPSE="ellipse",COVER="cover",CONTAIN="contain",radialGradient,prefixRadialGradient=function(context,tokens){var shape=0,size=3,stops=[],position=[];return parseFunctionArgs(tokens).forEach((function(arg,i){var isColorStop=!0;if(0===i?isColorStop=arg.reduce((function(acc,token){if(isIdentToken(token))switch(token.value){case"center":return position.push(FIFTY_PERCENT),!1;case"top":case"left":return position.push(ZERO_LENGTH),!1;case"right":case"bottom":return position.push(HUNDRED_PERCENT),!1}else if(isLengthPercentage(token)||isLength(token))return position.push(token),!1;return acc}),isColorStop):1===i&&(isColorStop=arg.reduce((function(acc,token){if(isIdentToken(token))switch(token.value){case CIRCLE:return shape=0,!1;case ELLIPSE:return shape=1,!1;case CONTAIN:case CLOSEST_SIDE:return size=0,!1;case FARTHEST_SIDE:return size=1,!1;case CLOSEST_CORNER:return size=2,!1;case COVER:case FARTHEST_CORNER:return size=3,!1}else if(isLength(token)||isLengthPercentage(token))return Array.isArray(size)||(size=[]),size.push(token),!1;return acc}),isColorStop)),isColorStop){var colorStop=parseColorStop(context,arg);stops.push(colorStop)}})),{size:size,shape:shape,stops:stops,position:position,type:2}},isLinearGradient=function(background){return 1===background.type},isRadialGradient=function(background){return 2===background.type},image_name="image",image_parse=function(context,value){if(22===value.type){var image_1={url:value.value,type:0};return context.cache.addImage(value.value),image_1}if(18===value.type){var imageFunction=SUPPORTED_IMAGE_FUNCTIONS[value.name];if(void 0===imageFunction)throw new Error('Attempting to parse an unsupported image function "'+value.name+'"');return imageFunction(context,value.values)}throw new Error("Unsupported image type "+value.type)};function isSupportedImage(value){return!(20===value.type&&"none"===value.value||18===value.type&&!SUPPORTED_IMAGE_FUNCTIONS[value.name])}var SUPPORTED_IMAGE_FUNCTIONS={"linear-gradient":function(context,tokens){var angle$1=deg(180),stops=[];return parseFunctionArgs(tokens).forEach((function(arg,i){if(0===i){var firstToken=arg[0];if(20===firstToken.type&&"to"===firstToken.value)return void(angle$1=parseNamedSide(arg));if(isAngle(firstToken))return void(angle$1=angle_parse(context,firstToken))}var colorStop=parseColorStop(context,arg);stops.push(colorStop)})),{angle:angle$1,stops:stops,type:1}},"-moz-linear-gradient":prefixLinearGradient,"-ms-linear-gradient":prefixLinearGradient,"-o-linear-gradient":prefixLinearGradient,"-webkit-linear-gradient":prefixLinearGradient,"radial-gradient":function(context,tokens){var shape=0,size=3,stops=[],position=[];return parseFunctionArgs(tokens).forEach((function(arg,i){var isColorStop=!0;if(0===i){var isAtPosition_1=!1;isColorStop=arg.reduce((function(acc,token){if(isAtPosition_1)if(isIdentToken(token))switch(token.value){case"center":return position.push(FIFTY_PERCENT),acc;case"top":case"left":return position.push(ZERO_LENGTH),acc;case"right":case"bottom":return position.push(HUNDRED_PERCENT),acc}else(isLengthPercentage(token)||isLength(token))&&position.push(token);else if(isIdentToken(token))switch(token.value){case CIRCLE:return shape=0,!1;case ELLIPSE:return shape=1,!1;case"at":return isAtPosition_1=!0,!1;case CLOSEST_SIDE:return size=0,!1;case COVER:case FARTHEST_SIDE:return size=1,!1;case CONTAIN:case CLOSEST_CORNER:return size=2,!1;case FARTHEST_CORNER:return size=3,!1}else if(isLength(token)||isLengthPercentage(token))return Array.isArray(size)||(size=[]),size.push(token),!1;return acc}),isColorStop)}if(isColorStop){var colorStop=parseColorStop(context,arg);stops.push(colorStop)}})),{size:size,shape:shape,stops:stops,position:position,type:2}},"-moz-radial-gradient":prefixRadialGradient,"-ms-radial-gradient":prefixRadialGradient,"-o-radial-gradient":prefixRadialGradient,"-webkit-radial-gradient":prefixRadialGradient,"-webkit-gradient":function(context,tokens){var angle=deg(180),stops=[],type=1,shape=0,size=3,position=[];return parseFunctionArgs(tokens).forEach((function(arg,i){var firstToken=arg[0];if(0===i){if(isIdentToken(firstToken)&&"linear"===firstToken.value)return void(type=1);if(isIdentToken(firstToken)&&"radial"===firstToken.value)return void(type=2)}if(18===firstToken.type)if("from"===firstToken.name){var color=color$1_parse(context,firstToken.values[0]);stops.push({stop:ZERO_LENGTH,color:color})}else if("to"===firstToken.name){var color=color$1_parse(context,firstToken.values[0]);stops.push({stop:HUNDRED_PERCENT,color:color})}else if("color-stop"===firstToken.name){var values=firstToken.values.filter(nonFunctionArgSeparator);if(2===values.length){var color=color$1_parse(context,values[1]),stop_1=values[0];isNumberToken(stop_1)&&stops.push({stop:{type:16,number:100*stop_1.number,flags:stop_1.flags},color:color})}}})),1===type?{angle:(angle+deg(180))%deg(360),stops:stops,type:type}:{size:3,shape:0,stops:stops,position:position,type:type}}},backgroundImage={name:"background-image",initialValue:"none",type:1,prefix:!1,parse:function(context,tokens){if(0===tokens.length)return[];var first=tokens[0];return 20===first.type&&"none"===first.value?[]:tokens.filter((function(value){return nonFunctionArgSeparator(value)&&isSupportedImage(value)})).map((function(value){return image_parse(context,value)}))}},backgroundOrigin={name:"background-origin",initialValue:"border-box",prefix:!1,type:1,parse:function(_context,tokens){return tokens.map((function(token){if(isIdentToken(token))switch(token.value){case"padding-box":return 1;case"content-box":return 2}return 0}))}},backgroundPosition={name:"background-position",initialValue:"0% 0%",type:1,prefix:!1,parse:function(_context,tokens){return parseFunctionArgs(tokens).map((function(values){return values.filter(isLengthPercentage)})).map(parseLengthPercentageTuple)}},backgroundRepeat={name:"background-repeat",initialValue:"repeat",prefix:!1,type:1,parse:function(_context,tokens){return parseFunctionArgs(tokens).map((function(values){return values.filter(isIdentToken).map((function(token){return token.value})).join(" ")})).map(parseBackgroundRepeat)}},parseBackgroundRepeat=function(value){switch(value){case"no-repeat":return 1;case"repeat-x":case"repeat no-repeat":return 2;case"repeat-y":case"no-repeat repeat":return 3;case"repeat":default:return 0}},BACKGROUND_SIZE;!function(BACKGROUND_SIZE){BACKGROUND_SIZE.AUTO="auto",BACKGROUND_SIZE.CONTAIN="contain",BACKGROUND_SIZE.COVER="cover"}(BACKGROUND_SIZE||(BACKGROUND_SIZE={}));var backgroundSize={name:"background-size",initialValue:"0",prefix:!1,type:1,parse:function(_context,tokens){return parseFunctionArgs(tokens).map((function(values){return values.filter(isBackgroundSizeInfoToken)}))}},isBackgroundSizeInfoToken=function(value){return isIdentToken(value)||isLengthPercentage(value)},borderColorForSide=function(side){return{name:"border-"+side+"-color",initialValue:"transparent",prefix:!1,type:3,format:"color"}},borderTopColor=borderColorForSide("top"),borderRightColor=borderColorForSide("right"),borderBottomColor=borderColorForSide("bottom"),borderLeftColor=borderColorForSide("left"),borderRadiusForSide=function(side){return{name:"border-radius-"+side,initialValue:"0 0",prefix:!1,type:1,parse:function(_context,tokens){return parseLengthPercentageTuple(tokens.filter(isLengthPercentage))}}},borderTopLeftRadius=borderRadiusForSide("top-left"),borderTopRightRadius=borderRadiusForSide("top-right"),borderBottomRightRadius=borderRadiusForSide("bottom-right"),borderBottomLeftRadius=borderRadiusForSide("bottom-left"),borderStyleForSide=function(side){return{name:"border-"+side+"-style",initialValue:"solid",prefix:!1,type:2,parse:function(_context,style){switch(style){case"none":return 0;case"dashed":return 2;case"dotted":return 3;case"double":return 4}return 1}}},borderTopStyle=borderStyleForSide("top"),borderRightStyle=borderStyleForSide("right"),borderBottomStyle=borderStyleForSide("bottom"),borderLeftStyle=borderStyleForSide("left"),borderWidthForSide=function(side){return{name:"border-"+side+"-width",initialValue:"0",type:0,prefix:!1,parse:function(_context,token){return isDimensionToken(token)?token.number:0}}},borderTopWidth=borderWidthForSide("top"),borderRightWidth=borderWidthForSide("right"),borderBottomWidth=borderWidthForSide("bottom"),borderLeftWidth=borderWidthForSide("left"),color={name:"color",initialValue:"transparent",prefix:!1,type:3,format:"color"},direction={name:"direction",initialValue:"ltr",prefix:!1,type:2,parse:function(_context,direction){switch(direction){case"rtl":return 1;case"ltr":default:return 0}}},display={name:"display",initialValue:"inline-block",prefix:!1,type:1,parse:function(_context,tokens){return tokens.filter(isIdentToken).reduce((function(bit,token){return bit|parseDisplayValue(token.value)}),0)}},parseDisplayValue=function(display){switch(display){case"block":case"-webkit-box":return 2;case"inline":return 4;case"run-in":return 8;case"flow":return 16;case"flow-root":return 32;case"table":return 64;case"flex":case"-webkit-flex":return 128;case"grid":case"-ms-grid":return 256;case"ruby":return 512;case"subgrid":return 1024;case"list-item":return 2048;case"table-row-group":return 4096;case"table-header-group":return 8192;case"table-footer-group":return 16384;case"table-row":return 32768;case"table-cell":return 65536;case"table-column-group":return 131072;case"table-column":return 262144;case"table-caption":return 524288;case"ruby-base":return 1048576;case"ruby-text":return 2097152;case"ruby-base-container":return 4194304;case"ruby-text-container":return 8388608;case"contents":return 16777216;case"inline-block":return 33554432;case"inline-list-item":return 67108864;case"inline-table":return 134217728;case"inline-flex":return 268435456;case"inline-grid":return 536870912}return 0},float={name:"float",initialValue:"none",prefix:!1,type:2,parse:function(_context,float){switch(float){case"left":return 1;case"right":return 2;case"inline-start":return 3;case"inline-end":return 4}return 0}},letterSpacing={name:"letter-spacing",initialValue:"0",prefix:!1,type:0,parse:function(_context,token){return 20===token.type&&"normal"===token.value?0:17===token.type?token.number:15===token.type?token.number:0}},LINE_BREAK;!function(LINE_BREAK){LINE_BREAK.NORMAL="normal",LINE_BREAK.STRICT="strict"}(LINE_BREAK||(LINE_BREAK={}));var lineBreak={name:"line-break",initialValue:"normal",prefix:!1,type:2,parse:function(_context,lineBreak){switch(lineBreak){case"strict":return LINE_BREAK.STRICT;case"normal":default:return LINE_BREAK.NORMAL}}},lineHeight={name:"line-height",initialValue:"normal",prefix:!1,type:4},computeLineHeight=function(token,fontSize){return isIdentToken(token)&&"normal"===token.value?1.2*fontSize:17===token.type?fontSize*token.number:isLengthPercentage(token)?getAbsoluteValue(token,fontSize):fontSize},listStyleImage={name:"list-style-image",initialValue:"none",type:0,prefix:!1,parse:function(context,token){return 20===token.type&&"none"===token.value?null:image_parse(context,token)}},listStylePosition={name:"list-style-position",initialValue:"outside",prefix:!1,type:2,parse:function(_context,position){switch(position){case"inside":return 0;case"outside":default:return 1}}},listStyleType={name:"list-style-type",initialValue:"none",prefix:!1,type:2,parse:function(_context,type){switch(type){case"disc":return 0;case"circle":return 1;case"square":return 2;case"decimal":return 3;case"cjk-decimal":return 4;case"decimal-leading-zero":return 5;case"lower-roman":return 6;case"upper-roman":return 7;case"lower-greek":return 8;case"lower-alpha":return 9;case"upper-alpha":return 10;case"arabic-indic":return 11;case"armenian":return 12;case"bengali":return 13;case"cambodian":return 14;case"cjk-earthly-branch":return 15;case"cjk-heavenly-stem":return 16;case"cjk-ideographic":return 17;case"devanagari":return 18;case"ethiopic-numeric":return 19;case"georgian":return 20;case"gujarati":return 21;case"gurmukhi":case"hebrew":return 22;case"hiragana":return 23;case"hiragana-iroha":return 24;case"japanese-formal":return 25;case"japanese-informal":return 26;case"kannada":return 27;case"katakana":return 28;case"katakana-iroha":return 29;case"khmer":return 30;case"korean-hangul-formal":return 31;case"korean-hanja-formal":return 32;case"korean-hanja-informal":return 33;case"lao":return 34;case"lower-armenian":return 35;case"malayalam":return 36;case"mongolian":return 37;case"myanmar":return 38;case"oriya":return 39;case"persian":return 40;case"simp-chinese-formal":return 41;case"simp-chinese-informal":return 42;case"tamil":return 43;case"telugu":return 44;case"thai":return 45;case"tibetan":return 46;case"trad-chinese-formal":return 47;case"trad-chinese-informal":return 48;case"upper-armenian":return 49;case"disclosure-open":return 50;case"disclosure-closed":return 51;case"none":default:return-1}}},marginForSide=function(side){return{name:"margin-"+side,initialValue:"0",prefix:!1,type:4}},marginTop=marginForSide("top"),marginRight=marginForSide("right"),marginBottom=marginForSide("bottom"),marginLeft=marginForSide("left"),overflow={name:"overflow",initialValue:"visible",prefix:!1,type:1,parse:function(_context,tokens){return tokens.filter(isIdentToken).map((function(overflow){switch(overflow.value){case"hidden":return 1;case"scroll":return 2;case"clip":return 3;case"auto":return 4;case"visible":default:return 0}}))}},overflowWrap={name:"overflow-wrap",initialValue:"normal",prefix:!1,type:2,parse:function(_context,overflow){switch(overflow){case"break-word":return"break-word";case"normal":default:return"normal"}}},paddingForSide=function(side){return{name:"padding-"+side,initialValue:"0",prefix:!1,type:3,format:"length-percentage"}},paddingTop=paddingForSide("top"),paddingRight=paddingForSide("right"),paddingBottom=paddingForSide("bottom"),paddingLeft=paddingForSide("left"),textAlign={name:"text-align",initialValue:"left",prefix:!1,type:2,parse:function(_context,textAlign){switch(textAlign){case"right":return 2;case"center":case"justify":return 1;case"left":default:return 0}}},position={name:"position",initialValue:"static",prefix:!1,type:2,parse:function(_context,position){switch(position){case"relative":return 1;case"absolute":return 2;case"fixed":return 3;case"sticky":return 4}return 0}},textShadow={name:"text-shadow",initialValue:"none",type:1,prefix:!1,parse:function(context,tokens){return 1===tokens.length&&isIdentWithValue(tokens[0],"none")?[]:parseFunctionArgs(tokens).map((function(values){for(var shadow={color:COLORS.TRANSPARENT,offsetX:ZERO_LENGTH,offsetY:ZERO_LENGTH,blur:ZERO_LENGTH},c=0,i=0;i1?1:0],this.overflowWrap=parse(context,overflowWrap,declaration.overflowWrap),this.paddingTop=parse(context,paddingTop,declaration.paddingTop),this.paddingRight=parse(context,paddingRight,declaration.paddingRight),this.paddingBottom=parse(context,paddingBottom,declaration.paddingBottom),this.paddingLeft=parse(context,paddingLeft,declaration.paddingLeft),this.paintOrder=parse(context,paintOrder,declaration.paintOrder),this.position=parse(context,position,declaration.position),this.textAlign=parse(context,textAlign,declaration.textAlign),this.textDecorationColor=parse(context,textDecorationColor,null!==(_a=declaration.textDecorationColor)&&void 0!==_a?_a:declaration.color),this.textDecorationLine=parse(context,textDecorationLine,null!==(_b=declaration.textDecorationLine)&&void 0!==_b?_b:declaration.textDecoration),this.textShadow=parse(context,textShadow,declaration.textShadow),this.textTransform=parse(context,textTransform,declaration.textTransform),this.transform=parse(context,transform$1,declaration.transform),this.transformOrigin=parse(context,transformOrigin,declaration.transformOrigin),this.visibility=parse(context,visibility,declaration.visibility),this.webkitTextStrokeColor=parse(context,webkitTextStrokeColor,declaration.webkitTextStrokeColor),this.webkitTextStrokeWidth=parse(context,webkitTextStrokeWidth,declaration.webkitTextStrokeWidth),this.wordBreak=parse(context,wordBreak,declaration.wordBreak),this.zIndex=parse(context,zIndex,declaration.zIndex)}return CSSParsedDeclaration.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&0===this.visibility},CSSParsedDeclaration.prototype.isTransparent=function(){return isTransparent(this.backgroundColor)},CSSParsedDeclaration.prototype.isTransformed=function(){return null!==this.transform},CSSParsedDeclaration.prototype.isPositioned=function(){return 0!==this.position},CSSParsedDeclaration.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},CSSParsedDeclaration.prototype.isFloating=function(){return 0!==this.float},CSSParsedDeclaration.prototype.isInlineLevel=function(){return contains(this.display,4)||contains(this.display,33554432)||contains(this.display,268435456)||contains(this.display,536870912)||contains(this.display,67108864)||contains(this.display,134217728)},CSSParsedDeclaration}(),CSSParsedPseudoDeclaration=function(){function CSSParsedPseudoDeclaration(context,declaration){this.content=parse(context,content,declaration.content),this.quotes=parse(context,quotes,declaration.quotes)}return CSSParsedPseudoDeclaration}(),CSSParsedCounterDeclaration=function(){function CSSParsedCounterDeclaration(context,declaration){this.counterIncrement=parse(context,counterIncrement,declaration.counterIncrement),this.counterReset=parse(context,counterReset,declaration.counterReset)}return CSSParsedCounterDeclaration}(),parse=function(context,descriptor,style){var tokenizer=new Tokenizer,value=null!=style?style.toString():descriptor.initialValue;tokenizer.write(value);var parser=new Parser(tokenizer.read());switch(descriptor.type){case 2:var token=parser.parseComponentValue();return descriptor.parse(context,isIdentToken(token)?token.value:descriptor.initialValue);case 0:return descriptor.parse(context,parser.parseComponentValue());case 1:return descriptor.parse(context,parser.parseComponentValues());case 4:return parser.parseComponentValue();case 3:switch(descriptor.format){case"angle":return angle_parse(context,parser.parseComponentValue());case"color":return color$1_parse(context,parser.parseComponentValue());case"image":return image_parse(context,parser.parseComponentValue());case"length":var length_1=parser.parseComponentValue();return isLength(length_1)?length_1:ZERO_LENGTH;case"length-percentage":var value_1=parser.parseComponentValue();return isLengthPercentage(value_1)?value_1:ZERO_LENGTH;case"time":return time_parse(context,parser.parseComponentValue())}}},elementDebuggerAttribute="data-html2canvas-debug",getElementDebugType=function(element){var attribute;switch(element.getAttribute("data-html2canvas-debug")){case"all":return 1;case"clone":return 2;case"parse":return 3;case"render":return 4;default:return 0}},isDebugging=function(element,type){var elementType=getElementDebugType(element);return 1===elementType||type===elementType},ElementContainer=function(){function ElementContainer(context,element){this.context=context,this.textNodes=[],this.elements=[],this.flags=0,isDebugging(element,3),this.styles=new CSSParsedDeclaration(context,window.getComputedStyle(element,null)),isHTMLElementNode(element)&&(this.styles.animationDuration.some((function(duration){return duration>0}))&&(element.style.animationDuration="0s"),null!==this.styles.transform&&(element.style.transform="none")),this.bounds=parseBounds(this.context,element),isDebugging(element,4)&&(this.flags|=16)}return ElementContainer}(),base64="AAAAAAAAAAAAEA4AGBkAAFAaAAACAAAAAAAIABAAGAAwADgACAAQAAgAEAAIABAACAAQAAgAEAAIABAACAAQAAgAEAAIABAAQABIAEQATAAIABAACAAQAAgAEAAIABAAVABcAAgAEAAIABAACAAQAGAAaABwAHgAgACIAI4AlgAIABAAmwCjAKgAsAC2AL4AvQDFAMoA0gBPAVYBWgEIAAgACACMANoAYgFkAWwBdAF8AX0BhQGNAZUBlgGeAaMBlQGWAasBswF8AbsBwwF0AcsBYwHTAQgA2wG/AOMBdAF8AekB8QF0AfkB+wHiAHQBfAEIAAMC5gQIAAsCEgIIAAgAFgIeAggAIgIpAggAMQI5AkACygEIAAgASAJQAlgCYAIIAAgACAAKBQoFCgUTBRMFGQUrBSsFCAAIAAgACAAIAAgACAAIAAgACABdAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABoAmgCrwGvAQgAbgJ2AggAHgEIAAgACADnAXsCCAAIAAgAgwIIAAgACAAIAAgACACKAggAkQKZAggAPADJAAgAoQKkAqwCsgK6AsICCADJAggA0AIIAAgACAAIANYC3gIIAAgACAAIAAgACABAAOYCCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAkASoB+QIEAAgACAA8AEMCCABCBQgACABJBVAFCAAIAAgACAAIAAgACAAIAAgACABTBVoFCAAIAFoFCABfBWUFCAAIAAgACAAIAAgAbQUIAAgACAAIAAgACABzBXsFfQWFBYoFigWKBZEFigWKBYoFmAWfBaYFrgWxBbkFCAAIAAgACAAIAAgACAAIAAgACAAIAMEFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAMgFCADQBQgACAAIAAgACAAIAAgACAAIAAgACAAIAO4CCAAIAAgAiQAIAAgACABAAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAD0AggACAD8AggACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIANYFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAMDvwAIAAgAJAIIAAgACAAIAAgACAAIAAgACwMTAwgACAB9BOsEGwMjAwgAKwMyAwsFYgE3A/MEPwMIAEUDTQNRAwgAWQOsAGEDCAAIAAgACAAIAAgACABpAzQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFOgU0BTUFNgU3BTgFOQU6BTQFNQU2BTcFOAU5BToFNAU1BTYFNwU4BTkFIQUoBSwFCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABtAwgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABMAEwACAAIAAgACAAIABgACAAIAAgACAC/AAgACAAyAQgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACAAIAAwAAgACAAIAAgACAAIAAgACAAIAAAARABIAAgACAAIABQASAAIAAgAIABwAEAAjgCIABsAqAC2AL0AigDQAtwC+IJIQqVAZUBWQqVAZUBlQGVAZUBlQGrC5UBlQGVAZUBlQGVAZUBlQGVAXsKlQGVAbAK6wsrDGUMpQzlDJUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAZUBlQGVAfAKAAuZA64AtwCJALoC6ADwAAgAuACgA/oEpgO6AqsD+AAIAAgAswMIAAgACAAIAIkAuwP5AfsBwwPLAwgACAAIAAgACADRA9kDCAAIAOED6QMIAAgACAAIAAgACADuA/YDCAAIAP4DyQAIAAgABgQIAAgAXQAOBAgACAAIAAgACAAIABMECAAIAAgACAAIAAgACAD8AAQBCAAIAAgAGgQiBCoECAExBAgAEAEIAAgACAAIAAgACAAIAAgACAAIAAgACAA4BAgACABABEYECAAIAAgATAQYAQgAVAQIAAgACAAIAAgACAAIAAgACAAIAFoECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAOQEIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAB+BAcACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAEABhgSMBAgACAAIAAgAlAQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAwAEAAQABAADAAMAAwADAAQABAAEAAQABAAEAAQABHATAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAdQMIAAgACAAIAAgACAAIAMkACAAIAAgAfQMIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACACFA4kDCAAIAAgACAAIAOcBCAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAIcDCAAIAAgACAAIAAgACAAIAAgACAAIAJEDCAAIAAgACADFAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABgBAgAZgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAbAQCBXIECAAIAHkECAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACABAAJwEQACjBKoEsgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAC6BMIECAAIAAgACAAIAAgACABmBAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAxwQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAGYECAAIAAgAzgQIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBd0FXwUIAOIF6gXxBYoF3gT5BQAGCAaKBYoFigWKBYoFigWKBYoFigWKBYoFigXWBIoFigWKBYoFigWKBYoFigWKBYsFEAaKBYoFigWKBYoFigWKBRQGCACKBYoFigWKBQgACAAIANEECAAIABgGigUgBggAJgYIAC4GMwaKBYoF0wQ3Bj4GigWKBYoFigWKBYoFigWKBYoFigWKBYoFigUIAAgACAAIAAgACAAIAAgAigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWKBYoFigWLBf///////wQABAAEAAQABAAEAAQABAAEAAQAAwAEAAQAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAQADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUAAAAFAAUAAAAFAAUAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUAAQAAAAUABQAFAAUABQAFAAAAAAAFAAUAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAFAAUAAQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAAABwAHAAcAAAAHAAcABwAFAAEAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAcABwAFAAUAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAAAAQABAAAAAAAAAAAAAAAFAAUABQAFAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAHAAcAAAAHAAcAAAAAAAUABQAHAAUAAQAHAAEABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwABAAUABQAFAAUAAAAAAAAAAAAAAAEAAQABAAEAAQABAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABQANAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEAAQABAAEAAQABAAEAAQABAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAABQAHAAUABQAFAAAAAAAAAAcABQAFAAUABQAFAAQABAAEAAQABAAEAAQABAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUAAAAFAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAUAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAcABwAFAAcABwAAAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUABwAHAAUABQAFAAUAAAAAAAcABwAAAAAABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAABQAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAAAAAAAAAAABQAFAAAAAAAFAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAFAAUABQAFAAUAAAAFAAUABwAAAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABwAFAAUABQAFAAAAAAAHAAcAAAAAAAcABwAFAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAAAAAAAAAHAAcABwAAAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAABQAHAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAUABQAFAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAHAAcABQAHAAcAAAAFAAcABwAAAAcABwAFAAUAAAAAAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAFAAcABwAFAAUABQAAAAUAAAAHAAcABwAHAAcABwAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAHAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAABwAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAUAAAAFAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABwAFAAUABQAFAAUAAAAFAAUAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABwAFAAUABQAFAAUABQAAAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABQAFAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABQAFAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAHAAUABQAFAAUABQAFAAUABwAHAAcABwAHAAcABwAHAAUABwAHAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABwAHAAcABwAFAAUABwAHAAcAAAAAAAAAAAAHAAcABQAHAAcABwAHAAcABwAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAcABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAUABQAFAAUABQAFAAUAAAAFAAAABQAAAAAABQAFAAUABQAFAAUABQAFAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAFAAUAAAAAAAUABQAFAAUABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABwAFAAcABwAHAAcABwAFAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAUABQAFAAUABwAHAAUABQAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABQAFAAcABwAHAAUABwAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAcABQAFAAUABQAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAAAAAABwAFAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAAAAAAAAAFAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAUABQAHAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAUABQAFAAUABQAHAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAcABwAFAAUABQAFAAcABwAFAAUABwAHAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAFAAcABwAFAAUABwAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAFAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAFAAUABQAAAAAABQAFAAAAAAAAAAAAAAAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAcABwAAAAAAAAAAAAAABwAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAcABwAFAAcABwAAAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAFAAUABQAAAAUABQAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABwAFAAUABQAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAUABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAHAAcABQAHAAUABQAAAAAAAAAAAAAAAAAFAAAABwAHAAcABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAHAAcABwAAAAAABwAHAAAAAAAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABwAHAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAFAAUABwAFAAcABwAFAAcABQAFAAcABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAHAAcABQAFAAUABQAAAAAABwAHAAcABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAHAAUABQAFAAUABQAFAAUABQAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABwAFAAcABwAFAAUABQAFAAUABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAcABwAFAAUABQAFAAcABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAUABQAFAAUABQAHAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAFAAUABQAFAAAAAAAFAAUABwAHAAcABwAFAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABwAHAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAcABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAAAHAAUABQAFAAUABQAFAAUABwAFAAUABwAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUAAAAAAAAABQAAAAUABQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAHAAcABwAHAAcAAAAFAAUAAAAHAAcABQAHAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAAAAUABQAFAAAAAAAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAAAAABQAFAAUABQAFAAUABQAAAAUABQAAAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAUABQAFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAFAAUABQAFAAUABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAFAAUABQAFAAUADgAOAA4ADgAOAA4ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAA8ADwAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAMAAwADAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAAAAAAAAAAAAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoACgAAAAAAAAAAAAsADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwACwAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAADgAOAA4AAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAAAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4AAAAOAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAAAAAAAAAAAA4AAAAOAAAAAAAAAAAADgAOAA4AAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAA4ADgAOAA4ADgAOAA4ADgAOAAAADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4ADgAOAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAOAA4ADgAOAA4AAAAAAAAAAAAAAAAAAAAAAA4ADgAOAA4ADgAOAA4ADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAOAA4ADgAOAA4ADgAAAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOAA4AAAAAAAAAAAA=",chars$1="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$1="undefined"==typeof Uint8Array?[]:new Uint8Array(256),i$1=0;i$1>4,bytes[p++]=(15&encoded2)<<4|encoded3>>2,bytes[p++]=(3&encoded3)<<6|63&encoded4;return buffer},polyUint16Array=function(buffer){for(var length=buffer.length,bytes=[],i=0;i=0){if(codePoint<55296||codePoint>56319&&codePoint<=65535)return ix=((ix=this.index[codePoint>>5])<<2)+(31&codePoint),this.data[ix];if(codePoint<=65535)return ix=((ix=this.index[2048+(codePoint-55296>>5)])<<2)+(31&codePoint),this.data[ix];if(codePoint>11),ix=this.index[ix],ix+=codePoint>>5&63,ix=((ix=this.index[ix])<<2)+(31&codePoint),this.data[ix];if(codePoint<=1114111)return this.data[this.highValueIndex]}return this.errorValue},Trie}(),chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup="undefined"==typeof Uint8Array?[]:new Uint8Array(256),i=0;i=55296&&value<=56319&&i>10),codePoint%1024+56320)),(index+1===length||codeUnits.length>16384)&&(result+=String.fromCharCode.apply(String,codeUnits),codeUnits.length=0)}return result},UnicodeTrie=createTrieFromBase64(base64),BREAK_NOT_ALLOWED="×",BREAK_ALLOWED="÷",codePointToClass=function(codePoint){return UnicodeTrie.get(codePoint)},_graphemeBreakAtIndex=function(_codePoints,classTypes,index){var prevIndex=index-2,prev=classTypes[prevIndex],current=classTypes[index-1],next=classTypes[index];if(2===current&&3===next)return"×";if(2===current||3===current||4===current)return"÷";if(2===next||3===next||4===next)return"÷";if(current===L&&-1!==[L,V,LV,LVT].indexOf(next))return"×";if(!(current!==LV&¤t!==V||next!==V&&next!==T))return"×";if((current===LVT||current===T)&&next===T)return"×";if(13===next||5===next)return"×";if(7===next)return"×";if(1===current)return"×";if(13===current&&14===next){for(;5===prev;)prev=classTypes[--prevIndex];if(14===prev)return"×"}if(15===current&&15===next){for(var countRI=0;15===prev;)countRI++,prev=classTypes[--prevIndex];if(countRI%2==0)return"×"}return"÷"},GraphemeBreaker=function(str){var codePoints=toCodePoints(str),length=codePoints.length,index=0,lastEnd=0,classTypes=codePoints.map(codePointToClass);return{next:function(){if(index>=length)return{done:!0,value:null};for(var graphemeBreak="×";indexprev.x||rect.y>prev.y;return prev=rect,0===i||boundAhead}));return document.body.removeChild(testElement),supports},testCORS=function(){return void 0!==(new Image).crossOrigin},testResponseType=function(){return"string"==typeof(new XMLHttpRequest).responseType},testSVG=function(document){var img=new Image,canvas=document.createElement("canvas"),ctx=canvas.getContext("2d");if(!ctx)return!1;img.src="data:image/svg+xml,";try{ctx.drawImage(img,0,0),canvas.toDataURL()}catch(e){return!1}return!0},isGreenPixel=function(data){return 0===data[0]&&255===data[1]&&0===data[2]&&255===data[3]},testForeignObject=function(document){var canvas=document.createElement("canvas"),size=100;canvas.width=100,canvas.height=100;var ctx=canvas.getContext("2d");if(!ctx)return Promise.reject(!1);ctx.fillStyle="rgb(0, 255, 0)",ctx.fillRect(0,0,100,100);var img=new Image,greenImageSrc=canvas.toDataURL();img.src=greenImageSrc;var svg=createForeignObjectSVG(100,100,0,0,img);return ctx.fillStyle="red",ctx.fillRect(0,0,100,100),loadSerializedSVG$1(svg).then((function(img){ctx.drawImage(img,0,0);var data=ctx.getImageData(0,0,100,100).data;ctx.fillStyle="red",ctx.fillRect(0,0,100,100);var node=document.createElement("div");return node.style.backgroundImage="url("+greenImageSrc+")",node.style.height="100px",isGreenPixel(data)?loadSerializedSVG$1(createForeignObjectSVG(100,100,0,0,node)):Promise.reject(!1)})).then((function(img){return ctx.drawImage(img,0,0),isGreenPixel(ctx.getImageData(0,0,100,100).data)})).catch((function(){return!1}))},createForeignObjectSVG=function(width,height,x,y,node){var xmlns="http://www.w3.org/2000/svg",svg=document.createElementNS(xmlns,"svg"),foreignObject=document.createElementNS(xmlns,"foreignObject");return svg.setAttributeNS(null,"width",width.toString()),svg.setAttributeNS(null,"height",height.toString()),foreignObject.setAttributeNS(null,"width","100%"),foreignObject.setAttributeNS(null,"height","100%"),foreignObject.setAttributeNS(null,"x",x.toString()),foreignObject.setAttributeNS(null,"y",y.toString()),foreignObject.setAttributeNS(null,"externalResourcesRequired","true"),svg.appendChild(foreignObject),foreignObject.appendChild(node),svg},loadSerializedSVG$1=function(svg){return new Promise((function(resolve,reject){var img=new Image;img.onload=function(){return resolve(img)},img.onerror=reject,img.src="data:image/svg+xml;charset=utf-8,"+encodeURIComponent((new XMLSerializer).serializeToString(svg))}))},FEATURES={get SUPPORT_RANGE_BOUNDS(){var value=testRangeBounds(document);return Object.defineProperty(FEATURES,"SUPPORT_RANGE_BOUNDS",{value:value}),value},get SUPPORT_WORD_BREAKING(){var value=FEATURES.SUPPORT_RANGE_BOUNDS&&testIOSLineBreak(document);return Object.defineProperty(FEATURES,"SUPPORT_WORD_BREAKING",{value:value}),value},get SUPPORT_SVG_DRAWING(){var value=testSVG(document);return Object.defineProperty(FEATURES,"SUPPORT_SVG_DRAWING",{value:value}),value},get SUPPORT_FOREIGNOBJECT_DRAWING(){var value="function"==typeof Array.from&&"function"==typeof window.fetch?testForeignObject(document):Promise.resolve(!1);return Object.defineProperty(FEATURES,"SUPPORT_FOREIGNOBJECT_DRAWING",{value:value}),value},get SUPPORT_CORS_IMAGES(){var value=testCORS();return Object.defineProperty(FEATURES,"SUPPORT_CORS_IMAGES",{value:value}),value},get SUPPORT_RESPONSE_TYPE(){var value=testResponseType();return Object.defineProperty(FEATURES,"SUPPORT_RESPONSE_TYPE",{value:value}),value},get SUPPORT_CORS_XHR(){var value="withCredentials"in new XMLHttpRequest;return Object.defineProperty(FEATURES,"SUPPORT_CORS_XHR",{value:value}),value},get SUPPORT_NATIVE_TEXT_SEGMENTATION(){var value=!("undefined"==typeof Intl||!Intl.Segmenter);return Object.defineProperty(FEATURES,"SUPPORT_NATIVE_TEXT_SEGMENTATION",{value:value}),value}},TextBounds=function(){function TextBounds(text,bounds){this.text=text,this.bounds=bounds}return TextBounds}(),parseTextBounds=function(context,value,styles,node){var textList=breakText(value,styles),textBounds=[],offset=0;return textList.forEach((function(text){if(styles.textDecorationLine.length||text.trim().length>0)if(FEATURES.SUPPORT_RANGE_BOUNDS){var clientRects=createRange(node,offset,text.length).getClientRects();if(clientRects.length>1){var subSegments=segmentGraphemes(text),subOffset_1=0;subSegments.forEach((function(subSegment){textBounds.push(new TextBounds(subSegment,Bounds.fromDOMRectList(context,createRange(node,subOffset_1+offset,subSegment.length).getClientRects()))),subOffset_1+=subSegment.length}))}else textBounds.push(new TextBounds(text,Bounds.fromDOMRectList(context,clientRects)))}else{var replacementNode=node.splitText(text.length);textBounds.push(new TextBounds(text,getWrapperBounds(context,node))),node=replacementNode}else FEATURES.SUPPORT_RANGE_BOUNDS||(node=node.splitText(text.length));offset+=text.length})),textBounds},getWrapperBounds=function(context,node){var ownerDocument=node.ownerDocument;if(ownerDocument){var wrapper=ownerDocument.createElement("html2canvaswrapper");wrapper.appendChild(node.cloneNode(!0));var parentNode=node.parentNode;if(parentNode){parentNode.replaceChild(wrapper,node);var bounds=parseBounds(context,wrapper);return wrapper.firstChild&&parentNode.replaceChild(wrapper.firstChild,wrapper),bounds}}return Bounds.EMPTY},createRange=function(node,offset,length){var ownerDocument=node.ownerDocument;if(!ownerDocument)throw new Error("Node has no owner document");var range=ownerDocument.createRange();return range.setStart(node,offset),range.setEnd(node,offset+length),range},segmentGraphemes=function(value){if(FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION){var segmenter=new Intl.Segmenter(void 0,{granularity:"grapheme"});return Array.from(segmenter.segment(value)).map((function(segment){return segment.segment}))}return splitGraphemes(value)},segmentWords=function(value,styles){if(FEATURES.SUPPORT_NATIVE_TEXT_SEGMENTATION){var segmenter=new Intl.Segmenter(void 0,{granularity:"word"});return Array.from(segmenter.segment(value)).map((function(segment){return segment.segment}))}return breakWords(value,styles)},breakText=function(value,styles){return 0!==styles.letterSpacing?segmentGraphemes(value):segmentWords(value,styles)},wordSeparators=[32,160,4961,65792,65793,4153,4241],breakWords=function(str,styles){for(var breaker=LineBreaker(str,{lineBreak:styles.lineBreak,wordBreak:"break-word"===styles.overflowWrap?"break-word":styles.wordBreak}),words=[],bk,_loop_1=function(){if(bk.value){var value=bk.value.slice(),codePoints=toCodePoints$1(value),word_1="";codePoints.forEach((function(codePoint){-1===wordSeparators.indexOf(codePoint)?word_1+=fromCodePoint$1(codePoint):(word_1.length&&words.push(word_1),words.push(fromCodePoint$1(codePoint)),word_1="")})),word_1.length&&words.push(word_1)}};!(bk=breaker.next()).done;)_loop_1();return words},TextContainer=function(){function TextContainer(context,node,styles){this.text=transform(node.data,styles.textTransform),this.textBounds=parseTextBounds(context,this.text,styles,node)}return TextContainer}(),transform=function(text,transform){switch(transform){case 1:return text.toLowerCase();case 3:return text.replace(CAPITALIZE,capitalize);case 2:return text.toUpperCase();default:return text}},CAPITALIZE=/(^|\s|:|-|\(|\))([a-z])/g,capitalize=function(m,p1,p2){return m.length>0?p1+p2.toUpperCase():m},ImageElementContainer=function(_super){function ImageElementContainer(context,img){var _this=_super.call(this,context,img)||this;return _this.src=img.currentSrc||img.src,_this.intrinsicWidth=img.naturalWidth,_this.intrinsicHeight=img.naturalHeight,_this.context.cache.addImage(_this.src),_this}return __extends(ImageElementContainer,_super),ImageElementContainer}(ElementContainer),CanvasElementContainer=function(_super){function CanvasElementContainer(context,canvas){var _this=_super.call(this,context,canvas)||this;return _this.canvas=canvas,_this.intrinsicWidth=canvas.width,_this.intrinsicHeight=canvas.height,_this}return __extends(CanvasElementContainer,_super),CanvasElementContainer}(ElementContainer),SVGElementContainer=function(_super){function SVGElementContainer(context,img){var _this=_super.call(this,context,img)||this,s=new XMLSerializer,bounds=parseBounds(context,img);return img.setAttribute("width",bounds.width+"px"),img.setAttribute("height",bounds.height+"px"),_this.svg="data:image/svg+xml,"+encodeURIComponent(s.serializeToString(img)),_this.intrinsicWidth=img.width.baseVal.value,_this.intrinsicHeight=img.height.baseVal.value,_this.context.cache.addImage(_this.svg),_this}return __extends(SVGElementContainer,_super),SVGElementContainer}(ElementContainer),LIElementContainer=function(_super){function LIElementContainer(context,element){var _this=_super.call(this,context,element)||this;return _this.value=element.value,_this}return __extends(LIElementContainer,_super),LIElementContainer}(ElementContainer),OLElementContainer=function(_super){function OLElementContainer(context,element){var _this=_super.call(this,context,element)||this;return _this.start=element.start,_this.reversed="boolean"==typeof element.reversed&&!0===element.reversed,_this}return __extends(OLElementContainer,_super),OLElementContainer}(ElementContainer),CHECKBOX_BORDER_RADIUS=[{type:15,flags:0,unit:"px",number:3}],RADIO_BORDER_RADIUS=[{type:16,flags:0,number:50}],reformatInputBounds=function(bounds){return bounds.width>bounds.height?new Bounds(bounds.left+(bounds.width-bounds.height)/2,bounds.top,bounds.height,bounds.height):bounds.width0)parent.textNodes.push(new TextContainer(context,childNode,parent.styles));else if(isElementNode(childNode))if(isSlotElement(childNode)&&childNode.assignedNodes)childNode.assignedNodes().forEach((function(childNode){return parseNodeTree(context,childNode,parent,root)}));else{var container=createContainer(context,childNode);container.styles.isVisible()&&(createsRealStackingContext(childNode,container,root)?container.flags|=4:createsStackingContext(container.styles)&&(container.flags|=2),-1!==LIST_OWNERS.indexOf(childNode.tagName)&&(container.flags|=8),parent.elements.push(container),childNode.slot,childNode.shadowRoot?parseNodeTree(context,childNode.shadowRoot,container,root):isTextareaElement(childNode)||isSVGElement(childNode)||isSelectElement(childNode)||parseNodeTree(context,childNode,container,root))}},createContainer=function(context,element){return isImageElement(element)?new ImageElementContainer(context,element):isCanvasElement(element)?new CanvasElementContainer(context,element):isSVGElement(element)?new SVGElementContainer(context,element):isLIElement(element)?new LIElementContainer(context,element):isOLElement(element)?new OLElementContainer(context,element):isInputElement(element)?new InputElementContainer(context,element):isSelectElement(element)?new SelectElementContainer(context,element):isTextareaElement(element)?new TextareaElementContainer(context,element):isIFrameElement(element)?new IFrameElementContainer(context,element):new ElementContainer(context,element)},parseTree=function(context,element){var container=createContainer(context,element);return container.flags|=4,parseNodeTree(context,element,container,container),container},createsRealStackingContext=function(node,container,root){return container.styles.isPositionedWithZIndex()||container.styles.opacity<1||container.styles.isTransformed()||isBodyElement(node)&&root.styles.isTransparent()},createsStackingContext=function(styles){return styles.isPositioned()||styles.isFloating()},isTextNode=function(node){return node.nodeType===Node.TEXT_NODE},isElementNode=function(node){return node.nodeType===Node.ELEMENT_NODE},isHTMLElementNode=function(node){return isElementNode(node)&&void 0!==node.style&&!isSVGElementNode(node)},isSVGElementNode=function(element){return"object"==typeof element.className},isLIElement=function(node){return"LI"===node.tagName},isOLElement=function(node){return"OL"===node.tagName},isInputElement=function(node){return"INPUT"===node.tagName},isHTMLElement=function(node){return"HTML"===node.tagName},isSVGElement=function(node){return"svg"===node.tagName},isBodyElement=function(node){return"BODY"===node.tagName},isCanvasElement=function(node){return"CANVAS"===node.tagName},isVideoElement=function(node){return"VIDEO"===node.tagName},isImageElement=function(node){return"IMG"===node.tagName},isIFrameElement=function(node){return"IFRAME"===node.tagName},isStyleElement=function(node){return"STYLE"===node.tagName},isScriptElement=function(node){return"SCRIPT"===node.tagName},isTextareaElement=function(node){return"TEXTAREA"===node.tagName},isSelectElement=function(node){return"SELECT"===node.tagName},isSlotElement=function(node){return"SLOT"===node.tagName},isCustomElement=function(node){return node.tagName.indexOf("-")>0},CounterState=function(){function CounterState(){this.counters={}}return CounterState.prototype.getCounterValue=function(name){var counter=this.counters[name];return counter&&counter.length?counter[counter.length-1]:1},CounterState.prototype.getCounterValues=function(name){var counter=this.counters[name];return counter||[]},CounterState.prototype.pop=function(counters){var _this=this;counters.forEach((function(counter){return _this.counters[counter].pop()}))},CounterState.prototype.parse=function(style){var _this=this,counterIncrement=style.counterIncrement,counterReset=style.counterReset,canReset=!0;null!==counterIncrement&&counterIncrement.forEach((function(entry){var counter=_this.counters[entry.counter];counter&&0!==entry.increment&&(canReset=!1,counter.length||counter.push(1),counter[Math.max(0,counter.length-1)]+=entry.increment)}));var counterNames=[];return canReset&&counterReset.forEach((function(entry){var counter=_this.counters[entry.counter];counterNames.push(entry.counter),counter||(counter=_this.counters[entry.counter]=[]),counter.push(entry.reset)})),counterNames},CounterState}(),ROMAN_UPPER={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"]},ARMENIAN={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["Ք","Փ","Ւ","Ց","Ր","Տ","Վ","Ս","Ռ","Ջ","Պ","Չ","Ո","Շ","Ն","Յ","Մ","Ճ","Ղ","Ձ","Հ","Կ","Ծ","Խ","Լ","Ի","Ժ","Թ","Ը","Է","Զ","Ե","Դ","Գ","Բ","Ա"]},HEBREW={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:["י׳","ט׳","ח׳","ז׳","ו׳","ה׳","ד׳","ג׳","ב׳","א׳","ת","ש","ר","ק","צ","פ","ע","ס","נ","מ","ל","כ","יט","יח","יז","טז","טו","י","ט","ח","ז","ו","ה","ד","ג","ב","א"]},GEORGIAN={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:["ჵ","ჰ","ჯ","ჴ","ხ","ჭ","წ","ძ","ც","ჩ","შ","ყ","ღ","ქ","ფ","ჳ","ტ","ს","რ","ჟ","პ","ო","ჲ","ნ","მ","ლ","კ","ი","თ","ჱ","ზ","ვ","ე","დ","გ","ბ","ა"]},createAdditiveCounter=function(value,min,max,symbols,fallback,suffix){return valuemax?createCounterText(value,fallback,suffix.length>0):symbols.integers.reduce((function(string,integer,index){for(;value>=integer;)value-=integer,string+=symbols.values[index];return string}),"")+suffix},createCounterStyleWithSymbolResolver=function(value,codePointRangeLength,isNumeric,resolver){var string="";do{isNumeric||value--,string=resolver(value)+string,value/=codePointRangeLength}while(value*codePointRangeLength>=codePointRangeLength);return string},createCounterStyleFromRange=function(value,codePointRangeStart,codePointRangeEnd,isNumeric,suffix){var codePointRangeLength=codePointRangeEnd-codePointRangeStart+1;return(value<0?"-":"")+(createCounterStyleWithSymbolResolver(Math.abs(value),codePointRangeLength,isNumeric,(function(codePoint){return fromCodePoint$1(Math.floor(codePoint%codePointRangeLength)+codePointRangeStart)}))+suffix)},createCounterStyleFromSymbols=function(value,symbols,suffix){void 0===suffix&&(suffix=". ");var codePointRangeLength=symbols.length;return createCounterStyleWithSymbolResolver(Math.abs(value),codePointRangeLength,!1,(function(codePoint){return symbols[Math.floor(codePoint%codePointRangeLength)]}))+suffix},CJK_ZEROS=1,CJK_TEN_COEFFICIENTS=2,CJK_TEN_HIGH_COEFFICIENTS=4,CJK_HUNDRED_COEFFICIENTS=8,createCJKCounter=function(value,numbers,multipliers,negativeSign,suffix,flags){if(value<-9999||value>9999)return createCounterText(value,4,suffix.length>0);var tmp=Math.abs(value),string=suffix;if(0===tmp)return numbers[0]+string;for(var digit=0;tmp>0&&digit<=4;digit++){var coefficient=tmp%10;0===coefficient&&contains(flags,1)&&""!==string?string=numbers[coefficient]+string:coefficient>1||1===coefficient&&0===digit||1===coefficient&&1===digit&&contains(flags,2)||1===coefficient&&1===digit&&contains(flags,4)&&value>100||1===coefficient&&digit>1&&contains(flags,8)?string=numbers[coefficient]+(digit>0?multipliers[digit-1]:"")+string:1===coefficient&&digit>0&&(string=multipliers[digit-1]+string),tmp=Math.floor(tmp/10)}return(value<0?negativeSign:"")+string},CHINESE_INFORMAL_MULTIPLIERS="十百千萬",CHINESE_FORMAL_MULTIPLIERS="拾佰仟萬",JAPANESE_NEGATIVE="マイナス",KOREAN_NEGATIVE="마이너스",createCounterText=function(value,type,appendSuffix){var defaultSuffix=appendSuffix?". ":"",cjkSuffix=appendSuffix?"、":"",koreanSuffix=appendSuffix?", ":"",spaceSuffix=appendSuffix?" ":"";switch(type){case 0:return"•"+spaceSuffix;case 1:return"◦"+spaceSuffix;case 2:return"◾"+spaceSuffix;case 5:var string=createCounterStyleFromRange(value,48,57,!0,defaultSuffix);return string.length<4?"0"+string:string;case 4:return createCounterStyleFromSymbols(value,"〇一二三四五六七八九",cjkSuffix);case 6:return createAdditiveCounter(value,1,3999,ROMAN_UPPER,3,defaultSuffix).toLowerCase();case 7:return createAdditiveCounter(value,1,3999,ROMAN_UPPER,3,defaultSuffix);case 8:return createCounterStyleFromRange(value,945,969,!1,defaultSuffix);case 9:return createCounterStyleFromRange(value,97,122,!1,defaultSuffix);case 10:return createCounterStyleFromRange(value,65,90,!1,defaultSuffix);case 11:return createCounterStyleFromRange(value,1632,1641,!0,defaultSuffix);case 12:case 49:return createAdditiveCounter(value,1,9999,ARMENIAN,3,defaultSuffix);case 35:return createAdditiveCounter(value,1,9999,ARMENIAN,3,defaultSuffix).toLowerCase();case 13:return createCounterStyleFromRange(value,2534,2543,!0,defaultSuffix);case 14:case 30:return createCounterStyleFromRange(value,6112,6121,!0,defaultSuffix);case 15:return createCounterStyleFromSymbols(value,"子丑寅卯辰巳午未申酉戌亥",cjkSuffix);case 16:return createCounterStyleFromSymbols(value,"甲乙丙丁戊己庚辛壬癸",cjkSuffix);case 17:case 48:return createCJKCounter(value,"零一二三四五六七八九","十百千萬","負",cjkSuffix,14);case 47:return createCJKCounter(value,"零壹貳參肆伍陸柒捌玖","拾佰仟萬","負",cjkSuffix,15);case 42:return createCJKCounter(value,"零一二三四五六七八九","十百千萬","负",cjkSuffix,14);case 41:return createCJKCounter(value,"零壹贰叁肆伍陆柒捌玖","拾佰仟萬","负",cjkSuffix,15);case 26:return createCJKCounter(value,"〇一二三四五六七八九","十百千万","マイナス",cjkSuffix,0);case 25:return createCJKCounter(value,"零壱弐参四伍六七八九","拾百千万","マイナス",cjkSuffix,7);case 31:return createCJKCounter(value,"영일이삼사오육칠팔구","십백천만","마이너스",koreanSuffix,7);case 33:return createCJKCounter(value,"零一二三四五六七八九","十百千萬","마이너스",koreanSuffix,0);case 32:return createCJKCounter(value,"零壹貳參四五六七八九","拾百千","마이너스",koreanSuffix,7);case 18:return createCounterStyleFromRange(value,2406,2415,!0,defaultSuffix);case 20:return createAdditiveCounter(value,1,19999,GEORGIAN,3,defaultSuffix);case 21:return createCounterStyleFromRange(value,2790,2799,!0,defaultSuffix);case 22:return createCounterStyleFromRange(value,2662,2671,!0,defaultSuffix);case 22:return createAdditiveCounter(value,1,10999,HEBREW,3,defaultSuffix);case 23:return createCounterStyleFromSymbols(value,"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん");case 24:return createCounterStyleFromSymbols(value,"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす");case 27:return createCounterStyleFromRange(value,3302,3311,!0,defaultSuffix);case 28:return createCounterStyleFromSymbols(value,"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン",cjkSuffix);case 29:return createCounterStyleFromSymbols(value,"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス",cjkSuffix);case 34:return createCounterStyleFromRange(value,3792,3801,!0,defaultSuffix);case 37:return createCounterStyleFromRange(value,6160,6169,!0,defaultSuffix);case 38:return createCounterStyleFromRange(value,4160,4169,!0,defaultSuffix);case 39:return createCounterStyleFromRange(value,2918,2927,!0,defaultSuffix);case 40:return createCounterStyleFromRange(value,1776,1785,!0,defaultSuffix);case 43:return createCounterStyleFromRange(value,3046,3055,!0,defaultSuffix);case 44:return createCounterStyleFromRange(value,3174,3183,!0,defaultSuffix);case 45:return createCounterStyleFromRange(value,3664,3673,!0,defaultSuffix);case 46:return createCounterStyleFromRange(value,3872,3881,!0,defaultSuffix);case 3:default:return createCounterStyleFromRange(value,48,57,!0,defaultSuffix)}},IGNORE_ATTRIBUTE="data-html2canvas-ignore",DocumentCloner=function(){function DocumentCloner(context,element,options){if(this.context=context,this.options=options,this.scrolledElements=[],this.referenceElement=element,this.counters=new CounterState,this.quoteDepth=0,!element.ownerDocument)throw new Error("Cloned element does not have an owner document");this.documentElement=this.cloneNode(element.ownerDocument.documentElement,!1)}return DocumentCloner.prototype.toIFrame=function(ownerDocument,windowSize){var _this=this,iframe=createIFrameContainer(ownerDocument,windowSize);if(!iframe.contentWindow)return Promise.reject("Unable to find iframe window");var scrollX=ownerDocument.defaultView.pageXOffset,scrollY=ownerDocument.defaultView.pageYOffset,cloneWindow=iframe.contentWindow,documentClone=cloneWindow.document,iframeLoad=iframeLoader(iframe).then((function(){return __awaiter(_this,void 0,void 0,(function(){var onclone,referenceElement;return __generator(this,(function(_a){switch(_a.label){case 0:return this.scrolledElements.forEach(restoreNodeScroll),cloneWindow&&(cloneWindow.scrollTo(windowSize.left,windowSize.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||cloneWindow.scrollY===windowSize.top&&cloneWindow.scrollX===windowSize.left||(this.context.logger.warn("Unable to restore scroll position for cloned document"),this.context.windowBounds=this.context.windowBounds.add(cloneWindow.scrollX-windowSize.left,cloneWindow.scrollY-windowSize.top,0,0))),onclone=this.options.onclone,void 0===(referenceElement=this.clonedReferenceElement)?[2,Promise.reject("Error finding the "+this.referenceElement.nodeName+" in the cloned document")]:documentClone.fonts&&documentClone.fonts.ready?[4,documentClone.fonts.ready]:[3,2];case 1:_a.sent(),_a.label=2;case 2:return/(AppleWebKit)/g.test(navigator.userAgent)?[4,imagesReady(documentClone)]:[3,4];case 3:_a.sent(),_a.label=4;case 4:return"function"==typeof onclone?[2,Promise.resolve().then((function(){return onclone(documentClone,referenceElement)})).then((function(){return iframe}))]:[2,iframe]}}))}))}));return documentClone.open(),documentClone.write(serializeDoctype(document.doctype)+""),restoreOwnerScroll(this.referenceElement.ownerDocument,scrollX,scrollY),documentClone.replaceChild(documentClone.adoptNode(this.documentElement),documentClone.documentElement),documentClone.close(),iframeLoad},DocumentCloner.prototype.createElementClone=function(node){if(isDebugging(node,2),isCanvasElement(node))return this.createCanvasClone(node);if(isVideoElement(node))return this.createVideoClone(node);if(isStyleElement(node))return this.createStyleClone(node);var clone=node.cloneNode(!1);return isImageElement(clone)&&(isImageElement(node)&&node.currentSrc&&node.currentSrc!==node.src&&(clone.src=node.currentSrc,clone.srcset=""),"lazy"===clone.loading&&(clone.loading="eager")),isCustomElement(clone)?this.createCustomElementClone(clone):clone},DocumentCloner.prototype.createCustomElementClone=function(node){var clone=document.createElement("html2canvascustomelement");return copyCSSStyles(node.style,clone),clone},DocumentCloner.prototype.createStyleClone=function(node){try{var sheet=node.sheet;if(sheet&&sheet.cssRules){var css=[].slice.call(sheet.cssRules,0).reduce((function(css,rule){return rule&&"string"==typeof rule.cssText?css+rule.cssText:css}),""),style=node.cloneNode(!1);return style.textContent=css,style}}catch(e){if(this.context.logger.error("Unable to access cssRules property",e),"SecurityError"!==e.name)throw e}return node.cloneNode(!1)},DocumentCloner.prototype.createCanvasClone=function(canvas){var _a;if(this.options.inlineImages&&canvas.ownerDocument){var img=canvas.ownerDocument.createElement("img");try{return img.src=canvas.toDataURL(),img}catch(e){this.context.logger.info("Unable to inline canvas contents, canvas is tainted",canvas)}}var clonedCanvas=canvas.cloneNode(!1);try{clonedCanvas.width=canvas.width,clonedCanvas.height=canvas.height;var ctx=canvas.getContext("2d"),clonedCtx=clonedCanvas.getContext("2d");if(clonedCtx)if(!this.options.allowTaint&&ctx)clonedCtx.putImageData(ctx.getImageData(0,0,canvas.width,canvas.height),0,0);else{var gl=null!==(_a=canvas.getContext("webgl2"))&&void 0!==_a?_a:canvas.getContext("webgl");if(gl){var attribs=gl.getContextAttributes();!1===(null==attribs?void 0:attribs.preserveDrawingBuffer)&&this.context.logger.warn("Unable to clone WebGL context as it has preserveDrawingBuffer=false",canvas)}clonedCtx.drawImage(canvas,0,0)}return clonedCanvas}catch(e){this.context.logger.info("Unable to clone canvas as it is tainted",canvas)}return clonedCanvas},DocumentCloner.prototype.createVideoClone=function(video){var canvas=video.ownerDocument.createElement("canvas");canvas.width=video.offsetWidth,canvas.height=video.offsetHeight;var ctx=canvas.getContext("2d");try{return ctx&&(ctx.drawImage(video,0,0,canvas.width,canvas.height),this.options.allowTaint||ctx.getImageData(0,0,canvas.width,canvas.height)),canvas}catch(e){this.context.logger.info("Unable to clone video as it is tainted",video)}var blankCanvas=video.ownerDocument.createElement("canvas");return blankCanvas.width=video.offsetWidth,blankCanvas.height=video.offsetHeight,blankCanvas},DocumentCloner.prototype.appendChildNode=function(clone,child,copyStyles){isElementNode(child)&&(isScriptElement(child)||child.hasAttribute(IGNORE_ATTRIBUTE)||"function"==typeof this.options.ignoreElements&&this.options.ignoreElements(child))||this.options.copyStyles&&isElementNode(child)&&isStyleElement(child)||clone.appendChild(this.cloneNode(child,copyStyles))},DocumentCloner.prototype.cloneChildNodes=function(node,clone,copyStyles){for(var _this=this,child=node.shadowRoot?node.shadowRoot.firstChild:node.firstChild;child;child=child.nextSibling)if(isElementNode(child)&&isSlotElement(child)&&"function"==typeof child.assignedNodes){var assignedNodes=child.assignedNodes();assignedNodes.length&&assignedNodes.forEach((function(assignedNode){return _this.appendChildNode(clone,assignedNode,copyStyles)}))}else this.appendChildNode(clone,child,copyStyles)},DocumentCloner.prototype.cloneNode=function(node,copyStyles){if(isTextNode(node))return document.createTextNode(node.data);if(!node.ownerDocument)return node.cloneNode(!1);var window=node.ownerDocument.defaultView;if(window&&isElementNode(node)&&(isHTMLElementNode(node)||isSVGElementNode(node))){var clone=this.createElementClone(node);clone.style.transitionProperty="none";var style=window.getComputedStyle(node),styleBefore=window.getComputedStyle(node,":before"),styleAfter=window.getComputedStyle(node,":after");this.referenceElement===node&&isHTMLElementNode(clone)&&(this.clonedReferenceElement=clone),isBodyElement(clone)&&createPseudoHideStyles(clone);var counters=this.counters.parse(new CSSParsedCounterDeclaration(this.context,style)),before=this.resolvePseudoContent(node,clone,styleBefore,PseudoElementType.BEFORE);isCustomElement(node)&&(copyStyles=!0),isVideoElement(node)||this.cloneChildNodes(node,clone,copyStyles),before&&clone.insertBefore(before,clone.firstChild);var after=this.resolvePseudoContent(node,clone,styleAfter,PseudoElementType.AFTER);return after&&clone.appendChild(after),this.counters.pop(counters),(style&&(this.options.copyStyles||isSVGElementNode(node))&&!isIFrameElement(node)||copyStyles)&©CSSStyles(style,clone),0===node.scrollTop&&0===node.scrollLeft||this.scrolledElements.push([clone,node.scrollLeft,node.scrollTop]),(isTextareaElement(node)||isSelectElement(node))&&(isTextareaElement(clone)||isSelectElement(clone))&&(clone.value=node.value),clone}return node.cloneNode(!1)},DocumentCloner.prototype.resolvePseudoContent=function(node,clone,style,pseudoElt){var _this=this;if(style){var value=style.content,document=clone.ownerDocument;if(document&&value&&"none"!==value&&"-moz-alt-content"!==value&&"none"!==style.display){this.counters.parse(new CSSParsedCounterDeclaration(this.context,style));var declaration=new CSSParsedPseudoDeclaration(this.context,style),anonymousReplacedElement=document.createElement("html2canvaspseudoelement");copyCSSStyles(style,anonymousReplacedElement),declaration.content.forEach((function(token){if(0===token.type)anonymousReplacedElement.appendChild(document.createTextNode(token.value));else if(22===token.type){var img=document.createElement("img");img.src=token.value,img.style.opacity="1",anonymousReplacedElement.appendChild(img)}else if(18===token.type){if("attr"===token.name){var attr=token.values.filter(isIdentToken);attr.length&&anonymousReplacedElement.appendChild(document.createTextNode(node.getAttribute(attr[0].value)||""))}else if("counter"===token.name){var _a=token.values.filter(nonFunctionArgSeparator),counter=_a[0],counterStyle=_a[1];if(counter&&isIdentToken(counter)){var counterState=_this.counters.getCounterValue(counter.value),counterType=counterStyle&&isIdentToken(counterStyle)?listStyleType.parse(_this.context,counterStyle.value):3;anonymousReplacedElement.appendChild(document.createTextNode(createCounterText(counterState,counterType,!1)))}}else if("counters"===token.name){var _b=token.values.filter(nonFunctionArgSeparator),counter=_b[0],delim=_b[1],counterStyle=_b[2];if(counter&&isIdentToken(counter)){var counterStates=_this.counters.getCounterValues(counter.value),counterType_1=counterStyle&&isIdentToken(counterStyle)?listStyleType.parse(_this.context,counterStyle.value):3,separator=delim&&0===delim.type?delim.value:"",text=counterStates.map((function(value){return createCounterText(value,counterType_1,!1)})).join(separator);anonymousReplacedElement.appendChild(document.createTextNode(text))}}}else if(20===token.type)switch(token.value){case"open-quote":anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes,_this.quoteDepth++,!0)));break;case"close-quote":anonymousReplacedElement.appendChild(document.createTextNode(getQuote(declaration.quotes,--_this.quoteDepth,!1)));break;default:anonymousReplacedElement.appendChild(document.createTextNode(token.value))}})),anonymousReplacedElement.className=PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+" "+PSEUDO_HIDE_ELEMENT_CLASS_AFTER;var newClassName=pseudoElt===PseudoElementType.BEFORE?" "+PSEUDO_HIDE_ELEMENT_CLASS_BEFORE:" "+PSEUDO_HIDE_ELEMENT_CLASS_AFTER;return isSVGElementNode(clone)?clone.className.baseValue+=newClassName:clone.className+=newClassName,anonymousReplacedElement}}},DocumentCloner.destroy=function(container){return!!container.parentNode&&(container.parentNode.removeChild(container),!0)},DocumentCloner}(),PseudoElementType;!function(PseudoElementType){PseudoElementType[PseudoElementType.BEFORE=0]="BEFORE",PseudoElementType[PseudoElementType.AFTER=1]="AFTER"}(PseudoElementType||(PseudoElementType={}));var createIFrameContainer=function(ownerDocument,bounds){var cloneIframeContainer=ownerDocument.createElement("iframe");return cloneIframeContainer.className="html2canvas-container",cloneIframeContainer.style.visibility="hidden",cloneIframeContainer.style.position="fixed",cloneIframeContainer.style.left="-10000px",cloneIframeContainer.style.top="0px",cloneIframeContainer.style.border="0",cloneIframeContainer.width=bounds.width.toString(),cloneIframeContainer.height=bounds.height.toString(),cloneIframeContainer.scrolling="no",cloneIframeContainer.setAttribute(IGNORE_ATTRIBUTE,"true"),ownerDocument.body.appendChild(cloneIframeContainer),cloneIframeContainer},imageReady=function(img){return new Promise((function(resolve){img.complete?resolve():img.src?(img.onload=resolve,img.onerror=resolve):resolve()}))},imagesReady=function(document){return Promise.all([].slice.call(document.images,0).map(imageReady))},iframeLoader=function(iframe){return new Promise((function(resolve,reject){var cloneWindow=iframe.contentWindow;if(!cloneWindow)return reject("No window assigned for iframe");var documentClone=cloneWindow.document;cloneWindow.onload=iframe.onload=function(){cloneWindow.onload=iframe.onload=null;var interval=setInterval((function(){documentClone.body.childNodes.length>0&&"complete"===documentClone.readyState&&(clearInterval(interval),resolve(iframe))}),50)}}))},ignoredStyleProperties=["all","d","content"],copyCSSStyles=function(style,target){for(var i=style.length-1;i>=0;i--){var property=style.item(i);-1===ignoredStyleProperties.indexOf(property)&&target.style.setProperty(property,style.getPropertyValue(property))}return target},serializeDoctype=function(doctype){var str="";return doctype&&(str+=""),str},restoreOwnerScroll=function(ownerDocument,x,y){ownerDocument&&ownerDocument.defaultView&&(x!==ownerDocument.defaultView.pageXOffset||y!==ownerDocument.defaultView.pageYOffset)&&ownerDocument.defaultView.scrollTo(x,y)},restoreNodeScroll=function(_a){var element=_a[0],x=_a[1],y=_a[2];element.scrollLeft=x,element.scrollTop=y},PSEUDO_BEFORE=":before",PSEUDO_AFTER=":after",PSEUDO_HIDE_ELEMENT_CLASS_BEFORE="___html2canvas___pseudoelement_before",PSEUDO_HIDE_ELEMENT_CLASS_AFTER="___html2canvas___pseudoelement_after",PSEUDO_HIDE_ELEMENT_STYLE='{\n content: "" !important;\n display: none !important;\n}',createPseudoHideStyles=function(body){createStyles(body,"."+PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+":before"+PSEUDO_HIDE_ELEMENT_STYLE+"\n ."+PSEUDO_HIDE_ELEMENT_CLASS_AFTER+":after"+PSEUDO_HIDE_ELEMENT_STYLE)},createStyles=function(body,styles){var document=body.ownerDocument;if(document){var style=document.createElement("style");style.textContent=styles,body.appendChild(style)}},CacheStorage=function(){function CacheStorage(){}return CacheStorage.getOrigin=function(url){var link=CacheStorage._link;return link?(link.href=url,link.href=link.href,link.protocol+link.hostname+link.port):"about:blank"},CacheStorage.isSameOrigin=function(src){return CacheStorage.getOrigin(src)===CacheStorage._origin},CacheStorage.setContext=function(window){CacheStorage._link=window.document.createElement("a"),CacheStorage._origin=CacheStorage.getOrigin(window.location.href)},CacheStorage._origin="about:blank",CacheStorage}(),Cache=function(){function Cache(context,_options){this.context=context,this._options=_options,this._cache={}}return Cache.prototype.addImage=function(src){var result=Promise.resolve();return this.has(src)?result:isBlobImage(src)||isRenderable(src)?((this._cache[src]=this.loadImage(src)).catch((function(){})),result):result},Cache.prototype.match=function(src){return this._cache[src]},Cache.prototype.loadImage=function(key){return __awaiter(this,void 0,void 0,(function(){var isSameOrigin,useCORS,useProxy,src,_this=this;return __generator(this,(function(_a){switch(_a.label){case 0:return isSameOrigin=CacheStorage.isSameOrigin(key),useCORS=!isInlineImage(key)&&!0===this._options.useCORS&&FEATURES.SUPPORT_CORS_IMAGES&&!isSameOrigin,useProxy=!isInlineImage(key)&&!isSameOrigin&&!isBlobImage(key)&&"string"==typeof this._options.proxy&&FEATURES.SUPPORT_CORS_XHR&&!useCORS,isSameOrigin||!1!==this._options.allowTaint||isInlineImage(key)||isBlobImage(key)||useProxy||useCORS?(src=key,useProxy?[4,this.proxy(src)]:[3,2]):[2];case 1:src=_a.sent(),_a.label=2;case 2:return this.context.logger.debug("Added image "+key.substring(0,256)),[4,new Promise((function(resolve,reject){var img=new Image;img.onload=function(){return resolve(img)},img.onerror=reject,(isInlineBase64Image(src)||useCORS)&&(img.crossOrigin="anonymous"),img.src=src,!0===img.complete&&setTimeout((function(){return resolve(img)}),500),_this._options.imageTimeout>0&&setTimeout((function(){return reject("Timed out ("+_this._options.imageTimeout+"ms) loading image")}),_this._options.imageTimeout)}))];case 3:return[2,_a.sent()]}}))}))},Cache.prototype.has=function(key){return void 0!==this._cache[key]},Cache.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},Cache.prototype.proxy=function(src){var _this=this,proxy=this._options.proxy;if(!proxy)throw new Error("No proxy defined");var key=src.substring(0,256);return new Promise((function(resolve,reject){var responseType=FEATURES.SUPPORT_RESPONSE_TYPE?"blob":"text",xhr=new XMLHttpRequest;xhr.onload=function(){if(200===xhr.status)if("text"===responseType)resolve(xhr.response);else{var reader_1=new FileReader;reader_1.addEventListener("load",(function(){return resolve(reader_1.result)}),!1),reader_1.addEventListener("error",(function(e){return reject(e)}),!1),reader_1.readAsDataURL(xhr.response)}else reject("Failed to proxy resource "+key+" with status code "+xhr.status)},xhr.onerror=reject;var queryString=proxy.indexOf("?")>-1?"&":"?";if(xhr.open("GET",""+proxy+queryString+"url="+encodeURIComponent(src)+"&responseType="+responseType),"text"!==responseType&&xhr instanceof XMLHttpRequest&&(xhr.responseType=responseType),_this._options.imageTimeout){var timeout_1=_this._options.imageTimeout;xhr.timeout=timeout_1,xhr.ontimeout=function(){return reject("Timed out ("+timeout_1+"ms) proxying "+key)}}xhr.send()}))},Cache}(),INLINE_SVG=/^data:image\/svg\+xml/i,INLINE_BASE64=/^data:image\/.*;base64,/i,INLINE_IMG=/^data:image\/.*/i,isRenderable=function(src){return FEATURES.SUPPORT_SVG_DRAWING||!isSVG(src)},isInlineImage=function(src){return INLINE_IMG.test(src)},isInlineBase64Image=function(src){return INLINE_BASE64.test(src)},isBlobImage=function(src){return"blob"===src.substr(0,4)},isSVG=function(src){return"svg"===src.substr(-3).toLowerCase()||INLINE_SVG.test(src)},Vector=function(){function Vector(x,y){this.type=0,this.x=x,this.y=y}return Vector.prototype.add=function(deltaX,deltaY){return new Vector(this.x+deltaX,this.y+deltaY)},Vector}(),lerp=function(a,b,t){return new Vector(a.x+(b.x-a.x)*t,a.y+(b.y-a.y)*t)},BezierCurve=function(){function BezierCurve(start,startControl,endControl,end){this.type=1,this.start=start,this.startControl=startControl,this.endControl=endControl,this.end=end}return BezierCurve.prototype.subdivide=function(t,firstHalf){var ab=lerp(this.start,this.startControl,t),bc=lerp(this.startControl,this.endControl,t),cd=lerp(this.endControl,this.end,t),abbc=lerp(ab,bc,t),bccd=lerp(bc,cd,t),dest=lerp(abbc,bccd,t);return firstHalf?new BezierCurve(this.start,ab,abbc,dest):new BezierCurve(dest,bccd,cd,this.end)},BezierCurve.prototype.add=function(deltaX,deltaY){return new BezierCurve(this.start.add(deltaX,deltaY),this.startControl.add(deltaX,deltaY),this.endControl.add(deltaX,deltaY),this.end.add(deltaX,deltaY))},BezierCurve.prototype.reverse=function(){return new BezierCurve(this.end,this.endControl,this.startControl,this.start)},BezierCurve}(),isBezierCurve=function(path){return 1===path.type},BoundCurves=function(){function BoundCurves(element){var styles=element.styles,bounds=element.bounds,_a=getAbsoluteValueForTuple(styles.borderTopLeftRadius,bounds.width,bounds.height),tlh=_a[0],tlv=_a[1],_b=getAbsoluteValueForTuple(styles.borderTopRightRadius,bounds.width,bounds.height),trh=_b[0],trv=_b[1],_c=getAbsoluteValueForTuple(styles.borderBottomRightRadius,bounds.width,bounds.height),brh=_c[0],brv=_c[1],_d=getAbsoluteValueForTuple(styles.borderBottomLeftRadius,bounds.width,bounds.height),blh=_d[0],blv=_d[1],factors=[];factors.push((tlh+trh)/bounds.width),factors.push((blh+brh)/bounds.width),factors.push((tlv+blv)/bounds.height),factors.push((trv+brv)/bounds.height);var maxFactor=Math.max.apply(Math,factors);maxFactor>1&&(tlh/=maxFactor,tlv/=maxFactor,trh/=maxFactor,trv/=maxFactor,brh/=maxFactor,brv/=maxFactor,blh/=maxFactor,blv/=maxFactor);var topWidth=bounds.width-trh,rightHeight=bounds.height-brv,bottomWidth=bounds.width-brh,leftHeight=bounds.height-blv,borderTopWidth=styles.borderTopWidth,borderRightWidth=styles.borderRightWidth,borderBottomWidth=styles.borderBottomWidth,borderLeftWidth=styles.borderLeftWidth,paddingTop=getAbsoluteValue(styles.paddingTop,element.bounds.width),paddingRight=getAbsoluteValue(styles.paddingRight,element.bounds.width),paddingBottom=getAbsoluteValue(styles.paddingBottom,element.bounds.width),paddingLeft=getAbsoluteValue(styles.paddingLeft,element.bounds.width);this.topLeftBorderDoubleOuterBox=tlh>0||tlv>0?getCurvePoints(bounds.left+borderLeftWidth/3,bounds.top+borderTopWidth/3,tlh-borderLeftWidth/3,tlv-borderTopWidth/3,CORNER.TOP_LEFT):new Vector(bounds.left+borderLeftWidth/3,bounds.top+borderTopWidth/3),this.topRightBorderDoubleOuterBox=tlh>0||tlv>0?getCurvePoints(bounds.left+topWidth,bounds.top+borderTopWidth/3,trh-borderRightWidth/3,trv-borderTopWidth/3,CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth/3,bounds.top+borderTopWidth/3),this.bottomRightBorderDoubleOuterBox=brh>0||brv>0?getCurvePoints(bounds.left+bottomWidth,bounds.top+rightHeight,brh-borderRightWidth/3,brv-borderBottomWidth/3,CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth/3,bounds.top+bounds.height-borderBottomWidth/3),this.bottomLeftBorderDoubleOuterBox=blh>0||blv>0?getCurvePoints(bounds.left+borderLeftWidth/3,bounds.top+leftHeight,blh-borderLeftWidth/3,blv-borderBottomWidth/3,CORNER.BOTTOM_LEFT):new Vector(bounds.left+borderLeftWidth/3,bounds.top+bounds.height-borderBottomWidth/3),this.topLeftBorderDoubleInnerBox=tlh>0||tlv>0?getCurvePoints(bounds.left+2*borderLeftWidth/3,bounds.top+2*borderTopWidth/3,tlh-2*borderLeftWidth/3,tlv-2*borderTopWidth/3,CORNER.TOP_LEFT):new Vector(bounds.left+2*borderLeftWidth/3,bounds.top+2*borderTopWidth/3),this.topRightBorderDoubleInnerBox=tlh>0||tlv>0?getCurvePoints(bounds.left+topWidth,bounds.top+2*borderTopWidth/3,trh-2*borderRightWidth/3,trv-2*borderTopWidth/3,CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width-2*borderRightWidth/3,bounds.top+2*borderTopWidth/3),this.bottomRightBorderDoubleInnerBox=brh>0||brv>0?getCurvePoints(bounds.left+bottomWidth,bounds.top+rightHeight,brh-2*borderRightWidth/3,brv-2*borderBottomWidth/3,CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width-2*borderRightWidth/3,bounds.top+bounds.height-2*borderBottomWidth/3),this.bottomLeftBorderDoubleInnerBox=blh>0||blv>0?getCurvePoints(bounds.left+2*borderLeftWidth/3,bounds.top+leftHeight,blh-2*borderLeftWidth/3,blv-2*borderBottomWidth/3,CORNER.BOTTOM_LEFT):new Vector(bounds.left+2*borderLeftWidth/3,bounds.top+bounds.height-2*borderBottomWidth/3),this.topLeftBorderStroke=tlh>0||tlv>0?getCurvePoints(bounds.left+borderLeftWidth/2,bounds.top+borderTopWidth/2,tlh-borderLeftWidth/2,tlv-borderTopWidth/2,CORNER.TOP_LEFT):new Vector(bounds.left+borderLeftWidth/2,bounds.top+borderTopWidth/2),this.topRightBorderStroke=tlh>0||tlv>0?getCurvePoints(bounds.left+topWidth,bounds.top+borderTopWidth/2,trh-borderRightWidth/2,trv-borderTopWidth/2,CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth/2,bounds.top+borderTopWidth/2),this.bottomRightBorderStroke=brh>0||brv>0?getCurvePoints(bounds.left+bottomWidth,bounds.top+rightHeight,brh-borderRightWidth/2,brv-borderBottomWidth/2,CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth/2,bounds.top+bounds.height-borderBottomWidth/2),this.bottomLeftBorderStroke=blh>0||blv>0?getCurvePoints(bounds.left+borderLeftWidth/2,bounds.top+leftHeight,blh-borderLeftWidth/2,blv-borderBottomWidth/2,CORNER.BOTTOM_LEFT):new Vector(bounds.left+borderLeftWidth/2,bounds.top+bounds.height-borderBottomWidth/2),this.topLeftBorderBox=tlh>0||tlv>0?getCurvePoints(bounds.left,bounds.top,tlh,tlv,CORNER.TOP_LEFT):new Vector(bounds.left,bounds.top),this.topRightBorderBox=trh>0||trv>0?getCurvePoints(bounds.left+topWidth,bounds.top,trh,trv,CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width,bounds.top),this.bottomRightBorderBox=brh>0||brv>0?getCurvePoints(bounds.left+bottomWidth,bounds.top+rightHeight,brh,brv,CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width,bounds.top+bounds.height),this.bottomLeftBorderBox=blh>0||blv>0?getCurvePoints(bounds.left,bounds.top+leftHeight,blh,blv,CORNER.BOTTOM_LEFT):new Vector(bounds.left,bounds.top+bounds.height),this.topLeftPaddingBox=tlh>0||tlv>0?getCurvePoints(bounds.left+borderLeftWidth,bounds.top+borderTopWidth,Math.max(0,tlh-borderLeftWidth),Math.max(0,tlv-borderTopWidth),CORNER.TOP_LEFT):new Vector(bounds.left+borderLeftWidth,bounds.top+borderTopWidth),this.topRightPaddingBox=trh>0||trv>0?getCurvePoints(bounds.left+Math.min(topWidth,bounds.width-borderRightWidth),bounds.top+borderTopWidth,topWidth>bounds.width+borderRightWidth?0:Math.max(0,trh-borderRightWidth),Math.max(0,trv-borderTopWidth),CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth,bounds.top+borderTopWidth),this.bottomRightPaddingBox=brh>0||brv>0?getCurvePoints(bounds.left+Math.min(bottomWidth,bounds.width-borderLeftWidth),bounds.top+Math.min(rightHeight,bounds.height-borderBottomWidth),Math.max(0,brh-borderRightWidth),Math.max(0,brv-borderBottomWidth),CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width-borderRightWidth,bounds.top+bounds.height-borderBottomWidth),this.bottomLeftPaddingBox=blh>0||blv>0?getCurvePoints(bounds.left+borderLeftWidth,bounds.top+Math.min(leftHeight,bounds.height-borderBottomWidth),Math.max(0,blh-borderLeftWidth),Math.max(0,blv-borderBottomWidth),CORNER.BOTTOM_LEFT):new Vector(bounds.left+borderLeftWidth,bounds.top+bounds.height-borderBottomWidth),this.topLeftContentBox=tlh>0||tlv>0?getCurvePoints(bounds.left+borderLeftWidth+paddingLeft,bounds.top+borderTopWidth+paddingTop,Math.max(0,tlh-(borderLeftWidth+paddingLeft)),Math.max(0,tlv-(borderTopWidth+paddingTop)),CORNER.TOP_LEFT):new Vector(bounds.left+borderLeftWidth+paddingLeft,bounds.top+borderTopWidth+paddingTop),this.topRightContentBox=trh>0||trv>0?getCurvePoints(bounds.left+Math.min(topWidth,bounds.width+borderLeftWidth+paddingLeft),bounds.top+borderTopWidth+paddingTop,topWidth>bounds.width+borderLeftWidth+paddingLeft?0:trh-borderLeftWidth+paddingLeft,trv-(borderTopWidth+paddingTop),CORNER.TOP_RIGHT):new Vector(bounds.left+bounds.width-(borderRightWidth+paddingRight),bounds.top+borderTopWidth+paddingTop),this.bottomRightContentBox=brh>0||brv>0?getCurvePoints(bounds.left+Math.min(bottomWidth,bounds.width-(borderLeftWidth+paddingLeft)),bounds.top+Math.min(rightHeight,bounds.height+borderTopWidth+paddingTop),Math.max(0,brh-(borderRightWidth+paddingRight)),brv-(borderBottomWidth+paddingBottom),CORNER.BOTTOM_RIGHT):new Vector(bounds.left+bounds.width-(borderRightWidth+paddingRight),bounds.top+bounds.height-(borderBottomWidth+paddingBottom)),this.bottomLeftContentBox=blh>0||blv>0?getCurvePoints(bounds.left+borderLeftWidth+paddingLeft,bounds.top+leftHeight,Math.max(0,blh-(borderLeftWidth+paddingLeft)),blv-(borderBottomWidth+paddingBottom),CORNER.BOTTOM_LEFT):new Vector(bounds.left+borderLeftWidth+paddingLeft,bounds.top+bounds.height-(borderBottomWidth+paddingBottom))}return BoundCurves}(),CORNER;!function(CORNER){CORNER[CORNER.TOP_LEFT=0]="TOP_LEFT",CORNER[CORNER.TOP_RIGHT=1]="TOP_RIGHT",CORNER[CORNER.BOTTOM_RIGHT=2]="BOTTOM_RIGHT",CORNER[CORNER.BOTTOM_LEFT=3]="BOTTOM_LEFT"}(CORNER||(CORNER={}));var getCurvePoints=function(x,y,r1,r2,position){var kappa=(Math.sqrt(2)-1)/3*4,ox=r1*kappa,oy=r2*kappa,xm=x+r1,ym=y+r2;switch(position){case CORNER.TOP_LEFT:return new BezierCurve(new Vector(x,ym),new Vector(x,ym-oy),new Vector(xm-ox,y),new Vector(xm,y));case CORNER.TOP_RIGHT:return new BezierCurve(new Vector(x,y),new Vector(x+ox,y),new Vector(xm,ym-oy),new Vector(xm,ym));case CORNER.BOTTOM_RIGHT:return new BezierCurve(new Vector(xm,y),new Vector(xm,y+oy),new Vector(x+ox,ym),new Vector(x,ym));case CORNER.BOTTOM_LEFT:default:return new BezierCurve(new Vector(xm,ym),new Vector(xm-ox,ym),new Vector(x,y+oy),new Vector(x,y))}},calculateBorderBoxPath=function(curves){return[curves.topLeftBorderBox,curves.topRightBorderBox,curves.bottomRightBorderBox,curves.bottomLeftBorderBox]},calculateContentBoxPath=function(curves){return[curves.topLeftContentBox,curves.topRightContentBox,curves.bottomRightContentBox,curves.bottomLeftContentBox]},calculatePaddingBoxPath=function(curves){return[curves.topLeftPaddingBox,curves.topRightPaddingBox,curves.bottomRightPaddingBox,curves.bottomLeftPaddingBox]},TransformEffect=function(){function TransformEffect(offsetX,offsetY,matrix){this.offsetX=offsetX,this.offsetY=offsetY,this.matrix=matrix,this.type=0,this.target=6}return TransformEffect}(),ClipEffect=function(){function ClipEffect(path,target){this.path=path,this.target=target,this.type=1}return ClipEffect}(),OpacityEffect=function(){function OpacityEffect(opacity){this.opacity=opacity,this.type=2,this.target=6}return OpacityEffect}(),isTransformEffect=function(effect){return 0===effect.type},isClipEffect=function(effect){return 1===effect.type},isOpacityEffect=function(effect){return 2===effect.type},equalPath=function(a,b){return a.length===b.length&&a.some((function(v,i){return v===b[i]}))},transformPath=function(path,deltaX,deltaY,deltaW,deltaH){return path.map((function(point,index){switch(index){case 0:return point.add(deltaX,deltaY);case 1:return point.add(deltaX+deltaW,deltaY);case 2:return point.add(deltaX+deltaW,deltaY+deltaH);case 3:return point.add(deltaX,deltaY+deltaH)}return point}))},StackingContext=function(){function StackingContext(container){this.element=container,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]}return StackingContext}(),ElementPaint=function(){function ElementPaint(container,parent){if(this.container=container,this.parent=parent,this.effects=[],this.curves=new BoundCurves(this.container),this.container.styles.opacity<1&&this.effects.push(new OpacityEffect(this.container.styles.opacity)),null!==this.container.styles.transform){var offsetX=this.container.bounds.left+this.container.styles.transformOrigin[0].number,offsetY=this.container.bounds.top+this.container.styles.transformOrigin[1].number,matrix=this.container.styles.transform;this.effects.push(new TransformEffect(offsetX,offsetY,matrix))}if(0!==this.container.styles.overflowX){var borderBox=calculateBorderBoxPath(this.curves),paddingBox=calculatePaddingBoxPath(this.curves);equalPath(borderBox,paddingBox)?this.effects.push(new ClipEffect(borderBox,6)):(this.effects.push(new ClipEffect(borderBox,2)),this.effects.push(new ClipEffect(paddingBox,4)))}}return ElementPaint.prototype.getEffects=function(target){for(var inFlow=-1===[2,3].indexOf(this.container.styles.position),parent=this.parent,effects=this.effects.slice(0);parent;){var croplessEffects=parent.effects.filter((function(effect){return!isClipEffect(effect)}));if(inFlow||0!==parent.container.styles.position||!parent.parent){if(effects.unshift.apply(effects,croplessEffects),inFlow=-1===[2,3].indexOf(parent.container.styles.position),0!==parent.container.styles.overflowX){var borderBox=calculateBorderBoxPath(parent.curves),paddingBox=calculatePaddingBoxPath(parent.curves);equalPath(borderBox,paddingBox)||effects.unshift(new ClipEffect(paddingBox,6))}}else effects.unshift.apply(effects,croplessEffects);parent=parent.parent}return effects.filter((function(effect){return contains(effect.target,target)}))},ElementPaint}(),parseStackTree=function(parent,stackingContext,realStackingContext,listItems){parent.container.elements.forEach((function(child){var treatAsRealStackingContext=contains(child.flags,4),createsStackingContext=contains(child.flags,2),paintContainer=new ElementPaint(child,parent);contains(child.styles.display,2048)&&listItems.push(paintContainer);var listOwnerItems=contains(child.flags,8)?[]:listItems;if(treatAsRealStackingContext||createsStackingContext){var parentStack=treatAsRealStackingContext||child.styles.isPositioned()?realStackingContext:stackingContext,stack=new StackingContext(paintContainer);if(child.styles.isPositioned()||child.styles.opacity<1||child.styles.isTransformed()){var order_1=child.styles.zIndex.order;if(order_1<0){var index_1=0;parentStack.negativeZIndex.some((function(current,i){return order_1>current.element.container.styles.zIndex.order?(index_1=i,!1):index_1>0})),parentStack.negativeZIndex.splice(index_1,0,stack)}else if(order_1>0){var index_2=0;parentStack.positiveZIndex.some((function(current,i){return order_1>=current.element.container.styles.zIndex.order?(index_2=i+1,!1):index_2>0})),parentStack.positiveZIndex.splice(index_2,0,stack)}else parentStack.zeroOrAutoZIndexOrTransformedOrOpacity.push(stack)}else child.styles.isFloating()?parentStack.nonPositionedFloats.push(stack):parentStack.nonPositionedInlineLevel.push(stack);parseStackTree(paintContainer,stack,treatAsRealStackingContext?stack:realStackingContext,listOwnerItems)}else child.styles.isInlineLevel()?stackingContext.inlineLevel.push(paintContainer):stackingContext.nonInlineLevel.push(paintContainer),parseStackTree(paintContainer,stackingContext,realStackingContext,listOwnerItems);contains(child.flags,8)&&processListItems(child,listOwnerItems)}))},processListItems=function(owner,elements){for(var numbering=owner instanceof OLElementContainer?owner.start:1,reversed=owner instanceof OLElementContainer&&owner.reversed,i=0;i0&&container.intrinsicHeight>0){var box=contentBox(container),path=calculatePaddingBoxPath(curves);this.path(path),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(image,0,0,container.intrinsicWidth,container.intrinsicHeight,box.left,box.top,box.width,box.height),this.ctx.restore()}},CanvasRenderer.prototype.renderNodeContent=function(paint){return __awaiter(this,void 0,void 0,(function(){var container,curves,styles,_i,_a,child,image,image,iframeRenderer,canvas,size,_b,fontFamily,fontSize,baseline,bounds,x,textBounds,img,image,url,fontFamily,bounds;return __generator(this,(function(_c){switch(_c.label){case 0:this.applyEffects(paint.getEffects(4)),container=paint.container,curves=paint.curves,styles=container.styles,_i=0,_a=container.textNodes,_c.label=1;case 1:return _i<_a.length?(child=_a[_i],[4,this.renderTextNode(child,styles)]):[3,4];case 2:_c.sent(),_c.label=3;case 3:return _i++,[3,1];case 4:if(!(container instanceof ImageElementContainer))return[3,8];_c.label=5;case 5:return _c.trys.push([5,7,,8]),[4,this.context.cache.match(container.src)];case 6:return image=_c.sent(),this.renderReplacedElement(container,curves,image),[3,8];case 7:return _c.sent(),this.context.logger.error("Error loading image "+container.src),[3,8];case 8:if(container instanceof CanvasElementContainer&&this.renderReplacedElement(container,curves,container.canvas),!(container instanceof SVGElementContainer))return[3,12];_c.label=9;case 9:return _c.trys.push([9,11,,12]),[4,this.context.cache.match(container.svg)];case 10:return image=_c.sent(),this.renderReplacedElement(container,curves,image),[3,12];case 11:return _c.sent(),this.context.logger.error("Error loading svg "+container.svg.substring(0,255)),[3,12];case 12:return container instanceof IFrameElementContainer&&container.tree?[4,(iframeRenderer=new CanvasRenderer(this.context,{scale:this.options.scale,backgroundColor:container.backgroundColor,x:0,y:0,width:container.width,height:container.height})).render(container.tree)]:[3,14];case 13:canvas=_c.sent(),container.width&&container.height&&this.ctx.drawImage(canvas,0,0,container.width,container.height,container.bounds.left,container.bounds.top,container.bounds.width,container.bounds.height),_c.label=14;case 14:if(container instanceof InputElementContainer&&(size=Math.min(container.bounds.width,container.bounds.height),container.type===CHECKBOX?container.checked&&(this.ctx.save(),this.path([new Vector(container.bounds.left+.39363*size,container.bounds.top+.79*size),new Vector(container.bounds.left+.16*size,container.bounds.top+.5549*size),new Vector(container.bounds.left+.27347*size,container.bounds.top+.44071*size),new Vector(container.bounds.left+.39694*size,container.bounds.top+.5649*size),new Vector(container.bounds.left+.72983*size,container.bounds.top+.23*size),new Vector(container.bounds.left+.84*size,container.bounds.top+.34085*size),new Vector(container.bounds.left+.39363*size,container.bounds.top+.79*size)]),this.ctx.fillStyle=asString(707406591),this.ctx.fill(),this.ctx.restore()):container.type===RADIO&&container.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(container.bounds.left+size/2,container.bounds.top+size/2,size/4,0,2*Math.PI,!0),this.ctx.fillStyle=asString(707406591),this.ctx.fill(),this.ctx.restore())),isTextInputElement(container)&&container.value.length){switch(_b=this.createFontStyle(styles),fontFamily=_b[0],fontSize=_b[1],baseline=this.fontMetrics.getMetrics(fontFamily,fontSize).baseline,this.ctx.font=fontFamily,this.ctx.fillStyle=asString(styles.color),this.ctx.textBaseline="alphabetic",this.ctx.textAlign=canvasTextAlign(container.styles.textAlign),bounds=contentBox(container),x=0,container.styles.textAlign){case 1:x+=bounds.width/2;break;case 2:x+=bounds.width}textBounds=bounds.add(x,0,0,-bounds.height/2+1),this.ctx.save(),this.path([new Vector(bounds.left,bounds.top),new Vector(bounds.left+bounds.width,bounds.top),new Vector(bounds.left+bounds.width,bounds.top+bounds.height),new Vector(bounds.left,bounds.top+bounds.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new TextBounds(container.value,textBounds),styles.letterSpacing,baseline),this.ctx.restore(),this.ctx.textBaseline="alphabetic",this.ctx.textAlign="left"}if(!contains(container.styles.display,2048))return[3,20];if(null===container.styles.listStyleImage)return[3,19];if(0!==(img=container.styles.listStyleImage).type)return[3,18];image=void 0,url=img.url,_c.label=15;case 15:return _c.trys.push([15,17,,18]),[4,this.context.cache.match(url)];case 16:return image=_c.sent(),this.ctx.drawImage(image,container.bounds.left-(image.width+10),container.bounds.top),[3,18];case 17:return _c.sent(),this.context.logger.error("Error loading list-style-image "+url),[3,18];case 18:return[3,20];case 19:paint.listValue&&-1!==container.styles.listStyleType&&(fontFamily=this.createFontStyle(styles)[0],this.ctx.font=fontFamily,this.ctx.fillStyle=asString(styles.color),this.ctx.textBaseline="middle",this.ctx.textAlign="right",bounds=new Bounds(container.bounds.left,container.bounds.top+getAbsoluteValue(container.styles.paddingTop,container.bounds.width),container.bounds.width,computeLineHeight(styles.lineHeight,styles.fontSize.number)/2+1),this.renderTextWithLetterSpacing(new TextBounds(paint.listValue,bounds),styles.letterSpacing,computeLineHeight(styles.lineHeight,styles.fontSize.number)/2+2),this.ctx.textBaseline="bottom",this.ctx.textAlign="left"),_c.label=20;case 20:return[2]}}))}))},CanvasRenderer.prototype.renderStackContent=function(stack){return __awaiter(this,void 0,void 0,(function(){var _i,_a,child,_b,_c,child,_d,_e,child,_f,_g,child,_h,_j,child,_k,_l,child,_m,_o,child;return __generator(this,(function(_p){switch(_p.label){case 0:return contains(stack.element.container.flags,16),[4,this.renderNodeBackgroundAndBorders(stack.element)];case 1:_p.sent(),_i=0,_a=stack.negativeZIndex,_p.label=2;case 2:return _i<_a.length?(child=_a[_i],[4,this.renderStack(child)]):[3,5];case 3:_p.sent(),_p.label=4;case 4:return _i++,[3,2];case 5:return[4,this.renderNodeContent(stack.element)];case 6:_p.sent(),_b=0,_c=stack.nonInlineLevel,_p.label=7;case 7:return _b<_c.length?(child=_c[_b],[4,this.renderNode(child)]):[3,10];case 8:_p.sent(),_p.label=9;case 9:return _b++,[3,7];case 10:_d=0,_e=stack.nonPositionedFloats,_p.label=11;case 11:return _d<_e.length?(child=_e[_d],[4,this.renderStack(child)]):[3,14];case 12:_p.sent(),_p.label=13;case 13:return _d++,[3,11];case 14:_f=0,_g=stack.nonPositionedInlineLevel,_p.label=15;case 15:return _f<_g.length?(child=_g[_f],[4,this.renderStack(child)]):[3,18];case 16:_p.sent(),_p.label=17;case 17:return _f++,[3,15];case 18:_h=0,_j=stack.inlineLevel,_p.label=19;case 19:return _h<_j.length?(child=_j[_h],[4,this.renderNode(child)]):[3,22];case 20:_p.sent(),_p.label=21;case 21:return _h++,[3,19];case 22:_k=0,_l=stack.zeroOrAutoZIndexOrTransformedOrOpacity,_p.label=23;case 23:return _k<_l.length?(child=_l[_k],[4,this.renderStack(child)]):[3,26];case 24:_p.sent(),_p.label=25;case 25:return _k++,[3,23];case 26:_m=0,_o=stack.positiveZIndex,_p.label=27;case 27:return _m<_o.length?(child=_o[_m],[4,this.renderStack(child)]):[3,30];case 28:_p.sent(),_p.label=29;case 29:return _m++,[3,27];case 30:return[2]}}))}))},CanvasRenderer.prototype.mask=function(paths){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(paths.slice(0).reverse()),this.ctx.closePath()},CanvasRenderer.prototype.path=function(paths){this.ctx.beginPath(),this.formatPath(paths),this.ctx.closePath()},CanvasRenderer.prototype.formatPath=function(paths){var _this=this;paths.forEach((function(point,index){var start=isBezierCurve(point)?point.start:point;0===index?_this.ctx.moveTo(start.x,start.y):_this.ctx.lineTo(start.x,start.y),isBezierCurve(point)&&_this.ctx.bezierCurveTo(point.startControl.x,point.startControl.y,point.endControl.x,point.endControl.y,point.end.x,point.end.y)}))},CanvasRenderer.prototype.renderRepeat=function(path,pattern,offsetX,offsetY){this.path(path),this.ctx.fillStyle=pattern,this.ctx.translate(offsetX,offsetY),this.ctx.fill(),this.ctx.translate(-offsetX,-offsetY)},CanvasRenderer.prototype.resizeImage=function(image,width,height){var _a;if(image.width===width&&image.height===height)return image;var ownerDocument,canvas=(null!==(_a=this.canvas.ownerDocument)&&void 0!==_a?_a:document).createElement("canvas"),ctx;return canvas.width=Math.max(1,width),canvas.height=Math.max(1,height),canvas.getContext("2d").drawImage(image,0,0,image.width,image.height,0,0,width,height),canvas},CanvasRenderer.prototype.renderBackgroundImage=function(container){return __awaiter(this,void 0,void 0,(function(){var index,_loop_1,this_1,_i,_a,backgroundImage;return __generator(this,(function(_b){switch(_b.label){case 0:index=container.styles.backgroundImage.length-1,_loop_1=function(backgroundImage){var image,url,_c,path,x,y,width,height,pattern,_d,path,x,y,width,height,_e,lineLength,x0,x1,y0,y1,canvas,ctx,gradient_1,pattern,_f,path,left,top_1,width,height,position,x,y,_g,rx,ry,radialGradient_1,midX,midY,f,invF;return __generator(this,(function(_h){switch(_h.label){case 0:if(0!==backgroundImage.type)return[3,5];image=void 0,url=backgroundImage.url,_h.label=1;case 1:return _h.trys.push([1,3,,4]),[4,this_1.context.cache.match(url)];case 2:return image=_h.sent(),[3,4];case 3:return _h.sent(),this_1.context.logger.error("Error loading background-image "+url),[3,4];case 4:return image&&(_c=calculateBackgroundRendering(container,index,[image.width,image.height,image.width/image.height]),path=_c[0],x=_c[1],y=_c[2],width=_c[3],height=_c[4],pattern=this_1.ctx.createPattern(this_1.resizeImage(image,width,height),"repeat"),this_1.renderRepeat(path,pattern,x,y)),[3,6];case 5:isLinearGradient(backgroundImage)?(_d=calculateBackgroundRendering(container,index,[null,null,null]),path=_d[0],x=_d[1],y=_d[2],width=_d[3],height=_d[4],_e=calculateGradientDirection(backgroundImage.angle,width,height),lineLength=_e[0],x0=_e[1],x1=_e[2],y0=_e[3],y1=_e[4],(canvas=document.createElement("canvas")).width=width,canvas.height=height,ctx=canvas.getContext("2d"),gradient_1=ctx.createLinearGradient(x0,y0,x1,y1),processColorStops(backgroundImage.stops,lineLength).forEach((function(colorStop){return gradient_1.addColorStop(colorStop.stop,asString(colorStop.color))})),ctx.fillStyle=gradient_1,ctx.fillRect(0,0,width,height),width>0&&height>0&&(pattern=this_1.ctx.createPattern(canvas,"repeat"),this_1.renderRepeat(path,pattern,x,y))):isRadialGradient(backgroundImage)&&(_f=calculateBackgroundRendering(container,index,[null,null,null]),path=_f[0],left=_f[1],top_1=_f[2],width=_f[3],height=_f[4],position=0===backgroundImage.position.length?[FIFTY_PERCENT]:backgroundImage.position,x=getAbsoluteValue(position[0],width),y=getAbsoluteValue(position[position.length-1],height),_g=calculateRadius(backgroundImage,x,y,width,height),rx=_g[0],ry=_g[1],rx>0&&ry>0&&(radialGradient_1=this_1.ctx.createRadialGradient(left+x,top_1+y,0,left+x,top_1+y,rx),processColorStops(backgroundImage.stops,2*rx).forEach((function(colorStop){return radialGradient_1.addColorStop(colorStop.stop,asString(colorStop.color))})),this_1.path(path),this_1.ctx.fillStyle=radialGradient_1,rx!==ry?(midX=container.bounds.left+.5*container.bounds.width,midY=container.bounds.top+.5*container.bounds.height,invF=1/(f=ry/rx),this_1.ctx.save(),this_1.ctx.translate(midX,midY),this_1.ctx.transform(1,0,0,f,0,0),this_1.ctx.translate(-midX,-midY),this_1.ctx.fillRect(left,invF*(top_1-midY)+midY,width,height*invF),this_1.ctx.restore()):this_1.ctx.fill())),_h.label=6;case 6:return index--,[2]}}))},this_1=this,_i=0,_a=container.styles.backgroundImage.slice(0).reverse(),_b.label=1;case 1:return _i<_a.length?(backgroundImage=_a[_i],[5,_loop_1(backgroundImage)]):[3,4];case 2:_b.sent(),_b.label=3;case 3:return _i++,[3,1];case 4:return[2]}}))}))},CanvasRenderer.prototype.renderSolidBorder=function(color,side,curvePoints){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(_a){return this.path(parsePathForBorder(curvePoints,side)),this.ctx.fillStyle=asString(color),this.ctx.fill(),[2]}))}))},CanvasRenderer.prototype.renderDoubleBorder=function(color,width,side,curvePoints){return __awaiter(this,void 0,void 0,(function(){var outerPaths,innerPaths;return __generator(this,(function(_a){switch(_a.label){case 0:return width<3?[4,this.renderSolidBorder(color,side,curvePoints)]:[3,2];case 1:return _a.sent(),[2];case 2:return outerPaths=parsePathForBorderDoubleOuter(curvePoints,side),this.path(outerPaths),this.ctx.fillStyle=asString(color),this.ctx.fill(),innerPaths=parsePathForBorderDoubleInner(curvePoints,side),this.path(innerPaths),this.ctx.fill(),[2]}}))}))},CanvasRenderer.prototype.renderNodeBackgroundAndBorders=function(paint){return __awaiter(this,void 0,void 0,(function(){var styles,hasBackground,borders,backgroundPaintingArea,side,_i,borders_1,border,_this=this;return __generator(this,(function(_a){switch(_a.label){case 0:return this.applyEffects(paint.getEffects(2)),styles=paint.container.styles,hasBackground=!isTransparent(styles.backgroundColor)||styles.backgroundImage.length,borders=[{style:styles.borderTopStyle,color:styles.borderTopColor,width:styles.borderTopWidth},{style:styles.borderRightStyle,color:styles.borderRightColor,width:styles.borderRightWidth},{style:styles.borderBottomStyle,color:styles.borderBottomColor,width:styles.borderBottomWidth},{style:styles.borderLeftStyle,color:styles.borderLeftColor,width:styles.borderLeftWidth}],backgroundPaintingArea=calculateBackgroundCurvedPaintingArea(getBackgroundValueForIndex(styles.backgroundClip,0),paint.curves),hasBackground||styles.boxShadow.length?(this.ctx.save(),this.path(backgroundPaintingArea),this.ctx.clip(),isTransparent(styles.backgroundColor)||(this.ctx.fillStyle=asString(styles.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(paint.container)]):[3,2];case 1:_a.sent(),this.ctx.restore(),styles.boxShadow.slice(0).reverse().forEach((function(shadow){_this.ctx.save();var borderBoxArea=calculateBorderBoxPath(paint.curves),maskOffset=shadow.inset?0:1e4,shadowPaintingArea=transformPath(borderBoxArea,-maskOffset+(shadow.inset?1:-1)*shadow.spread.number,(shadow.inset?1:-1)*shadow.spread.number,shadow.spread.number*(shadow.inset?-2:2),shadow.spread.number*(shadow.inset?-2:2));shadow.inset?(_this.path(borderBoxArea),_this.ctx.clip(),_this.mask(shadowPaintingArea)):(_this.mask(borderBoxArea),_this.ctx.clip(),_this.path(shadowPaintingArea)),_this.ctx.shadowOffsetX=shadow.offsetX.number+maskOffset,_this.ctx.shadowOffsetY=shadow.offsetY.number,_this.ctx.shadowColor=asString(shadow.color),_this.ctx.shadowBlur=shadow.blur.number,_this.ctx.fillStyle=shadow.inset?asString(shadow.color):"rgba(0,0,0,1)",_this.ctx.fill(),_this.ctx.restore()})),_a.label=2;case 2:side=0,_i=0,borders_1=borders,_a.label=3;case 3:return _i0?2!==border.style?[3,5]:[4,this.renderDashedDottedBorder(border.color,border.width,side,paint.curves,2)]:[3,11]:[3,13];case 4:return _a.sent(),[3,11];case 5:return 3!==border.style?[3,7]:[4,this.renderDashedDottedBorder(border.color,border.width,side,paint.curves,3)];case 6:return _a.sent(),[3,11];case 7:return 4!==border.style?[3,9]:[4,this.renderDoubleBorder(border.color,border.width,side,paint.curves)];case 8:return _a.sent(),[3,11];case 9:return[4,this.renderSolidBorder(border.color,side,paint.curves)];case 10:_a.sent(),_a.label=11;case 11:side++,_a.label=12;case 12:return _i++,[3,3];case 13:return[2]}}))}))},CanvasRenderer.prototype.renderDashedDottedBorder=function(color,width,side,curvePoints,style){return __awaiter(this,void 0,void 0,(function(){var strokePaths,boxPaths,startX,startY,endX,endY,length,dashLength,spaceLength,useLineDash,multiplier,numberOfDashes,minSpace,maxSpace,path1,path2,path1,path2;return __generator(this,(function(_a){return this.ctx.save(),strokePaths=parsePathForBorderStroke(curvePoints,side),boxPaths=parsePathForBorder(curvePoints,side),2===style&&(this.path(boxPaths),this.ctx.clip()),isBezierCurve(boxPaths[0])?(startX=boxPaths[0].start.x,startY=boxPaths[0].start.y):(startX=boxPaths[0].x,startY=boxPaths[0].y),isBezierCurve(boxPaths[1])?(endX=boxPaths[1].end.x,endY=boxPaths[1].end.y):(endX=boxPaths[1].x,endY=boxPaths[1].y),length=0===side||2===side?Math.abs(startX-endX):Math.abs(startY-endY),this.ctx.beginPath(),3===style?this.formatPath(strokePaths):this.formatPath(boxPaths.slice(0,2)),dashLength=width<3?3*width:2*width,spaceLength=width<3?2*width:width,3===style&&(dashLength=width,spaceLength=width),useLineDash=!0,length<=2*dashLength?useLineDash=!1:length<=2*dashLength+spaceLength?(dashLength*=multiplier=length/(2*dashLength+spaceLength),spaceLength*=multiplier):(numberOfDashes=Math.floor((length+spaceLength)/(dashLength+spaceLength)),minSpace=(length-numberOfDashes*dashLength)/(numberOfDashes-1),spaceLength=(maxSpace=(length-(numberOfDashes+1)*dashLength)/numberOfDashes)<=0||Math.abs(spaceLength-minSpace)