{"version":3,"sources":["webpack://echartsExample/./node_modules/@lang/object-visualizer/dist/object-visualizer.esm.min.js","webpack://echartsExample/./common/buildCode.js","webpack://echartsExample/src/editor/CodeAce.vue","webpack://echartsExample/src/editor/CodeMonaco.vue","webpack://echartsExample/src/editor/Editor.vue","webpack://echartsExample/src/editor/FullCodePreview.vue","webpack://echartsExample/src/editor/Preview.vue","webpack://echartsExample/src/editor/View.vue","webpack://echartsExample/src/explore/ExampleCard.vue","webpack://echartsExample/src/explore/Explore.vue","webpack://echartsExample/./src/common/config.js","webpack://echartsExample/./src/common/helper.js","webpack://echartsExample/./src/common/i18n.js","webpack://echartsExample/./src/common/store.js","webpack://echartsExample/./src/data/chart-list-data-gl.js","webpack://echartsExample/./src/data/chart-list-data.js","webpack://echartsExample/./src/data/option-keywords.js","webpack://echartsExample/./src/dep/showDebugDirtyRect.js","webpack://echartsExample/./src/editor/downloadExample.js","webpack://echartsExample/./src/editor/sandbox.js","webpack://echartsExample/./src/main.js","webpack://echartsExample/./src/asset/placeholder.jpg","webpack://echartsExample/./src/asset/icon/bar.svg","webpack://echartsExample/./src/asset/icon/boxplot.svg","webpack://echartsExample/./src/asset/icon/calendar.svg","webpack://echartsExample/./src/asset/icon/candlestick.svg","webpack://echartsExample/./src/asset/icon/custom.svg","webpack://echartsExample/./src/asset/icon/dataZoom.svg","webpack://echartsExample/./src/asset/icon/dataset.svg","webpack://echartsExample/./src/asset/icon/drag.svg","webpack://echartsExample/./src/asset/icon/funnel.svg","webpack://echartsExample/./src/asset/icon/gauge.svg","webpack://echartsExample/./src/asset/icon/geo.svg","webpack://echartsExample/./src/asset/icon/gl.svg","webpack://echartsExample/./src/asset/icon/graph.svg","webpack://echartsExample/./src/asset/icon/heatmap.svg","webpack://echartsExample/./src/asset/icon/line.svg","webpack://echartsExample/./src/asset/icon/lines.svg","webpack://echartsExample/./src/asset/icon/map.svg","webpack://echartsExample/./src/asset/icon/parallel.svg","webpack://echartsExample/./src/asset/icon/pictorialBar.svg","webpack://echartsExample/./src/asset/icon/pie.svg","webpack://echartsExample/./src/asset/icon/radar.svg","webpack://echartsExample/./src/asset/icon/rich.svg","webpack://echartsExample/./src/asset/icon/sankey.svg","webpack://echartsExample/./src/asset/icon/scatter.svg","webpack://echartsExample/./src/asset/icon/sunburst.svg","webpack://echartsExample/./src/asset/icon/themeRiver.svg","webpack://echartsExample/./src/asset/icon/tree.svg","webpack://echartsExample/./src/asset/icon/treemap.svg","webpack://echartsExample/./node_modules/lodash/_Symbol.js","webpack://echartsExample/./node_modules/lodash/_baseGetTag.js","webpack://echartsExample/./node_modules/lodash/_freeGlobal.js","webpack://echartsExample/./node_modules/lodash/_getRawTag.js","webpack://echartsExample/./node_modules/lodash/_objectToString.js","webpack://echartsExample/./node_modules/lodash/_root.js","webpack://echartsExample/./node_modules/lodash/debounce.js","webpack://echartsExample/./node_modules/lodash/isObject.js","webpack://echartsExample/./node_modules/lodash/isObjectLike.js","webpack://echartsExample/./node_modules/lodash/isSymbol.js","webpack://echartsExample/./node_modules/lodash/now.js","webpack://echartsExample/./node_modules/lodash/toNumber.js","webpack://echartsExample/./src/editor/CodeAce.vue?fe3c","webpack://echartsExample/./src/editor/CodeMonaco.vue?3785","webpack://echartsExample/./src/editor/Editor.vue?3ca8","webpack://echartsExample/./src/editor/FullCodePreview.vue?ab3f","webpack://echartsExample/./src/editor/Preview.vue?a8fb","webpack://echartsExample/./src/explore/ExampleCard.vue?81d6","webpack://echartsExample/./src/explore/Explore.vue?2d5c","webpack://echartsExample/./src/editor/object-visualizer.css","webpack://echartsExample/./node_modules/resize-detector/esm/index.js","webpack://echartsExample/./node_modules/vanilla-lazyload/dist/lazyload.esm.js","webpack://echartsExample/./node_modules/vue-i18n/dist/vue-i18n.esm.js","webpack://echartsExample/./src/editor/CodeAce.vue","webpack://echartsExample/./src/editor/CodeMonaco.vue","webpack://echartsExample/./src/editor/Editor.vue","webpack://echartsExample/./src/editor/FullCodePreview.vue","webpack://echartsExample/./src/editor/Preview.vue","webpack://echartsExample/./src/editor/View.vue","webpack://echartsExample/./src/explore/ExampleCard.vue","webpack://echartsExample/./src/explore/Explore.vue","webpack://echartsExample/./src/editor/CodeAce.vue?edd2","webpack://echartsExample/./src/editor/CodeMonaco.vue?5397","webpack://echartsExample/./src/editor/Editor.vue?c684","webpack://echartsExample/./src/editor/FullCodePreview.vue?84e7","webpack://echartsExample/./src/editor/Preview.vue?9b0f","webpack://echartsExample/./src/editor/View.vue?61ae","webpack://echartsExample/./src/explore/ExampleCard.vue?15c2","webpack://echartsExample/./src/explore/Explore.vue?0a10","webpack://echartsExample/./src/editor/CodeAce.vue?025a","webpack://echartsExample/./src/editor/CodeMonaco.vue?edac","webpack://echartsExample/./src/editor/Editor.vue?08c4","webpack://echartsExample/./src/editor/FullCodePreview.vue?f280","webpack://echartsExample/./src/editor/Preview.vue?42e8","webpack://echartsExample/./src/editor/View.vue?1961","webpack://echartsExample/./src/explore/ExampleCard.vue?094b","webpack://echartsExample/./src/explore/Explore.vue?6f68","webpack://echartsExample/./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://echartsExample/./node_modules/vue-scrollactive/dist/vue-scrollactive.min.js","webpack://echartsExample//Users/lang/Develop/echarts-examples/src/asset/icon|sync|/^\\.\\/.*\\.svg$/","webpack://echartsExample/external \"Vue\"","webpack://echartsExample/webpack/bootstrap","webpack://echartsExample/webpack/runtime/compat get default export","webpack://echartsExample/webpack/runtime/define property getters","webpack://echartsExample/webpack/runtime/global","webpack://echartsExample/webpack/runtime/hasOwnProperty shorthand","webpack://echartsExample/webpack/runtime/make namespace object","webpack://echartsExample/webpack/runtime/node module decorator","webpack://echartsExample/webpack/runtime/publicPath","webpack://echartsExample/webpack/startup"],"names":["COMPONENTS_MAP","grid","polar","geo","singleAxis","parallel","calendar","graphic","toolbox","tooltip","axisPointer","brush","title","timeline","markPoint","markLine","markArea","legend","dataZoom","visualMap","aria","dataset","xAxis","yAxis","angleAxis","radiusAxis","CHARTS_MAP","line","bar","pie","scatter","radar","map","tree","treemap","graph","gauge","funnel","sankey","boxplot","candlestick","effectScatter","lines","heatmap","pictorialBar","themeRiver","sunburst","custom","COMPONENTS_GL_MAP","grid3D","geo3D","globe","mapbox3D","maptalks3D","xAxis3D","yAxis3D","zAxis3D","CHARTS_GL_MAP","bar3D","line3D","scatter3D","lines3D","polygons3D","surface","map3D","scatterGL","graphGL","flowGL","linesGL","COMPONENTS_MAP_REVERSE","CHARTS_MAP_REVERSE","CHARTS_GL_MAP_REVERSE","COMPONENTS_GL_MAP_REVERSE","RENDERERS_MAP_REVERSE","MARKERS","INJECTED_COMPONENTS","DEPENDENT_COMPONENTS","createReverseMap","reverseMap","Object","keys","forEach","key","includes","module","collectDeps","option","deps","options","opt","concat","baseOption","Array","from","Set","val","isArray","length","push","series","seriesOpt","type","markerType","buildMinimalBundleCode","includeType","chartsImports","componentsImports","chartsGLImports","componentsGLImports","renderersImports","dep","endsWith","replace","getImportsPartCode","imports","str","join","allImports","ECOptionTypeCode","filter","a","importsCodes","item","trim","buildLegacyMinimalBundleCode","isESM","modules","mod","hasGLInDeps","find","jsCode","minimal","esm","legacy","ts","theme","ROOT_PATH","extraImports","hasECStat","indexOf","usedRootPath","usedApp","DEP_CODE","IMPORT_CODE","ENV_CODE","PREPARE_CODE","EXAMPLE_CATEGORIES","THEMES","dark","BLACK_MAP","list","i","location","href","URL_PARAMS","search","substr","split","kv","SUPPORT_WEBP","elem","document","createElement","width","height","getContext","toDataURL","SCRIPT_URLS","localEChartsMinJS","echartsMinJS","echartsDir","echartsStatMinJS","echartsGLMinJS","datGUIMinJS","monacoDir","aceDir","promisesCache","loadScriptsAsync","scripts","Promise","all","scriptUrl","url","match","promise","resolve","reject","script","src","async","onload","onerror","body","appendChild","link","rel","downloadBlob","blob","fileName","window","navigator","msSaveBlob","msSaveOrOpenBlob","URL","createObjectURL","download","click","revokeObjectURL","en","editor","run","errorInEditor","chartOK","darkMode","enableDecal","renderCfgTitle","renderer","useDirtyRect","edit","monacoMode","tabEditor","tabFullCodePreview","tabOptionPreview","minimalBundle","chartTypes","drag","rich","zh","store","cdnRoot","version","locale","typeCheck","runCode","sourceCode","runHash","isMobile","innerWidth","editorStatus","message","loadExampleCode","dataRoot","$","ajax","dataType","success","data","parseSourceCode","code","hashId","updateRunHash","keywords","DebugRect","style","dom","className","assign","backgroundColor","border","cssText","hasOwnProperty","prototype","update","rect","domStyle","left","x","top","y","hide","opacity","show","_this","clearTimeout","_hideTimeout","setTimeout","zr","opts","painter","getLayers","Error","isSingleCanvas","debugViewRoot","debugRects","computedStyle","getComputedStyle","position","on","idx_1","eachBuiltinLayer","layer","debugGetPaintRects","paintRects","hasRootPath","rootPathCode","file","Blob","encoding","createSandbox","optionUpdated","appEnv","gui","_intervalIdList","_timeoutIdList","_oldSetTimeout","_oldSetInterval","setInterval","func","delay","id","gap","_clearTimeTickers","clearInterval","_events","_wrapOnMethods","chart","oldOn","oldSetOption","setOption","eventName","res","apply","arguments","_clearChartEvents","off","chartInstance","resize","dispose","getDataURL","pixelRatio","excludeComponents","getOption","el","echarts","init","showDebugDirtyRect","getZr","autoHideDelay","e","console","error","config","compiledCode","Function","updateTime","startTime","Date","endTime","domElement","remove","destroy","dat","GUI","autoPlace","css","right","zIndex","append","configParameters","name","value","isColor","controller","add","min","max","obj","colorArr","color","parse","stringify","onChange","onFinishChange","Vue","VueScrollactive","i18n","VueI18n","fallbackLocale","messages","querySelector","container","render","h","EditorPage","explore","ExplorePage","view","ViewPage","page"],"mappings":"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AACA;;AACA;AACA;AACA,kBADA;AAEA;AAFA,WADA;AAIA;AACA,kBADA;AAEA;AAFA;AAJA;AASA;AACA;AAdA,GApCA;AAqDA;AACA,eADA,uBACA,MADA,EACA;AACA;AACA;AAHA;AArDA,G;;;;;;;;;;;;;;;;;;;;;;;;ACjCA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AADA,KAEA,IAFA,CAEA;AAAA;AAAA,GAFA,EAEA,IAFA,CAEA;AAEA;AACA;AACA,iCADA;AAEA;AAFA,OAHA,CAQA;;AACA;AACA,0DADA;AAEA,gCAFA;AAGA;AAHA,OATA,CAeA;;AACA,+DACA,IADA,EAEA;AACA,oDAHA;AAMA,woBAyBA,sBAzBA;AA2BA;AACA,GApDA;AAqDA;;AAEA;AACA;AACA;AACA,+EACA,gFADA,EAEA;AACA,qGAHA,GAIA,IAJA,CAIA;AACA;AAAA;AAAA;AAAA;AAAA;;AACA;AACA,0BACA,uBADA,GAEA;AACA;AACA;AACA,aAFA;AAGA,WANA;AAOA,SARA;AASA,OAfA;AAgBA;;AACA;AACA,GArBA,CAuBA;;;AACA;AACA;;AAEA;AAEA,wBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA;AAFA;AAIA,GATA;AAWA,SAXA,qBAWA;AAAA;;AACA;AACA;AACA;AACA,4CACA,uBADA,EAEA,YAFA,EAGA;AACA,yCAJA;AAMA;AACA,oBADA;AAEA,gGAFA;AAGA;AACA;AADA,SAHA;AAMA;AANA;AASA;;AAEA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,OAHA;AAIA,KA3BA;AA4BA,GAzCA;AA2CA,WA3CA,uBA2CA;AACA;AACA;;AACA;AACA;AACA,GAhDA;AAkDA;AACA,kBADA,0BACA,IADA,EACA;AACA;AACA;AACA;AACA;AALA,GAlDA;AA0DA;AACA,eADA,uBACA,MADA,EACA;AACA;AACA;AAHA;AA1DA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA,8DADA;AAEA,oEAFA;AAGA,8EAHA;AAIA;AAJA,GADA;AAQA,MARA,kBAQA;AACA;AACA,sBADA;AAEA,2BAFA;AAGA,uBAHA;AAIA,8DAJA;AAKA,qBALA;AAOA,+BAPA;AASA,kBATA;AAWA;AACA,sBADA;AAEA,iBAFA;AAGA,mBAHA,CAGA;;AAHA;AAXA;AAiBA,GA1BA;AA4BA;AACA,eADA,yBACA;AACA;AACA;AAEA;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;AACA;;AACA;AACA;AAfA,GA5BA;AA8CA,SA9CA,qBA8CA;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAHA;AAIA,KANA,MAOA;AACA;AACA;AACA;AACA,OAHA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA,OANA;AAQA;AACA;AACA,OAFA;AAGA;AACA,GAzEA;AA2EA;AACA,uBADA,iCACA;AACA;AACA,KAHA;AAIA,iBAJA,2BAIA;AACA;AACA,KANA;AAOA,kBAPA,4BAOA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,4CADA;AAEA,iBAFA;AAGA,oCAHA;AAIA;AACA,sFALA;AAMA;AANA;AAQA,KAtBA;AAuBA,uBAvBA,iCAuBA;AACA;;AACA;AACA;AACA;;AACA,qEACA,MADA,EAEA,yCAFA,EAGA;AACA,eADA,mBACA,MADA,EACA,IADA,EACA;AACA;AACA;AACA;AACA;;AACA;AACA,WALA;AAMA,SARA;AASA,iCATA,qCASA,IATA,EASA;AACA,sCACA,wCADA;AAEA;AAZA,OAHA;AAkBA,KA9CA;AA+CA,oBA/CA,4BA+CA,GA/CA,EA+CA;AACA;AACA;AACA,OAFA,MAGA;AACA;AACA;AACA;AAtDA,GA3EA;AAoIA;AACA,sBADA,2BACA,eADA,EACA;AACA;AACA;AACA;AACA,KALA;AAMA,gBANA,sBAMA,GANA,EAMA;AACA;AACA,KARA;AASA,oBATA,2BASA;AACA;AACA,KAXA;AAYA;AACA,gBADA;AAEA,aAFA,qBAEA;AACA;AACA;AAJA;AAZA;AApIA,G;;;;;;;;;;;;;;;;;;;;;;ACxEA;AACA;AACA;;AAEA;AACA;AACA,6EACA,0EADA;AAGA;;AACA;AACA;;AAEA;AAEA,iBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA;AAFA;AAIA,GATA;AAWA,SAXA,qBAWA;AAAA;;AACA;AACA;AACA;AACA;AACA,yDAHA,CAIA;;AACA;AACA,sBADA;AAEA,8BAFA;AAGA,8BAHA;AAIA,kCAJA;AAKA;AALA,SALA,CAYA;;AACA;AAEA;;AAEA;AAEA,KAnBA;AAoBA,GAjCA;AAmCA;AACA,WADA,mBACA,IADA,EACA;AACA;AACA;;AACA;AACA;AACA,kBADA;AAEA;AAFA,WADA;AAIA;AACA,kBADA;AAEA;AAFA;AAJA;AASA;AACA;AAdA,GAnCA;AAoDA;AACA,QADA,gBACA,MADA,EACA;AACA;AACA;AAHA;AApDA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACiDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AAEA,+DAFA,CAIA;;AACA;AACA;AACA;AACA;;AAEA,6EACA,mEADA,EAEA,oEACA,yEADA,GACA,oEAHA,EAIA,kGAJA,EAKA,4DALA,EAMA,wEANA,4BAOA,yIAPA,sBAQA,WACA,0GADA,EAEA,8FAFA,IAGA,EAXA,IAYA,IAZA,CAYA;AACA;AACA,KAdA;AAeA;;AACA;AACA;;AAGA;AACA;AACA;AACA;;AACA;AACA;AACA;;AAGA;AAAA;;AAEA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,OAFA,MAGA;AACA;AACA;AACA,KARA;AASA;;AAEA;AACA;AAEA,uDAHA,CAKA;;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA,KAlBA,CAoBA;;;AACA;AAEA,GAvBA,CAwBA;AACA;AACA;AACA;AACA;;AAGA;AAEA,qBAFA;AAIA,MAJA,kBAIA;AACA;AACA,8DADA;AAEA,8BAFA;AAGA,yBAHA;AAIA,mBAJA;AAKA,oBALA;AAOA;AAPA;AASA,GAdA;AAgBA,SAhBA,qBAgBA;AAAA;;AACA;AACA;AACA;;AACA;AACA;AACA;AACA,KALA;AAOA;AACA;AACA;AACA;AACA,KAJA;AAKA,GA9BA;AAgCA;AACA,YADA,sBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AAVA,GAhCA;AA6CA;AACA,oBADA,yBACA,GADA,EACA;AACA;AACA;AACA;AACA;AACA,SAHA,MAIA;AACA;AACA;AACA;AACA,KAXA;AAYA,qBAZA,4BAYA;AACA;AACA,KAdA;AAeA,qBAfA,4BAeA;AACA;AACA,KAjBA;AAkBA,wBAlBA,+BAkBA;AACA;AACA,KApBA;AAqBA,yBArBA,gCAqBA;AACA;AACA;AAvBA,GA7CA;AAuEA;AACA,YADA;AAEA;AACA;AACA,cAJA,wBAIA;AACA;AACA;AACA,KAPA;AAQA,WARA,qBAQA;AACA;AACA;AACA;AACA,KAZA;AAaA,mBAbA,6BAaA;AACA;AACA,KAfA;AAgBA,cAhBA,wBAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBADA;AAEA;AAFA;AAIA;AACA;AACA,KA7BA;AA8BA,aA9BA,uBA8BA;AACA;AACA,KAhCA,CAiCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAzCA;AAvEA,G;;;;;;;;;;;;;;;;;;;;;AC/KA;AACA;AAEA;AACA;AACA;AADA,GADA;AAKA,SALA,qBAKA;AACA;AACA;AACA,KAFA;AAGA;AATA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;ACGA;AACA;AAEA;AACA,oBADA;AAGA;AAEA,SAFA,mBAEA;AACA,+HACA,kBADA,IACA,EADA;AAEA,KALA;AAOA,gBAPA,0BAOA;AACA;AACA,KATA;AAWA,YAXA,sBAWA;AACA;AACA,KAbA;AAeA,gBAfA,0BAeA;AACA;AACA;AACA,KAlBA;AAoBA,eApBA,yBAoBA;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA,KArCA;AAuCA,iBAvCA,2BAuCA;AACA;AACA;AACA;AACA;AACA;AACA;AA7CA;AAHA,G;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC0CA;AACA;AACA;AACA;AACA;CAEA;;AAEA;AAEA,qEACA,OADA,EACA,SADA,EACA,UADA,EACA,QADA,EACA,aADA,EACA,SADA,EACA,SADA,EAEA,cAFA,EAEA,YAFA,EAEA,UAFA,EAEA,QAFA,EAEA,UAFA,EAEA,MAFA,EAEA,SAFA,EAEA,KAFA,EAEA,OAFA,EAGA,UAHA,EAGA,MAHA,EAGA,MAHA,EAIA,OAJA,CAIA;AACA;AACA,CANA;;AAQA;;AACA,yEACA,WADA,EACA,SADA,EACA,QADA,EACA,SADA,EACA,OADA,EACA,OADA,CACA;AACA;AACA,CAHA;AAKA;AAEA;AAEA;AACA;AADA,GAFA;AAMA,MANA,kBAMA;AACA;;AAEA;AACA,4BADA,CAEA;;AACA;AACA;;AACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA;;AAEA;;AACA;AACA;AACA;;AACA;AACA;AACA,qCADA;AAEA;AAFA;AAIA;AACA;;AACA;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OA/BA,QA+BA,oCA/BA,EAHA,CAkCA;;AACA;;AAEA;AACA;AAEA;AACA,8DADA;AAGA,kBAHA;AAKA,wFALA;AAMA;AACA;AACA;AACA;AACA;AACA;AAXA;AAaA,GA9DA;AAgEA;AACA,qBADA,4BACA;AACA;;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AATA,GAhEA;AA4EA;AACA,eADA,yBACA;AACA;;AACA;AACA;AACA;;AACA;AACA;AACA,8BADA;AAEA;AAFA;AAIA;AACA;;AACA;AACA;AAdA,GA5EA;AA6FA,SA7FA,qBA6FA;A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W;AAChC,gBAAgB,mBAAO,CAAC,yDAAc;AACtC,qBAAqB,mBAAO,CAAC,mEAAmB;;AAEhD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC3BA;AACA,wBAAwB,qBAAM,gBAAgB,qBAAM,IAAI,qBAAM,sBAAsB,qBAAM;;AAE1F;;;;;;;;;;;ACHA,aAAa,mBAAO,CAAC,mDAAW;;AAEhC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACrBA,iBAAiB,mBAAO,CAAC,2DAAe;;AAExC;AACA;;AAEA;AACA;;AAEA;;;;;;;;;;;ACRA,eAAe,mBAAO,CAAC,qDAAY;AACnC,UAAU,mBAAO,CAAC,2CAAO;AACzB,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,OAAO;AAClB,WAAW,OAAO,YAAY;AAC9B,WAAW,QAAQ;AACnB;AACA,WAAW,OAAO;AAClB;AACA,WAAW,QAAQ;AACnB;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,8CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC9LA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC9BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,iBAAiB,mBAAO,CAAC,2DAAe;AACxC,mBAAmB,mBAAO,CAAC,6DAAgB;;AAE3C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;AC5BA,WAAW,mBAAO,CAAC,+CAAS;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;ACtBA,eAAe,mBAAO,CAAC,qDAAY;AACnC,eAAe,mBAAO,CAAC,qDAAY;;AAEnC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;ACjEA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,kBAAkB,UAAU,oBAAoB,iGAAiG,aAAa,kBAAkB,MAAM,OAAO,YAAY,WAAW,gBAAgB,gDAAgD,gBAAgB,cAAc,gCAAgC,WAAW,YAAY;;AAErY;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,WAAW,4BAA4B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA,WAAW,qBAAqB;AAChC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,OAAO,gBAAgB;AACvB,OAAO,4BAA4B;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO,qBAAqB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,gCAAgC;;AAEvC;AACA,OAAO,sCAAsC;AAC7C,OAAO,2EAA2E;;AAElF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEuC;;;;;;;;;;;;;;;;ACvSvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,UAAU,WAAW,EAAE;AAC/D,EAAE;AACF;AACA;AACA,oDAAoD,WAAW;AAC/D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,8BAA8B,4BAA4B;AAC1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,oCAAoC;AAC9D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,aAAa;AACvD;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iEAAe,QAAQ,EAAC;;;;;;;;;;;;;;;;ACzexB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb,WAAW;AACX,gBAAgB,IAAqC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;AACX,gBAAgB,IAAqC;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,OAAO;AACP,YAAY,IAAqC;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,uDAAuD;;AAEvD;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP,YAAY,IAAqC;AACjD;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA,sBAAsB;;AAEtB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;;AAEA,kBAAkB;;AAElB;AACA;AACA;AACA,GAAG;;AAEH;AACA,MAAM,KAAqC;AAC3C;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA,wCAAwC;AACxC,sBAAsB;AACtB;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,iCAAiC,iBAAiB;AAClD;AACA;AACA,OAAO;AACP;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC;AACnC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;;AAEA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,6CAA6C;AACnE;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,qBAAqB,4BAA4B;AACjD;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA,gCAAgC;;AAEhC;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C,KAAK;AACL;AACA,mCAAmC;AACnC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,uBAAuB,4BAA4B;;AAEnD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,cAAc,IAAqC;AACnD;AACA;AACA;AACA;AACA;AACA,YAAY,IAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,wCAAwC;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;AAMA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;;AAIA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,2BAA2B,gCAAgC,EAAE;AAC7D,2BAA2B,gCAAgC,EAAE;AAC7D,gCAAgC,qEAAqE;AACrG;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oBAAoB,OAAO;AAC3B,2BAA2B,OAAO;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;;AAGA;AACA,2BAA2B;AAC3B,2DAA2D;AAC3D;AACA,uBAAuB;AACvB;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,0BAA0B,MAAM,qBAAqB,YAAY,qBAAqB,mBAAmB,qBAAqB,iBAAiB,qBAAqB,oBAAoB,qBAAqB,UAAU,qBAAqB,kBAAkB,qBAAqB,0BAA0B,qBAAqB,WAAW,qBAAqB,aAAa,qBAAqB,yBAAyB,qBAAqB,sBAAsB,qBAAqB,4BAA4B,qBAAqB,qBAAqB,qBAAqB,mBAAmB,qBAAqB;;AAEhmB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,sBAAsB,aAAa;AACnC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,GAAG,GAAG,aAAa;AACnB;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA,GAAG,GAAG,kBAAkB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;;AAEzC,+CAA+C;AAC/C,sDAAsD;AACtD,oDAAoD;AACpD,uDAAuD;;AAEvD,6CAA6C;AAC7C;AACA;AACA;;AAEA,qDAAqD;AACrD;AACA;AACA;AACA;;AAEA,6DAA6D;AAC7D,qEAAqE,yCAAyC;;AAE9G,8CAA8C;AAC9C,qDAAqD,yBAAyB;;AAE9E,gDAAgD;AAChD,yDAAyD,6BAA6B;;AAEtF,4DAA4D;AAC5D,kEAAkE,sCAAsC;;AAExG,yDAAyD;AACzD,+DAA+D,mCAAmC;;AAElG,+DAA+D;AAC/D,uEAAuE,2CAA2C;;AAElH,wDAAwD;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA,sDAAsD;AACtD,6DAA6D,iCAAiC;;AAE9F,2DAA2D;AAC3D,yEAAyE;AACzE,qEAAqE;;AAErE;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,yDAAyD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,iBAAiB,2CAA2C;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uCAAuC;AACvC;;AAEA;AACA,yBAAyB;AACzB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mDAAmD,iCAAiC;AACpF;;AAEA;AACA,0DAA0D;AAC1D;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8FAA8F;AAC9F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wDAAwD;AACxD;;AAEA;AACA;AACA;AACA;;AAEA;AACA,0FAA0F;AAC1F;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,aAAoB;AACjD;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,iEAAiE;AACjE,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA,sBAAsB;AACtB,qDAAqD,GAAG,2BAA2B;AACnF,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;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;;;;;;;;;;;;;;;ACAb,CAAC,iEAAe,6KAAG,EAAC,C;;;;;;;;;;;;;;;;ACAxB,CAAC,iEAAe,yKAAG,EAAC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA3L;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,SAAS,uBAAuB,EAAE;AACvC;AACA;AACA;AACA;AACA;AACA,sBAAsB,qCAAqC;AAC3D,sBAAsB;AACtB,aAAa;AACb;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;AAChD;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,SAAS,6BAA6B,EAAE;AACrE;AACA;AACA;AACA,iCAAiC,SAAS,kBAAkB,EAAE;AAC9D;AACA;AACA;AACA;AACA;AACA,2CAA2C,gCAAgC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,iCAAiC;AAC1E;AACA;AACA;AACA;AACA,4CAA4C,oBAAoB,GAAG;AACnE,yCAAyC;AACzC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,eAAe,gCAAgC,EAAE;AAC1E;AACA;AACA;AACA,6BAA6B,SAAS,kCAAkC,EAAE;AAC1E;AACA;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,+BAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,gCAAgC,SAAS,uBAAuB,EAAE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,oCAAoC;AACxD,oBAAoB,kBAAkB;AACtC,iBAAiB;AACjB,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;;;;;;;;;;;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,8DAA8D;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kCAAkC;AACpD,kBAAkB;AAClB,SAAS;AACT,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;AACA,SAAS,SAAS,mBAAmB,EAAE;AACvC;AACA;AACA;AACA,aAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,sBAAsB;AAC1D;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,yBAAyB,yCAAyC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iCAAiC,SAAS,WAAW,EAAE;AACvD;AACA,+CAA+C,4BAA4B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,8CAA8C,eAAe;AAC7D;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA,qCAAqC;AACrC;AACA;AACA,gDAAgD;AAChD,uCAAuC;AACvC;AACA;AACA,gDAAgD;AAChD,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,SAAS,WAAW,EAAE;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,oBAAoB;AACtD;AACA,yBAAyB;AACzB;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,mBAAmB;AAC/C,yBAAyB;AACzB,mBAAmB;AACnB,4BAA4B,sCAAsC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACjOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACPA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA;AACA;AACA,iBAAiB,mBAAO,CAAC,6DAA0B;AACnD;AACA;AACA,SAAS;AACT;AACA,kBAAkB,+BAA+B;AACjD;AACA;AACA,sBAAsB,kCAAkC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;AChCA;AACA;AACA;AACA;AACA,oBAAoB,SAAS,wBAAwB,EAAE;AACvD,eAAe,SAAS,uBAAuB,EAAE;AACjD;AACA;AACA,SAAS,SAAS,uBAAuB,EAAE;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,mBAAmB;AACnB,aAAa;AACb;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA,qCAAqC;AACrC,yBAAyB;AACzB;AACA,oCAAoC,4BAA4B;AAChE;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAAS,0BAA0B,EAAE;AACpD;AACA;AACA,SAAS,oCAAoC;AAC7C;AACA,4BAA4B,4BAA4B;AACxD;AACA;AACA;AACA;AACA,wBAAwB;AACxB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB,sCAAsC,SAAS,uBAAuB,EAAE;AACxE;AACA;AACA,eAAe;AACf;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS,gBAAgB,EAAE;AAClC;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;ACjIA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACjGA;AACA,EAAE,KAAuD;AACzD;AACA,MAAM,CAIyB;AAC/B,CAAC;AACD;AACA;AACA;AACA;AACA,uBAAuB,yBAAyB,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD,yBAAyB;AAC3E,OAAO;AACP;AACA;AACA;AACA,wDAAwD,kBAAkB;AAC1E,kDAAkD,YAAY;AAC9D,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C,2BAA2B;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE,QAAQ;AAC7E;AACA;AACA,gCAAgC,uBAAuB;AACvD;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,qFAAqF;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,gBAAgB;AAChB,OAAO;AACP;AACA;AACA,0BAA0B,qCAAqC;AAC/D,qBAAqB,4BAA4B;AACjD,2BAA2B,8BAA8B;AACzD,sCAAsC,4BAA4B;AAClE,4BAA4B,6BAA6B;AACzD,uBAAuB,6BAA6B;AACpD,0BAA0B,6BAA6B;AACvD,gCAAgC,sCAAsC;AACtE,wBAAwB,6BAA6B;AACrD,oBAAoB,6BAA6B;AACjD,iCAAiC,6BAA6B;AAC9D,kBAAkB,+BAA+B;AACjD,4BAA4B,6BAA6B;AACzD,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,eAAe;AACf,aAAa;AACb;AACA,oCAAoC,GAAG;AACvC;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb,WAAW;AACX,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA,KAAK;AACL;AACA,CAAC;;;;;;;;;;;ACxZD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uE;;;;;;;;;;;ACjDA,qB;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCxBA;WACA;WACA;WACA;WACA;WACA,gCAAgC,YAAY;WAC5C;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,wCAAwC,yCAAyC;WACjF;WACA;WACA,E;;;;;WCPA;WACA;WACA;WACA;WACA,EAAE;WACF;WACA;WACA,CAAC,I;;;;;WCPD,sF;;;;;WCAA;WACA;WACA;WACA,sDAAsD,kBAAkB;WACxE;WACA,+CAA+C,cAAc;WAC7D,E;;;;;WCNA;WACA;WACA;WACA;WACA,E;;;;;WCJA,6B;;;;UCAA;UACA;UACA;UACA","file":"example-bundle.js","sourcesContent":["function e(e,n){const t=Object.create(null),r=e.split(\",\");for(let e=0;e<r.length;e++)t[r[e]]=!0;return n?e=>!!t[e.toLowerCase()]:e=>!!t[e]}const n=e(\"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl\"),t=e(\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\");function r(e){if(x(e)){const n={};for(let t=0;t<e.length;t++){const o=e[t],s=r(k(o)?l(o):o);if(s)for(const e in s)n[e]=s[e]}return n}if(E(e))return e}const o=/;(?![^(]*\\))/g,s=/:(.+)/;function l(e){const n={};return e.split(o).forEach((e=>{if(e){const t=e.split(s);t.length>1&&(n[t[0].trim()]=t[1].trim())}})),n}function a(e){let n=\"\";if(k(e))n=e;else if(x(e))for(let t=0;t<e.length;t++)n+=a(e[t])+\" \";else if(E(e))for(const t in e)e[t]&&(n+=t+\" \");return n.trim()}const i=e=>null==e?\"\":E(e)?JSON.stringify(e,c,2):String(e),c=(e,n)=>S(n)?{[`Map(${n.size})`]:[...n.entries()].reduce(((e,[n,t])=>(e[`${n} =>`]=t,e)),{})}:C(n)?{[`Set(${n.size})`]:[...n.values()]}:!E(n)||x(n)||T(n)?n:String(n),u={},d=[],p=()=>{},f=()=>!1,h=/^on[^a-z]/,g=e=>h.test(e),_=e=>e.startsWith(\"onUpdate:\"),y=Object.assign,m=(e,n)=>{const t=e.indexOf(n);t>-1&&e.splice(t,1)},v=Object.prototype.hasOwnProperty,b=(e,n)=>v.call(e,n),x=Array.isArray,S=e=>\"[object Map]\"===P(e),C=e=>\"[object Set]\"===P(e),O=e=>\"function\"==typeof e,k=e=>\"string\"==typeof e,w=e=>\"symbol\"==typeof e,E=e=>null!==e&&\"object\"==typeof e,A=e=>E(e)&&O(e.then)&&O(e.catch),U=Object.prototype.toString,P=e=>U.call(e),T=e=>\"[object Object]\"===P(e),N=e=>k(e)&&\"NaN\"!==e&&\"-\"!==e[0]&&\"\"+parseInt(e,10)===e,V=e(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),F=e=>{const n=Object.create(null);return t=>n[t]||(n[t]=e(t))},j=/-(\\w)/g,R=F((e=>e.replace(j,((e,n)=>n?n.toUpperCase():\"\")))),I=/\\B([A-Z])/g,K=F((e=>e.replace(I,\"-$1\").toLowerCase())),M=F((e=>e.charAt(0).toUpperCase()+e.slice(1))),D=F((e=>e?`on${M(e)}`:\"\")),$=(e,n)=>e!==n&&(e==e||n==n),L=(e,n)=>{for(let t=0;t<e.length;t++)e[t](n)},q=(e,n,t)=>{Object.defineProperty(e,n,{configurable:!0,enumerable:!1,value:t})},B=e=>{const n=parseFloat(e);return isNaN(n)?e:n};let W;const z=()=>W||(W=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:{}),H=new WeakMap,J=[];let G;const Z=Symbol(\"\"),Q=Symbol(\"\");function X(e,n=u){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const t=function(e,n){const t=function(){if(!t.active)return n.scheduler?void 0:e();if(!J.includes(t)){ne(t);try{return re.push(te),te=!0,J.push(t),G=t,e()}finally{J.pop(),se(),G=J[J.length-1]}}};return t.id=ee++,t.allowRecurse=!!n.allowRecurse,t._isEffect=!0,t.active=!0,t.raw=e,t.deps=[],t.options=n,t}(e,n);return n.lazy||t(),t}function Y(e){e.active&&(ne(e),e.options.onStop&&e.options.onStop(),e.active=!1)}let ee=0;function ne(e){const{deps:n}=e;if(n.length){for(let t=0;t<n.length;t++)n[t].delete(e);n.length=0}}let te=!0;const re=[];function oe(){re.push(te),te=!1}function se(){const e=re.pop();te=void 0===e||e}function le(e,n,t){if(!te||void 0===G)return;let r=H.get(e);r||H.set(e,r=new Map);let o=r.get(t);o||r.set(t,o=new Set),o.has(G)||(o.add(G),G.deps.push(o))}function ae(e,n,t,r,o,s){const l=H.get(e);if(!l)return;const a=new Set,i=e=>{e&&e.forEach((e=>{(e!==G||e.allowRecurse)&&a.add(e)}))};if(\"clear\"===n)l.forEach(i);else if(\"length\"===t&&x(e))l.forEach(((e,n)=>{(\"length\"===n||n>=r)&&i(e)}));else switch(void 0!==t&&i(l.get(t)),n){case\"add\":x(e)?N(t)&&i(l.get(\"length\")):(i(l.get(Z)),S(e)&&i(l.get(Q)));break;case\"delete\":x(e)||(i(l.get(Z)),S(e)&&i(l.get(Q)));break;case\"set\":S(e)&&i(l.get(Z))}a.forEach((e=>{e.options.scheduler?e.options.scheduler(e):e()}))}const ie=new Set(Object.getOwnPropertyNames(Symbol).map((e=>Symbol[e])).filter(w)),ce=he(),ue=he(!1,!0),de=he(!0),pe=he(!0,!0),fe={};function he(e=!1,n=!1){return function(t,r,o){if(\"__v_isReactive\"===r)return!e;if(\"__v_isReadonly\"===r)return e;if(\"__v_raw\"===r&&o===(e?$e:De).get(t))return t;const s=x(t);if(!e&&s&&b(fe,r))return Reflect.get(fe,r,o);const l=Reflect.get(t,r,o);if(w(r)?ie.has(r):\"__proto__\"===r||\"__v_isRef\"===r)return l;if(e||le(t,0,r),n)return l;if(Qe(l)){return!s||!N(r)?l.value:l}return E(l)?e?Be(l):qe(l):l}}[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach((e=>{const n=Array.prototype[e];fe[e]=function(...e){const t=Ge(this);for(let e=0,n=this.length;e<n;e++)le(t,0,e+\"\");const r=n.apply(t,e);return-1===r||!1===r?n.apply(t,e.map(Ge)):r}})),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach((e=>{const n=Array.prototype[e];fe[e]=function(...e){oe();const t=n.apply(this,e);return se(),t}}));function ge(e=!1){return function(n,t,r,o){const s=n[t];if(!e&&(r=Ge(r),!x(n)&&Qe(s)&&!Qe(r)))return s.value=r,!0;const l=x(n)&&N(t)?Number(t)<n.length:b(n,t),a=Reflect.set(n,t,r,o);return n===Ge(o)&&(l?$(r,s)&&ae(n,\"set\",t,r):ae(n,\"add\",t,r)),a}}const _e={get:ce,set:ge(),deleteProperty:function(e,n){const t=b(e,n),r=(e[n],Reflect.deleteProperty(e,n));return r&&t&&ae(e,\"delete\",n,void 0),r},has:function(e,n){const t=Reflect.has(e,n);return w(n)&&ie.has(n)||le(e,0,n),t},ownKeys:function(e){return le(e,0,x(e)?\"length\":Z),Reflect.ownKeys(e)}},ye={get:de,set:(e,n)=>!0,deleteProperty:(e,n)=>!0},me=y({},_e,{get:ue,set:ge(!0)}),ve=(y({},ye,{get:pe}),e=>E(e)?qe(e):e),be=e=>E(e)?Be(e):e,xe=e=>e,Se=e=>Reflect.getPrototypeOf(e);function Ce(e,n,t=!1,r=!1){const o=Ge(e=e.__v_raw),s=Ge(n);n!==s&&!t&&le(o,0,n),!t&&le(o,0,s);const{has:l}=Se(o),a=t?be:r?xe:ve;return l.call(o,n)?a(e.get(n)):l.call(o,s)?a(e.get(s)):void 0}function Oe(e,n=!1){const t=this.__v_raw,r=Ge(t),o=Ge(e);return e!==o&&!n&&le(r,0,e),!n&&le(r,0,o),e===o?t.has(e):t.has(e)||t.has(o)}function ke(e,n=!1){return e=e.__v_raw,!n&&le(Ge(e),0,Z),Reflect.get(e,\"size\",e)}function we(e){e=Ge(e);const n=Ge(this),t=Se(n).has.call(n,e);return n.add(e),t||ae(n,\"add\",e,e),this}function Ee(e,n){n=Ge(n);const t=Ge(this),{has:r,get:o}=Se(t);let s=r.call(t,e);s||(e=Ge(e),s=r.call(t,e));const l=o.call(t,e);return t.set(e,n),s?$(n,l)&&ae(t,\"set\",e,n):ae(t,\"add\",e,n),this}function Ae(e){const n=Ge(this),{has:t,get:r}=Se(n);let o=t.call(n,e);o||(e=Ge(e),o=t.call(n,e));r&&r.call(n,e);const s=n.delete(e);return o&&ae(n,\"delete\",e,void 0),s}function Ue(){const e=Ge(this),n=0!==e.size,t=e.clear();return n&&ae(e,\"clear\",void 0,void 0),t}function Pe(e,n){return function(t,r){const o=this,s=o.__v_raw,l=Ge(s),a=e?be:n?xe:ve;return!e&&le(l,0,Z),s.forEach(((e,n)=>t.call(r,a(e),a(n),o)))}}function Te(e,n,t){return function(...r){const o=this.__v_raw,s=Ge(o),l=S(s),a=\"entries\"===e||e===Symbol.iterator&&l,i=\"keys\"===e&&l,c=o[e](...r),u=n?be:t?xe:ve;return!n&&le(s,0,i?Q:Z),{next(){const{value:e,done:n}=c.next();return n?{value:e,done:n}:{value:a?[u(e[0]),u(e[1])]:u(e),done:n}},[Symbol.iterator](){return this}}}}function Ne(e){return function(...n){return\"delete\"!==e&&this}}const Ve={get(e){return Ce(this,e)},get size(){return ke(this)},has:Oe,add:we,set:Ee,delete:Ae,clear:Ue,forEach:Pe(!1,!1)},Fe={get(e){return Ce(this,e,!1,!0)},get size(){return ke(this)},has:Oe,add:we,set:Ee,delete:Ae,clear:Ue,forEach:Pe(!1,!0)},je={get(e){return Ce(this,e,!0)},get size(){return ke(this,!0)},has(e){return Oe.call(this,e,!0)},add:Ne(\"add\"),set:Ne(\"set\"),delete:Ne(\"delete\"),clear:Ne(\"clear\"),forEach:Pe(!0,!1)};function Re(e,n){const t=n?Fe:e?je:Ve;return(n,r,o)=>\"__v_isReactive\"===r?!e:\"__v_isReadonly\"===r?e:\"__v_raw\"===r?n:Reflect.get(b(t,r)&&r in n?t:n,r,o)}[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach((e=>{Ve[e]=Te(e,!1,!1),je[e]=Te(e,!0,!1),Fe[e]=Te(e,!1,!0)}));const Ie={get:Re(!1,!1)},Ke={get:Re(!1,!0)},Me={get:Re(!0,!1)},De=new WeakMap,$e=new WeakMap;function Le(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case\"Object\":case\"Array\":return 1;case\"Map\":case\"Set\":case\"WeakMap\":case\"WeakSet\":return 2;default:return 0}}((e=>P(e).slice(8,-1))(e))}function qe(e){return e&&e.__v_isReadonly?e:We(e,!1,_e,Ie)}function Be(e){return We(e,!0,ye,Me)}function We(e,n,t,r){if(!E(e))return e;if(e.__v_raw&&(!n||!e.__v_isReactive))return e;const o=n?$e:De,s=o.get(e);if(s)return s;const l=Le(e);if(0===l)return e;const a=new Proxy(e,2===l?r:t);return o.set(e,a),a}function ze(e){return He(e)?ze(e.__v_raw):!(!e||!e.__v_isReactive)}function He(e){return!(!e||!e.__v_isReadonly)}function Je(e){return ze(e)||He(e)}function Ge(e){return e&&Ge(e.__v_raw)||e}const Ze=e=>E(e)?qe(e):e;function Qe(e){return Boolean(e&&!0===e.__v_isRef)}function Xe(e){return function(e,n=!1){if(Qe(e))return e;return new Ye(e,n)}(e)}class Ye{constructor(e,n=!1){this._rawValue=e,this._shallow=n,this.__v_isRef=!0,this._value=n?e:Ze(e)}get value(){return le(Ge(this),0,\"value\"),this._value}set value(e){$(Ge(e),this._rawValue)&&(this._rawValue=e,this._value=this._shallow?e:Ze(e),ae(Ge(this),\"set\",\"value\",e))}}const en={get:(e,n,t)=>function(e){return Qe(e)?e.value:e}(Reflect.get(e,n,t)),set:(e,n,t,r)=>{const o=e[n];return Qe(o)&&!Qe(t)?(o.value=t,!0):Reflect.set(e,n,t,r)}};function nn(e){return ze(e)?e:new Proxy(e,en)}class tn{constructor(e,n){this._object=e,this._key=n,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(e){this._object[this._key]=e}}class rn{constructor(e,n,t){this._setter=n,this._dirty=!0,this.__v_isRef=!0,this.effect=X(e,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,ae(Ge(this),\"set\",\"value\"))}}),this.__v_isReadonly=t}get value(){return this._dirty&&(this._value=this.effect(),this._dirty=!1),le(Ge(this),0,\"value\"),this._value}set value(e){this._setter(e)}}function on(e,n,t,r){let o;try{o=r?e(...r):e()}catch(e){ln(e,n,t)}return o}function sn(e,n,t,r){if(O(e)){const o=on(e,n,t,r);return o&&A(o)&&o.catch((e=>{ln(e,n,t)})),o}const o=[];for(let s=0;s<e.length;s++)o.push(sn(e[s],n,t,r));return o}function ln(e,n,t,r=!0){n&&n.vnode;if(n){let r=n.parent;const o=n.proxy,s=t;for(;r;){const n=r.ec;if(n)for(let t=0;t<n.length;t++)if(!1===n[t](e,o,s))return;r=r.parent}const l=n.appContext.config.errorHandler;if(l)return void on(l,null,10,[e,o,s])}!function(e,n,t,r=!0){console.error(e)}(e,0,0,r)}let an=!1,cn=!1;const un=[];let dn=0;const pn=[];let fn=null,hn=0;const gn=[];let _n=null,yn=0;const mn=Promise.resolve();let vn=null,bn=null;function xn(e){const n=vn||mn;return e?n.then(this?e.bind(this):e):n}function Sn(e){un.length&&un.includes(e,an&&e.allowRecurse?dn+1:dn)||e===bn||(un.push(e),Cn())}function Cn(){an||cn||(cn=!0,vn=mn.then(An))}function On(e,n,t,r){x(e)?t.push(...e):n&&n.includes(e,e.allowRecurse?r+1:r)||t.push(e),Cn()}function kn(e,n=null){if(pn.length){for(bn=n,fn=[...new Set(pn)],pn.length=0,hn=0;hn<fn.length;hn++)fn[hn]();fn=null,hn=0,bn=null,kn(e,n)}}function wn(e){if(gn.length){const e=[...new Set(gn)];if(gn.length=0,_n)return void _n.push(...e);for(_n=e,_n.sort(((e,n)=>En(e)-En(n))),yn=0;yn<_n.length;yn++)_n[yn]();_n=null,yn=0}}const En=e=>null==e.id?1/0:e.id;function An(e){cn=!1,an=!0,kn(e),un.sort(((e,n)=>En(e)-En(n)));try{for(dn=0;dn<un.length;dn++){const e=un[dn];e&&on(e,null,14)}}finally{dn=0,un.length=0,wn(),an=!1,vn=null,(un.length||gn.length)&&An(e)}}function Un(e,n,...t){const r=e.vnode.props||u;let o=t;const s=n.startsWith(\"update:\"),l=s&&n.slice(7);if(l&&l in r){const e=`${\"modelValue\"===l?\"model\":l}Modifiers`,{number:n,trim:s}=r[e]||u;s?o=t.map((e=>e.trim())):n&&(o=t.map(B))}__VUE_PROD_DEVTOOLS__;let a=D(R(n)),i=r[a];!i&&s&&(a=D(K(n)),i=r[a]),i&&sn(i,e,6,o);const c=r[a+\"Once\"];if(c){if(e.emitted){if(e.emitted[a])return}else(e.emitted={})[a]=!0;sn(c,e,6,o)}}function Pn(e,n,t=!1){if(!n.deopt&&void 0!==e.__emits)return e.__emits;const r=e.emits;let o={},s=!1;if(__VUE_OPTIONS_API__&&!O(e)){const r=e=>{s=!0,y(o,Pn(e,n,!0))};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return r||s?(x(r)?r.forEach((e=>o[e]=null)):y(o,r),e.__emits=o):e.__emits=null}function Tn(e,n){return!(!e||!g(n))&&(n=n.slice(2).replace(/Once$/,\"\"),b(e,n[0].toLowerCase()+n.slice(1))||b(e,K(n))||b(e,n))}let Nn=null;function Vn(e){Nn=e}function Fn(e){const{type:n,vnode:t,proxy:r,withProxy:o,props:s,propsOptions:[l],slots:a,attrs:i,emit:c,render:u,renderCache:d,data:p,setupState:f,ctx:h}=e;let g;Nn=e;try{let e;if(4&t.shapeFlag){const n=o||r;g=Xt(u.call(n,n,d,s,f,p,h)),e=i}else{const t=n;0,g=Xt(t.length>1?t(s,{attrs:i,slots:a,emit:c}):t(s,null)),e=n.props?i:Rn(i)}let y=g;if(!1!==n.inheritAttrs&&e){const n=Object.keys(e),{shapeFlag:t}=y;n.length&&(1&t||6&t)&&(l&&n.some(_)&&(e=In(e,l)),y=Gt(y,e))}t.dirs&&(y.dirs=y.dirs?y.dirs.concat(t.dirs):t.dirs),t.transition&&(y.transition=t.transition),g=y}catch(n){ln(n,e,1),g=Jt(Rt)}return Nn=null,g}function jn(e){let n;for(let t=0;t<e.length;t++){const r=e[t];if(!qt(r))return;if(r.type!==Rt||\"v-if\"===r.children){if(n)return;n=r}}return n}const Rn=e=>{let n;for(const t in e)(\"class\"===t||\"style\"===t||g(t))&&((n||(n={}))[t]=e[t]);return n},In=(e,n)=>{const t={};for(const r in e)_(r)&&r.slice(9)in n||(t[r]=e[r]);return t};function Kn(e,n,t){const r=Object.keys(n);if(r.length!==Object.keys(e).length)return!0;for(let o=0;o<r.length;o++){const s=r[o];if(n[s]!==e[s]&&!Tn(t,s))return!0}return!1}function Mn(e){if(O(e)&&(e=e()),x(e)){e=jn(e)}return Xt(e)}let Dn=0;const $n=e=>Dn+=e;function Ln(e,n,t,r=!1){const o={},s={};q(s,Wt,1),qn(e,n,o,s),t?e.props=r?o:We(o,!1,me,Ke):e.type.props?e.props=o:e.props=s,e.attrs=s}function qn(e,n,t,r){const[o,s]=e.propsOptions;if(n)for(const s in n){const l=n[s];if(V(s))continue;let a;o&&b(o,a=R(s))?t[a]=l:Tn(e.emitsOptions,s)||(r[s]=l)}if(s){const n=Ge(t);for(let r=0;r<s.length;r++){const l=s[r];t[l]=Bn(o,n,l,n[l],e)}}}function Bn(e,n,t,r,o){const s=e[t];if(null!=s){const e=b(s,\"default\");if(e&&void 0===r){const e=s.default;s.type!==Function&&O(e)?(mr(o),r=e(n),mr(null)):r=e}s[0]&&(b(n,t)||e?!s[1]||\"\"!==r&&r!==K(t)||(r=!0):r=!1)}return r}function Wn(e,n,t=!1){if(!n.deopt&&e.__props)return e.__props;const r=e.props,o={},s=[];let l=!1;if(__VUE_OPTIONS_API__&&!O(e)){const r=e=>{l=!0;const[t,r]=Wn(e,n,!0);y(o,t),r&&s.push(...r)};!t&&n.mixins.length&&n.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}if(!r&&!l)return e.__props=d;if(x(r))for(let e=0;e<r.length;e++){const n=R(r[e]);zn(n)&&(o[n]=u)}else if(r)for(const e in r){const n=R(e);if(zn(n)){const t=r[e],l=o[n]=x(t)||O(t)?{type:t}:t;if(l){const e=Gn(Boolean,l.type),t=Gn(String,l.type);l[0]=e>-1,l[1]=t<0||e<t,(e>-1||b(l,\"default\"))&&s.push(n)}}}return e.__props=[o,s]}function zn(e){return\"$\"!==e[0]}function Hn(e){const n=e&&e.toString().match(/^\\s*function (\\w+)/);return n?n[1]:\"\"}function Jn(e,n){return Hn(e)===Hn(n)}function Gn(e,n){if(x(n)){for(let t=0,r=n.length;t<r;t++)if(Jn(n[t],e))return t}else if(O(n))return Jn(n,e)?0:-1;return-1}function Zn(e,n,t=yr,r=!1){if(t){const o=t[e]||(t[e]=[]),s=n.__weh||(n.__weh=(...r)=>{if(t.isUnmounted)return;oe(),mr(t);const o=sn(n,t,e,r);return mr(null),se(),o});return r?o.unshift(s):o.push(s),s}}const Qn=e=>(n,t=yr)=>!vr&&Zn(e,n,t),Xn=Qn(\"bm\"),Yn=Qn(\"m\"),et=Qn(\"bu\"),nt=Qn(\"u\"),tt=Qn(\"bum\"),rt=Qn(\"um\"),ot=Qn(\"rtg\"),st=Qn(\"rtc\"),lt={};function at(e,n,t){return it(e,n,t)}function it(e,n,{immediate:t,deep:r,flush:o,onTrack:s,onTrigger:l}=u,a=yr){let i,c,d=!1;if(Qe(e)?(i=()=>e.value,d=!!e._shallow):ze(e)?(i=()=>e,r=!0):i=x(e)?()=>e.map((e=>Qe(e)?e.value:ze(e)?ut(e):O(e)?on(e,a,2):void 0)):O(e)?n?()=>on(e,a,2):()=>{if(!a||!a.isUnmounted)return c&&c(),on(e,a,3,[f])}:p,n&&r){const e=i;i=()=>ut(e())}const f=e=>{c=y.options.onStop=()=>{on(e,a,4)}};let h=x(e)?[]:lt;const g=()=>{if(y.active)if(n){const e=y();(r||d||$(e,h))&&(c&&c(),sn(n,a,3,[e,h===lt?void 0:h,f]),h=e)}else y()};let _;g.allowRecurse=!!n,_=\"sync\"===o?g:\"post\"===o?()=>kt(g,a&&a.suspense):()=>{!a||a.isMounted?function(e){On(e,fn,pn,hn)}(g):g()};const y=X(i,{lazy:!0,onTrack:s,onTrigger:l,scheduler:_});return Sr(y,a),n?t?g():h=y():\"post\"===o?kt(y,a&&a.suspense):y(),()=>{Y(y),a&&m(a.effects,y)}}function ct(e,n,t){const r=this.proxy;return it(k(e)?()=>r[e]:e.bind(r),n.bind(r),t,this)}function ut(e,n=new Set){if(!E(e)||n.has(e))return e;if(n.add(e),Qe(e))ut(e.value,n);else if(x(e))for(let t=0;t<e.length;t++)ut(e[t],n);else if(C(e)||S(e))e.forEach((e=>{ut(e,n)}));else for(const t in e)ut(e[t],n);return e}const dt=e=>e.type.__isKeepAlive;function pt(e,n,t=yr){const r=e.__wdc||(e.__wdc=()=>{let n=t;for(;n;){if(n.isDeactivated)return;n=n.parent}e()});if(Zn(n,r,t),t){let e=t.parent;for(;e&&e.parent;)dt(e.parent.vnode)&&ft(r,n,t,e),e=e.parent}}function ft(e,n,t,r){const o=Zn(n,e,r,!0);rt((()=>{m(r[n],o)}),t)}const ht=e=>\"_\"===e[0]||\"$stable\"===e,gt=e=>x(e)?e.map(Xt):[Xt(e)],_t=(e,n,t)=>function(e,n=Nn){if(!n)return e;const t=(...t)=>{Dn||Dt(!0);const r=Nn;Vn(n);const o=e(...t);return Vn(r),Dn||$t(),o};return t._c=!0,t}((e=>gt(n(e))),t),yt=(e,n)=>{const t=e._ctx;for(const r in e){if(ht(r))continue;const o=e[r];if(O(o))n[r]=_t(0,o,t);else if(null!=o){const e=gt(o);n[r]=()=>e}}},mt=(e,n)=>{const t=gt(n);e.slots.default=()=>t};function vt(e,n){if(null===Nn)return e;const t=Nn.proxy,r=e.dirs||(e.dirs=[]);for(let e=0;e<n.length;e++){let[o,s,l,a=u]=n[e];O(o)&&(o={mounted:o,updated:o}),r.push({dir:o,instance:t,value:s,oldValue:void 0,arg:l,modifiers:a})}return e}function bt(e,n,t,r){const o=e.dirs,s=n&&n.dirs;for(let l=0;l<o.length;l++){const a=o[l];s&&(a.oldValue=s[l].value);const i=a.dir[r];i&&sn(i,t,8,[e.el,a,e,n])}}function xt(){return{app:null,config:{isNativeTag:f,performance:!1,globalProperties:{},optionMergeStrategies:{},isCustomElement:f,errorHandler:void 0,warnHandler:void 0},mixins:[],components:{},directives:{},provides:Object.create(null)}}let St=0;function Ct(e,n){return function(t,r=null){null==r||E(r)||(r=null);const o=xt(),s=new Set;let l=!1;const a=o.app={_uid:St++,_component:t,_props:r,_container:null,_context:o,version:kr,get config(){return o.config},set config(e){},use:(e,...n)=>(s.has(e)||(e&&O(e.install)?(s.add(e),e.install(a,...n)):O(e)&&(s.add(e),e(a,...n))),a),mixin:e=>(__VUE_OPTIONS_API__&&(o.mixins.includes(e)||(o.mixins.push(e),(e.props||e.emits)&&(o.deopt=!0))),a),component:(e,n)=>n?(o.components[e]=n,a):o.components[e],directive:(e,n)=>n?(o.directives[e]=n,a):o.directives[e],mount(s,i){if(!l){const c=Jt(t,r);return c.appContext=o,i&&n?n(c,s):e(c,s),l=!0,a._container=s,s.__vue_app__=a,__VUE_PROD_DEVTOOLS__,c.component.proxy}},unmount(){l&&(e(null,a._container),__VUE_PROD_DEVTOOLS__)},provide:(e,n)=>(o.provides[e]=n,a)};return a}}const Ot={scheduler:Sn,allowRecurse:!0},kt=function(e,n){n&&n.pendingBranch?x(e)?n.effects.push(...e):n.effects.push(e):On(e,_n,gn,yn)},wt=(e,n,t,r)=>{if(x(e))return void e.forEach(((e,o)=>wt(e,n&&(x(n)?n[o]:n),t,r)));let o;o=!r||r.type.__asyncLoader?null:4&r.shapeFlag?r.component.exposed||r.component.proxy:r.el;const{i:s,r:l}=e,a=n&&n.r,i=s.refs===u?s.refs={}:s.refs,c=s.setupState;if(null!=a&&a!==l&&(k(a)?(i[a]=null,b(c,a)&&(c[a]=null)):Qe(a)&&(a.value=null)),k(l)){const e=()=>{i[l]=o,b(c,l)&&(c[l]=o)};o?(e.id=-1,kt(e,t)):e()}else if(Qe(l)){const e=()=>{l.value=o};o?(e.id=-1,kt(e,t)):e()}else O(l)&&on(l,s,12,[o,i])};function Et(e){return function(e,n){\"boolean\"!=typeof __VUE_OPTIONS_API__&&(z().__VUE_OPTIONS_API__=!0),\"boolean\"!=typeof __VUE_PROD_DEVTOOLS__&&(z().__VUE_PROD_DEVTOOLS__=!1);const{insert:t,remove:r,patchProp:o,forcePatchProp:s,createElement:l,createText:a,createComment:i,setText:c,setElementText:f,parentNode:h,nextSibling:g,setScopeId:_=p,cloneNode:m,insertStaticContent:v}=e,x=(e,n,t,r=null,o=null,s=null,l=!1,a=!1)=>{e&&!Bt(e,n)&&(r=le(e),Q(e,o,s,!0),e=null),-2===n.patchFlag&&(a=!1,n.dynamicChildren=null);const{type:i,ref:c,shapeFlag:u}=n;switch(i){case jt:S(e,n,t,r);break;case Rt:C(e,n,t,r);break;case It:null==e&&O(n,t,r,l);break;case Ft:I(e,n,t,r,o,s,l,a);break;default:1&u?E(e,n,t,r,o,s,l,a):6&u?M(e,n,t,r,o,s,l,a):(64&u||128&u)&&i.process(e,n,t,r,o,s,l,a,ce)}null!=c&&o&&wt(c,e&&e.ref,s,n)},S=(e,n,r,o)=>{if(null==e)t(n.el=a(n.children),r,o);else{const t=n.el=e.el;n.children!==e.children&&c(t,n.children)}},C=(e,n,r,o)=>{null==e?t(n.el=i(n.children||\"\"),r,o):n.el=e.el},O=(e,n,t,r)=>{[e.el,e.anchor]=v(e.children,n,t,r)},k=({el:e,anchor:n},r,o)=>{let s;for(;e&&e!==n;)s=g(e),t(e,r,o),e=s;t(n,r,o)},w=({el:e,anchor:n})=>{let t;for(;e&&e!==n;)t=g(e),r(e),e=t;r(n)},E=(e,n,t,r,o,s,l,a)=>{l=l||\"svg\"===n.type,null==e?U(n,t,r,o,s,l,a):N(e,n,o,s,l,a)},U=(e,n,r,s,a,i,c)=>{let u,d;const{type:p,props:h,shapeFlag:g,transition:_,scopeId:y,patchFlag:v,dirs:b}=e;if(e.el&&void 0!==m&&-1===v)u=e.el=m(e.el);else{if(u=e.el=l(e.type,i,h&&h.is),8&g?f(u,e.children):16&g&&T(e.children,u,null,s,a,i&&\"foreignObject\"!==p,c||!!e.dynamicChildren),b&&bt(e,null,s,\"created\"),h){for(const n in h)V(n)||o(u,n,null,h[n],i,e.children,s,a,re);(d=h.onVnodeBeforeMount)&&At(d,s,e)}P(u,y,e,s)}__VUE_PROD_DEVTOOLS__&&(Object.defineProperty(u,\"__vnode\",{value:e,enumerable:!1}),Object.defineProperty(u,\"__vueParentComponent\",{value:s,enumerable:!1})),b&&bt(e,null,s,\"beforeMount\");const x=(!a||a&&!a.pendingBranch)&&_&&!_.persisted;x&&_.beforeEnter(u),t(u,n,r),((d=h&&h.onVnodeMounted)||x||b)&&kt((()=>{d&&At(d,s,e),x&&_.enter(u),b&&bt(e,null,s,\"mounted\")}),a)},P=(e,n,t,r)=>{if(n&&_(e,n),r){const o=r.type.__scopeId;o&&o!==n&&_(e,o+\"-s\"),t===r.subTree&&P(e,r.vnode.scopeId,r.vnode,r.parent)}},T=(e,n,t,r,o,s,l,a=0)=>{for(let i=a;i<e.length;i++){const a=e[i]=l?Yt(e[i]):Xt(e[i]);x(null,a,n,t,r,o,s,l)}},N=(e,n,t,r,l,a)=>{const i=n.el=e.el;let{patchFlag:c,dynamicChildren:d,dirs:p}=n;c|=16&e.patchFlag;const h=e.props||u,g=n.props||u;let _;if((_=g.onVnodeBeforeUpdate)&&At(_,t,n,e),p&&bt(n,e,t,\"beforeUpdate\"),c>0){if(16&c)j(i,n,h,g,t,r,l);else if(2&c&&h.class!==g.class&&o(i,\"class\",null,g.class,l),4&c&&o(i,\"style\",h.style,g.style,l),8&c){const a=n.dynamicProps;for(let n=0;n<a.length;n++){const c=a[n],u=h[c],d=g[c];(d!==u||s&&s(i,c))&&o(i,c,u,d,l,e.children,t,r,re)}}1&c&&e.children!==n.children&&f(i,n.children)}else a||null!=d||j(i,n,h,g,t,r,l);const y=l&&\"foreignObject\"!==n.type;d?F(e.dynamicChildren,d,i,t,r,y):a||H(e,n,i,null,t,r,y),((_=g.onVnodeUpdated)||p)&&kt((()=>{_&&At(_,t,n,e),p&&bt(n,e,t,\"updated\")}),r)},F=(e,n,t,r,o,s)=>{for(let l=0;l<n.length;l++){const a=e[l],i=n[l],c=a.type===Ft||!Bt(a,i)||6&a.shapeFlag||64&a.shapeFlag?h(a.el):t;x(a,i,c,null,r,o,s,!0)}},j=(e,n,t,r,l,a,i)=>{if(t!==r){for(const c in r){if(V(c))continue;const u=r[c],d=t[c];(u!==d||s&&s(e,c))&&o(e,c,d,u,i,n.children,l,a,re)}if(t!==u)for(const s in t)V(s)||s in r||o(e,s,t[s],null,i,n.children,l,a,re)}},I=(e,n,r,o,s,l,i,c)=>{const u=n.el=e?e.el:a(\"\"),d=n.anchor=e?e.anchor:a(\"\");let{patchFlag:p,dynamicChildren:f}=n;p>0&&(c=!0),null==e?(t(u,r,o),t(d,r,o),T(n.children,r,d,s,l,i,c)):p>0&&64&p&&f?(F(e.dynamicChildren,f,r,s,l,i),(null!=n.key||s&&n===s.subTree)&&Ut(e,n,!0)):H(e,n,r,d,s,l,i,c)},M=(e,n,t,r,o,s,l,a)=>{null==e?512&n.shapeFlag?o.ctx.activate(n,t,r,l,a):D(n,t,r,o,s,l,a):$(e,n,a)},D=(e,n,t,r,o,s,l)=>{const a=e.component=function(e,n,t){const r=e.type,o=(n?n.appContext:e.appContext)||gr,s={uid:_r++,vnode:e,type:r,parent:n,appContext:o,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:n?n.provides:Object.create(o.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Wn(r,o),emitsOptions:Pn(r,o),emit:null,emitted:null,ctx:u,data:u,props:u,attrs:u,slots:u,refs:u,setupState:u,setupContext:null,suspense:t,suspenseId:t?t.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null};s.ctx={_:s},s.root=n?n.root:s,s.emit=Un.bind(null,s),__VUE_PROD_DEVTOOLS__;return s}(e,r,o);if(dt(e)&&(a.ctx.renderer=ce),function(e,n=!1){vr=n;const{props:t,children:r,shapeFlag:o}=e.vnode,s=4&o;Ln(e,t,s,n),((e,n)=>{if(32&e.vnode.shapeFlag){const t=n._;t?(e.slots=n,q(n,\"_\",t)):yt(n,e.slots={})}else e.slots={},n&&mt(e,n);q(e.slots,Wt,1)})(e,r);const l=s?function(e,n){const t=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,fr);const{setup:r}=t;if(r){const t=e.setupContext=r.length>1?function(e){const n=n=>{e.exposed=nn(n)};return{attrs:e.attrs,slots:e.slots,emit:e.emit,expose:n}}(e):null;yr=e,oe();const o=on(r,e,0,[e.props,t]);if(se(),yr=null,A(o)){if(n)return o.then((n=>{br(e,n)}));e.asyncDep=o}else br(e,o)}else xr(e)}(e,n):void 0;vr=!1}(a),a.asyncDep){if(o&&o.registerDep(a,B),!e.el){const e=a.subTree=Jt(Rt);C(null,e,n,t)}}else B(a,e,n,t,o,s,l)},$=(e,n,t)=>{const r=n.component=e.component;if(function(e,n,t){const{props:r,children:o,component:s}=e,{props:l,children:a,patchFlag:i}=n,c=s.emitsOptions;if(n.dirs||n.transition)return!0;if(!(t&&i>=0))return!(!o&&!a||a&&a.$stable)||r!==l&&(r?!l||Kn(r,l,c):!!l);if(1024&i)return!0;if(16&i)return r?Kn(r,l,c):!!l;if(8&i){const e=n.dynamicProps;for(let n=0;n<e.length;n++){const t=e[n];if(l[t]!==r[t]&&!Tn(c,t))return!0}}return!1}(e,n,t)){if(r.asyncDep&&!r.asyncResolved)return void W(r,n,t);r.next=n,function(e){const n=un.indexOf(e);n>-1&&un.splice(n,1)}(r.update),r.update()}else n.component=e.component,n.el=e.el,r.vnode=n},B=(e,n,t,r,o,s,l)=>{e.update=X((function(){if(e.isMounted){let n,{next:t,bu:r,u:a,parent:i,vnode:c}=e,u=t;t?(t.el=c.el,W(e,t,l)):t=c,r&&L(r),(n=t.props&&t.props.onVnodeBeforeUpdate)&&At(n,i,t,c);const d=Fn(e),p=e.subTree;e.subTree=d,x(p,d,h(p.el),le(p),e,o,s),t.el=d.el,null===u&&function({vnode:e,parent:n},t){for(;n&&n.subTree===e;)(e=n.vnode).el=t,n=n.parent}(e,d.el),a&&kt(a,o),(n=t.props&&t.props.onVnodeUpdated)&&kt((()=>{At(n,i,t,c)}),o),__VUE_PROD_DEVTOOLS__}else{let l;const{el:a,props:i}=n,{bm:c,m:u,parent:d}=e;c&&L(c),(l=i&&i.onVnodeBeforeMount)&&At(l,d,n);const p=e.subTree=Fn(e);a&&de?de(n.el,p,e,o):(x(null,p,t,r,e,o,s),n.el=p.el),u&&kt(u,o),(l=i&&i.onVnodeMounted)&&kt((()=>{At(l,d,n)}),o);const{a:f}=e;f&&256&n.shapeFlag&&kt(f,o),e.isMounted=!0}}),Ot)},W=(e,n,t)=>{n.component=e;const r=e.vnode.props;e.vnode=n,e.next=null,function(e,n,t,r){const{props:o,attrs:s,vnode:{patchFlag:l}}=e,a=Ge(o),[i]=e.propsOptions;if(!(r||l>0)||16&l){let r;qn(e,n,o,s);for(const s in a)n&&(b(n,s)||(r=K(s))!==s&&b(n,r))||(i?!t||void 0===t[s]&&void 0===t[r]||(o[s]=Bn(i,n||u,s,void 0,e)):delete o[s]);if(s!==a)for(const e in s)n&&b(n,e)||delete s[e]}else if(8&l){const t=e.vnode.dynamicProps;for(let r=0;r<t.length;r++){const l=t[r],c=n[l];if(i)if(b(s,l))s[l]=c;else{const n=R(l);o[n]=Bn(i,a,n,c,e)}else s[l]=c}}ae(e,\"set\",\"$attrs\")}(e,n.props,r,t),((e,n)=>{const{vnode:t,slots:r}=e;let o=!0,s=u;if(32&t.shapeFlag){const e=n._;e?1===e?o=!1:y(r,n):(o=!n.$stable,yt(n,r)),s=n}else n&&(mt(e,n),s={default:1});if(o)for(const e in r)ht(e)||e in s||delete r[e]})(e,n.children),kn(void 0,e.update)},H=(e,n,t,r,o,s,l,a=!1)=>{const i=e&&e.children,c=e?e.shapeFlag:0,u=n.children,{patchFlag:d,shapeFlag:p}=n;if(d>0){if(128&d)return void G(i,u,t,r,o,s,l,a);if(256&d)return void J(i,u,t,r,o,s,l,a)}8&p?(16&c&&re(i,o,s),u!==i&&f(t,u)):16&c?16&p?G(i,u,t,r,o,s,l,a):re(i,o,s,!0):(8&c&&f(t,\"\"),16&p&&T(u,t,r,o,s,l,a))},J=(e,n,t,r,o,s,l,a)=>{n=n||d;const i=(e=e||d).length,c=n.length,u=Math.min(i,c);let p;for(p=0;p<u;p++){const r=n[p]=a?Yt(n[p]):Xt(n[p]);x(e[p],r,t,null,o,s,l,a)}i>c?re(e,o,s,!0,!1,u):T(n,t,r,o,s,l,a,u)},G=(e,n,t,r,o,s,l,a)=>{let i=0;const c=n.length;let u=e.length-1,p=c-1;for(;i<=u&&i<=p;){const r=e[i],c=n[i]=a?Yt(n[i]):Xt(n[i]);if(!Bt(r,c))break;x(r,c,t,null,o,s,l,a),i++}for(;i<=u&&i<=p;){const r=e[u],i=n[p]=a?Yt(n[p]):Xt(n[p]);if(!Bt(r,i))break;x(r,i,t,null,o,s,l,a),u--,p--}if(i>u){if(i<=p){const e=p+1,u=e<c?n[e].el:r;for(;i<=p;)x(null,n[i]=a?Yt(n[i]):Xt(n[i]),t,u,o,s,l),i++}}else if(i>p)for(;i<=u;)Q(e[i],o,s,!0),i++;else{const f=i,h=i,g=new Map;for(i=h;i<=p;i++){const e=n[i]=a?Yt(n[i]):Xt(n[i]);null!=e.key&&g.set(e.key,i)}let _,y=0;const m=p-h+1;let v=!1,b=0;const S=new Array(m);for(i=0;i<m;i++)S[i]=0;for(i=f;i<=u;i++){const r=e[i];if(y>=m){Q(r,o,s,!0);continue}let c;if(null!=r.key)c=g.get(r.key);else for(_=h;_<=p;_++)if(0===S[_-h]&&Bt(r,n[_])){c=_;break}void 0===c?Q(r,o,s,!0):(S[c-h]=i+1,c>=b?b=c:v=!0,x(r,n[c],t,null,o,s,l,a),y++)}const C=v?function(e){const n=e.slice(),t=[0];let r,o,s,l,a;const i=e.length;for(r=0;r<i;r++){const i=e[r];if(0!==i){if(o=t[t.length-1],e[o]<i){n[r]=o,t.push(r);continue}for(s=0,l=t.length-1;s<l;)a=(s+l)/2|0,e[t[a]]<i?s=a+1:l=a;i<e[t[s]]&&(s>0&&(n[r]=t[s-1]),t[s]=r)}}s=t.length,l=t[s-1];for(;s-- >0;)t[s]=l,l=n[l];return t}(S):d;for(_=C.length-1,i=m-1;i>=0;i--){const e=h+i,a=n[e],u=e+1<c?n[e+1].el:r;0===S[i]?x(null,a,t,u,o,s,l):v&&(_<0||i!==C[_]?Z(a,t,u,2):_--)}}},Z=(e,n,r,o,s=null)=>{const{el:l,type:a,transition:i,children:c,shapeFlag:u}=e;if(6&u)return void Z(e.component.subTree,n,r,o);if(128&u)return void e.suspense.move(n,r,o);if(64&u)return void a.move(e,n,r,ce);if(a===Ft){t(l,n,r);for(let e=0;e<c.length;e++)Z(c[e],n,r,o);return void t(e.anchor,n,r)}if(a===It)return void k(e,n,r);if(2!==o&&1&u&&i)if(0===o)i.beforeEnter(l),t(l,n,r),kt((()=>i.enter(l)),s);else{const{leave:e,delayLeave:o,afterLeave:s}=i,a=()=>t(l,n,r),c=()=>{e(l,(()=>{a(),s&&s()}))};o?o(l,a,c):c()}else t(l,n,r)},Q=(e,n,t,r=!1,o=!1)=>{const{type:s,props:l,ref:a,children:i,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:p}=e;if(null!=a&&wt(a,null,t,null),256&u)return void n.ctx.deactivate(e);const f=1&u&&p;let h;if((h=l&&l.onVnodeBeforeUnmount)&&At(h,n,e),6&u)te(e.component,t,r);else{if(128&u)return void e.suspense.unmount(t,r);f&&bt(e,null,n,\"beforeUnmount\"),c&&(s!==Ft||d>0&&64&d)?re(c,n,t,!1,!0):(s===Ft&&(128&d||256&d)||!o&&16&u)&&re(i,n,t),64&u&&(r||!Pt(e.props))&&e.type.remove(e,ce),r&&ee(e)}((h=l&&l.onVnodeUnmounted)||f)&&kt((()=>{h&&At(h,n,e),f&&bt(e,null,n,\"unmounted\")}),t)},ee=e=>{const{type:n,el:t,anchor:o,transition:s}=e;if(n===Ft)return void ne(t,o);if(n===It)return void w(e);const l=()=>{r(t),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:n,delayLeave:r}=s,o=()=>n(t,l);r?r(e.el,l,o):o()}else l()},ne=(e,n)=>{let t;for(;e!==n;)t=g(e),r(e),e=t;r(n)},te=(e,n,t)=>{const{bum:r,effects:o,update:s,subTree:l,um:a}=e;if(r&&L(r),o)for(let e=0;e<o.length;e++)Y(o[e]);s&&(Y(s),Q(l,e,n,t)),a&&kt(a,n),kt((()=>{e.isUnmounted=!0}),n),n&&n.pendingBranch&&!n.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===n.pendingId&&(n.deps--,0===n.deps&&n.resolve()),__VUE_PROD_DEVTOOLS__},re=(e,n,t,r=!1,o=!1,s=0)=>{for(let l=s;l<e.length;l++)Q(e[l],n,t,r,o)},le=e=>6&e.shapeFlag?le(e.component.subTree):128&e.shapeFlag?e.suspense.next():g(e.anchor||e.el),ie=(e,n)=>{null==e?n._vnode&&Q(n._vnode,null,null,!0):x(n._vnode||null,e,n),wn(),n._vnode=e},ce={p:x,um:Q,m:Z,r:ee,mt:D,mc:T,pc:H,pbc:F,n:le,o:e};let ue,de;n&&([ue,de]=n(ce));return{render:ie,hydrate:ue,createApp:Ct(ie,ue)}}(e)}function At(e,n,t,r=null){sn(e,n,7,[t,r])}function Ut(e,n,t=!1){const r=e.children,o=n.children;if(x(r)&&x(o))for(let e=0;e<r.length;e++){const n=r[e];let s=o[e];1&s.shapeFlag&&!s.dynamicChildren&&((s.patchFlag<=0||32===s.patchFlag)&&(s=o[e]=Yt(o[e]),s.el=n.el),t||Ut(n,s))}}const Pt=e=>e&&(e.disabled||\"\"===e.disabled);function Tt(e){return function(e,n,t=!0){const r=Nn||yr;if(r){const t=r.type;if(\"components\"===e){if(\"_self\"===n)return t;const e=t.displayName||t.name;if(e&&(e===n||e===R(n)||e===M(R(n))))return t}return Vt(r[e]||t[e],n)||Vt(r.appContext[e],n)}}(\"components\",e)||e}const Nt=Symbol();function Vt(e,n){return e&&(e[n]||e[R(n)]||e[M(R(n))])}const Ft=Symbol(void 0),jt=Symbol(void 0),Rt=Symbol(void 0),It=Symbol(void 0),Kt=[];let Mt=null;function Dt(e=!1){Kt.push(Mt=e?null:[])}function $t(){Kt.pop(),Mt=Kt[Kt.length-1]||null}function Lt(e,n,t,r,o){const s=Jt(e,n,t,r,o,!0);return s.dynamicChildren=Mt||d,$t(),Mt&&Mt.push(s),s}function qt(e){return!!e&&!0===e.__v_isVNode}function Bt(e,n){return e.type===n.type&&e.key===n.key}const Wt=\"__vInternal\",zt=({key:e})=>null!=e?e:null,Ht=({ref:e})=>null!=e?k(e)||Qe(e)||O(e)?{i:Nn,r:e}:e:null,Jt=function(e,n=null,t=null,o=0,s=null,l=!1){e&&e!==Nt||(e=Rt);if(qt(e)){const r=Gt(e,n,!0);return t&&er(r,t),r}i=e,O(i)&&\"__vccOpts\"in i&&(e=e.__vccOpts);var i;if(n){(Je(n)||Wt in n)&&(n=y({},n));let{class:e,style:t}=n;e&&!k(e)&&(n.class=a(e)),E(t)&&(Je(t)&&!x(t)&&(t=y({},t)),n.style=r(t))}const c=k(e)?1:(e=>e.__isSuspense)(e)?128:(e=>e.__isTeleport)(e)?64:E(e)?4:O(e)?2:0,u={__v_isVNode:!0,__v_skip:!0,type:e,props:n,key:n&&zt(n),ref:n&&Ht(n),scopeId:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:c,patchFlag:o,dynamicProps:s,dynamicChildren:null,appContext:null};if(er(u,t),128&c){const{content:e,fallback:n}=function(e){const{shapeFlag:n,children:t}=e;let r,o;return 32&n?(r=Mn(t.default),o=Mn(t.fallback)):(r=Mn(t),o=Xt(null)),{content:r,fallback:o}}(u);u.ssContent=e,u.ssFallback=n}!l&&Mt&&(o>0||6&c)&&32!==o&&Mt.push(u);return u};function Gt(e,n,t=!1){const{props:o,ref:s,patchFlag:l}=e,i=n?function(...e){const n=y({},e[0]);for(let t=1;t<e.length;t++){const o=e[t];for(const e in o)if(\"class\"===e)n.class!==o.class&&(n.class=a([n.class,o.class]));else if(\"style\"===e)n.style=r([n.style,o.style]);else if(g(e)){const t=n[e],r=o[e];t!==r&&(n[e]=t?[].concat(t,o[e]):r)}else\"\"!==e&&(n[e]=o[e])}return n}(o||{},n):o;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:i,key:i&&zt(i),ref:n&&n.ref?t&&s?x(s)?s.concat(Ht(n)):[s,Ht(n)]:Ht(n):s,scopeId:e.scopeId,children:e.children,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:n&&e.type!==Ft?-1===l?16:16|l:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Gt(e.ssContent),ssFallback:e.ssFallback&&Gt(e.ssFallback),el:e.el,anchor:e.anchor}}function Zt(e=\" \",n=0){return Jt(jt,null,e,n)}function Qt(e=\"\",n=!1){return n?(Dt(),Lt(Rt,null,e)):Jt(Rt,null,e)}function Xt(e){return null==e||\"boolean\"==typeof e?Jt(Rt):x(e)?Jt(Ft,null,e):\"object\"==typeof e?null===e.el?e:Gt(e):Jt(jt,null,String(e))}function Yt(e){return null===e.el?e:Gt(e)}function er(e,n){let t=0;const{shapeFlag:r}=e;if(null==n)n=null;else if(x(n))t=16;else if(\"object\"==typeof n){if(1&r||64&r){const t=n.default;return void(t&&(t._c&&$n(1),er(e,t()),t._c&&$n(-1)))}{t=32;const r=n._;r||Wt in n?3===r&&Nn&&(1024&Nn.vnode.patchFlag?(n._=2,e.patchFlag|=1024):n._=1):n._ctx=Nn}}else O(n)?(n={default:n,_ctx:Nn},t=32):(n=String(n),64&r?(t=16,n=[Zt(n)]):t=8);e.children=n,e.shapeFlag|=t}function nr(e,n,t=!1){const r=yr||Nn;if(r){const o=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(o&&e in o)return o[e];if(arguments.length>1)return t&&O(n)?n():n}}let tr=!1;function rr(e,n,t=[],r=[],o=[],s=!1){const{mixins:l,extends:a,data:i,computed:c,methods:d,watch:f,provide:h,inject:g,components:_,directives:m,beforeMount:v,mounted:b,beforeUpdate:S,updated:C,activated:k,deactivated:w,beforeDestroy:A,beforeUnmount:U,destroyed:P,unmounted:T,render:N,renderTracked:V,renderTriggered:F,errorCaptured:j,expose:R}=n,I=e.proxy,K=e.ctx,M=e.appContext.mixins;if(s&&N&&e.render===p&&(e.render=N),s||(tr=!0,or(\"beforeCreate\",\"bc\",n,e,M),tr=!1,ar(e,M,t,r,o)),a&&rr(e,a,t,r,o,!0),l&&ar(e,l,t,r,o),g)if(x(g))for(let e=0;e<g.length;e++){const n=g[e];K[n]=nr(n)}else for(const e in g){const n=g[e];E(n)?K[e]=nr(n.from||e,n.default,!0):K[e]=nr(n)}if(d)for(const e in d){const n=d[e];O(n)&&(K[e]=n.bind(I))}if(s?i&&t.push(i):(t.length&&t.forEach((n=>ir(e,n,I))),i&&ir(e,i,I)),c)for(const e in c){const n=c[e],t=Cr({get:O(n)?n.bind(I,I):O(n.get)?n.get.bind(I,I):p,set:!O(n)&&O(n.set)?n.set.bind(I):p});Object.defineProperty(K,e,{enumerable:!0,configurable:!0,get:()=>t.value,set:e=>t.value=e})}var D;if(f&&r.push(f),!s&&r.length&&r.forEach((e=>{for(const n in e)cr(e[n],K,I,n)})),h&&o.push(h),!s&&o.length&&o.forEach((e=>{const n=O(e)?e.call(I):e;Reflect.ownKeys(n).forEach((e=>{!function(e,n){if(yr){let t=yr.provides;const r=yr.parent&&yr.parent.provides;r===t&&(t=yr.provides=Object.create(r)),t[e]=n}}(e,n[e])}))})),s&&(_&&y(e.components||(e.components=y({},e.type.components)),_),m&&y(e.directives||(e.directives=y({},e.type.directives)),m)),s||or(\"created\",\"c\",n,e,M),v&&Xn(v.bind(I)),b&&Yn(b.bind(I)),S&&et(S.bind(I)),C&&nt(C.bind(I)),k&&pt(k.bind(I),\"a\",D),w&&function(e,n){pt(e,\"da\",n)}(w.bind(I)),j&&((e,n=yr)=>{Zn(\"ec\",e,n)})(j.bind(I)),V&&st(V.bind(I)),F&&ot(F.bind(I)),U&&tt(U.bind(I)),T&&rt(T.bind(I)),x(R)&&!s)if(R.length){const n=e.exposed||(e.exposed=nn({}));R.forEach((e=>{n[e]=function(e,n){return Qe(e[n])?e[n]:new tn(e,n)}(I,e)}))}else e.exposed||(e.exposed=u)}function or(e,n,t,r,o){lr(e,n,o,r);const{extends:s,mixins:l}=t;s&&sr(e,n,s,r),l&&lr(e,n,l,r);const a=t[e];a&&sn(a.bind(r.proxy),r,n)}function sr(e,n,t,r){t.extends&&sr(e,n,t.extends,r);const o=t[e];o&&sn(o.bind(r.proxy),r,n)}function lr(e,n,t,r){for(let o=0;o<t.length;o++){const s=t[o].mixins;s&&lr(e,n,s,r);const l=t[o][e];l&&sn(l.bind(r.proxy),r,n)}}function ar(e,n,t,r,o){for(let s=0;s<n.length;s++)rr(e,n[s],t,r,o,!0)}function ir(e,n,t){const r=n.call(t,t);E(r)&&(e.data===u?e.data=qe(r):y(e.data,r))}function cr(e,n,t,r){const o=r.includes(\".\")?function(e,n){const t=n.split(\".\");return()=>{let n=e;for(let e=0;e<t.length&&n;e++)n=n[t[e]];return n}}(t,r):()=>t[r];if(k(e)){const t=n[e];O(t)&&at(o,t)}else if(O(e))at(o,e.bind(t));else if(E(e))if(x(e))e.forEach((e=>cr(e,n,t,r)));else{const r=O(e.handler)?e.handler.bind(t):n[e.handler];O(r)&&at(o,r,e)}}function ur(e,n,t){const r=t.appContext.config.optionMergeStrategies,{mixins:o,extends:s}=n;s&&ur(e,s,t),o&&o.forEach((n=>ur(e,n,t)));for(const o in n)r&&b(r,o)?e[o]=r[o](e[o],n[o],t.proxy,o):e[o]=n[o]}const dr=e=>e&&(e.proxy?e.proxy:dr(e.parent)),pr=y(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>dr(e.parent),$root:e=>e.root&&e.root.proxy,$emit:e=>e.emit,$options:e=>__VUE_OPTIONS_API__?function(e){const n=e.type,{__merged:t,mixins:r,extends:o}=n;if(t)return t;const s=e.appContext.mixins;if(!s.length&&!r&&!o)return n;const l={};return s.forEach((n=>ur(l,n,e))),ur(l,n,e),n.__merged=l}(e):e.type,$forceUpdate:e=>()=>Sn(e.update),$nextTick:e=>xn.bind(e.proxy),$watch:e=>__VUE_OPTIONS_API__?ct.bind(e):p}),fr={get({_:e},n){const{ctx:t,setupState:r,data:o,props:s,accessCache:l,type:a,appContext:i}=e;if(\"__v_skip\"===n)return!0;let c;if(\"$\"!==n[0]){const a=l[n];if(void 0!==a)switch(a){case 0:return r[n];case 1:return o[n];case 3:return t[n];case 2:return s[n]}else{if(r!==u&&b(r,n))return l[n]=0,r[n];if(o!==u&&b(o,n))return l[n]=1,o[n];if((c=e.propsOptions[0])&&b(c,n))return l[n]=2,s[n];if(t!==u&&b(t,n))return l[n]=3,t[n];__VUE_OPTIONS_API__&&tr||(l[n]=4)}}const d=pr[n];let p,f;return d?(\"$attrs\"===n&&le(e,0,n),d(e)):(p=a.__cssModules)&&(p=p[n])?p:t!==u&&b(t,n)?(l[n]=3,t[n]):(f=i.config.globalProperties,b(f,n)?f[n]:void 0)},set({_:e},n,t){const{data:r,setupState:o,ctx:s}=e;if(o!==u&&b(o,n))o[n]=t;else if(r!==u&&b(r,n))r[n]=t;else if(n in e.props)return!1;return(\"$\"!==n[0]||!(n.slice(1)in e))&&(s[n]=t,!0)},has({_:{data:e,setupState:n,accessCache:t,ctx:r,appContext:o,propsOptions:s}},l){let a;return void 0!==t[l]||e!==u&&b(e,l)||n!==u&&b(n,l)||(a=s[0])&&b(a,l)||b(r,l)||b(pr,l)||b(o.config.globalProperties,l)}},hr=y({},fr,{get(e,n){if(n!==Symbol.unscopables)return fr.get(e,n,e)},has:(e,t)=>\"_\"!==t[0]&&!n(t)}),gr=xt();let _r=0;let yr=null;const mr=e=>{yr=e};let vr=!1;function br(e,n,t){O(n)?e.render=n:E(n)&&(__VUE_PROD_DEVTOOLS__&&(e.devtoolsRawSetupState=n),e.setupState=nn(n)),xr(e)}function xr(e,n){const t=e.type;e.render||(e.render=t.render||p,e.render._rc&&(e.withProxy=new Proxy(e.ctx,hr))),__VUE_OPTIONS_API__&&(yr=e,oe(),rr(e,t),se(),yr=null)}function Sr(e,n=yr){n&&(n.effects||(n.effects=[])).push(e)}function Cr(e){const n=function(e){let n,t;return O(e)?(n=e,t=p):(n=e.get,t=e.set),new rn(n,t,O(e)||!e.set)}(e);return Sr(n.effect),n}function Or(e,n){let t;if(x(e)||k(e)){t=new Array(e.length);for(let r=0,o=e.length;r<o;r++)t[r]=n(e[r],r)}else if(\"number\"==typeof e){t=new Array(e);for(let r=0;r<e;r++)t[r]=n(r+1,r)}else if(E(e))if(e[Symbol.iterator])t=Array.from(e,n);else{const r=Object.keys(e);t=new Array(r.length);for(let o=0,s=r.length;o<s;o++){const s=r[o];t[o]=n(e[s],s,o)}}else t=[];return t}const kr=\"3.0.4\",wr=\"http://www.w3.org/2000/svg\",Er=\"undefined\"!=typeof document?document:null;let Ar,Ur;const Pr={insert:(e,n,t)=>{n.insertBefore(e,t||null)},remove:e=>{const n=e.parentNode;n&&n.removeChild(e)},createElement:(e,n,t)=>n?Er.createElementNS(wr,e):Er.createElement(e,t?{is:t}:void 0),createText:e=>Er.createTextNode(e),createComment:e=>Er.createComment(e),setText:(e,n)=>{e.nodeValue=n},setElementText:(e,n)=>{e.textContent=n},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Er.querySelector(e),setScopeId(e,n){e.setAttribute(n,\"\")},cloneNode:e=>e.cloneNode(!0),insertStaticContent(e,n,t,r){const o=r?Ur||(Ur=Er.createElementNS(wr,\"svg\")):Ar||(Ar=Er.createElement(\"div\"));o.innerHTML=e;const s=o.firstChild;let l=s,a=l;for(;l;)a=l,Pr.insert(l,n,t),l=o.firstChild;return[s,a]}};const Tr=/\\s*!important$/;function Nr(e,n,t){if(x(t))t.forEach((t=>Nr(e,n,t)));else if(n.startsWith(\"--\"))e.setProperty(n,t);else{const r=function(e,n){const t=Fr[n];if(t)return t;let r=R(n);if(\"filter\"!==r&&r in e)return Fr[n]=r;r=M(r);for(let t=0;t<Vr.length;t++){const o=Vr[t]+r;if(o in e)return Fr[n]=o}return n}(e,n);Tr.test(t)?e.setProperty(K(r),t.replace(Tr,\"\"),\"important\"):e[r]=t}}const Vr=[\"Webkit\",\"Moz\",\"ms\"],Fr={};const jr=\"http://www.w3.org/1999/xlink\";let Rr=Date.now;\"undefined\"!=typeof document&&Rr()>document.createEvent(\"Event\").timeStamp&&(Rr=()=>performance.now());let Ir=0;const Kr=Promise.resolve(),Mr=()=>{Ir=0};function Dr(e,n,t,r,o=null){const s=e._vei||(e._vei={}),l=s[n];if(r&&l)l.value=r;else{const[t,a]=function(e){let n;if($r.test(e)){let t;for(n={};t=e.match($r);)e=e.slice(0,e.length-t[0].length),n[t[0].toLowerCase()]=!0}return[e.slice(2).toLowerCase(),n]}(n);if(r){!function(e,n,t,r){e.addEventListener(n,t,r)}(e,t,s[n]=function(e,n){const t=e=>{(e.timeStamp||Rr())>=t.attached-1&&sn(function(e,n){if(x(n)){const t=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{t.call(e),e._stopped=!0},n.map((e=>n=>!n._stopped&&e(n)))}return n}(e,t.value),n,5,[e])};return t.value=e,t.attached=(()=>Ir||(Kr.then(Mr),Ir=Rr()))(),t}(r,o),a)}else l&&(!function(e,n,t,r){e.removeEventListener(n,t,r)}(e,t,l,a),s[n]=void 0)}}const $r=/(?:Once|Passive|Capture)$/;const Lr=/^on[a-z]/;const qr={beforeMount(e,{value:n},{transition:t}){e._vod=\"none\"===e.style.display?\"\":e.style.display,t&&n?t.beforeEnter(e):Br(e,n)},mounted(e,{value:n},{transition:t}){t&&n&&t.enter(e)},updated(e,{value:n,oldValue:t},{transition:r}){r&&n!==t?n?(r.beforeEnter(e),Br(e,!0),r.enter(e)):r.leave(e,(()=>{Br(e,!1)})):Br(e,n)},beforeUnmount(e,{value:n}){Br(e,n)}};function Br(e,n){e.style.display=n?e._vod:\"none\"}const Wr=y({patchProp:(e,n,r,o,s=!1,l,a,i,c)=>{switch(n){case\"class\":!function(e,n,t){if(null==n&&(n=\"\"),t)e.setAttribute(\"class\",n);else{const t=e._vtc;t&&(n=(n?[n,...t]:[...t]).join(\" \")),e.className=n}}(e,o,s);break;case\"style\":!function(e,n,t){const r=e.style;if(t)if(k(t))n!==t&&(r.cssText=t);else{for(const e in t)Nr(r,e,t[e]);if(n&&!k(n))for(const e in n)null==t[e]&&Nr(r,e,\"\")}else e.removeAttribute(\"style\")}(e,r,o);break;default:g(n)?_(n)||Dr(e,n,0,o,a):function(e,n,t,r){if(r)return\"innerHTML\"===n||!!(n in e&&Lr.test(n)&&O(t));if(\"spellcheck\"===n||\"draggable\"===n)return!1;if(\"form\"===n&&\"string\"==typeof t)return!1;if(\"list\"===n&&\"INPUT\"===e.tagName)return!1;if(Lr.test(n)&&k(t))return!1;return n in e}(e,n,o,s)?function(e,n,t,r,o,s,l){if(\"innerHTML\"===n||\"textContent\"===n)return r&&l(r,o,s),void(e[n]=null==t?\"\":t);if(\"value\"!==n||\"PROGRESS\"===e.tagName){if(\"\"===t||null==t){const r=typeof e[n];if(\"\"===t&&\"boolean\"===r)return void(e[n]=!0);if(null==t&&\"string\"===r)return e[n]=\"\",void e.removeAttribute(n);if(\"number\"===r)return e[n]=0,void e.removeAttribute(n)}try{e[n]=t}catch(e){}}else{e._value=t;const n=null==t?\"\":t;e.value!==n&&(e.value=n)}}(e,n,o,l,a,i,c):(\"true-value\"===n?e._trueValue=o:\"false-value\"===n&&(e._falseValue=o),function(e,n,r,o){if(o&&n.startsWith(\"xlink:\"))null==r?e.removeAttributeNS(jr,n.slice(6,n.length)):e.setAttributeNS(jr,n,r);else{const o=t(n);null==r||o&&!1===r?e.removeAttribute(n):e.setAttribute(n,o?\"\":r)}}(e,n,o,s))}},forcePatchProp:(e,n)=>\"value\"===n},Pr);let zr;function Hr(){return zr||(zr=Et(Wr))}const Jr=(...e)=>{const n=Hr().createApp(...e),{mount:t}=n;return n.mount=e=>{const r=function(e){if(k(e)){return document.querySelector(e)}return e}(e);if(!r)return;const o=n._component;O(o)||o.render||o.template||(o.template=r.innerHTML),r.innerHTML=\"\";const s=t(r);return r.removeAttribute(\"v-cloak\"),r.setAttribute(\"data-v-app\",\"\"),s},n};const Gr=(...e)=>Object.prototype.toString.call(...e).slice(8,-1);var Zr={props:{data:{required:!0,validator:e=>\"Null\"===Gr(e)},name:{required:!0,type:String}}};const Qr={class:\"null\"},Xr={class:\"key\"},Yr={key:0,class:\"separator\"},eo=Jt(\"span\",{class:\"value\"},\"null\",-1);Zr.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",Qr,[Jt(\"span\",Xr,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",Yr,\": \")):Qt(\"v-if\",!0),eo])},Zr.__file=\"src/components/NullWrapper.vue\";var no={props:{data:{required:!0,validator:e=>\"Boolean\"===Gr(e)},name:{required:!0,type:String}}};const to={class:\"boolean\"},ro={class:\"key\"},oo={key:0,class:\"separator\"},so={class:\"value\"};no.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",to,[Jt(\"span\",ro,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",oo,\": \")):Qt(\"v-if\",!0),Jt(\"span\",so,i(t.data),1)])},no.__file=\"src/components/BooleanWrapper.vue\";var lo={props:{data:{required:!0,validator:e=>\"Number\"===Gr(e)},name:{required:!0,type:String}}};const ao={class:\"number\"},io={class:\"key\"},co={key:0,class:\"separator\"},uo={class:\"value\"};lo.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",ao,[Jt(\"span\",io,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",co,\": \")):Qt(\"v-if\",!0),Jt(\"span\",uo,i(t.data),1)])},lo.__file=\"src/components/NumberWrapper.vue\";var po={props:{data:{required:!0,validator:e=>\"String\"===Gr(e)},name:{required:!0,type:String}}};const fo={class:\"string\"},ho={class:\"key\"},go={key:0,class:\"separator\"},_o=Jt(\"span\",{class:\"quotes\"},'\"',-1),yo={class:\"value\"},mo=Jt(\"span\",{class:\"quotes\"},'\"',-1);po.render=function(e,n,t,r,o,s){return Dt(),Lt(\"span\",fo,[Jt(\"span\",ho,i(t.name),1),\"\"!==t.name?(Dt(),Lt(\"span\",go,\": \")):Qt(\"v-if\",!0),_o,Jt(\"span\",yo,i(t.data),1),mo])},po.__file=\"src/components/StringWrapper.vue\";const vo=new Set;function bo(e={collapseSignal:collapseSignal,expandSignal:expandSignal}){const n=Xe(!1),t=Xe(!1),r=()=>{n.value=!1,t.value=!t.value};at((()=>e.collapseSignal),r);const o=Xe(!1),s=()=>{n.value=!0,o.value=!o.value};at((()=>e.expandSignal),s);return at((()=>e.data),(()=>{e.expandOnCreatedAndUpdated(e.path)?s():r()}),{immediate:!0}),{isExpanding:n,innerCollapseSignal:t,innerExpandSignal:o,handleClick:e=>{vo.clear(),!0===e.metaKey&&!0===e.shiftKey?r():!0===e.metaKey?s():n.value=!n.value}}}var xo={name:\"array-wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Array\"===Gr(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function}},setup(e){const{isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o}=bo(e),s=Cr((()=>e.getKeys(e.data,e.path))),l=vo.has(e.data);return vo.add(e.data),{keys:s,isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o,isCircular:l}},components:{}};const So={class:\"array\"},Co={key:0,class:\"value\"},Oo={key:0,class:\"value\"};xo.render=function(e,n,t,r,o,s){const l=Tt(\"wrapper\");return Dt(),Lt(\"span\",So,[Jt(\"span\",{class:\"indicator\",onClick:n[1]||(n[1]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"▼\":\"▶\"),1),Jt(\"span\",{class:\"key\",onClick:n[2]||(n[2]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":t.name),1),Jt(\"span\",{class:\"separator\",onClick:n[3]||(n[3]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":\": \"),1),Jt(\"span\",{class:\"count\",onClick:n[4]||(n[4]=(...e)=>r.handleClick&&r.handleClick(...e))},i(!1===r.isExpanding&&t.data.length>=2?\"(\"+t.data.length+\")\":\"\"),1),Jt(\"span\",{class:\"preview\",onClick:n[5]||(n[5]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"Array(\"+t.data.length+\")\":\"[...]\"),1),r.isCircular?(Dt(),Lt(Ft,{key:0},[r.isExpanding?(Dt(),Lt(\"span\",Co,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64)):(Dt(),Lt(Ft,{key:1},[r.isExpanding?(Dt(),Lt(\"span\",Oo,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64))])},xo.__file=\"src/components/ArrayWrapper.vue\";var ko={name:\"object-wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Object\"===Gr(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function}},setup(e){const{isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o}=bo(e),s=Cr((()=>e.getKeys(e.data,e.path))),l=vo.has(e.data);return vo.add(e.data),{keys:s,isExpanding:n,innerExpandSignal:t,innerCollapseSignal:r,handleClick:o,isCircular:l}},components:{}};const wo={class:\"object\"},Eo={key:0,class:\"value\"},Ao={key:1,class:\"value\"};ko.render=function(e,n,t,r,o,s){const l=Tt(\"wrapper\");return Dt(),Lt(\"span\",wo,[Jt(\"span\",{class:\"indicator\",onClick:n[1]||(n[1]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"▼\":\"▶\"),1),Jt(\"span\",{class:\"key\",onClick:n[2]||(n[2]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":t.name),1),Jt(\"span\",{class:\"separator\",onClick:n[3]||(n[3]=(...e)=>r.handleClick&&r.handleClick(...e))},i(\"\"===t.name?\"\":\": \"),1),Jt(\"span\",{class:\"preview\",onClick:n[4]||(n[4]=(...e)=>r.handleClick&&r.handleClick(...e))},i(r.isExpanding?\"\":\"{...}\"),1),r.isCircular?(Dt(),Lt(Ft,{key:0},[r.isExpanding?(Dt(),Lt(\"span\",Eo,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,class:\"value\",name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:()=>!1,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))])):Qt(\"v-if\",!0)],64)):vt((Dt(),Lt(\"span\",Ao,[(Dt(!0),Lt(Ft,null,Or(r.keys,(e=>(Dt(),Lt(l,{key:e,class:\"value\",name:e,path:t.path.concat(e),data:t.data[e],\"expand-signal\":r.innerExpandSignal,\"collapse-signal\":r.innerCollapseSignal,expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys},null,8,[\"name\",\"path\",\"data\",\"expand-signal\",\"collapse-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])))),128))],512)),[[qr,r.isExpanding]])])},ko.__file=\"src/components/ObjectWrapper.vue\";const Uo={name:\"wrapper\",props:{path:{required:!0,validator:e=>\"Array\"===Gr(e)&&e.every((e=>\"String\"===Gr(e)||\"Number\"===Gr(e)))},data:{required:!0,validator:e=>\"Null\"===Gr(e)||\"Boolean\"===Gr(e)||\"Number\"===Gr(e)||\"String\"===Gr(e)||\"Array\"===Gr(e)||\"Object\"===Gr(e)},name:{required:!0,type:String},collapseSignal:{default:!1,type:Boolean},expandSignal:{default:!1,type:Boolean},expandOnCreatedAndUpdated:{required:!0,type:Function},getKeys:{required:!0,type:Function}},setup:()=>({objectToString:Gr}),components:{NullWrapper:Zr,BooleanWrapper:no,NumberWrapper:lo,StringWrapper:po,ArrayWrapper:xo,ObjectWrapper:ko}};xo.components.Wrapper=Uo,ko.components.Wrapper=Uo,Uo.render=function(e,n,t,r,o,s){const l=Tt(\"null-wrapper\"),a=Tt(\"boolean-wrapper\"),i=Tt(\"number-wrapper\"),c=Tt(\"string-wrapper\"),u=Tt(\"array-wrapper\"),d=Tt(\"object-wrapper\");return\"Null\"===e.objectToString(e.data)?(Dt(),Lt(l,{key:0,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Boolean\"===e.objectToString(e.data)?(Dt(),Lt(a,{key:1,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Number\"===e.objectToString(e.data)?(Dt(),Lt(i,{key:2,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"String\"===e.objectToString(e.data)?(Dt(),Lt(c,{key:3,name:e.name,data:e.data},null,8,[\"name\",\"data\"])):\"Array\"===e.objectToString(e.data)?(Dt(),Lt(u,{key:4,name:e.name,path:e.path,data:e.data,\"collapse-signal\":e.collapseSignal,\"expand-signal\":e.expandSignal,expandOnCreatedAndUpdated:e.expandOnCreatedAndUpdated,getKeys:e.getKeys},null,8,[\"name\",\"path\",\"data\",\"collapse-signal\",\"expand-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])):\"Object\"===e.objectToString(e.data)?(Dt(),Lt(d,{key:5,name:e.name,path:e.path,data:e.data,\"collapse-signal\":e.collapseSignal,\"expand-signal\":e.expandSignal,expandOnCreatedAndUpdated:e.expandOnCreatedAndUpdated,getKeys:e.getKeys},null,8,[\"name\",\"path\",\"data\",\"collapse-signal\",\"expand-signal\",\"expandOnCreatedAndUpdated\",\"getKeys\"])):Qt(\"v-if\",!0)},Uo.__file=\"src/components/Wrapper.vue\";const Po=Object.freeze({expandOnCreatedAndUpdated:e=>!1,getKeys:(e,n)=>Object.keys(e)});var To=(e,n,t={})=>{void 0===t.rootName&&(t.rootName=\"\"),void 0===t.getKeys&&(t.getKeys=Po.getKeys),void 0===t.expandOnCreatedAndUpdated&&(t.expandOnCreatedAndUpdated=Po.expandOnCreatedAndUpdated),n.classList.add(\"object-visualizer\"),((...e)=>{Hr().render(...e)})(null,n),Jr(Uo,{data:e,name:t.rootName,path:[],expandOnCreatedAndUpdated:t.expandOnCreatedAndUpdated,getKeys:t.getKeys}).mount(n)};export{To as mount,qe as reactive};\n","const COMPONENTS_MAP = {\n    grid: 'GridComponent',\n    polar: 'PolarComponent',\n    geo: 'GeoComponent',\n    singleAxis: 'SingleAxisComponent',\n    parallel: 'ParallelComponent',\n    calendar: 'CalendarComponent',\n    graphic: 'GraphicComponent',\n    toolbox: 'ToolboxComponent',\n    tooltip: 'TooltipComponent',\n    axisPointer: 'AxisPointerComponent',\n    brush: 'BrushComponent',\n    title: 'TitleComponent',\n    timeline: 'TimelineComponent',\n    markPoint: 'MarkPointComponent',\n    markLine: 'MarkLineComponent',\n    markArea: 'MarkAreaComponent',\n    legend: 'LegendComponent',\n    dataZoom: 'DataZoomComponent',\n    visualMap: 'VisualMapComponent',\n    aria: 'AriaComponent',\n    dataset: 'DatasetComponent',\n\n    // Dependencies\n    xAxis: 'GridComponent',\n    yAxis: 'GridComponent',\n    angleAxis: 'PolarComponent',\n    radiusAxis: 'PolarComponent'\n}\n\nconst CHARTS_MAP = {\n    line: 'LineChart',\n    bar: 'BarChart',\n    pie: 'PieChart',\n    scatter: 'ScatterChart',\n    radar: 'RadarChart',\n    map: 'MapChart',\n    tree: 'TreeChart',\n    treemap: 'TreemapChart',\n    graph: 'GraphChart',\n    gauge: 'GaugeChart',\n    funnel: 'FunnelChart',\n    parallel: 'ParallelChart',\n    sankey: 'SankeyChart',\n    boxplot: 'BoxplotChart',\n    candlestick: 'CandlestickChart',\n    effectScatter: 'EffectScatterChart',\n    lines: 'LinesChart',\n    heatmap: 'HeatmapChart',\n    pictorialBar: 'PictorialBarChart',\n    themeRiver: 'ThemeRiverChart',\n    sunburst: 'SunburstChart',\n    custom: 'CustomChart'\n}\nconst COMPONENTS_GL_MAP = {\n\n    grid3D: 'Grid3DComponent',\n    geo3D: 'Geo3DComponent',\n    globe: 'GlobeComponent',\n    mapbox3D: 'Mapbox3DComponent',\n    maptalks3D: 'Maptalks3DComponent',\n\n    // Dependencies\n    xAxis3D: 'Grid3DComponent',\n    yAxis3D: 'Grid3DComponent',\n    zAxis3D: 'Grid3DComponent',\n}\nconst CHARTS_GL_MAP = {\n    bar3D: 'Bar3DChart',\n    line3D: 'Line3DChart',\n    scatter3D: 'Scatter3DChart',\n    lines3D: 'Lines3DChart',\n    polygons3D: 'Polygons3DChart',\n    surface: 'SurfaceChart',\n    map3D: 'Map3DChart',\n\n    scatterGL: 'ScatterGLChart',\n    graphGL: 'GraphGLChart',\n    flowGL: 'FlowGLChart',\n    linesGL: 'LinesGLChart'\n}\n\nconst COMPONENTS_MAP_REVERSE = {};\nconst CHARTS_MAP_REVERSE = {};\nconst CHARTS_GL_MAP_REVERSE = {};\nconst COMPONENTS_GL_MAP_REVERSE = {};\n\nconst RENDERERS_MAP_REVERSE = {\n    'SVGRenderer': 'svg',\n    'CanvasRenderer': 'canvas'\n}\n\n// Component that will be injected automatically in preprocessor\n// These should be excluded util find they were used explicitly.\nconst MARKERS = ['markLine', 'markArea', 'markPoint'];\nconst INJECTED_COMPONENTS = [\n    ...MARKERS, 'grid', 'axisPointer',\n    'aria'  // TODO aria\n];\n\n// Component that was dependent.\nconst DEPENDENT_COMPONENTS = [\n    'xAxis', 'yAxis', 'angleAxis', 'radiusAxis',\n    'xAxis3D', 'yAxis3D', 'zAxis3D'\n];\n\nfunction createReverseMap(map, reverseMap) {\n    Object.keys(map).forEach(key => {\n        // Exclude dependencies.\n        if (DEPENDENT_COMPONENTS.includes(key)) {\n            return;\n        }\n        reverseMap[map[key]] = key;\n    });\n}\n\ncreateReverseMap(COMPONENTS_MAP, COMPONENTS_MAP_REVERSE);\ncreateReverseMap(CHARTS_MAP, CHARTS_MAP_REVERSE);\ncreateReverseMap(COMPONENTS_GL_MAP, COMPONENTS_GL_MAP_REVERSE);\ncreateReverseMap(CHARTS_GL_MAP, CHARTS_GL_MAP_REVERSE);\n\nmodule.exports.collectDeps = function collectDeps(option) {\n    let deps = [];\n    if (option.options) {\n\n        // TODO getOption() doesn't have baseOption and options.\n        option.options.forEach((opt) => {\n            deps = deps.concat(collectDeps(opt));\n        });\n\n        if (option.baseOption) {\n            deps = deps.concat(collectDeps(option.baseOption))\n        }\n\n        // Remove duplicates\n        return Array.from(new Set(deps));\n    }\n\n    Object.keys(option).forEach((key) => {\n        if (INJECTED_COMPONENTS.includes(key)) {\n            return;\n        }\n        const val = option[key];\n\n        if (Array.isArray(val) && !val.length) {\n            return;\n        }\n\n        if (COMPONENTS_MAP[key]) {\n            deps.push(COMPONENTS_MAP[key]);\n        }\n        if (COMPONENTS_GL_MAP[key]) {\n            deps.push(COMPONENTS_GL_MAP[key]);\n        }\n    });\n\n    let series = option.series;\n    if (!Array.isArray(series)) {\n        series = [series];\n    }\n\n    series.forEach((seriesOpt) => {\n        if (CHARTS_MAP[seriesOpt.type]) {\n            deps.push(CHARTS_MAP[seriesOpt.type]);\n        }\n        if (CHARTS_GL_MAP[seriesOpt.type]) {\n            deps.push(CHARTS_GL_MAP[seriesOpt.type]);\n        }\n        if (seriesOpt.type === 'map') {\n            // Needs geo component when using map\n            deps.push(COMPONENTS_MAP.geo);\n        }\n        MARKERS.forEach(markerType => {\n            if (seriesOpt[markerType]) {\n                deps.push(COMPONENTS_MAP[markerType]);\n            }\n        });\n    });\n\n    // Remove duplicates\n    return Array.from(new Set(deps));\n}\n\nfunction buildMinimalBundleCode(deps, includeType) {\n    const chartsImports = [];\n    const componentsImports = [];\n    const chartsGLImports = [];\n    const componentsGLImports = [];\n    const renderersImports = [];\n    deps.forEach(function (dep) {\n        if (dep.endsWith('Renderer')) {\n            renderersImports.push(dep);\n        }\n        else if (CHARTS_MAP_REVERSE[dep]) {\n            chartsImports.push(dep);\n            if (includeType) {\n                chartsImports.push(dep.replace(/Chart$/, 'SeriesOption'));\n            }\n        }\n        else if (COMPONENTS_MAP_REVERSE[dep]) {\n            componentsImports.push(dep);\n            if (includeType) {\n                componentsImports.push(dep.replace(/Component$/, 'ComponentOption'));\n            }\n        }\n        else if (CHARTS_GL_MAP_REVERSE[dep]) {\n            chartsGLImports.push(dep)\n        }\n        else if (COMPONENTS_GL_MAP_REVERSE[dep]) {\n            componentsGLImports.push(dep);\n        }\n    });\n\n    function getImportsPartCode(imports) {\n        return `${imports.map(str => `\n    ${str}`).join(',')}`;\n    }\n\n    const allImports = [\n        ...componentsImports,\n        ...chartsImports,\n        ...componentsGLImports,\n        ...chartsGLImports,\n        ...renderersImports\n    ];\n\n    const ECOptionTypeCode = `\ntype ECOption = echarts.ComposeOption<\n    ${allImports.filter(a => a.endsWith('Option')).join(' | ')}\n>`;\n    const importsCodes = [\n        [componentsImports, 'echarts/components'],\n        [chartsImports, 'echarts/charts'],\n        [renderersImports, 'echarts/renderers'],\n        [chartsGLImports, 'echarts-gl/charts'],\n        [componentsGLImports, 'echarts-gl/components']\n    ].filter(a => a[0].length > 0).map(item => `\nimport {${getImportsPartCode(item[0])}\n} from '${item[1]}';\n    `.trim()).join('\\n');\n\n    return `import * as echarts from 'echarts/core';\n${importsCodes}\n\necharts.use(\n    [${allImports.filter(a => !a.endsWith('Option')).join(', ')}]\n);\n` + (includeType ? ECOptionTypeCode : '')\n}\n\nmodule.exports.buildMinimalBundleCode = buildMinimalBundleCode;\n\nfunction buildLegacyMinimalBundleCode(deps, isESM) {\n    const modules = [];\n    deps.forEach(function (dep) {\n        if (dep.endsWith('Renderer') && dep !== 'CanvasRenderer') {\n            modules.push(`zrender/lib/${RENDERERS_MAP_REVERSE[dep]}/${RENDERERS_MAP_REVERSE[dep]}`);\n        }\n        else if (CHARTS_MAP_REVERSE[dep]) {\n            modules.push(`echarts/lib/chart/${CHARTS_MAP_REVERSE[dep]}`);\n        }\n        else if (COMPONENTS_MAP_REVERSE[dep]) {\n            modules.push(`echarts/lib/component/${COMPONENTS_MAP_REVERSE[dep]}`);\n        }\n        else if (CHARTS_GL_MAP_REVERSE[dep]) {\n            modules.push(`echarts-gl/lib/chart/${CHARTS_GL_MAP_REVERSE[dep]}`);\n        }\n        else if (COMPONENTS_GL_MAP_REVERSE[dep]) {\n            modules.push(`echarts-gl/lib/component/${COMPONENTS_GL_MAP_REVERSE[dep]}`);\n        }\n    });\n\n    return isESM ? `import * as echarts from 'echarts/lib/echarts';\n${modules.map(mod => {\n    return `import '${mod}';`;\n}).join('\\n')}\n` : `const echarts = require('echarts/lib/echarts');\n${modules.map(mod => {\n    return `require('${mod}');`;\n}).join('\\n')}\n`\n}\n\nfunction hasGLInDeps(deps) {\n    return !!deps.find(dep => !!(CHARTS_GL_MAP_REVERSE[dep] || COMPONENTS_GL_MAP_REVERSE[dep]));\n}\n\nmodule.buildLegacyMinimalBundleCode = buildLegacyMinimalBundleCode;\n\nmodule.exports.buildExampleCode = function (\n    jsCode, deps, {\n        // If enable minimal import\n        minimal,\n        // If is ESM module or CommonJS module\n        // Force to be true in ts mode or minimal mode.\n        esm = true,\n        // If use legacy minimal import, like:\n        // import 'echarts/lib/chart/bar';\n        // Only available when minimal is true.\n        legacy,\n        // If is ts code\n        ts,\n        // Theme\n        theme,\n        ROOT_PATH,\n        // Other imports code code string\n        // For example\n        // `import 'echarts-liquidfill'`\n        extraImports\n    }\n) {\n    // if (minimal && !legacy) {\n    //     // ESM must be used when use the new minimal import\n    //     esm = true;\n    // }\n\n    if (ts) {\n        esm = true;\n    }\n\n    if (minimal && !esm) {\n        // Only legacy mode can be used when use require in mimimal bundle.\n        legacy = true;\n    }\n\n\n    const hasECStat = jsCode.indexOf('ecStat') >= 0;\n    const usedRootPath = jsCode.indexOf('ROOT_PATH') >= 0;\n    const usedApp = jsCode.indexOf('app') >= 0;\n\n    const DEP_CODE = `\n${hasECStat ?\n    esm ? `import ecStat from 'echarts-stat';`\n        : `var ecStat = require('echarts-stat');`\n    : ''\n}\n`;\n    const IMPORT_CODE = [\n        !minimal\n            ? esm\n                ? `import * as echarts from 'echarts';${hasGLInDeps(deps) ? `\\nimport 'echarts-gl';` : ''}`\n                : `var echarts = require('echarts');${hasGLInDeps(deps) ? `\\nrequire('echarts-gl');` : ''}`\n            : legacy\n                ? buildLegacyMinimalBundleCode(deps, esm)\n                : buildMinimalBundleCode(deps, ts),\n        (theme && theme !== 'dark')\n            ? esm\n                ? `import 'echarts/theme/${theme}'`\n                : `require('echarts/theme/${theme}')`\n            : '',\n        extraImports\n    ].filter(a => !!a).join('\\n');\n\n    const ENV_CODE = [\n        usedRootPath ? `var ROOT_PATH = '${ROOT_PATH}';` : '',\n        usedApp ? `var app${ts ? ': any' : ''} = {};` : '',\n        ts && !minimal ? 'type ECOption = echarts.EChartsOption' : ''\n    ].filter(a => !!a).join('\\n');\n\n    const PREPARE_CODE = [\n        IMPORT_CODE.trim(), DEP_CODE.trim(), ENV_CODE.trim()\n    ].filter(a => !!a).join('\\n\\n');\n\n    return `${PREPARE_CODE}\n\nvar chartDom = document.getElementById('main')${ts ? '!' : ''};\nvar myChart = echarts.init(chartDom${theme ? `, '${theme}'` : ''});\nvar option${ts ? ': ECOption' : ''};\n\n${jsCode.trim()}\n\noption && myChart.setOption(option);\n`;\n}","<template>\n<div class=\"ace-editor-main\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {keywords} from '../data/option-keywords';\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\n\nfunction ensureACE() {\n    if (typeof ace === 'undefined') {\n        return loadScriptsAsync([\n            SCRIPT_URLS.aceDir + '/ace.js',\n            SCRIPT_URLS.aceDir + '/ext-language_tools.js'\n        ]).then(function () {\n            const lnTools = ace.require('ace/ext/language_tools');\n\n            const completions = [];\n            keywords.forEach(keyword => {\n                completions.push({\n                    caption: keyword.name,\n                    value: keyword.name,\n                    score: keyword.count,\n                    metal: 'local'\n                });\n            });\n\n            lnTools.addCompleter({\n                getCompletions: function (editor, session, pos, prefix, callback) {\n                    callback(null, completions);\n                }\n            });\n        })\n    }\n    return Promise.resolve();\n}\n\nexport default {\n\n    props: ['initialCode'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureACE().then(() => {\n            this.loading = false;\n            const editor = ace.edit(this.$el);\n            editor.getSession().setMode('ace/mode/javascript');\n            editor.setOptions({\n                enableBasicAutocompletion: true,\n                enableSnippets: true,\n                enableLiveAutocompletion: true\n            });\n\n            this._editor = editor;\n\n            editor.on('change', () => {\n                store.sourceCode =\n                    store.runCode = editor.getValue();\n            });\n\n            if (this.initialCode) {\n                this.setInitialCode(this.initialCode);\n            }\n        });\n    },\n\n    methods: {\n        setInitialCode(code) {\n            if (this._editor && code) {\n                this._editor.setValue(code || '');\n                this._editor.selection.setSelectionRange({\n                    start: {\n                        row:1,\n                        column: 4\n                    }, end: {\n                        row:1,\n                        column: 4\n                    }\n                });\n            }\n        }\n    },\n\n    watch: {\n        initialCode(newVal) {\n            this.setInitialCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.ace-editor-main {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    line-height: 18px;\n    padding: 10px;\n    // height: 100%;\n\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div class=\"monaco-editor-main\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {keywords, fullKeywordsList} from '../data/option-keywords';\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\nimport { ensureECharts } from './Preview.vue';\n\nfunction loadTypes() {\n    return fetch(store.cdnRoot + '/types/echarts.d.ts', {\n        mode: 'cors'\n    }).then(response => response.text()).then(code => {\n\n        // validation settings\n        monaco.languages.typescript.typescriptDefaults.setDiagnosticsOptions({\n            noSemanticValidation: false,\n            noSyntaxValidation: false\n        });\n\n        // compiler options\n        monaco.languages.typescript.typescriptDefaults.setCompilerOptions({\n            target: monaco.languages.typescript.ScriptTarget.ES6,\n            allowNonTsExtensions: true,\n            noResolve: false\n        });\n\n        // console.log('file:///node_modules/@types/' + res[i].path);\n        monaco.languages.typescript.typescriptDefaults.addExtraLib(\n            code,\n            // https://github.com/microsoft/monaco-editor/issues/667#issuecomment-468164794\n            'file:///node_modules/@types/echarts/index.d.ts'\n        );\n\n        monaco.languages.typescript.typescriptDefaults.addExtraLib(\n`import {init, EChartsOption} from 'echarts';\n// Declare to global namespace.\ndeclare global {\ndeclare const $: any;\ndeclare const ROOT_PATH: string;\ndeclare const app: {\n    configParameters: {\n        [key: string]: ({\n            options: { [key: string]: string\n        }) | ({\n            min?: number\n            max?: number\n        })\n    }\n    config: {\n        onChange: () => void\n        [key: string]: string | number | function\n    }\n    [key: string]: any\n};\ndeclare const myChart: ReturnType<typeof init>;\ndeclare var option: EChartsOption;\n}\n`,\n            'file:///example.d.ts'\n        );\n        return;\n    });\n}\n\nfunction ensureMonacoAndTsTransformer() {\n    function loadMonaco() {\n        if (typeof monaco === 'undefined') {\n            return loadScriptsAsync([\n                SCRIPT_URLS.monacoDir + '/loader.js',\n                // Prebuilt TS transformer with surcrase\n                store.cdnRoot + '/js/example-transform-ts-bundle.js'\n            ]).then(function () {\n                window.require.config({ paths: { 'vs': SCRIPT_URLS.monacoDir }});\n                return new Promise(resolve => {\n                    window.require([\n                        'vs/editor/editor.main'\n                    ], function () {\n                        loadTypes().then(() => {\n                            resolve();\n                        });\n                    })\n                });\n            })\n        }\n        return Promise.resolve();\n    }\n\n    // Must load echarts before monaco. Or the AMD loader will affect loading of echarts.\n    return ensureECharts().then(loadMonaco);\n}\n\nexport default {\n\n    props: ['initialCode'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureMonacoAndTsTransformer().then(() => {\n            this.loading = false;\n            const model = monaco.editor.createModel(\n                this.initialCode || '',\n                'typescript',\n                // Should also be a file path so it can resolve the lib.\n                monaco.Uri.parse('file:///main.ts')\n            );\n            const editor = monaco.editor.create(this.$el, {\n                model,\n                fontFamily: `'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace`,\n                minimap: {\n                    enabled: false\n                },\n                automaticLayout: true\n            });\n\n            this._editor = editor;\n\n            if (this.initialCode) {\n                store.sourceCode = this.initialCode;\n                store.runCode = echartsExampleTransformTs(store.sourceCode);\n            }\n            editor.onDidChangeModelContent(() => {\n                store.sourceCode = editor.getValue();\n                store.runCode = echartsExampleTransformTs(store.sourceCode);\n            });\n        });\n    },\n\n    destroyed() {\n        if (this._editor) {\n            this._editor.getModel().dispose();\n            this._editor.dispose();\n        }\n    },\n\n    methods: {\n        setInitialCode(code) {\n            if (this._editor && code) {\n                this._editor.setValue(code || '');\n            }\n        }\n    },\n\n    watch: {\n        initialCode(newVal) {\n            this.setInitialCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.monaco-editor-main {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    padding: 0;\n    overflow-y: hidden;\n    // height: 100%;\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div id=\"main-container\">\n    <div id=\"editor-left-container\" :style=\"{width: leftContainerSize + '%'}\" v-if=\"!shared.isMobile\">\n        <el-tabs v-model=\"currentTab\" type=\"border-card\">\n            <el-tab-pane :label=\"$t('editor.tabEditor')\" name=\"code-editor\">\n                <el-container>\n                    <el-header id=\"editor-control-panel\">\n                        <div id=\"code-info\">\n                            <template v-if=\"shared.editorStatus.message\">\n                                <span class=\"code-info-time\">{{currentTime}}</span>\n                                <span :class=\"'code-info-type-' + shared.editorStatus.type\">{{shared.editorStatus.message}}</span>\n                            </template>\n                        </div>\n                        <div class=\"editor-controls\">\n                            <!-- <el-switch v-model=\"shared.typeCheck\"\n                                :active-text=\"$t('editor.monacoMode')\"\n                                :inactive-text=\"''\"\n                            ></el-switch> -->\n                            <a href=\"javascript:;\" class='btn btn-default btn-sm' @click='disposeAndRun'>{{$t('editor.run')}}</a>\n                        </div>\n                    </el-header>\n                    <el-main>\n                        <CodeMonaco v-if=\"shared.typeCheck\" id=\"code-panel\" :initialCode=\"initialCode\"></CodeMonaco>\n                        <CodeAce v-else id=\"code-panel\" :initialCode=\"initialCode\"></CodeAce>\n                    </el-main>\n                </el-container>\n            </el-tab-pane>\n\n            <el-tab-pane :label=\"$t('editor.tabFullCodePreview')\" name=\"full-code\" :lazy=\"true\">\n                <el-container style=\"width: 100%; height: 100%\">\n                    <el-header id=\"full-code-generate-config\">\n                        <span class=\"full-code-generate-config-label\">\n                            <!-- <i class=\"el-icon-setting\"></i> 配置 -->\n                        </span>\n                        <el-switch\n                            class=\"enable-decal\"\n                            v-model=\"fullCodeConfig.minimal\"\n                            :active-text=\"$t('editor.minimalBundle')\"\n                            :inactive-text=\"''\">\n                        </el-switch>\n                        <el-switch\n                            class=\"enable-decal\"\n                            v-model=\"fullCodeConfig.esm\"\n                            active-text=\"ES Modules\"\n                            :inactive-text=\"''\">\n                        </el-switch>\n                    </el-header>\n                    <el-main>\n                        <FullCodePreview :code=\"fullCode\"></FullCodePreview>\n                    </el-main>\n                </el-container>\n            </el-tab-pane>\n            <el-tab-pane :label=\"$t('editor.tabOptionPreview')\" name=\"full-option\">\n                <div id=\"option-outline\"></div>\n            </el-tab-pane>\n        </el-tabs>\n    </div>\n    <div class=\"handler\" id=\"h-handler\" @mousedown=\"onSplitterDragStart\" :style=\"{left: leftContainerSize + '%'}\" v-if=\"!shared.isMobile\"></div>\n    <Preview :inEditor=\"true\" class=\"right-container\" ref=\"preview\" :style=\"{\n        width: (100 - leftContainerSize) + '%',\n        left: leftContainerSize + '%'\n    }\"></Preview>\n</div>\n</template>\n\n<script>\n\nimport CodeAce from './CodeAce.vue';\nimport CodeMonaco from './CodeMonaco.vue';\nimport FullCodePreview from './FullCodePreview.vue';\nimport Preview from './Preview.vue';\nimport {URL_PARAMS} from '../common/config';\nimport {store, loadExampleCode, parseSourceCode} from '../common/store';\nimport {collectDeps, buildExampleCode} from '../../common/buildCode';\nimport { mount } from \"@lang/object-visualizer\";\n\nimport './object-visualizer.css';\n\nexport default {\n    components: {\n        CodeAce,\n        CodeMonaco,\n        FullCodePreview,\n        Preview\n    },\n\n    data() {\n        return {\n            mousedown: false,\n            leftContainerSize: 40,\n            mobileMode: false,\n            shared: store,\n            initialCode: '',\n\n            currentTab: 'code-editor',\n\n            fullCode: '',\n\n            fullCodeConfig: {\n                mimimal: false,\n                esm: true,\n                node: false // If is in node\n            }\n        };\n    },\n\n    computed: {\n        currentTime() {\n            // Update time when message updated.\n            const message = this.shared.message;\n\n            const time = new Date();\n            const digits = [time.getHours(), time.getMinutes(), time.getSeconds()];\n            let timeStr = '';\n            for (let i = 0, len = digits.length; i < len; ++i) {\n                timeStr += (digits[i] < 10 ? '0' : '') + digits[i];\n                if (i < len - 1) {\n                    timeStr += ':';\n                }\n            }\n            return timeStr;\n        }\n    },\n\n    mounted() {\n\n        if (store.isMobile) {\n            this.leftContainerSize = 0;\n            loadExampleCode().then(code => {\n                // No editor available. Set to runCode directly.\n                store.runCode = parseSourceCode(code);\n            });\n        }\n        else {\n            loadExampleCode().then(code => {\n                // Only set the code in editor. editor will sync to the store.\n                this.initialCode = parseSourceCode(code);\n            });\n\n            window.addEventListener('mousemove', (e) => {\n                if (this.mousedown) {\n                    let percentage = e.clientX / window.innerWidth;\n                    percentage = Math.min(0.9, Math.max(0.1, percentage));\n                    this.leftContainerSize = percentage * 100;\n                }\n            });\n\n            window.addEventListener('mouseup', (e) => {\n                this.mousedown = false;\n            });\n        }\n    },\n\n    methods: {\n        onSplitterDragStart() {\n            this.mousedown = true;\n        },\n        disposeAndRun() {\n            this.$refs.preview.refreshAll();\n        },\n        updateFullCode() {\n            const option = this.$refs.preview.getOption();\n            if (!option) {\n                return;\n            }\n            const deps = collectDeps(option);\n            deps.push(store.renderer === 'svg' ? 'SVGRenderer' : 'CanvasRenderer');\n            this.fullCode = buildExampleCode(store.sourceCode, deps, {\n                minimal: this.fullCodeConfig.minimal,\n                ts: false,\n                esm: this.fullCodeConfig.esm,\n                // legacy: true,\n                theme: store.darkMode ? 'dark' : '',\n                ROOT_PATH: store.cdnRoot\n            });\n        },\n        updateOptionOutline() {\n            const option = Object.freeze(this.$refs.preview.getOption());\n            if (!option) {\n                return;\n            }\n            mount(\n                option,\n                this.$el.querySelector('#option-outline'),\n                {\n                    getKeys(object, path) {\n                        return Object.keys(object).filter(key => {\n                            if (Array.isArray(object[key]) && !object[key].length) {\n                                return false;\n                            }\n                            return true;\n                        });\n                    },\n                    expandOnCreatedAndUpdated(path) {\n                        return path.length === 0\n                            || (path[0] === 'series' && path.length <= 1);\n                    },\n                }\n            );\n        },\n        updateTabContent(tab) {\n            if (tab === 'full-code') {\n                this.updateFullCode();\n            }\n            else if (tab === 'full-option') {\n                this.updateOptionOutline();\n            }\n        }\n    },\n\n    watch: {\n        'shared.typeCheck'(enableTypeCheck) {\n            // Update initialCode to avoid code changed when switching editor\n            this.initialCode = store.sourceCode;\n            this.updateFullCode();\n        },\n        'currentTab'(tab) {\n            this.updateTabContent(tab);\n        },\n        'shared.runHash'() {\n            this.updateTabContent(this.currentTab);\n        },\n        fullCodeConfig: {\n            deep: true,\n            handler() {\n                this.updateFullCode();\n            }\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import '../style/color.scss';\n\n$code-info-height: 25px;\n$control-panel-height: 30px;\n$pd-basic: 10px;\n$handler-width: 5px;\n\n#main-container {\n    .handler {\n        position: absolute;\n        left: 50%;\n\n        top: 0;\n        bottom: 0;\n        width: $handler-width;\n\n        cursor: col-resize;\n        z-index: 100;\n        background-color: transparent;\n        border-left: 1px solid #ececec;\n        // border-right: 1px solid $clr-border;\n    }\n\n}\n\n#editor-left-container {\n    position: absolute;\n    left: 0;\n    bottom: 0;\n    top: 0;\n\n    width: 50%;\n\n    .el-tab-pane {\n        height: 100%;\n\n        .el-container {\n            width: 100%;\n            height: 100%;\n        }\n\n        .el-header {\n            height: $control-panel-height!important;\n            position: relative;\n            z-index: 10;\n            padding: 0;\n        }\n        .el-main {\n            padding: 0;\n            position: relative;\n\n            ::-webkit-scrollbar {\n                height:8px;\n                width:8px;\n                transition:all 0.3s ease-in-out;\n                border-radius:2px;\n            }\n\n            ::-webkit-scrollbar-button {\n                display:none;\n            }\n\n            ::-webkit-scrollbar-thumb {\n                width:8px;\n                min-height:15px;\n                background:rgba(50, 50, 50, 0.6) !important;\n                transition:all 0.3s ease-in-out;border-radius:2px;\n            }\n\n            ::-webkit-scrollbar-thumb:hover {\n                background:rgba(0, 0, 0, 0.5) !important;\n            }\n        }\n    }\n\n    .el-tabs {\n        box-shadow: none;\n    }\n\n    .el-tabs--border-card>.el-tabs__header {\n        border-bottom: none;\n    }\n\n    .el-tabs__content {\n        position: absolute;\n        top: 34px;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        padding: 0;\n    }\n\n    .el-tabs__item {\n        height: 34px;\n        line-height: 34px;\n    }\n}\n\n#editor-control-panel, #full-code-generate-config {\n    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);\n}\n\n#option-outline {\n    // height: 100%;\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n\n    font-size: 13px;\n\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n}\n\n#full-code-generate-config {\n    .full-code-generate-config-label {\n        height: $control-panel-height;\n        line-height: $control-panel-height;\n        vertical-align: middle;\n        margin: 0 0 0 20px;\n    }\n\n    .el-switch {\n        margin-right: 10px;\n    }\n\n    .el-switch__label {\n        margin-left: 8px;\n        margin-top: -2px;\n    }\n    .el-switch__label * {\n        font-size: 12px;\n    }\n}\n\n#editor-control-panel {\n    .setting-panel {\n        display: inline-block;\n\n        .btn-group + .btn-group {\n            margin-left: $pd-basic;\n        }\n    }\n\n    .editor-controls  {\n        float: right;\n\n        .el-switch__label {\n            margin-top: -3px;\n        }\n        .el-switch__label * {\n            font-size: 12px;\n        }\n\n        .btn {\n            color: #FFF;\n            border-radius: 0;\n            background-color: #409eff;\n            margin-left: $pd-basic;\n            border: none;\n            height: 30px;\n            width: 50px;\n        }\n        .btn:hover {\n            background-color: lighten($color: #409eff, $amount: 5);\n        }\n    }\n}\n\n#code-info {\n    position: absolute;\n    bottom: 0;\n    overflow: hidden;\n\n    height: $control-panel-height;\n    line-height: $control-panel-height;\n    padding: 0px 10px;\n\n    // border-top: 1px solid $clr-border;\n    font-size: 0.9rem;\n\n    .code-info-time {\n        color: $clr-text;\n        display: inline-block;\n        margin-right: 10px;\n        font-size: 12px;\n    }\n\n    .code-info-type-info {\n        color: $clr-text;\n        font-size: 12px;\n    }\n\n    .code-info-type-warn {\n        color: $clr-warn;\n    }\n\n    .code-info-type-error {\n        color: $clr-error;\n    }\n}\n\n.right-container {\n    position: absolute;\n    right: 0;\n\n    width: 50%;\n    height: 100%;\n    padding: 0;\n    padding-left: $handler-width;\n    border: none;\n    z-index: 30;\n\n    background: $clr-bg;\n}\n\n\n</style>","<template>\n<div class=\"full-code-preview\" v-loading=\"loading\"></div>\n</template>\n\n<script>\n\nimport {loadScriptsAsync} from '../common/helper';\nimport {store} from '../common/store';\nimport {SCRIPT_URLS} from '../common/config';\n\nfunction ensureACE() {\n    if (typeof ace === 'undefined') {\n        return loadScriptsAsync([\n            SCRIPT_URLS.aceDir + '/ace.js'\n        ]);\n    }\n    return Promise.resolve();\n}\n\nexport default {\n\n    props: ['code'],\n\n    data() {\n        return {\n            shared: store,\n            loading: false\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureACE().then(() => {\n            this.loading = false;\n            const editor = ace.edit(this.$el);\n            editor.getSession().setMode('ace/mode/javascript');\n            // https://stackoverflow.com/questions/32806060/is-there-a-programmatic-way-to-hide-the-cursor-in-ace-editor\n            editor.setOptions({\n                readOnly: true,\n                showLineNumbers: false,\n                showFoldWidgets: false,\n                highlightActiveLine: false,\n                highlightGutterLine: false\n            });\n            // editor.renderer.setShowGutter(false);\n            editor.renderer.$cursorLayer.element.style.display = 'none';\n\n            this._editor = editor;\n\n            this.setCode(this.code);\n\n        });\n    },\n\n    methods: {\n        setCode(code) {\n            if (this._editor) {\n                this._editor.setValue(code);\n                this._editor.selection.setSelectionRange({\n                    start: {\n                        row:1,\n                        column: 4\n                    }, end: {\n                        row:1,\n                        column: 4\n                    }\n                });\n            }\n        }\n    },\n\n    watch: {\n        code(newVal) {\n            this.setCode(newVal);\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n.full-code-preview {\n    font-family: 'Source Code Pro', 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;\n    font-size: 12px;\n    line-height: 18px;\n    // height: 100%;\n\n    // Fix safari\n    position: absolute;\n    left: 0;\n    top: 0;\n    bottom: 0;\n    right: 0;\n}\n</style>","<template>\n<div :class=\"[(inEditor && !shared.isMobile) ? '' : 'full']\">\n    <div v-loading=\"loading\"\n        class=\"right-panel\"\n        id=\"chart-panel\"\n        :style=\"{background: backgroundColor}\"\n    >\n        <div class=\"chart-container\"></div>\n    </div>\n    <div id=\"tool-panel\">\n        <div class=\"left-panel\">\n            <el-switch\n                class=\"dark-mode\"\n                v-model=\"shared.darkMode\"\n                active-color=\"#181432\"\n                :active-text=\"$t('editor.darkMode')\"\n                :inactive-text=\"''\">\n            </el-switch>\n            <el-switch\n                v-if=\"!isGL\"\n\n                class=\"enable-decal\"\n                v-model=\"shared.enableDecal\"\n                :active-text=\"$t('editor.enableDecal')\"\n                :inactive-text=\"''\">\n            </el-switch>\n\n            <el-popover\n                placement=\"bottom\"\n                width=\"450\"\n                trigger=\"click\"\n                style=\"margin-top:3px;\"\n\n                v-if=\"!isGL\"\n            >\n                <div class=\"render-config-container\">\n                    <el-row :gutter=\"2\" type=\"flex\" align=\"middle\">\n                        <el-col :span=\"12\">\n                            <label class=\"tool-label\">{{ $t('editor.renderer') }}</label>\n                            <el-radio-group v-model=\"shared.renderer\" size=\"mini\" style=\"text-transform: uppercase\">\n                                <el-radio-button label=\"svg\"></el-radio-button>\n                                <el-radio-button label=\"canvas\"></el-radio-button>\n                            </el-radio-group>\n                        </el-col>\n                        <el-col :span=\"12\">\n                            <el-switch\n                                v-if=\"shared.renderer==='canvas'\"\n                                v-model=\"shared.useDirtyRect\"\n                                :active-text=\"$t('editor.useDirtyRect')\"\n                                :inactive-text=\"''\">\n                            </el-switch>\n                        </el-col>\n                    </el-row>\n                </div>\n                <span class=\"render-config-trigger\" slot=\"reference\"><i class=\"el-icon-setting el-icon--left\"></i>{{$t('editor.renderCfgTitle')}}</span>\n            </el-popover>\n        </div>\n        <template v-if=\"inEditor\">\n            <button v-if=\"!shared.isMobile\" class=\"download btn btn-sm\" @click=\"downloadExample\">{{ $t('editor.download') }}</button>\n            <a class=\"screenshot\" @click=\"screenshot\" target=\"_blank\"><i class=\"el-icon-camera-solid\"></i></a>\n        </template>\n        <a :href=\"editLink\" target=\"_blank\" v-else class=\"edit btn btn-sm\">{{ $t('editor.edit') }}</a>\n    </div>\n</div>\n</template>\n\n<script>\n\nimport {store, updateRunHash} from '../common/store';\nimport {SCRIPT_URLS, URL_PARAMS} from '../common/config';\nimport {loadScriptsAsync} from '../common/helper';\nimport {createSandbox} from './sandbox';\nimport debounce from 'lodash/debounce';\nimport { addListener, removeListener } from 'resize-detector';\nimport CHART_LIST from '../data/chart-list-data';\nimport CHART_LIST_GL from '../data/chart-list-data-gl';\nimport {download} from './downloadExample';\n\nfunction findExample(item) {\n    return URL_PARAMS.c === item.id;\n}\nconst example = CHART_LIST.concat(CHART_LIST_GL).find(findExample);\nconst isGL = CHART_LIST_GL.find(findExample);\n\nfunction addDecalIfNecessary(option) {\n    if (store.enableDecal) {\n        option.aria = option.aria || {};\n        option.aria.decal = option.aria.decal || {};\n        option.aria.decal.show = true;\n        option.aria.show = option.aria.enabled = true;\n    }\n}\n\nexport function ensureECharts() {\n    if (typeof echarts === 'undefined') {\n\n        const hasBmap = example && example.tags.indexOf('bmap') >= 0;\n\n        // Code from https://api.map.baidu.com/api?v=2.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu\n        if (hasBmap) {\n            window.HOST_TYPE = \"2\";\n            window.BMap_loadScriptTime = (new Date).getTime();\n        }\n\n        return loadScriptsAsync([\n            SCRIPT_URLS.datGUIMinJS,\n            'local' in URL_PARAMS\n                ? SCRIPT_URLS.localEChartsMinJS : SCRIPT_URLS.echartsMinJS,\n            SCRIPT_URLS.echartsDir + '/dist/extension/dataTool.js',\n            'https://cdn.jsdelivr.net/npm/echarts@4.9.0/map/js/world.js',\n            SCRIPT_URLS.echartsStatMinJS,\n            ...URL_PARAMS.gl ? [SCRIPT_URLS.echartsGLMinJS] : [],\n            ...hasBmap ? [\n                'https://api.map.baidu.com/getscript?v=3.0&ak=KOmVjPVUAey1G2E8zNhPiuQ6QiEmAwZu&services=&t=20200327103013',\n                SCRIPT_URLS.echartsDir + '/dist/extension/bmap.js'\n            ] : []\n        ]).then(() => {\n            echarts.registerPreprocessor(addDecalIfNecessary)\n        });\n    }\n    return Promise.resolve();\n}\n\n\nfunction log(text, type) {\n    if (type !== 'warn' && type !== 'error') {\n        type = 'info';\n    }\n    store.editorStatus.message = text;\n    store.editorStatus.type = type;\n}\n\n\nfunction run() {\n\n    if (typeof echarts === 'undefined') {\n        return;\n    }\n    if (!this.sandbox) {\n        this.sandbox = createSandbox((chart) => {\n            const option = chart.getOption();\n            if (typeof option.backgroundColor === 'string' && option.backgroundColor !== 'transparent') {\n                this.backgroundColor = option.backgroundColor;\n            }\n            else {\n                this.backgroundColor = '#fff';\n            }\n        });\n    }\n\n    try {\n        const updateTime = this.sandbox.run(this.$el.querySelector('.chart-container'), store);\n\n        log(this.$t('editor.chartOK') + updateTime + 'ms');\n\n        // Find the appropriate throttle time\n        const debounceTime = 500;\n        const debounceTimeQuantities = [0, 500, 2000, 5000, 10000];\n        for (let i = debounceTimeQuantities.length - 1; i >= 0; i--) {\n            const quantity = debounceTimeQuantities[i];\n            const preferredDebounceTime = debounceTimeQuantities[i + 1] || 1000000;\n            if (updateTime >= quantity && this.debouncedTime !== preferredDebounceTime) {\n                this.debouncedRun = debounce(run, preferredDebounceTime, {\n                    trailing: true\n                });\n                this.debouncedTime = preferredDebounceTime;\n                break;\n            }\n        }\n\n        // Update run hash to let others known chart has been changed.\n        updateRunHash();\n\n    }\n    catch (e) {\n        log(this.$t('editor.errorInEditor'), 'error');\n        console.error(e);\n    }\n}\n\n\nexport default {\n\n    props: ['inEditor'],\n\n    data() {\n        return {\n            shared: store,\n            debouncedTime: undefined,\n            backgroundColor: '',\n            autoRun: true,\n            loading: false,\n\n            isGL\n        }\n    },\n\n    mounted() {\n        this.loading = true;\n        ensureECharts().then(() => {\n            this.loading = false;\n            if (store.runCode) {\n                this.run();\n            }\n        });\n\n        addListener(this.$el, () => {\n            if (this.sandbox) {\n                this.sandbox.resize();\n            }\n        })\n    },\n\n    computed: {\n        editLink() {\n            const params = ['c=' + URL_PARAMS.c];\n            if (URL_PARAMS.theme) {\n                params.push(['theme=' + URL_PARAMS.theme]);\n            }\n            if (URL_PARAMS.gl) {\n                params.push(['gl=' + URL_PARAMS.gl]);\n            }\n            return './editor.html?' + params.join('&');\n        }\n    },\n\n    watch: {\n        'shared.runCode'(val) {\n            if (this.autoRun || !this.sandbox) {\n                if (!this.debouncedRun) {\n                    // First run\n                    this.run();\n                }\n                else {\n                    this.debouncedRun();\n                }\n            }\n        },\n        'shared.renderer'() {\n            this.refreshAll();\n        },\n        'shared.darkMode'() {\n            this.refreshAll();\n        },\n        'shared.enableDecal'() {\n            this.refreshAll();\n        },\n        'shared.useDirtyRect'() {\n            this.refreshAll();\n        }\n    },\n\n    methods: {\n        run,\n        // debouncedRun will be created at first run\n        // debouncedRun: null,\n        refreshAll() {\n            this.dispose();\n            this.run();\n        },\n        dispose() {\n            if (this.sandbox) {\n                this.sandbox.dispose();\n            }\n        },\n        downloadExample() {\n            download();\n        },\n        screenshot() {\n            if (this.sandbox) {\n                const url = this.sandbox.getDataURL();\n                const $a = document.createElement('a');\n                $a.download = URL_PARAMS.c + '.' + (store.renderer === 'svg' ? 'svg' : 'png');\n                $a.target = '_blank';\n                $a.href = url;\n                const evt = new MouseEvent('click', {\n                    bubbles: true,\n                    cancelable: false\n                });\n                $a.dispatchEvent(evt);\n            }\n        },\n        getOption() {\n            return this.sandbox && this.sandbox.getOption();\n        }\n        // hasEditorError() {\n        //     const annotations = this.editor.getSession().getAnnotations();\n        //     for (let aid = 0, alen = annotations.length; aid < alen; ++aid) {\n        //         if (annotations[aid].type === 'error') {\n        //             return true;\n        //         }\n        //     }\n        //     return false;\n        // }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n#chart-panel {\n    position: absolute;\n    // top: $control-panel-height;\n    top: 42px;\n    right: 15px;\n    bottom: 15px;\n    left: 15px;\n    box-sizing: border-box;\n    box-shadow: rgba(0, 0, 0, 0.1) 0px 0px 20px;\n    border-radius: 5px;\n    background: #fff;\n    overflow: hidden;\n\n    padding: 10px;\n\n    .ec-debug-dirty-rect-container {\n        left: 10px!important;\n        top: 10px!important;\n        right: 10px!important;\n        bottom: 10px!important;\n\n        .ec-debug-dirty-rect {\n            background-color: rgba(255, 0, 0, 0.2)!important;\n            border: 1px solid red!important;\n        }\n    }\n\n    .chart-container {\n        position: relative;\n        height: 100%;\n    }\n}\n\n.render-config-container {\n    .el-radio-group {\n        label {\n            margin-bottom: 0;\n        }\n    }\n}\n\n#tool-panel {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    padding-top: 5px;\n    padding-left: 15px;\n\n    // .el-switch__label * {\n    //     font-size: 12px;\n    // }\n\n    .render-config-trigger {\n        margin-left: 10px;\n        cursor: pointer;\n        font-weight: 500;\n        // font-size: 12px;\n    }\n\n    label {\n        margin-bottom: 0;\n    }\n\n    .left-panel {\n        float: left;\n    }\n\n    .left-panel>* {\n        vertical-align: middle;\n        display: inline-block;\n    }\n\n    .tool-label {\n        font-weight: bold;\n        text-transform: uppercase;\n        margin-left: 20px;\n    }\n\n    .screenshot, .download, .edit {\n        float: right;\n        margin-right: 15px;\n        cursor: pointer;\n    }\n    .screenshot {\n        font-size: 22px;\n        margin-right: 10px;\n    }\n}\n\n.full {\n    #chart-panel {\n        top: 40px;\n        right: 5px;\n        bottom: 5px;\n        left: 5px;\n        box-shadow: rgba(10, 9, 9, 0.1) 0px 0px 5px;\n    }\n    #tool-panel {\n        padding-left: 5px;\n        .download, .edit {\n            margin-right: 5px;\n        }\n    }\n}\n\n.dg.main * {\n    box-sizing: content-box;\n}\n.dg.main input {\n    line-height: normal;\n}\n\n.dg.main.a {\n    overflow-x: visible;\n}\n\n.dg.main .c {\n    select {\n        color: #000;\n    }\n}\n\n</style>","<template>\n<preview></Preview>\n</template>\n\n<script>\n\nimport Preview from './Preview.vue';\nimport {store, loadExampleCode, parseSourceCode} from '../common/store';\n\nexport default {\n    components: {\n        Preview\n    },\n\n    mounted() {\n        loadExampleCode().then(code => {\n            store.runCode = parseSourceCode(code);\n        });\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n</style>","<template>\n<div class=\"example-list-item\">\n    <a target=\"_blank\" class=\"example-link\" :href=\"exampleLink\">\n        <img class=\"chart-area\" src=\"../asset/placeholder.jpg\" :data-src=\"screenshotURL\" />\n        <h4 class=\"example-title\">{{title}}</h4>\n        <h5 class=\"example-subtitle\" v-if=\"showSubtitle\">{{subtitle}}</h5>\n    </a>\n</div>\n</template>\n\n<script>\n\nimport {store} from '../common/store';\nimport {SUPPORT_WEBP, URL_PARAMS} from '../common/config';\n\nexport default {\n    props: ['example'],\n\n    computed: {\n\n        title() {\n            return (store.locale === 'zh' ? this.example.titleCN : this.example.title)\n                || this.example.title || '';\n        },\n\n        showSubtitle() {\n            return store.locale === 'zh';\n        },\n\n        subtitle() {\n            return this.example.title || '';\n        },\n\n        exampleTheme() {\n            const example = this.example;\n            return example.theme || (store.darkMode ? 'dark' : '');\n        },\n\n        exampleLink() {\n            const example = this.example;\n            const hash = ['c=' + example.id];\n            const exampleTheme = this.exampleTheme;\n            if (example.isGL) {\n                hash.push('gl=1');\n            }\n            if (exampleTheme) {\n                hash.push('theme=' + exampleTheme);\n            }\n            if ('local' in URL_PARAMS) {\n                hash.push('local');\n            }\n            if ('useDirtyRect' in URL_PARAMS) {\n                hash.push('useDirtyRect');\n            }\n            return './editor.html?' + hash.join('&');\n        },\n\n        screenshotURL() {\n            const example = this.example;\n            const themePostfix = this.exampleTheme ? ('-' + this.exampleTheme) : '';\n            const ext = SUPPORT_WEBP ? 'webp' : 'png';\n            const folder = example.isGL ? 'data-gl' : 'data';\n            return `${store.cdnRoot}/${folder}/thumb${themePostfix}/${example.id}.${ext}?_v_=${store.version}`;\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import \"../style/color.scss\";\n\n.example-list-item {\n    width: 100%;\n    max-width: 350px;\n    margin-bottom: 30px;\n\n    border-radius: 2px;\n\n    .example-link {\n        position: relative;\n        display: block;\n\n        .chart-area {\n            width: 100%;\n            height: 100%;\n            border-radius: 5px;\n            box-shadow: 0 0 20px rgba(0, 0, 0, 0.05);\n            margin-top: 10px;\n        }\n\n        .example-title {\n            color: $clr-primary;\n            overflow: hidden;\n            text-overflow: ellipsis;\n            white-space: nowrap;\n\n            padding: 10px 10px 2px 10px;\n            margin: 0;\n            font-weight: normal;\n            font-size: 14px;\n            text-align: center;\n        }\n\n        .example-subtitle {\n            font-size: 12px;\n            text-align: center;\n            color: #aaa;\n            font-weight: normal;\n            // font-weight: 200;\n            overflow: hidden;\n            white-space: nowrap;\n            text-overflow: ellipsis;\n            margin: 3px 0 0 0;\n        }\n    }\n\n    .example-info {\n        padding: 5px 0;\n\n        font-weight: bold;\n\n        .chart-icon {\n            float: right;\n\n            .chart-delete {\n                display: none;\n\n                transition: 1s;\n            }\n        }\n    }\n\n    &:hover .example-info .chart-icon .chart-delete {\n        display: block;\n\n        text-decoration: none;\n    }\n}\n</style>","<template>\n<div id=\"example-explore\">\n    <div id=\"left-container\">\n        <div id=\"left-chart-nav\">\n            <scrollactive\n                active-class=\"active\"\n                :offset=\"80\"\n                :duration=\"500\"\n                :scroll-container-selector=\"'#example-explore'\"\n                bezier-easing-value=\".5,0,.35,1\"\n                @itemchanged=\"onActiveNavChanged\"\n            >\n                <ul>\n                    <li v-for=\"category in EXAMPLE_CATEGORIES\" :key=\"category\">\n                        <a class=\"left-chart-nav-link scrollactive-item\" :id=\"'left-chart-nav-' + category\"\n                            :href=\"'#chart-type-' + category\"\n                        >\n                            <span class=\"chart-icon\" v-html=\"icons[category]\"></span>\n                            <span class=\"chart-name\">{{$t('chartTypes.' + category)}}</span>\n                        </a>\n                    </li>\n                </ul>\n            </scrollactive>\n        </div>\n    </div>\n    <div id=\"explore-container\">\n        <div class=\"example-list-panel\">\n            <div v-for=\"categoryObj in exampleList\" :key=\"categoryObj.category\">\n                <h3 class=\"chart-type-head\" :id=\"'chart-type-' + categoryObj.category\">\n                    {{$t('chartTypes.' + categoryObj.category)}}\n                    <span>{{categoryObj.category}}</span>\n                </h3>\n\n                <div class=\"row\" :id=\"'chart-row-' + categoryObj.category\">\n                    <div class=\"col-xl-2 col-lg-3 col-md-4 col-sm-6\"\n                        v-for=\"exampleItem in categoryObj.examples\"\n                        :key=\"exampleItem.id\"\n                    >\n                        <ExampleCard :example=\"exampleItem\"></ExampleCard>\n                    </div>\n                </div>\n            </div>\n        </div>\n    </div>\n    <div id=\"toolbar\">\n        <el-switch\n            v-model=\"shared.darkMode\"\n            active-color=\"#181432\"\n            :active-text=\"$t('editor.darkMode')\"\n            :inactive-text=\"''\">\n        </el-switch>\n    </div>\n</div>\n</template>\n\n<script>\n\nimport CHART_LIST from '../data/chart-list-data';\nimport CHART_LIST_GL from '../data/chart-list-data-gl';\nimport {EXAMPLE_CATEGORIES, BLACK_MAP, URL_PARAMS} from '../common/config';\nimport {store} from '../common/store';\nimport ExampleCard from './ExampleCard.vue';\nimport LazyLoad from 'vanilla-lazyload/dist/lazyload.esm';\n// import scrollIntoView from 'scroll-into-view';\n\nconst icons = {};\n\n['line', 'bar', 'scatter', 'pie', 'radar', 'funnel', 'gauge', 'map',\n    'graph', 'treemap', 'parallel', 'sankey', 'candlestick', 'boxplot', 'heatmap',\n    'pictorialBar', 'themeRiver', 'calendar', 'custom', 'sunburst', 'tree', 'dataset', 'geo', 'lines',\n    'dataZoom', 'rich', 'drag'\n].forEach(function (category) {\n    icons[category] = require('../asset/icon/' + category + '.svg');\n});\n\nconst glIcon = require('../asset/icon/gl.svg');\n['globe', 'bar3D', 'scatter3D', 'surface', 'map3D', 'lines3D', 'line3D',\n    'scatterGL', 'linesGL', 'flowGL', 'graphGL', 'geo3D'].forEach(function (category) {\n    icons[category] = glIcon;\n});\n\nconst LAZY_LOADED_CLASS = 'ec-shot-loaded';\n\nexport default {\n\n    components: {\n        ExampleCard\n    },\n\n    data() {\n        const exampleListByCategory = {};\n\n        function addExamples(list, isGL) {\n            let categoryOrder = 0;\n            // Add by category order in each example.\n            do {\n                let added = false;\n                for (let i = 0; i < list.length; i++) {\n                    const example = list[i];\n                    if (BLACK_MAP.hasOwnProperty(example.id)) {\n                        continue;\n                    }\n                    if (typeof example.category === 'string') {\n                        example.category = [example.category];\n                    }\n\n                    const categoryStr = (example.category || [])[categoryOrder];\n                    if (categoryStr) {\n                        added = true;\n                        let categoryObj = exampleListByCategory[categoryStr];\n                        if (!categoryObj) {\n                            categoryObj = {\n                                category: categoryStr,\n                                examples: []\n                            }\n                            exampleListByCategory[categoryStr] = categoryObj;\n                        }\n                        example.isGL = isGL;\n\n                        categoryObj.examples.push(example);\n                    }\n                }\n\n                if (!added) {\n                    break;\n                }\n            } while (++categoryOrder && categoryOrder < 4)  // At most 4 category\n        }\n\n        addExamples(CHART_LIST, false);\n        addExamples(CHART_LIST_GL, true);\n\n        return {\n            shared: store,\n\n            icons,\n\n            EXAMPLE_CATEGORIES,\n            // [{\n            //  category: '',\n            //  isGL: false\n            //  examples: []\n            // }]\n            exampleListByCategory\n        }\n    },\n\n    watch: {\n        \"shared.darkMode\"() {\n            const imgs = this.$el.querySelectorAll('img.chart-area');\n            for (let i = 0; i < imgs.length; i++) {\n                // Force lazyload to update\n                imgs[i].classList.remove(LAZY_LOADED_CLASS);\n                imgs[i].setAttribute('data-was-processed', 'false');\n            }\n            this._lazyload.update();\n        }\n    },\n\n    computed: {\n        exampleList() {\n            const list = [];\n            for (let i = 0; i < EXAMPLE_CATEGORIES.length; i++) {\n                const category = EXAMPLE_CATEGORIES[i];\n                const categoryObj = this.exampleListByCategory[category];\n                if (categoryObj && categoryObj.examples.length > 0) {\n                    list.push({\n                        category,\n                        examples: categoryObj.examples\n                    });\n                }\n            }\n            return list;\n        }\n    },\n\n    mounted() {\n        this._lazyload = new LazyLoad({\n            // Container should be the scroll viewport.\n            // container: this.$el.querySelector('#explore-container .example-list-panel'),\n            elements_selector: 'img.chart-area',\n            load_delay: 400,\n            class_loaded: LAZY_LOADED_CLASS\n        });\n    },\n\n    methods: {\n        onActiveNavChanged(event, currentItem, lastActiveItem) {\n            // currentItem && currentItem.scrollIntoView && currentItem.parentNode.scrollIntoView();\n            // scrollIntoView(currentItem, {\n            //     time: 100,\n            //     cancellable: false,\n            //     align: {\n            //         top: 0,\n            //         topOffset: 50\n            //     }\n            // });\n        }\n    }\n}\n</script>\n\n<style lang=\"scss\">\n\n@import \"../style/color.scss\";\n@import \"../style/config.xl.scss\";\n\n$chart-nav-width: 200px;\n$chart-icon-width: 25px;\n$chart-icon-border: 1px;\n\n$toolbar-height: 30px;\n\n$nav-height: 50px;\n$nav-active-bg: #5470C6;\n$nav-hover-border: $nav-active-bg;\n\n$nav-text-color: #6E7079;\n$nav-hover-text-color: #464646;\n\n$pd-basic: 10px;\n$pd-sm: 6px;\n$pd-lg: 20px;\n\n#example-explore {\n    background: $clr-bg;\n\n    // Use this as scrollable viewport insteadof window because echarts-www has a viewport.\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    overflow-y: auto;\n\n    ::-webkit-scrollbar {\n        height: 4px;\n        width: 4px;\n        -webkit-transition: all 0.3s ease-in-out;\n        transition: all 0.3s ease-in-out;\n        border-radius: 2px;\n        background: #fff;\n    }\n\n    ::-webkit-scrollbar-button {\n        display: none\n    }\n\n    ::-webkit-scrollbar-thumb {\n        width: 4px;\n        min-height: 15px;\n        background: rgba(50, 50, 50, 0.2) !important;\n        -webkit-transition: all 0.3s ease-in-out;\n        transition: all 0.3s ease-in-out;\n        border-radius: 2px\n    }\n\n    ::-webkit-scrollbar-thumb:hover {\n        background: rgba(0, 0, 0, 0.5) !important\n    }\n}\n\n#explore-container {\n    margin-left: $chart-nav-width + 20px;\n    padding: 10px 10px;\n    // background-color: $clr-bg;\n}\n\n.example-list-panel {\n    margin: 30px 15px 30px 15px;\n\n    h3 {\n        margin-bottom: 20px;\n        padding-bottom: 10px;\n        border-bottom: 1px solid #E1E5F2;\n        font-weight: normal;\n        color: #464646;\n        font-size: 20px;\n    }\n    .chart-type-head span {\n        font-size: 16px;\n        padding-left: 5px;\n        color: #949CB1;\n        font-weight: 200;\n    }\n}\n\n#left-container {\n    position: sticky;\n    left: 0;\n    top: 0;\n    float: left;\n    height: calc(100%);\n    width: $chart-nav-width;\n    box-shadow: 0 0 10px rgba(0,0,0,0.1);\n    overflow-y: auto;\n\n}\n\n#toolbar {\n    position: fixed;\n    right: 30px;\n    top: 20px;\n    height: $toolbar-height;\n    background-color: #fff;\n    border-radius: $toolbar-height / 2;\n    // color: #fff;\n    padding: 4px 15px;\n    box-shadow: 0 0 10px rgba(0,0,0,0.1);\n\n    .el-switch__label * {\n        font-size: 12px;\n        // color: #fff;\n        text-transform: uppercase;\n    }\n    .el-switch__label.is-active {\n        color: #181432;\n    }\n}\n\n#left-chart-nav {\n    background-color: #fff;\n    overflow-y: hidden;\n    color: #111;\n    box-shadow: 0 0 20px rgba(0,0,0,0.2);\n\n    &:hover {\n        overflow-y: auto;\n\n        a {\n            text-decoration: none;\n        }\n    }\n\n    li {\n        // transition: background-color 0.5s;\n        cursor: pointer;\n\n        a {\n            height: 45px;\n            padding: 10px 0 10px 20px;\n            display: block;\n            // transition: background-color 0.5s;\n            text-decoration: none;\n            color: $nav-text-color;\n\n            .chart-name {\n                display: inline-block;\n                position: relative;\n                vertical-align: middle;\n                margin-left: 10px;\n            }\n\n            .chart-icon {\n                content: '';\n                width: 20px;\n                display: inline-block;\n                border-radius: 50%;\n                vertical-align: middle;\n\n                svg {\n                    width: 100%!important;\n                    height: auto!important;\n                }\n            }\n\n            &.active {\n                background-color: $nav-active-bg;\n                color: #fff;\n\n                .chart-icon * {\n                    fill: #fff;\n                }\n            }\n\n            &.active:hover {\n                color: #fff;\n            }\n        }\n\n        &:hover {\n            border-right: 4px solid $nav-hover-border;\n\n            a {\n                color: $nav-hover-text-color;\n            }\n        }\n    }\n}\n\n@media (max-width: 768px) {\n    #left-container {\n        display: none;\n    }\n    #explore-container {\n        margin-left: 0;\n    }\n}\n\n</style>","\nexport const EXAMPLE_CATEGORIES = [\n    'line',\n    'bar',\n    'pie',\n    'scatter',\n    'map',\n    'candlestick',\n    'radar',\n    'boxplot',\n    'heatmap',\n    'graph',\n    'lines',\n    'tree',\n    'treemap',\n    'sunburst',\n    'parallel',\n    'sankey',\n    'funnel',\n    'gauge',\n    'pictorialBar',\n    'themeRiver',\n    'calendar',\n    'custom',\n\n    'dataset',\n    'dataZoom',\n    'drag',\n    'rich',\n\n    'globe',\n    'bar3D',\n    'scatter3D',\n    'surface',\n    'map3D',\n    'lines3D',\n    'line3D',\n    'scatterGL',\n    'linesGL',\n    'flowGL',\n    'graphGL'\n];\n\nexport const THEMES = {\n    default: [\n        '#5470c6',\n        '#91cc75',\n        '#fac858',\n        '#ee6666',\n        '#73c0de',\n        '#3ba272',\n        '#fc8452',\n        '#9a60b4',\n        '#ea7ccc'\n    ],\n    dark: [\n        '#4992ff',\n        '#7cffb2',\n        '#fddd60',\n        '#ff6e76',\n        '#58d9f9',\n        '#05c091',\n        '#ff8a45',\n        '#8d48e3',\n        '#dd79ff'\n    ]\n};\n\nexport const BLACK_MAP = (function (list) {\n    const map = {};\n    for (var i = 0; i < list.length; i++) {\n        map[list[i]] = 1;\n    }\n    return location.href.indexOf('github.io') >= 0 ? {} : map;\n})([\n    'effectScatter-map',\n    'geo-lines',\n    'geo-map-scatter',\n    'heatmap-map',\n    'lines-airline',\n    'map-china',\n    'map-china-dataRange',\n    'map-labels',\n    'map-locate',\n    'map-province',\n    'map-world',\n    'map-world-dataRange',\n    'scatter-map',\n    'scatter-map-brush',\n    'scatter-weibo',\n    'scatter-world-population',\n    'geo3d',\n    'geo3d-with-different-height',\n    'globe-country-carousel',\n    'globe-with-echarts-surface',\n    'map3d-alcohol-consumption',\n    'map3d-wood-map',\n    'scattergl-weibo'\n]);\n\n\nconst URL_PARAMS = {};\n(location.search || '').substr(1).split('&').forEach(function (item) {\n    const kv = item.split('=');\n    URL_PARAMS[kv[0]] = kv[1];\n});\n\nexport {URL_PARAMS};\n\nexport const SUPPORT_WEBP = (function () {\n    var elem = document.createElement('canvas');\n    elem.width = elem.height = 1;\n    if (!!(elem.getContext && elem.getContext('2d'))) {\n        // was able or not to get WebP representation\n        return elem.toDataURL('image/webp').indexOf('data:image/webp') === 0;\n    }\n    // very old browser like IE 8, canvas not supported\n    return false;\n})();\n\nexport const SCRIPT_URLS = {\n    localEChartsMinJS: 'http://localhost/echarts/dist/echarts.js',\n    echartsMinJS: 'https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js',\n    echartsDir: 'https://cdn.jsdelivr.net/npm/echarts@5',\n    echartsStatMinJS: 'https://cdn.jsdelivr.net/npm/echarts-stat@latest/dist/ecStat.min.js',\n    // echartsGLMinJS: 'http://localhost/echarts-gl/dist/echarts-gl.min.js',\n    echartsGLMinJS: 'https://cdn.jsdelivr.net/npm/echarts-gl@2/dist/echarts-gl.min.js',\n    datGUIMinJS: 'https://cdn.jsdelivr.net/npm/dat.gui@0.6.5/build/dat.gui.min.js',\n    monacoDir: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.21.2/min/vs',\n    aceDir: 'https://cdn.jsdelivr.net/npm/ace-builds@1.4.12/src-min-noconflict'\n};\n","\nconst promisesCache = {};\n\nexport function loadScriptsAsync(scripts) {\n    return Promise.all(scripts.map(function (scriptUrl) {\n        if (typeof scriptUrl === 'string') {\n            scriptUrl = {\n                url: scriptUrl,\n                // TODO Not supported type\n                type: scriptUrl.match(/\\.css$/) ? 'css' : 'js'\n            };\n        }\n        if (promisesCache[scriptUrl.url]) {\n            return promisesCache[scriptUrl.url];\n        }\n        const promise = new Promise((resolve, reject) => {\n            if (scriptUrl.type === 'js') {\n                const script = document.createElement('script');\n                script.src = scriptUrl.url;\n                script.async = false;\n                script.onload = function () {\n                    resolve();\n                };\n                script.onerror = function () {\n                    reject();\n                };\n                document.body.appendChild(script);\n            }\n            else if (scriptUrl.type === 'css') {\n                const link = document.createElement('link');\n                link.rel = 'stylesheet';\n                link.href = scriptUrl.url;\n                link.onload = function () {\n                    resolve();\n                };\n                link.onerror = function () {\n                    reject();\n                };\n                document.body.appendChild(link);\n            }\n        });\n        promisesCache[scriptUrl.url] = promise;\n        return promise;\n    }));\n}\n\nexport function downloadBlob(blob, fileName) {\n    // for IE\n    if (typeof window.navigator.msSaveBlob === 'function') {\n        window.navigator.msSaveOrOpenBlob(blob, fileName);\n    }\n    else {\n        const a = document.createElement('a');\n        a.href = URL.createObjectURL(blob);\n        a.download = fileName;\n        a.click();\n        // should revoke the blob url after the download\n        URL.revokeObjectURL(a.href);\n    }\n}","export default {\n    en: {\n        editor: {\n            run: 'Run',\n            errorInEditor: 'Errors exist in code!',\n            chartOK: 'Chart has been generated successfully, ',\n\n            darkMode: 'Dark Mode',\n            enableDecal: 'Decal Pattern',\n            // lightMode: 'Light Mode',\n\n            renderCfgTitle: 'Render',\n            renderer: 'Renderer',\n            useDirtyRect: 'Use Dirty Rect',\n\n            download: 'Download',\n\n            edit: 'Edit',\n            monacoMode: 'Enable Type Checking',\n\n            tabEditor: 'Edit Example',\n            tabFullCodePreview: 'Full Code',\n            tabOptionPreview: 'Option Preview',\n            minimalBundle: 'Minimal Bundle'\n        },\n\n        chartTypes: {\n            line: 'Line',\n            bar: 'Bar',\n            pie: 'Pie',\n            scatter: 'Scatter',\n            map: 'GEO/Map',\n            candlestick: 'Candlestick',\n            radar: 'Radar',\n            boxplot: 'Boxplot',\n            heatmap: 'Heatmap',\n            graph: 'Graph',\n            lines: 'Lines',\n            tree: 'Tree',\n            treemap: 'Treemap',\n            sunburst: 'Sunburst',\n            parallel: 'Parallel',\n            sankey: 'Sankey',\n            funnel: 'Funnel',\n            gauge: 'Gauge',\n            pictorialBar: 'PictorialBar',\n            themeRiver: 'ThemeRiver',\n            calendar: 'Calendar',\n            custom: 'Custom',\n\n            dataset: 'Dataset',\n            dataZoom: 'DataZoom',\n            drag: 'Drag',\n            rich: 'Rich Text',\n\n            globe: '3D Globe',\n            bar3D: '3D Bar',\n            scatter3D: '3D Scatter',\n            surface: '3D Surface',\n            map3D: '3D Map',\n            lines3D: '3D Lines',\n            line3D: '3D Line',\n            scatterGL: 'Scatter GL',\n            linesGL: 'Lines GL',\n            flowGL: 'Flow GL',\n            graphGL: 'Graph GL'\n        }\n    },\n    zh: {\n        editor: {\n            run: '运行',\n            errorInEditor: '编辑器内容有误！',\n            chartOK: '图表已生成, ',\n\n            darkMode: '深色模式',\n            enableDecal: '无障碍花纹',\n            // lightMode: '浅色模式',\n\n            renderCfgTitle: '渲染设置',\n            useDirtyRect: '开启脏矩形优化',\n            renderer: '渲染模式',\n            download: '下载示例',\n\n            edit: '编辑',\n            monacoMode: '开启类型检查',\n\n            tabEditor: '示例编辑',\n            tabFullCodePreview: '完整代码',\n            tabOptionPreview: '配置项',\n            minimalBundle: '按需引入'\n        },\n\n        chartTypes: {\n            line: '折线图',\n            bar: '柱状图',\n            pie: '饼图',\n            scatter: '散点图',\n            map: '地理坐标/地图',\n            candlestick: 'K 线图',\n            radar: '雷达图',\n            boxplot: '盒须图',\n            heatmap: '热力图',\n            graph: '关系图',\n            lines: '路径图',\n            tree: '树图',\n            treemap: '矩形树图',\n            sunburst: '旭日图',\n            parallel: '平行坐标系',\n            sankey: '桑基图',\n            funnel: '漏斗图',\n            gauge: '仪表盘',\n            pictorialBar: '象形柱图',\n            themeRiver: '主题河流图',\n            calendar: '日历坐标系',\n            custom: '自定义系列',\n\n            dataset: '数据集',\n            dataZoom: '数据区域缩放',\n            drag: '拖拽',\n            rich: '富文本',\n\n            globe: '3D 地球',\n            bar3D: '3D 柱状图',\n            scatter3D: '3D 散点图',\n            surface: '3D 曲面',\n            map3D: '3D 地图',\n            lines3D: '3D 路径图',\n            line3D: '3D 折线图',\n            scatterGL: 'GL 散点图',\n            linesGL: 'GL 路径图',\n            flowGL: 'GL 矢量场图',\n            graphGL: 'GL 关系图'\n        }\n    }\n};","\n// import * as matter from 'gray-matter';\nimport {URL_PARAMS} from '../common/config';\n\nexport const store = {\n    cdnRoot: '',\n    version: '',\n    locale: '',\n\n    darkMode: URL_PARAMS.theme === 'dark',\n    enableDecal: 'decal' in URL_PARAMS,\n    renderer: URL_PARAMS.renderer || 'canvas',\n\n    typeCheck: URL_PARAMS.editor === 'monaco',\n    useDirtyRect: 'useDirtyRect' in URL_PARAMS,\n\n    runCode: '',\n    sourceCode: '',\n\n    runHash: '',\n\n    isMobile: window.innerWidth < 600,\n\n    editorStatus: {\n        type: '',\n        message: ''\n    }\n};\n\nexport function loadExampleCode() {\n    return new Promise(resolve => {\n        const dataRoot = URL_PARAMS.gl ? 'data-gl' : 'data';\n        $.ajax(`${store.cdnRoot}/${dataRoot}/${URL_PARAMS.c}.js?_v_${store.version}`, {\n            dataType: 'text',\n            success: (data) => {\n                resolve(data);\n            }\n        });\n    });\n}\n\nexport function parseSourceCode(code) {\n    return code.replace(/\\/\\*[\\w\\W]*?\\*\\//, '').trim();\n}\n\nlet hashId = 123;\nexport function updateRunHash() {\n    store.runHash = hashId++;\n}","\n/* eslint-disable */\n// THIS FILE IS GENERATED, DON'T MODIFY */\nexport default [\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"animating-contour-on-globe\",\n    \"tags\": [],\n    \"title\": \"Animating Contour on Globe\",\n    \"titleCN\": \"Animating Contour on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-dataset\",\n    \"tags\": [],\n    \"title\": \"3D Bar with Dataset\",\n    \"titleCN\": \"使用 dataset 为三维柱状图设置数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-global-population\",\n    \"tags\": [],\n    \"title\": \"Bar3D - Global Population\",\n    \"titleCN\": \"Bar3D - Global Population\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-myth\",\n    \"tags\": [],\n    \"title\": \"星云\",\n    \"titleCN\": \"星云\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-noise-modified-from-marpi-demo\",\n    \"tags\": [],\n    \"title\": \"Noise modified from marpi's demo\",\n    \"titleCN\": \"Noise modified from marpi's demo\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-punch-card\",\n    \"tags\": [],\n    \"title\": \"Bar3D - Punch Card\",\n    \"titleCN\": \"Bar3D - Punch Card\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-simplex-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Bar3D - Simplex Noise\",\n    \"titleCN\": \"Bar3D - Simplex Noise\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"bar3d-voxelize-image\",\n    \"tags\": [],\n    \"title\": \"Voxelize image\",\n    \"titleCN\": \"Voxelize image\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"flowGL-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Flow on the cartesian\",\n    \"titleCN\": \"直角坐标系上的向量场\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"geo3D\"\n    ],\n    \"id\": \"geo3d\",\n    \"tags\": [],\n    \"title\": \"Geo3D\",\n    \"titleCN\": \"Geo3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"geo3D\"\n    ],\n    \"id\": \"geo3d-with-different-height\",\n    \"tags\": [],\n    \"title\": \"Geo3D with Different Height\",\n    \"titleCN\": \"Geo3D with Different Height\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"global-population-bar3d-on-globe\",\n    \"tags\": [],\n    \"title\": \"Global Population - Bar3D on Globe\",\n    \"titleCN\": \"Global Population - Bar3D on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"global-wind-visualization\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Global wind visualization\",\n    \"titleCN\": \"Global wind visualization\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"flowGL\"\n    ],\n    \"id\": \"global-wind-visualization-2\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Global Wind Visualization 2\",\n    \"titleCN\": \"Global Wind Visualization 2\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-atmosphere\",\n    \"tags\": [],\n    \"title\": \"Globe with Atmosphere\",\n    \"titleCN\": \"大气层显示\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-contour-paint\",\n    \"tags\": [],\n    \"title\": \"Contour Paint\",\n    \"titleCN\": \"Contour Paint\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-country-carousel\",\n    \"tags\": [],\n    \"title\": \"Country Carousel\",\n    \"titleCN\": \"Country Carousel\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-displacement\",\n    \"tags\": [],\n    \"title\": \"Globe Displacement\",\n    \"titleCN\": \"Globe Displacement\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-echarts-gl-hello-world\",\n    \"tags\": [],\n    \"title\": \"ECharts-GL Hello World\",\n    \"titleCN\": \"ECharts-GL Hello World\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-layers\",\n    \"tags\": [],\n    \"title\": \"Globe Layers\",\n    \"titleCN\": \"Globe Layers\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-moon\",\n    \"tags\": [],\n    \"title\": \"Moon\",\n    \"titleCN\": \"Moon\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"globe-with-echarts-surface\",\n    \"tags\": [],\n    \"title\": \"Globe with ECharts Surface\",\n    \"titleCN\": \"Globe with ECharts Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-gpu-layout\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"GraphGL GPU Layout\",\n    \"titleCN\": \"GraphGL GPU Layout\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-large-internet\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"GraphGL - Large Internet\",\n    \"titleCN\": \"GraphGL - Large Internet\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"graphGL\"\n    ],\n    \"id\": \"graphgl-npm-dep\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"NPM Dependencies with graphGL\",\n    \"titleCN\": \"1w 节点 2w7 边的NPM 依赖图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"image-surface-sushuang\",\n    \"tags\": [],\n    \"title\": \"Image Surface Sushuang\",\n    \"titleCN\": \"Image Surface Sushuang\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"image-to-bar3d\",\n    \"tags\": [],\n    \"title\": \"Image to Bar3D\",\n    \"titleCN\": \"Image to Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"globe\"\n    ],\n    \"id\": \"iron-globe\",\n    \"tags\": [],\n    \"title\": \"Iron globe\",\n    \"titleCN\": \"Iron globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line3D\"\n    ],\n    \"id\": \"line3d-orthographic\",\n    \"tags\": [],\n    \"title\": \"三维折线图正交投影\",\n    \"titleCN\": \"三维折线图正交投影\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-airline-on-globe\",\n    \"tags\": [],\n    \"title\": \"Airline on Globe\",\n    \"titleCN\": \"Airline on Globe\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights\",\n    \"tags\": [],\n    \"title\": \"Flights\",\n    \"titleCN\": \"Flights\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights-gl\",\n    \"tags\": [],\n    \"title\": \"Flights GL\",\n    \"titleCN\": \"Flights GL\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"lines3D\"\n    ],\n    \"id\": \"lines3d-flights-on-geo3d\",\n    \"tags\": [],\n    \"title\": \"Flights on Geo3D\",\n    \"titleCN\": \"Flights on Geo3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"linesGL\"\n    ],\n    \"id\": \"linesGL-ny\",\n    \"tags\": [],\n    \"title\": \"Use linesGL to draw 1 million ny streets.\",\n    \"titleCN\": \"实时交互的纽约街道可视化\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-alcohol-consumption\",\n    \"tags\": [],\n    \"title\": \"Map3D - Alcohol Consumption\",\n    \"titleCN\": \"Map3D - Alcohol Consumption\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-buildings\",\n    \"tags\": [],\n    \"title\": \"Buildings\",\n    \"titleCN\": \"Buildings\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-wood-city\",\n    \"tags\": [],\n    \"title\": \"Wood City\",\n    \"titleCN\": \"Wood City\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map3D\"\n    ],\n    \"id\": \"map3d-wood-map\",\n    \"tags\": [],\n    \"title\": \"木质世界地图\",\n    \"titleCN\": \"木质世界地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"metal-bar3d\",\n    \"tags\": [],\n    \"title\": \"Metal Bar3D\",\n    \"titleCN\": \"Metal Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"metal-surface\",\n    \"tags\": [],\n    \"title\": \"Metal Surface\",\n    \"titleCN\": \"Metal Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"parametric-surface-rose\",\n    \"tags\": [],\n    \"title\": \"Parametric Surface Rose\",\n    \"titleCN\": \"Parametric Surface Rose\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Scatter3D\",\n    \"titleCN\": \"Scatter3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3D-dataset\",\n    \"tags\": [],\n    \"title\": \"3D Scatter with Dataset\",\n    \"titleCN\": \"使用 dataset 为三维散点图设置数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-globe-population\",\n    \"tags\": [],\n    \"title\": \"Scatter3D - Globe Population\",\n    \"titleCN\": \"Scatter3D - Globe Population\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-orthographic\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"三维散点图正交投影\",\n    \"titleCN\": \"三维散点图正交投影\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-scatter\",\n    \"tags\": [],\n    \"title\": \"3D Scatter with Scatter Matrix\",\n    \"titleCN\": \"三维散点图和散点矩阵结合使用\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter3D\"\n    ],\n    \"id\": \"scatter3d-simplex-noise\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"Scatter3D - Simplex Noise\",\n    \"titleCN\": \"Scatter3D - Simplex Noise\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatterGL\"\n    ],\n    \"id\": \"scatterGL-gps\",\n    \"tags\": [],\n    \"title\": \"10 million Bulk GPS points\",\n    \"titleCN\": \"1 千万 GPS 点可视化\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatterGL\"\n    ],\n    \"id\": \"scattergl-weibo\",\n    \"tags\": [],\n    \"theme\": \"dark\",\n    \"title\": \"微博签到数据点亮中国\",\n    \"titleCN\": \"微博签到数据点亮中国\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"simple-surface\",\n    \"tags\": [],\n    \"title\": \"Simple Surface\",\n    \"titleCN\": \"Simple Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"sphere-parametric-surface\",\n    \"tags\": [],\n    \"title\": \"Sphere Parametric Surface\",\n    \"titleCN\": \"Sphere Parametric Surface\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"stacked-bar3d\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar3D\",\n    \"titleCN\": \"Stacked Bar3D\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-breather\",\n    \"tags\": [],\n    \"title\": \"Breather\",\n    \"titleCN\": \"Breather\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-golden-rose\",\n    \"tags\": [],\n    \"title\": \"Golden Rose\",\n    \"titleCN\": \"Golden Rose\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-leather\",\n    \"tags\": [],\n    \"title\": \"皮革材质\",\n    \"titleCN\": \"皮革材质\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-mollusc-shell\",\n    \"tags\": [],\n    \"title\": \"Mollusc Shell\",\n    \"titleCN\": \"Mollusc Shell\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-theme-roses\",\n    \"tags\": [],\n    \"title\": \"Theme Roses\",\n    \"titleCN\": \"Theme Roses\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"surface\"\n    ],\n    \"id\": \"surface-wave\",\n    \"tags\": [],\n    \"title\": \"Surface Wave\",\n    \"titleCN\": \"Surface Wave\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"bar3D\"\n    ],\n    \"id\": \"transparent-bar3d\",\n    \"tags\": [],\n    \"title\": \"Transparent Bar3D\",\n    \"titleCN\": \"Transparent Bar3D\",\n    \"difficulty\": 10\n  }\n]","\n/* eslint-disable */\n// THIS FILE IS GENERATED, DON'T MODIFY */\nexport default [\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-background\",\n    \"tags\": [],\n    \"title\": \"Bar with Background\",\n    \"titleCN\": \"带背景色的柱状图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"bar-histogram\",\n    \"tags\": [],\n    \"title\": \"Histogram with Custom Series\",\n    \"titleCN\": \"直方图（自定义系列）\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Bar\",\n    \"titleCN\": \"基础柱状图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-tick-align\",\n    \"tags\": [],\n    \"title\": \"Axis Align with Tick\",\n    \"titleCN\": \"坐标轴刻度与标签对齐\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Calendar\",\n    \"titleCN\": \"基础日历图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Candlestick\",\n    \"titleCN\": \"基础 K 线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\",\n      \"transform\"\n    ],\n    \"id\": \"data-transform-sort-bar\",\n    \"tags\": [],\n    \"title\": \"Sort Data in Bar Chart\",\n    \"titleCN\": \"柱状图排序\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-cartesian\",\n    \"tags\": [],\n    \"title\": \"Heatmap on Cartesian\",\n    \"titleCN\": \"笛卡尔坐标系上的热力图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Line Chart\",\n    \"titleCN\": \"基础折线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-smooth\",\n    \"tags\": [],\n    \"title\": \"Smoothed Line Chart\",\n    \"titleCN\": \"基础平滑折线图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-simple\",\n    \"tags\": [],\n    \"title\": \"Referer of a website\",\n    \"titleCN\": \"某站点用户访问来源\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar\",\n    \"tags\": [],\n    \"title\": \"Basic Radar Chart\",\n    \"titleCN\": \"基础雷达图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Sankey\",\n    \"titleCN\": \"基础桑基图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Scatter Chart\",\n    \"titleCN\": \"基础散点图\",\n    \"difficulty\": 0\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-basic\",\n    \"tags\": [],\n    \"title\": \"Basic area chart\",\n    \"titleCN\": \"基础面积图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-data-color\",\n    \"tags\": [],\n    \"title\": \"Set Style of Single Bar.\",\n    \"titleCN\": \"自定义单个柱子颜色\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-waterfall\",\n    \"tags\": [],\n    \"title\": \"Waterfall Chart\",\n    \"titleCN\": \"瀑布图（柱状图模拟）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"heatmap\"\n    ],\n    \"id\": \"calendar-heatmap\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap\",\n    \"titleCN\": \"日历热力图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"heatmap\"\n    ],\n    \"id\": \"calendar-vertical\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap Vertical\",\n    \"titleCN\": \"纵向日历图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"custom-ohlc\",\n    \"tags\": [],\n    \"title\": \"OHLC Chart\",\n    \"titleCN\": \"OHLC 图（使用自定义系列）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-profit\",\n    \"tags\": [],\n    \"title\": \"Profit\",\n    \"titleCN\": \"利润分布直方图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-encode0\",\n    \"tags\": [],\n    \"title\": \"Simple Encode\",\n    \"titleCN\": \"指定数据到坐标轴的映射\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge\",\n    \"tags\": [],\n    \"title\": \"Gauge Basic chart\",\n    \"titleCN\": \"基础仪表盘\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Gauge\",\n    \"titleCN\": \"带标签数字动画的基础仪表盘\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force2\",\n    \"tags\": [],\n    \"title\": \"Force Layout\",\n    \"titleCN\": \"力引导布局\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Line Chart\",\n    \"titleCN\": \"折线图堆叠\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Parallel\",\n    \"titleCN\": \"基础平行坐标\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-borderRadius\",\n    \"tags\": [],\n    \"title\": \"Doughnut Chart with Rounded Corner\",\n    \"titleCN\": \"圆角环形图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-doughnut\",\n    \"tags\": [],\n    \"title\": \"Doughnut Chart\",\n    \"titleCN\": \"环形图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-aqi\",\n    \"tags\": [],\n    \"title\": \"AQI - Radar Chart\",\n    \"titleCN\": \"AQI - 雷达图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-vertical\",\n    \"tags\": [],\n    \"title\": \"Sankey Orient Vertical\",\n    \"titleCN\": \"垂直方向的桑基图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-anscombe-quartet\",\n    \"tags\": [],\n    \"title\": \"Anscomb's quartet\",\n    \"titleCN\": \"Anscomb's quartet\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-clustering\",\n    \"tags\": [],\n    \"title\": \"Clustering Process\",\n    \"titleCN\": \"数据聚合\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-clustering-process\",\n    \"tags\": [],\n    \"title\": \"Clustering Process\",\n    \"titleCN\": \"聚合过程可视化\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-exponential-regression\",\n    \"tags\": [],\n    \"title\": \"Exponential Regression\",\n    \"titleCN\": \"指数回归（使用统计插件）\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Sunburst\",\n    \"titleCN\": \"基础旭日图\",\n    \"difficulty\": 1\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked area chart\",\n    \"titleCN\": \"堆叠面积图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-stack-gradient\",\n    \"tags\": [],\n    \"title\": \"Gradient Stacked area chart\",\n    \"titleCN\": \"渐变堆叠面积图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-negative2\",\n    \"tags\": [],\n    \"title\": \"Bar Chart with Negative Value\",\n    \"titleCN\": \"交错正负轴标签\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-y-category\",\n    \"tags\": [],\n    \"title\": \"World Total Population\",\n    \"titleCN\": \"世界人口总量 - 条形图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-horizontal\",\n    \"tags\": [],\n    \"title\": \"Calendar Heatmap Horizontal\",\n    \"titleCN\": \"横向日力图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-sh\",\n    \"tags\": [],\n    \"title\": \"ShangHai Index\",\n    \"titleCN\": \"上证指数\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\"\n    ],\n    \"id\": \"custom-error-scatter\",\n    \"tags\": [],\n    \"title\": \"Error Scatter on Catesian\",\n    \"titleCN\": \"使用自定系列给散点图添加误差范围\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"effectScatter-map\",\n    \"tags\": [],\n    \"title\": \"Air Quality\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-speed\",\n    \"tags\": [],\n    \"title\": \"Speed Gauge\",\n    \"titleCN\": \"速度仪表盘\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-grid\",\n    \"tags\": [],\n    \"title\": \"Graph on Cartesian\",\n    \"titleCN\": \"笛卡尔坐标系上的 Graph\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-simple\",\n    \"tags\": [],\n    \"title\": \"Simple Graph\",\n    \"titleCN\": \"Graph 简单示例\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-large\",\n    \"tags\": [],\n    \"title\": \"Heatmap - 2w data\",\n    \"titleCN\": \"热力图 - 2w 数据\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-large-piecewise\",\n    \"tags\": [],\n    \"title\": \"Heatmap - Discrete Mapping of Color\",\n    \"titleCN\": \"热力图 - 颜色的离散映射\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-marker\",\n    \"tags\": [],\n    \"title\": \"Temperature Change in the coming week\",\n    \"titleCN\": \"未来一周气温变化\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-aqi\",\n    \"tags\": [],\n    \"title\": \"Parallel Aqi\",\n    \"titleCN\": \"AQI 分布（平行坐标）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-custom\",\n    \"tags\": [],\n    \"title\": \"Customized Pie\",\n    \"titleCN\": \"饼图自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-pattern\",\n    \"tags\": [],\n    \"title\": \"Texture on Pie Chart\",\n    \"titleCN\": \"饼图纹理\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-roseType\",\n    \"tags\": [],\n    \"title\": \"Nightingale's Rose Diagram\",\n    \"titleCN\": \"南丁格尔玫瑰图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-roseType-simple\",\n    \"tags\": [],\n    \"title\": \"Nightingale's Rose Diagram\",\n    \"titleCN\": \"基础南丁格尔玫瑰图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-custom\",\n    \"tags\": [],\n    \"title\": \"Customized Radar Chart\",\n    \"titleCN\": \"自定义雷达图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-itemstyle\",\n    \"tags\": [],\n    \"title\": \"Specify ItemStyle for Each Node in Sankey\",\n    \"titleCN\": \"桑基图节点自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-levels\",\n    \"tags\": [],\n    \"title\": \"Sankey with Levels Setting\",\n    \"titleCN\": \"桑基图层级自定义样式\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-effect\",\n    \"tags\": [],\n    \"title\": \"Effect Scatter Chart\",\n    \"titleCN\": \"涟漪特效散点图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-linear-regression\",\n    \"tags\": [],\n    \"title\": \"Linear Regression\",\n    \"titleCN\": \"线性回归（使用统计插件）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-polynomial-regression\",\n    \"tags\": [],\n    \"title\": \"Polynomial Regression\",\n    \"titleCN\": \"多项式回归（使用统计插件）\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-borderRadius\",\n    \"tags\": [],\n    \"title\": \"Sunburst with Rounded Corner\",\n    \"titleCN\": \"圆角旭日图\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-label-rotate\",\n    \"tags\": [],\n    \"title\": \"Sunburst Label Rotate\",\n    \"titleCN\": \"旭日图标签旋转\",\n    \"difficulty\": 2\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"visualMap\"\n    ],\n    \"id\": \"area-pieces\",\n    \"tags\": [],\n    \"title\": \"Area Pieces\",\n    \"titleCN\": \"折线图区域高亮\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-gradient\",\n    \"tags\": [],\n    \"title\": \"Clickable Column Chart with Gradient\",\n    \"titleCN\": \"特性示例：渐变色 阴影 点击缩放\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-label-rotation\",\n    \"tags\": [],\n    \"title\": \"Bar Label Rotation\",\n    \"titleCN\": \"柱状图标签旋转\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Column Chart\",\n    \"titleCN\": \"堆叠柱状图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-waterfall2\",\n    \"tags\": [],\n    \"title\": \"Waterfall Chart\",\n    \"titleCN\": \"阶梯瀑布图（柱状图模拟）\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-y-category-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Horizontal Bar\",\n    \"titleCN\": \"堆叠条形图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-large\",\n    \"tags\": [],\n    \"title\": \"Large Scale Candlestick\",\n    \"titleCN\": \"大数据量K线图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-bar-trend\",\n    \"tags\": [],\n    \"title\": \"Custom Bar Trend\",\n    \"titleCN\": \"使用自定义系列添加柱状图趋势\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-cartesian-polygon\",\n    \"tags\": [],\n    \"title\": \"Custom Cartesian Polygon\",\n    \"titleCN\": \"自定义多边形图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-error-bar\",\n    \"tags\": [],\n    \"title\": \"Error Bar on Catesian\",\n    \"titleCN\": \"使用自定系列给柱状图添加误差范围\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-profile\",\n    \"tags\": [],\n    \"title\": \"Profile\",\n    \"titleCN\": \"性能分析图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"cycle-plot\",\n    \"tags\": [],\n    \"title\": \"Cycle Plot\",\n    \"titleCN\": \"Cycle Plot\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"data-transform-filter\",\n    \"tags\": [],\n    \"title\": \"Data Transform Fitler\",\n    \"titleCN\": \"数据过滤\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"pie\",\n      \"transform\"\n    ],\n    \"id\": \"data-transform-multiple-pie\",\n    \"tags\": [],\n    \"title\": \"Partition Data to Pies\",\n    \"titleCN\": \"分割数据到数个饼图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"pie\"\n    ],\n    \"id\": \"dataset-default\",\n    \"tags\": [],\n    \"title\": \"Default arrangement\",\n    \"titleCN\": \"默认 encode 设置\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"dataset\"\n    ],\n    \"id\": \"dataset-encode1\",\n    \"tags\": [],\n    \"title\": \"Encode and Matrix\",\n    \"titleCN\": \"指定数据到坐标轴的映射\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-progress\",\n    \"tags\": [],\n    \"title\": \"Grogress Gauge\",\n    \"titleCN\": \"进度仪表盘\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-stage\",\n    \"tags\": [],\n    \"title\": \"Stage Speed Gauge\",\n    \"titleCN\": \"阶段速度仪表盘\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force\",\n    \"tags\": [],\n    \"title\": \"Force Layout\",\n    \"titleCN\": \"力引导布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-label-overlap\",\n    \"tags\": [],\n    \"title\": \"Hide Overlapped Label\",\n    \"titleCN\": \"关系图自动隐藏重叠标签\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Heatmap on Baidu Map Extension\",\n    \"titleCN\": \"热力图与百度地图扩展\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"heatmap\"\n    ],\n    \"id\": \"heatmap-map\",\n    \"tags\": [],\n    \"title\": \"Air Qulity\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-gradient\",\n    \"tags\": [],\n    \"title\": \"Line Gradient\",\n    \"titleCN\": \"折线图的渐变\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-sections\",\n    \"tags\": [],\n    \"title\": \"Distribution of Electricity\",\n    \"titleCN\": \"一天用电量分布\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-alignTo\",\n    \"tags\": [],\n    \"title\": \"Pie Label Align\",\n    \"titleCN\": \"饼图标签对齐\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-labelLine-adjust\",\n    \"tags\": [],\n    \"title\": \"Label Line Adjust\",\n    \"titleCN\": \"饼图引导线调整\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar2\",\n    \"tags\": [],\n    \"title\": \"Proportion of Browsers\",\n    \"titleCN\": \"浏览器占比变化\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-energy\",\n    \"tags\": [],\n    \"title\": \"Gradient Edge\",\n    \"titleCN\": \"桑基图渐变色边\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-nodeAlign-left\",\n    \"tags\": [],\n    \"title\": \"Node Align Left in Sankey\",\n    \"titleCN\": \"桑基图左对齐布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sankey\"\n    ],\n    \"id\": \"sankey-nodeAlign-right\",\n    \"tags\": [],\n    \"title\": \"Node Align Right in Sankey\",\n    \"titleCN\": \"桑基图右对齐布局\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-punchCard\",\n    \"tags\": [],\n    \"title\": \"Punch Card of Github\",\n    \"titleCN\": \"GitHub 打卡气泡图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-single-axis\",\n    \"tags\": [],\n    \"title\": \"Scatter on Single Axis\",\n    \"titleCN\": \"单轴散点图\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-weight\",\n    \"tags\": [],\n    \"title\": \"Distribution of Height and Weight\",\n    \"titleCN\": \"男性女性身高体重分布\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-monochrome\",\n    \"tags\": [],\n    \"title\": \"Monochrome Sunburst\",\n    \"titleCN\": \"Monochrome Sunburst\",\n    \"difficulty\": 3\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"dataZoom\"\n    ],\n    \"id\": \"area-simple\",\n    \"tags\": [],\n    \"title\": \"Large scale area chart\",\n    \"titleCN\": \"大数据量面积图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-brush\",\n    \"tags\": [],\n    \"title\": \"Brush Select on Column Chart\",\n    \"titleCN\": \"柱状图框选\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-negative\",\n    \"tags\": [],\n    \"title\": \"Bar Chart with Negative Value\",\n    \"titleCN\": \"正负条形图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar1\",\n    \"tags\": [],\n    \"title\": \"Rainfall and Evaporation\",\n    \"titleCN\": \"某地区蒸发量和降水量\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"graph\"\n    ],\n    \"id\": \"calendar-graph\",\n    \"tags\": [],\n    \"title\": \"Calendar Graph\",\n    \"titleCN\": \"日历关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"calendar\"\n    ],\n    \"id\": \"calendar-lunar\",\n    \"tags\": [],\n    \"title\": \"Calendar Lunar\",\n    \"titleCN\": \"农历日历图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-touch\",\n    \"tags\": [],\n    \"title\": \"Axis Pointer Link and Touch\",\n    \"titleCN\": \"触屏上的坐标轴指示器\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"confidence-band\",\n    \"tags\": [],\n    \"title\": \"Confidence Band\",\n    \"titleCN\": \"Confidence Band\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\",\n      \"drag\"\n    ],\n    \"id\": \"custom-gantt-flight\",\n    \"tags\": [],\n    \"title\": \"Gantt Chart of Airport Flights\",\n    \"titleCN\": \"机场航班甘特图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-polar-heatmap\",\n    \"tags\": [],\n    \"title\": \"Polar Heatmap\",\n    \"titleCN\": \"极坐标热力图（自定义系列）\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"data-transform-aggregate\",\n    \"tags\": [],\n    \"title\": \"Data Transform Simple Aggregate\",\n    \"titleCN\": \"简单的数据聚合\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-grade\",\n    \"tags\": [],\n    \"title\": \"Grade Gauge\",\n    \"titleCN\": \"等级仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-multi-title\",\n    \"tags\": [],\n    \"title\": \"Multi Title Gauge\",\n    \"titleCN\": \"多标题仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-temperature\",\n    \"tags\": [],\n    \"title\": \"Temperature Gauge chart\",\n    \"titleCN\": \"气温仪表盘\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph\",\n    \"tags\": [],\n    \"title\": \"Les Miserables\",\n    \"titleCN\": \"悲惨世界人物关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"grid-multiple\",\n    \"tags\": [],\n    \"title\": \"Rainfall and Water Flow\",\n    \"titleCN\": \"雨量流量关系图\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-aqi\",\n    \"tags\": [],\n    \"title\": \"Beijing AQI\",\n    \"titleCN\": \"北京 AQI 可视化\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-line-bar\",\n    \"tags\": [],\n    \"title\": \"Mixed Line and Bar\",\n    \"titleCN\": \"折柱混合\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-zoom-on-value\",\n    \"tags\": [],\n    \"title\": \"Mix Zoom On Value\",\n    \"titleCN\": \"多数值轴轴缩放\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"multiple-x-axis\",\n    \"tags\": [],\n    \"title\": \"Multiple X Axes\",\n    \"titleCN\": \"多 X 轴\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"multiple-y-axis\",\n    \"tags\": [],\n    \"title\": \"Multiple Y Axes\",\n    \"titleCN\": \"多 Y 轴示例\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"parallel\"\n    ],\n    \"id\": \"parallel-nutrients\",\n    \"tags\": [],\n    \"title\": \"Parallel Nutrients\",\n    \"titleCN\": \"营养结构（平行坐标）\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"pie\"\n    ],\n    \"id\": \"pie-legend\",\n    \"tags\": [],\n    \"title\": \"Pie with Scrollable Legend\",\n    \"titleCN\": \"可滚动的图例\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"pie\",\n      \"rich\"\n    ],\n    \"id\": \"pie-rich-text\",\n    \"tags\": [],\n    \"title\": \"Pie Special Label\",\n    \"titleCN\": \"富文本标签\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-label-align-right\",\n    \"tags\": [],\n    \"title\": \"Align Label on the Top\",\n    \"titleCN\": \"散点图标签顶部对齐\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-label-align-top\",\n    \"tags\": [],\n    \"title\": \"Align Label on the Top\",\n    \"titleCN\": \"散点图标签顶部对齐\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-visualMap\",\n    \"tags\": [],\n    \"title\": \"Sunburst VisualMap\",\n    \"titleCN\": \"旭日图使用视觉编码\",\n    \"difficulty\": 4\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-rainfall\",\n    \"tags\": [],\n    \"title\": \"Rainfall\",\n    \"titleCN\": \"雨量流量关系图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"area-time-axis\",\n    \"tags\": [],\n    \"title\": \"Area Chart with Time Axis\",\n    \"titleCN\": \"时间轴折线图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-animation-delay\",\n    \"tags\": [],\n    \"title\": \"Animation Delay\",\n    \"titleCN\": \"柱状图动画延迟\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-large\",\n    \"tags\": [],\n    \"title\": \"Large Scale Bar Chart\",\n    \"titleCN\": \"大数据量柱图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-race\",\n    \"tags\": [],\n    \"title\": \"Bar Race\",\n    \"titleCN\": \"动态排序柱状图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"line\",\n      \"pie\"\n    ],\n    \"id\": \"dataset-link\",\n    \"tags\": [],\n    \"title\": \"Share Dataset\",\n    \"titleCN\": \"联动和共享数据集\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-series-layout-by\",\n    \"tags\": [],\n    \"title\": \"Series Layout By Column or Row\",\n    \"titleCN\": \"系列按行和按列排布\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-simple0\",\n    \"tags\": [],\n    \"title\": \"Simple Example of Dataset\",\n    \"titleCN\": \"最简单的数据集（dataset）\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"dataset\",\n      \"bar\"\n    ],\n    \"id\": \"dataset-simple1\",\n    \"tags\": [],\n    \"title\": \"Dataset in Object Array\",\n    \"titleCN\": \"对象数组的输入格式\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"dynamic-data2\",\n    \"tags\": [],\n    \"title\": \"Dynamic Data + Time Axis\",\n    \"titleCN\": \"动态数据 + 时间坐标轴\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-ring\",\n    \"tags\": [],\n    \"title\": \"Ring Gauge\",\n    \"titleCN\": \"得分环\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-circular-layout\",\n    \"tags\": [],\n    \"title\": \"Les Miserables\",\n    \"titleCN\": \"悲惨世界人物关系图(环形布局)\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-function\",\n    \"tags\": [],\n    \"title\": \"Function Plot\",\n    \"titleCN\": \"函数绘图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-race\",\n    \"tags\": [],\n    \"title\": \"Line Race\",\n    \"titleCN\": \"动态排序折线图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"pie\",\n      \"rich\"\n    ],\n    \"id\": \"pie-nest\",\n    \"tags\": [],\n    \"title\": \"Nested Pies\",\n    \"titleCN\": \"嵌套环形图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-large\",\n    \"tags\": [],\n    \"title\": \"Large Scatter\",\n    \"titleCN\": \"大规模散点图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nebula\",\n    \"tags\": [],\n    \"title\": \"Scatter Nebula\",\n    \"titleCN\": \"大规模星云散点图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-stream-visual\",\n    \"tags\": [],\n    \"title\": \"Visual interaction with stream\",\n    \"titleCN\": \"流式渲染和视觉映射操作\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-drink\",\n    \"tags\": [],\n    \"title\": \"Drink Flavors\",\n    \"titleCN\": \"Drink Flavors\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"dataZoom\"\n    ],\n    \"id\": \"wind-barb\",\n    \"tags\": [],\n    \"title\": \"Wind Barb\",\n    \"titleCN\": \"风向图\",\n    \"difficulty\": 5\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-race-country\",\n    \"tags\": [],\n    \"title\": \"Bar Race\",\n    \"titleCN\": \"动态排序柱状图 - 人均收入\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\",\n      \"rich\"\n    ],\n    \"id\": \"bar-rich-text\",\n    \"tags\": [],\n    \"title\": \"Wheater Statistics\",\n    \"titleCN\": \"天气统计（富文本）\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"bubble-gradient\",\n    \"tags\": [],\n    \"title\": \"Bubble Chart\",\n    \"titleCN\": \"气泡图\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"pie\"\n    ],\n    \"id\": \"calendar-pie\",\n    \"tags\": [],\n    \"title\": \"Calendar Pie\",\n    \"titleCN\": \"日历饼图\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"map\"\n    ],\n    \"id\": \"custom-hexbin\",\n    \"tags\": [],\n    \"title\": \"Hexagonal Binning\",\n    \"titleCN\": \"六边形分箱图（自定义系列）\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"dynamic-data\",\n    \"tags\": [],\n    \"title\": \"Dynamic Data\",\n    \"titleCN\": \"动态数据\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-barometer\",\n    \"tags\": [],\n    \"title\": \"Gauge Barometer chart\",\n    \"titleCN\": \"气压表\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-force-dynamic\",\n    \"tags\": [],\n    \"title\": \"Graph Dynamic\",\n    \"titleCN\": \"动态增加图节点\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-markline\",\n    \"tags\": [],\n    \"title\": \"Line with Marklines\",\n    \"titleCN\": \"折线图的标记线\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-style\",\n    \"tags\": [],\n    \"title\": \"Line Style and Item Style\",\n    \"titleCN\": \"自定义折线图样式\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"mix-timeline-finance\",\n    \"tags\": [],\n    \"title\": \"Finance Indices 2002\",\n    \"titleCN\": \"2002全国宏观经济指标\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"sunburst\"\n    ],\n    \"id\": \"sunburst-book\",\n    \"tags\": [],\n    \"title\": \"Book Records\",\n    \"titleCN\": \"书籍分布\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"watermark\",\n    \"tags\": [],\n    \"title\": \"Watermark - ECharts Download\",\n    \"titleCN\": \"水印 - ECharts 下载统计\",\n    \"difficulty\": 6\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-real-estate\",\n    \"tags\": [],\n    \"title\": \"Bar Chart on Polar\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-stack\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar Chart on Polar\",\n    \"titleCN\": \"极坐标系下的堆叠柱状图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"bar-polar-stack-radial\",\n    \"tags\": [],\n    \"title\": \"Stacked Bar Chart on Polar(Radial)\",\n    \"titleCN\": \"极坐标系下的堆叠柱状图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"custom\",\n      \"calendar\"\n    ],\n    \"id\": \"custom-calendar-icon\",\n    \"tags\": [],\n    \"title\": \"Custom Calendar Icon\",\n    \"titleCN\": \"日历图自定义图标\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-wind\",\n    \"tags\": [],\n    \"title\": \"Use custom series to draw wind vectors\",\n    \"titleCN\": \"使用自定义系列绘制风场\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-clock\",\n    \"tags\": [],\n    \"title\": \"Clock Gauge\",\n    \"titleCN\": \"时钟仪表盘\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-life-expectancy\",\n    \"tags\": [],\n    \"title\": \"Graph Life Expectancy\",\n    \"titleCN\": \"Graph Life Expectancy\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-in-cartesian-coordinate-system\",\n    \"tags\": [],\n    \"title\": \"Line Chart in Cartesian Coordinate System\",\n    \"titleCN\": \"双数值轴折线图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-log\",\n    \"tags\": [],\n    \"title\": \"Log Axis\",\n    \"titleCN\": \"对数轴示例\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-step\",\n    \"tags\": [],\n    \"title\": \"Step Line\",\n    \"titleCN\": \"阶梯折线图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"bar\"\n    ],\n    \"id\": \"polar-roundCap\",\n    \"tags\": [],\n    \"title\": \"Rounded Bar on Polar\",\n    \"titleCN\": \"圆角环形图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-aqi-color\",\n    \"tags\": [],\n    \"title\": \"Scatter Aqi Color\",\n    \"titleCN\": \"AQI 气泡图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nutrients\",\n    \"tags\": [],\n    \"title\": \"Scatter Nutrients\",\n    \"titleCN\": \"营养分布散点图\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-nutrients-matrix\",\n    \"tags\": [],\n    \"title\": \"Scatter Nutrients Matrix\",\n    \"titleCN\": \"营养分布散点矩阵\",\n    \"difficulty\": 7\n  },\n  {\n    \"category\": [\n      \"gauge\"\n    ],\n    \"id\": \"gauge-car\",\n    \"tags\": [],\n    \"title\": \"Gauge Car\",\n    \"titleCN\": \"Gauge Car\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-webkit-dep\",\n    \"tags\": [],\n    \"title\": \"Graph Webkit Dep\",\n    \"titleCN\": \"WebKit 模块关系依赖图\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-easing\",\n    \"tags\": [],\n    \"title\": \"Line Easing Visualizing\",\n    \"titleCN\": \"缓动函数可视化\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-y-category\",\n    \"tags\": [],\n    \"title\": \"Line Y Category\",\n    \"titleCN\": \"垂直折线图（Y轴为类目轴）\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-polar-punchCard\",\n    \"tags\": [],\n    \"title\": \"Punch Card of Github\",\n    \"titleCN\": \"GitHub 打卡气泡图（极坐标）\",\n    \"difficulty\": 8\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-bar\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter and Bar\",\n    \"titleCN\": \"聚合分割形变（散点图 - 柱状图）\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-pie\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter and Pie\",\n    \"titleCN\": \"聚合分割形变（散点图 - 饼图）\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-gauge\",\n    \"tags\": [],\n    \"title\": \"Custom Gauge\",\n    \"titleCN\": \"自定义仪表\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"graph\"\n    ],\n    \"id\": \"graph-npm\",\n    \"tags\": [],\n    \"title\": \"NPM Dependencies\",\n    \"titleCN\": \"NPM 依赖关系图\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-graphic\",\n    \"tags\": [],\n    \"title\": \"Custom Graphic Component\",\n    \"titleCN\": \"自定义图形组件\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-pen\",\n    \"tags\": [],\n    \"title\": \"Click to Add Points\",\n    \"titleCN\": \"点击添加折线图拐点\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-life-expectancy-timeline\",\n    \"tags\": [],\n    \"title\": \"Life Expectancy and GDP\",\n    \"titleCN\": \"各国人均寿命与GDP关系演变\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-painter-choice\",\n    \"tags\": [],\n    \"title\": \"Master Painter Color Choices Throughout History\",\n    \"titleCN\": \"Master Painter Color Choices Throughout History\",\n    \"difficulty\": 9\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-light-velocity\",\n    \"tags\": [],\n    \"title\": \"Boxplot Light Velocity\",\n    \"titleCN\": \"基础盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-light-velocity2\",\n    \"tags\": [],\n    \"title\": \"Boxplot Light Velocity2\",\n    \"titleCN\": \"垂直方向盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"boxplot\"\n    ],\n    \"id\": \"boxplot-multi\",\n    \"tags\": [],\n    \"title\": \"Multiple Categories\",\n    \"titleCN\": \"多系列盒须图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [],\n    \"id\": \"calendar-effectscatter\",\n    \"tags\": [],\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-brush\",\n    \"tags\": [],\n    \"title\": \"Candlestick Brush\",\n    \"titleCN\": \"日力图刷选\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"candlestick\"\n    ],\n    \"id\": \"candlestick-sh-2015\",\n    \"tags\": [],\n    \"title\": \"ShangHai Index, 2015\",\n    \"titleCN\": \"2015 年上证指数\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [],\n    \"id\": \"covid-america\",\n    \"tags\": [],\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-aggregate-scatter-cluster\",\n    \"tags\": [],\n    \"title\": \"Aggregate Morphing Between Scatter Clustering\",\n    \"titleCN\": \"聚合分割形变（散点图聚类）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\",\n      \"map\"\n    ],\n    \"id\": \"effectScatter-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Air Quality - Baidu Map\",\n    \"titleCN\": \"全国主要城市空气质量 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel\",\n    \"tags\": [],\n    \"title\": \"Funnel Chart\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-align\",\n    \"tags\": [],\n    \"title\": \"Funnel (align)\",\n    \"titleCN\": \"漏斗图(对比)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-customize\",\n    \"tags\": [],\n    \"title\": \"Customized Funnel\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"funnel\"\n    ],\n    \"id\": \"funnel-mutiple\",\n    \"tags\": [],\n    \"title\": \"Multiple Funnels\",\n    \"titleCN\": \"漏斗图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-beef-cuts\",\n    \"tags\": [],\n    \"title\": \"GEO Beef Cuts\",\n    \"titleCN\": \"庖丁解牛\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-lines\",\n    \"tags\": [],\n    \"title\": \"Migration\",\n    \"titleCN\": \"模拟迁徙\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-map-scatter\",\n    \"tags\": [],\n    \"title\": \"map and scatter share a geo\",\n    \"titleCN\": \"map and scatter share a geo\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-organ\",\n    \"tags\": [],\n    \"title\": \"Organ Data with SVG\",\n    \"titleCN\": \"内脏数据（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-seatmap-flight\",\n    \"tags\": [],\n    \"title\": \"Flight Seatmap with SVG\",\n    \"titleCN\": \"航班选座（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-lines\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Lines\",\n    \"titleCN\": \"GEO 路径图（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-map\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Map\",\n    \"titleCN\": \"地图（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"geo-svg-traffic\",\n    \"tags\": [],\n    \"title\": \"GEO SVG Traffic\",\n    \"titleCN\": \"交通（SVG）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"drag\"\n    ],\n    \"id\": \"line-draggable\",\n    \"tags\": [],\n    \"title\": \"Try Dragging these Points\",\n    \"titleCN\": \"可拖拽点\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-polar\",\n    \"tags\": [],\n    \"title\": \"Two Value-Axes in Polar\",\n    \"titleCN\": \"极坐标双数值轴\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\"\n    ],\n    \"id\": \"line-polar2\",\n    \"tags\": [],\n    \"title\": \"Two Value-Axes in Polar\",\n    \"titleCN\": \"极坐标双数值轴\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"line\",\n      \"dataZoom\"\n    ],\n    \"id\": \"line-tooltip-touch\",\n    \"tags\": [],\n    \"title\": \"Tooltip and DataZoom on Mobile\",\n    \"titleCN\": \"移动端上的 dataZoom 和 tooltip\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-airline\",\n    \"tags\": [],\n    \"title\": \"65k+ Airline\",\n    \"titleCN\": \"65k+ 飞机航线\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"A Hiking Trail in Hangzhou - Baidu Map\",\n    \"titleCN\": \"杭州热门步行路线 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap-bus\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Bus Lines of Beijing - Baidu Map\",\n    \"titleCN\": \"北京公交路线 - 百度地图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-bmap-effect\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Bus Lines of Beijing - Line Effect\",\n    \"titleCN\": \"北京公交路线 - 线特效\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\",\n      \"lines\"\n    ],\n    \"id\": \"lines-ny\",\n    \"tags\": [],\n    \"title\": \"Use lines to draw 1 million ny streets.\",\n    \"titleCN\": \"使用线图绘制近 100 万的纽约街道数据\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-bin\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Binning on Map\",\n    \"titleCN\": \"Binning on Map\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-china\",\n    \"tags\": [],\n    \"title\": \"Map China\",\n    \"titleCN\": \"Map China\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-china-dataRange\",\n    \"tags\": [],\n    \"title\": \"Sales of iphone\",\n    \"titleCN\": \"iphone销量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-HK\",\n    \"tags\": [],\n    \"title\": \"Population Density of HongKong (2011)\",\n    \"titleCN\": \"香港18区人口密度 （2011）\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-labels\",\n    \"tags\": [],\n    \"title\": \"Rich Text Labels on Map\",\n    \"titleCN\": \"地图上的富文本标签\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-locate\",\n    \"tags\": [],\n    \"title\": \"Map Locate\",\n    \"titleCN\": \"Map Locate\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-polygon\",\n    \"tags\": [\n      \"bmap\"\n    ],\n    \"title\": \"Draw Polygon on Map\",\n    \"titleCN\": \"在地图上绘制多边形\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-province\",\n    \"tags\": [],\n    \"title\": \"Switch among 34 Provinces\",\n    \"titleCN\": \"34 省切换查看\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-usa\",\n    \"tags\": [],\n    \"title\": \"USA Population Estimates (2012)\",\n    \"titleCN\": \"USA Population Estimates (2012)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-world\",\n    \"tags\": [],\n    \"title\": \"Map World\",\n    \"titleCN\": \"Map World\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"map\"\n    ],\n    \"id\": \"map-world-dataRange\",\n    \"tags\": [],\n    \"title\": \"World Population (2010)\",\n    \"titleCN\": \"World Population (2010)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-body-fill\",\n    \"tags\": [],\n    \"title\": \"Water Content\",\n    \"titleCN\": \"人体含水量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-dotted\",\n    \"tags\": [],\n    \"title\": \"Dotted bar\",\n    \"titleCN\": \"虚线柱状图效果\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-forest\",\n    \"tags\": [],\n    \"title\": \"Expansion of forest\",\n    \"titleCN\": \"森林的增长\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-hill\",\n    \"tags\": [],\n    \"title\": \"Wish List and Mountain Height\",\n    \"titleCN\": \"圣诞愿望清单和山峰高度\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-spirit\",\n    \"tags\": [],\n    \"title\": \"Spirits\",\n    \"titleCN\": \"精灵\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-vehicle\",\n    \"tags\": [],\n    \"title\": \"Vehicles\",\n    \"titleCN\": \"交通工具\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"pictorialBar\"\n    ],\n    \"id\": \"pictorialBar-velocity\",\n    \"tags\": [],\n    \"title\": \"Velocity of Christmas Reindeers\",\n    \"titleCN\": \"驯鹿的速度\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"radar\"\n    ],\n    \"id\": \"radar-multiple\",\n    \"tags\": [],\n    \"title\": \"Multiple Radar\",\n    \"titleCN\": \"多雷达图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-map\",\n    \"tags\": [],\n    \"title\": \"Air Quality\",\n    \"titleCN\": \"全国主要城市空气质量\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-map-brush\",\n    \"tags\": [],\n    \"title\": \"Scatter Map Brush\",\n    \"titleCN\": \"Scatter Map Brush\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"parallel\",\n      \"scatter\"\n    ],\n    \"id\": \"scatter-matrix\",\n    \"tags\": [],\n    \"title\": \"Scatter Matrix\",\n    \"titleCN\": \"散点矩阵和平行坐标\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-weibo\",\n    \"tags\": [],\n    \"title\": \"Sign in of weibo\",\n    \"titleCN\": \"微博签到数据点亮中国\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-world-population\",\n    \"tags\": [],\n    \"title\": \"World Population (2011)\",\n    \"titleCN\": \"World Population (2011)\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"themeRiver\"\n    ],\n    \"id\": \"themeRiver-basic\",\n    \"tags\": [],\n    \"title\": \"ThemeRiver\",\n    \"titleCN\": \"主题河流图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"themeRiver\"\n    ],\n    \"id\": \"themeRiver-lastfm\",\n    \"tags\": [],\n    \"title\": \"ThemeRiver Lastfm\",\n    \"titleCN\": \"ThemeRiver Lastfm\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-basic\",\n    \"tags\": [],\n    \"title\": \"From Left to Right Tree\",\n    \"titleCN\": \"从左到右树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-legend\",\n    \"tags\": [],\n    \"title\": \"Multiple Trees\",\n    \"titleCN\": \"多棵树\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-orient-bottom-top\",\n    \"tags\": [],\n    \"title\": \"From Bottom to Top Tree\",\n    \"titleCN\": \"从下到上树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-orient-right-left\",\n    \"tags\": [],\n    \"title\": \"From Right to Left Tree\",\n    \"titleCN\": \"从右到左树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-polyline\",\n    \"tags\": [],\n    \"title\": \"Tree with Polyline Edge\",\n    \"titleCN\": \"折线树图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-radial\",\n    \"tags\": [],\n    \"title\": \"Radial Tree\",\n    \"titleCN\": \"径向树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"tree\"\n    ],\n    \"id\": \"tree-vertical\",\n    \"tags\": [],\n    \"title\": \"From Top to Bottom Tree\",\n    \"titleCN\": \"从上到下树状图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-disk\",\n    \"tags\": [],\n    \"title\": \"Disk Usage\",\n    \"titleCN\": \"磁盘占用\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-drill-down\",\n    \"tags\": [],\n    \"title\": \"ECharts Option Query\",\n    \"titleCN\": \"ECharts 配置项查询分布\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-obama\",\n    \"tags\": [],\n    \"title\": \"How $3.7 Trillion is Spent\",\n    \"titleCN\": \"How $3.7 Trillion is Spent\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-show-parent\",\n    \"tags\": [],\n    \"title\": \"Show Parent Labels\",\n    \"titleCN\": \"显示父层级标签\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-simple\",\n    \"tags\": [],\n    \"title\": \"Basic Treemap\",\n    \"titleCN\": \"基础矩形树图\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"treemap\"\n    ],\n    \"id\": \"treemap-visual\",\n    \"tags\": [],\n    \"title\": \"Gradient Mapping\",\n    \"titleCN\": \"映射为渐变色\",\n    \"difficulty\": 10\n  },\n  {\n    \"category\": [\n      \"calendar\",\n      \"scatter\"\n    ],\n    \"id\": \"calendar-charts\",\n    \"tags\": [],\n    \"title\": \"Calendar Charts\",\n    \"titleCN\": \"日力图\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"circle-packing-with-d3\",\n    \"tags\": [],\n    \"title\": \"Circle Packing with d3\",\n    \"titleCN\": \"Circle Packing with d3\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-one-to-one-morph\",\n    \"tags\": [],\n    \"title\": \"One-to-one Morphing\",\n    \"titleCN\": \"一对一映射形变\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-spiral-race\",\n    \"tags\": [],\n    \"title\": \"Custom Spiral Race\",\n    \"titleCN\": \"自定义螺旋线竞速\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"custom\"\n    ],\n    \"id\": \"custom-story-transition\",\n    \"tags\": [],\n    \"title\": \"Simple Story Transition\",\n    \"titleCN\": \"极简场景变换示例\",\n    \"difficulty\": 11\n  },\n  {\n    \"category\": [\n      \"scatter\"\n    ],\n    \"id\": \"scatter-logarithmic-regression\",\n    \"tags\": [],\n    \"title\": \"Logarithmic Regression\",\n    \"titleCN\": \"对数回归（使用统计插件）\",\n    \"difficulty\": 16\n  }\n]","\n// THIS FILE IS GENERATED, DON'T MODIFY */\n\n/* eslint-disable  */\nexport const keywords = [{\"name\":\"color\",\"count\":1835},{\"name\":\"shadowColor\",\"count\":1770},{\"name\":\"shadowBlur\",\"count\":1770},{\"name\":\"shadowOffsetX\",\"count\":1770},{\"name\":\"shadowOffsetY\",\"count\":1770},{\"name\":\"borderColor\",\"count\":1451},{\"name\":\"borderWidth\",\"count\":1450},{\"name\":\"width\",\"count\":1411},{\"name\":\"borderType\",\"count\":1385},{\"name\":\"borderDashOffset\",\"count\":1373},{\"name\":\"height\",\"count\":1120},{\"name\":\"backgroundColor\",\"count\":1111},{\"name\":\"fontSize\",\"count\":1098},{\"name\":\"fontStyle\",\"count\":1081},{\"name\":\"fontWeight\",\"count\":1081},{\"name\":\"fontFamily\",\"count\":1081},{\"name\":\"lineHeight\",\"count\":1081},{\"name\":\"textBorderColor\",\"count\":1081},{\"name\":\"textBorderWidth\",\"count\":1081},{\"name\":\"textBorderType\",\"count\":1081},{\"name\":\"textBorderDashOffset\",\"count\":1081},{\"name\":\"textShadowColor\",\"count\":1081},{\"name\":\"textShadowBlur\",\"count\":1081},{\"name\":\"textShadowOffsetX\",\"count\":1081},{\"name\":\"textShadowOffsetY\",\"count\":1081},{\"name\":\"padding\",\"count\":1079},{\"name\":\"borderRadius\",\"count\":1051},{\"name\":\"align\",\"count\":916},{\"name\":\"verticalAlign\",\"count\":913},{\"name\":\"opacity\",\"count\":692},{\"name\":\"show\",\"count\":664},{\"name\":\"overflow\",\"count\":567},{\"name\":\"ellipsis\",\"count\":567},{\"name\":\"lineOverflow\",\"count\":567},{\"name\":\"position\",\"count\":528},{\"name\":\"rich\",\"count\":514},{\"name\":\"<style_name>\",\"count\":514},{\"name\":\"distance\",\"count\":472},{\"name\":\"label\",\"count\":468},{\"name\":\"type\",\"count\":389},{\"name\":\"rotate\",\"count\":365},{\"name\":\"offset\",\"count\":357},{\"name\":\"itemStyle\",\"count\":356},{\"name\":\"borderCap\",\"count\":347},{\"name\":\"borderJoin\",\"count\":347},{\"name\":\"borderMiterLimit\",\"count\":347},{\"name\":\"formatter\",\"count\":331},{\"name\":\"lineStyle\",\"count\":298},{\"name\":\"dashOffset\",\"count\":278},{\"name\":\"cap\",\"count\":278},{\"name\":\"join\",\"count\":278},{\"name\":\"miterLimit\",\"count\":278},{\"name\":\"emphasis\",\"count\":175},{\"name\":\"blur\",\"count\":143},{\"name\":\"name\",\"count\":133},{\"name\":\"curveness\",\"count\":124},{\"name\":\"symbol\",\"count\":119},{\"name\":\"symbolSize\",\"count\":119},{\"name\":\"x\",\"count\":115},{\"name\":\"y\",\"count\":115},{\"name\":\"value\",\"count\":101},{\"name\":\"symbolKeepAspect\",\"count\":94},{\"name\":\"silent\",\"count\":93},{\"name\":\"labelLine\",\"count\":81},{\"name\":\"rotation\",\"count\":78},{\"name\":\"symbolOffset\",\"count\":75},{\"name\":\"id\",\"count\":71},{\"name\":\"data\",\"count\":71},{\"name\":\"symbolRotate\",\"count\":67},{\"name\":\"animationDuration\",\"count\":66},{\"name\":\"animationEasing\",\"count\":66},{\"name\":\"animationDelay\",\"count\":65},{\"name\":\"z\",\"count\":64},{\"name\":\"animation\",\"count\":64},{\"name\":\"animationDurationUpdate\",\"count\":63},{\"name\":\"animationThreshold\",\"count\":62},{\"name\":\"animationEasingUpdate\",\"count\":62},{\"name\":\"animationDelayUpdate\",\"count\":62},{\"name\":\"style\",\"count\":60},{\"name\":\"select\",\"count\":56},{\"name\":\"textStyle\",\"count\":54},{\"name\":\"zlevel\",\"count\":52},{\"name\":\"transition\",\"count\":48},{\"name\":\"focus\",\"count\":41},{\"name\":\"blurScope\",\"count\":41},{\"name\":\"coord\",\"count\":41},{\"name\":\"tooltip\",\"count\":40},{\"name\":\"inside\",\"count\":40},{\"name\":\"valueIndex\",\"count\":40},{\"name\":\"valueDim\",\"count\":40},{\"name\":\"extraCssText\",\"count\":38},{\"name\":\"interval\",\"count\":34},{\"name\":\"left\",\"count\":33},{\"name\":\"top\",\"count\":33},{\"name\":\"right\",\"count\":33},{\"name\":\"bottom\",\"count\":33},{\"name\":\"draggable\",\"count\":31},{\"name\":\"decal\",\"count\":28},{\"name\":\"dashArrayX\",\"count\":28},{\"name\":\"dashArrayY\",\"count\":28},{\"name\":\"maxTileWidth\",\"count\":28},{\"name\":\"maxTileHeight\",\"count\":28},{\"name\":\"margin\",\"count\":27},{\"name\":\"xAxis\",\"count\":27},{\"name\":\"yAxis\",\"count\":27},{\"name\":\"origin\",\"count\":26},{\"name\":\"0\",\"count\":26},{\"name\":\"1\",\"count\":26},{\"name\":\"precision\",\"count\":25},{\"name\":\"scaleX\",\"count\":25},{\"name\":\"scaleY\",\"count\":25},{\"name\":\"originX\",\"count\":25},{\"name\":\"originY\",\"count\":25},{\"name\":\"info\",\"count\":25},{\"name\":\"invisible\",\"count\":25},{\"name\":\"ignore\",\"count\":25},{\"name\":\"textContent\",\"count\":25},{\"name\":\"textConfig\",\"count\":25},{\"name\":\"layoutRect\",\"count\":25},{\"name\":\"local\",\"count\":25},{\"name\":\"insideFill\",\"count\":25},{\"name\":\"insideStroke\",\"count\":25},{\"name\":\"outsideFill\",\"count\":25},{\"name\":\"outsideStroke\",\"count\":25},{\"name\":\"smooth\",\"count\":24},{\"name\":\"selectedMode\",\"count\":23},{\"name\":\"fill\",\"count\":23},{\"name\":\"stroke\",\"count\":23},{\"name\":\"lineWidth\",\"count\":23},{\"name\":\"length\",\"count\":21},{\"name\":\"areaStyle\",\"count\":20},{\"name\":\"shape\",\"count\":20},{\"name\":\"cursor\",\"count\":19},{\"name\":\"showAbove\",\"count\":19},{\"name\":\"splitNumber\",\"count\":18},{\"name\":\"progressive\",\"count\":18},{\"name\":\"length2\",\"count\":18},{\"name\":\"minTurnAngle\",\"count\":18},{\"name\":\"labelLayout\",\"count\":18},{\"name\":\"hideOverlap\",\"count\":17},{\"name\":\"moveOverlap\",\"count\":17},{\"name\":\"dx\",\"count\":17},{\"name\":\"dy\",\"count\":17},{\"name\":\"labelLinePoints\",\"count\":17},{\"name\":\"icon\",\"count\":16},{\"name\":\"xAxisIndex\",\"count\":15},{\"name\":\"yAxisIndex\",\"count\":15},{\"name\":\"min\",\"count\":14},{\"name\":\"max\",\"count\":14},{\"name\":\"scale\",\"count\":14},{\"name\":\"coordinateSystem\",\"count\":13},{\"name\":\"markPoint\",\"count\":13},{\"name\":\"markLine\",\"count\":13},{\"name\":\"markArea\",\"count\":13},{\"name\":\"z2\",\"count\":13},{\"name\":\"during\",\"count\":13},{\"name\":\"extra\",\"count\":13},{\"name\":\"orient\",\"count\":12},{\"name\":\"iconStyle\",\"count\":12},{\"name\":\"areaColor\",\"count\":12},{\"name\":\"$action\",\"count\":12},{\"name\":\"bounding\",\"count\":12},{\"name\":\"onclick\",\"count\":12},{\"name\":\"onmouseover\",\"count\":12},{\"name\":\"onmouseout\",\"count\":12},{\"name\":\"onmousemove\",\"count\":12},{\"name\":\"onmousewheel\",\"count\":12},{\"name\":\"onmousedown\",\"count\":12},{\"name\":\"onmouseup\",\"count\":12},{\"name\":\"ondrag\",\"count\":12},{\"name\":\"ondragstart\",\"count\":12},{\"name\":\"ondragend\",\"count\":12},{\"name\":\"ondragenter\",\"count\":12},{\"name\":\"ondragleave\",\"count\":12},{\"name\":\"ondragover\",\"count\":12},{\"name\":\"ondrop\",\"count\":12},{\"name\":\"legendHoverLink\",\"count\":12},{\"name\":\"upperLabel\",\"count\":12},{\"name\":\"dimensions\",\"count\":11},{\"name\":\"axisPointer\",\"count\":10},{\"name\":\"snap\",\"count\":10},{\"name\":\"shadowStyle\",\"count\":10},{\"name\":\"r\",\"count\":10},{\"name\":\"encode\",\"count\":10},{\"name\":\"minAngle\",\"count\":10},{\"name\":\"morph\",\"count\":10},{\"name\":\"title\",\"count\":9},{\"name\":\"textAlign\",\"count\":9},{\"name\":\"triggerEvent\",\"count\":9},{\"name\":\"inverse\",\"count\":9},{\"name\":\"axisLine\",\"count\":9},{\"name\":\"axisTick\",\"count\":9},{\"name\":\"axisLabel\",\"count\":9},{\"name\":\"boundaryGap\",\"count\":8},{\"name\":\"showMinLabel\",\"count\":8},{\"name\":\"showMaxLabel\",\"count\":8},{\"name\":\"splitLine\",\"count\":8},{\"name\":\"size\",\"count\":8},{\"name\":\"throttle\",\"count\":8},{\"name\":\"center\",\"count\":8},{\"name\":\"startAngle\",\"count\":8},{\"name\":\"geoIndex\",\"count\":8},{\"name\":\"cx\",\"count\":8},{\"name\":\"cy\",\"count\":8},{\"name\":\"seriesLayoutBy\",\"count\":8},{\"name\":\"datasetIndex\",\"count\":8},{\"name\":\"color0\",\"count\":8},{\"name\":\"borderColor0\",\"count\":8},{\"name\":\"nameGap\",\"count\":7},{\"name\":\"minInterval\",\"count\":7},{\"name\":\"maxInterval\",\"count\":7},{\"name\":\"logBase\",\"count\":7},{\"name\":\"alignWithLabel\",\"count\":7},{\"name\":\"minorTick\",\"count\":7},{\"name\":\"polarIndex\",\"count\":7},{\"name\":\"clockwise\",\"count\":7},{\"name\":\"clip\",\"count\":7},{\"name\":\"text\",\"count\":6},{\"name\":\"nameLocation\",\"count\":6},{\"name\":\"nameTextStyle\",\"count\":6},{\"name\":\"nameRotate\",\"count\":6},{\"name\":\"splitArea\",\"count\":6},{\"name\":\"triggerTooltip\",\"count\":6},{\"name\":\"status\",\"count\":6},{\"name\":\"handle\",\"count\":6},{\"name\":\"textPosition\",\"count\":6},{\"name\":\"textFill\",\"count\":6},{\"name\":\"textBackgroundColor\",\"count\":6},{\"name\":\"textBorderRadius\",\"count\":6},{\"name\":\"textPadding\",\"count\":6},{\"name\":\"line\",\"count\":6},{\"name\":\"layout\",\"count\":6},{\"name\":\"r0\",\"count\":6},{\"name\":\"progressiveThreshold\",\"count\":6},{\"name\":\"colorAlpha\",\"count\":6},{\"name\":\"colorSaturation\",\"count\":6},{\"name\":\"offsetCenter\",\"count\":6},{\"name\":\"target\",\"count\":5},{\"name\":\"itemGap\",\"count\":5},{\"name\":\"minorSplitLine\",\"count\":5},{\"name\":\"radius\",\"count\":5},{\"name\":\"realtime\",\"count\":5},{\"name\":\"zoom\",\"count\":5},{\"name\":\"bar\",\"count\":5},{\"name\":\"stack\",\"count\":5},{\"name\":\"roam\",\"count\":5},{\"name\":\"endAngle\",\"count\":5},{\"name\":\"valueAnimation\",\"count\":5},{\"name\":\"calendarIndex\",\"count\":5},{\"name\":\"link\",\"count\":4},{\"name\":\"selected\",\"count\":4},{\"name\":\"trigger\",\"count\":4},{\"name\":\"axis\",\"count\":4},{\"name\":\"crossStyle\",\"count\":4},{\"name\":\"end\",\"count\":4},{\"name\":\"seriesIndex\",\"count\":4},{\"name\":\"inRange\",\"count\":4},{\"name\":\"outOfRange\",\"count\":4},{\"name\":\"nameMap\",\"count\":4},{\"name\":\"points\",\"count\":4},{\"name\":\"smoothConstraint\",\"count\":4},{\"name\":\"x1\",\"count\":4},{\"name\":\"y1\",\"count\":4},{\"name\":\"x2\",\"count\":4},{\"name\":\"y2\",\"count\":4},{\"name\":\"percent\",\"count\":4},{\"name\":\"endLabel\",\"count\":4},{\"name\":\"large\",\"count\":4},{\"name\":\"largeThreshold\",\"count\":4},{\"name\":\"hoverAnimation\",\"count\":4},{\"name\":\"edgeLabel\",\"count\":4},{\"name\":\"textVerticalAlign\",\"count\":3},{\"name\":\"itemWidth\",\"count\":3},{\"name\":\"itemHeight\",\"count\":3},{\"name\":\"filterMode\",\"count\":3},{\"name\":\"handleStyle\",\"count\":3},{\"name\":\"brushStyle\",\"count\":3},{\"name\":\"rect\",\"count\":3},{\"name\":\"polygon\",\"count\":3},{\"name\":\"map\",\"count\":3},{\"name\":\"children\",\"count\":3},{\"name\":\"image\",\"count\":3},{\"name\":\"font\",\"count\":3},{\"name\":\"source\",\"count\":3},{\"name\":\"config\",\"count\":3},{\"name\":\"print\",\"count\":3},{\"name\":\"sort\",\"count\":3},{\"name\":\"withName\",\"count\":3},{\"name\":\"withoutName\",\"count\":3},{\"name\":\"roundCap\",\"count\":3},{\"name\":\"barWidth\",\"count\":3},{\"name\":\"barMaxWidth\",\"count\":3},{\"name\":\"barMinWidth\",\"count\":3},{\"name\":\"progressiveChunkMode\",\"count\":3},{\"name\":\"visualDimension\",\"count\":3},{\"name\":\"visualMin\",\"count\":3},{\"name\":\"visualMax\",\"count\":3},{\"name\":\"colorMappingBy\",\"count\":3},{\"name\":\"visibleMin\",\"count\":3},{\"name\":\"childrenVisibleMin\",\"count\":3},{\"name\":\"gapWidth\",\"count\":3},{\"name\":\"borderColorSaturation\",\"count\":3},{\"name\":\"levels\",\"count\":3},{\"name\":\"selectorLabel\",\"count\":2},{\"name\":\"gridIndex\",\"count\":2},{\"name\":\"realtimeSort\",\"count\":2},{\"name\":\"sortSeriesIndex\",\"count\":2},{\"name\":\"onZero\",\"count\":2},{\"name\":\"onZeroAxisIndex\",\"count\":2},{\"name\":\"radar\",\"count\":2},{\"name\":\"dataZoom\",\"count\":2},{\"name\":\"radiusAxisIndex\",\"count\":2},{\"name\":\"angleAxisIndex\",\"count\":2},{\"name\":\"start\",\"count\":2},{\"name\":\"startValue\",\"count\":2},{\"name\":\"endValue\",\"count\":2},{\"name\":\"minSpan\",\"count\":2},{\"name\":\"maxSpan\",\"count\":2},{\"name\":\"minValueSpan\",\"count\":2},{\"name\":\"maxValueSpan\",\"count\":2},{\"name\":\"zoomLock\",\"count\":2},{\"name\":\"rangeMode\",\"count\":2},{\"name\":\"handleIcon\",\"count\":2},{\"name\":\"handleSize\",\"count\":2},{\"name\":\"moveHandleStyle\",\"count\":2},{\"name\":\"range\",\"count\":2},{\"name\":\"textGap\",\"count\":2},{\"name\":\"dimension\",\"count\":2},{\"name\":\"hoverLink\",\"count\":2},{\"name\":\"controller\",\"count\":2},{\"name\":\"categories\",\"count\":2},{\"name\":\"triggerOn\",\"count\":2},{\"name\":\"toolbox\",\"count\":2},{\"name\":\"itemSize\",\"count\":2},{\"name\":\"back\",\"count\":2},{\"name\":\"option\",\"count\":2},{\"name\":\"brush\",\"count\":2},{\"name\":\"lineX\",\"count\":2},{\"name\":\"lineY\",\"count\":2},{\"name\":\"keep\",\"count\":2},{\"name\":\"clear\",\"count\":2},{\"name\":\"brushType\",\"count\":2},{\"name\":\"aspectScale\",\"count\":2},{\"name\":\"boundingCoords\",\"count\":2},{\"name\":\"scaleLimit\",\"count\":2},{\"name\":\"nameProperty\",\"count\":2},{\"name\":\"layoutCenter\",\"count\":2},{\"name\":\"layoutSize\",\"count\":2},{\"name\":\"parallel\",\"count\":2},{\"name\":\"parallelIndex\",\"count\":2},{\"name\":\"loop\",\"count\":2},{\"name\":\"checkpointStyle\",\"count\":2},{\"name\":\"controlStyle\",\"count\":2},{\"name\":\"progress\",\"count\":2},{\"name\":\"diffChildrenByName\",\"count\":2},{\"name\":\"polyline\",\"count\":2},{\"name\":\"cpx1\",\"count\":2},{\"name\":\"cpy1\",\"count\":2},{\"name\":\"cpx2\",\"count\":2},{\"name\":\"cpy2\",\"count\":2},{\"name\":\"enabled\",\"count\":2},{\"name\":\"series\",\"count\":2},{\"name\":\"maxCount\",\"count\":2},{\"name\":\"prefix\",\"count\":2},{\"name\":\"separator\",\"count\":2},{\"name\":\"middle\",\"count\":2},{\"name\":\"sampling\",\"count\":2},{\"name\":\"barMinHeight\",\"count\":2},{\"name\":\"barMinAngle\",\"count\":2},{\"name\":\"barGap\",\"count\":2},{\"name\":\"barCategoryGap\",\"count\":2},{\"name\":\"period\",\"count\":2},{\"name\":\"nodeClick\",\"count\":2},{\"name\":\"nodes\",\"count\":2},{\"name\":\"links\",\"count\":2},{\"name\":\"edges\",\"count\":2},{\"name\":\"depth\",\"count\":2},{\"name\":\"detail\",\"count\":2},{\"name\":\"keepAspect\",\"count\":2},{\"name\":\"symbolPosition\",\"count\":2},{\"name\":\"symbolRepeat\",\"count\":2},{\"name\":\"symbolRepeatDirection\",\"count\":2},{\"name\":\"symbolMargin\",\"count\":2},{\"name\":\"symbolClip\",\"count\":2},{\"name\":\"symbolBoundingData\",\"count\":2},{\"name\":\"symbolPatternSize\",\"count\":2},{\"name\":\"subtext\",\"count\":1},{\"name\":\"sublink\",\"count\":1},{\"name\":\"subtarget\",\"count\":1},{\"name\":\"subtextStyle\",\"count\":1},{\"name\":\"legend\",\"count\":1},{\"name\":\"inactiveColor\",\"count\":1},{\"name\":\"scrollDataIndex\",\"count\":1},{\"name\":\"pageButtonItemGap\",\"count\":1},{\"name\":\"pageButtonGap\",\"count\":1},{\"name\":\"pageButtonPosition\",\"count\":1},{\"name\":\"pageFormatter\",\"count\":1},{\"name\":\"pageIcons\",\"count\":1},{\"name\":\"horizontal\",\"count\":1},{\"name\":\"vertical\",\"count\":1},{\"name\":\"pageIconColor\",\"count\":1},{\"name\":\"pageIconInactiveColor\",\"count\":1},{\"name\":\"pageIconSize\",\"count\":1},{\"name\":\"pageTextStyle\",\"count\":1},{\"name\":\"selector\",\"count\":1},{\"name\":\"selectorPosition\",\"count\":1},{\"name\":\"selectorItemGap\",\"count\":1},{\"name\":\"selectorButtonGap\",\"count\":1},{\"name\":\"grid\",\"count\":1},{\"name\":\"containLabel\",\"count\":1},{\"name\":\"polar\",\"count\":1},{\"name\":\"radiusAxis\",\"count\":1},{\"name\":\"angleAxis\",\"count\":1},{\"name\":\"indicator\",\"count\":1},{\"name\":\"disabled\",\"count\":1},{\"name\":\"zoomOnMouseWheel\",\"count\":1},{\"name\":\"moveOnMouseMove\",\"count\":1},{\"name\":\"moveOnMouseWheel\",\"count\":1},{\"name\":\"preventDefaultMouseMove\",\"count\":1},{\"name\":\"slider\",\"count\":1},{\"name\":\"dataBackground\",\"count\":1},{\"name\":\"selectedDataBackground\",\"count\":1},{\"name\":\"fillerColor\",\"count\":1},{\"name\":\"moveHandleIcon\",\"count\":1},{\"name\":\"moveHandleSize\",\"count\":1},{\"name\":\"labelPrecision\",\"count\":1},{\"name\":\"labelFormatter\",\"count\":1},{\"name\":\"showDetail\",\"count\":1},{\"name\":\"showDataShadow\",\"count\":1},{\"name\":\"brushSelect\",\"count\":1},{\"name\":\"visualMap\",\"count\":1},{\"name\":\"continuous\",\"count\":1},{\"name\":\"calculable\",\"count\":1},{\"name\":\"indicatorIcon\",\"count\":1},{\"name\":\"indicatorSize\",\"count\":1},{\"name\":\"indicatorStyle\",\"count\":1},{\"name\":\"piecewise\",\"count\":1},{\"name\":\"pieces\",\"count\":1},{\"name\":\"minOpen\",\"count\":1},{\"name\":\"maxOpen\",\"count\":1},{\"name\":\"showLabel\",\"count\":1},{\"name\":\"itemSymbol\",\"count\":1},{\"name\":\"showContent\",\"count\":1},{\"name\":\"alwaysShowContent\",\"count\":1},{\"name\":\"showDelay\",\"count\":1},{\"name\":\"hideDelay\",\"count\":1},{\"name\":\"enterable\",\"count\":1},{\"name\":\"renderMode\",\"count\":1},{\"name\":\"confine\",\"count\":1},{\"name\":\"appendToBody\",\"count\":1},{\"name\":\"className\",\"count\":1},{\"name\":\"transitionDuration\",\"count\":1},{\"name\":\"order\",\"count\":1},{\"name\":\"showTitle\",\"count\":1},{\"name\":\"feature\",\"count\":1},{\"name\":\"saveAsImage\",\"count\":1},{\"name\":\"connectedBackgroundColor\",\"count\":1},{\"name\":\"excludeComponents\",\"count\":1},{\"name\":\"pixelRatio\",\"count\":1},{\"name\":\"restore\",\"count\":1},{\"name\":\"dataView\",\"count\":1},{\"name\":\"readOnly\",\"count\":1},{\"name\":\"optionToContent\",\"count\":1},{\"name\":\"contentToOption\",\"count\":1},{\"name\":\"lang\",\"count\":1},{\"name\":\"textareaColor\",\"count\":1},{\"name\":\"textareaBorderColor\",\"count\":1},{\"name\":\"textColor\",\"count\":1},{\"name\":\"buttonColor\",\"count\":1},{\"name\":\"buttonTextColor\",\"count\":1},{\"name\":\"magicType\",\"count\":1},{\"name\":\"tiled\",\"count\":1},{\"name\":\"brushLink\",\"count\":1},{\"name\":\"brushMode\",\"count\":1},{\"name\":\"transformable\",\"count\":1},{\"name\":\"throttleType\",\"count\":1},{\"name\":\"throttleDelay\",\"count\":1},{\"name\":\"removeOnClick\",\"count\":1},{\"name\":\"inBrush\",\"count\":1},{\"name\":\"outOfBrush\",\"count\":1},{\"name\":\"geo\",\"count\":1},{\"name\":\"regions\",\"count\":1},{\"name\":\"axisExpandable\",\"count\":1},{\"name\":\"axisExpandCenter\",\"count\":1},{\"name\":\"axisExpandCount\",\"count\":1},{\"name\":\"axisExpandWidth\",\"count\":1},{\"name\":\"axisExpandTriggerOn\",\"count\":1},{\"name\":\"parallelAxisDefault\",\"count\":1},{\"name\":\"parallelAxis\",\"count\":1},{\"name\":\"dim\",\"count\":1},{\"name\":\"areaSelectStyle\",\"count\":1},{\"name\":\"singleAxis\",\"count\":1},{\"name\":\"timeline\",\"count\":1},{\"name\":\"axisType\",\"count\":1},{\"name\":\"currentIndex\",\"count\":1},{\"name\":\"autoPlay\",\"count\":1},{\"name\":\"rewind\",\"count\":1},{\"name\":\"playInterval\",\"count\":1},{\"name\":\"replaceMerge\",\"count\":1},{\"name\":\"controlPosition\",\"count\":1},{\"name\":\"showPlayBtn\",\"count\":1},{\"name\":\"showPrevBtn\",\"count\":1},{\"name\":\"showNextBtn\",\"count\":1},{\"name\":\"playIcon\",\"count\":1},{\"name\":\"stopIcon\",\"count\":1},{\"name\":\"prevIcon\",\"count\":1},{\"name\":\"nextIcon\",\"count\":1},{\"name\":\"graphic\",\"count\":1},{\"name\":\"elements\",\"count\":1},{\"name\":\"group\",\"count\":1},{\"name\":\"circle\",\"count\":1},{\"name\":\"ring\",\"count\":1},{\"name\":\"sector\",\"count\":1},{\"name\":\"arc\",\"count\":1},{\"name\":\"bezierCurve\",\"count\":1},{\"name\":\"calendar\",\"count\":1},{\"name\":\"cellSize\",\"count\":1},{\"name\":\"dayLabel\",\"count\":1},{\"name\":\"firstDay\",\"count\":1},{\"name\":\"monthLabel\",\"count\":1},{\"name\":\"yearLabel\",\"count\":1},{\"name\":\"dataset\",\"count\":1},{\"name\":\"sourceHeader\",\"count\":1},{\"name\":\"transform\",\"count\":1},{\"name\":\"filter\",\"count\":1},{\"name\":\"xxx:xxx\",\"count\":1},{\"name\":\"fromDatasetIndex\",\"count\":1},{\"name\":\"fromDatasetId\",\"count\":1},{\"name\":\"fromTransformResult\",\"count\":1},{\"name\":\"aria\",\"count\":1},{\"name\":\"description\",\"count\":1},{\"name\":\"general\",\"count\":1},{\"name\":\"withTitle\",\"count\":1},{\"name\":\"withoutTitle\",\"count\":1},{\"name\":\"single\",\"count\":1},{\"name\":\"multiple\",\"count\":1},{\"name\":\"allData\",\"count\":1},{\"name\":\"partialData\",\"count\":1},{\"name\":\"decals\",\"count\":1},{\"name\":\"showSymbol\",\"count\":1},{\"name\":\"showAllSymbol\",\"count\":1},{\"name\":\"connectNulls\",\"count\":1},{\"name\":\"step\",\"count\":1},{\"name\":\"smoothMonotone\",\"count\":1},{\"name\":\"showBackground\",\"count\":1},{\"name\":\"backgroundStyle\",\"count\":1},{\"name\":\"pie\",\"count\":1},{\"name\":\"selectedOffset\",\"count\":1},{\"name\":\"minShowLabelAngle\",\"count\":1},{\"name\":\"roseType\",\"count\":1},{\"name\":\"avoidLabelOverlap\",\"count\":1},{\"name\":\"stillShowZeroSum\",\"count\":1},{\"name\":\"alignTo\",\"count\":1},{\"name\":\"edgeDistance\",\"count\":1},{\"name\":\"bleedMargin\",\"count\":1},{\"name\":\"distanceToLabelLine\",\"count\":1},{\"name\":\"maxSurfaceAngle\",\"count\":1},{\"name\":\"scaleSize\",\"count\":1},{\"name\":\"animationType\",\"count\":1},{\"name\":\"animationTypeUpdate\",\"count\":1},{\"name\":\"scatter\",\"count\":1},{\"name\":\"effectScatter\",\"count\":1},{\"name\":\"effectType\",\"count\":1},{\"name\":\"showEffectOn\",\"count\":1},{\"name\":\"rippleEffect\",\"count\":1},{\"name\":\"radarIndex\",\"count\":1},{\"name\":\"tree\",\"count\":1},{\"name\":\"edgeShape\",\"count\":1},{\"name\":\"edgeForkPosition\",\"count\":1},{\"name\":\"expandAndCollapse\",\"count\":1},{\"name\":\"initialTreeDepth\",\"count\":1},{\"name\":\"leaves\",\"count\":1},{\"name\":\"treemap\",\"count\":1},{\"name\":\"squareRatio\",\"count\":1},{\"name\":\"leafDepth\",\"count\":1},{\"name\":\"drillDownIcon\",\"count\":1},{\"name\":\"zoomToNodeRatio\",\"count\":1},{\"name\":\"breadcrumb\",\"count\":1},{\"name\":\"emptyItemWidth\",\"count\":1},{\"name\":\"sunburst\",\"count\":1},{\"name\":\"renderLabelForZeroData\",\"count\":1},{\"name\":\"boxplot\",\"count\":1},{\"name\":\"boxWidth\",\"count\":1},{\"name\":\"candlestick\",\"count\":1},{\"name\":\"heatmap\",\"count\":1},{\"name\":\"pointSize\",\"count\":1},{\"name\":\"blurSize\",\"count\":1},{\"name\":\"minOpacity\",\"count\":1},{\"name\":\"maxOpacity\",\"count\":1},{\"name\":\"mapValueCalculation\",\"count\":1},{\"name\":\"showLegendSymbol\",\"count\":1},{\"name\":\"inactiveOpacity\",\"count\":1},{\"name\":\"activeOpacity\",\"count\":1},{\"name\":\"lines\",\"count\":1},{\"name\":\"effect\",\"count\":1},{\"name\":\"delay\",\"count\":1},{\"name\":\"constantSpeed\",\"count\":1},{\"name\":\"trailLength\",\"count\":1},{\"name\":\"coords\",\"count\":1},{\"name\":\"graph\",\"count\":1},{\"name\":\"circular\",\"count\":1},{\"name\":\"rotateLabel\",\"count\":1},{\"name\":\"force\",\"count\":1},{\"name\":\"initLayout\",\"count\":1},{\"name\":\"repulsion\",\"count\":1},{\"name\":\"gravity\",\"count\":1},{\"name\":\"edgeLength\",\"count\":1},{\"name\":\"layoutAnimation\",\"count\":1},{\"name\":\"friction\",\"count\":1},{\"name\":\"nodeScaleRatio\",\"count\":1},{\"name\":\"edgeSymbol\",\"count\":1},{\"name\":\"edgeSymbolSize\",\"count\":1},{\"name\":\"autoCurveness\",\"count\":1},{\"name\":\"fixed\",\"count\":1},{\"name\":\"category\",\"count\":1},{\"name\":\"ignoreForceLayout\",\"count\":1},{\"name\":\"sankey\",\"count\":1},{\"name\":\"nodeWidth\",\"count\":1},{\"name\":\"nodeGap\",\"count\":1},{\"name\":\"nodeAlign\",\"count\":1},{\"name\":\"layoutIterations\",\"count\":1},{\"name\":\"funnel\",\"count\":1},{\"name\":\"minSize\",\"count\":1},{\"name\":\"maxSize\",\"count\":1},{\"name\":\"gap\",\"count\":1},{\"name\":\"funnelAlign\",\"count\":1},{\"name\":\"gauge\",\"count\":1},{\"name\":\"overlap\",\"count\":1},{\"name\":\"pointer\",\"count\":1},{\"name\":\"anchor\",\"count\":1},{\"name\":\"pictorialBar\",\"count\":1},{\"name\":\"themeRiver\",\"count\":1},{\"name\":\"singleAxisIndex\",\"count\":1},{\"name\":\"date\",\"count\":1},{\"name\":\"custom\",\"count\":1},{\"name\":\"renderItem\",\"count\":1},{\"name\":\"arguments\",\"count\":1},{\"name\":\"params\",\"count\":1},{\"name\":\"api\",\"count\":1},{\"name\":\"styleEmphasis\",\"count\":1},{\"name\":\"visual\",\"count\":1},{\"name\":\"barLayout\",\"count\":1},{\"name\":\"currentSeriesIndices\",\"count\":1},{\"name\":\"getWidth\",\"count\":1},{\"name\":\"getHeight\",\"count\":1},{\"name\":\"getZr\",\"count\":1},{\"name\":\"getDevicePixelRatio\",\"count\":1},{\"name\":\"return\",\"count\":1},{\"name\":\"return_group\",\"count\":1},{\"name\":\"return_path\",\"count\":1},{\"name\":\"pathData\",\"count\":1},{\"name\":\"d\",\"count\":1},{\"name\":\"return_image\",\"count\":1},{\"name\":\"return_text\",\"count\":1},{\"name\":\"return_rect\",\"count\":1},{\"name\":\"return_circle\",\"count\":1},{\"name\":\"return_ring\",\"count\":1},{\"name\":\"return_sector\",\"count\":1},{\"name\":\"return_arc\",\"count\":1},{\"name\":\"return_polygon\",\"count\":1},{\"name\":\"return_polyline\",\"count\":1},{\"name\":\"return_line\",\"count\":1},{\"name\":\"return_bezierCurve\",\"count\":1},{\"name\":\"darkMode\",\"count\":1},{\"name\":\"stateAnimation\",\"count\":1},{\"name\":\"duration\",\"count\":1},{\"name\":\"easing\",\"count\":1},{\"name\":\"blendMode\",\"count\":1},{\"name\":\"hoverLayerThreshold\",\"count\":1},{\"name\":\"useUTC\",\"count\":1},{\"name\":\"options\",\"count\":1},{\"name\":\"media\",\"count\":1},{\"name\":\"query\",\"count\":1},{\"name\":\"minWidth\",\"count\":1},{\"name\":\"maxHeight\",\"count\":1},{\"name\":\"minAspectRatio\",\"count\":1}];","var DebugRect = (function () {\n    function DebugRect(style) {\n        var dom = this.dom = document.createElement('div');\n        dom.className = 'ec-debug-dirty-rect';\n        style = Object.assign({}, style);\n        Object.assign(style, {\n            backgroundColor: 'rgba(0, 0, 255, 0.2)',\n            border: '1px solid #00f'\n        });\n        dom.style.cssText = \"\\nposition: absolute;\\nopacity: 0;\\ntransition: opacity 0.5s linear;\\npointer-events: none;\\n\";\n        for (var key in style) {\n            if (style.hasOwnProperty(key)) {\n                dom.style[key] = style[key];\n            }\n        }\n    }\n    DebugRect.prototype.update = function (rect) {\n        var domStyle = this.dom.style;\n        domStyle.width = rect.width + 'px';\n        domStyle.height = rect.height + 'px';\n        domStyle.left = rect.x + 'px';\n        domStyle.top = rect.y + 'px';\n    };\n    DebugRect.prototype.hide = function () {\n        this.dom.style.opacity = '0';\n    };\n    DebugRect.prototype.show = function () {\n        var _this = this;\n        clearTimeout(this._hideTimeout);\n        this.dom.style.opacity = '1';\n        this._hideTimeout = setTimeout(function () {\n            _this.hide();\n        }, 500);\n    };\n    return DebugRect;\n}());\nexport default function (zr, opts) {\n    opts = opts || {};\n    var painter = zr.painter;\n    if (!painter.getLayers) {\n        throw new Error('Debug dirty rect can only been used on canvas renderer.');\n    }\n    if (painter.isSingleCanvas()) {\n        throw new Error('Debug dirty rect can only been used on zrender inited with container.');\n    }\n    var debugViewRoot = document.createElement('div');\n    debugViewRoot.style.cssText = \"\\nposition:absolute;\\nleft:0;\\ntop:0;\\nright:0;\\nbottom:0;\\npointer-events:none;\\n\";\n    debugViewRoot.className = 'ec-debug-dirty-rect-container';\n    var debugRects = [];\n    var dom = zr.dom;\n    dom.appendChild(debugViewRoot);\n    var computedStyle = getComputedStyle(dom);\n    if (computedStyle.position === 'static') {\n        dom.style.position = 'relative';\n    }\n    zr.on('rendered', function () {\n        if (painter.getLayers) {\n            var idx_1 = 0;\n            painter.eachBuiltinLayer(function (layer) {\n                if (!layer.debugGetPaintRects) {\n                    return;\n                }\n                var paintRects = layer.debugGetPaintRects();\n                for (var i = 0; i < paintRects.length; i++) {\n                    if (!debugRects[idx_1]) {\n                        debugRects[idx_1] = new DebugRect(opts.style);\n                        debugViewRoot.appendChild(debugRects[idx_1].dom);\n                    }\n                    debugRects[idx_1].show();\n                    debugRects[idx_1].update(paintRects[i]);\n                    idx_1++;\n                }\n            });\n            for (var i = idx_1; i < debugRects.length; i++) {\n                debugRects[i].hide();\n            }\n        }\n    });\n}\n","import {store} from '../common/store';\nimport {URL_PARAMS, SCRIPT_URLS} from '../common/config';\nimport {downloadBlob} from '../common/helper';\n\nconst hasRootPath = store.sourceCode.indexOf('ROOT_PATH') >= 0;\nconst rootPathCode = hasRootPath ? `var ROOT_PATH = '${store.cdnRoot}'` : '';\n\nexport function download() {\n    const code = `<!--\n    THIS EXAMPLE WAS DOWNLOADED FROM ${window.location.href}\n-->\n<!DOCTYPE html>\n<html style=\"height: 100%\">\n    <head>\n        <meta charset=\"utf-8\">\n    </head>\n    <body style=\"height: 100%; margin: 0\">\n        <div id=\"container\" style=\"height: 100%\"></div>\n\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsMinJS}\"></script>\n        <!-- Uncomment this line if you want to dataTool extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/dist/extension/dataTool.min.js\"></script>\n        -->\n        <!-- Uncomment this line if you want to use gl extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsGLMinJS}\"></script>\n        -->\n        <!-- Uncomment this line if you want to echarts-stat extension\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsStatMinJS}\"></script>\n        -->\n        <!-- Uncomment this line if you want to use map\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/map/js/china.js\"></script>\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/map/js/world.js\"></script>\n        -->\n        <!-- Uncomment these two lines if you want to use bmap extension\n        <script type=\"text/javascript\" src=\"https://api.map.baidu.com/api?v=2.0&ak=<Your Key Here>\"></script>\n        <script type=\"text/javascript\" src=\"${SCRIPT_URLS.echartsDir}/dist/extension/bmap.min.js\"></script>\n        -->\n\n        <script type=\"text/javascript\">\nvar dom = document.getElementById(\"container\");\nvar myChart = echarts.init(dom);\nvar app = {};\n\nvar option;\n\n${rootPathCode}\n\n${store.sourceCode}\n\nif (option && typeof option === 'object') {\n    myChart.setOption(option);\n}\n\n        </script>\n    </body>\n</html>\n    `;\n    const file = new Blob([code], {\n        type: 'text/html;charset=UTF-8',\n        encoding: 'UTF-8'\n    });\n    // download the blob\n    downloadBlob(file, URL_PARAMS.c + '.html');\n}","import showDebugDirtyRect from '../dep/showDebugDirtyRect';\n\nexport function createSandbox(optionUpdated) {\n    let appEnv = {};\n    let gui;\n\n    let _intervalIdList = [];\n    let _timeoutIdList = [];\n\n    const _oldSetTimeout = window.setTimeout;\n    const _oldSetInterval = window.setInterval;\n\n    function setTimeout(func, delay) {\n        var id = _oldSetTimeout(func, delay);\n        _timeoutIdList.push(id);\n        return id;\n    };\n    function setInterval(func, gap) {\n        var id = _oldSetInterval(func, gap);\n        _intervalIdList.push(id);\n        return id;\n    };\n    function _clearTimeTickers() {\n        for (var i = 0; i < _intervalIdList.length; i++) {\n            clearInterval(_intervalIdList[i]);\n        }\n        for (var i = 0; i < _timeoutIdList.length; i++) {\n            clearTimeout(_timeoutIdList[i]);\n        }\n        _intervalIdList = [];\n        _timeoutIdList = [];\n    }\n    const _events = [];\n    function _wrapOnMethods(chart) {\n        const oldOn = chart.on;\n        const oldSetOption = chart.setOption;\n        chart.on = function (eventName) {\n            const res = oldOn.apply(chart, arguments);\n            _events.push(eventName);\n            return res;\n        };\n        chart.setOption = function () {\n            const res = oldSetOption.apply(this, arguments);\n            optionUpdated && optionUpdated(chart);\n            return res;\n        };\n    }\n\n    function _clearChartEvents(chart) {\n        _events.forEach(function (eventName) {\n            if (chart) {\n                chart.off(eventName);\n            }\n        });\n\n        _events.length = 0;\n    }\n\n    let chartInstance;\n\n    return {\n        resize() {\n            if (chartInstance) {\n                chartInstance.resize();\n            }\n        },\n\n        dispose() {\n            if (chartInstance) {\n                chartInstance.dispose();\n                chartInstance = null;\n            }\n        },\n\n        getDataURL() {\n            return chartInstance.getDataURL({\n                pixelRatio: 2,\n                excludeComponents: ['toolbox']\n            });\n        },\n\n        getOption() {\n            return chartInstance.getOption();\n        },\n\n        run(el, store) {\n\n            if (!chartInstance) {\n                chartInstance = echarts.init(el, store.darkMode ? 'dark' : '', {\n                    renderer: store.renderer,\n                    useDirtyRect: store.useDirtyRect\n                });\n                if (store.useDirtyRect && store.renderer === 'canvas') {\n                    try {\n                        showDebugDirtyRect(chartInstance.getZr(), {\n                            autoHideDelay: 500\n                        });\n                    }\n                    catch (e) {\n                        console.error(e);\n                    }\n                }\n                _wrapOnMethods(chartInstance);\n            }\n\n            // if (this.hasEditorError()) {\n            //     log(this.$t('editor.errorInEditor'), 'error');\n            //     return;\n            // }\n\n            // TODO Scope the variables in component.\n            _clearTimeTickers();\n            _clearChartEvents(chartInstance);\n            // Reset\n            appEnv.config = null;\n\n            // run the code\n\n            const compiledCode = store.runCode;\n\n            const func = new Function(\n                'myChart', 'app', 'setTimeout', 'setInterval', 'ROOT_PATH',\n                'var option;\\n' + compiledCode + '\\nreturn option;'\n            );\n            const option = func(chartInstance, appEnv, setTimeout, setInterval, store.cdnRoot);\n            let updateTime = 0;\n\n            if (option && typeof option === 'object') {\n                const startTime = +new Date();\n                chartInstance.setOption(option, true);\n                const endTime = +new Date();\n                updateTime = endTime - startTime;\n            }\n\n            if (gui) {\n                $(gui.domElement).remove();\n                gui.destroy();\n                gui = null;\n            }\n\n            if (appEnv.config) {\n                gui = new dat.GUI({\n                    autoPlace: false\n                });\n                $(gui.domElement).css({\n                    position: 'absolute',\n                    right: 5,\n                    top: 0,\n                    zIndex: 1000\n                });\n                $('.right-container').append(gui.domElement);\n\n                var configParameters = appEnv.configParameters || {};\n                for (var name in appEnv.config) {\n                    var value = appEnv.config[name];\n                    if (name !== 'onChange' && name !== 'onFinishChange') {\n                        var isColor = false;\n                        // var value = obj;\n                        var controller = null;\n                        if (configParameters[name]) {\n                            if (configParameters[name].options) {\n                                controller = gui.add(appEnv.config, name, configParameters[name].options);\n                            }\n                            else if (configParameters[name].min != null) {\n                                controller = gui.add(appEnv.config, name, configParameters[name].min, configParameters[name].max);\n                            }\n                        }\n                        if (typeof obj === 'string') {\n                            try {\n                                var colorArr = echarts.color.parse(value);\n                                isColor = !!colorArr;\n                                if (isColor) {\n                                    value = echarts.color.stringify(colorArr, 'rgba');\n                                }\n                            }\n                            catch (e) {}\n                        }\n                        if (!controller) {\n                            controller = gui[isColor ? 'addColor' : 'add'](appEnv.config, name);\n                        }\n                        appEnv.config.onChange && controller.onChange(appEnv.config.onChange);\n                        appEnv.config.onFinishChange && controller.onFinishChange(appEnv.config.onFinishChange);\n                    }\n                }\n            }\n\n            return updateTime;\n        }\n    };\n};","import Vue from 'vue';\nimport VueI18n from 'vue-i18n';\nimport messages from './common/i18n';\nimport EditorPage from './editor/Editor.vue';\nimport ExplorePage from './explore/Explore.vue';\nimport ViewPage from './editor/View.vue';\nimport {store} from './common/store';\nimport VueScrollactive from 'vue-scrollactive';\n\nVue.use(VueScrollactive);\n\n/**\n *\n * @param {*} el\n * @param {Object} option\n * @param {string} [option.cdnRoot]\n * @param {string} [option.page] editor | explore\n * @param {string} [option.locale] zh | en\n * @param {string} [option.version]\n */\nexport function init(el, option) {\n    const i18n = new VueI18n({\n        locale: option.locale,\n        fallbackLocale: 'en',\n        messages\n    });\n    store.cdnRoot = option.cdnRoot;\n    store.version = option.version;\n    store.locale = option.locale || 'en';\n\n\n    if (typeof el === 'string') {\n        el = document.querySelector(el);\n    }\n    if (!el) {\n        throw new Error('Can\\'t find el.');\n    }\n\n    const container = document.createElement('div');\n    el.appendChild(container);\n\n    new Vue({\n        i18n,\n        el: container,\n        render: h => {\n            return h(({\n                editor: EditorPage,\n                explore: ExplorePage,\n                view: ViewPage\n            })[option.page] || ExplorePage);\n        }\n    });\n}","module.exports = __webpack_public_path__ + \"../asset/placeholder.jpg\";","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"138px\\\" viewBox=\\\"0 0 175 138\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>bar</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"bar\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M121.488231,0 L102.050114,0 C99.36627,-1.1969592e-16 97.1905846,2.17568537 97.1905846,4.85952929 L97.1905846,133.140471 C97.1905846,135.824315 99.36627,138 102.050114,138 L121.488231,138 C124.172075,138 126.34776,135.824315 126.34776,133.140471 L126.34776,4.85952929 C126.34776,2.17568537 124.172075,1.1969592e-16 121.488231,0 Z M170.083523,30.1571753 L150.645406,30.1571753 C147.961562,30.1571753 145.785877,32.3328607 145.785877,35.0167046 L145.785877,132.207289 C145.785877,134.891133 147.961562,137.066819 150.645406,137.066819 L170.083523,137.066819 C172.767367,137.066819 174.943052,134.891133 174.943052,132.207289 L174.943052,35.0167046 C174.943052,32.3328607 172.767367,30.1571753 170.083523,30.1571753 Z M53.4548215,39.8762339 C50.7709777,39.876234 48.5952924,42.0519193 48.5952924,44.7357631 L48.5952924,132.207289 C48.5952924,134.891133 50.7709777,137.066818 53.4548215,137.066819 L72.8929386,137.066819 C75.5767824,137.066818 77.7524677,134.891133 77.7524677,132.207289 L77.7524677,44.7357631 C77.7524676,42.0519193 75.5767824,39.876234 72.8929386,39.8762339 L53.4548215,39.8762339 Z M29.1571753,67.17388 L29.1571753,132.207289 C29.1571753,134.891133 26.9814901,137.066818 24.2976462,137.066819 L4.85952929,137.066819 C2.17568537,137.066819 3.28676086e-16,134.891133 0,132.207289 L0,67.17388 C7.33863613e-08,64.4900361 2.17568542,62.3143508 4.85952929,62.3143508 L24.2976462,62.3143508 C26.98149,62.3143509 29.1571753,64.4900362 29.1571753,67.17388 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"98px\\\" viewBox=\\\"0 0 175 98\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>boxplot</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"boxplot\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M165.206074,4.85900217 L165.206074,43.7310195 L145.770065,43.7310195 L145.770065,14.5770065 C145.770065,11.8934537 143.594616,9.71800434 140.911063,9.71800434 L72.8850325,9.71800434 C70.2014797,9.71800434 68.0260304,11.8934537 68.0260304,14.5770065 L68.0260304,82.6030369 C68.0260304,85.2865897 70.2014797,87.462039 72.8850325,87.462039 L140.911063,87.462039 C143.594616,87.462039 145.770065,85.2865897 145.770065,82.6030369 L145.770065,53.4490239 L165.206074,53.4490239 L165.206074,92.3210412 C165.206074,95.004594 167.381523,97.1800434 170.065076,97.1800434 C172.748629,97.1800434 174.924078,95.004594 174.924078,92.3210412 L174.924078,4.85900217 C174.924078,2.17544937 172.748629,1.43751749e-14 170.065076,1.42108547e-14 C167.381523,-1.05827854e-15 165.206074,2.17544937 165.206074,4.85900217 Z M58.308026,14.5770065 L58.308026,82.6030369 C58.308026,83.8917244 57.7960969,85.1276306 56.8848572,86.0388703 C55.9736176,86.9501099 54.7377114,87.462039 53.4490239,87.462039 L34.0130152,87.462039 C31.3294624,87.462039 29.154013,85.2865897 29.154013,82.6030369 L29.154013,53.4490239 L9.71800434,53.4490239 L9.71800434,92.3210412 C9.71800434,95.004594 7.54255497,97.1800434 4.85900217,97.1800434 C2.17544937,97.1800434 3.28640434e-16,95.004594 0,92.3210412 L0,4.85900217 C-3.28640434e-16,2.17544937 2.17544937,4.31255248e-14 4.85900217,4.26325641e-14 C7.54255497,4.21396035e-14 9.71800434,2.17544937 9.71800434,4.85900217 L9.71800434,43.7310195 L29.154013,43.7310195 L29.154013,14.5770065 C29.154013,11.8934537 31.3294624,9.71800434 34.0130152,9.71800434 L53.4490239,9.71800434 C56.1325767,9.71800434 58.308026,11.8934537 58.308026,14.5770065 L58.308026,14.5770065 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"164px\\\" height=\\\"138px\\\" viewBox=\\\"0 0 164 138\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>calendar </title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"calendar-\\\" transform=\\\"translate(-0.500000, -0.315789)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M147.236842,56.3782895 C147.236842,53.9965615 145.304597,52.0657895 142.921053,52.0657895 L125.657895,52.0657895 C123.27435,52.0657895 121.342105,53.9965615 121.342105,56.3782895 L121.342105,65.0032895 C121.342105,67.3850175 123.27435,69.3157895 125.657895,69.3157895 L142.921053,69.3157895 C145.304597,69.3157895 147.236842,67.3850175 147.236842,65.0032895 L147.236842,56.3782895 Z M147.236842,82.2532895 C147.236842,79.8715615 145.304597,77.9407895 142.921053,77.9407895 L125.657895,77.9407895 C123.27435,77.9407895 121.342105,79.8715615 121.342105,82.2532895 L121.342105,90.8782895 C121.342105,93.2600175 123.27435,95.1907895 125.657895,95.1907895 L142.921053,95.1907895 C145.304597,95.1907895 147.236842,93.2600175 147.236842,90.8782895 L147.236842,82.2532895 Z M112.710526,56.3782895 C112.710526,53.9965615 110.778282,52.0657895 108.394737,52.0657895 L91.1315789,52.0657895 C88.7480342,52.0657895 86.8157895,53.9965615 86.8157895,56.3782895 L86.8157895,65.0032895 C86.8157895,67.3850175 88.7480342,69.3157895 91.1315789,69.3157895 L108.394737,69.3157895 C110.778282,69.3157895 112.710526,67.3850175 112.710526,65.0032895 L112.710526,56.3782895 Z M112.710526,82.2532895 C112.710526,79.8715615 110.778282,77.9407895 108.394737,77.9407895 L91.1315789,77.9407895 C88.7480342,77.9407895 86.8157895,79.8715615 86.8157895,82.2532895 L86.8157895,90.8782895 C86.8157895,93.2600175 88.7480342,95.1907895 91.1315789,95.1907895 L108.394737,95.1907895 C110.778282,95.1907895 112.710526,93.2600175 112.710526,90.8782895 L112.710526,82.2532895 Z M112.710526,108.128289 C112.710526,105.746561 110.778282,103.815789 108.394737,103.815789 L91.1315789,103.815789 C88.7480342,103.815789 86.8157895,105.746561 86.8157895,108.128289 L86.8157895,116.753289 C86.8157895,119.135017 88.7480342,121.065789 91.1315789,121.065789 L108.394737,121.065789 C110.778282,121.065789 112.710526,119.135017 112.710526,116.753289 L112.710526,108.128289 Z M78.1842105,56.3782895 C78.1842105,53.9965615 76.2519658,52.0657895 73.8684211,52.0657895 L56.6052632,52.0657895 C54.2217184,52.0657895 52.2894737,53.9965615 52.2894737,56.3782895 L52.2894737,65.0032895 C52.2894737,67.3850175 54.2217184,69.3157895 56.6052632,69.3157895 L73.8684211,69.3157895 C76.2519658,69.3157895 78.1842105,67.3850175 78.1842105,65.0032895 L78.1842105,56.3782895 Z M78.1842105,82.2532895 C78.1842105,79.8715615 76.2519658,77.9407895 73.8684211,77.9407895 L56.6052632,77.9407895 C54.2217184,77.9407895 52.2894737,79.8715615 52.2894737,82.2532895 L52.2894737,90.8782895 C52.2894737,93.2600175 54.2217184,95.1907895 56.6052632,95.1907895 L73.8684211,95.1907895 C76.2519658,95.1907895 78.1842105,93.2600175 78.1842105,90.8782895 L78.1842105,82.2532895 Z M78.1842105,108.128289 C78.1842105,105.746561 76.2519658,103.815789 73.8684211,103.815789 L56.6052632,103.815789 C54.2217184,103.815789 52.2894737,105.746561 52.2894737,108.128289 L52.2894737,116.753289 C52.2894737,119.135017 54.2217184,121.065789 56.6052632,121.065789 L73.8684211,121.065789 C76.2519658,121.065789 78.1842105,119.135017 78.1842105,116.753289 L78.1842105,108.128289 Z M43.6578947,82.2532895 C43.6578947,79.8715615 41.72565,77.9407895 39.3421053,77.9407895 L22.0789474,77.9407895 C19.6954027,77.9407895 17.7631579,79.8715615 17.7631579,82.2532895 L17.7631579,90.8782895 C17.7631579,93.2600175 19.6954027,95.1907895 22.0789474,95.1907895 L39.3421053,95.1907895 C41.72565,95.1907895 43.6578947,93.2600175 43.6578947,90.8782895 L43.6578947,82.2532895 Z M43.6578947,108.128289 C43.6578947,105.746561 41.72565,103.815789 39.3421053,103.815789 L22.0789474,103.815789 C19.6954027,103.815789 17.7631579,105.746561 17.7631579,108.128289 L17.7631579,116.753289 C17.7631579,119.135017 19.6954027,121.065789 22.0789474,121.065789 L39.3421053,121.065789 C41.72565,121.065789 43.6578947,119.135017 43.6578947,116.753289 L43.6578947,108.128289 Z M164.5,39.1282895 L164.5,134.003289 C164.5,136.385017 162.567755,138.315789 160.184211,138.315789 L4.81578947,138.315789 C2.43224476,138.315789 0.5,136.385017 0.5,134.003289 L0.5,39.1282895 C0.5,36.7465615 2.43224476,34.8157895 4.81578947,34.8157895 L160.184211,34.8157895 C162.567755,34.8157895 164.5,36.7465615 164.5,39.1282895 Z M164.5,4.62828947 L164.5,21.8782895 C164.5,24.2600175 162.567755,26.1907895 160.184211,26.1907895 L4.81578947,26.1907895 C2.43224476,26.1907895 0.5,24.2600175 0.5,21.8782895 L0.5,4.62828947 C0.5,2.24656149 2.43224476,0.315789474 4.81578947,0.315789474 L160.184211,0.315789474 C162.567755,0.315789474 164.5,2.24656149 164.5,4.62828947 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"138px\\\" viewBox=\\\"0 0 175 138\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>Candlestick (1)</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"Candlestick-(1)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M121.508001,34.0222403 L116.647681,33.0222403 L116.647681,4.86032 C116.647681,2.17603934 114.471642,-7.11961547e-08 111.787361,-7.11961549e-08 C109.10308,-7.1196155e-08 106.927041,2.17603934 106.927041,4.86032 L106.927041,33.0222403 L102.066721,33.0222403 C100.777684,33.0222403 99.5414424,33.5343082 98.6299556,34.4457951 C97.7184688,35.3572819 97.2064009,36.5935234 97.2064009,37.8825604 L97.2064009,105.927041 C97.2064009,107.216078 97.7184688,108.452319 98.6299556,109.363806 C99.5414424,110.275293 100.777684,110.787361 102.066721,110.787361 L106.927041,110.787361 L106.927041,125.572455 C106.927041,128.256735 109.10308,130.432775 111.787361,130.432775 C114.471642,130.432775 116.647681,128.256735 116.647681,125.572455 L116.647681,110.787361 L121.508001,110.787361 C122.797038,110.787361 124.03328,110.275293 124.944766,109.363806 C125.856253,108.452319 126.368321,107.216078 126.368321,105.927041 L126.368321,37.8825604 C126.368321,36.5935233 125.856253,35.3572819 124.944766,34.445795 C124.03328,33.5343082 122.797038,33.0222402 121.508001,33.0222403 L121.508001,34.0222403 Z M170.111202,41.6032004 L165.250881,41.6032004 L165.250881,27.0222403 C165.250881,24.3379598 163.074842,22.1619207 160.390561,22.1619207 C157.706281,22.1619207 155.530242,24.3379598 155.530241,27.0222403 L155.530241,41.6032004 L150.669921,41.6032004 C149.380884,41.6032004 148.144643,42.1152684 147.233156,43.0267552 C146.321669,43.938242 145.809601,45.1744835 145.809601,46.4635205 L145.809601,75.6254408 C145.809601,78.3097214 147.985641,80.4857608 150.669921,80.4857608 L155.530241,80.4857608 L155.530241,104.729037 C155.530241,107.413318 157.706281,109.589357 160.390561,109.589357 C163.074842,109.589357 165.250881,107.413318 165.250881,104.729037 L165.250881,80.4857608 L170.111202,80.4857608 C172.795482,80.4857608 174.971522,78.3097214 174.971522,75.6254408 L174.971522,46.4635205 C174.971522,45.1744835 174.459454,43.938242 173.547967,43.0267552 C172.63648,42.1152684 171.400239,41.6032004 170.111202,41.6032004 L170.111202,41.6032004 Z M72.9048007,84.3460808 L68.0444807,84.3460808 L68.0444807,55.1841605 C68.0444805,52.4998799 65.8684412,50.3238407 63.1841606,50.3238407 C60.49988,50.3238407 58.3238406,52.4998799 58.3238405,55.1841605 L58.3238405,84.3460808 L53.4635205,84.3460808 C52.1744835,84.3460807 50.938242,84.8581487 50.0267552,85.7696355 C49.1152683,86.6811224 48.6032003,87.9173639 48.6032004,89.2064009 L48.6032004,118.368321 C48.6032004,119.657358 49.1152684,120.8936 50.0267552,121.805086 C50.938242,122.716573 52.1744835,123.228641 53.4635205,123.228641 L58.3238405,123.228641 L58.3238405,132.949281 C58.3238406,135.633562 60.49988,137.809601 63.1841606,137.809601 C65.8684412,137.809601 68.0444805,135.633562 68.0444807,132.949281 L68.0444807,123.228641 L72.9048007,123.228641 C75.5890813,123.228641 77.7651206,121.052602 77.7651206,118.368321 L77.7651206,89.2064009 C77.7651207,87.9173639 77.2530527,86.6811224 76.3415659,85.7696356 C75.4300791,84.8581488 74.1938377,84.3460808 72.9048007,84.3460808 Z M29.1619203,41.6032004 L29.1619203,90.2064009 C29.1619203,92.8906815 26.9858809,95.0667209 24.3016003,95.0667209 L19.4412801,95.0667209 L19.4412801,119.572455 C19.4412801,122.256735 17.2652407,124.432775 14.5809601,124.432775 C11.8966795,124.432775 9.72064013,122.256735 9.72064013,119.572455 L9.72064013,95.0667209 L4.86032,95.0667209 C2.17603938,95.0667209 3.28729566e-16,92.8906815 0,90.2064009 L0,41.6032004 C-3.28729566e-16,38.9189198 2.17603938,36.7428804 4.86032,36.7428804 L9.72064013,36.7428804 L9.72064013,12.4412801 C9.72064013,9.75699951 11.8966795,7.58096013 14.5809601,7.58096013 C17.2652407,7.58096013 19.4412801,9.75699951 19.4412801,12.4412801 L19.4412801,36.7428804 L24.3016003,36.7428804 C26.9858809,36.7428804 29.1619203,38.9189198 29.1619203,41.6032004 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"159px\\\" height=\\\"142px\\\" viewBox=\\\"0 0 159 142\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>custom</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"custom\\\" transform=\\\"translate(0.000000, -0.825151)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M74.8235294,81.2918174 L74.8235294,138.091817 C74.8235294,140.705965 72.7298022,142.825151 70.1470588,142.825151 L4.67647054,142.825151 C2.09372718,142.825151 3.16294839e-16,140.705965 0,138.091817 L0,81.2918174 C-3.63362476e-08,80.0364594 0.492698108,78.8325175 1.36970646,77.9448453 C2.24671482,77.0571731 3.43619342,76.558484 4.67647054,76.558484 L70.1470588,76.558484 C71.387336,76.558484 72.5768146,77.0571731 73.4538229,77.9448453 C74.3308313,78.8325175 74.8235294,80.0364594 74.8235294,81.2918174 Z M74.8235294,5.55848402 L74.8235294,62.358484 C74.8235294,63.6138421 74.3308313,64.817784 73.4538229,65.7054562 C72.5768146,66.5931284 71.387336,67.0918174 70.1470588,67.0918174 L4.67647054,67.0918174 C3.43619342,67.0918174 2.24671482,66.5931284 1.36970646,65.7054562 C0.492698108,64.817784 -3.63362423e-08,63.6138421 0,62.358484 L0,5.55848402 C-2.35506485e-15,4.30312598 0.492698161,3.09918414 1.36970651,2.21151195 C2.24671486,1.32383977 3.43619344,0.825150732 4.67647054,0.825150732 L70.1470588,0.825150732 C72.7298022,0.825150732 74.8235294,2.94433623 74.8235294,5.55848402 Z M159,10.2918174 L159,57.6251507 C159,62.8534463 154.812546,67.0918174 149.647059,67.0918174 L93.5294118,67.0918174 C88.363925,67.0918174 84.1764706,62.8534464 84.1764706,57.6251507 L84.1764706,10.2918174 C84.1764706,5.06352179 88.363925,0.825150732 93.5294118,0.825150732 L149.647059,0.825150732 C154.812546,0.825150809 159,5.06352184 159,10.2918174 Z M154.323529,76.558484 C155.563807,76.558484 156.753285,77.0571731 157.630294,77.9448453 C158.507302,78.8325175 159,80.0364594 159,81.2918174 L159,138.091817 C159,140.705965 156.906273,142.825151 154.323529,142.825151 L88.8529412,142.825151 C86.2701978,142.825151 84.1764706,140.705965 84.1764706,138.091817 L84.1764706,81.2918174 C84.1764706,80.0364594 84.6691687,78.8325175 85.5461771,77.9448453 C86.4231854,77.0571731 87.612664,76.558484 88.8529412,76.558484 L154.323529,76.558484 L154.323529,76.558484 Z M93.5294118,133.358484 L149.647059,133.358484 L149.647059,86.0251507 L93.5294118,86.0251507 L93.5294118,133.358484 L93.5294118,133.358484 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"83px\\\" viewBox=\\\"0 0 175 83\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>dataZoom</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"dataZoom\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M9.20037003,18.4191593 L9.20957963,13.8143694 L9.20957963,18.4191593 L41.4431082,18.4191593 L41.4431082,64.4670572 L9.20957963,64.4670572 L9.20957963,18.4191593 L9.20037003,18.4191593 Z M133.538904,64.4670572 L133.538904,18.4191593 L165.772433,18.4191593 L165.772433,64.4670572 L133.538904,64.4670572 L133.538904,64.4670572 Z M165.772433,9.20957963 L133.538904,9.20957963 L133.538904,4.60478981 C133.538904,2.06163473 131.47727,2.74466854e-07 128.934115,2.74466854e-07 C126.390959,2.74466855e-07 124.329325,2.06163473 124.329325,4.60478981 L124.329325,9.20957963 L50.6526879,9.20957963 L50.6526879,4.60478981 C50.6526879,2.06163462 48.5910532,-6.1602121e-15 46.047898,-6.31593544e-15 C43.5047429,-6.47165878e-15 41.4431082,2.06163462 41.4431082,4.60478981 L41.4431082,9.20957963 L9.20957963,9.20957963 C4.13510123,9.20957963 0,13.3446809 0,18.4191593 L0,64.4670572 C0,69.5507451 4.13510123,73.6766368 9.20957963,73.6766368 L41.4431082,73.6766368 L41.4431082,78.2814267 C41.4431082,80.8245818 43.5047429,82.8862165 46.047898,82.8862165 C48.5910532,82.8862165 50.6526879,80.8245818 50.6526879,78.2814267 L50.6526879,73.6766368 L124.329325,73.6766368 L124.329325,78.2814267 C124.329325,80.8245818 126.390959,82.8862165 128.934115,82.8862165 C131.47727,82.8862165 133.538904,80.8245818 133.538904,78.2814267 L133.538904,73.6766368 L165.772433,73.6766368 C170.858743,73.6766368 174.982013,69.5533676 174.982013,64.4670572 L174.982013,18.4191593 C174.982013,13.3446809 170.856121,9.20957963 165.772433,9.20957963 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"145px\\\" height=\\\"157px\\\" viewBox=\\\"0 0 145 157\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>dataset</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"dataset\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M77,133.051622 C77,135.720999 74.7614237,137.884956 72,137.884956 C69.2385763,137.884956 67,135.720999 67,133.051622 L67,92.7182891 C67,90.0489128 69.2385763,87.8849558 72,87.8849558 C74.7614237,87.8849558 77,90.0489128 77,92.7182891 L77,133.051622 Z M87,92.7182888 C87.0000002,90.0489126 89.2385764,87.8849558 92,87.8849558 C94.7614236,87.8849558 96.9999998,90.0489126 97,92.7182888 L97,133.051623 C96.9999998,135.720999 94.7614236,137.884956 92,137.884956 C89.2385764,137.884956 87.0000002,135.720999 87,133.051623 L87,92.7182888 Z M58,133.072456 C58,135.730326 55.7614237,137.884956 53,137.884956 C50.2385763,137.884956 48,135.730326 48,133.072456 L48,73.6974557 C48,71.0395854 50.2385763,68.8849558 53,68.8849558 C55.7614237,68.8849558 58,71.0395854 58,73.6974557 L58,133.072456 Z M39,133.066774 C38.9999999,135.727782 36.7614237,137.884956 34,137.884956 C31.2385763,137.884956 29.0000001,135.727782 29,133.066774 L29,44.7031376 C29,42.0421293 31.2385763,39.8849558 34,39.8849558 C36.7614237,39.8849558 39,42.0421293 39,44.7031376 L39,133.066774 Z M126.3,132.884956 L126.3,63.9913737 C126.403893,62.6917747 125.897136,61.4145164 124.9129,60.4952543 L83.0962,21.7192841 C82.9895,21.6282393 82.8537001,21.5918214 82.7469999,21.5098811 C81.8447692,20.5509026 80.5501183,19.997952 79.1870999,19.9894333 L39,19.9894333 L39,10.8849558 L135.9903,10.8849558 L136,132.884956 L126.3,132.884956 Z M116,146.884956 L10,146.884956 L10,28.8849558 L74.0143636,28.8849558 L74.0143636,58.8841865 C74.0143636,63.8855711 78.3314545,67.9611095 83.6507272,67.9611097 L116,67.9611097 L116,146.884956 Z M144.990333,10.0614263 C144.990333,5.00519104 140.659667,0.884955752 135.323667,0.884955752 L38.6666667,0.884955752 C33.3403334,0.884955752 29.0000001,5.00519104 28.9999999,10.0614263 L28.9999999,19.2378969 L9.66666665,19.2378969 C4.34033332,19.2378969 0,23.3581322 0,28.4143675 L0,147.708485 C0,152.773897 4.34033332,156.884956 9.66666665,156.884956 L116,156.884956 C121.338753,156.884956 125.666667,152.77651 125.666667,147.708485 L125.666667,142.202603 L135.333333,142.202603 C140.672086,142.202603 145,138.094157 145,133.026132 L144.990333,10.0614263 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"159px\\\" viewBox=\\\"0 0 175 159\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>drag</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"drag\\\" transform=\\\"translate(0.000000, 0.000000)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M174.799112,77.2243509 C175.141784,80.4933122 173.860538,83.7226514 171.369927,85.8675022 L145.821493,107.665891 C143.704571,109.29545 140.681703,108.978807 138.948417,106.945941 C137.215132,104.913075 137.380357,101.878162 139.32409,100.045479 L158.345038,83.8019696 L92.4385031,83.8019696 L92.4385031,144.173679 L109.273597,130.085944 C111.397298,128.30558 114.562167,128.583909 116.342532,130.70761 C118.122896,132.83131 117.844567,135.99618 115.720867,137.776544 L93.3308935,156.516741 C89.5429956,159.697467 83.9995074,159.633553 80.2859517,156.366338 L59.0490671,137.706356 C57.140269,135.840194 57.0244102,132.80703 58.7852891,130.800695 C60.546168,128.79436 63.5687212,128.515654 65.6667932,130.166159 L82.4116455,144.885586 L82.4116455,83.8019696 L16.5051101,83.8019696 L35.5360859,100.045479 C36.9700273,101.186546 37.6671397,103.019075 37.3541473,104.824694 C37.041155,106.630312 35.7679333,108.121296 34.0335988,108.713163 C32.2992644,109.305031 30.380183,108.903467 29.0286553,107.665891 L3.52032945,85.8975828 C1.25557692,83.9644222 -0.0328273042,81.1246883 0.00397844461,78.147297 C0.0407841935,75.1699056 1.39899211,72.3628885 3.71083975,70.4863026 L29.118897,49.820949 C31.2816477,48.328475 34.2285594,48.7508003 35.8850928,50.7906204 C37.5416262,52.8304405 37.3503183,55.8013071 35.4458442,57.6118174 L15.5625855,73.7751119 L82.4116455,73.7751119 L82.4116455,14.1153089 L65.6667932,28.8347359 C64.3276607,30.0598688 62.43094,30.4655542 60.7078175,29.8954003 C58.9846951,29.3252464 57.7042897,27.8683002 57.360198,26.0862151 C57.0161064,24.30413 57.662069,22.4752334 59.0490671,21.3045658 L80.2759248,2.65461056 C83.9853287,-0.629787191 89.5418994,-0.698070701 93.3308935,2.49418084 L115.720867,21.2243509 C117.320514,22.5881211 117.904229,24.8023516 117.184781,26.777481 C116.465334,28.7526104 114.594242,30.0726692 112.492218,30.0880931 C111.314421,30.0896881 110.174126,29.6740664 109.273597,28.9149508 L92.4385031,14.8272158 L92.4385031,73.7751119 L159.29759,73.7751119 L139.414331,57.6118174 C138.022627,56.4816171 137.339593,54.6948034 137.622523,52.9244518 C137.905453,51.1541001 139.111362,49.669169 140.785997,49.0290176 C142.460631,48.3888662 144.349574,48.6907487 145.741278,49.820949 L171.149336,70.4863026 C173.218763,72.1532673 174.533435,74.5803549 174.799112,77.2243509\\\" id=\\\"Path\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"137px\\\" viewBox=\\\"0 0 175 137\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>funnel </title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"funnel-\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M116.331467,108.325366 L60.5285591,108.325366 C58.9291301,108.325102 57.4459378,109.160985 56.6178211,110.52934 C55.7897045,111.897695 55.7371711,113.5994 56.4793063,115.016231 L66.3876358,133.863994 C67.1750739,135.367321 68.7306799,136.310539 70.4277481,136.313655 L106.432278,136.313655 C108.129346,136.310539 109.684952,135.367321 110.47239,133.863994 L120.380719,115.016231 C121.122854,113.5994 121.070321,111.897695 120.242204,110.52934 C119.414088,109.160985 117.930896,108.325102 116.331467,108.325366 L116.331467,108.325366 Z M134.968998,71.0137414 L41.9001683,71.0137414 C40.2925309,71.0025161 38.7981975,71.8401445 37.9688482,73.2173896 C37.139499,74.5946346 37.098146,76.3072185 37.8600561,77.722887 L47.8415098,96.5706503 C48.6348072,98.0648166 50.1899261,98.9971843 51.881622,98.9928896 L125.024106,98.9928896 C126.716211,98.9981743 128.270437,98.0607046 129.055078,96.5615098 L139.00911,77.7137465 C139.754942,76.2976526 139.705659,74.5945859 138.879188,73.2239903 C138.052717,71.8533948 136.569493,71.014997 134.968998,71.0137414 L134.968998,71.0137414 Z M153.63395,35.5759245 L23.2352156,35.5759245 C21.6347203,35.5771801 20.151496,36.4155778 19.325025,37.7861734 C18.498554,39.156769 18.4492717,40.8598357 19.1951033,42.2759296 L29.1491354,61.1145524 C29.9359394,62.6172637 31.4930184,63.5578521 33.1892477,63.5550727 L143.70734,63.5550727 C145.402425,63.5537423 146.957543,62.6143387 147.747452,61.1145524 L157.674063,42.266789 C158.415446,40.8514003 158.363824,39.1515952 157.537917,37.7838041 C156.712011,36.4160129 155.231751,35.5788553 153.63395,35.5759245 L153.63395,35.5759245 Z M174.995358,4.69922974 C174.994253,5.44166711 174.81229,6.17265769 174.465208,6.82897225 L164.538597,25.6767355 C163.746223,27.1729824 162.191592,28.108575 160.498485,28.1081153 L14.4968732,28.1081153 C12.8031994,28.1106197 11.2475937,27.1744407 10.4567611,25.6767355 L0.530150516,6.82897225 C-0.215681017,5.41287837 -0.166398756,3.70981169 0.660072225,2.33921611 C1.48654321,0.96862053 2.96976742,0.130222778 4.57026264,0.1289671 L170.425096,0.1289671 C172.949182,0.1289671 174.995358,2.17514338 174.995358,4.69922974 L174.995358,4.69922974 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"100px\\\" viewBox=\\\"0 0 175 100\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>gange</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"gange\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M143.698895,82.9089367 C142.437361,67.6655629 135.026556,53.5920156 123.171797,43.9267897 L135.7146,25.9137777 C153.409366,39.7333892 164.305583,60.4959162 165.625777,82.9089367 L143.698895,82.9089367 L143.698895,82.9089367 Z M115.601912,38.6960173 C112.342946,36.8541942 108.909619,35.339582 105.352176,34.174346 L107.654453,22.8655635 C107.981818,21.2534161 107.424245,19.5890834 106.191766,18.4995036 C104.959288,17.4099237 103.239147,17.0606298 101.679304,17.5831975 C100.119461,18.1057651 98.9568933,19.4208039 98.6295287,21.0329513 L96.4193432,31.8996968 C93.4676767,31.3974455 90.4804994,31.132603 87.4865101,31.1077136 C77.1817177,31.1042083 67.0761605,33.9468942 58.284434,39.3222365 L45.5021944,21.4934066 C70.6181595,5.43266895 102.701308,5.12868193 128.117087,20.7106326 L115.601912,38.6960173 L115.601912,38.6960173 Z M31.2649159,82.9089367 L9.34724295,82.9089367 C10.6455448,61.0475255 21.0636813,40.7358347 38.0612364,26.9267794 L50.843476,44.7464001 C39.5322634,54.3814577 32.493597,68.101229 31.2649159,82.9089367 L31.2649159,82.9089367 Z M87.4865101,0.0269797767 C39.2492112,0.0269797767 0,39.276191 0,87.5134899 C5.46353103e-08,90.0565144 2.06152873,92.118043 4.60455321,92.118043 L35.685287,92.118043 C38.2283115,92.118043 40.2898401,90.0565144 40.2898401,87.5134899 C40.315223,61.4580101 61.4310302,40.3422029 87.4865101,40.31682 C89.908505,40.31682 92.2384089,40.6759751 94.5683128,41.0351302 L86.9247546,78.6451205 C82.0531374,79.4923583 78.2774037,83.5443651 78.2774037,88.6646282 C78.2774037,94.3864333 82.9158433,99.0248728 88.6376484,99.0248728 C94.3594535,99.0248728 98.997893,94.3864333 98.997893,88.6646282 C98.997893,85.7361324 97.7546637,83.102328 95.793124,81.2236703 L103.501146,43.3005704 C121.633876,49.8942906 134.68318,67.1337376 134.68318,87.5134899 C134.68318,90.0565144 136.744709,92.118043 139.287733,92.118043 L170.368467,92.118043 C172.911491,92.118043 174.97302,90.0565144 174.97302,87.5134899 C174.97302,39.276191 135.723809,0.0269798756 87.4865101,0.0269797767 L87.4865101,0.0269797767 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"142px\\\" viewBox=\\\"0 0 175 142\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>geo</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"geo\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M9.20332621,34.019885 L55.2181167,56.861627 L55.2181167,128.571076 L9.20332621,103.207724 L9.20332621,34.019885 Z M171.819596,50.2815119 L151.996424,43.1124076 C149.63126,42.3318353 147.074346,43.5747977 146.227189,45.9169373 C145.380032,48.2590769 146.550177,50.8501245 148.867418,51.7631882 L165.653614,57.8371405 L165.653614,131.138702 L119.638823,119.625801 L119.638823,87.4706656 C119.638823,84.9293389 117.578671,82.8691865 115.037344,82.8691865 C112.496018,82.8691865 110.435865,84.9293389 110.435865,87.4706656 L110.435865,119.644207 L64.4210748,131.41479 L64.4210748,58.2236647 L81.060023,51.7263763 C83.2914479,50.7138845 84.3410975,48.1328302 83.4496557,45.8503474 C82.5582139,43.5678645 80.037126,42.3813901 77.7101463,43.1492194 L61.2460542,49.5820871 L6.64490386,22.4793755 C5.21943693,21.7614379 3.52312776,21.8367966 2.16693957,22.6783095 C0.810751382,23.5198224 -0.00997312356,25.0062796 0.000368118324,26.6023007 L0.000368118324,105.913394 C0.000368118324,107.597535 0.91146097,109.134429 2.38393426,109.944289 L58.8072703,141.059491 C59.8287987,141.620871 61.0435892,141.795727 62.16635,141.49203 L115.046547,127.963681 L169.141535,141.501233 C170.516378,141.840666 171.970958,141.532118 173.089604,140.663763 C174.206625,139.788526 174.858383,138.44767 174.856572,137.028595 L174.856572,54.6069022 C174.855748,52.6695411 173.64154,50.9402146 171.819596,50.2815119 Z M115.037344,16.5986853 C121.13907,16.6012266 126.083435,21.5497125 126.080894,27.651438 C126.078353,33.7531634 121.129867,38.697529 115.028141,38.6949877 C108.926416,38.6924463 103.98205,33.7439604 103.984592,27.642235 C103.987133,21.5405096 108.935619,16.596144 115.037344,16.5986853 L115.037344,16.5986853 Z M99.5763747,54.7173377 C102.208421,58.3341002 105.00612,61.9140509 107.813022,65.199507 C108.806942,66.3866886 109.718035,67.4358258 110.491083,68.3285127 C111.04326,68.8806902 111.402176,69.2856204 111.558626,69.4512736 C112.438859,70.4713636 113.723372,71.0524431 115.07068,71.0400337 C116.417988,71.0276243 117.69158,70.4229833 118.552874,69.3868529 C118.72773,69.2211997 119.06824,68.8254725 119.555997,68.264092 C120.506081,67.2663872 121.406012,66.2220982 122.252463,65.1350863 C125.059366,61.8496302 127.866268,58.2788825 130.498314,54.6437141 C133.121157,51.0177486 135.412694,47.4470008 137.262488,44.0879211 C140.741206,37.8851274 142.646219,32.5382087 142.646219,28.1207888 C142.701436,12.5861956 130.314255,0.0425636812 115.028141,0.0425636812 C99.7604339,0.0425636812 87.42847,12.5861956 87.42847,28.1207888 C87.42847,32.5382087 89.3334823,37.9403451 92.8029975,44.1523418 C94.7172128,47.5114215 97.0087494,51.0729663 99.5763747,54.7173377 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"120px\\\" viewBox=\\\"0 0 175 120\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>gl</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"gl\\\" fill=\\\"#5067A2\\\"> <path d=\\\"M170.394737,101.315789 L119.736842,101.315789 L119.736842,4.60526316 C119.736842,2.06315789 117.673684,0 115.131579,0 L105.921053,0 C103.378947,0 101.315789,2.06315789 101.315789,4.60526316 L101.315789,115.131579 C101.315789,117.673684 103.378947,119.736842 105.921053,119.736842 L170.394737,119.736842 C172.936842,119.736842 175,117.673684 175,115.131579 L175,105.921053 C175,103.378947 172.936842,101.315789 170.394737,101.315789\\\" id=\\\"Fill-1\\\"></path> <path d=\\\"M78.2894737,0 L4.60526316,0 C2.06315789,0 0,2.06315789 0,4.60526316 L0,115.131579 C0,117.673684 2.06315789,119.736842 4.60526316,119.736842 L78.2894737,119.736842 C80.8315789,119.736842 82.8947368,117.673684 82.8947368,115.131579 L82.8947368,59.8684211 C82.8947368,57.3263158 80.8315789,55.2631579 78.2894737,55.2631579 L41.4473684,55.2631579 C38.9052632,55.2631579 36.8421053,57.3263158 36.8421053,59.8684211 L36.8421053,69.0789474 C36.8421053,71.6210526 38.9052632,73.6842105 41.4473684,73.6842105 L64.4736842,73.6842105 L64.4736842,101.315789 L18.4210526,101.315789 L18.4210526,18.4210526 L64.4736842,18.4210526 L64.4736842,32.2368421 C64.4736842,34.7789474 66.5368421,36.8421053 69.0789474,36.8421053 L78.2894737,36.8421053 C80.8315789,36.8421053 82.8947368,34.7789474 82.8947368,32.2368421 L82.8947368,4.60526316 C82.8947368,2.06315789 80.8315789,0 78.2894737,0\\\" id=\\\"Fill-3\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"171px\\\" height=\\\"146px\\\" viewBox=\\\"0 0 171 146\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>graph</title> <desc>Created with Sketch.</desc> <defs> <polygon id=\\\"path-1\\\" points=\\\"0.06 0 171 0 171 146 0.06 146\\\"></polygon> </defs> <g id=\\\"graph\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <mask id=\\\"mask-2\\\" fill=\\\"white\\\"> <use xlink:href=\\\"#path-1\\\"></use> </mask> <g id=\\\"Clip-2\\\"></g> <path d=\\\"M171,100 C171,106.075 166.075,111 160,111 C154.016,111 149.158,106.219 149.014,100.27 L114.105,83.503 C111.564,86.693 108.179,89.18 104.282,90.616 L108.698,124.651 C112.951,126.172 116,130.225 116,135 C116,141.075 111.075,146 105,146 C98.925,146 94,141.075 94,135 C94,131.233 95.896,127.912 98.781,125.93 L94.364,91.896 C82.94,90.82 74,81.206 74,69.5 C74,69.479 74.001,69.46 74.001,69.439 L53.719,64.759 C50.642,70.269 44.76,74 38,74 C36.07,74 34.215,73.689 32.472,73.127 L20.624,90.679 C21.499,92.256 22,94.068 22,96 C22,102.075 17.075,107 11,107 C4.925,107 0,102.075 0,96 C0,89.925 4.925,85 11,85 C11.452,85 11.895,85.035 12.332,85.089 L24.184,67.531 C21.574,64.407 20,60.389 20,56 C20,48.496 24.594,42.07 31.121,39.368 L29.111,21.279 C24.958,19.707 22,15.704 22,11 C22,4.925 26.925,0 33,0 C39.075,0 44,4.925 44,11 C44,14.838 42.031,18.214 39.051,20.182 L41.061,38.279 C49.223,39.681 55.49,46.564 55.95,55.011 L76.245,59.694 C79.889,52.181 87.589,47 96.5,47 C100.902,47 105.006,48.269 108.475,50.455 L131.538,27.391 C131.192,26.322 131,25.184 131,24 C131,17.925 135.925,13 142,13 C148.075,13 153,17.925 153,24 C153,30.075 148.075,35 142,35 C140.816,35 139.678,34.808 138.609,34.461 L115.546,57.525 C117.73,60.994 119,65.098 119,69.5 C119,71.216 118.802,72.884 118.438,74.49 L153.345,91.257 C155.193,89.847 157.495,89 160,89 C166.075,89 171,93.925 171,100\\\" id=\\\"Fill-1\\\" fill=\\\"#4F608A\\\" mask=\\\"url(#mask-2)\\\"></path> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"165px\\\" height=\\\"137px\\\" viewBox=\\\"0 0 165 137\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>heatmap</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"heatmap\\\" transform=\\\"translate(-0.500000, -0.474277)\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M44.5999999,89.4742765 L5.40000005,89.4742765 C2.6938048,89.4742765 0.500000074,87.2916647 0.5,84.5992766 L0.5,55.3492765 C0.500000074,52.6568883 2.6938048,50.4742765 5.40000005,50.4742765 L44.5999999,50.4742765 C47.3061952,50.4742765 49.4999999,52.6568883 49.5,55.3492765 L49.5,84.5992766 C49.4999999,87.2916647 47.3061952,89.4742765 44.5999999,89.4742765\\\" id=\\\"Path\\\" fill=\\\"#687DB0\\\"></path> <path d=\\\"M102.6,89.4742765 L63.3999999,89.4742765 C60.6938047,89.4742765 58.5000001,87.2916647 58.5,84.5992766 L58.5,55.3492765 C58.5000001,52.6568884 60.6938047,50.4742766 63.3999999,50.4742765 L102.6,50.4742765 C105.306195,50.4742765 107.5,52.6568883 107.5,55.3492765 L107.5,84.5992766 C107.5,87.2916647 105.306195,89.4742765 102.6,89.4742765\\\" id=\\\"Path\\\" fill=\\\"#8497C0\\\"></path> <path d=\\\"M160.6,89.4742765 L121.4,89.4742765 C118.693805,89.4742765 116.5,87.2916647 116.5,84.5992766 L116.5,55.3492765 C116.5,52.6568884 118.693805,50.4742766 121.4,50.4742765 L160.6,50.4742765 C163.306195,50.4742766 165.5,52.6568884 165.5,55.3492765 L165.5,84.5992766 C165.5,87.2916647 163.306195,89.4742765 160.6,89.4742765\\\" id=\\\"Path\\\" fill=\\\"#A7B4D1\\\"></path> <path d=\\\"M44.5999999,137.474277 L5.40000005,137.474277 C2.69380475,137.474277 0.5,135.291665 0.5,132.599276 L0.5,103.349277 C0.5,100.656888 2.69380475,98.4742765 5.40000005,98.4742765 L44.5999999,98.4742765 C45.8995608,98.4742765 47.1458949,98.9878911 48.0648232,99.902131 C48.9837515,100.816371 49.5,102.056346 49.5,103.349277 L49.5,132.599276 C49.5,135.291665 47.3061953,137.474277 44.5999999,137.474277\\\" id=\\\"Path\\\" fill=\\\"#8497C0\\\"></path> <path d=\\\"M102.6,137.474277 L63.3999999,137.474277 C60.6938047,137.474276 58.5,135.291665 58.5,132.599276 L58.5,103.349277 C58.5,100.656888 60.6938047,98.4742766 63.3999999,98.4742765 L102.6,98.4742765 C105.306195,98.4742765 107.5,100.656888 107.5,103.349277 L107.5,132.599276 C107.5,135.291665 105.306195,137.474277 102.6,137.474277\\\" id=\\\"Path\\\" fill=\\\"#A7B4D1\\\"></path> <path d=\\\"M160.6,137.474277 L121.4,137.474277 C118.693805,137.474276 116.5,135.291665 116.5,132.599276 L116.5,103.349277 C116.5,100.656888 118.693805,98.4742766 121.4,98.4742765 L160.6,98.4742765 C163.306195,98.4742766 165.5,100.656888 165.5,103.349277 L165.5,132.599276 C165.5,135.291665 163.306195,137.474276 160.6,137.474277\\\" id=\\\"Path\\\" fill=\\\"#CDD5E3\\\"></path> <path d=\\\"M5.40000005,0.474276527 L44.5999999,0.474276527 C47.3061953,0.474276527 49.5,2.65688839 49.5,5.34927658 L49.5,34.5992765 C49.5,37.2916647 47.3061953,39.4742765 44.5999999,39.4742765 L5.40000005,39.4742765 C2.69380475,39.4742765 0.5,37.2916647 0.5,34.5992765 L0.5,5.34927658 C0.5,2.65688839 2.69380475,0.474276527 5.40000005,0.474276527\\\" id=\\\"Path\\\" fill=\\\"#5067A2\\\"></path> <path d=\\\"M102.6,39.4742765 L63.3999999,39.4742765 C60.6938047,39.4742765 58.5,37.2916646 58.5,34.5992765 L58.5,5.34927658 C58.5,2.65688845 60.6938047,0.474276601 63.3999999,0.474276527 L102.6,0.474276527 C105.306195,0.474276527 107.5,2.65688839 107.5,5.34927658 L107.5,34.5992765 C107.5,37.2916647 105.306195,39.4742765 102.6,39.4742765\\\" id=\\\"Path\\\" fill=\\\"#687DB0\\\"></path> <path d=\\\"M160.6,39.4742765 L121.4,39.4742765 C118.693805,39.4742765 116.5,37.2916646 116.5,34.5992765 L116.5,5.34927658 C116.5,2.65688845 118.693805,0.474276601 121.4,0.474276527 L160.6,0.474276527 C163.306195,0.474276601 165.5,2.65688845 165.5,5.34927658 L165.5,34.5992765 C165.5,37.2916646 163.306195,39.4742765 160.6,39.4742765\\\" id=\\\"Path\\\" fill=\\\"#8497C0\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"138px\\\" viewBox=\\\"0 0 175 138\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>line</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"line\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M25.2739189,111.655778 C26.7855309,111.657407 28.2007506,110.913642 29.0567232,109.667735 L69.3606163,51.4346379 L108.642876,94.5825372 C109.596174,95.6275458 110.977093,96.1760957 112.387618,96.0700817 C113.798143,95.9640677 115.081554,95.2152689 115.86794,94.0395069 L167.15209,17.582681 C168.126301,16.2187314 168.281888,14.4329668 167.558237,12.9210891 C166.834585,11.4092114 165.346152,10.4103472 163.672804,10.3136363 C161.999456,10.2169253 160.40586,11.0376639 159.512851,12.4561069 L111.496086,84.0348638 L72.2782537,40.9605957 C71.3313898,39.926718 69.968454,39.3754562 68.5690807,39.4603596 C67.1694417,39.5586882 65.8899144,40.2864616 65.0900052,41.4391988 L21.4911146,104.439918 C20.5200574,105.846972 20.4090348,107.676368 21.202809,109.190526 C21.9965833,110.704685 23.5643138,111.65402 25.2739189,111.655778\\\" id=\\\"Path\\\"></path> <path d=\\\"M170.272214,127.854648 L9.20390349,127.854648 L9.20390349,5.00465881 C9.20390349,2.46307104 7.14353951,0.402707066 4.60195174,0.402707066 C2.06036398,0.402707066 3.11254732e-16,2.46307104 0,5.00465881 L0,132.4566 C3.11254728e-16,134.998188 2.06036395,137.058552 4.60195168,137.058552 L170.272214,137.058552 C172.813801,137.058552 174.874165,134.998188 174.874165,132.4566 C174.874165,129.915012 172.813801,129.257355 170.272214,129.257355\\\" id=\\\"Path\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"163px\\\" height=\\\"137px\\\" viewBox=\\\"0 0 163 137\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>lines</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"lines\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M118.024118,118.8 C120.522388,118.8 122.566427,120.8475 122.566427,123.35 C122.566427,125.8525 120.522388,127.9 118.024118,127.9 C115.517543,127.894993 113.486807,125.860819 113.481809,123.35 C113.481809,120.8475 115.525848,118.8 118.024118,118.8 Z M142.434485,46 L64.9673569,46 C62.4587091,46 60.4250482,48.0371044 60.4250482,50.55 C60.4250482,53.0628956 62.4587091,55.1 64.9673569,55.1 L142.034762,55.0909 C149.519307,56.1087027 154.7743,62.9956941 153.790257,70.4972 C152.963556,76.6852 148.066948,81.5264 142.434485,82.2544 L20.6642736,82.2726 C14.6272756,82.8301001 9.06337697,85.7822231 5.21133949,90.4717 C0.0521031846,96.7506172 -1.39663076,105.298969 1.40493936,112.931618 C4.20650947,120.564268 10.8382585,126.136619 18.8291809,127.5724 L105.232977,127.8909 C107.143393,133.33221 112.265894,136.980155 118.024118,137 C125.537097,137 131.651044,130.8757 131.651044,123.35 C131.651044,115.8243 125.537097,109.7 118.024118,109.7 C112.110032,109.7 107.113492,113.5129 105.232977,118.8 L21.8634431,118.8728 L20.4099043,118.618 C14.3307333,117.521702 9.72082575,112.509885 9.12680957,106.3512 C8.77445503,102.712306 9.88625731,99.0830035 12.2155795,96.2684 C14.5594108,93.4383 17.8571269,91.6911 21.0912506,91.3544 L142.988646,91.3271 C153.280464,90.058092 161.421536,81.9929721 162.802197,71.6984 C164.446513,59.2314 155.679857,47.729 142.434485,46 Z\\\" id=\\\"Shape\\\"></path> <path d=\\\"M31.9999101,18.2496933 C36.9704563,18.2496933 40.9998801,22.3350263 40.9998801,27.37454 C40.9998801,32.4140537 36.9704563,36.4993867 31.9999101,36.4993867 C27.0293639,36.4993867 22.9999401,32.4140537 22.9999401,27.37454 C22.9999401,22.3350263 27.0293639,18.2496933 31.9999101,18.2496933 Z M16.8799604,56.2181803 C19.4539519,59.9411177 22.1809428,63.6184309 24.9259336,66.9946242 C25.9069304,68.2173537 26.7979274,69.3032104 27.5539249,70.2156951 C28.1029231,70.7814356 28.435922,71.1920537 28.5979214,71.3654258 C30.4699152,73.555389 33.5839048,73.555389 35.4378986,71.3015518 C35.617898,71.1373046 35.932897,70.7266865 36.4188954,70.1518212 C37.2648925,69.2393365 38.1288897,68.1443549 39.0558866,66.9307503 C41.8008774,63.554557 44.5368683,59.8863687 47.1108598,56.1451815 C49.6758512,52.4131192 51.9258437,48.7449309 53.7348377,45.2957388 C57.1368264,38.917471 58.9998202,33.4243133 58.9998202,28.8710148 C59.05382,12.911658 46.9398603,0 31.9909101,0 C17.0509599,0 5,12.911658 5,28.8710148 C5,33.4243133 6.8629938,38.9722201 10.2559825,45.3596128 C12.1279763,48.8088048 14.3689688,52.4678683 16.8799604,56.2181803 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"142px\\\" viewBox=\\\"0 0 175 142\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>geo</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"geo\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M9.20332621,34.019885 L55.2181167,56.861627 L55.2181167,128.571076 L9.20332621,103.207724 L9.20332621,34.019885 Z M171.819596,50.2815119 L151.996424,43.1124076 C149.63126,42.3318353 147.074346,43.5747977 146.227189,45.9169373 C145.380032,48.2590769 146.550177,50.8501245 148.867418,51.7631882 L165.653614,57.8371405 L165.653614,131.138702 L119.638823,119.625801 L119.638823,87.4706656 C119.638823,84.9293389 117.578671,82.8691865 115.037344,82.8691865 C112.496018,82.8691865 110.435865,84.9293389 110.435865,87.4706656 L110.435865,119.644207 L64.4210748,131.41479 L64.4210748,58.2236647 L81.060023,51.7263763 C83.2914479,50.7138845 84.3410975,48.1328302 83.4496557,45.8503474 C82.5582139,43.5678645 80.037126,42.3813901 77.7101463,43.1492194 L61.2460542,49.5820871 L6.64490386,22.4793755 C5.21943693,21.7614379 3.52312776,21.8367966 2.16693957,22.6783095 C0.810751382,23.5198224 -0.00997312356,25.0062796 0.000368118324,26.6023007 L0.000368118324,105.913394 C0.000368118324,107.597535 0.91146097,109.134429 2.38393426,109.944289 L58.8072703,141.059491 C59.8287987,141.620871 61.0435892,141.795727 62.16635,141.49203 L115.046547,127.963681 L169.141535,141.501233 C170.516378,141.840666 171.970958,141.532118 173.089604,140.663763 C174.206625,139.788526 174.858383,138.44767 174.856572,137.028595 L174.856572,54.6069022 C174.855748,52.6695411 173.64154,50.9402146 171.819596,50.2815119 Z M115.037344,16.5986853 C121.13907,16.6012266 126.083435,21.5497125 126.080894,27.651438 C126.078353,33.7531634 121.129867,38.697529 115.028141,38.6949877 C108.926416,38.6924463 103.98205,33.7439604 103.984592,27.642235 C103.987133,21.5405096 108.935619,16.596144 115.037344,16.5986853 L115.037344,16.5986853 Z M99.5763747,54.7173377 C102.208421,58.3341002 105.00612,61.9140509 107.813022,65.199507 C108.806942,66.3866886 109.718035,67.4358258 110.491083,68.3285127 C111.04326,68.8806902 111.402176,69.2856204 111.558626,69.4512736 C112.438859,70.4713636 113.723372,71.0524431 115.07068,71.0400337 C116.417988,71.0276243 117.69158,70.4229833 118.552874,69.3868529 C118.72773,69.2211997 119.06824,68.8254725 119.555997,68.264092 C120.506081,67.2663872 121.406012,66.2220982 122.252463,65.1350863 C125.059366,61.8496302 127.866268,58.2788825 130.498314,54.6437141 C133.121157,51.0177486 135.412694,47.4470008 137.262488,44.0879211 C140.741206,37.8851274 142.646219,32.5382087 142.646219,28.1207888 C142.701436,12.5861956 130.314255,0.0425636812 115.028141,0.0425636812 C99.7604339,0.0425636812 87.42847,12.5861956 87.42847,28.1207888 C87.42847,32.5382087 89.3334823,37.9403451 92.8029975,44.1523418 C94.7172128,47.5114215 97.0087494,51.0729663 99.5763747,54.7173377 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"148px\\\" viewBox=\\\"0 0 175 148\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>parallel</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"parallel\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M119.966527,90.2642567 L119.966527,71.4595035 L164.953975,91.1040224 L164.953975,117.16675 L119.966527,90.2642567 Z M99.5422259,68.8202399 L109.969317,68.8202399 L109.969317,80.2370544 L99.5422259,68.8202399 Z M64.9818688,58.8230293 L64.9818688,45.8666444 L76.8485579,58.8230293 L64.9818688,58.8230293 L64.9818688,58.8230293 Z M9.99721065,95.6627504 L9.99721065,37.9888424 L54.9846583,37.9888424 L54.9846583,61.3523236 L9.99721065,95.6627504 Z M170,2.04051565e-11 C167.238576,2.04245402e-11 165,2.23857623 165,4.99999995 L165,80.2194419 L120,60.5694419 L120,5.00139509 C120,2.23997133 117.761424,0.00139506489 115,0.00139506489 C112.238576,0.00139506489 110,2.23997133 110,5.00139509 L110,58.8394419 L90.42,58.8394419 L64.9999999,31.059442 L64.9999999,5.00139509 C64.9999999,2.23997137 62.7614237,0.00139513813 60,0.00139513813 C57.2385763,0.00139513813 55,2.23997137 55,5.00139509 L55,27.999442 L10,27.999442 L10,4.99999995 C10,2.23857619 7.76142378,-7.3221713e-08 5.00000002,-7.32217131e-08 C2.23857626,-7.32217133e-08 3.38176877e-16,2.23857619 0,4.99999995 L0,142.999442 C3.38176877e-16,145.760866 2.23857626,147.999442 5.00000002,147.999442 C7.76142378,147.999442 10,145.760866 10,142.999442 L10,108.249442 L55,73.9494419 L55,142.999442 C55,145.760866 57.2385763,147.999442 60,147.999442 C62.7614237,147.999442 64.9999999,145.760866 64.9999999,142.999442 L64.9999999,68.839442 L86.01,68.839442 L110,95.0694419 L110,142.999442 C110,145.760866 112.238576,147.999442 115,147.999442 C117.761424,147.999442 120,145.760866 120,142.999442 L120,101.939442 L165,128.839442 L165,142.999442 C165,145.760866 167.238576,147.999442 170,147.999442 C172.761424,147.999442 175,145.760866 175,142.999442 L175,4.99999995 C175,3.67391749 174.473216,2.40214791 173.535534,1.46446603 C172.597852,0.526784141 171.326082,-3.88296707e-08 170,2.04051565e-11 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"141px\\\" viewBox=\\\"0 0 175 141\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>pictorialBar</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"pictorialBar\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M165.182447,113.123194 C161.75364,113.169204 158.605604,115.027549 156.908673,118.007359 L62.4782339,118.007359 C59.7807842,118.007359 57.5940692,120.194074 57.5940692,122.891524 C57.5940692,125.588973 59.7807842,127.775688 62.4782339,127.775688 L156.908673,127.775688 C158.605604,130.755498 161.75364,132.613843 165.182447,132.659853 C170.576885,132.6592 174.949595,128.285961 174.949595,122.891524 C174.949595,117.497086 170.576885,113.123847 165.182447,113.123194 L165.182447,113.123194 Z M165.182447,78.9340419 C161.75364,78.980052 158.605603,80.8383969 156.908673,83.8182066 L77.2674843,83.8182066 C74.5700347,83.8182066 72.3833197,86.0049216 72.3833197,88.7023712 C72.3833197,91.3998208 74.5700347,93.5865358 77.2674843,93.5865358 L156.908673,93.5865358 C158.605603,96.5663455 161.75364,98.4246904 165.182447,98.4707005 C170.577347,98.4707005 174.950777,94.0972705 174.950777,88.7023712 C174.950777,83.3074719 170.577347,78.9340419 165.182447,78.9340419 L165.182447,78.9340419 Z M165.182447,44.7448896 C170.407595,44.9786234 174.523583,49.2828462 174.523583,54.5132188 C174.523583,59.7435915 170.407595,64.0478142 165.182447,64.2815481 C161.75364,64.235538 158.605604,62.3771932 156.908673,59.3973835 L77.2674843,59.3973835 C74.5700346,59.3973835 72.3833196,57.2106685 72.3833196,54.5132188 C72.3833196,51.8157692 74.5700346,49.6290542 77.2674843,49.6290542 L156.908673,49.6290542 C158.605604,46.6492445 161.75364,44.7908997 165.182447,44.7448896 Z M62.6149904,20.3240665 C62.6149904,19.0287054 63.1295706,17.7863991 64.0455291,16.8704405 C64.9614877,15.954482 66.2037941,15.4399018 67.4991551,15.4399019 L156.908673,15.4399019 C158.605604,12.4600922 161.75364,10.6017474 165.182447,10.5557373 C170.407595,10.7894711 174.523583,15.0936938 174.523583,20.3240665 C174.523583,25.5544392 170.407595,29.8586619 165.182447,30.0923957 C161.75364,30.0463857 158.605604,28.1880408 156.908673,25.2082312 L67.4991551,25.2082312 C66.2037941,25.2082312 64.9614877,24.6936511 64.0455291,23.7776925 C63.1295705,22.8617339 62.6149904,21.6194275 62.6149904,20.3240665 Z M23.5416735,29.3240665 C31.6340224,29.3240665 38.1941674,22.7639215 38.1941674,14.6715726 C38.1941674,6.57922368 31.6340224,0.0190787204 23.5416735,0.0190787204 C15.4493246,0.0190787204 8.88917966,6.57922368 8.88917966,14.6715726 C8.88917966,22.7639215 15.4493246,29.3240665 23.5416735,29.3240665 Z M34.0523957,34.2082312 L13.0211829,34.2082312 C10.6337153,34.2093302 8.59694107,35.9362503 8.20539657,38.2913927 L0.0683783524,87.133039 C-0.166957522,88.5485838 0.232108973,89.996 1.15960938,91.0909397 C2.08710979,92.1858793 3.44919091,92.8175461 4.88416457,92.8182066 L8.88917966,92.8182066 L9.0426883,136.115835 C9.0426883,138.813285 11.2294033,141 13.9268529,141 L33.4635113,141 C34.7588723,141 36.0011787,140.48542 36.9171373,139.569461 C37.8330959,138.653503 38.347676,137.411196 38.347676,136.115835 L38.1941674,92.8182066 L42.189414,92.8182066 C43.6255482,92.8209447 44.9898051,92.1902296 45.9180572,91.0944026 C46.8463094,89.9985755 47.2440794,88.5491696 47.0052003,87.133039 L38.8681821,38.2913927 C38.4766376,35.9362503 36.4398634,34.2093302 34.0523957,34.2082312 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"144px\\\" height=\\\"152px\\\" viewBox=\\\"0 0 144 152\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>pie (2)</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"pie-(2)\\\" transform=\\\"translate(0.000000, -0.612903)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M72.1778824,12.9606446 L72.1778824,73.6462877 C72.1779317,75.129331 72.9386663,76.5065116 74.1881954,77.2856176 C75.4377246,78.0647237 76.9977039,78.1345538 78.3105882,77.4701504 L128.354824,52.1402676 L132.666353,49.9503148 C134.757503,48.8920984 137.302156,49.7461658 138.350118,51.857969 L138.468706,52.1060495 L138.782118,52.8930638 C140.942118,58.6416896 144,65.8873535 144,83.8518095 C144,116.316148 115.123765,152.612903 73.2282353,152.612903 C31.3242354,152.612903 0,119.994584 0,80.8406245 C0,44.5353146 27.216,13.7391044 62.2588236,9.22232682 C64.122353,8.98280072 65.9265883,8.80315611 67.6715294,8.69194766 C68.8395088,8.61630135 69.986418,9.03213213 70.8400527,9.84074781 C71.6936873,10.6493635 72.1779411,11.7786714 72.1778824,12.9606446 Z M90.0254118,0.659269609 C88.9814749,0.488081123 87.9163292,0.795987208 87.1201941,1.49909291 C86.324059,2.20219861 85.8798887,3.22724309 85.9087059,4.29493319 L85.9087059,54.6039644 C85.9087059,56.9393437 87.6028236,57.8717845 89.5680001,56.7511446 L133.149176,31.9088684 C134.092985,31.4117209 134.762111,30.50855 134.968019,29.4538349 C135.173928,28.3991197 134.894328,27.3070442 134.208,26.4853136 C134.208,26.4853136 133.538824,25.5357637 132.446118,24.3381334 C127.296,18.6921614 122.832,14.7399812 116.860235,10.9417819 C109.345997,6.07770841 100.978781,2.71218494 92.2108235,1.0271132 C89.9745882,0.599388123 90.0254118,0.659269609 90.0254118,0.659269609 L90.0254118,0.659269609 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"151px\\\" height=\\\"170px\\\" viewBox=\\\"0 0 151 170\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>radar</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"radar\\\" transform=\\\"translate(0.500000, 0.000000)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M79.573911,32.0195055 C79.7511468,32.0807796 79.9252225,32.1507623 80.0954971,32.2291958 L126.376239,53.5077701 C128.225278,54.3572545 129.374745,56.2354539 129.285085,58.2607506 L126.927916,110.733256 C126.832633,112.851954 125.405699,114.680595 123.367088,115.296516 L76.444394,129.315811 C75.5054275,129.595861 74.5046062,129.595861 73.5656397,129.315811 L32.4706683,117.053921 C30.8367372,116.566659 29.5635821,115.286115 29.0909814,113.654618 C28.6183807,112.023122 29.0111288,110.264354 30.133561,108.985836 L59.2822032,75.635091 C59.7218624,75.142978 60.0532763,74.5647698 60.2551619,73.937598 L73.2246026,35.1848307 C74.1062345,32.570839 76.9431645,31.1565423 79.573911,32.0195055 L79.573911,32.0195055 Z M139.476076,121.926724 L75.0000016,158.991984 L10.5239274,121.926724 L10.5239274,47.816176 L75.0000016,10.7509165 L139.476076,47.816176 L139.476076,121.926724 Z M146.998953,40.6068232 L77.5076273,0.665810956 C75.9548023,-0.221936985 74.0452007,-0.221936985 72.4923757,0.665810956 L3.00105014,40.6068232 C1.44784731,41.4971353 0.491395456,43.1462367 0.493424274,44.9304378 L0.493424274,124.812462 C0.493424274,126.599823 1.44632208,128.247389 3.00105014,129.136077 L72.4923757,169.077089 C74.047355,169.95676 75.9526481,169.95676 77.5076273,169.077089 L146.998953,129.136077 C148.550638,128.244253 149.506533,126.596111 149.506579,124.812462 L149.506579,44.9304378 C149.506533,43.1467894 148.550638,41.4986473 146.998953,40.6068232 L146.998953,40.6068232 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"167px\\\" height=\\\"162px\\\" viewBox=\\\"0 0 167 162\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>rich</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"rich\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M5.52634288,101.24857 L96.0005147,101.24857 C98.7764873,101.24857 101.026858,98.9820436 101.026858,96.1861415 C101.026858,93.3902395 98.7764873,91.123713 96.0005147,91.123713 L5.52634288,91.123713 C2.75037036,91.123713 0.5,93.3902395 0.5,96.1861415 C0.5,98.9820436 2.75037036,101.24857 5.52634288,101.24857 Z M75.8951432,121.498284 L5.52634288,121.498284 C2.75037036,121.498284 0.5,123.76481 0.5,126.560713 C0.5,129.356615 2.75037036,131.623141 5.52634288,131.623141 L75.8951432,131.623141 C78.6711157,131.623141 80.9214861,129.356615 80.9214861,126.560713 C80.9214861,123.76481 78.6711157,121.498284 75.8951432,121.498284 Z M146.394628,92.0653247 L128.923061,116.435856 L146.394628,116.435856 L146.394628,92.0653247 Z M166.5,60.749142 L166.5,151.872855 C166.5,157.464659 161.999259,161.997712 156.447314,161.997712 C150.895369,161.997712 146.394628,157.464659 146.394628,151.872855 L146.394628,136.68557 L114.406982,136.68557 L99.2575849,157.806021 C96.0041451,162.338178 89.7188607,163.355849 85.2190093,160.079052 C80.7191578,156.802254 79.7087415,150.471846 82.9621813,145.939689 L148.304639,54.8261007 C148.455429,54.6033538 148.706746,54.4919804 148.867589,54.2894832 C149.318111,53.7697312 149.823755,53.3011987 150.375492,52.892253 C150.857637,52.4854402 151.379728,52.1292264 151.933658,51.829143 C152.481136,51.5631055 153.053631,51.3528145 153.642615,51.2014019 C154.31205,50.9842108 155.003114,50.8416105 155.703415,50.7761579 C155.954733,50.7559082 156.185944,50.624285 156.447314,50.624285 C156.819264,50.624285 157.130897,50.7964076 157.492794,50.836907 C158.850886,50.9717079 160.164137,51.3999382 161.342972,52.0923893 C161.674711,52.2746367 162.036608,52.3151361 162.338188,52.537883 C162.559347,52.7100056 162.659874,52.9428773 162.87098,53.1251247 C163.403773,53.5807433 163.836038,54.0869861 164.268304,54.6337284 C164.650306,55.1399712 165.022255,55.6259644 165.30373,56.1929564 C165.585206,56.7498235 165.766154,57.3370652 165.947102,57.9546815 C166.138103,58.6330469 166.298946,59.2709129 166.34921,59.969528 C166.369315,60.2428992 166.5,60.4757709 166.5,60.749142 L166.5,60.749142 Z M55.7897717,151.872855 L5.52634288,151.872855 C2.75037036,151.872855 0.5,154.139381 0.5,156.935284 C0.5,159.731186 2.75037036,161.997712 5.52634288,161.997712 L55.7897717,161.997712 C58.5657442,161.997712 60.8161146,159.731186 60.8161146,156.935284 C60.8161146,154.139381 58.5657442,151.872855 55.7897717,151.872855 Z M86.3887335,40.499428 L161.100608,40.499428 C164.04791,40.499428 166.437171,38.2329016 166.437171,35.4369995 C166.437171,32.6410974 164.04791,30.374571 161.100608,30.374571 L86.3887335,30.374571 C83.4414314,30.374571 81.052171,32.6410974 81.052171,35.4369995 C81.052171,38.2329016 83.4414314,40.499428 86.3887335,40.499428 Z M86.3887335,10.124857 L161.100608,10.124857 C164.04791,10.124857 166.437171,7.85833056 166.437171,5.0624285 C166.437171,2.26652644 164.04791,1.71199625e-16 161.100608,0 L86.3887335,0 C83.4414314,-1.71199625e-16 81.052171,2.26652644 81.052171,5.0624285 C81.052171,7.85833056 83.4414314,10.124857 86.3887335,10.124857 Z M5.6570278,70.873999 L60.9467995,70.873999 C63.722772,70.873999 65.9731424,68.6074726 65.9731424,65.8115705 L65.9731424,5.0624285 C65.9731424,2.26652644 63.722772,1.71199625e-16 60.9467995,0 L5.6570278,0 C2.88105528,-1.71199625e-16 0.630684915,2.26652644 0.630684915,5.0624285 L0.630684915,65.8115705 C0.630684915,68.6074726 2.88105528,70.873999 5.6570278,70.873999 Z M81.052171,65.8115705 C81.052171,63.0156685 83.3025414,60.749142 86.0785139,60.749142 L116.236571,60.749142 C119.012544,60.749142 121.262914,63.0156685 121.262914,65.8115705 C121.262914,68.6074726 119.012544,70.873999 116.236571,70.873999 L86.0785139,70.873999 C83.3025414,70.873999 81.052171,68.6074726 81.052171,65.8115705 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"139px\\\" viewBox=\\\"0 0 175 139\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>sankey</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"sankey\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M4.60195168,138.058552 C2.06036395,138.058552 3.11254728e-16,135.998188 0,133.4566 L0,115.048793 C-3.11254732e-16,112.507205 2.06036398,110.446841 4.60195174,110.446841 C7.14353951,110.446841 9.20390349,112.507205 9.20390349,115.048793 L9.20390349,133.4566 C9.20390349,134.677113 8.71905638,135.847638 7.856023,136.710671 C6.99298962,137.573705 5.82246517,138.058552 4.60195168,138.058552 M4.60195168,106.820503 C2.06036395,106.820503 3.11254728e-16,104.760139 0,102.218552 L0,4.60195168 C-3.11254732e-16,2.06036391 2.06036398,-6.74114049e-08 4.60195174,-6.74114054e-08 C7.14353951,-6.74114058e-08 9.20390349,2.06036391 9.20390349,4.60195168 L9.20390349,102.218552 C9.20390349,103.439065 8.71905638,104.60959 7.856023,105.472623 C6.99298962,106.335656 5.82246517,106.820503 4.60195168,106.820503\\\" id=\\\"Shape\\\" fill=\\\"#5067A2\\\"></path> <path d=\\\"M4.60195168,106.820503 C2.06036395,106.820503 3.11254728e-16,104.760139 0,102.218552 L0,4.60195168 C-3.11254732e-16,2.06036391 2.06036398,-6.74114049e-08 4.60195174,-6.74114054e-08 C7.14353951,-6.74114058e-08 9.20390349,2.06036391 9.20390349,4.60195168 L9.20390349,102.218552 C9.20390349,103.439065 8.71905638,104.60959 7.856023,105.472623 C6.99298962,106.335656 5.82246517,106.820503 4.60195168,106.820503\\\" id=\\\"Path\\\" fill=\\\"#5067A2\\\"></path> <path d=\\\"M87.4370826,64.4273241 C86.2165692,64.4273241 85.0460447,63.942477 84.1830114,63.0794436 C83.319978,62.2164103 82.8351309,61.0458858 82.835131,59.8253723 L82.835131,4.60195168 C82.835131,2.06036391 84.8954949,-6.74113054e-08 87.4370827,-6.74113059e-08 C89.9786705,-6.74113063e-08 92.0390345,2.06036391 92.0390345,4.60195168 L92.0390345,59.8253723 C92.0390345,61.0458858 91.5541874,62.2164103 90.691154,63.0794437 C89.8281206,63.9424771 88.6575962,64.4273242 87.4370826,64.4273241 M170.272214,38.2054031 C167.730626,38.2054031 165.670262,36.1450392 165.670262,33.6034515 L165.670262,4.60195168 C165.670262,2.06036391 167.730626,-6.74114049e-08 170.272214,-6.74114054e-08 C172.813801,-6.74114058e-08 174.874165,2.06036391 174.874165,4.60195168 L174.874165,33.6034515 C174.874165,34.823965 174.389318,35.9944894 173.526285,36.8575227 C172.663252,37.7205561 171.492727,38.2054032 170.272214,38.2054031 M105.84489,138.058552 C104.624376,138.058552 103.453852,137.573705 102.590818,136.710671 C101.727785,135.847638 101.242938,134.677113 101.242938,133.4566 L101.242938,78.2331793 C101.242938,75.6915915 103.303302,73.6312276 105.84489,73.6312276 C108.386477,73.6312276 110.446841,75.6915915 110.446841,78.2331793 L110.446841,133.4566 C110.446841,135.998188 108.386477,138.058552 105.84489,138.058552 M170.272214,138.058552 C167.730626,138.058552 165.670262,135.998188 165.670262,133.4566 L165.670262,48.3020853 C165.670262,45.7604975 167.730626,43.7001336 170.272214,43.7001336 C172.813801,43.7001336 174.874165,45.7604975 174.874165,48.3020853 L174.874165,133.4566 C174.874165,134.677113 174.389318,135.847638 173.526285,136.710671 C172.663252,137.573705 171.492727,138.058552 170.272214,138.058552\\\" id=\\\"Shape\\\" fill=\\\"#5067A2\\\"></path> <polygon id=\\\"Path\\\" fill=\\\"#95A5C8\\\" points=\\\"110.446841 133.4566 165.670262 133.4566 165.670262 78.2331793 110.446841 78.2331793\\\"></polygon> <polygon id=\\\"Path\\\" fill=\\\"#5067A2\\\" points=\\\"165.670262 133.4566 174.874165 133.4566 174.874165 78.2331793 165.670262 78.2331793\\\"></polygon> <path d=\\\"M165.670262,77.9478582 C124.491998,75.6100668 130.198418,59.8345763 92.0390345,59.8253723 L92.0390345,32.213662 C124.832542,32.2228659 136.825229,48.0167643 165.670262,48.6242219 L165.670262,77.9478582\\\" id=\\\"Path\\\" fill=\\\"#95A5C8\\\"></path> <path d=\\\"M92.0390345,59.8253723 L92.0022188,59.8253723 L92.0022188,32.213662 L92.0390345,32.213662 L92.0390345,59.8253723 M174.874165,78.2331793 C171.56076,78.2055676 168.505064,78.1135285 165.670262,77.9478582 L165.670262,48.6242219 L167.400596,48.6426296 C169.765999,48.6426296 172.260257,48.5413867 174.874165,48.3204931 L174.874165,78.2331793\\\" id=\\\"Shape\\\" fill=\\\"#5067A2\\\"></path> <polygon id=\\\"Path\\\" fill=\\\"#95A5C8\\\" points=\\\"92.0390345 32.213662 165.670262 32.213662 165.670262 4.60195168 92.0390345 4.60195168\\\"></polygon> <path d=\\\"M82.835131,32.213662 L92.0390345,32.213662 L92.0390345,4.60195168 L82.835131,4.60195168 L82.835131,32.213662 Z M165.670262,32.213662 L174.506009,32.213662 L174.506009,4.60195168 L165.670262,4.60195168 L165.670262,32.213662 Z\\\" id=\\\"Shape\\\" fill=\\\"#5067A2\\\"></path> <polygon id=\\\"Path\\\" fill=\\\"#95A5C8\\\" points=\\\"9.20390349 59.8253723 82.835131 59.8253723 82.835131 4.60195168 9.20390349 4.60195168\\\"></polygon> <polyline id=\\\"Path\\\" fill=\\\"#5067A2\\\" points=\\\"82.835131 59.8253723 82.835131 4.60195168 82.835131 59.8253723\\\"></polyline> <polygon id=\\\"Path\\\" fill=\\\"#95A5C8\\\" points=\\\"9.20390349 133.4566 101.242938 133.4566 101.242938 115.048793 9.20390349 115.048793\\\"></polygon> <polygon id=\\\"Path\\\" fill=\\\"#5067A2\\\" points=\\\"101.242938 133.4566 110.446841 133.4566 110.446841 115.048793 101.242938 115.048793\\\"></polygon> <path d=\\\"M101.242938,115.048793 C43.4792398,114.699045 52.1585208,101.445424 9.20390349,101.445424 L9.20390349,59.8253723 C56.5579867,59.8253723 47.7682589,78.1319363 101.242938,78.2331793 L101.242938,115.048793\\\" id=\\\"Path\\\" fill=\\\"#95A5C8\\\"></path> <path d=\\\"M101.675521,115.048793 L101.242938,115.048793 L101.242938,78.2331793 L101.675521,78.2331793 C104.335449,78.2331793 100.46981,113.723431 101.675521,115.048793\\\" id=\\\"Path\\\" fill=\\\"#5067A2\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"138px\\\" viewBox=\\\"0 0 175 138\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>scatter</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"scatter\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M173.526285,129.202529 C172.663252,128.339495 171.492727,127.854648 170.272214,127.854648 L9.20390349,127.854648 L9.20390349,4.60195168 C9.20390349,2.06036391 7.14353951,-6.74112924e-08 4.60195174,-6.74112925e-08 C2.06036398,-6.74112927e-08 3.11254732e-16,2.06036391 0,4.60195168 L0,132.4566 C3.11254728e-16,134.998188 2.06036395,137.058552 4.60195168,137.058552 L170.272214,137.058552 C171.492727,137.058552 172.663252,136.573705 173.526285,135.710671 C174.389318,134.847638 174.874165,133.677113 174.874165,132.4566 C174.874165,131.236086 174.389318,130.065562 173.526285,129.202529 Z M151.864407,12.8058552 C155.15291,12.8054572 158.191783,14.5596242 159.836149,17.4074853 C161.480516,20.2553464 161.480516,23.7641708 159.836149,26.6120319 C158.191783,29.459893 155.15291,31.21406 151.864407,31.213662 C146.781666,31.2130468 142.661617,27.0924991 142.661617,22.0097586 C142.661617,16.9270181 146.781666,12.8064703 151.864407,12.8058552 Z M142.660503,58.8253723 C147.743679,58.8253723 151.864407,62.9461003 151.864407,68.0292758 C151.864407,73.1124513 147.743679,77.2331793 142.660503,77.2331793 C137.577328,77.2331793 133.4566,73.1124513 133.4566,68.0292758 C133.4566,62.9461003 137.577328,58.8253723 142.660503,58.8253723 Z M124.252696,40.4175655 C127.5412,40.4171675 130.580072,42.1713345 132.224439,45.0191956 C133.868806,47.8670567 133.868806,51.3758811 132.224439,54.2237422 C130.580072,57.0716033 127.5412,58.8257703 124.252696,58.8253723 C119.169956,58.8247572 115.049907,54.7042094 115.049907,49.6214689 C115.049907,44.5387284 119.169956,40.4181807 124.252696,40.4175655 L124.252696,40.4175655 Z M105.84489,22.0097586 C109.133393,22.0093606 112.172266,23.7635277 113.816632,26.6113888 C115.460999,29.4592498 115.460999,32.9680743 113.816632,35.8159354 C112.172266,38.6637965 109.133393,40.4179635 105.84489,40.4175655 C100.762149,40.4169503 96.6421001,36.2964026 96.6421001,31.2136621 C96.6421001,26.1309216 100.762149,22.0103738 105.84489,22.0097586 L105.84489,22.0097586 Z M105.84489,58.8253723 C110.928065,58.8253723 115.048793,62.9461003 115.048793,68.0292758 C115.048793,73.1124513 110.928065,77.2331793 105.84489,77.2331793 C100.761714,77.2331793 96.6409861,73.1124513 96.6409861,68.0292758 C96.6409861,62.9461003 100.761714,58.8253723 105.84489,58.8253723 L105.84489,58.8253723 Z M87.4370826,77.2331793 C90.8200008,77.0784213 94.0146452,78.7938663 95.7543045,81.6993216 C97.4939639,84.6047768 97.4975937,88.2308616 95.7637545,91.1397939 C94.0299154,94.0487262 90.8387117,95.7705634 87.4554905,95.6225784 C82.5370015,95.4074394 78.6587219,91.3598697 78.6537937,86.4366802 C78.6488656,81.5134907 82.5190342,77.4581647 87.4370826,77.2331793 L87.4370826,77.2331793 Z M59.8253723,68.0292758 C63.1138756,68.0288778 66.1527483,69.7830448 67.7971148,72.6309059 C69.4414814,75.478767 69.4414814,78.9875915 67.7971148,81.8354525 C66.1527483,84.6833136 63.1138756,86.4374807 59.8253723,86.4370826 C54.7426318,86.4364675 50.6225828,82.3159197 50.6225828,77.2331792 C50.6225828,72.1504387 54.7426318,68.029891 59.8253723,68.0292758 L59.8253723,68.0292758 Z M32.213662,95.6409861 C35.5021653,95.6405881 38.541038,97.3947552 40.1854045,100.242616 C41.8297711,103.090477 41.8297711,106.599302 40.1854045,109.447163 C38.541038,112.295024 35.5021653,114.049191 32.213662,114.048793 C27.1309215,114.048178 23.0108725,109.92763 23.0108725,104.84489 C23.0108725,99.762149 27.1309215,95.6416013 32.213662,95.6409861 L32.213662,95.6409861 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"176px\\\" height=\\\"154px\\\" viewBox=\\\"0 0 176 154\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>sunburst</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"sunburst\\\" transform=\\\"translate(-0.500000, -0.495167)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M119.233629,98.0044542 L110.718691,87.8510962 C116.698944,81.6134116 119.776927,73.1460671 119.198407,64.5239101 L132.221771,61.7588152 C132.389075,63.3350954 132.468325,64.9289877 132.468325,66.5404921 C132.486789,78.3855449 127.713147,89.7343283 119.233629,98.0044542 L119.233629,98.0044542 Z M63.3185781,30.3829135 C74.7931609,22.4121709 89.3686325,20.3583561 102.598787,24.8479794 C115.828942,29.3376027 126.144611,39.8381699 130.399028,53.1465133 L117.38447,55.9116082 C114.163414,47.1482037 107.14477,40.3166874 98.2978797,37.3338959 C89.4509892,34.3511045 79.7290566,35.5384174 71.8599325,40.5626897 L63.3185781,30.3829135 L63.3185781,30.3829135 Z M57.4981296,97.8547516 L67.6773104,89.3128978 C73.1543438,94.3147256 80.4453141,97.3616135 88.4495316,97.3616137 C93.8284022,97.3676833 99.1146581,95.9617789 103.779942,93.2844195 L112.365323,103.508226 C105.247152,108.132446 96.9377023,110.586264 88.4495316,110.570666 C76.8578752,110.587037 65.7306915,106.015602 57.4981296,97.8547516 L57.4981296,97.8547516 Z M51.880208,91.0741048 C47.0035405,83.8229191 44.4062144,75.2791485 44.4219328,66.5404921 C44.4219328,54.7315996 49.0624416,44.0146553 56.6263832,36.1068361 L65.194154,46.3130303 C60.3076881,51.9176198 57.6201378,59.1046557 57.6302124,66.5404921 C57.6302124,72.3876992 59.2592335,77.8562467 62.0858054,82.5146391 L51.880208,91.0741048 L51.880208,91.0741048 Z M40.5915316,112.05008 L50.7354904,103.534644 C60.658337,113.682313 74.2570793,119.394563 88.4495316,119.3767 C99.4212094,119.3767 109.618001,116.030407 118.062495,110.306485 L126.586238,120.468649 C115.441046,128.370969 102.111678,132.606084 88.4495316,132.585752 C70.3533434,132.605952 53.0459635,125.179425 40.5915316,112.05008 L40.5915316,112.05008 Z M0.5,62.1374747 C1.61718015,39.3368661 11.5653323,17.8665508 28.2373873,2.27405071 L36.7435195,12.4097967 C23.0478109,25.4703646 14.8209875,43.2437342 13.7258907,62.1374747 L0.5,62.1374747 Z M0.5,70.9435094 L13.7258907,70.9435094 C14.5580363,85.4042184 19.5854188,99.3091254 28.1933598,110.958131 L18.0582064,119.464761 C7.47186066,105.41813 1.35420505,88.5122858 0.5,70.9435094 L0.5,70.9435094 Z M22.5490216,62.1374747 C23.6176776,45.8469855 30.7006658,30.5346593 42.4230797,19.1728312 L50.9380174,29.3261893 C42.1806215,38.1364527 36.8165849,49.7571326 35.7925234,62.1374747 L22.5490216,62.1374747 L22.5490216,62.1374747 Z M22.5490216,70.9435094 L35.7925234,70.9435094 C36.5571371,80.2216635 39.7688087,89.1310032 45.0999577,96.7628032 L34.9559989,105.278239 C27.6604148,95.2350677 23.3587128,83.3306553 22.5490216,70.9435094 Z M160.064824,88.3354281 C162.208458,81.2692542 163.294499,73.9246962 163.287644,66.5404921 C163.287927,62.7888436 163.014228,59.0421838 162.468731,55.3304099 L175.40404,52.5829271 C177.539642,66.0542744 176.545357,79.8364744 172.498218,92.86173 L160.064824,88.3354281 Z M157.009309,96.5954887 L169.451508,101.130596 C164.453629,112.804913 156.992417,123.261434 147.578597,131.784403 L139.08127,121.666269 C146.731696,114.64362 152.837128,106.105711 157.009309,96.5954887 L157.009309,96.5954887 Z M139.336631,80.7886563 C141.234304,74.0037443 141.75525,66.9076826 140.868791,59.9183539 L153.830516,57.1620651 C155.148964,66.5886629 154.449628,76.187832 151.77883,85.3237642 L139.336631,80.7886563 Z M136.263504,89.0487169 L148.714509,93.5750188 C145.090489,101.633987 139.889912,108.885878 133.419321,114.903235 L124.913189,104.776295 C129.629614,100.274719 133.477161,94.943361 136.263504,89.0487169 L136.263504,89.0487169 Z M84.1260215,141.268503 L84.1260215,154.495167 C61.049526,153.386197 39.3397973,143.226766 23.7025446,126.218989 L33.8288923,117.71236 C46.9380429,131.745712 64.9535467,140.183088 84.1260215,141.268503 L84.1260215,141.268503 Z M104.94227,2.57345585 C127.679056,8.4576749 145.591926,25.956003 152.007773,48.5497632 L139.046048,51.306052 C133.813709,33.9700374 120.081572,20.5128194 102.64403,15.6328053 L104.933465,2.64390412 L104.94227,2.57345585 L104.94227,2.57345585 Z M96.2952498,0.953145396 L96.2600278,1.12046007 L93.9970091,13.9948829 C81.1068487,12.6102912 68.1594065,16.034712 57.6390179,23.6110727 L49.1240802,13.4665207 C60.4957814,5.02434618 74.2870046,0.475385223 88.4495316,0.495231624 C91.0999932,0.495231624 93.7152325,0.644934198 96.2952498,0.953145396 L96.2952498,0.953145396 Z\\\" id=\\\"Shape\\\"></path> <path d=\\\"M88.5,75.295167 C93.3601058,75.295167 97.3,71.3552728 97.3,66.495167 C97.3,61.6350611 93.3601058,57.6951669 88.5,57.6951669 C83.6398942,57.6951669 79.7,61.6350611 79.7,66.495167 C79.7,71.3552728 83.6398942,75.295167 88.5,75.295167 Z M88.5,88.495167 C76.3497355,88.495167 66.5,78.6454315 66.5,66.495167 C66.5,54.3449025 76.3497355,44.495167 88.5,44.495167 C100.650264,44.495167 110.5,54.3449025 110.5,66.495167 C110.5,78.6454315 100.650264,88.495167 88.5,88.495167 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"175px\\\" height=\\\"130px\\\" viewBox=\\\"0 0 175 130\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>themeriver</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"themeriver\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M4.9275627,42.5798026 C5.20117275,42.5813119 5.47437729,42.5585448 5.74396361,42.5117692 C10.5811329,41.6686599 15.2612908,40.0922201 19.6227791,37.836902 C26.4649962,34.328322 32.1798026,30.0130599 43.8718299,30.0130599 C55.5638572,30.0130599 63.7861807,41.3940774 79.5602127,41.4912681 C95.3342445,41.5787397 96.9864845,31.7333333 115.384662,31.7333333 C132.976158,31.7333333 137.621868,44.6208049 153.6,45.4566438 C160.490812,45.8162491 166.6041,44.9318147 171.930144,42.7936218 C173.778744,42.0602993 174.992296,40.2727177 174.991648,38.2839788 L174.991648,26.7960517 C174.987486,25.3270305 174.319017,23.9387356 173.173189,23.0194311 C172.027362,22.1001266 170.527173,21.7484925 169.092179,22.0628701 C165.933485,22.7529233 162.084738,22.8403949 157.5265,22.3155656 C145.533181,20.9160213 134.676993,5.82232335 119.476386,5.82232348 C102.788762,5.82232348 99.3093394,11.1678056 81.9899772,11.1678056 C64.6803341,11.1678056 59.6069856,0.126955258 43.8718299,0.126955258 C37.3211845,0.126955258 27.9422931,3.46059231 17.9025057,7.6009112 C12.9652241,9.65163256 8.49445708,10.8373576 4.50964317,11.1678056 C1.98627058,11.3754189 0.0451326562,13.4857192 0.0485952544,16.0176158 L0.0583143318,37.7202733 C0.0583143318,40.4027335 2.24510251,42.5798026 4.9275627,42.5798026 M170.132118,85.5283219 C169.634444,85.5282959 169.139638,85.6036638 168.664541,85.7518603 C162.658162,87.6665148 157.633409,88.7064541 153.551405,88.9008353 C139.342141,89.522855 131.343356,82.7583903 118.543356,82.7583903 C104.227183,82.7583903 97.8611998,94.1491269 80.444647,94.1491269 C61.0356872,94.1491269 52.3274108,84.1287775 42.4917236,84.1287775 C35.416249,84.1287775 28.7392558,88.7453303 19.9337889,92.9828398 C15.5893698,95.0627183 10.3507973,96.5594533 4.2083523,97.4438876 C1.81553905,97.7920745 0.0427391378,99.8465342 0.0485952544,102.264541 L0.0485952544,124.297646 C0.0496707163,125.687409 0.645723287,127.010209 1.68608385,127.931672 C2.72644442,128.853134 4.11154706,129.285071 5.491268,129.118299 C10.3313591,128.544875 15.142293,127.670159 19.9337889,126.513592 C29.8083523,124.132422 34.2305239,119.068793 42.4917236,118.388459 C54.5822323,117.397115 66.5658314,123.267426 82.4759302,121.323614 C98.386029,119.379803 106.3265,110.156416 120.273349,108.543052 C132.577676,107.12407 140.586181,111.293546 152.083827,110.030068 C159.995141,109.174791 166.81792,107.085194 172.552164,103.780714 C174.06095,102.911932 174.991067,101.303681 174.991648,99.5626424 L174.991648,90.3878512 C174.991648,87.7040073 172.815962,85.5283219 170.132118,85.5283219\\\" id=\\\"Shape\\\"></path> <path d=\\\"M170.132118,55.1659834 C169.755896,55.1642513 169.380769,55.206657 169.014427,55.2923311 C163.386911,56.5597226 157.597804,56.9530934 151.850569,56.4586181 C133.889749,55.0007593 128.388762,42.7839029 114.655733,42.7839029 C103.264996,42.7839029 93.9249811,52.940319 79.7157175,52.5807138 C59.2668185,52.0656038 52.6578588,41.0733486 42.0738042,41.0733486 C35.5231587,41.0733486 26.5330296,47.0991647 20.6724373,49.7524677 C15.5296251,52.0293301 10.0450596,53.4382394 4.44160976,53.9219438 C1.94888222,54.1623556 0.0470459996,56.2577415 0.0485952544,58.762035 L0.0485952544,80.8242976 C0.0491745866,82.2971429 0.717699925,83.69025 1.86632297,84.6121711 C3.01494602,85.5340923 4.51970635,85.8853329 5.95778278,85.5671982 C11.10094,84.3721963 16.0531556,82.4685044 20.6724373,79.9107062 C28.3018983,75.7703873 34.249962,72.7866364 41.8016705,72.7866364 C56.6037965,72.7866364 63.1252849,82.7778284 79.3755505,82.7778284 C94.6441914,82.7778284 103.070615,71.5231587 117.639484,71.5231587 C132.208352,71.5231587 139.964161,77.2185269 150.314958,77.5295368 C156.48656,77.7044798 163.707821,76.0813971 171.988459,72.6408505 C173.80584,71.8896408 174.991328,70.1171628 174.991648,68.1506454 L174.991648,60.0255125 C174.991648,57.3416686 172.815962,55.1659834 170.132118,55.1659834\\\" id=\\\"Path\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"174px\\\" height=\\\"147px\\\" viewBox=\\\"0 0 174 147\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>tree (1)</title> <desc>Created with Sketch.</desc> <defs> <polygon id=\\\"path-1\\\" points=\\\"2 4.69629167 172 4.69629167 172 146.375 2 146.375\\\"></polygon> </defs> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"tree-(1)\\\"> <mask id=\\\"mask-2\\\" fill=\\\"white\\\"> <use xlink:href=\\\"#path-1\\\"></use> </mask> <g id=\\\"path-1\\\"></g> <path d=\\\"M174,127.4965 C173.994333,137.928125 165.534,146.380667 155.101667,146.375708 C144.670042,146.370042 136.216792,137.909 136.222458,127.476667 C136.222458,127.470292 136.222458,127.464625 136.222458,127.45825 C136.226708,118.755667 142.117917,111.435042 150.127042,109.248417 L150.127042,80.2563333 L91.4625,80.2563333 L91.4625,109.120208 C99.7407917,111.126208 105.890542,118.582125 105.889125,127.476667 C105.889125,127.483042 105.889125,127.490125 105.889125,127.4965 C105.883458,137.928125 97.4224167,146.380667 86.9907917,146.375708 C76.5584583,146.370042 68.1059167,137.909 68.1115833,127.476667 C68.1122917,118.764875 74.0049167,111.440708 82.0182917,109.254083 L82.0182917,80.2563333 L23.3530417,80.2563333 L23.3530417,109.120917 C31.630625,111.127625 37.7789583,118.582833 37.77825,127.476667 C37.77825,127.478792 37.77825,127.480917 37.77825,127.483042 C37.776125,137.915375 29.3179167,146.37075 18.8862917,146.368625 C8.45395833,146.367208 -0.00141666667,137.909 0,127.476667 C0.00141666667,118.764167 5.89545833,111.439292 13.9088333,109.254083 L13.9088333,80.2563333 C13.9088333,75.0500833 18.1425417,70.812125 23.3530417,70.812125 L82.0182917,70.812125 L82.0182917,37.8179167 C74.0006667,35.6305833 68.106625,28.298625 68.1115833,19.58825 C68.1122917,9.15025 76.5705,0.694875 87.0028333,0.696291667 C97.4344583,0.697708333 105.890542,9.15591667 105.889125,19.58825 C105.889125,19.594625 105.889125,19.601 105.889125,19.607375 C105.884167,28.4976667 99.7358333,35.9465 91.4625,37.9517917 L91.4625,70.812125 L150.127042,70.812125 C155.337542,70.812125 159.57125,75.0500833 159.57125,80.2563333 L159.57125,109.113125 C167.853083,111.119125 174.00425,118.579292 174,127.476667 C174,127.483042 174,127.490125 174,127.4965 Z\\\" id=\\\"Fill-1\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?> <svg width=\\\"160px\\\" height=\\\"132px\\\" viewBox=\\\"0 0 160 132\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"> <title>treemap</title> <desc>Created with Sketch.</desc> <g id=\\\"Page-1\\\" stroke=\\\"none\\\" stroke-width=\\\"1\\\" fill=\\\"none\\\" fill-rule=\\\"evenodd\\\"> <g id=\\\"treemap\\\" transform=\\\"translate(-0.500000, -0.095199)\\\" fill=\\\"#5067A2\\\" fill-rule=\\\"nonzero\\\"> <path d=\\\"M84.9444444,79.2951993 L4.9444444,79.2951993 C2.48984554,79.2951993 0.5,81.2651464 0.5,83.6951993 L0.5,127.695199 C0.5,130.125252 2.48984554,132.095199 4.9444444,132.095199 L84.9444444,132.095199 C86.1231844,132.095199 87.2536462,131.631629 88.0871413,130.806469 C88.9206363,129.981309 89.3888889,128.862152 89.3888889,127.695199 L89.3888889,83.6951993 C89.3888889,82.5282467 88.9206363,81.4090895 88.0871413,80.5839295 C87.2536462,79.7587694 86.1231844,79.2951993 84.9444444,79.2951993 L84.9444444,79.2951993 Z M156.055556,105.695199 L102.722222,105.695199 C101.543482,105.695199 100.41302,106.158769 99.5795254,106.983929 C98.7460304,107.80909 98.2777777,108.928247 98.2777777,110.095199 L98.2777777,127.695199 C98.2777777,128.862152 98.7460304,129.981309 99.5795254,130.806469 C100.41302,131.631629 101.543482,132.095199 102.722222,132.095199 L156.055556,132.095199 C158.510154,132.095199 160.5,130.125252 160.5,127.695199 L160.5,110.095199 C160.5,107.665146 158.510154,105.695199 156.055556,105.695199 L156.055556,105.695199 Z M156.055556,61.6951994 L102.722222,61.6951994 C101.543482,61.6951994 100.41302,62.1587694 99.5795254,62.9839295 C98.7460304,63.8090896 98.2777777,64.9282468 98.2777777,66.0951993 L98.2777777,92.4951993 C98.2777777,93.6621519 98.7460304,94.7813091 99.5795254,95.6064692 C100.41302,96.4316293 101.543482,96.8951993 102.722222,96.8951993 L156.055556,96.8951993 C158.510154,96.8951993 160.5,94.9252522 160.5,92.4951993 L160.5,66.0951993 C160.5,63.6651465 158.510154,61.6951994 156.055556,61.6951994 L156.055556,61.6951994 Z M156.055556,0.0951993491 L102.722222,0.0951993491 C101.543482,0.0951993149 100.41302,0.558769393 99.5795254,1.38392945 C98.7460304,2.20908951 98.2777777,3.32824674 98.2777777,4.49519931 L98.2777777,48.4951994 C98.2777777,49.662152 98.7460304,50.7813092 99.5795254,51.6064692 C100.41302,52.4316293 101.543482,52.8951994 102.722222,52.8951993 L156.055556,52.8951993 C158.510154,52.8951993 160.5,50.9252523 160.5,48.4951994 L160.5,4.49519931 C160.5,2.06514643 158.510154,0.0951993491 156.055556,0.0951993491 L156.055556,0.0951993491 Z M89.3888889,4.49519931 L89.3888889,66.0951993 C89.3888889,67.2621519 88.9206363,68.3813091 88.0871413,69.2064692 C87.2536462,70.0316293 86.1231844,70.4951993 84.9444444,70.4951993 L4.9444444,70.4951993 C2.48984554,70.4951993 0.5,68.5252522 0.5,66.0951993 L0.5,4.49519931 C0.5,2.06514643 2.48984554,0.0951993491 4.9444444,0.0951993491 L84.9444444,0.0951993491 C86.1231844,0.0951993149 87.2536462,0.558769393 88.0871413,1.38392945 C88.9206363,2.20908951 89.3888889,3.32824674 89.3888889,4.49519931 Z\\\" id=\\\"Shape\\\"></path> </g> </g> </svg>\";\n// Exports\nmodule.exports = code;","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var isObject = require('./isObject'),\n    now = require('./now'),\n    toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        timeWaiting = wait - timeSinceLastCall;\n\n    return maxing\n      ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n      : timeWaiting;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        clearTimeout(timerId);\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\nmodule.exports = now;\n","var isObject = require('./isObject'),\n    isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","let raf = null;\nfunction requestAnimationFrame (callback) {\n  if (!raf) {\n    raf = (\n      window.requestAnimationFrame ||\n      window.webkitRequestAnimationFrame ||\n      window.mozRequestAnimationFrame ||\n      function (callback) {\n        return setTimeout(callback, 16)\n      }\n    ).bind(window);\n  }\n  return raf(callback)\n}\n\nlet caf = null;\nfunction cancelAnimationFrame (id) {\n  if (!caf) {\n    caf = (\n      window.cancelAnimationFrame ||\n      window.webkitCancelAnimationFrame ||\n      window.mozCancelAnimationFrame ||\n      function (id) {\n        clearTimeout(id);\n      }\n    ).bind(window);\n  }\n\n  caf(id);\n}\n\nfunction createStyles (styleText) {\n  var style = document.createElement('style');\n  style.type = 'text/css';\n\n  if (style.styleSheet) {\n    style.styleSheet.cssText = styleText;\n  } else {\n    style.appendChild(document.createTextNode(styleText));\n  }\n  (document.querySelector('head') || document.body).appendChild(style);\n  return style\n}\n\nfunction createElement (tagName, props = {}) {\n  let elem = document.createElement(tagName);\n  Object.keys(props).forEach(key => {\n    elem[key] = props[key];\n  });\n  return elem\n}\n\nfunction getComputedStyle (elem, prop, pseudo) {\n  // for older versions of Firefox, `getComputedStyle` required\n  // the second argument and may return `null` for some elements\n  // when `display: none`\n  let computedStyle = window.getComputedStyle(elem, pseudo || null) || {\n    display: 'none'\n  };\n\n  return computedStyle[prop]\n}\n\nfunction getRenderInfo (elem) {\n  if (!document.documentElement.contains(elem)) {\n    return {\n      detached: true,\n      rendered: false\n    }\n  }\n\n  let current = elem;\n  while (current !== document) {\n    if (getComputedStyle(current, 'display') === 'none') {\n      return {\n        detached: false,\n        rendered: false\n      }\n    }\n    current = current.parentNode;\n  }\n\n  return {\n    detached: false,\n    rendered: true\n  }\n}\n\nvar css = \".resize-triggers{visibility:hidden;opacity:0;pointer-events:none}.resize-contract-trigger,.resize-contract-trigger:before,.resize-expand-trigger,.resize-triggers{content:\\\"\\\";position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden}.resize-contract-trigger,.resize-expand-trigger{background:#eee;overflow:auto}.resize-contract-trigger:before{width:200%;height:200%}\";\n\nlet total = 0;\nlet style = null;\n\nfunction addListener (elem, callback) {\n  if (!elem.__resize_mutation_handler__) {\n    elem.__resize_mutation_handler__ = handleMutation.bind(elem);\n  }\n\n  let listeners = elem.__resize_listeners__;\n\n  if (!listeners) {\n    elem.__resize_listeners__ = [];\n    if (window.ResizeObserver) {\n      let { offsetWidth, offsetHeight } = elem;\n      let ro = new ResizeObserver(() => {\n        if (!elem.__resize_observer_triggered__) {\n          elem.__resize_observer_triggered__ = true;\n          if (elem.offsetWidth === offsetWidth && elem.offsetHeight === offsetHeight) {\n            return\n          }\n        }\n        runCallbacks(elem);\n      });\n\n      // initially display none won't trigger ResizeObserver callback\n      let { detached, rendered } = getRenderInfo(elem);\n      elem.__resize_observer_triggered__ = detached === false && rendered === false;\n      elem.__resize_observer__ = ro;\n      ro.observe(elem);\n    } else if (elem.attachEvent && elem.addEventListener) {\n      // targeting IE9/10\n      elem.__resize_legacy_resize_handler__ = function handleLegacyResize () {\n        runCallbacks(elem);\n      };\n      elem.attachEvent('onresize', elem.__resize_legacy_resize_handler__);\n      document.addEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n    } else {\n      if (!total) {\n        style = createStyles(css);\n      }\n      initTriggers(elem);\n\n      elem.__resize_rendered__ = getRenderInfo(elem).rendered;\n      if (window.MutationObserver) {\n        let mo = new MutationObserver(elem.__resize_mutation_handler__);\n        mo.observe(document, {\n          attributes: true,\n          childList: true,\n          characterData: true,\n          subtree: true\n        });\n        elem.__resize_mutation_observer__ = mo;\n      }\n    }\n  }\n\n  elem.__resize_listeners__.push(callback);\n  total++;\n}\n\nfunction removeListener (elem, callback) {\n  let listeners = elem.__resize_listeners__;\n  if (!listeners) {\n    return\n  }\n\n  if (callback) {\n    listeners.splice(listeners.indexOf(callback), 1);\n  }\n\n  // no listeners exist, or removing all listeners\n  if (!listeners.length || !callback) {\n    // targeting IE9/10\n    if (elem.detachEvent && elem.removeEventListener) {\n      elem.detachEvent('onresize', elem.__resize_legacy_resize_handler__);\n      document.removeEventListener('DOMSubtreeModified', elem.__resize_mutation_handler__);\n      return\n    }\n\n    if (elem.__resize_observer__) {\n      elem.__resize_observer__.unobserve(elem);\n      elem.__resize_observer__.disconnect();\n      elem.__resize_observer__ = null;\n    } else {\n      if (elem.__resize_mutation_observer__) {\n        elem.__resize_mutation_observer__.disconnect();\n        elem.__resize_mutation_observer__ = null;\n      }\n      elem.removeEventListener('scroll', handleScroll);\n      elem.removeChild(elem.__resize_triggers__.triggers);\n      elem.__resize_triggers__ = null;\n    }\n    elem.__resize_listeners__ = null;\n  }\n\n  if (!--total && style) {\n    style.parentNode.removeChild(style);\n  }\n}\n\nfunction getUpdatedSize (elem) {\n  let { width, height } = elem.__resize_last__;\n  let { offsetWidth, offsetHeight } = elem;\n  if (offsetWidth !== width || offsetHeight !== height) {\n    return {\n      width: offsetWidth,\n      height: offsetHeight\n    }\n  }\n  return null\n}\n\nfunction handleMutation () {\n  // `this` denotes the scrolling element\n  let { rendered, detached } = getRenderInfo(this);\n  if (rendered !== this.__resize_rendered__) {\n    if (!detached && this.__resize_triggers__) {\n      resetTriggers(this);\n      this.addEventListener('scroll', handleScroll, true);\n    }\n    this.__resize_rendered__ = rendered;\n    runCallbacks(this);\n  }\n}\n\nfunction handleScroll () {\n  // `this` denotes the scrolling element\n  resetTriggers(this);\n  if (this.__resize_raf__) {\n    cancelAnimationFrame(this.__resize_raf__);\n  }\n  this.__resize_raf__ = requestAnimationFrame(() => {\n    let updated = getUpdatedSize(this);\n    if (updated) {\n      this.__resize_last__ = updated;\n      runCallbacks(this);\n    }\n  });\n}\n\nfunction runCallbacks (elem) {\n  if (!elem || !elem.__resize_listeners__) {\n    return\n  }\n  elem.__resize_listeners__.forEach(callback => {\n    callback.call(elem, elem);\n  });\n}\n\nfunction initTriggers (elem) {\n  let position = getComputedStyle(elem, 'position');\n  if (!position || position === 'static') {\n    elem.style.position = 'relative';\n  }\n\n  elem.__resize_old_position__ = position;\n  elem.__resize_last__ = {};\n\n  let triggers = createElement('div', {\n    className: 'resize-triggers'\n  });\n  let expand = createElement('div', {\n    className: 'resize-expand-trigger'\n  });\n  let expandChild = createElement('div');\n  let contract = createElement('div', {\n    className: 'resize-contract-trigger'\n  });\n  expand.appendChild(expandChild);\n  triggers.appendChild(expand);\n  triggers.appendChild(contract);\n  elem.appendChild(triggers);\n\n  elem.__resize_triggers__ = {\n    triggers,\n    expand,\n    expandChild,\n    contract\n  };\n\n  resetTriggers(elem);\n  elem.addEventListener('scroll', handleScroll, true);\n\n  elem.__resize_last__ = {\n    width: elem.offsetWidth,\n    height: elem.offsetHeight\n  };\n}\n\nfunction resetTriggers (elem) {\n  let { expand, expandChild, contract } = elem.__resize_triggers__;\n\n  // batch read\n  let { scrollWidth: csw, scrollHeight: csh } = contract;\n  let { offsetWidth: eow, offsetHeight: eoh, scrollWidth: esw, scrollHeight: esh } = expand;\n\n  // batch write\n  contract.scrollLeft = csw;\n  contract.scrollTop = csh;\n  expandChild.style.width = eow + 1 + 'px';\n  expandChild.style.height = eoh + 1 + 'px';\n  expand.scrollLeft = esw;\n  expand.scrollTop = esh;\n}\n\nexport { addListener, removeListener };\n","const runningOnBrowser = typeof window !== \"undefined\";\r\n\r\nconst isBot =\r\n\t(runningOnBrowser && !(\"onscroll\" in window)) ||\r\n\t(typeof navigator !== \"undefined\" &&\r\n\t\t/(gle|ing|ro)bot|crawl|spider/i.test(navigator.userAgent));\r\n\r\nconst supportsIntersectionObserver =\r\n\trunningOnBrowser && \"IntersectionObserver\" in window;\r\n\r\nconst supportsClassList =\r\n\trunningOnBrowser && \"classList\" in document.createElement(\"p\");\r\n\r\nconst defaultSettings = {\r\n\telements_selector: \"img\",\r\n\tcontainer: isBot || runningOnBrowser ? document : null,\r\n\tthreshold: 300,\r\n\tthresholds: null,\r\n\tdata_src: \"src\",\r\n\tdata_srcset: \"srcset\",\r\n\tdata_sizes: \"sizes\",\r\n\tdata_bg: \"bg\",\r\n\tdata_poster: \"poster\",\r\n\tclass_loading: \"loading\",\r\n\tclass_loaded: \"loaded\",\r\n\tclass_error: \"error\",\r\n\tload_delay: 0,\r\n\tauto_unobserve: true,\r\n\tcallback_enter: null,\r\n\tcallback_exit: null,\r\n\tcallback_reveal: null,\r\n\tcallback_loaded: null,\r\n\tcallback_error: null,\r\n\tcallback_finish: null,\r\n\tuse_native: false\r\n};\r\n\r\nvar getInstanceSettings = customSettings => {\r\n\treturn Object.assign({}, defaultSettings, customSettings);\r\n};\r\n\r\n/* Creates instance and notifies it through the window element */\r\nconst createInstance = function(classObj, options) {\r\n\tvar event;\r\n\tlet eventString = \"LazyLoad::Initialized\";\r\n\tlet instance = new classObj(options);\r\n\ttry {\r\n\t\t// Works in modern browsers\r\n\t\tevent = new CustomEvent(eventString, { detail: { instance } });\r\n\t} catch (err) {\r\n\t\t// Works in Internet Explorer (all versions)\r\n\t\tevent = document.createEvent(\"CustomEvent\");\r\n\t\tevent.initCustomEvent(eventString, false, false, { instance });\r\n\t}\r\n\twindow.dispatchEvent(event);\r\n};\r\n\r\n/* Auto initialization of one or more instances of lazyload, depending on the \r\n    options passed in (plain object or an array) */\r\nfunction autoInitialize(classObj, options) {\r\n\tif (!options) {\r\n\t\treturn;\r\n\t}\r\n\tif (!options.length) {\r\n\t\t// Plain object\r\n\t\tcreateInstance(classObj, options);\r\n\t} else {\r\n\t\t// Array of objects\r\n\t\tfor (let i = 0, optionsItem; (optionsItem = options[i]); i += 1) {\r\n\t\t\tcreateInstance(classObj, optionsItem);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nconst dataPrefix = \"data-\";\r\nconst processedDataName = \"was-processed\";\r\nconst timeoutDataName = \"ll-timeout\";\r\nconst trueString = \"true\";\r\n\r\nconst getData = (element, attribute) => {\r\n\treturn element.getAttribute(dataPrefix + attribute);\r\n};\r\n\r\nconst setData = (element, attribute, value) => {\r\n\tvar attrName = dataPrefix + attribute;\r\n\tif (value === null) {\r\n\t\telement.removeAttribute(attrName);\r\n\t\treturn;\r\n\t}\r\n\telement.setAttribute(attrName, value);\r\n};\r\n\r\nconst resetWasProcessedData = element =>\r\n\tsetData(element, processedDataName, null);\r\n\r\nconst setWasProcessedData = element =>\r\n\tsetData(element, processedDataName, trueString);\r\n\r\nconst getWasProcessedData = element =>\r\n\tgetData(element, processedDataName) === trueString;\r\n\r\nconst setTimeoutData = (element, value) =>\r\n\tsetData(element, timeoutDataName, value);\r\n\r\nconst getTimeoutData = element => getData(element, timeoutDataName);\r\n\r\nconst purgeProcessedElements = elements => {\r\n\treturn elements.filter(element => !getWasProcessedData(element));\r\n};\r\n\r\nconst purgeOneElement = (elements, elementToPurge) => {\r\n\treturn elements.filter(element => element !== elementToPurge);\r\n};\r\n\r\nconst safeCallback = (callback, arg1, arg2, arg3) => {\r\n\tif (!callback) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tif (arg3 !== undefined) {\r\n\t\tcallback(arg1, arg2, arg3);\r\n\t\treturn;\r\n\t}\r\n\tif (arg2 !== undefined) {\r\n\t\tcallback(arg1, arg2);\r\n\t\treturn;\r\n\t}\r\n\tcallback(arg1);\r\n};\r\n\r\nconst updateLoadingCount = (instance, plusMinus) => {\r\n    instance.loadingCount += plusMinus;\r\n    if (instance._elements.length === 0 && instance.loadingCount === 0) {\r\n        safeCallback(instance._settings.callback_finish, instance);\r\n    }\r\n};\r\n\r\nconst getSourceTags = parentTag => {\r\n\tlet sourceTags = [];\r\n\tfor (let i = 0, childTag; (childTag = parentTag.children[i]); i += 1) {\r\n\t\tif (childTag.tagName === \"SOURCE\") {\r\n\t\t\tsourceTags.push(childTag);\r\n\t\t}\r\n\t}\r\n\treturn sourceTags;\r\n};\r\n\r\nconst setAttributeIfValue = (element, attrName, value) => {\r\n\tif (!value) {\r\n\t\treturn;\r\n\t}\r\n\telement.setAttribute(attrName, value);\r\n};\r\n\r\nconst setImageAttributes = (element, settings) => {\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"sizes\",\r\n\t\tgetData(element, settings.data_sizes)\r\n\t);\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"srcset\",\r\n\t\tgetData(element, settings.data_srcset)\r\n\t);\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n};\r\n\r\nconst setSourcesImg = (element, settings) => {\r\n\tconst parent = element.parentNode;\r\n\r\n\tif (parent && parent.tagName === \"PICTURE\") {\r\n\t\tlet sourceTags = getSourceTags(parent);\r\n\t\tsourceTags.forEach(sourceTag => {\r\n\t\t\tsetImageAttributes(sourceTag, settings);\r\n\t\t});\r\n\t}\r\n\r\n\tsetImageAttributes(element, settings);\r\n};\r\n\r\nconst setSourcesIframe = (element, settings) => {\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n};\r\n\r\nconst setSourcesVideo = (element, settings) => {\r\n\tlet sourceTags = getSourceTags(element);\r\n\tsourceTags.forEach(sourceTag => {\r\n\t\tsetAttributeIfValue(\r\n\t\t\tsourceTag,\r\n\t\t\t\"src\",\r\n\t\t\tgetData(sourceTag, settings.data_src)\r\n\t\t);\r\n\t});\r\n\tsetAttributeIfValue(\r\n\t\telement,\r\n\t\t\"poster\",\r\n\t\tgetData(element, settings.data_poster)\r\n\t);\r\n\tsetAttributeIfValue(element, \"src\", getData(element, settings.data_src));\r\n\telement.load();\r\n};\r\n\r\nconst setSourcesBgImage = (element, settings) => {\r\n\tconst srcDataValue = getData(element, settings.data_src);\r\n\tconst bgDataValue = getData(element, settings.data_bg);\r\n\r\n\tif (srcDataValue) {\r\n\t\telement.style.backgroundImage = `url(\"${srcDataValue}\")`;\r\n\t}\r\n\r\n\tif (bgDataValue) {\r\n\t\telement.style.backgroundImage = bgDataValue;\r\n\t}\r\n};\r\n\r\nconst setSourcesFunctions = {\r\n\tIMG: setSourcesImg,\r\n\tIFRAME: setSourcesIframe,\r\n\tVIDEO: setSourcesVideo\r\n};\r\n\r\nconst setSources = (element, instance) => {\r\n\tconst settings = instance._settings;\r\n\tconst tagName = element.tagName;\r\n\tconst setSourcesFunction = setSourcesFunctions[tagName];\r\n\tif (setSourcesFunction) {\r\n\t\tsetSourcesFunction(element, settings);\r\n\t\tupdateLoadingCount(instance, 1);\r\n\t\tinstance._elements = purgeOneElement(instance._elements, element);\r\n\t\treturn;\r\n\t}\r\n\tsetSourcesBgImage(element, settings);\r\n};\r\n\r\nconst addClass = (element, className) => {\r\n\tif (supportsClassList) {\r\n\t\telement.classList.add(className);\r\n\t\treturn;\r\n\t}\r\n\telement.className += (element.className ? \" \" : \"\") + className;\r\n};\r\n\r\nconst removeClass = (element, className) => {\r\n\tif (supportsClassList) {\r\n\t\telement.classList.remove(className);\r\n\t\treturn;\r\n\t}\r\n\telement.className = element.className.\r\n\t\treplace(new RegExp(\"(^|\\\\s+)\" + className + \"(\\\\s+|$)\"), \" \").\r\n\t\treplace(/^\\s+/, \"\").\r\n\t\treplace(/\\s+$/, \"\");\r\n};\r\n\r\nconst genericLoadEventName = \"load\";\r\nconst mediaLoadEventName = \"loadeddata\";\r\nconst errorEventName = \"error\";\r\n\r\nconst addEventListener = (element, eventName, handler) => {\r\n\telement.addEventListener(eventName, handler);\r\n};\r\n\r\nconst removeEventListener = (element, eventName, handler) => {\r\n\telement.removeEventListener(eventName, handler);\r\n};\r\n\r\nconst addEventListeners = (element, loadHandler, errorHandler) => {\r\n\taddEventListener(element, genericLoadEventName, loadHandler);\r\n\taddEventListener(element, mediaLoadEventName, loadHandler);\r\n\taddEventListener(element, errorEventName, errorHandler);\r\n};\r\n\r\nconst removeEventListeners = (element, loadHandler, errorHandler) => {\r\n\tremoveEventListener(element, genericLoadEventName, loadHandler);\r\n\tremoveEventListener(element, mediaLoadEventName, loadHandler);\r\n\tremoveEventListener(element, errorEventName, errorHandler);\r\n};\r\n\r\nconst eventHandler = function(event, success, instance) {\r\n\tvar settings = instance._settings;\r\n\tconst className = success ? settings.class_loaded : settings.class_error;\r\n\tconst callback = success\r\n\t\t? settings.callback_loaded\r\n\t\t: settings.callback_error;\r\n\tconst element = event.target;\r\n\r\n\tremoveClass(element, settings.class_loading);\r\n\taddClass(element, className);\r\n\tsafeCallback(callback, element, instance);\r\n\r\n\tupdateLoadingCount(instance, -1);\r\n};\r\n\r\nconst addOneShotEventListeners = (element, instance) => {\r\n\tconst loadHandler = event => {\r\n\t\teventHandler(event, true, instance);\r\n\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t};\r\n\tconst errorHandler = event => {\r\n\t\teventHandler(event, false, instance);\r\n\t\tremoveEventListeners(element, loadHandler, errorHandler);\r\n\t};\r\n\taddEventListeners(element, loadHandler, errorHandler);\r\n};\r\n\r\nconst managedTags = [\"IMG\", \"IFRAME\", \"VIDEO\"];\r\n\r\nconst onEnter = (element, entry, instance) => {\r\n\tconst settings = instance._settings;\r\n\tsafeCallback(settings.callback_enter, element, entry, instance);\r\n\tif (!settings.load_delay) {\r\n\t\trevealAndUnobserve(element, instance);\r\n\t\treturn;\r\n\t}\r\n\tdelayLoad(element, instance);\r\n};\r\n\r\nconst revealAndUnobserve = (element, instance) => {\r\n\tvar observer = instance._observer;\r\n\trevealElement(element, instance);\r\n\tif (observer && instance._settings.auto_unobserve) {\r\n\t\tobserver.unobserve(element);\r\n\t}\r\n};\r\n\r\nconst onExit = (element, entry, instance) => {\r\n\tconst settings = instance._settings;\r\n\tsafeCallback(settings.callback_exit, element, entry, instance);\r\n\tif (!settings.load_delay) {\r\n\t\treturn;\r\n\t}\r\n\tcancelDelayLoad(element);\r\n};\r\n\r\nconst cancelDelayLoad = element => {\r\n\tvar timeoutId = getTimeoutData(element);\r\n\tif (!timeoutId) {\r\n\t\treturn; // do nothing if timeout doesn't exist\r\n\t}\r\n\tclearTimeout(timeoutId);\r\n\tsetTimeoutData(element, null);\r\n};\r\n\r\nconst delayLoad = (element, instance) => {\r\n\tvar loadDelay = instance._settings.load_delay;\r\n\tvar timeoutId = getTimeoutData(element);\r\n\tif (timeoutId) {\r\n\t\treturn; // do nothing if timeout already set\r\n\t}\r\n\ttimeoutId = setTimeout(function() {\r\n\t\trevealAndUnobserve(element, instance);\r\n\t\tcancelDelayLoad(element);\r\n\t}, loadDelay);\r\n\tsetTimeoutData(element, timeoutId);\r\n};\r\n\r\nconst revealElement = (element, instance, force) => {\r\n\tvar settings = instance._settings;\r\n\tif (!force && getWasProcessedData(element)) {\r\n\t\treturn; // element has already been processed and force wasn't true\r\n\t}\r\n\tif (managedTags.indexOf(element.tagName) > -1) {\r\n\t\taddOneShotEventListeners(element, instance);\r\n\t\taddClass(element, settings.class_loading);\r\n\t}\r\n\tsetSources(element, instance);\r\n\tsetWasProcessedData(element);\r\n\tsafeCallback(settings.callback_reveal, element, instance);\r\n\tsafeCallback(settings.callback_set, element, instance);\r\n};\r\n\r\nconst isIntersecting = entry =>\r\n\tentry.isIntersecting || entry.intersectionRatio > 0;\r\n\r\nconst getObserverSettings = settings => ({\r\n\troot: settings.container === document ? null : settings.container,\r\n\trootMargin: settings.thresholds || settings.threshold + \"px\"\r\n});\r\n\r\nconst setObserver = instance => {\r\n\tif (!supportsIntersectionObserver) {\r\n\t\treturn false;\r\n\t}\r\n\tinstance._observer = new IntersectionObserver(entries => {\r\n\t\tentries.forEach(entry =>\r\n\t\t\tisIntersecting(entry)\r\n\t\t\t\t? onEnter(entry.target, entry, instance)\r\n\t\t\t\t: onExit(entry.target, entry, instance)\r\n\t\t);\r\n\t}, getObserverSettings(instance._settings));\r\n\treturn true;\r\n};\r\n\r\nconst nativeLazyTags = [\"IMG\", \"IFRAME\"];\r\n\r\nconst shouldUseNative = settings =>\r\n\tsettings.use_native && \"loading\" in HTMLImageElement.prototype;\r\n\r\nconst loadAllNative = instance => {\r\n\tinstance._elements.forEach(element => {\r\n\t\tif (nativeLazyTags.indexOf(element.tagName) === -1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\telement.setAttribute(\"loading\", \"lazy\");\r\n\t\trevealElement(element, instance);\r\n\t});\r\n};\r\n\r\nconst nodeSetToArray = nodeSet => Array.prototype.slice.call(nodeSet);\r\n\r\nconst queryElements = settings =>\r\n\tsettings.container.querySelectorAll(settings.elements_selector);\r\n\r\nconst getElements = (elements, settings) =>\r\n\tpurgeProcessedElements(nodeSetToArray(elements || queryElements(settings)));\r\n\r\nconst retryLazyLoad = instance => {\r\n\tvar settings = instance._settings;\r\n\tvar errorElements = settings.container.querySelectorAll(\r\n\t\t\".\" + settings.class_error\r\n\t);\r\n\terrorElements.forEach(element => {\r\n\t\tremoveClass(element, settings.class_error);\r\n\t\tresetWasProcessedData(element);\r\n\t});\r\n\tinstance.update();\r\n};\r\n\r\nconst setOnlineCheck = instance => {\r\n\tif (!runningOnBrowser) {\r\n\t\treturn;\r\n\t}\r\n\twindow.addEventListener(\"online\", event => {\r\n\t\tretryLazyLoad(instance);\r\n\t});\r\n};\r\n\r\nconst LazyLoad = function(customSettings, elements) {\r\n    this._settings = getInstanceSettings(customSettings);\r\n    this.loadingCount = 0;\r\n    setObserver(this);\r\n    this.update(elements);\r\n    setOnlineCheck(this);\r\n};\r\n\r\nLazyLoad.prototype = {\r\n    update: function(elements) {\r\n        var settings = this._settings;\r\n        this._elements = getElements(elements, settings);\r\n        if (isBot || !this._observer) {\r\n            this.loadAll();\r\n            return;\r\n        }\r\n        if (shouldUseNative(settings)) {\r\n            loadAllNative(this);\r\n            this._elements = getElements(elements, settings);\r\n        }\r\n        this._elements.forEach(element => {\r\n            this._observer.observe(element);\r\n        });\r\n    },\r\n\r\n    destroy: function() {\r\n        if (this._observer) {\r\n            this._elements.forEach(element => {\r\n                this._observer.unobserve(element);\r\n            });\r\n            this._observer = null;\r\n        }\r\n        this._elements = null;\r\n        this._settings = null;\r\n    },\r\n\r\n    load: function(element, force) {\r\n        revealElement(element, this, force);\r\n    },\r\n\r\n    loadAll: function() {\r\n        this._elements.forEach(element => {\r\n            revealAndUnobserve(element, this);\r\n        });\r\n    }\r\n};\r\n\r\n/* Automatic instances creation if required (useful for async script loading) */\r\nif (runningOnBrowser) {\r\n    autoInitialize(LazyLoad, window.lazyLoadOptions);\r\n}\r\n\r\nexport default LazyLoad;\r\n","/*!\n * vue-i18n v8.20.0 \n * (c) 2020 kazuya kawaguchi\n * Released under the MIT License.\n */\n/*  */\n\n/**\n * constants\n */\n\nvar numberFormatKeys = [\n  'style',\n  'currency',\n  'currencyDisplay',\n  'useGrouping',\n  'minimumIntegerDigits',\n  'minimumFractionDigits',\n  'maximumFractionDigits',\n  'minimumSignificantDigits',\n  'maximumSignificantDigits',\n  'localeMatcher',\n  'formatMatcher',\n  'unit'\n];\n\n/**\n * utilities\n */\n\nfunction warn (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.warn('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.warn(err.stack);\n    }\n  }\n}\n\nfunction error (msg, err) {\n  if (typeof console !== 'undefined') {\n    console.error('[vue-i18n] ' + msg);\n    /* istanbul ignore if */\n    if (err) {\n      console.error(err.stack);\n    }\n  }\n}\n\nvar isArray = Array.isArray;\n\nfunction isObject (obj) {\n  return obj !== null && typeof obj === 'object'\n}\n\nfunction isBoolean (val) {\n  return typeof val === 'boolean'\n}\n\nfunction isString (val) {\n  return typeof val === 'string'\n}\n\nvar toString = Object.prototype.toString;\nvar OBJECT_STRING = '[object Object]';\nfunction isPlainObject (obj) {\n  return toString.call(obj) === OBJECT_STRING\n}\n\nfunction isNull (val) {\n  return val === null || val === undefined\n}\n\nfunction parseArgs () {\n  var args = [], len = arguments.length;\n  while ( len-- ) args[ len ] = arguments[ len ];\n\n  var locale = null;\n  var params = null;\n  if (args.length === 1) {\n    if (isObject(args[0]) || Array.isArray(args[0])) {\n      params = args[0];\n    } else if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n  } else if (args.length === 2) {\n    if (typeof args[0] === 'string') {\n      locale = args[0];\n    }\n    /* istanbul ignore if */\n    if (isObject(args[1]) || Array.isArray(args[1])) {\n      params = args[1];\n    }\n  }\n\n  return { locale: locale, params: params }\n}\n\nfunction looseClone (obj) {\n  return JSON.parse(JSON.stringify(obj))\n}\n\nfunction remove (arr, item) {\n  if (arr.length) {\n    var index = arr.indexOf(item);\n    if (index > -1) {\n      return arr.splice(index, 1)\n    }\n  }\n}\n\nfunction includes (arr, item) {\n  return !!~arr.indexOf(item)\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n  return hasOwnProperty.call(obj, key)\n}\n\nfunction merge (target) {\n  var arguments$1 = arguments;\n\n  var output = Object(target);\n  for (var i = 1; i < arguments.length; i++) {\n    var source = arguments$1[i];\n    if (source !== undefined && source !== null) {\n      var key = (void 0);\n      for (key in source) {\n        if (hasOwn(source, key)) {\n          if (isObject(source[key])) {\n            output[key] = merge(output[key], source[key]);\n          } else {\n            output[key] = source[key];\n          }\n        }\n      }\n    }\n  }\n  return output\n}\n\nfunction looseEqual (a, b) {\n  if (a === b) { return true }\n  var isObjectA = isObject(a);\n  var isObjectB = isObject(b);\n  if (isObjectA && isObjectB) {\n    try {\n      var isArrayA = Array.isArray(a);\n      var isArrayB = Array.isArray(b);\n      if (isArrayA && isArrayB) {\n        return a.length === b.length && a.every(function (e, i) {\n          return looseEqual(e, b[i])\n        })\n      } else if (!isArrayA && !isArrayB) {\n        var keysA = Object.keys(a);\n        var keysB = Object.keys(b);\n        return keysA.length === keysB.length && keysA.every(function (key) {\n          return looseEqual(a[key], b[key])\n        })\n      } else {\n        /* istanbul ignore next */\n        return false\n      }\n    } catch (e) {\n      /* istanbul ignore next */\n      return false\n    }\n  } else if (!isObjectA && !isObjectB) {\n    return String(a) === String(b)\n  } else {\n    return false\n  }\n}\n\n/*  */\n\nfunction extend (Vue) {\n  if (!Vue.prototype.hasOwnProperty('$i18n')) {\n    // $FlowFixMe\n    Object.defineProperty(Vue.prototype, '$i18n', {\n      get: function get () { return this._i18n }\n    });\n  }\n\n  Vue.prototype.$t = function (key) {\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n\n    var i18n = this.$i18n;\n    return i18n._t.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this ].concat( values ))\n  };\n\n  Vue.prototype.$tc = function (key, choice) {\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n\n    var i18n = this.$i18n;\n    return i18n._tc.apply(i18n, [ key, i18n.locale, i18n._getMessages(), this, choice ].concat( values ))\n  };\n\n  Vue.prototype.$te = function (key, locale) {\n    var i18n = this.$i18n;\n    return i18n._te(key, i18n.locale, i18n._getMessages(), locale)\n  };\n\n  Vue.prototype.$d = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).d.apply(ref, [ value ].concat( args ))\n  };\n\n  Vue.prototype.$n = function (value) {\n    var ref;\n\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n    return (ref = this.$i18n).n.apply(ref, [ value ].concat( args ))\n  };\n}\n\n/*  */\n\nvar mixin = {\n  beforeCreate: function beforeCreate () {\n    var options = this.$options;\n    options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n    if (options.i18n) {\n      if (options.i18n instanceof VueI18n) {\n        // init locale messages via custom blocks\n        if (options.__i18n) {\n          try {\n            var localeMessages = {};\n            options.__i18n.forEach(function (resource) {\n              localeMessages = merge(localeMessages, JSON.parse(resource));\n            });\n            Object.keys(localeMessages).forEach(function (locale) {\n              options.i18n.mergeLocaleMessage(locale, localeMessages[locale]);\n            });\n          } catch (e) {\n            if (process.env.NODE_ENV !== 'production') {\n              error(\"Cannot parse locale messages via custom blocks.\", e);\n            }\n          }\n        }\n        this._i18n = options.i18n;\n        this._i18nWatcher = this._i18n.watchI18nData();\n      } else if (isPlainObject(options.i18n)) {\n        var rootI18n = this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n\n          ? this.$root.$i18n\n          : null;\n        // component local i18n\n        if (rootI18n) {\n          options.i18n.root = this.$root;\n          options.i18n.formatter = rootI18n.formatter;\n          options.i18n.fallbackLocale = rootI18n.fallbackLocale;\n          options.i18n.formatFallbackMessages = rootI18n.formatFallbackMessages;\n          options.i18n.silentTranslationWarn = rootI18n.silentTranslationWarn;\n          options.i18n.silentFallbackWarn = rootI18n.silentFallbackWarn;\n          options.i18n.pluralizationRules = rootI18n.pluralizationRules;\n          options.i18n.preserveDirectiveContent = rootI18n.preserveDirectiveContent;\n        }\n\n        // init locale messages via custom blocks\n        if (options.__i18n) {\n          try {\n            var localeMessages$1 = {};\n            options.__i18n.forEach(function (resource) {\n              localeMessages$1 = merge(localeMessages$1, JSON.parse(resource));\n            });\n            options.i18n.messages = localeMessages$1;\n          } catch (e) {\n            if (process.env.NODE_ENV !== 'production') {\n              warn(\"Cannot parse locale messages via custom blocks.\", e);\n            }\n          }\n        }\n\n        var ref = options.i18n;\n        var sharedMessages = ref.sharedMessages;\n        if (sharedMessages && isPlainObject(sharedMessages)) {\n          options.i18n.messages = merge(options.i18n.messages, sharedMessages);\n        }\n\n        this._i18n = new VueI18n(options.i18n);\n        this._i18nWatcher = this._i18n.watchI18nData();\n\n        if (options.i18n.sync === undefined || !!options.i18n.sync) {\n          this._localeWatcher = this.$i18n.watchLocale();\n        }\n\n        if (rootI18n) {\n          rootI18n.onComponentInstanceCreated(this._i18n);\n        }\n      } else {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Cannot be interpreted 'i18n' option.\");\n        }\n      }\n    } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n      // root i18n\n      this._i18n = this.$root.$i18n;\n    } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n      // parent i18n\n      this._i18n = options.parent.$i18n;\n    }\n  },\n\n  beforeMount: function beforeMount () {\n    var options = this.$options;\n    options.i18n = options.i18n || (options.__i18n ? {} : null);\n\n    if (options.i18n) {\n      if (options.i18n instanceof VueI18n) {\n        // init locale messages via custom blocks\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      } else if (isPlainObject(options.i18n)) {\n        this._i18n.subscribeDataChanging(this);\n        this._subscribing = true;\n      } else {\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Cannot be interpreted 'i18n' option.\");\n        }\n      }\n    } else if (this.$root && this.$root.$i18n && this.$root.$i18n instanceof VueI18n) {\n      this._i18n.subscribeDataChanging(this);\n      this._subscribing = true;\n    } else if (options.parent && options.parent.$i18n && options.parent.$i18n instanceof VueI18n) {\n      this._i18n.subscribeDataChanging(this);\n      this._subscribing = true;\n    }\n  },\n\n  beforeDestroy: function beforeDestroy () {\n    if (!this._i18n) { return }\n\n    var self = this;\n    this.$nextTick(function () {\n      if (self._subscribing) {\n        self._i18n.unsubscribeDataChanging(self);\n        delete self._subscribing;\n      }\n\n      if (self._i18nWatcher) {\n        self._i18nWatcher();\n        self._i18n.destroyVM();\n        delete self._i18nWatcher;\n      }\n\n      if (self._localeWatcher) {\n        self._localeWatcher();\n        delete self._localeWatcher;\n      }\n    });\n  }\n};\n\n/*  */\n\nvar interpolationComponent = {\n  name: 'i18n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    path: {\n      type: String,\n      required: true\n    },\n    locale: {\n      type: String\n    },\n    places: {\n      type: [Array, Object]\n    }\n  },\n  render: function render (h, ref) {\n    var data = ref.data;\n    var parent = ref.parent;\n    var props = ref.props;\n    var slots = ref.slots;\n\n    var $i18n = parent.$i18n;\n    if (!$i18n) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn('Cannot find VueI18n instance!');\n      }\n      return\n    }\n\n    var path = props.path;\n    var locale = props.locale;\n    var places = props.places;\n    var params = slots();\n    var children = $i18n.i(\n      path,\n      locale,\n      onlyHasDefaultPlace(params) || places\n        ? useLegacyPlaces(params.default, places)\n        : params\n    );\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag ? h(tag, data, children) : children\n  }\n};\n\nfunction onlyHasDefaultPlace (params) {\n  var prop;\n  for (prop in params) {\n    if (prop !== 'default') { return false }\n  }\n  return Boolean(prop)\n}\n\nfunction useLegacyPlaces (children, places) {\n  var params = places ? createParamsFromPlaces(places) : {};\n\n  if (!children) { return params }\n\n  // Filter empty text nodes\n  children = children.filter(function (child) {\n    return child.tag || child.text.trim() !== ''\n  });\n\n  var everyPlace = children.every(vnodeHasPlaceAttribute);\n  if (process.env.NODE_ENV !== 'production' && everyPlace) {\n    warn('`place` attribute is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return children.reduce(\n    everyPlace ? assignChildPlace : assignChildIndex,\n    params\n  )\n}\n\nfunction createParamsFromPlaces (places) {\n  if (process.env.NODE_ENV !== 'production') {\n    warn('`places` prop is deprecated in next major version. Please switch to Vue slots.');\n  }\n\n  return Array.isArray(places)\n    ? places.reduce(assignChildIndex, {})\n    : Object.assign({}, places)\n}\n\nfunction assignChildPlace (params, child) {\n  if (child.data && child.data.attrs && child.data.attrs.place) {\n    params[child.data.attrs.place] = child;\n  }\n  return params\n}\n\nfunction assignChildIndex (params, child, index) {\n  params[index] = child;\n  return params\n}\n\nfunction vnodeHasPlaceAttribute (vnode) {\n  return Boolean(vnode.data && vnode.data.attrs && vnode.data.attrs.place)\n}\n\n/*  */\n\nvar numberComponent = {\n  name: 'i18n-n',\n  functional: true,\n  props: {\n    tag: {\n      type: [String, Boolean, Object],\n      default: 'span'\n    },\n    value: {\n      type: Number,\n      required: true\n    },\n    format: {\n      type: [String, Object]\n    },\n    locale: {\n      type: String\n    }\n  },\n  render: function render (h, ref) {\n    var props = ref.props;\n    var parent = ref.parent;\n    var data = ref.data;\n\n    var i18n = parent.$i18n;\n\n    if (!i18n) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn('Cannot find VueI18n instance!');\n      }\n      return null\n    }\n\n    var key = null;\n    var options = null;\n\n    if (isString(props.format)) {\n      key = props.format;\n    } else if (isObject(props.format)) {\n      if (props.format.key) {\n        key = props.format.key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(props.format).reduce(function (acc, prop) {\n        var obj;\n\n        if (includes(numberFormatKeys, prop)) {\n          return Object.assign({}, acc, ( obj = {}, obj[prop] = props.format[prop], obj ))\n        }\n        return acc\n      }, null);\n    }\n\n    var locale = props.locale || i18n.locale;\n    var parts = i18n._ntp(props.value, locale, key, options);\n\n    var values = parts.map(function (part, index) {\n      var obj;\n\n      var slot = data.scopedSlots && data.scopedSlots[part.type];\n      return slot ? slot(( obj = {}, obj[part.type] = part.value, obj.index = index, obj.parts = parts, obj )) : part.value\n    });\n\n    var tag = (!!props.tag && props.tag !== true) || props.tag === false ? props.tag : 'span';\n    return tag\n      ? h(tag, {\n        attrs: data.attrs,\n        'class': data['class'],\n        staticClass: data.staticClass\n      }, values)\n      : values\n  }\n};\n\n/*  */\n\nfunction bind (el, binding, vnode) {\n  if (!assert(el, vnode)) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction update (el, binding, vnode, oldVNode) {\n  if (!assert(el, vnode)) { return }\n\n  var i18n = vnode.context.$i18n;\n  if (localeEqual(el, vnode) &&\n    (looseEqual(binding.value, binding.oldValue) &&\n     looseEqual(el._localeMessage, i18n.getLocaleMessage(i18n.locale)))) { return }\n\n  t(el, binding, vnode);\n}\n\nfunction unbind (el, binding, vnode, oldVNode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return\n  }\n\n  var i18n = vnode.context.$i18n || {};\n  if (!binding.modifiers.preserve && !i18n.preserveDirectiveContent) {\n    el.textContent = '';\n  }\n  el._vt = undefined;\n  delete el['_vt'];\n  el._locale = undefined;\n  delete el['_locale'];\n  el._localeMessage = undefined;\n  delete el['_localeMessage'];\n}\n\nfunction assert (el, vnode) {\n  var vm = vnode.context;\n  if (!vm) {\n    warn('Vue instance does not exists in VNode context');\n    return false\n  }\n\n  if (!vm.$i18n) {\n    warn('VueI18n instance does not exists in Vue instance');\n    return false\n  }\n\n  return true\n}\n\nfunction localeEqual (el, vnode) {\n  var vm = vnode.context;\n  return el._locale === vm.$i18n.locale\n}\n\nfunction t (el, binding, vnode) {\n  var ref$1, ref$2;\n\n  var value = binding.value;\n\n  var ref = parseValue(value);\n  var path = ref.path;\n  var locale = ref.locale;\n  var args = ref.args;\n  var choice = ref.choice;\n  if (!path && !locale && !args) {\n    warn('value type not supported');\n    return\n  }\n\n  if (!path) {\n    warn('`path` is required in v-t directive');\n    return\n  }\n\n  var vm = vnode.context;\n  if (choice != null) {\n    el._vt = el.textContent = (ref$1 = vm.$i18n).tc.apply(ref$1, [ path, choice ].concat( makeParams(locale, args) ));\n  } else {\n    el._vt = el.textContent = (ref$2 = vm.$i18n).t.apply(ref$2, [ path ].concat( makeParams(locale, args) ));\n  }\n  el._locale = vm.$i18n.locale;\n  el._localeMessage = vm.$i18n.getLocaleMessage(vm.$i18n.locale);\n}\n\nfunction parseValue (value) {\n  var path;\n  var locale;\n  var args;\n  var choice;\n\n  if (isString(value)) {\n    path = value;\n  } else if (isPlainObject(value)) {\n    path = value.path;\n    locale = value.locale;\n    args = value.args;\n    choice = value.choice;\n  }\n\n  return { path: path, locale: locale, args: args, choice: choice }\n}\n\nfunction makeParams (locale, args) {\n  var params = [];\n\n  locale && params.push(locale);\n  if (args && (Array.isArray(args) || isPlainObject(args))) {\n    params.push(args);\n  }\n\n  return params\n}\n\nvar Vue;\n\nfunction install (_Vue) {\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && install.installed && _Vue === Vue) {\n    warn('already installed.');\n    return\n  }\n  install.installed = true;\n\n  Vue = _Vue;\n\n  var version = (Vue.version && Number(Vue.version.split('.')[0])) || -1;\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && version < 2) {\n    warn((\"vue-i18n (\" + (install.version) + \") need to use Vue 2.0 or later (Vue: \" + (Vue.version) + \").\"));\n    return\n  }\n\n  extend(Vue);\n  Vue.mixin(mixin);\n  Vue.directive('t', { bind: bind, update: update, unbind: unbind });\n  Vue.component(interpolationComponent.name, interpolationComponent);\n  Vue.component(numberComponent.name, numberComponent);\n\n  // use simple mergeStrategies to prevent i18n instance lose '__proto__'\n  var strats = Vue.config.optionMergeStrategies;\n  strats.i18n = function (parentVal, childVal) {\n    return childVal === undefined\n      ? parentVal\n      : childVal\n  };\n}\n\n/*  */\n\nvar BaseFormatter = function BaseFormatter () {\n  this._caches = Object.create(null);\n};\n\nBaseFormatter.prototype.interpolate = function interpolate (message, values) {\n  if (!values) {\n    return [message]\n  }\n  var tokens = this._caches[message];\n  if (!tokens) {\n    tokens = parse(message);\n    this._caches[message] = tokens;\n  }\n  return compile(tokens, values)\n};\n\n\n\nvar RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nvar RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\n\nfunction parse (format) {\n  var tokens = [];\n  var position = 0;\n\n  var text = '';\n  while (position < format.length) {\n    var char = format[position++];\n    if (char === '{') {\n      if (text) {\n        tokens.push({ type: 'text', value: text });\n      }\n\n      text = '';\n      var sub = '';\n      char = format[position++];\n      while (char !== undefined && char !== '}') {\n        sub += char;\n        char = format[position++];\n      }\n      var isClosed = char === '}';\n\n      var type = RE_TOKEN_LIST_VALUE.test(sub)\n        ? 'list'\n        : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n          ? 'named'\n          : 'unknown';\n      tokens.push({ value: sub, type: type });\n    } else if (char === '%') {\n      // when found rails i18n syntax, skip text capture\n      if (format[(position)] !== '{') {\n        text += char;\n      }\n    } else {\n      text += char;\n    }\n  }\n\n  text && tokens.push({ type: 'text', value: text });\n\n  return tokens\n}\n\nfunction compile (tokens, values) {\n  var compiled = [];\n  var index = 0;\n\n  var mode = Array.isArray(values)\n    ? 'list'\n    : isObject(values)\n      ? 'named'\n      : 'unknown';\n  if (mode === 'unknown') { return compiled }\n\n  while (index < tokens.length) {\n    var token = tokens[index];\n    switch (token.type) {\n      case 'text':\n        compiled.push(token.value);\n        break\n      case 'list':\n        compiled.push(values[parseInt(token.value, 10)]);\n        break\n      case 'named':\n        if (mode === 'named') {\n          compiled.push((values)[token.value]);\n        } else {\n          if (process.env.NODE_ENV !== 'production') {\n            warn((\"Type of token '\" + (token.type) + \"' and format of value '\" + mode + \"' don't match!\"));\n          }\n        }\n        break\n      case 'unknown':\n        if (process.env.NODE_ENV !== 'production') {\n          warn(\"Detect 'unknown' type of token!\");\n        }\n        break\n    }\n    index++;\n  }\n\n  return compiled\n}\n\n/*  */\n\n/**\n *  Path parser\n *  - Inspired:\n *    Vue.js Path parser\n */\n\n// actions\nvar APPEND = 0;\nvar PUSH = 1;\nvar INC_SUB_PATH_DEPTH = 2;\nvar PUSH_SUB_PATH = 3;\n\n// states\nvar BEFORE_PATH = 0;\nvar IN_PATH = 1;\nvar BEFORE_IDENT = 2;\nvar IN_IDENT = 3;\nvar IN_SUB_PATH = 4;\nvar IN_SINGLE_QUOTE = 5;\nvar IN_DOUBLE_QUOTE = 6;\nvar AFTER_PATH = 7;\nvar ERROR = 8;\n\nvar pathStateMachine = [];\n\npathStateMachine[BEFORE_PATH] = {\n  'ws': [BEFORE_PATH],\n  'ident': [IN_IDENT, APPEND],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[IN_PATH] = {\n  'ws': [IN_PATH],\n  '.': [BEFORE_IDENT],\n  '[': [IN_SUB_PATH],\n  'eof': [AFTER_PATH]\n};\n\npathStateMachine[BEFORE_IDENT] = {\n  'ws': [BEFORE_IDENT],\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND]\n};\n\npathStateMachine[IN_IDENT] = {\n  'ident': [IN_IDENT, APPEND],\n  '0': [IN_IDENT, APPEND],\n  'number': [IN_IDENT, APPEND],\n  'ws': [IN_PATH, PUSH],\n  '.': [BEFORE_IDENT, PUSH],\n  '[': [IN_SUB_PATH, PUSH],\n  'eof': [AFTER_PATH, PUSH]\n};\n\npathStateMachine[IN_SUB_PATH] = {\n  \"'\": [IN_SINGLE_QUOTE, APPEND],\n  '\"': [IN_DOUBLE_QUOTE, APPEND],\n  '[': [IN_SUB_PATH, INC_SUB_PATH_DEPTH],\n  ']': [IN_PATH, PUSH_SUB_PATH],\n  'eof': ERROR,\n  'else': [IN_SUB_PATH, APPEND]\n};\n\npathStateMachine[IN_SINGLE_QUOTE] = {\n  \"'\": [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_SINGLE_QUOTE, APPEND]\n};\n\npathStateMachine[IN_DOUBLE_QUOTE] = {\n  '\"': [IN_SUB_PATH, APPEND],\n  'eof': ERROR,\n  'else': [IN_DOUBLE_QUOTE, APPEND]\n};\n\n/**\n * Check if an expression is a literal value.\n */\n\nvar literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral (exp) {\n  return literalValueRE.test(exp)\n}\n\n/**\n * Strip quotes from a string\n */\n\nfunction stripQuotes (str) {\n  var a = str.charCodeAt(0);\n  var b = str.charCodeAt(str.length - 1);\n  return a === b && (a === 0x22 || a === 0x27)\n    ? str.slice(1, -1)\n    : str\n}\n\n/**\n * Determine the type of a character in a keypath.\n */\n\nfunction getPathCharType (ch) {\n  if (ch === undefined || ch === null) { return 'eof' }\n\n  var code = ch.charCodeAt(0);\n\n  switch (code) {\n    case 0x5B: // [\n    case 0x5D: // ]\n    case 0x2E: // .\n    case 0x22: // \"\n    case 0x27: // '\n      return ch\n\n    case 0x5F: // _\n    case 0x24: // $\n    case 0x2D: // -\n      return 'ident'\n\n    case 0x09: // Tab\n    case 0x0A: // Newline\n    case 0x0D: // Return\n    case 0xA0:  // No-break space\n    case 0xFEFF:  // Byte Order Mark\n    case 0x2028:  // Line Separator\n    case 0x2029:  // Paragraph Separator\n      return 'ws'\n  }\n\n  return 'ident'\n}\n\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\n\nfunction formatSubPath (path) {\n  var trimmed = path.trim();\n  // invalid leading 0\n  if (path.charAt(0) === '0' && isNaN(path)) { return false }\n\n  return isLiteral(trimmed) ? stripQuotes(trimmed) : '*' + trimmed\n}\n\n/**\n * Parse a string path into an array of segments\n */\n\nfunction parse$1 (path) {\n  var keys = [];\n  var index = -1;\n  var mode = BEFORE_PATH;\n  var subPathDepth = 0;\n  var c;\n  var key;\n  var newChar;\n  var type;\n  var transition;\n  var action;\n  var typeMap;\n  var actions = [];\n\n  actions[PUSH] = function () {\n    if (key !== undefined) {\n      keys.push(key);\n      key = undefined;\n    }\n  };\n\n  actions[APPEND] = function () {\n    if (key === undefined) {\n      key = newChar;\n    } else {\n      key += newChar;\n    }\n  };\n\n  actions[INC_SUB_PATH_DEPTH] = function () {\n    actions[APPEND]();\n    subPathDepth++;\n  };\n\n  actions[PUSH_SUB_PATH] = function () {\n    if (subPathDepth > 0) {\n      subPathDepth--;\n      mode = IN_SUB_PATH;\n      actions[APPEND]();\n    } else {\n      subPathDepth = 0;\n      if (key === undefined) { return false }\n      key = formatSubPath(key);\n      if (key === false) {\n        return false\n      } else {\n        actions[PUSH]();\n      }\n    }\n  };\n\n  function maybeUnescapeQuote () {\n    var nextChar = path[index + 1];\n    if ((mode === IN_SINGLE_QUOTE && nextChar === \"'\") ||\n      (mode === IN_DOUBLE_QUOTE && nextChar === '\"')) {\n      index++;\n      newChar = '\\\\' + nextChar;\n      actions[APPEND]();\n      return true\n    }\n  }\n\n  while (mode !== null) {\n    index++;\n    c = path[index];\n\n    if (c === '\\\\' && maybeUnescapeQuote()) {\n      continue\n    }\n\n    type = getPathCharType(c);\n    typeMap = pathStateMachine[mode];\n    transition = typeMap[type] || typeMap['else'] || ERROR;\n\n    if (transition === ERROR) {\n      return // parse error\n    }\n\n    mode = transition[0];\n    action = actions[transition[1]];\n    if (action) {\n      newChar = transition[2];\n      newChar = newChar === undefined\n        ? c\n        : newChar;\n      if (action() === false) {\n        return\n      }\n    }\n\n    if (mode === AFTER_PATH) {\n      return keys\n    }\n  }\n}\n\n\n\n\n\nvar I18nPath = function I18nPath () {\n  this._cache = Object.create(null);\n};\n\n/**\n * External parse that check for a cache hit first\n */\nI18nPath.prototype.parsePath = function parsePath (path) {\n  var hit = this._cache[path];\n  if (!hit) {\n    hit = parse$1(path);\n    if (hit) {\n      this._cache[path] = hit;\n    }\n  }\n  return hit || []\n};\n\n/**\n * Get path value from path string\n */\nI18nPath.prototype.getPathValue = function getPathValue (obj, path) {\n  if (!isObject(obj)) { return null }\n\n  var paths = this.parsePath(path);\n  if (paths.length === 0) {\n    return null\n  } else {\n    var length = paths.length;\n    var last = obj;\n    var i = 0;\n    while (i < length) {\n      var value = last[paths[i]];\n      if (value === undefined) {\n        return null\n      }\n      last = value;\n      i++;\n    }\n\n    return last\n  }\n};\n\n/*  */\n\n\n\nvar htmlTagMatcher = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nvar linkKeyMatcher = /(?:@(?:\\.[a-z]+)?:(?:[\\w\\-_|.]+|\\([\\w\\-_|.]+\\)))/g;\nvar linkKeyPrefixMatcher = /^@(?:\\.([a-z]+))?:/;\nvar bracketsMatcher = /[()]/g;\nvar defaultModifiers = {\n  'upper': function (str) { return str.toLocaleUpperCase(); },\n  'lower': function (str) { return str.toLocaleLowerCase(); },\n  'capitalize': function (str) { return (\"\" + (str.charAt(0).toLocaleUpperCase()) + (str.substr(1))); }\n};\n\nvar defaultFormatter = new BaseFormatter();\n\nvar VueI18n = function VueI18n (options) {\n  var this$1 = this;\n  if ( options === void 0 ) options = {};\n\n  // Auto install if it is not done yet and `window` has `Vue`.\n  // To allow users to avoid auto-installation in some cases,\n  // this code should be placed here. See #290\n  /* istanbul ignore if */\n  if (!Vue && typeof window !== 'undefined' && window.Vue) {\n    install(window.Vue);\n  }\n\n  var locale = options.locale || 'en-US';\n  var fallbackLocale = options.fallbackLocale === false\n    ? false\n    : options.fallbackLocale || 'en-US';\n  var messages = options.messages || {};\n  var dateTimeFormats = options.dateTimeFormats || {};\n  var numberFormats = options.numberFormats || {};\n\n  this._vm = null;\n  this._formatter = options.formatter || defaultFormatter;\n  this._modifiers = options.modifiers || {};\n  this._missing = options.missing || null;\n  this._root = options.root || null;\n  this._sync = options.sync === undefined ? true : !!options.sync;\n  this._fallbackRoot = options.fallbackRoot === undefined\n    ? true\n    : !!options.fallbackRoot;\n  this._formatFallbackMessages = options.formatFallbackMessages === undefined\n    ? false\n    : !!options.formatFallbackMessages;\n  this._silentTranslationWarn = options.silentTranslationWarn === undefined\n    ? false\n    : options.silentTranslationWarn;\n  this._silentFallbackWarn = options.silentFallbackWarn === undefined\n    ? false\n    : !!options.silentFallbackWarn;\n  this._dateTimeFormatters = {};\n  this._numberFormatters = {};\n  this._path = new I18nPath();\n  this._dataListeners = [];\n  this._componentInstanceCreatedListener = options.componentInstanceCreatedListener || null;\n  this._preserveDirectiveContent = options.preserveDirectiveContent === undefined\n    ? false\n    : !!options.preserveDirectiveContent;\n  this.pluralizationRules = options.pluralizationRules || {};\n  this._warnHtmlInMessage = options.warnHtmlInMessage || 'off';\n  this._postTranslation = options.postTranslation || null;\n\n  /**\n   * @param choice {number} a choice index given by the input to $tc: `$tc('path.to.rule', choiceIndex)`\n   * @param choicesLength {number} an overall amount of available choices\n   * @returns a final choice index\n  */\n  this.getChoiceIndex = function (choice, choicesLength) {\n    var thisPrototype = Object.getPrototypeOf(this$1);\n    if (thisPrototype && thisPrototype.getChoiceIndex) {\n      var prototypeGetChoiceIndex = (thisPrototype.getChoiceIndex);\n      return (prototypeGetChoiceIndex).call(this$1, choice, choicesLength)\n    }\n\n    // Default (old) getChoiceIndex implementation - english-compatible\n    var defaultImpl = function (_choice, _choicesLength) {\n      _choice = Math.abs(_choice);\n\n      if (_choicesLength === 2) {\n        return _choice\n          ? _choice > 1\n            ? 1\n            : 0\n          : 1\n      }\n\n      return _choice ? Math.min(_choice, 2) : 0\n    };\n\n    if (this$1.locale in this$1.pluralizationRules) {\n      return this$1.pluralizationRules[this$1.locale].apply(this$1, [choice, choicesLength])\n    } else {\n      return defaultImpl(choice, choicesLength)\n    }\n  };\n\n\n  this._exist = function (message, key) {\n    if (!message || !key) { return false }\n    if (!isNull(this$1._path.getPathValue(message, key))) { return true }\n    // fallback for flat key\n    if (message[key]) { return true }\n    return false\n  };\n\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n\n  this._initVM({\n    locale: locale,\n    fallbackLocale: fallbackLocale,\n    messages: messages,\n    dateTimeFormats: dateTimeFormats,\n    numberFormats: numberFormats\n  });\n};\n\nvar prototypeAccessors = { vm: { configurable: true },messages: { configurable: true },dateTimeFormats: { configurable: true },numberFormats: { configurable: true },availableLocales: { configurable: true },locale: { configurable: true },fallbackLocale: { configurable: true },formatFallbackMessages: { configurable: true },missing: { configurable: true },formatter: { configurable: true },silentTranslationWarn: { configurable: true },silentFallbackWarn: { configurable: true },preserveDirectiveContent: { configurable: true },warnHtmlInMessage: { configurable: true },postTranslation: { configurable: true } };\n\nVueI18n.prototype._checkLocaleMessage = function _checkLocaleMessage (locale, level, message) {\n  var paths = [];\n\n  var fn = function (level, locale, message, paths) {\n    if (isPlainObject(message)) {\n      Object.keys(message).forEach(function (key) {\n        var val = message[key];\n        if (isPlainObject(val)) {\n          paths.push(key);\n          paths.push('.');\n          fn(level, locale, val, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push(key);\n          fn(level, locale, val, paths);\n          paths.pop();\n        }\n      });\n    } else if (Array.isArray(message)) {\n      message.forEach(function (item, index) {\n        if (isPlainObject(item)) {\n          paths.push((\"[\" + index + \"]\"));\n          paths.push('.');\n          fn(level, locale, item, paths);\n          paths.pop();\n          paths.pop();\n        } else {\n          paths.push((\"[\" + index + \"]\"));\n          fn(level, locale, item, paths);\n          paths.pop();\n        }\n      });\n    } else if (isString(message)) {\n      var ret = htmlTagMatcher.test(message);\n      if (ret) {\n        var msg = \"Detected HTML in message '\" + message + \"' of keypath '\" + (paths.join('')) + \"' at '\" + locale + \"'. Consider component interpolation with '<i18n>' to avoid XSS. See https://bit.ly/2ZqJzkp\";\n        if (level === 'warn') {\n          warn(msg);\n        } else if (level === 'error') {\n          error(msg);\n        }\n      }\n    }\n  };\n\n  fn(level, locale, message, paths);\n};\n\nVueI18n.prototype._initVM = function _initVM (data) {\n  var silent = Vue.config.silent;\n  Vue.config.silent = true;\n  this._vm = new Vue({ data: data });\n  Vue.config.silent = silent;\n};\n\nVueI18n.prototype.destroyVM = function destroyVM () {\n  this._vm.$destroy();\n};\n\nVueI18n.prototype.subscribeDataChanging = function subscribeDataChanging (vm) {\n  this._dataListeners.push(vm);\n};\n\nVueI18n.prototype.unsubscribeDataChanging = function unsubscribeDataChanging (vm) {\n  remove(this._dataListeners, vm);\n};\n\nVueI18n.prototype.watchI18nData = function watchI18nData () {\n  var self = this;\n  return this._vm.$watch('$data', function () {\n    var i = self._dataListeners.length;\n    while (i--) {\n      Vue.nextTick(function () {\n        self._dataListeners[i] && self._dataListeners[i].$forceUpdate();\n      });\n    }\n  }, { deep: true })\n};\n\nVueI18n.prototype.watchLocale = function watchLocale () {\n  /* istanbul ignore if */\n  if (!this._sync || !this._root) { return null }\n  var target = this._vm;\n  return this._root.$i18n.vm.$watch('locale', function (val) {\n    target.$set(target, 'locale', val);\n    target.$forceUpdate();\n  }, { immediate: true })\n};\n\nVueI18n.prototype.onComponentInstanceCreated = function onComponentInstanceCreated (newI18n) {\n  if (this._componentInstanceCreatedListener) {\n    this._componentInstanceCreatedListener(newI18n, this);\n  }\n};\n\nprototypeAccessors.vm.get = function () { return this._vm };\n\nprototypeAccessors.messages.get = function () { return looseClone(this._getMessages()) };\nprototypeAccessors.dateTimeFormats.get = function () { return looseClone(this._getDateTimeFormats()) };\nprototypeAccessors.numberFormats.get = function () { return looseClone(this._getNumberFormats()) };\nprototypeAccessors.availableLocales.get = function () { return Object.keys(this.messages).sort() };\n\nprototypeAccessors.locale.get = function () { return this._vm.locale };\nprototypeAccessors.locale.set = function (locale) {\n  this._vm.$set(this._vm, 'locale', locale);\n};\n\nprototypeAccessors.fallbackLocale.get = function () { return this._vm.fallbackLocale };\nprototypeAccessors.fallbackLocale.set = function (locale) {\n  this._localeChainCache = {};\n  this._vm.$set(this._vm, 'fallbackLocale', locale);\n};\n\nprototypeAccessors.formatFallbackMessages.get = function () { return this._formatFallbackMessages };\nprototypeAccessors.formatFallbackMessages.set = function (fallback) { this._formatFallbackMessages = fallback; };\n\nprototypeAccessors.missing.get = function () { return this._missing };\nprototypeAccessors.missing.set = function (handler) { this._missing = handler; };\n\nprototypeAccessors.formatter.get = function () { return this._formatter };\nprototypeAccessors.formatter.set = function (formatter) { this._formatter = formatter; };\n\nprototypeAccessors.silentTranslationWarn.get = function () { return this._silentTranslationWarn };\nprototypeAccessors.silentTranslationWarn.set = function (silent) { this._silentTranslationWarn = silent; };\n\nprototypeAccessors.silentFallbackWarn.get = function () { return this._silentFallbackWarn };\nprototypeAccessors.silentFallbackWarn.set = function (silent) { this._silentFallbackWarn = silent; };\n\nprototypeAccessors.preserveDirectiveContent.get = function () { return this._preserveDirectiveContent };\nprototypeAccessors.preserveDirectiveContent.set = function (preserve) { this._preserveDirectiveContent = preserve; };\n\nprototypeAccessors.warnHtmlInMessage.get = function () { return this._warnHtmlInMessage };\nprototypeAccessors.warnHtmlInMessage.set = function (level) {\n    var this$1 = this;\n\n  var orgLevel = this._warnHtmlInMessage;\n  this._warnHtmlInMessage = level;\n  if (orgLevel !== level && (level === 'warn' || level === 'error')) {\n    var messages = this._getMessages();\n    Object.keys(messages).forEach(function (locale) {\n      this$1._checkLocaleMessage(locale, this$1._warnHtmlInMessage, messages[locale]);\n    });\n  }\n};\n\nprototypeAccessors.postTranslation.get = function () { return this._postTranslation };\nprototypeAccessors.postTranslation.set = function (handler) { this._postTranslation = handler; };\n\nVueI18n.prototype._getMessages = function _getMessages () { return this._vm.messages };\nVueI18n.prototype._getDateTimeFormats = function _getDateTimeFormats () { return this._vm.dateTimeFormats };\nVueI18n.prototype._getNumberFormats = function _getNumberFormats () { return this._vm.numberFormats };\n\nVueI18n.prototype._warnDefault = function _warnDefault (locale, key, result, vm, values, interpolateMode) {\n  if (!isNull(result)) { return result }\n  if (this._missing) {\n    var missingRet = this._missing.apply(null, [locale, key, vm, values]);\n    if (isString(missingRet)) {\n      return missingRet\n    }\n  } else {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn(\n        \"Cannot translate the value of keypath '\" + key + \"'. \" +\n        'Use the value of keypath as default.'\n      );\n    }\n  }\n\n  if (this._formatFallbackMessages) {\n    var parsedArgs = parseArgs.apply(void 0, values);\n    return this._render(key, interpolateMode, parsedArgs.params, key)\n  } else {\n    return key\n  }\n};\n\nVueI18n.prototype._isFallbackRoot = function _isFallbackRoot (val) {\n  return !val && !isNull(this._root) && this._fallbackRoot\n};\n\nVueI18n.prototype._isSilentFallbackWarn = function _isSilentFallbackWarn (key) {\n  return this._silentFallbackWarn instanceof RegExp\n    ? this._silentFallbackWarn.test(key)\n    : this._silentFallbackWarn\n};\n\nVueI18n.prototype._isSilentFallback = function _isSilentFallback (locale, key) {\n  return this._isSilentFallbackWarn(key) && (this._isFallbackRoot() || locale !== this.fallbackLocale)\n};\n\nVueI18n.prototype._isSilentTranslationWarn = function _isSilentTranslationWarn (key) {\n  return this._silentTranslationWarn instanceof RegExp\n    ? this._silentTranslationWarn.test(key)\n    : this._silentTranslationWarn\n};\n\nVueI18n.prototype._interpolate = function _interpolate (\n  locale,\n  message,\n  key,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  if (!message) { return null }\n\n  var pathRet = this._path.getPathValue(message, key);\n  if (Array.isArray(pathRet) || isPlainObject(pathRet)) { return pathRet }\n\n  var ret;\n  if (isNull(pathRet)) {\n    /* istanbul ignore else */\n    if (isPlainObject(message)) {\n      ret = message[key];\n      if (!isString(ret)) {\n        if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n          warn((\"Value of key '\" + key + \"' is not a string!\"));\n        }\n        return null\n      }\n    } else {\n      return null\n    }\n  } else {\n    /* istanbul ignore else */\n    if (isString(pathRet)) {\n      ret = pathRet;\n    } else {\n      if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallback(locale, key)) {\n        warn((\"Value of key '\" + key + \"' is not a string!\"));\n      }\n      return null\n    }\n  }\n\n  // Check for the existence of links within the translated string\n  if (ret.indexOf('@:') >= 0 || ret.indexOf('@.') >= 0) {\n    ret = this._link(locale, message, ret, host, 'raw', values, visitedLinkStack);\n  }\n\n  return this._render(ret, interpolateMode, values, key)\n};\n\nVueI18n.prototype._link = function _link (\n  locale,\n  message,\n  str,\n  host,\n  interpolateMode,\n  values,\n  visitedLinkStack\n) {\n  var ret = str;\n\n  // Match all the links within the local\n  // We are going to replace each of\n  // them with its translation\n  var matches = ret.match(linkKeyMatcher);\n  for (var idx in matches) {\n    // ie compatible: filter custom array\n    // prototype method\n    if (!matches.hasOwnProperty(idx)) {\n      continue\n    }\n    var link = matches[idx];\n    var linkKeyPrefixMatches = link.match(linkKeyPrefixMatcher);\n    var linkPrefix = linkKeyPrefixMatches[0];\n      var formatterName = linkKeyPrefixMatches[1];\n\n    // Remove the leading @:, @.case: and the brackets\n    var linkPlaceholder = link.replace(linkPrefix, '').replace(bracketsMatcher, '');\n\n    if (includes(visitedLinkStack, linkPlaceholder)) {\n      if (process.env.NODE_ENV !== 'production') {\n        warn((\"Circular reference found. \\\"\" + link + \"\\\" is already visited in the chain of \" + (visitedLinkStack.reverse().join(' <- '))));\n      }\n      return ret\n    }\n    visitedLinkStack.push(linkPlaceholder);\n\n    // Translate the link\n    var translated = this._interpolate(\n      locale, message, linkPlaceholder, host,\n      interpolateMode === 'raw' ? 'string' : interpolateMode,\n      interpolateMode === 'raw' ? undefined : values,\n      visitedLinkStack\n    );\n\n    if (this._isFallbackRoot(translated)) {\n      if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(linkPlaceholder)) {\n        warn((\"Fall back to translate the link placeholder '\" + linkPlaceholder + \"' with root locale.\"));\n      }\n      /* istanbul ignore if */\n      if (!this._root) { throw Error('unexpected error') }\n      var root = this._root.$i18n;\n      translated = root._translate(\n        root._getMessages(), root.locale, root.fallbackLocale,\n        linkPlaceholder, host, interpolateMode, values\n      );\n    }\n    translated = this._warnDefault(\n      locale, linkPlaceholder, translated, host,\n      Array.isArray(values) ? values : [values],\n      interpolateMode\n    );\n\n    if (this._modifiers.hasOwnProperty(formatterName)) {\n      translated = this._modifiers[formatterName](translated);\n    } else if (defaultModifiers.hasOwnProperty(formatterName)) {\n      translated = defaultModifiers[formatterName](translated);\n    }\n\n    visitedLinkStack.pop();\n\n    // Replace the link with the translated\n    ret = !translated ? ret : ret.replace(link, translated);\n  }\n\n  return ret\n};\n\nVueI18n.prototype._render = function _render (message, interpolateMode, values, path) {\n  var ret = this._formatter.interpolate(message, values, path);\n\n  // If the custom formatter refuses to work - apply the default one\n  if (!ret) {\n    ret = defaultFormatter.interpolate(message, values, path);\n  }\n\n  // if interpolateMode is **not** 'string' ('row'),\n  // return the compiled data (e.g. ['foo', VNode, 'bar']) with formatter\n  return interpolateMode === 'string' && !isString(ret) ? ret.join('') : ret\n};\n\nVueI18n.prototype._appendItemToChain = function _appendItemToChain (chain, item, blocks) {\n  var follow = false;\n  if (!includes(chain, item)) {\n    follow = true;\n    if (item) {\n      follow = item[item.length - 1] !== '!';\n      item = item.replace(/!/g, '');\n      chain.push(item);\n      if (blocks && blocks[item]) {\n        follow = blocks[item];\n      }\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._appendLocaleToChain = function _appendLocaleToChain (chain, locale, blocks) {\n  var follow;\n  var tokens = locale.split('-');\n  do {\n    var item = tokens.join('-');\n    follow = this._appendItemToChain(chain, item, blocks);\n    tokens.splice(-1, 1);\n  } while (tokens.length && (follow === true))\n  return follow\n};\n\nVueI18n.prototype._appendBlockToChain = function _appendBlockToChain (chain, block, blocks) {\n  var follow = true;\n  for (var i = 0; (i < block.length) && (isBoolean(follow)); i++) {\n    var locale = block[i];\n    if (isString(locale)) {\n      follow = this._appendLocaleToChain(chain, locale, blocks);\n    }\n  }\n  return follow\n};\n\nVueI18n.prototype._getLocaleChain = function _getLocaleChain (start, fallbackLocale) {\n  if (start === '') { return [] }\n\n  if (!this._localeChainCache) {\n    this._localeChainCache = {};\n  }\n\n  var chain = this._localeChainCache[start];\n  if (!chain) {\n    if (!fallbackLocale) {\n      fallbackLocale = this.fallbackLocale;\n    }\n    chain = [];\n\n    // first block defined by start\n    var block = [start];\n\n    // while any intervening block found\n    while (isArray(block)) {\n      block = this._appendBlockToChain(\n        chain,\n        block,\n        fallbackLocale\n      );\n    }\n\n    // last block defined by default\n    var defaults;\n    if (isArray(fallbackLocale)) {\n      defaults = fallbackLocale;\n    } else if (isObject(fallbackLocale)) {\n      /* $FlowFixMe */\n      if (fallbackLocale['default']) {\n        defaults = fallbackLocale['default'];\n      } else {\n        defaults = null;\n      }\n    } else {\n      defaults = fallbackLocale;\n    }\n\n    // convert defaults to array\n    if (isString(defaults)) {\n      block = [defaults];\n    } else {\n      block = defaults;\n    }\n    if (block) {\n      this._appendBlockToChain(\n        chain,\n        block,\n        null\n      );\n    }\n    this._localeChainCache[start] = chain;\n  }\n  return chain\n};\n\nVueI18n.prototype._translate = function _translate (\n  messages,\n  locale,\n  fallback,\n  key,\n  host,\n  interpolateMode,\n  args\n) {\n  var chain = this._getLocaleChain(locale, fallback);\n  var res;\n  for (var i = 0; i < chain.length; i++) {\n    var step = chain[i];\n    res =\n      this._interpolate(step, messages[step], key, host, interpolateMode, args, [key]);\n    if (!isNull(res)) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to translate the keypath '\" + key + \"' with '\" + step + \"' locale.\"));\n      }\n      return res\n    }\n  }\n  return null\n};\n\nVueI18n.prototype._t = function _t (key, _locale, messages, host) {\n    var ref;\n\n    var values = [], len = arguments.length - 4;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 4 ];\n  if (!key) { return '' }\n\n  var parsedArgs = parseArgs.apply(void 0, values);\n  var locale = parsedArgs.locale || _locale;\n\n  var ret = this._translate(\n    messages, locale, this.fallbackLocale, key,\n    host, 'string', parsedArgs.params\n  );\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to translate the keypath '\" + key + \"' with root locale.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return (ref = this._root).$t.apply(ref, [ key ].concat( values ))\n  } else {\n    ret = this._warnDefault(locale, key, ret, host, values, 'string');\n    if (this._postTranslation && ret !== null && ret !== undefined) {\n      ret = this._postTranslation(ret, key);\n    }\n    return ret\n  }\n};\n\nVueI18n.prototype.t = function t (key) {\n    var ref;\n\n    var values = [], len = arguments.length - 1;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 1 ];\n  return (ref = this)._t.apply(ref, [ key, this.locale, this._getMessages(), null ].concat( values ))\n};\n\nVueI18n.prototype._i = function _i (key, locale, messages, host, values) {\n  var ret =\n    this._translate(messages, locale, this.fallbackLocale, key, host, 'raw', values);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to interpolate the keypath '\" + key + \"' with root locale.\"));\n    }\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.i(key, locale, values)\n  } else {\n    return this._warnDefault(locale, key, ret, host, [values], 'raw')\n  }\n};\n\nVueI18n.prototype.i = function i (key, locale, values) {\n  /* istanbul ignore if */\n  if (!key) { return '' }\n\n  if (!isString(locale)) {\n    locale = this.locale;\n  }\n\n  return this._i(key, locale, this._getMessages(), null, values)\n};\n\nVueI18n.prototype._tc = function _tc (\n  key,\n  _locale,\n  messages,\n  host,\n  choice\n) {\n    var ref;\n\n    var values = [], len = arguments.length - 5;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 5 ];\n  if (!key) { return '' }\n  if (choice === undefined) {\n    choice = 1;\n  }\n\n  var predefined = { 'count': choice, 'n': choice };\n  var parsedArgs = parseArgs.apply(void 0, values);\n  parsedArgs.params = Object.assign(predefined, parsedArgs.params);\n  values = parsedArgs.locale === null ? [parsedArgs.params] : [parsedArgs.locale, parsedArgs.params];\n  return this.fetchChoice((ref = this)._t.apply(ref, [ key, _locale, messages, host ].concat( values )), choice)\n};\n\nVueI18n.prototype.fetchChoice = function fetchChoice (message, choice) {\n  /* istanbul ignore if */\n  if (!message && !isString(message)) { return null }\n  var choices = message.split('|');\n\n  choice = this.getChoiceIndex(choice, choices.length);\n  if (!choices[choice]) { return message }\n  return choices[choice].trim()\n};\n\nVueI18n.prototype.tc = function tc (key, choice) {\n    var ref;\n\n    var values = [], len = arguments.length - 2;\n    while ( len-- > 0 ) values[ len ] = arguments[ len + 2 ];\n  return (ref = this)._tc.apply(ref, [ key, this.locale, this._getMessages(), null, choice ].concat( values ))\n};\n\nVueI18n.prototype._te = function _te (key, locale, messages) {\n    var args = [], len = arguments.length - 3;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 3 ];\n\n  var _locale = parseArgs.apply(void 0, args).locale || locale;\n  return this._exist(messages[_locale], key)\n};\n\nVueI18n.prototype.te = function te (key, locale) {\n  return this._te(key, this.locale, this._getMessages(), locale)\n};\n\nVueI18n.prototype.getLocaleMessage = function getLocaleMessage (locale) {\n  return looseClone(this._vm.messages[locale] || {})\n};\n\nVueI18n.prototype.setLocaleMessage = function setLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, message);\n};\n\nVueI18n.prototype.mergeLocaleMessage = function mergeLocaleMessage (locale, message) {\n  if (this._warnHtmlInMessage === 'warn' || this._warnHtmlInMessage === 'error') {\n    this._checkLocaleMessage(locale, this._warnHtmlInMessage, message);\n  }\n  this._vm.$set(this._vm.messages, locale, merge({}, this._vm.messages[locale] || {}, message));\n};\n\nVueI18n.prototype.getDateTimeFormat = function getDateTimeFormat (locale) {\n  return looseClone(this._vm.dateTimeFormats[locale] || {})\n};\n\nVueI18n.prototype.setDateTimeFormat = function setDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, format);\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype.mergeDateTimeFormat = function mergeDateTimeFormat (locale, format) {\n  this._vm.$set(this._vm.dateTimeFormats, locale, merge(this._vm.dateTimeFormats[locale] || {}, format));\n  this._clearDateTimeFormat(locale, format);\n};\n\nVueI18n.prototype._clearDateTimeFormat = function _clearDateTimeFormat (locale, format) {\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._dateTimeFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._dateTimeFormatters[id];\n  }\n};\n\nVueI18n.prototype._localizeDateTime = function _localizeDateTime (\n  value,\n  locale,\n  fallback,\n  dateTimeFormats,\n  key\n) {\n  var _locale = locale;\n  var formats = dateTimeFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = dateTimeFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' datetime formats from '\" + current + \"' datetime formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n    var id = _locale + \"__\" + key;\n    var formatter = this._dateTimeFormatters[id];\n    if (!formatter) {\n      formatter = this._dateTimeFormatters[id] = new Intl.DateTimeFormat(_locale, format);\n    }\n    return formatter.format(value)\n  }\n};\n\nVueI18n.prototype._d = function _d (value, locale, key) {\n  /* istanbul ignore if */\n  if (process.env.NODE_ENV !== 'production' && !VueI18n.availabilities.dateTimeFormat) {\n    warn('Cannot format a Date value due to not supported Intl.DateTimeFormat.');\n    return ''\n  }\n\n  if (!key) {\n    return new Intl.DateTimeFormat(locale).format(value)\n  }\n\n  var ret =\n    this._localizeDateTime(value, locale, this.fallbackLocale, this._getDateTimeFormats(), key);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to datetime localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.d(value, key, locale)\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.d = function d (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._d(value, locale, key)\n};\n\nVueI18n.prototype.getNumberFormat = function getNumberFormat (locale) {\n  return looseClone(this._vm.numberFormats[locale] || {})\n};\n\nVueI18n.prototype.setNumberFormat = function setNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, format);\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype.mergeNumberFormat = function mergeNumberFormat (locale, format) {\n  this._vm.$set(this._vm.numberFormats, locale, merge(this._vm.numberFormats[locale] || {}, format));\n  this._clearNumberFormat(locale, format);\n};\n\nVueI18n.prototype._clearNumberFormat = function _clearNumberFormat (locale, format) {\n  for (var key in format) {\n    var id = locale + \"__\" + key;\n\n    if (!this._numberFormatters.hasOwnProperty(id)) {\n      continue\n    }\n\n    delete this._numberFormatters[id];\n  }\n};\n\nVueI18n.prototype._getNumberFormatter = function _getNumberFormatter (\n  value,\n  locale,\n  fallback,\n  numberFormats,\n  key,\n  options\n) {\n  var _locale = locale;\n  var formats = numberFormats[_locale];\n\n  var chain = this._getLocaleChain(locale, fallback);\n  for (var i = 0; i < chain.length; i++) {\n    var current = _locale;\n    var step = chain[i];\n    formats = numberFormats[step];\n    _locale = step;\n    // fallback locale\n    if (isNull(formats) || isNull(formats[key])) {\n      if (step !== locale && process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n        warn((\"Fall back to '\" + step + \"' number formats from '\" + current + \"' number formats.\"));\n      }\n    } else {\n      break\n    }\n  }\n\n  if (isNull(formats) || isNull(formats[key])) {\n    return null\n  } else {\n    var format = formats[key];\n\n    var formatter;\n    if (options) {\n      // If options specified - create one time number formatter\n      formatter = new Intl.NumberFormat(_locale, Object.assign({}, format, options));\n    } else {\n      var id = _locale + \"__\" + key;\n      formatter = this._numberFormatters[id];\n      if (!formatter) {\n        formatter = this._numberFormatters[id] = new Intl.NumberFormat(_locale, format);\n      }\n    }\n    return formatter\n  }\n};\n\nVueI18n.prototype._n = function _n (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (process.env.NODE_ENV !== 'production') {\n      warn('Cannot format a Number value due to not supported Intl.NumberFormat.');\n    }\n    return ''\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.format(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.format(value);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key) && !this._isSilentFallbackWarn(key)) {\n      warn((\"Fall back to number localization of root: key '\" + key + \"'.\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n.n(value, Object.assign({}, { key: key, locale: locale }, options))\n  } else {\n    return ret || ''\n  }\n};\n\nVueI18n.prototype.n = function n (value) {\n    var args = [], len = arguments.length - 1;\n    while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];\n\n  var locale = this.locale;\n  var key = null;\n  var options = null;\n\n  if (args.length === 1) {\n    if (isString(args[0])) {\n      key = args[0];\n    } else if (isObject(args[0])) {\n      if (args[0].locale) {\n        locale = args[0].locale;\n      }\n      if (args[0].key) {\n        key = args[0].key;\n      }\n\n      // Filter out number format options only\n      options = Object.keys(args[0]).reduce(function (acc, key) {\n          var obj;\n\n        if (includes(numberFormatKeys, key)) {\n          return Object.assign({}, acc, ( obj = {}, obj[key] = args[0][key], obj ))\n        }\n        return acc\n      }, null);\n    }\n  } else if (args.length === 2) {\n    if (isString(args[0])) {\n      key = args[0];\n    }\n    if (isString(args[1])) {\n      locale = args[1];\n    }\n  }\n\n  return this._n(value, locale, key, options)\n};\n\nVueI18n.prototype._ntp = function _ntp (value, locale, key, options) {\n  /* istanbul ignore if */\n  if (!VueI18n.availabilities.numberFormat) {\n    if (process.env.NODE_ENV !== 'production') {\n      warn('Cannot format to parts a Number value due to not supported Intl.NumberFormat.');\n    }\n    return []\n  }\n\n  if (!key) {\n    var nf = !options ? new Intl.NumberFormat(locale) : new Intl.NumberFormat(locale, options);\n    return nf.formatToParts(value)\n  }\n\n  var formatter = this._getNumberFormatter(value, locale, this.fallbackLocale, this._getNumberFormats(), key, options);\n  var ret = formatter && formatter.formatToParts(value);\n  if (this._isFallbackRoot(ret)) {\n    if (process.env.NODE_ENV !== 'production' && !this._isSilentTranslationWarn(key)) {\n      warn((\"Fall back to format number to parts of root: key '\" + key + \"' .\"));\n    }\n    /* istanbul ignore if */\n    if (!this._root) { throw Error('unexpected error') }\n    return this._root.$i18n._ntp(value, locale, key, options)\n  } else {\n    return ret || []\n  }\n};\n\nObject.defineProperties( VueI18n.prototype, prototypeAccessors );\n\nvar availabilities;\n// $FlowFixMe\nObject.defineProperty(VueI18n, 'availabilities', {\n  get: function get () {\n    if (!availabilities) {\n      var intlDefined = typeof Intl !== 'undefined';\n      availabilities = {\n        dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n        numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n      };\n    }\n\n    return availabilities\n  }\n});\n\nVueI18n.install = install;\nVueI18n.version = '8.20.0';\n\nexport default VueI18n;\n","import { render, staticRenderFns } from \"./CodeAce.vue?vue&type=template&id=37ad02ad&\"\nimport script from \"./CodeAce.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeAce.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeAce.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('37ad02ad')) {\n      api.createRecord('37ad02ad', component.options)\n    } else {\n      api.reload('37ad02ad', component.options)\n    }\n    module.hot.accept(\"./CodeAce.vue?vue&type=template&id=37ad02ad&\", function () {\n      api.rerender('37ad02ad', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/CodeAce.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./CodeMonaco.vue?vue&type=template&id=f5fd2472&\"\nimport script from \"./CodeMonaco.vue?vue&type=script&lang=js&\"\nexport * from \"./CodeMonaco.vue?vue&type=script&lang=js&\"\nimport style0 from \"./CodeMonaco.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('f5fd2472')) {\n      api.createRecord('f5fd2472', component.options)\n    } else {\n      api.reload('f5fd2472', component.options)\n    }\n    module.hot.accept(\"./CodeMonaco.vue?vue&type=template&id=f5fd2472&\", function () {\n      api.rerender('f5fd2472', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/CodeMonaco.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Editor.vue?vue&type=template&id=3a753434&\"\nimport script from \"./Editor.vue?vue&type=script&lang=js&\"\nexport * from \"./Editor.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Editor.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('3a753434')) {\n      api.createRecord('3a753434', component.options)\n    } else {\n      api.reload('3a753434', component.options)\n    }\n    module.hot.accept(\"./Editor.vue?vue&type=template&id=3a753434&\", function () {\n      api.rerender('3a753434', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/Editor.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./FullCodePreview.vue?vue&type=template&id=04a90f3a&\"\nimport script from \"./FullCodePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FullCodePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FullCodePreview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('04a90f3a')) {\n      api.createRecord('04a90f3a', component.options)\n    } else {\n      api.reload('04a90f3a', component.options)\n    }\n    module.hot.accept(\"./FullCodePreview.vue?vue&type=template&id=04a90f3a&\", function () {\n      api.rerender('04a90f3a', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/FullCodePreview.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Preview.vue?vue&type=template&id=66bf6e1f&\"\nimport script from \"./Preview.vue?vue&type=script&lang=js&\"\nexport * from \"./Preview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Preview.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('66bf6e1f')) {\n      api.createRecord('66bf6e1f', component.options)\n    } else {\n      api.reload('66bf6e1f', component.options)\n    }\n    module.hot.accept(\"./Preview.vue?vue&type=template&id=66bf6e1f&\", function () {\n      api.rerender('66bf6e1f', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/Preview.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./View.vue?vue&type=template&id=3d6bc75e&\"\nimport script from \"./View.vue?vue&type=script&lang=js&\"\nexport * from \"./View.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('3d6bc75e')) {\n      api.createRecord('3d6bc75e', component.options)\n    } else {\n      api.reload('3d6bc75e', component.options)\n    }\n    module.hot.accept(\"./View.vue?vue&type=template&id=3d6bc75e&\", function () {\n      api.rerender('3d6bc75e', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/editor/View.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./ExampleCard.vue?vue&type=template&id=01229e96&\"\nimport script from \"./ExampleCard.vue?vue&type=script&lang=js&\"\nexport * from \"./ExampleCard.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ExampleCard.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('01229e96')) {\n      api.createRecord('01229e96', component.options)\n    } else {\n      api.reload('01229e96', component.options)\n    }\n    module.hot.accept(\"./ExampleCard.vue?vue&type=template&id=01229e96&\", function () {\n      api.rerender('01229e96', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/explore/ExampleCard.vue\"\nexport default component.exports","import { render, staticRenderFns } from \"./Explore.vue?vue&type=template&id=050c84ae&\"\nimport script from \"./Explore.vue?vue&type=script&lang=js&\"\nexport * from \"./Explore.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Explore.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/Users/lang/Develop/echarts-examples/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('050c84ae')) {\n      api.createRecord('050c84ae', component.options)\n    } else {\n      api.reload('050c84ae', component.options)\n    }\n    module.hot.accept(\"./Explore.vue?vue&type=template&id=050c84ae&\", function () {\n      api.rerender('050c84ae', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/explore/Explore.vue\"\nexport default component.exports","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeAce.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CodeMonaco.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Editor.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullCodePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FullCodePreview.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Preview.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./View.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./View.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExampleCard.vue?vue&type=script&lang=js&\"","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explore.vue?vue&type=script&lang=js&\"","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"ace-editor-main\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"monaco-editor-main\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { attrs: { id: \"main-container\" } },\n    [\n      !_vm.shared.isMobile\n        ? _c(\n            \"div\",\n            {\n              style: { width: _vm.leftContainerSize + \"%\" },\n              attrs: { id: \"editor-left-container\" }\n            },\n            [\n              _c(\n                \"el-tabs\",\n                {\n                  attrs: { type: \"border-card\" },\n                  model: {\n                    value: _vm.currentTab,\n                    callback: function($$v) {\n                      _vm.currentTab = $$v\n                    },\n                    expression: \"currentTab\"\n                  }\n                },\n                [\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabEditor\"),\n                        name: \"code-editor\"\n                      }\n                    },\n                    [\n                      _c(\n                        \"el-container\",\n                        [\n                          _c(\n                            \"el-header\",\n                            { attrs: { id: \"editor-control-panel\" } },\n                            [\n                              _c(\n                                \"div\",\n                                { attrs: { id: \"code-info\" } },\n                                [\n                                  _vm.shared.editorStatus.message\n                                    ? [\n                                        _c(\n                                          \"span\",\n                                          { staticClass: \"code-info-time\" },\n                                          [_vm._v(_vm._s(_vm.currentTime))]\n                                        ),\n                                        _vm._v(\" \"),\n                                        _c(\n                                          \"span\",\n                                          {\n                                            class:\n                                              \"code-info-type-\" +\n                                              _vm.shared.editorStatus.type\n                                          },\n                                          [\n                                            _vm._v(\n                                              _vm._s(\n                                                _vm.shared.editorStatus.message\n                                              )\n                                            )\n                                          ]\n                                        )\n                                      ]\n                                    : _vm._e()\n                                ],\n                                2\n                              ),\n                              _vm._v(\" \"),\n                              _c(\"div\", { staticClass: \"editor-controls\" }, [\n                                _c(\n                                  \"a\",\n                                  {\n                                    staticClass: \"btn btn-default btn-sm\",\n                                    attrs: { href: \"javascript:;\" },\n                                    on: { click: _vm.disposeAndRun }\n                                  },\n                                  [_vm._v(_vm._s(_vm.$t(\"editor.run\")))]\n                                )\n                              ])\n                            ]\n                          ),\n                          _vm._v(\" \"),\n                          _c(\n                            \"el-main\",\n                            [\n                              _vm.shared.typeCheck\n                                ? _c(\"CodeMonaco\", {\n                                    attrs: {\n                                      id: \"code-panel\",\n                                      initialCode: _vm.initialCode\n                                    }\n                                  })\n                                : _c(\"CodeAce\", {\n                                    attrs: {\n                                      id: \"code-panel\",\n                                      initialCode: _vm.initialCode\n                                    }\n                                  })\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      )\n                    ],\n                    1\n                  ),\n                  _vm._v(\" \"),\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabFullCodePreview\"),\n                        name: \"full-code\",\n                        lazy: true\n                      }\n                    },\n                    [\n                      _c(\n                        \"el-container\",\n                        { staticStyle: { width: \"100%\", height: \"100%\" } },\n                        [\n                          _c(\n                            \"el-header\",\n                            { attrs: { id: \"full-code-generate-config\" } },\n                            [\n                              _c(\"span\", {\n                                staticClass: \"full-code-generate-config-label\"\n                              }),\n                              _vm._v(\" \"),\n                              _c(\"el-switch\", {\n                                staticClass: \"enable-decal\",\n                                attrs: {\n                                  \"active-text\": _vm.$t(\"editor.minimalBundle\"),\n                                  \"inactive-text\": \"\"\n                                },\n                                model: {\n                                  value: _vm.fullCodeConfig.minimal,\n                                  callback: function($$v) {\n                                    _vm.$set(_vm.fullCodeConfig, \"minimal\", $$v)\n                                  },\n                                  expression: \"fullCodeConfig.minimal\"\n                                }\n                              }),\n                              _vm._v(\" \"),\n                              _c(\"el-switch\", {\n                                staticClass: \"enable-decal\",\n                                attrs: {\n                                  \"active-text\": \"ES Modules\",\n                                  \"inactive-text\": \"\"\n                                },\n                                model: {\n                                  value: _vm.fullCodeConfig.esm,\n                                  callback: function($$v) {\n                                    _vm.$set(_vm.fullCodeConfig, \"esm\", $$v)\n                                  },\n                                  expression: \"fullCodeConfig.esm\"\n                                }\n                              })\n                            ],\n                            1\n                          ),\n                          _vm._v(\" \"),\n                          _c(\n                            \"el-main\",\n                            [\n                              _c(\"FullCodePreview\", {\n                                attrs: { code: _vm.fullCode }\n                              })\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      )\n                    ],\n                    1\n                  ),\n                  _vm._v(\" \"),\n                  _c(\n                    \"el-tab-pane\",\n                    {\n                      attrs: {\n                        label: _vm.$t(\"editor.tabOptionPreview\"),\n                        name: \"full-option\"\n                      }\n                    },\n                    [_c(\"div\", { attrs: { id: \"option-outline\" } })]\n                  )\n                ],\n                1\n              )\n            ],\n            1\n          )\n        : _vm._e(),\n      _vm._v(\" \"),\n      !_vm.shared.isMobile\n        ? _c(\"div\", {\n            staticClass: \"handler\",\n            style: { left: _vm.leftContainerSize + \"%\" },\n            attrs: { id: \"h-handler\" },\n            on: { mousedown: _vm.onSplitterDragStart }\n          })\n        : _vm._e(),\n      _vm._v(\" \"),\n      _c(\"Preview\", {\n        ref: \"preview\",\n        staticClass: \"right-container\",\n        style: {\n          width: 100 - _vm.leftContainerSize + \"%\",\n          left: _vm.leftContainerSize + \"%\"\n        },\n        attrs: { inEditor: true }\n      })\n    ],\n    1\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", {\n    directives: [\n      {\n        name: \"loading\",\n        rawName: \"v-loading\",\n        value: _vm.loading,\n        expression: \"loading\"\n      }\n    ],\n    staticClass: \"full-code-preview\"\n  })\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\n    \"div\",\n    { class: [_vm.inEditor && !_vm.shared.isMobile ? \"\" : \"full\"] },\n    [\n      _c(\n        \"div\",\n        {\n          directives: [\n            {\n              name: \"loading\",\n              rawName: \"v-loading\",\n              value: _vm.loading,\n              expression: \"loading\"\n            }\n          ],\n          staticClass: \"right-panel\",\n          style: { background: _vm.backgroundColor },\n          attrs: { id: \"chart-panel\" }\n        },\n        [_c(\"div\", { staticClass: \"chart-container\" })]\n      ),\n      _vm._v(\" \"),\n      _c(\n        \"div\",\n        { attrs: { id: \"tool-panel\" } },\n        [\n          _c(\n            \"div\",\n            { staticClass: \"left-panel\" },\n            [\n              _c(\"el-switch\", {\n                staticClass: \"dark-mode\",\n                attrs: {\n                  \"active-color\": \"#181432\",\n                  \"active-text\": _vm.$t(\"editor.darkMode\"),\n                  \"inactive-text\": \"\"\n                },\n                model: {\n                  value: _vm.shared.darkMode,\n                  callback: function($$v) {\n                    _vm.$set(_vm.shared, \"darkMode\", $$v)\n                  },\n                  expression: \"shared.darkMode\"\n                }\n              }),\n              _vm._v(\" \"),\n              !_vm.isGL\n                ? _c(\"el-switch\", {\n                    staticClass: \"enable-decal\",\n                    attrs: {\n                      \"active-text\": _vm.$t(\"editor.enableDecal\"),\n                      \"inactive-text\": \"\"\n                    },\n                    model: {\n                      value: _vm.shared.enableDecal,\n                      callback: function($$v) {\n                        _vm.$set(_vm.shared, \"enableDecal\", $$v)\n                      },\n                      expression: \"shared.enableDecal\"\n                    }\n                  })\n                : _vm._e(),\n              _vm._v(\" \"),\n              !_vm.isGL\n                ? _c(\n                    \"el-popover\",\n                    {\n                      staticStyle: { \"margin-top\": \"3px\" },\n                      attrs: {\n                        placement: \"bottom\",\n                        width: \"450\",\n                        trigger: \"click\"\n                      }\n                    },\n                    [\n                      _c(\n                        \"div\",\n                        { staticClass: \"render-config-container\" },\n                        [\n                          _c(\n                            \"el-row\",\n                            {\n                              attrs: {\n                                gutter: 2,\n                                type: \"flex\",\n                                align: \"middle\"\n                              }\n                            },\n                            [\n                              _c(\n                                \"el-col\",\n                                { attrs: { span: 12 } },\n                                [\n                                  _c(\"label\", { staticClass: \"tool-label\" }, [\n                                    _vm._v(_vm._s(_vm.$t(\"editor.renderer\")))\n                                  ]),\n                                  _vm._v(\" \"),\n                                  _c(\n                                    \"el-radio-group\",\n                                    {\n                                      staticStyle: {\n                                        \"text-transform\": \"uppercase\"\n                                      },\n                                      attrs: { size: \"mini\" },\n                                      model: {\n                                        value: _vm.shared.renderer,\n                                        callback: function($$v) {\n                                          _vm.$set(_vm.shared, \"renderer\", $$v)\n                                        },\n                                        expression: \"shared.renderer\"\n                                      }\n                                    },\n                                    [\n                                      _c(\"el-radio-button\", {\n                                        attrs: { label: \"svg\" }\n                                      }),\n                                      _vm._v(\" \"),\n                                      _c(\"el-radio-button\", {\n                                        attrs: { label: \"canvas\" }\n                                      })\n                                    ],\n                                    1\n                                  )\n                                ],\n                                1\n                              ),\n                              _vm._v(\" \"),\n                              _c(\n                                \"el-col\",\n                                { attrs: { span: 12 } },\n                                [\n                                  _vm.shared.renderer === \"canvas\"\n                                    ? _c(\"el-switch\", {\n                                        attrs: {\n                                          \"active-text\": _vm.$t(\n                                            \"editor.useDirtyRect\"\n                                          ),\n                                          \"inactive-text\": \"\"\n                                        },\n                                        model: {\n                                          value: _vm.shared.useDirtyRect,\n                                          callback: function($$v) {\n                                            _vm.$set(\n                                              _vm.shared,\n                                              \"useDirtyRect\",\n                                              $$v\n                                            )\n                                          },\n                                          expression: \"shared.useDirtyRect\"\n                                        }\n                                      })\n                                    : _vm._e()\n                                ],\n                                1\n                              )\n                            ],\n                            1\n                          )\n                        ],\n                        1\n                      ),\n                      _vm._v(\" \"),\n                      _c(\n                        \"span\",\n                        {\n                          staticClass: \"render-config-trigger\",\n                          attrs: { slot: \"reference\" },\n                          slot: \"reference\"\n                        },\n                        [\n                          _c(\"i\", {\n                            staticClass: \"el-icon-setting el-icon--left\"\n                          }),\n                          _vm._v(_vm._s(_vm.$t(\"editor.renderCfgTitle\")))\n                        ]\n                      )\n                    ]\n                  )\n                : _vm._e()\n            ],\n            1\n          ),\n          _vm._v(\" \"),\n          _vm.inEditor\n            ? [\n                !_vm.shared.isMobile\n                  ? _c(\n                      \"button\",\n                      {\n                        staticClass: \"download btn btn-sm\",\n                        on: { click: _vm.downloadExample }\n                      },\n                      [_vm._v(_vm._s(_vm.$t(\"editor.download\")))]\n                    )\n                  : _vm._e(),\n                _vm._v(\" \"),\n                _c(\n                  \"a\",\n                  {\n                    staticClass: \"screenshot\",\n                    attrs: { target: \"_blank\" },\n                    on: { click: _vm.screenshot }\n                  },\n                  [_c(\"i\", { staticClass: \"el-icon-camera-solid\" })]\n                )\n              ]\n            : _c(\n                \"a\",\n                {\n                  staticClass: \"edit btn btn-sm\",\n                  attrs: { href: _vm.editLink, target: \"_blank\" }\n                },\n                [_vm._v(_vm._s(_vm.$t(\"editor.edit\")))]\n              )\n        ],\n        2\n      )\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"preview\")\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { staticClass: \"example-list-item\" }, [\n    _c(\n      \"a\",\n      {\n        staticClass: \"example-link\",\n        attrs: { target: \"_blank\", href: _vm.exampleLink }\n      },\n      [\n        _c(\"img\", {\n          staticClass: \"chart-area\",\n          attrs: {\n            src: require(\"../asset/placeholder.jpg\"),\n            \"data-src\": _vm.screenshotURL\n          }\n        }),\n        _vm._v(\" \"),\n        _c(\"h4\", { staticClass: \"example-title\" }, [_vm._v(_vm._s(_vm.title))]),\n        _vm._v(\" \"),\n        _vm.showSubtitle\n          ? _c(\"h5\", { staticClass: \"example-subtitle\" }, [\n              _vm._v(_vm._s(_vm.subtitle))\n            ])\n          : _vm._e()\n      ]\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","var render = function() {\n  var _vm = this\n  var _h = _vm.$createElement\n  var _c = _vm._self._c || _h\n  return _c(\"div\", { attrs: { id: \"example-explore\" } }, [\n    _c(\"div\", { attrs: { id: \"left-container\" } }, [\n      _c(\n        \"div\",\n        { attrs: { id: \"left-chart-nav\" } },\n        [\n          _c(\n            \"scrollactive\",\n            {\n              attrs: {\n                \"active-class\": \"active\",\n                offset: 80,\n                duration: 500,\n                \"scroll-container-selector\": \"#example-explore\",\n                \"bezier-easing-value\": \".5,0,.35,1\"\n              },\n              on: { itemchanged: _vm.onActiveNavChanged }\n            },\n            [\n              _c(\n                \"ul\",\n                _vm._l(_vm.EXAMPLE_CATEGORIES, function(category) {\n                  return _c(\"li\", { key: category }, [\n                    _c(\n                      \"a\",\n                      {\n                        staticClass: \"left-chart-nav-link scrollactive-item\",\n                        attrs: {\n                          id: \"left-chart-nav-\" + category,\n                          href: \"#chart-type-\" + category\n                        }\n                      },\n                      [\n                        _c(\"span\", {\n                          staticClass: \"chart-icon\",\n                          domProps: { innerHTML: _vm._s(_vm.icons[category]) }\n                        }),\n                        _vm._v(\" \"),\n                        _c(\"span\", { staticClass: \"chart-name\" }, [\n                          _vm._v(_vm._s(_vm.$t(\"chartTypes.\" + category)))\n                        ])\n                      ]\n                    )\n                  ])\n                }),\n                0\n              )\n            ]\n          )\n        ],\n        1\n      )\n    ]),\n    _vm._v(\" \"),\n    _c(\"div\", { attrs: { id: \"explore-container\" } }, [\n      _c(\n        \"div\",\n        { staticClass: \"example-list-panel\" },\n        _vm._l(_vm.exampleList, function(categoryObj) {\n          return _c(\"div\", { key: categoryObj.category }, [\n            _c(\n              \"h3\",\n              {\n                staticClass: \"chart-type-head\",\n                attrs: { id: \"chart-type-\" + categoryObj.category }\n              },\n              [\n                _vm._v(\n                  \"\\n                    \" +\n                    _vm._s(_vm.$t(\"chartTypes.\" + categoryObj.category)) +\n                    \"\\n                    \"\n                ),\n                _c(\"span\", [_vm._v(_vm._s(categoryObj.category))])\n              ]\n            ),\n            _vm._v(\" \"),\n            _c(\n              \"div\",\n              {\n                staticClass: \"row\",\n                attrs: { id: \"chart-row-\" + categoryObj.category }\n              },\n              _vm._l(categoryObj.examples, function(exampleItem) {\n                return _c(\n                  \"div\",\n                  {\n                    key: exampleItem.id,\n                    staticClass: \"col-xl-2 col-lg-3 col-md-4 col-sm-6\"\n                  },\n                  [_c(\"ExampleCard\", { attrs: { example: exampleItem } })],\n                  1\n                )\n              }),\n              0\n            )\n          ])\n        }),\n        0\n      )\n    ]),\n    _vm._v(\" \"),\n    _c(\n      \"div\",\n      { attrs: { id: \"toolbar\" } },\n      [\n        _c(\"el-switch\", {\n          attrs: {\n            \"active-color\": \"#181432\",\n            \"active-text\": _vm.$t(\"editor.darkMode\"),\n            \"inactive-text\": \"\"\n          },\n          model: {\n            value: _vm.shared.darkMode,\n            callback: function($$v) {\n              _vm.$set(_vm.shared, \"darkMode\", $$v)\n            },\n            expression: \"shared.darkMode\"\n          }\n        })\n      ],\n      1\n    )\n  ])\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n  scriptExports,\n  render,\n  staticRenderFns,\n  functionalTemplate,\n  injectStyles,\n  scopeId,\n  moduleIdentifier, /* server only */\n  shadowMode /* vue-cli only */\n) {\n  // Vue.extend constructor export interop\n  var options = typeof scriptExports === 'function'\n    ? scriptExports.options\n    : scriptExports\n\n  // render functions\n  if (render) {\n    options.render = render\n    options.staticRenderFns = staticRenderFns\n    options._compiled = true\n  }\n\n  // functional template\n  if (functionalTemplate) {\n    options.functional = true\n  }\n\n  // scopedId\n  if (scopeId) {\n    options._scopeId = 'data-v-' + scopeId\n  }\n\n  var hook\n  if (moduleIdentifier) { // server build\n    hook = function (context) {\n      // 2.3 injection\n      context =\n        context || // cached call\n        (this.$vnode && this.$vnode.ssrContext) || // stateful\n        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n      // 2.2 with runInNewContext: true\n      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n        context = __VUE_SSR_CONTEXT__\n      }\n      // inject component styles\n      if (injectStyles) {\n        injectStyles.call(this, context)\n      }\n      // register component module identifier for async chunk inferrence\n      if (context && context._registeredComponents) {\n        context._registeredComponents.add(moduleIdentifier)\n      }\n    }\n    // used by ssr in case component is cached and beforeCreate\n    // never gets called\n    options._ssrRegister = hook\n  } else if (injectStyles) {\n    hook = shadowMode\n      ? function () {\n        injectStyles.call(\n          this,\n          (options.functional ? this.parent : this).$root.$options.shadowRoot\n        )\n      }\n      : injectStyles\n  }\n\n  if (hook) {\n    if (options.functional) {\n      // for template-only hot-reload because in that case the render fn doesn't\n      // go through the normalizer\n      options._injectStyles = hook\n      // register for functional component in vue file\n      var originalRender = options.render\n      options.render = function renderWithStyleInjection (h, context) {\n        hook.call(context)\n        return originalRender(h, context)\n      }\n    } else {\n      // inject component registration as beforeCreate hook\n      var existing = options.beforeCreate\n      options.beforeCreate = existing\n        ? [].concat(existing, hook)\n        : [hook]\n    }\n  }\n\n  return {\n    exports: scriptExports,\n    options: options\n  }\n}\n","!(function (t, e) {\n  'object' == typeof exports && 'object' == typeof module\n    ? (module.exports = e())\n    : 'function' == typeof define && define.amd\n    ? define([], e)\n    : 'object' == typeof exports\n    ? (exports['vue-scrollactive'] = e())\n    : (t.vueScrollactive = e());\n})('undefined' != typeof self ? self : this, function () {\n  return (function (t) {\n    var e = {};\n    function r(n) {\n      if (e[n]) return e[n].exports;\n      var o = (e[n] = { i: n, l: !1, exports: {} });\n      return t[n].call(o.exports, o, o.exports, r), (o.l = !0), o.exports;\n    }\n    return (\n      (r.m = t),\n      (r.c = e),\n      (r.d = function (t, e, n) {\n        r.o(t, e) || Object.defineProperty(t, e, { enumerable: !0, get: n });\n      }),\n      (r.r = function (t) {\n        'undefined' != typeof Symbol &&\n          Symbol.toStringTag &&\n          Object.defineProperty(t, Symbol.toStringTag, { value: 'Module' }),\n          Object.defineProperty(t, '__esModule', { value: !0 });\n      }),\n      (r.t = function (t, e) {\n        if ((1 & e && (t = r(t)), 8 & e)) return t;\n        if (4 & e && 'object' == typeof t && t && t.__esModule) return t;\n        var n = Object.create(null);\n        if (\n          (r.r(n),\n          Object.defineProperty(n, 'default', { enumerable: !0, value: t }),\n          2 & e && 'string' != typeof t)\n        )\n          for (var o in t)\n            r.d(\n              n,\n              o,\n              function (e) {\n                return t[e];\n              }.bind(null, o)\n            );\n        return n;\n      }),\n      (r.n = function (t) {\n        var e =\n          t && t.__esModule\n            ? function () {\n                return t.default;\n              }\n            : function () {\n                return t;\n              };\n        return r.d(e, 'a', e), e;\n      }),\n      (r.o = function (t, e) {\n        return Object.prototype.hasOwnProperty.call(t, e);\n      }),\n      (r.p = '/dist/'),\n      r((r.s = 1))\n    );\n  })([\n    function (t, e) {\n      var r = 'function' == typeof Float32Array;\n      function n(t, e) {\n        return 1 - 3 * e + 3 * t;\n      }\n      function o(t, e) {\n        return 3 * e - 6 * t;\n      }\n      function i(t) {\n        return 3 * t;\n      }\n      function s(t, e, r) {\n        return ((n(e, r) * t + o(e, r)) * t + i(e)) * t;\n      }\n      function l(t, e, r) {\n        return 3 * n(e, r) * t * t + 2 * o(e, r) * t + i(e);\n      }\n      function a(t) {\n        return t;\n      }\n      t.exports = function (t, e, n, o) {\n        if (!(0 <= t && t <= 1 && 0 <= n && n <= 1))\n          throw new Error('bezier x values must be in [0, 1] range');\n        if (t === e && n === o) return a;\n        for (var i = r ? new Float32Array(11) : new Array(11), c = 0; c < 11; ++c)\n          i[c] = s(0.1 * c, t, n);\n        function u(e) {\n          for (var r = 0, o = 1; 10 !== o && i[o] <= e; ++o) r += 0.1;\n          --o;\n          var a = r + 0.1 * ((e - i[o]) / (i[o + 1] - i[o])),\n            c = l(a, t, n);\n          return c >= 0.001\n            ? (function (t, e, r, n) {\n                for (var o = 0; o < 4; ++o) {\n                  var i = l(e, r, n);\n                  if (0 === i) return e;\n                  e -= (s(e, r, n) - t) / i;\n                }\n                return e;\n              })(e, a, t, n)\n            : 0 === c\n            ? a\n            : (function (t, e, r, n, o) {\n                var i,\n                  l,\n                  a = 0;\n                do {\n                  (i = s((l = e + (r - e) / 2), n, o) - t) > 0 ? (r = l) : (e = l);\n                } while (Math.abs(i) > 1e-7 && ++a < 10);\n                return l;\n              })(e, r, r + 0.1, t, n);\n        }\n        return function (t) {\n          return 0 === t ? 0 : 1 === t ? 1 : s(u(t), e, o);\n        };\n      };\n    },\n    function (t, e, r) {\n      'use strict';\n      r.r(e);\n      var n = function () {\n        var t = this.$createElement;\n        return (this._self._c || t)(\n          this.tag,\n          { ref: 'scrollactive-nav-wrapper', tag: 'component', staticClass: 'scrollactive-nav' },\n          [this._t('default')],\n          2\n        );\n      };\n      n._withStripped = !0;\n      var o = r(0),\n        i = r.n(o);\n      function s(t) {\n        return (\n          (function (t) {\n            if (Array.isArray(t)) return l(t);\n          })(t) ||\n          (function (t) {\n            if ('undefined' != typeof Symbol && Symbol.iterator in Object(t)) return Array.from(t);\n          })(t) ||\n          (function (t, e) {\n            if (!t) return;\n            if ('string' == typeof t) return l(t, e);\n            var r = Object.prototype.toString.call(t).slice(8, -1);\n            'Object' === r && t.constructor && (r = t.constructor.name);\n            if ('Map' === r || 'Set' === r) return Array.from(t);\n            if ('Arguments' === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))\n              return l(t, e);\n          })(t) ||\n          (function () {\n            throw new TypeError(\n              'Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.'\n            );\n          })()\n        );\n      }\n      function l(t, e) {\n        (null == e || e > t.length) && (e = t.length);\n        for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];\n        return n;\n      }\n      var a = (function (t, e, r, n, o, i, s, l) {\n        var a,\n          c = 'function' == typeof t ? t.options : t;\n        if (\n          (e && ((c.render = e), (c.staticRenderFns = r), (c._compiled = !0)),\n          n && (c.functional = !0),\n          i && (c._scopeId = 'data-v-' + i),\n          s\n            ? ((a = function (t) {\n                (t =\n                  t ||\n                  (this.$vnode && this.$vnode.ssrContext) ||\n                  (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext)) ||\n                  'undefined' == typeof __VUE_SSR_CONTEXT__ ||\n                  (t = __VUE_SSR_CONTEXT__),\n                  o && o.call(this, t),\n                  t && t._registeredComponents && t._registeredComponents.add(s);\n              }),\n              (c._ssrRegister = a))\n            : o &&\n              (a = l\n                ? function () {\n                    o.call(this, (c.functional ? this.parent : this).$root.$options.shadowRoot);\n                  }\n                : o),\n          a)\n        )\n          if (c.functional) {\n            c._injectStyles = a;\n            var u = c.render;\n            c.render = function (t, e) {\n              return a.call(e), u(t, e);\n            };\n          } else {\n            var f = c.beforeCreate;\n            c.beforeCreate = f ? [].concat(f, a) : [a];\n          }\n        return { exports: t, options: c };\n      })(\n        {\n          props: {\n            activeClass: { type: String, default: 'is-active' },\n            offset: { type: Number, default: 20 },\n            scrollOffset: { type: Number, default: null },\n            scrollContainerSelector: { type: String, default: '' },\n            clickToScroll: { type: Boolean, default: !0 },\n            duration: { type: Number, default: 600 },\n            alwaysTrack: { type: Boolean, default: !1 },\n            bezierEasingValue: { type: String, default: '.5,0,.35,1' },\n            modifyUrl: { type: Boolean, default: !0 },\n            exact: { type: Boolean, default: !1 },\n            highlightFirstItem: { type: Boolean, default: !1 },\n            tag: { type: String, default: 'nav' },\n            scrollOnStart: { type: Boolean, default: !0 },\n          },\n          data: function () {\n            return {\n              observer: null,\n              items: [],\n              currentItem: null,\n              lastActiveItem: null,\n              scrollAnimationFrame: null,\n              bezierEasing: i.a,\n            };\n          },\n          computed: {\n            cubicBezierArray: function () {\n              return this.bezierEasingValue.split(',');\n            },\n            scrollContainer: function () {\n              var t = window;\n              return (\n                this.scrollContainerSelector &&\n                  (t = document.querySelector(this.scrollContainerSelector) || window),\n                t\n              );\n            },\n          },\n          mounted: function () {\n            var t = window.MutationObserver || window.WebKitMutationObserver;\n            this.observer ||\n              ((this.observer = new t(this.initScrollactiveItems)),\n              this.observer.observe(this.$refs['scrollactive-nav-wrapper'], {\n                childList: !0,\n                subtree: !0,\n              })),\n              this.initScrollactiveItems(),\n              this.removeActiveClass(),\n              (this.currentItem = this.getItemInsideWindow()),\n              this.currentItem && this.currentItem.classList.add(this.activeClass),\n              this.scrollOnStart && this.scrollToHashElement(),\n              this.scrollContainer.addEventListener('scroll', this.onScroll);\n          },\n          updated: function () {\n            this.initScrollactiveItems();\n          },\n          beforeDestroy: function () {\n            this.scrollContainer.removeEventListener('scroll', this.onScroll),\n              window.cancelAnimationFrame(this.scrollAnimationFrame);\n          },\n          methods: {\n            onScroll: function (t) {\n              (this.currentItem = this.getItemInsideWindow()),\n                this.currentItem !== this.lastActiveItem &&\n                  (this.removeActiveClass(),\n                  this.$emit('itemchanged', t, this.currentItem, this.lastActiveItem),\n                  (this.lastActiveItem = this.currentItem)),\n                this.currentItem && this.currentItem.classList.add(this.activeClass);\n            },\n            getItemInsideWindow: function () {\n              var t,\n                e = this;\n              return (\n                [].forEach.call(this.items, function (r) {\n                  var n = r === e.items[0],\n                    o = document.getElementById(decodeURI(r.hash.substr(1)));\n                  if (o) {\n                    var i = e.scrollContainer.scrollTop || window.pageYOffset,\n                      s = i >= e.getOffsetTop(o) - e.offset,\n                      l = i < e.getOffsetTop(o) - e.offset + o.offsetHeight;\n                    n && e.highlightFirstItem && l && (t = r),\n                      e.exact && s && l && (t = r),\n                      !e.exact && s && (t = r);\n                  }\n                }),\n                t\n              );\n            },\n            initScrollactiveItems: function () {\n              var t = this;\n              (this.items = this.$el.querySelectorAll('.scrollactive-item')),\n                this.clickToScroll\n                  ? [].forEach.call(this.items, function (e) {\n                      e.addEventListener('click', t.handleClick);\n                    })\n                  : [].forEach.call(this.items, function (e) {\n                      e.removeEventListener('click', t.handleClick);\n                    });\n            },\n            setScrollactiveItems: function () {\n              this.initScrollactiveItems();\n            },\n            handleClick: function (t) {\n              var e = this;\n              t.preventDefault();\n              var r = t.currentTarget.hash,\n                n = document.getElementById(decodeURI(r.substr(1)));\n              n\n                ? (this.alwaysTrack ||\n                    (this.scrollContainer.removeEventListener('scroll', this.onScroll),\n                    window.cancelAnimationFrame(this.scrollAnimationFrame),\n                    this.removeActiveClass(),\n                    t.currentTarget.classList.add(this.activeClass)),\n                  this.scrollTo(n).then(function () {\n                    if (!e.alwaysTrack) {\n                      e.scrollContainer.addEventListener('scroll', e.onScroll);\n                      (e.currentItem = [].find.call(e.items, function (t) {\n                        return decodeURI(t.hash.substr(1)) === n.id;\n                      })),\n                        e.currentItem !== e.lastActiveItem &&\n                          (e.$emit('itemchanged', null, e.currentItem, e.lastActiveItem),\n                          (e.lastActiveItem = e.currentItem));\n                    }\n                    e.modifyUrl && e.pushHashToUrl(r);\n                  }))\n                : console.warn(\n                    \"[vue-scrollactive] Element '\".concat(\n                      r,\n                      \"' was not found. Make sure it is set in the DOM.\"\n                    )\n                  );\n            },\n            scrollTo: function (t) {\n              var e = this;\n              return new Promise(function (r) {\n                var n = e.getOffsetTop(t),\n                  o = e.scrollContainer.scrollTop || window.pageYOffset,\n                  i = n - o,\n                  l = e.bezierEasing.apply(e, s(e.cubicBezierArray)),\n                  a = null;\n                window.requestAnimationFrame(function t(n) {\n                  a || (a = n);\n                  var s = n - a,\n                    c = s / e.duration;\n                  s >= e.duration && (s = e.duration), c >= 1 && (c = 1);\n                  var u = e.scrollOffset || e.offset,\n                    f = o + l(c) * (i - u);\n                  e.scrollContainer.scrollTo(0, f),\n                    s < e.duration\n                      ? (e.scrollAnimationFrame = window.requestAnimationFrame(t))\n                      : r();\n                });\n              });\n            },\n            getOffsetTop: function (t) {\n              for (var e = 0, r = t; r; ) (e += r.offsetTop), (r = r.offsetParent);\n              return this.scrollContainer.offsetTop && (e -= this.scrollContainer.offsetTop), e;\n            },\n            removeActiveClass: function () {\n              var t = this;\n              [].forEach.call(this.items, function (e) {\n                e.classList.remove(t.activeClass);\n              });\n            },\n            scrollToHashElement: function () {\n              var t = this,\n                e = window.location.hash;\n              if (e) {\n                var r = document.querySelector(decodeURI(e));\n                r &&\n                  ((window.location.hash = ''),\n                  setTimeout(function () {\n                    var n = r.offsetTop - t.offset;\n                    t.scrollContainer.scrollTo(0, n), t.pushHashToUrl(e);\n                  }, 0));\n              }\n            },\n            pushHashToUrl: function (t) {\n              window.history.pushState\n                ? window.history.pushState(null, null, t)\n                : (window.location.hash = t);\n            },\n          },\n        },\n        n,\n        [],\n        !1,\n        null,\n        null,\n        null\n      );\n      a.options.__file = 'src/scrollactive.vue';\n      var c = a.exports,\n        u = {\n          install: function (t) {\n            u.install.installed || t.component('scrollactive', c);\n          },\n        };\n      'undefined' != typeof window && window.Vue && u.install(window.Vue);\n      e.default = u;\n    },\n  ]);\n});\n","var map = {\n\t\"./bar.svg\": \"./src/asset/icon/bar.svg\",\n\t\"./boxplot.svg\": \"./src/asset/icon/boxplot.svg\",\n\t\"./calendar.svg\": \"./src/asset/icon/calendar.svg\",\n\t\"./candlestick.svg\": \"./src/asset/icon/candlestick.svg\",\n\t\"./custom.svg\": \"./src/asset/icon/custom.svg\",\n\t\"./dataZoom.svg\": \"./src/asset/icon/dataZoom.svg\",\n\t\"./dataset.svg\": \"./src/asset/icon/dataset.svg\",\n\t\"./drag.svg\": \"./src/asset/icon/drag.svg\",\n\t\"./funnel.svg\": \"./src/asset/icon/funnel.svg\",\n\t\"./gauge.svg\": \"./src/asset/icon/gauge.svg\",\n\t\"./geo.svg\": \"./src/asset/icon/geo.svg\",\n\t\"./gl.svg\": \"./src/asset/icon/gl.svg\",\n\t\"./graph.svg\": \"./src/asset/icon/graph.svg\",\n\t\"./heatmap.svg\": \"./src/asset/icon/heatmap.svg\",\n\t\"./line.svg\": \"./src/asset/icon/line.svg\",\n\t\"./lines.svg\": \"./src/asset/icon/lines.svg\",\n\t\"./map.svg\": \"./src/asset/icon/map.svg\",\n\t\"./parallel.svg\": \"./src/asset/icon/parallel.svg\",\n\t\"./pictorialBar.svg\": \"./src/asset/icon/pictorialBar.svg\",\n\t\"./pie.svg\": \"./src/asset/icon/pie.svg\",\n\t\"./radar.svg\": \"./src/asset/icon/radar.svg\",\n\t\"./rich.svg\": \"./src/asset/icon/rich.svg\",\n\t\"./sankey.svg\": \"./src/asset/icon/sankey.svg\",\n\t\"./scatter.svg\": \"./src/asset/icon/scatter.svg\",\n\t\"./sunburst.svg\": \"./src/asset/icon/sunburst.svg\",\n\t\"./themeRiver.svg\": \"./src/asset/icon/themeRiver.svg\",\n\t\"./tree.svg\": \"./src/asset/icon/tree.svg\",\n\t\"./treemap.svg\": \"./src/asset/icon/treemap.svg\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./src/asset/icon sync recursive ^\\\\.\\\\/.*\\\\.svg$\";","module.exports = Vue;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => module['default'] :\n\t\t() => module;\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"./\";","// module exports must be returned from runtime so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(\"./src/main.js\");\n"],"sourceRoot":""}