(this.webpackJsonpjs2=this.webpackJsonpjs2||[]).push([[0],{109:function(e,n,t){"use strict";t.d(n,"d",(function(){return a})),t.d(n,"b",(function(){return i})),t.d(n,"a",(function(){return s})),t.d(n,"c",(function(){return l}));t(17),t(6),t(349);function a(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=e.split("\n").filter((function(e){return""!=e.trim()})),a=n.separator||"\t",i=t.map((function(e){return e.split(a)}));return{headerRow:i[0]||[],dataRows:i.slice(1)||[]}}function i(e){var n=e.headerRow.join("\t"),t=e.dataRows.map((function(e){return e.join("\t")})).join("\n");return"".concat(n,"\n").concat(t)}var r=new Set(["height","weight","neq","safetyDistance","duration","internalDelay","fuseDelay","numDevices","numTubes","stdCost"]);new Set(["effectHeight","weight","netExplosiveMass","safetyDistance","duration","prefire","fuseDelay","chainNumberOfDevices","rackTubes","cost"]);function o(e){var n=new RegExp("^([ \t\r\n\v\f]+)"),t=new RegExp("([ \t\r\n\v\f]+)$"),a=e.replace(n,"");return a=a.replace(t,"")}function s(e,n,t,a){var i=new Map;n.dataRows.forEach((function(e){var n=o(e[0]);if(i.has(n))throw new Error("duplicate key ".concat(e[0]));i.set(n,e)}));var s=new Map;e.dataRows.forEach((function(e){var n=o(e[0]);if(s.has(n))throw new Error("duplicate key ".concat(e[0]));s.set(n,e)}));var l=e.headerRow,A=n.headerRow,g=!0;A.forEach((function(e){-1==l.indexOf(e)&&(g=!1)})),l.forEach((function(e){-1==A.indexOf(e)&&(g=!1)}));var u=A.map((function(e){return l.indexOf(e)}));var c=new Set(s.keys()),d={headerRow:n.headerRow,dataRows:n.dataRows.slice()},p={headerRow:n.headerRow,dataRows:[]};!g&&a||s.forEach((function(e,n){var a=i.get(n);if(a){(function(e,n){return A.every((function(a,i){if(t){if("qoh"==a)return!0;if("available"==a)return!0}var s=o(n[i]||""),l=o(e[u[i]]||"");if(l==s)return!0;function A(e){return""==e||"N/A"==e}if(A(l)&&A(s))return!0;if(r.has(a)){var g=Number.parseFloat(l),c=Number.parseFloat(s);if(g.toFixed(4)==c.toFixed(4))return!0}return!1}))})(e,a)||p.dataRows.push(a),c.delete(n);for(var s=0;s0;){var o={},s=0;0!=a.length&&s fetch",r,o,n),g=Date.now(),e.next=6,s()(n,t);case 6:return u=e.sent,c=Date.now()-g,A&&console.log("< fetch",r,c,"ms"),e.abrupt("return",u);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},122:function(e,n,t){"use strict";t.d(n,"a",(function(){return l}));t(9);var a=t(5),i=t(1),r=t.n(i),o=t(0),s=a.d.div.withConfig({displayName:"BreadCrumbTrail__BreadCrumbTrailDiv",componentId:"sc-1fehbup-0"})(["font-size:14px;line-height:16px;position:relative;top:-5.5px;.separator{margin:0.25rem;}.BreadCrumbEnd{font-weight:bold;}"]);function l(e){var n=r.a.Children.count(e.children);return Object(o.jsx)(s,{className:"BreadCrumbTrail",children:r.a.Children.map(e.children,(function(e,t){return Object(o.jsxs)(o.Fragment,{children:[e,tn)&&(G[e.gitSha]=n)}));var z=O.getAllRenderEffectImageResults.map((function(e){var n=JSON.parse(e.pieceParamsJson),t=1e3*n.caliber+"mm";return t={"25.4mm":'1"',"50.8mm":'2"',"76.2mm":'3"',"152.4mm":'6"'}[t]||t,{Worker:e.worker.name,"Git Sha":"".concat(G[e.gitSha].toISOString().substr(0,10).replace(/-/g,"."),".").concat(e.gitSha),Caliber:t,VDL:n.vdl,pngBlobHash:e.pngBlobHash,pieceParamsJson:e.pieceParamsJson,renderTime:e.renderTime}}));z=Ae.orderBy(z,["Git Sha","VDL","Caliber","Worker"],["desc"]);var H=M.map((function(e){return"Git Sha"==e?"desc":"asc"}));function W(e){var n=e.choice,t=e.setChoice;return Object(K.jsxs)("select",{onChange:function(e){t(e.target.value)},value:n,children:[Object(K.jsx)("option",{value:"",children:"-------"}),Object(K.jsx)("option",{children:"Git Sha"}),Object(K.jsx)("option",{children:"Worker"}),Object(K.jsx)("option",{children:"Caliber"}),Object(K.jsx)("option",{children:"VDL"})]})}z=Ae.orderBy(z,M,H);var J=[];function V(){var e=0;return Object(K.jsxs)("table",{children:[Object(K.jsx)("thead",{children:Object(K.jsxs)("tr",{children:[M.map((function(e){return Object(K.jsx)("th",{children:e},e)})),Object(K.jsx)("th",{})]})}),Object(K.jsx)("tbody",{children:Ae.map(J,(function(n,t){var a=Object(h.a)(n,2),i=(a[0],a[1]),r=["renderIcons"];k||r.push("nowrap");var o=i[0];return++e,Object(K.jsxs)("tr",{children:[M.map((function(e){return Object(K.jsx)("td",{children:o[e]},e)})),Object(K.jsx)("td",{className:r.join(" "),children:i.map((function(e,n){var t="http://finale-blobcas.s3-website-us-west-2.amazonaws.com/".concat(e.pngBlobHash),a=Math.round(1e3*e.renderTime);return Object(K.jsxs)("div",{className:"effectIconHolder",children:[D&&Object(K.jsx)("span",{className:"renderTime",children:a}),Object(K.jsx)("img",{className:"effectIcon",width:B,src:t,onClick:function(){R(e)}},n)]})}))})]},e)}))})]})}z.forEach((function(e){var n="";M[0]&&(n+="|"+e[M[0]]),M[1]&&(n+="|"+e[M[1]]),M[2]&&(n+="|"+e[M[2]]),M[3]&&(n+="|"+e[M[3]]);var t=!1;J.forEach((function(a){n==a[0]&&(t=!0,a[1].push(e))})),t||J.push([n,[e]])}));var q=T?"http://finale-blobcas.s3-website-us-west-2.amazonaws.com/".concat(T.pngBlobHash):void 0;return Object(K.jsxs)(ge,{children:[Object(K.jsx)("h3",{children:"RenderEffectImage Results"}),Object(K.jsxs)("div",{children:[Object(K.jsxs)("div",{className:"Controls",children:[Object(K.jsx)(W,{choice:t,setChoice:a}),Object(K.jsx)(W,{choice:o,setChoice:s}),Object(K.jsx)(W,{choice:g,setChoice:c}),Object(K.jsx)(W,{choice:f,setChoice:I}),Object(K.jsx)("br",{}),Object(K.jsxs)("label",{children:["Icon size",Object(K.jsxs)("select",{value:B,onChange:function(e){return Q(e.target.value)},children:[Object(K.jsx)("option",{children:"32px"}),Object(K.jsx)("option",{children:"64px"}),Object(K.jsx)("option",{children:"128px"}),Object(K.jsx)("option",{children:"256px"}),Object(K.jsx)("option",{children:"512px"})]})]}),Object(K.jsx)("br",{}),Object(K.jsxs)("label",{children:[Object(K.jsx)("input",{type:"checkbox",checked:k,onChange:function(e){w(!k)}}),"Wrap lines"]}),Object(K.jsx)("br",{}),Object(K.jsxs)("label",{children:[Object(K.jsx)("input",{type:"checkbox",checked:D,onChange:function(e){S(!D)}}),"Display render times"]}),Object(K.jsx)("br",{})]}),T&&Object(K.jsx)("div",{className:"ImgInfoCard",children:Object(K.jsx)("table",{children:Object(K.jsxs)("tbody",{children:[Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{children:"Url"}),Object(K.jsx)("td",{children:Object(K.jsx)("a",{target:"_blank",rel:"noreferrer",href:q,children:q})})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{children:"Git Sha"}),Object(K.jsx)("td",{children:T["Git Sha"]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{children:"Worker"}),Object(K.jsx)("td",{children:T.Worker})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{children:"Caliber"}),Object(K.jsx)("td",{children:T.Caliber})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{children:"Vdl"}),Object(K.jsx)("td",{children:T.VDL})]})]})})})]}),Object(K.jsx)("div",{children:Object(K.jsx)("div",{children:Object(K.jsx)(V,{})})})]})}function ce(){return Object(K.jsx)(ue,{})}var de=t(6),pe=t(76),fe=t(266),he=t(40),Ie=t(14),Ce=t(353),Ee=t(108),me=t(1403),Be=t(1406),Qe=t(1404),ye=t(57),be=Object(Ie.b)({actions:function(){return{initialize:function(e){return{showId:Number.parseInt(e)}},setAppSettingsFromFinale3d:function(e){return{appSettings:e}},onChangeSetting:function(e,n){return{settingName:e,settingValue:n}}}},reducers:function(){return{showId:[null,{initialize:function(e,n){return n.showId||null}}],debounceMap:[new Map,{}],appSettings:[null,{setAppSettingsFromFinale3d:function(e,n){var t=n.appSettings;return t?Object(de.a)({},t):e},onChangeSetting:function(e,n){var t=n.settingName,a=n.settingValue;return Object(de.a)(Object(de.a)({},e),{},Object(ye.a)({},t,a))}}]}},selectors:{isInitialized:[function(e){return[e.showId,e.appSettings]},function(e,n){return null==e||null!=n}]},listeners:function(e){var n=e.actions,t=e.values;return{initialize:function(){var e=Object(I.a)(f.a.mark((function e(a){var i;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null==t.showId){e.next=5;break}return e.next=3,v.a.invokeApi("getSettings",{showId:t.showId});case 3:i=e.sent,n.setAppSettingsFromFinale3d(i);case 5:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),setAppSettingsFromFinale3d:function(){var e=Object(I.a)(f.a.mark((function e(n,a){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a(50);case 2:console.log("AppSettingsLogic setAppSettingsFromFinale3d",t.appSettings);case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),onChangeSetting:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=a.settingName,o=a.settingValue,s=t.debounceMap,e.next=4,new Promise((function(e,n){!function e(n,t){var a=s.get(r);if(null!=(null===a||void 0===a?void 0:a.currentlyExecutingT))return a.lastT=n,void(a.lastResolve=t);var i={currentlyExecutingT:n,lastT:null,lastResolve:null};s.set(r,i),setTimeout((function(){s.get(r)===i&&(t(),s.delete(r),null!=i.lastT&&e(i.lastT,i.lastResolve))}),50)}(Date.now(),e)}));case 4:return e.next=6,v.a.invokeApi("changeSetting",{showId:t.showId,settingName:r,settingValue:o});case 6:l=e.sent,n.setAppSettingsFromFinale3d(l);case 8:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}()}}}),_e=t(119),ke=t(1407),we=t(1393),Fe=t(26),ve=t(75),De=g.d.div.withConfig({displayName:"EditableTextWidget__EditableTextWidgetDiv",componentId:"sc-1odalvs-0"})(["display:inline-block;.InputHolder{display:inline-block;position:relative;}.InputSizer{color:red;visibility:hidden;}input,.InputSizer{display:block;font-weight:bold;font-family:Arial;font-size:13px;line-height:1.0;padding:2px;}input{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;background:unset;border:0;&:not(:focus){cursor:pointer;}outline:none;&:hover,&:focus{background:#cfc;}}"]);function Se(e){var n=Object(u.useState)(null),t=Object(h.a)(n,2),a=t[0],i=t[1],r=Object(u.useState)(""),o=Object(h.a)(r,2),s=o[0],l=o[1],A=Object(u.useRef)(null);var g=a||e.value||"";return Object(K.jsx)(De,{children:Object(K.jsxs)("div",{ref:A,tabIndex:0,className:"InputHolder",children:[Object(K.jsx)("div",{className:"InputSizer",children:g}),Object(K.jsx)("input",{value:g,onKeyDown:function(n){"Enter"==n.key&&(n.stopPropagation(),A.current.focus(),e.onChange&&e.onChange(a),e.onAfterChange&&e.onAfterChange(),i(null)),"Escape"==n.key&&(n.stopPropagation(),A.current.focus(),e.onChange&&e.onChange(s),e.onAfterChange&&e.onAfterChange(),i(null))},onChange:function(n){i(n.target.value),e.onChange&&e.onChange(n.target.value)},onFocus:function(n){e.onBeforeChange&&e.onBeforeChange(),l(e.value),n.target.select()},onBlur:function(n){e.onChange&&e.onChange(a||e.value),e.onAfterChange&&e.onAfterChange()},onDragStart:function(n){e.onDragStart&&(i(null),n.target.blur(),e.onDragStart(n))},onDragEnd:e.onDragEnd,onDrag:e.onDrag})]})})}var xe=t(10),je=t(20),Te=t.n(je),Re=(t(276),t(193)),Me=t(194);function Ne(e){return null!=e.match(/^\s*{.*}\s*$/)}function Pe(e,n){return+(Math.round(e+"e+"+n)+"e-"+n)||0}function Oe(e){if("tip"==e.nodeTag||"spark"==e.nodeTag){var n=e.paramValues.startColor.replace(/^USYM:/,"");return"#000000"==(n=n.replace(":","#"))&&(e.paramValues.startTemp>=1e3||e.paramValues.endTemp>=1e3)&&(n="#FF9A41"),[n]}var t,a,i,r,o,s;if("trail"==e.nodeTag)return null!==(t=null===(a=e.children)||void 0===a?void 0:a.flatMap((function(e){return Oe(e)})))&&void 0!==t?t:[];if("phase"==e.nodeTag){var l,A,g,u,c=null!==(l=null===(A=e.children)||void 0===A?void 0:A.flatMap((function(e){return"tip"==e.nodeTag?Oe(e):[]})))&&void 0!==l?l:[];return c.length>0?c:null!==(g=null===(u=e.children)||void 0===u?void 0:u.flatMap((function(e){return Oe(e)})))&&void 0!==g?g:[]}return"star"==e.nodeTag?null!==(i=null===(r=e.children)||void 0===r?void 0:r.flatMap((function(e){return"phase"==e.nodeTag?Oe(e):[]})))&&void 0!==i?i:[]:"break"==e.nodeTag&&null!==(o=null===(s=e.children)||void 0===s?void 0:s.flatMap((function(e){return Oe(e)})))&&void 0!==o?o:[]}function Ge(e,n){if(!n)throw new Error("gzipText undefined");var t=Object(Re.a)(n),a=Object(Me.b)(t);return e.deserializeBinary(a)}function Le(e){var n=e.serializeBinary(),t=Object(Me.a)(n);return Object(Re.b)(t)}var Ue=["effect","shot","launch","break","phase","star","smoke trail","flame trail","trail","sound","tip","spark","smoke puff","flame puff","light beam"];function ze(){return(ze=Object(I.a)(f.a.mark((function e(n){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("writeClipboardText",n),e.prev=1,e.next=4,navigator.clipboard.writeText(n);case 4:e.next=12;break;case 6:if(e.prev=6,e.t0=e.catch(1),console.log(e.t0),!v.a.isRunningInFinale3d()){e.next=12;break}return e.next=12,v.a.invokeApi("writeClipboardText",n);case 12:case"end":return e.stop()}}),e,null,[[1,6]])})))).apply(this,arguments)}function He(){return(He=Object(I.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,navigator.clipboard.readText();case 3:case 11:return e.abrupt("return",e.sent);case 6:if(e.prev=6,e.t0=e.catch(0),!v.a.isRunningInFinale3d()){e.next=12;break}return e.next=11,v.a.invokeApi("readClipboardText",{});case 12:case"end":return e.stop()}}),e,null,[[0,6]])})))).apply(this,arguments)}var Ye=t(560);t(1226);function We(e){var n=Object(u.useState)(!1),t=Object(h.a)(n,2),a=t[0],i=t[1];return Object(K.jsx)(Ye.a,{min:e.min,max:e.max,step:e.step,value:e.value,onBeforeChange:function(){i(!0),e.onBeforeChange&&e.onBeforeChange()},onChange:function(n){a&&e.onChange&&e.onChange(n)},onAfterChange:function(){i(!1),e.onAfterChange&&e.onAfterChange()}})}var Ke=g.d.div.withConfig({displayName:"PanelWidgets__PanelWidgetDiv",componentId:"sc-iabmm0-0"})(['display:block;min-height:40px;position:relative;.Label{margin-right:8px;}&.FloatWidget{.EditableTextWidget{font-size:15px;}}&.BoolWidget{input[type="checkbox"]{position:relative;top:2px;}}&.ParticleLimitWidget{select{width:106px;}}select{font-size:12px;}.Unit,.PlusOrMinus{font-size:14px;margin-left:0px;display:inline-block;&.Percent{font-size:13px;}}.PlusOrMinus{margin:0 8px;}']);function Je(e){var n,t=e.roundToPlaces||3,a=Pe(e.value||0,t),i=Object(u.useState)(null),r=Object(h.a)(i,2),o=r[0],s=r[1];function l(n){n=Pe(n,t),s(n),null!=e.onChange&&e.onChange(n)}var A=e.minValue||0,g=e.maxValue||999,c=e.sliderStep||(g-A)/100,d=o||a||0,p="".concat(Pe(d*(null!==(n=e.uiValueScale)&&void 0!==n?n:1),t));return Object(K.jsxs)(Ke,{className:"FloatWidget",children:[Object(K.jsxs)(tn,{children:[e.label&&Object(K.jsx)("div",{children:Object(K.jsx)("span",{className:"Label",children:e.label})}),Object(K.jsxs)("div",{children:[Object(K.jsx)(Se,{value:p,onChange:function(n){var t=Number.parseFloat(n);Number.isFinite(t)&&(null!=e.uiValueScale&&(t/=e.uiValueScale),l(t))}}),e.unit&&Object(K.jsx)("span",{className:"Unit",children:e.unit})]})]}),Object(K.jsx)(We,{min:A,max:g,step:c,value:d,onBeforeChange:function(){s(a)},onAfterChange:function(){s(null)},onChange:function(e){l(e)}})]})}function Ve(e){var n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings;var a={value:e.value,label:e.label,unit:e.unit,uiValueScale:e.uiValueScale,minValue:e.minValue,maxValue:e.maxValue,sliderStep:e.sliderStep,roundToPlaces:e.roundToPlaces};return null!=t&&null!=e.settingName&&(a.value=t[e.settingName]),Object(K.jsx)(Je,Object(de.a)(Object(de.a)({},a),{},{onChange:function(t){null!=e.onChange&&e.onChange(t),null!=e.settingName&&n(e.settingName,t)}}))}function qe(){var e=Object(Ce.a)().t,n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings,a=(null===t||void 0===t?void 0:t.movieRenderHeight)||720;return Object(K.jsx)(Ke,{className:"ResolutionWidget",children:Object(K.jsxs)(an,{children:[Object(K.jsx)("div",{children:Object(K.jsx)("span",{className:"Label",children:e("Resolution")})}),Object(K.jsx)("div",{children:Object(K.jsxs)("select",{onChange:function(e){var t=Number.parseInt(e.target.value);console.log("newValue",t),n("movieRenderHeight",t)},value:a,children:[Object(K.jsx)("option",{value:2160,children:e("3840 \xd7 2160")}),Object(K.jsx)("option",{value:1080,children:e("1920 x 1080")}),Object(K.jsx)("option",{value:720,children:e("1280 x 720")})]})})]})})}function Xe(){var e=Object(Ce.a)().t,n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings,a=(null===t||void 0===t?void 0:t.R_particle_limit)||5e6;return Object(K.jsx)(Ke,{className:"ParticleLimitWidget",children:Object(K.jsxs)(rn,{children:[Object(K.jsx)("div",{children:Object(K.jsx)("span",{className:"Label",children:e("Particle Limit")})}),Object(K.jsx)("div",{children:Object(K.jsxs)("select",{onChange:function(e){var t=Number.parseFloat(e.target.value);n("R_particle_limit",t)},value:a,children:[Object(K.jsx)("option",{value:1e6,children:e("1,000,000 (low quality)")}),Object(K.jsx)("option",{value:5e6,children:e("5,000,000")}),Object(K.jsx)("option",{value:1e7,children:e("10,000,000 (high quality)")}),Object(K.jsx)("option",{value:1e9,children:e("1,000,000,000 (effectively unlimited)")})]})})]})})}function Ze(){var e=Object(Ce.a)().t,n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings,a=(null===t||void 0===t?void 0:t.smokeThickness)||"USYM:thick";return Object(K.jsx)(Ke,{className:"SmokeThicknessWidget",children:Object(K.jsxs)(on,{children:[Object(K.jsx)("div",{children:Object(K.jsx)("span",{className:"Label",children:e("Smoke thickness")})}),Object(K.jsx)("div",{children:Object(K.jsxs)("select",{onChange:function(e){var t=e.target.value;n("smokeThickness",t)},value:a,children:[Object(K.jsx)("option",{value:"USYM:thin",children:e("Thin")}),Object(K.jsx)("option",{value:"USYM:thick",children:e("Thick")})]})})]})})}function $e(){var e=Object(Ce.a)().t,n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings,a=(null===t||void 0===t?void 0:t.windDirection)||"USYM:w";return Object(K.jsx)(Ke,{className:"WindDirectionWidget",children:Object(K.jsxs)(sn,{children:[Object(K.jsx)("div",{children:Object(K.jsx)("span",{className:"Label",children:e("Wind direction")})}),Object(K.jsx)("div",{children:Object(K.jsxs)("select",{onChange:function(e){var t=e.target.value;n("windDirection",t)},value:a,children:[Object(K.jsx)("option",{value:"USYM:n",children:e("N")}),Object(K.jsx)("option",{value:"USYM:nw",children:e("NW")}),Object(K.jsx)("option",{value:"USYM:ne",children:e("NE")}),Object(K.jsx)("option",{value:"USYM:w",children:e("W")}),Object(K.jsx)("option",{value:"USYM:e",children:e("E")}),Object(K.jsx)("option",{value:"USYM:sw",children:e("SW")}),Object(K.jsx)("option",{value:"USYM:se",children:e("SE")}),Object(K.jsx)("option",{value:"USYM:s",children:e("S")})]})})]})})}function en(e){var n=!!e.value;return Object(K.jsx)(Ke,{className:"BoolWidget",children:Object(K.jsxs)(ln,{children:[Object(K.jsx)("div",{children:e.label&&Object(K.jsx)("span",{className:"Label",children:e.label})}),Object(K.jsx)("input",{type:"checkbox",onChange:function(){var t=!n;null!=e.onChange&&e.onChange(t)},checked:n})]})})}function nn(e){var n=Object(Ie.d)(be).onChangeSetting,t=Object(Ie.e)(be).appSettings;var a={value:!1,label:e.label};return null!=t&&null!=e.settingName&&(a.value=t[e.settingName]),Object(K.jsx)(en,Object(de.a)(Object(de.a)({},a),{},{onChange:function(t){null!=e.settingName&&n(e.settingName,t)}}))}var tn=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv",componentId:"sc-iabmm0-1"})(["display:flex;justify-content:space-between"]),an=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv2",componentId:"sc-iabmm0-2"})(["display:flex;justify-content:space-between"]),rn=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv3",componentId:"sc-iabmm0-3"})(["display:flex;justify-content:space-between"]),on=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv4",componentId:"sc-iabmm0-4"})(["display:flex;justify-content:space-between"]),sn=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv5",componentId:"sc-iabmm0-5"})(["display:flex;justify-content:space-between"]),ln=Object(g.d)("div").withConfig({displayName:"PanelWidgets___StyledDiv6",componentId:"sc-iabmm0-6"})(["display:flex;justify-content:space-between"]),An=g.d.div.withConfig({displayName:"Client3dTilesDownloaderDialog__Client3dTilesDownloaderDialogBodyDiv",componentId:"sc-6x0bry-0"})(['height:100%;display:flex;flex-direction:column;#ConfigPanel{padding:8px;background:white;font-size:11px;border:1px solid black;position:absolute;z-index:1;bottom:0;right:0;button{margin:0 4px;}}.GoogleMapsHolder{flex-grow:1;margin:16px;position:relative;background:black;}.ControlsHolder{margin:0 16px;}.NormalizedPlaceName{display:inline-block;min-height:16px;}.gm-style-mtc button{border-radius:0;}.gm-fullscreen-control,.gm-bundled-control{}.gmnoprint:not([role="menubar"]){display:none;}.gm-style-cc{display:none;}a[target="_blank"]{display:none;pointer-events:none;}.OriginManLabel{color:white;}.ControlsHolder{.Label{display:inline-block;}.GpsTextInput{width:400px;&.error{background-color:#fdd;}}}.ButtonBar{height:62px;margin-top:16px;background:#f4f4f4;border-top:1px solid #c8c8c8;}.ButtonsHolder{display:flex;margin-top:16px;position:absolute;right:32px;}.SpinnerHolder{display:inline-block;position:relative;top:-2px;}.ProceedButtonHolder{}.TileDownloadCountHolder{display:inline-block;margin-left:8px;}.DoneButtonHolder{margin-left:16px;}.CancelButtonHolder{margin-left:16px;}button,.btn{transition:none;vertical-align:unset;font-size:16px;line-height:inherit;border:2px solid #5492b0;background:linear-gradient(0deg,#5492b0 0%,#61a5d7 100%);font-weight:bold;height:34px;min-width:105px;color:white;border-radius:6px;padding:1px 7px 2px;&:focus{border:2px solid #335566;outline:none;}&:disabled{border:2px solid #9aa6ac;background:linear-gradient(0deg,#97a8b1 0%,#c4cfd6 100%);outline:none;}}.btn-primary{border-color:unset;background-color:unset;&:hover{border-color:unset;background-color:unset;}}button.btn{vertical-align:unset;line-height:inherit;}']),gn=Object(Ie.b)({connect:[be],actions:function(){return{initialize:function(e){return{showId:Number.parseInt(e)}},setConfigPanelValue:function(e,n){return{key:e,value:n}},setGoogleMapsRef:function(e){return{googleMapsRef:e}},setUserSelectedMapCenter:function(e){return{lat:e.lat,lng:e.lng}},setDefaultMapCenterFromPerShowSettings:function(e){return{lat:e.lat,lng:e.lng}},setMapTypeId:function(e){return{mapTypeId:e}},setGpsTextInputValue:function(e){return{value:e}},setDebugMarkers:function(e){return{debugMarkers:e}},setGeocodingResult:function(e){return{geocodingResult:e}},setGeolocateResult:function(e){return{geolocateResult:e}},setTiles3dHeightOffset:function(e){return{tiles3dHeightOffset:e}},setGpsTextInputStatus:function(e){return{status:e}},onGpsTextInputChange:function(e){return{e:e}},onGpsTextInputFocus:function(e){return{e:e}},onGpsTextInputBlur:function(e){return{e:e}},onGpsTextInputKeyDown:function(e){return{e:e}},onMapCenterChanged:function(e){return{newMapCenter:e}},setDownload3dStarted:function(e){return{download3dStarted:e}},setDownload2dStarted:function(e){return{download2dStarted:e}},setDownload3dInProgress:function(e){return{download3dInProgress:e}},setDownload2dInProgress:function(e){return{download2dInProgress:e}},setTileCount:function(e){return{tileCount:e}},setTileDownloadCount:function(e){return{tileDownloadCount:e}},onApply:!0,onApply2dGoogleMap:!0,onApply3dTiles:!0,onClickOk:!0,onClickCancel:!0,setDialogIsCancelled:!0}},reducers:function(){return{configPanelData:[{},{setConfigPanelValue:function(e,n){var t=n.key,a=n.value,i=Object(de.a)({},e);return i[t]=a,i}}],googleMapsRef:[null,{setGoogleMapsRef:function(e,n){return n.googleMapsRef}}],debugMarkers:[null,{setDebugMarkers:function(e,n){return n.debugMarkers}}],showId:[null,{initialize:function(e,n){return n.showId}}],mapTypeId:["hybrid",{setMapTypeId:function(e,n){return n.mapTypeId}}],userSelectedMapCenter:[null,{setUserSelectedMapCenter:function(e,n){return{lat:n.lat,lng:n.lng}}}],defaultMapCenterFromPerShowSettings:[null,{setDefaultMapCenterFromPerShowSettings:function(e,n){return{lat:n.lat,lng:n.lng}}}],gpsTextInputValue:["",{setGpsTextInputValue:function(e,n){return n.value}}],gpsTextInputStatus:["default",{setGpsTextInputStatus:function(e,n){return n.status}}],download3dStarted:[null,{setDownload3dStarted:function(e,n){return n.download3dStarted}}],download3dInProgress:[!1,{setDownload3dInProgress:function(e,n){return n.download3dInProgress}}],download2dStarted:[null,{setDownload2dStarted:function(e,n){return n.download2dStarted}}],download2dInProgress:[!1,{setDownload2dInProgress:function(e,n){return n.download2dInProgress}}],dialogIsCancelled:[!1,{setDialogIsCancelled:function(){return!0}}],tileCount:[0,{setTileCount:function(e,n){return n.tileCount}}],tileDownloadCount:[0,{setTileDownloadCount:function(e,n){return n.tileDownloadCount}}],geocodingResult:[null,{setGeocodingResult:function(e,n){return n.geocodingResult}}],geolocateResult:[null,{setGeolocateResult:function(e,n){return n.geolocateResult}}],tiles3dHeightOffset:[0,{setTiles3dHeightOffset:function(e,n){return n.tiles3dHeightOffset}}]}},selectors:{mapCenter:[function(e){return[e.userSelectedMapCenter,e.defaultMapCenterFromPerShowSettings,e.geolocateResult]},function(e,n,t){var a;return null!==(a=null!==e&&void 0!==e?e:n)&&void 0!==a?a:null===t||void 0===t?void 0:t.location}],mapCenterXyz:[function(e){return[e.mapCenter]},function(e){return fe.project(e.lat,e.lng,0)}],download2dButtonIsDisabled:[function(e){return[e.download2dStarted,e.download2dInProgress,e.mapCenter]},function(e,n,t){return!!n||(null==(null===t||void 0===t?void 0:t.lat)||(null===e||void 0===e?void 0:e.lat)===(null===t||void 0===t?void 0:t.lat)&&(null===e||void 0===e?void 0:e.lng)===(null===t||void 0===t?void 0:t.lng))}],download3dButtonIsDisabled:[function(e){return[e.download3dStarted,e.download3dInProgress,e.mapCenter]},function(e,n,t){return!!n||(null==(null===t||void 0===t?void 0:t.lat)||(null===e||void 0===e?void 0:e.lat)===(null===t||void 0===t?void 0:t.lat)&&(null===e||void 0===e?void 0:e.lng)===(null===t||void 0===t?void 0:t.lng))}]},listeners:function(e){var n=e.actions,t=e.values;return{setTiles3dHeightOffset:function(){var e=Object(I.a)(f.a.mark((function e(n,a){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a(20);case 2:v.a.invokeApi("setTempTileBatchHeightOffset",{showId:t.showId,tiles3dHeightOffset:t.tiles3dHeightOffset});case 3:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),onGpsTextInputChange:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l,A,g,u,c,d;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=a.e.target.value,o=r.match(/^(.*),\s*(.*)$/),console.log("onChangeGpsTextInputValue",{m:o}),n.setGpsTextInputValue(r),n.setGpsTextInputStatus("default"),null==o){e.next=13;break}if(s=Number.parseFloat(o[1]),l=Number.parseFloat(o[2]),!Number.isFinite(s)||!Number.isFinite(l)){e.next=13;break}return g={lat:s,lng:l},n.setGeocodingResult(null),null!=(null===(A=t.googleMapsRef)||void 0===A?void 0:A.current)&&t.googleMapsRef.current.panTo(g),e.abrupt("return");case 13:return e.next=15,un(r);case 15:return u=e.sent,e.next=18,i(20);case 18:"OK"!=u.status?(n.setGpsTextInputStatus("error"),n.setGeocodingResult(null)):(n.setGpsTextInputStatus("default"),n.setGeocodingResult(u),d=u.results[0].geometry.location,null!=(null===(c=t.googleMapsRef)||void 0===c?void 0:c.current)?t.googleMapsRef.current.panTo(d):n.setUserSelectedMapCenter(d));case 19:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),onGpsTextInputBlur:function(e){t.geocodingResult,null!=t.mapCenter&&n.setGpsTextInputValue("".concat(Object(he.sprintf)("%f",t.mapCenter.lat),", ").concat(Object(he.sprintf)("%f",t.mapCenter.lng)))},setUserSelectedMapCenter:function(e){},setGeolocateResult:function(e){},initialize:function(){var e=Object(I.a)(f.a.mark((function e(a){var i,r,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.invokeApi("getSettings",{showId:t.showId});case 2:return i=e.sent,e.next=5,dn();case 5:r=e.sent,n.setGeolocateResult(r),null!=(o=i.originGpsCoordinates)?(n.setDefaultMapCenterFromPerShowSettings(o),n.setUserSelectedMapCenter(o),n.setGpsTextInputValue("".concat(Object(he.sprintf)("%f",o.lat),", ").concat(Object(he.sprintf)("%f",o.lng)))):(n.setDefaultMapCenterFromPerShowSettings(r.location),n.setUserSelectedMapCenter(r.location),n.setGpsTextInputValue("".concat(Object(he.sprintf)("%f",r.location.lat),", ").concat(Object(he.sprintf)("%f",r.location.lng))));case 9:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),onApply2dGoogleMap:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l,A,g,u,c,d,p,h,C,E,m,B,Q,y,b,_,k,w,F,D,S,x,j,T,R,M,N,P,O,G,L,U,z,H;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(L=function(){return(L=Object(I.a)(f.a.mark((function e(n){var t,a,i,o,s;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t="https://maps.googleapis.com/maps/api/staticmap?center=".concat("".concat(n.tileCenterLngLat[1],",").concat(n.tileCenterLngLat[0]),"&format=png&zoom=",n.zoom+1,"&size=").concat(r,"x").concat(r,"&maptype=").concat(n.mapTypeId,"&key=").concat(Y.f),a=null,i=10,o=0;case 5:if(!(o=12;C--)for(E=0;E<4;E++)m="z".concat(C,"-").concat(E),B=s(t.mapCenter,C),Q=[(0!=(1&E)?1:0)*o,(0!=(2&E)?1:0)*o],y=B.unproject(Q),b=s({lat:y[1],lng:y[0]},C),_=b.unproject([0,o]),k=b.unproject([o,0]),w=A.projectFlat(_),F=A.projectFlat(k),D=[w[0]/l.unitsPerMeter[0],w[1]/l.unitsPerMeter[1]],S=[F[0]/l.unitsPerMeter[0],F[1]/l.unitsPerMeter[1]],x=[D[0]-p[0],-(D[1]-p[1])],j=[S[0]-p[0],-(S[1]-p[1])],T=Math.min(x[0],j[0]),R=Math.max(x[0],j[0]),M=Math.min(x[1],j[1]),N=Math.max(x[1],j[1]),P=[T,M,R,N],O=[o,o],u.push({dimensions:O,coordinates:P,tileCenterLngLat:y,zoom:C,mapTypeId:h}),g.push({label:"".concat(m,"-cn"),position:{lat:y[1],lng:y[0]}}),g.push({label:"".concat(m,"-ll"),position:{lat:_[1],lng:_[0]}}),g.push({label:"".concat(m,"-ur"),position:{lat:k[1],lng:k[0]}});return U=u.map(function(){var e=Object(I.a)(f.a.mark((function e(n){var t;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,G(n);case 2:return t=e.sent,e.abrupt("return",Object(ve.b)(t));case 4:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()),n.setDownload2dStarted(t.mapCenter),n.setDownload2dInProgress(!0),e.next=22,pe.all(U);case 22:return z=e.sent,e.next=25,i();case 25:return e.next=27,v.a.invokeApi("clearGoogleMapsSplats",{showId:t.showId});case 27:H=0;case 28:if(!(H100)})),n.setTileCount(a.length),i=a.map((function(e){return e.content.cartographicOrigin[2]})),r=0==i.length?0:i.reduce((function(e,n){return e+n}),0)/i.length,o=a.map((function(e){var n="".concat(e.contentUrl,"?").concat(u.queryParams);return Object(I.a)(f.a.mark((function e(){var t,a;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n);case 2:return t=e.sent,e.next=5,t.arrayBuffer();case 5:return a=e.sent,e.abrupt("return",a);case 7:case"end":return e.stop()}}),e)})))()})),e.next=8,pe.all(o);case 8:return s=e.sent,l=s.map((function(e){return Object(ve.b)(e)})),e.next=12,v.a.invokeApi("deleteAllTileBatchModels",{showId:t.showId});case 12:return e.next=14,v.a.invokeApi("clearTempTileBatchTiles",{showId:t.showId});case 14:return A={mapCenter:t.mapCenter,mapCenterXyz:t.mapCenterXyz,tiles3dHeightOffset:t.tiles3dHeightOffset,avgZHeight:r},e.next=17,v.a.invokeApi("setTempTileBatchInfo",{showId:t.showId,batchInfo:A});case 17:g=0;case 18:if(!(g0&&Object(K.jsx)(vn,{children:F-v})]}),y&&!_&&0==F&&Object(K.jsx)(Dn,{children:"No 3d map models available at this location."})]})}),Object(K.jsxs)(Sn,{children:[Object(K.jsx)(xn,{children:Object(K.jsx)("b",{children:"Adjust:"})}),Object(K.jsx)(jn,{children:Object(K.jsx)(Ve,{label:n("3D map height offset"),unit:"m",minValue:-10,maxValue:100,sliderStep:.1,value:R,onChange:I})}),Object(K.jsx)(Tn,{children:Object(K.jsx)(Ve,{settingName:"renderModelBrightness",label:n("3D model brightness"),unit:"%",uiValueScale:100,maxValue:4,sliderStep:.01})}),Object(K.jsx)(Rn,{}),Object(K.jsx)(Mn,{}),Object(K.jsx)(Nn,{children:Object(K.jsx)(Ve,{settingName:"renderTerrainBrightness",label:n("2D terrain brightness"),unit:"%",uiValueScale:100,maxValue:4,sliderStep:.01})}),Object(K.jsx)(Pn,{children:Object(K.jsx)(nn,{settingName:"drawFog",label:n("Draw fog")})})]})]})}),Object(K.jsx)("div",{className:"ButtonBar",children:Object(K.jsxs)("div",{className:"ButtonsHolder",children:[Object(K.jsx)("div",{className:"DoneButtonHolder",children:Object(K.jsx)(W.a,{onClick:E,children:n("Ok")})}),Object(K.jsx)("div",{className:"CancelButtonHolder",children:Object(K.jsx)(W.a,{onClick:C,children:n("Cancel")})})]})})]})}var Cn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv",componentId:"sc-6x0bry-1"})(["display:block;padding:8px 0;"]),En=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv2",componentId:"sc-6x0bry-2"})(["display:flex;flex-flow:row;"]),mn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv3",componentId:"sc-6x0bry-3"})(["display:inline-block;width:300px"]),Bn=Object(g.d)("span").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledSpan",componentId:"sc-6x0bry-4"})(["margin-left:8px"]),Qn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv4",componentId:"sc-6x0bry-5"})(["display:block;margin-top:8px;padding:8px 0;"]),yn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv5",componentId:"sc-6x0bry-6"})([""]),bn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv6",componentId:"sc-6x0bry-7"})(["display:inline-block;width:300px"]),_n=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv7",componentId:"sc-6x0bry-8"})(["display:inline-block;width:240px"]),kn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv8",componentId:"sc-6x0bry-9"})(["margin-left:4px"]),wn=Object(g.d)(W.a).withConfig({displayName:"Client3dTilesDownloaderDialog___StyledF3dButton",componentId:"sc-6x0bry-10"})(["margin-left:8px"]),Fn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv9",componentId:"sc-6x0bry-11"})(["margin-left:4px"]),vn=Object(g.d)("span").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledSpan2",componentId:"sc-6x0bry-12"})(["margin-left:4px"]),Dn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv10",componentId:"sc-6x0bry-13"})(["display:inline-block;margin-left:8px;color:#f00"]),Sn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv11",componentId:"sc-6x0bry-14"})(["display:block;margin-top:8px;padding:8px 0;"]),xn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv12",componentId:"sc-6x0bry-15"})(["display:inline-block;width:300px"]),jn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv13",componentId:"sc-6x0bry-16"})(["display:inline-block;width:220px;"]),Tn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv14",componentId:"sc-6x0bry-17"})(["display:inline-block;width:220px;margin-left:20px;"]),Rn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv15",componentId:"sc-6x0bry-18"})(["margin-top:8px"]),Mn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv16",componentId:"sc-6x0bry-19"})(["display:inline-block;width:300px"]),Nn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv17",componentId:"sc-6x0bry-20"})(["display:inline-block;width:220px;"]),Pn=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog___StyledDiv18",componentId:"sc-6x0bry-21"})(["display:inline-block;width:220px;margin-left:20px;"]),On=t(114),Gn=t(47);var Ln={encode:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gn.Writer.create();return 0!==e.lat&&n.uint32(13).float(e.lat),0!==e.lng&&n.uint32(21).float(e.lng),n},decode:function(e,n){for(var t=e instanceof Gn.Reader?e:Gn.Reader.create(e),a=void 0===n?t.len:t.pos+n,i={lat:0,lng:0};t.pos>>3){case 1:if(13!==r)break;i.lat=t.float();continue;case 2:if(21!==r)break;i.lng=t.float();continue}if(4===(7&r)||0===r)break;t.skipType(7&r)}return i},fromJSON:function(e){return{lat:Wn(e.lat)?globalThis.Number(e.lat):0,lng:Wn(e.lng)?globalThis.Number(e.lng):0}},toJSON:function(e){var n={};return 0!==e.lat&&(n.lat=e.lat),0!==e.lng&&(n.lng=e.lng),n},create:function(e){return Ln.fromPartial(null!==e&&void 0!==e?e:{})},fromPartial:function(e){var n,t,a={lat:0,lng:0};return a.lat=null!==(n=e.lat)&&void 0!==n?n:0,a.lng=null!==(t=e.lng)&&void 0!==t?t:0,a}};var Un={encode:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gn.Writer.create();return 0!==e.showId&&n.uint32(8).int32(e.showId),n},decode:function(e,n){for(var t=e instanceof Gn.Reader?e:Gn.Reader.create(e),a=void 0===n?t.len:t.pos+n,i={showId:0};t.pos>>3){case 1:if(8!==r)break;i.showId=t.int32();continue}if(4===(7&r)||0===r)break;t.skipType(7&r)}return i},fromJSON:function(e){return{showId:Wn(e.showId)?globalThis.Number(e.showId):0}},toJSON:function(e){var n={};return 0!==e.showId&&(n.showId=Math.round(e.showId)),n},create:function(e){return Un.fromPartial(null!==e&&void 0!==e?e:{})},fromPartial:function(e){var n,t={showId:0};return t.showId=null!==(n=e.showId)&&void 0!==n?n:0,t}};var zn={encode:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gn.Writer.create();return 0!==e.showId&&n.uint32(8).int32(e.showId),n},decode:function(e,n){for(var t=e instanceof Gn.Reader?e:Gn.Reader.create(e),a=void 0===n?t.len:t.pos+n,i={showId:0};t.pos>>3){case 1:if(8!==r)break;i.showId=t.int32();continue}if(4===(7&r)||0===r)break;t.skipType(7&r)}return i},fromJSON:function(e){return{showId:Wn(e.showId)?globalThis.Number(e.showId):0}},toJSON:function(e){var n={};return 0!==e.showId&&(n.showId=Math.round(e.showId)),n},create:function(e){return zn.fromPartial(null!==e&&void 0!==e?e:{})},fromPartial:function(e){var n,t={showId:0};return t.showId=null!==(n=e.showId)&&void 0!==n?n:0,t}};var Hn={encode:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Gn.Writer.create();0!==e.showId&&n.uint32(8).int32(e.showId),void 0!==e.mapCenter&&Ln.encode(e.mapCenter,n.uint32(18).fork()).ldelim(),n.uint32(26).fork();var t,a=Object(xe.a)(e.mapCenterXyz);try{for(a.s();!(t=a.n()).done;){var i=t.value;n.float(i)}}catch(r){a.e(r)}finally{a.f()}return n.ldelim(),0!==e.tilesHeightOffset&&n.uint32(37).float(e.tilesHeightOffset),n},decode:function(e,n){for(var t=e instanceof Gn.Reader?e:Gn.Reader.create(e),a=void 0===n?t.len:t.pos+n,i={showId:0,mapCenter:void 0,mapCenterXyz:[],tilesHeightOffset:0};t.pos>>3){case 1:if(8!==r)break;i.showId=t.int32();continue;case 2:if(18!==r)break;i.mapCenter=Ln.decode(t,t.uint32());continue;case 3:if(29===r){i.mapCenterXyz.push(t.float());continue}if(26===r){for(var o=t.uint32()+t.pos;t.pos1&&void 0!==arguments[1]?arguments[1]:Gn.Writer.create();return void 0!==e.subscribeToRenderEvents&&Un.encode(e.subscribeToRenderEvents,n.uint32(10).fork()).ldelim(),void 0!==e.resetTempTileBatch&&zn.encode(e.resetTempTileBatch,n.uint32(18).fork()).ldelim(),void 0!==e.setTempTileGlobalInfo&&Hn.encode(e.setTempTileGlobalInfo,n.uint32(26).fork()).ldelim(),n},decode:function(e,n){for(var t=e instanceof Gn.Reader?e:Gn.Reader.create(e),a=void 0===n?t.len:t.pos+n,i={subscribeToRenderEvents:void 0,resetTempTileBatch:void 0,setTempTileGlobalInfo:void 0};t.pos>>3){case 1:if(10!==r)break;i.subscribeToRenderEvents=Un.decode(t,t.uint32());continue;case 2:if(18!==r)break;i.resetTempTileBatch=zn.decode(t,t.uint32());continue;case 3:if(26!==r)break;i.setTempTileGlobalInfo=Hn.decode(t,t.uint32());continue}if(4===(7&r)||0===r)break;t.skipType(7&r)}return i},fromJSON:function(e){return{subscribeToRenderEvents:Wn(e.subscribeToRenderEvents)?Un.fromJSON(e.subscribeToRenderEvents):void 0,resetTempTileBatch:Wn(e.resetTempTileBatch)?zn.fromJSON(e.resetTempTileBatch):void 0,setTempTileGlobalInfo:Wn(e.setTempTileGlobalInfo)?Hn.fromJSON(e.setTempTileGlobalInfo):void 0}},toJSON:function(e){var n={};return void 0!==e.subscribeToRenderEvents&&(n.subscribeToRenderEvents=Un.toJSON(e.subscribeToRenderEvents)),void 0!==e.resetTempTileBatch&&(n.resetTempTileBatch=zn.toJSON(e.resetTempTileBatch)),void 0!==e.setTempTileGlobalInfo&&(n.setTempTileGlobalInfo=Hn.toJSON(e.setTempTileGlobalInfo)),n},create:function(e){return Yn.fromPartial(null!==e&&void 0!==e?e:{})},fromPartial:function(e){var n={subscribeToRenderEvents:void 0,resetTempTileBatch:void 0,setTempTileGlobalInfo:void 0};return n.subscribeToRenderEvents=void 0!==e.subscribeToRenderEvents&&null!==e.subscribeToRenderEvents?Un.fromPartial(e.subscribeToRenderEvents):void 0,n.resetTempTileBatch=void 0!==e.resetTempTileBatch&&null!==e.resetTempTileBatch?zn.fromPartial(e.resetTempTileBatch):void 0,n.setTempTileGlobalInfo=void 0!==e.setTempTileGlobalInfo&&null!==e.setTempTileGlobalInfo?Hn.fromPartial(e.setTempTileGlobalInfo):void 0,n}};function Wn(e){return null!==e&&void 0!==e}var Kn=g.d.div.withConfig({displayName:"Client3dTilesDownloaderDialog2__Client3dTilesDownloaderDialogBodyDiv",componentId:"sc-1gstm68-0"})(['height:100%;display:flex;flex-direction:column;#ConfigPanel{padding:8px;background:white;font-size:11px;border:1px solid black;position:absolute;z-index:1;bottom:0;right:0;button{margin:0 4px;}}.GoogleMapsHolder{flex-grow:1;margin:16px;position:relative;background:black;}.ControlsHolder{margin:0 16px;}.NormalizedPlaceName{display:inline-block;min-height:16px;}.gm-style-mtc button{border-radius:0;}.gm-fullscreen-control,.gm-bundled-control{}.gmnoprint:not([role="menubar"]){display:none;}.gm-style-cc{display:none;}a[target="_blank"]{display:none;pointer-events:none;}.OriginManLabel{color:white;}.ControlsHolder{.Label{display:inline-block;}.GpsTextInput{width:400px;&.error{background-color:#fdd;}}}.ButtonBar{height:62px;margin-top:16px;background:#f4f4f4;border-top:1px solid #c8c8c8;}.ButtonsHolder{display:flex;margin-top:16px;position:absolute;right:32px;}.SpinnerHolder{display:inline-block;position:relative;top:-2px;}.ProceedButtonHolder{}.TileDownloadCountHolder{display:inline-block;margin-left:8px;}.DoneButtonHolder{margin-left:16px;}.CancelButtonHolder{margin-left:16px;}button,.btn{transition:none;vertical-align:unset;font-size:16px;line-height:inherit;border:2px solid #5492b0;background:linear-gradient(0deg,#5492b0 0%,#61a5d7 100%);font-weight:bold;height:34px;min-width:105px;color:white;border-radius:6px;padding:1px 7px 2px;&:focus{border:2px solid #335566;outline:none;}&:disabled{border:2px solid #9aa6ac;background:linear-gradient(0deg,#97a8b1 0%,#c4cfd6 100%);outline:none;}}.btn-primary{border-color:unset;background-color:unset;&:hover{border-color:unset;background-color:unset;}}button.btn{vertical-align:unset;line-height:inherit;}']),Jn=g.d.span.withConfig({displayName:"Client3dTilesDownloaderDialog2__GpsCoordsTextWidgetDiv",componentId:"sc-1gstm68-1"})([".error{background-color:#fdd;}"]);function Vn(e){var n=Object(u.useState)(null),t=Object(h.a)(n,2),a=t[0],i=t[1],r=a,o=!1;null==r&&null!=e.value&&(r=Object(he.sprintf)("%f, %f",e.value.lat,e.value.lng)),null!=r&&""!=r||(r="",o=!0);var s="[+-]?\\d*\\.?\\d*",l=r.match("^(".concat(s,")\\s*,\\s*(").concat(s,")$"));if(null!=l){var A=Number.parseFloat(l[1]),g=Number.parseFloat(l[2]);Number.isFinite(A)&&Number.isFinite(g)&&(o=!0)}var c=[];return o||c.push("error"),Object(K.jsx)(Jn,{children:Object(K.jsx)("input",{className:c.join(" "),type:"text",value:r,onFocus:function(e){},onBlur:function(e){},onChange:function(n){i(n.target.value);var t=n.target.value.match("^(".concat(s,")\\s*,\\s*(").concat(s,")$"));if(null!=t){var a,r,o=Number.parseFloat(t[1]),l=Number.parseFloat(t[2]);o==(null===(a=e.value)||void 0===a?void 0:a.lat)&&l==(null===(r=e.value)||void 0===r?void 0:r.lat)||e.onChange&&e.onChange({lat:o,lng:l})}},onKeyDown:function(e){"Enter"==e.key&&e.target.blur(),"Escape"==e.key&&(i(null),e.target.blur())}})})}function qn(e){var n=e.downloadMapRectangleInfo,t=e.onChange,a=n.enabled,i=n.bounds,r=n.qualityLevel,o=Object(Ie.e)(Zn).googleMapsRef;return Object(K.jsxs)(ot,{children:[Object(K.jsx)(st,{children:Object(K.jsxs)(lt,{children:[Object(K.jsx)(At,{type:"checkbox",checked:null!==a&&void 0!==a&&a,onChange:function(e){var a=Object(de.a)(Object(de.a)({},n),{},{enabled:e.target.checked});if(null!=o.current){var i=o.current.getBounds(),r={ne:{lat:i.getNorthEast().lat(),lng:i.getNorthEast().lng()},sw:{lat:i.getSouthWest().lat(),lng:i.getSouthWest().lng()}};r.ne.lngt?t:e}var Zn=Object(Ie.b)({connect:[be],actions:function(){return{initialize:function(e){return{showId:Number.parseInt(e)}},setConfigPanelValue:function(e,n){return{key:e,value:n}},setGoogleMapsRef:function(e){return{googleMapsRef:e}},setTilesetJsonRef:function(e){return{tilesetJsonRef:e}},setTileset3dRef:function(e){return{tileset3dRef:e}},setUserSelectedMapCenter:function(e){return{lat:e.lat,lng:e.lng}},setDefaultMapCenterFromPerShowSettings:function(e){return{lat:e.lat,lng:e.lng}},setMapTypeId:function(e){return{mapTypeId:e}},setGpsTextInputValue:function(e){return{value:e}},setGeocodingResult:function(e){return{geocodingResult:e}},setGeolocateResult:function(e){return{geolocateResult:e}},setTiles3dHeightOffset:function(e){return{tiles3dHeightOffset:e}},setGpsTextInputStatus:function(e){return{status:e}},onGpsTextInputChange:function(e){return{e:e}},onGpsTextInputFocus:function(e){return{e:e}},onGpsTextInputBlur:function(e){return{e:e}},onGpsTextInputKeyDown:function(e){return{e:e}},onMapCenterChanged:function(e){return{newMapCenter:e}},onMapRectangleBoundsChanged:function(e,n){return{id:e,latLngBounds:n}},setDownload3dStarted:function(e){return{download3dStarted:e}},setDownload2dStarted:function(e){return{download2dStarted:e}},setDownload3dInProgress:function(e){return{download3dInProgress:e}},setDownload2dInProgress:function(e){return{download2dInProgress:e}},setTileDownloadCount:function(e){return{tileDownloadCount:e}},setTileLoadingCount:function(e){return{tileLoadingCount:e}},setTileLoadedCount:function(e){return{tileLoadedCount:e}},setDownloadMapRectangleInfo:function(e,n){return{id:e,downloadMapRectangleInfo:n}},onApply:!0,onApply2dGoogleMap:!0,onApply3dTiles:!0,onClickOk:!0,onClickCancel:!0,setDialogIsCancelled:!0,download3dTilesTask:!0,onTilesetTileLoad:function(e){return{tile:e}},onTilesetTraversalComplete:function(e){return{selectedTiles:e}}}},reducers:function(){return{configPanelData:[{},{setConfigPanelValue:function(e,n){var t=n.key,a=n.value,i=Object(de.a)({},e);return i[t]=a,i}}],googleMapsRef:[null,{setGoogleMapsRef:function(e,n){return n.googleMapsRef}}],tilesetJsonRef:[null,{setTilesetJsonRef:function(e,n){return n.tilesetJsonRef}}],tileset3dRef:[null,{setTileset3dRef:function(e,n){return n.tileset3dRef}}],showId:[null,{initialize:function(e,n){return n.showId}}],mapTypeId:["hybrid",{setMapTypeId:function(e,n){return n.mapTypeId}}],userSelectedMapCenter:[null,{setUserSelectedMapCenter:function(e,n){return{lat:n.lat,lng:n.lng}}}],defaultMapCenterFromPerShowSettings:[null,{setDefaultMapCenterFromPerShowSettings:function(e,n){return{lat:n.lat,lng:n.lng}}}],downloadMapRectangleInfos:[new Map,{setDownloadMapRectangleInfo:function(e,n){var t=n.id,a=n.downloadMapRectangleInfo;return new Map(e).set(t,a)}}],gpsTextInputValue:["",{setGpsTextInputValue:function(e,n){return n.value}}],gpsTextInputStatus:["default",{setGpsTextInputStatus:function(e,n){return n.status}}],download3dStarted:[null,{setDownload3dStarted:function(e,n){return n.download3dStarted}}],download3dInProgress:[!1,{setDownload3dInProgress:function(e,n){return n.download3dInProgress}}],download2dStarted:[null,{setDownload2dStarted:function(e,n){return n.download2dStarted}}],download2dInProgress:[!1,{setDownload2dInProgress:function(e,n){return n.download2dInProgress}}],dialogIsCancelled:[!1,{setDialogIsCancelled:function(){return!0}}],tileDownloadCount:[0,{setTileDownloadCount:function(e,n){return n.tileDownloadCount}}],tileLoadingCount:[0,{setTileLoadingCount:function(e,n){return n.tileLoadingCount}}],tileLoadedCount:[0,{setTileLoadedCount:function(e,n){return n.tileLoadedCount}}],geocodingResult:[null,{setGeocodingResult:function(e,n){return n.geocodingResult}}],geolocateResult:[null,{setGeolocateResult:function(e,n){return n.geolocateResult}}],tiles3dHeightOffset:[0,{setTiles3dHeightOffset:function(e,n){return n.tiles3dHeightOffset}}]}},selectors:{mapCenter:[function(e){return[e.userSelectedMapCenter,e.defaultMapCenterFromPerShowSettings,e.geolocateResult]},function(e,n,t){var a;return null!==(a=null!==e&&void 0!==e?e:n)&&void 0!==a?a:null===t||void 0===t?void 0:t.location}],mapCenterXyz:[function(e){return[e.mapCenter]},function(e){return fe.project(e.lat,e.lng,0)}],viewports:[function(e){return[e.downloadMapRectangleInfos]},function(e){var n=[];return e.forEach((function(e,t){if(e.enabled){var a=function(e){var n=e.bounds,t=e.id,a=e.qualityLevel,i=[[n.sw.lng,n.ne.lat],[n.ne.lng,n.sw.lat]],r=1e-4,o=Object(_e.d)([n.sw.lng,Xn(n.ne.lat,-_e.a,_e.a)]),s=Object(_e.d)([n.ne.lng,Xn(n.sw.lat,-_e.a,_e.a)]),l=[Math.max(Math.abs(s[0]-o[0]),r),Math.max(Math.abs(s[1]-o[1]),r)],A=l[0]/l[1],g=Object(_e.b)({height:512,width:512*A,bounds:i}),u=Math.max(512,512*Math.pow(2,a-g.zoom)),c=.5*u*Math.tan(60*Math.PI/180),d=60*Math.PI/180,p=Object(de.a)(Object(de.a)({},Object(_e.b)({height:u,width:u*A,bounds:i})),{},{height:u,width:u*A,altitude:c,fovy:d,id:t}),f=new ke.a(p);return console.log("getWebMercatorViewportFromBounds",{altitude:c,fovy:f.fovy,fovyD:180*f.fovy/Math.PI,viewportOptions1:g,viewportOptions2:p,viewport:f}),f}({bounds:e.bounds,id:t,qualityLevel:e.qualityLevel});n.push(a)}})),n}]},listeners:function(e){var n=e.actions,t=e.values;return{initialize:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l,A,g,u,d,p;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=null,!v.a.isRunningInFinale3d()){e.next=5;break}return e.next=4,v.a.invokeApi("getSettings",{showId:t.showId});case 4:o=e.sent;case 5:return e.next=7,nt();case 7:return s=e.sent,n.setGeolocateResult(s),null!=(l=null===(r=o)||void 0===r?void 0:r.originGpsCoordinates)?(n.setDefaultMapCenterFromPerShowSettings(l),n.setUserSelectedMapCenter(l),n.setGpsTextInputValue("".concat(Object(he.sprintf)("%f",l.lat),", ").concat(Object(he.sprintf)("%f",l.lng)))):(n.setDefaultMapCenterFromPerShowSettings(s.location),n.setUserSelectedMapCenter(s.location),n.setGpsTextInputValue("".concat(Object(he.sprintf)("%f",s.location.lat),", ").concat(Object(he.sprintf)("%f",s.location.lng)))),A="https://tile.googleapis.com/v1/3dtiles/root.json?key=".concat(Y.f),e.next=14,Qe.a(A,me.a);case 14:g=e.sent,u=new Be.a(g,{maximumScreenSpaceError:1,throttleRequests:!1,maximumMemoryUsage:0,maximumTilesSelected:0,onTileLoad:function(e){n.onTilesetTileLoad(e),t.tileset3dRef.current.selectTiles(t.viewports)},onTraversalComplete:function(e){return n.onTilesetTraversalComplete(e),e}}),d=c.a.createRef(),p=c.a.createRef(),d.current=g,p.current=u,n.setTilesetJsonRef(d),n.setTileset3dRef(p);case 22:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),onTilesetTileLoad:function(e){n.setTileset3dRef(Object(de.a)({},t.tileset3dRef))},onTilesetTraversalComplete:function(){var e=Object(I.a)(f.a.mark((function e(a){var i,r,o,s,l,A,g,u,c,d,p,h;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!t.tileset3dRef.current.isLoaded()){e.next=28;break}return i=t.tileset3dRef.current.selectedTiles.filter((function(e){return e.isVisible&&null!=e.content})),i.forEach((function(e){e.isVisible&&e.hasChildren&&"geometricError"==e.lodMetricType&&(void 0===r||e.lodMetricValue100)})),console.log("tilesWithLowError",o),s=i.map((function(e,n){var a="".concat(e.contentUrl,"?").concat(t.tileset3dRef.current.queryParams);return Object(I.a)(f.a.mark((function e(){var n,t;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(a);case 2:return n=e.sent,e.next=5,n.arrayBuffer();case 5:return t=e.sent,e.abrupt("return",t);case 7:case"end":return e.stop()}}),e)})))()})),e.next=9,pe.all(s);case 9:l=e.sent,A=l.map((function(e){return Object(ve.b)(e)})),g=o.map((function(e){return e.content.cartographicOrigin[2]})),0==g.length?0:g.reduce((function(e,n){return e+n}),0)/g.length,u={showId:1,mapCenter:t.mapCenter,mapCenterXyz:t.mapCenterXyz,tilesHeightOffset:t.tiles3dHeightOffset},console.log("onTilesetTraversalComplete",{setTempTileGlobalInfo:u}),v.a.getWebSocket().send(Yn.encode({setTempTileGlobalInfo:u}).finish()),c=0;case 17:if(!(c=12;h--)for(C=0;C<4;C++)"z".concat(h,"-").concat(C),E=s(t.mapCenter,h),m=[(0!=(1&C)?1:0)*o,(0!=(2&C)?1:0)*o],B=E.unproject(m),Q=s({lat:B[1],lng:B[0]},h),y=Q.unproject([0,o]),b=Q.unproject([o,0]),_=A.projectFlat(y),k=A.projectFlat(b),w=[_[0]/l.unitsPerMeter[0],_[1]/l.unitsPerMeter[1]],F=[k[0]/l.unitsPerMeter[0],k[1]/l.unitsPerMeter[1]],D=[w[0]-d[0],-(w[1]-d[1])],S=[F[0]-d[0],-(F[1]-d[1])],x=Math.min(D[0],S[0]),j=Math.max(D[0],S[0]),T=Math.min(D[1],S[1]),R=Math.max(D[1],S[1]),M=[x,T,j,R],N=[o,o],g.push({dimensions:N,coordinates:M,tileCenterLngLat:B,zoom:h,mapTypeId:p});return G=g.map(function(){var e=Object(I.a)(f.a.mark((function e(n){var t;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,P(n);case 2:return t=e.sent,e.abrupt("return",Object(ve.b)(t));case 4:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()),n.setDownload2dStarted(t.mapCenter),n.setDownload2dInProgress(!0),e.next=21,pe.all(G);case 21:return L=e.sent,e.next=24,i();case 24:return e.next=26,v.a.invokeApi("clearGoogleMapsSplats",{showId:t.showId});case 26:U=0;case 27:if(!(U0&&Object(K.jsx)(K.Fragment,{children:Object(K.jsxs)("span",{children:["Downloaded ",M," 3D tiles"]})}),Object(K.jsx)("div",{className:"DoneButtonHolder",children:Object(K.jsx)(W.a,{onClick:m,children:n("Ok")})}),Object(K.jsx)("div",{className:"CancelButtonHolder",children:Object(K.jsx)(W.a,{onClick:E,children:n("Cancel")})})]})})]})}var ot=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv",componentId:"sc-1gstm68-2"})(["display:inline-block"]),st=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv2",componentId:"sc-1gstm68-3"})(["display:inline-block"]),lt=Object(g.d)("label").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledLabel",componentId:"sc-1gstm68-4"})(["user-select:none"]),At=Object(g.d)("input").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledInput",componentId:"sc-1gstm68-5"})(["margin-right:2px"]),gt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv3",componentId:"sc-1gstm68-6"})(["display:inline-block;margin-left:48px"]),ut=Object(g.d)("label").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledLabel2",componentId:"sc-1gstm68-7"})(["user-select:none"]),ct=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv4",componentId:"sc-1gstm68-8"})(["display:inline-block;margin-left:48px"]),dt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv5",componentId:"sc-1gstm68-9"})(["display:inline-block;margin-left:4px;cursor:pointer;color:red;position:relative;top:2px;"]),pt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv6",componentId:"sc-1gstm68-10"})(["display:block;padding:8px 0;"]),ft=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv7",componentId:"sc-1gstm68-11"})(["display:flex;flex-flow:row;"]),ht=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv8",componentId:"sc-1gstm68-12"})(["display:inline-block;width:300px"]),It=Object(g.d)("span").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledSpan",componentId:"sc-1gstm68-13"})(["margin-left:8px"]),Ct=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv9",componentId:"sc-1gstm68-14"})(["display:block;margin-top:16px;"]),Et=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv10",componentId:"sc-1gstm68-15"})(["display:inline-block;width:300px"]),mt=Object(g.d)("label").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledLabel3",componentId:"sc-1gstm68-16"})(["user-select:none"]),Bt=Object(g.d)("input").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledInput2",componentId:"sc-1gstm68-17"})(["margin-right:2px"]),Qt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv11",componentId:"sc-1gstm68-18"})(["display:inline-block;width:300px"]),yt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv12",componentId:"sc-1gstm68-19"})(["display:inline-block;width:300px"]),bt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv13",componentId:"sc-1gstm68-20"})(["display:block;margin-top:16px;"]),_t=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv14",componentId:"sc-1gstm68-21"})(["display:inline-block;width:300px"]),kt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv15",componentId:"sc-1gstm68-22"})(["display:inline-block;width:220px;"]),wt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv16",componentId:"sc-1gstm68-23"})(["display:inline-block;width:220px;margin-left:20px"]),Ft=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv17",componentId:"sc-1gstm68-24"})(["margin-top:8px"]),vt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv18",componentId:"sc-1gstm68-25"})(["display:inline-block;width:300px"]),Dt=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv19",componentId:"sc-1gstm68-26"})(["display:inline-block;width:220px"]),St=Object(g.d)("div").withConfig({displayName:"Client3dTilesDownloaderDialog2___StyledDiv20",componentId:"sc-1gstm68-27"})(["display:inline-block;width:220px;margin-left:20px;"]),xt=t(552),jt=t(567),Tt=t(269),Rt=t.n(Tt),Mt=t(134),Nt=t(554),Pt=t.n(Nt),Ot=g.d.div.withConfig({displayName:"ConfigFilePage__UploadFileDialogHolderDiv",componentId:"sc-jvnang-0"})([".DialogBody{margin:16px;}.DialogButtons{margin:16px;display:flex;justify-content:flex-end;button{margin-left:16px;}}"]);function Gt(e){var n=Object(B.a)(S.z),t=Object(h.a)(n,1)[0],a=Object(u.useState)(void 0),i=Object(h.a)(a,2),r=i[0],o=i[1],s=Object(u.useState)(!1),l=Object(h.a)(s,2),A=l[0],g=l[1];function c(){return(c=Object(I.a)(f.a.mark((function n(a){var i,o,s,l,A;return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(r){n.next=3;break}return g(!1),n.abrupt("return");case 3:return g(!0),console.log("chosenFileToUpload",r),i=new ve.a,n.next=8,r.arrayBuffer();case 8:return o=n.sent,s=Object(Mt.sha256)(o),l=r.type,n.prev=11,n.next=14,i.uploadBlob(s,o,{contentType:l});case 14:return console.log("upload complete"),n.next=17,t({variables:{key:e.filename,blobHash:s},refetchQueries:[{query:S.m,variables:{key:e.filename}}]});case 17:A=n.sent,console.log("writeResult",A),e.onDismiss&&e.onDismiss(),n.next=26;break;case 22:n.prev=22,n.t0=n.catch(11),console.error(n.t0),alert("Uploading blob to S3 failed");case 26:g(!1);case 27:case"end":return n.stop()}}),n,null,[[11,22]])})))).apply(this,arguments)}return Object(K.jsx)(Ot,{children:Object(K.jsxs)(jt.a,{isOpen:e.isOpen,onDismiss:e.onDismiss,"aria-labelledby":"header-id",children:[Object(K.jsx)(jt.a.Header,{id:"header-id",children:"Upload file"}),Object(K.jsxs)("div",{className:"DialogBody",children:[null==r&&Object(K.jsx)("input",{type:"file",onChange:function(e){var n=e.target.files[0];o(n)}}),null!=r&&Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)("div",{children:[Object(K.jsx)("span",{className:"fileName",children:r.name}),Object(K.jsx)("span",{className:"fileType",children:r.type}),Object(K.jsx)("span",{className:"fileSize",children:Pt()(r.size)})]}),!A&&Object(K.jsx)("div",{children:Object(K.jsx)(W.a,{onClick:function(e){return c.apply(this,arguments)},children:"Upload"})}),A&&Object(K.jsx)(b.a,{size:"small"})]})]}),Object(K.jsx)("div",{className:"DialogButtons",children:Object(K.jsx)(W.a,{variant:"danger",onClick:e.onDismiss,children:"Cancel"})})]})})}var Lt=g.d.div.withConfig({displayName:"ConfigFilePage__ConfigFilePageDiv",componentId:"sc-jvnang-1"})(["table{margin:1em 0;th{min-width:10em;text-align:right;}td{padding-left:1.0em;font-family:'Consolas','Courier New',Courier,monospace;font-size:13px;}td,th{vertical-align:baseline;}}.blobImg{max-width:256px;max-height:256px;}.blobSha a{margin-left:1em;}.blobGrayText{background:#ccc;color:#24292e;border:1px solid #24292e;padding:0.25em;overflow:scroll;max-width:60em;max-height:30em;white-space:pre;}button{margin:0.1em 1em 0.1em 0;padding:0.1em 0.5em;}.UploadFileDialog{.fileType,.fileSize{margin-left:2em;}}"]);function Ut(e){var n=e.match.params.key,t=Object(u.useState)(!1),a=Object(h.a)(t,2),i=a[0],r=a[1],o=Object(m.a)(S.m,{fetchPolicy:Y.c,variables:{key:n}}),s=o.error,l=o.data,A=null==l?null:l.getConfigFileEntryForKey,g=null==A?null:"https://finale-blobcas.s3.amazonaws.com/".concat(A.blobHash),c=Object(u.useState)(null),d=Object(h.a)(c,2),p=d[0],C=d[1],E=null!=p?p.headers["content-type"]:void 0;if(Object(u.useEffect)((function(){if(null!=A){var e=function(){var e=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Rt()(g,{responseType:"blob"});case 2:n=e.sent,C(n);case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[l,g,A]),s)return Object(K.jsx)(U.a,{children:s.message});if(null==l||null!=A&&null==E)return Object(K.jsx)(b.a,{size:"small"});function B(){var e,n=Object(u.useState)(!1),t=Object(h.a)(n,2),a=t[0],i=t[1],r=Object(u.useState)(""),o=Object(h.a)(r,2),s=o[0],l=o[1],A=-1!=["image/png","image/jpeg"].indexOf(E),c=-1!=["text/plain","application/json"].indexOf(E)||a;return Object(u.useEffect)((function(){c&&p.data.text().then((function(e){l(e)}))}),[c]),(A||c)&&(p?c?e=Object(K.jsx)("div",{className:"blobGrayText",children:s}):A&&(e=Object(K.jsx)("div",{children:Object(K.jsx)("img",{src:g})})):e=Object(K.jsx)(b.a,{size:"small"})),Object(K.jsxs)("div",{className:"displayBlob",children:[!c&&Object(K.jsx)("div",{children:Object(K.jsx)(W.a,{className:"showAsText",onClick:function(){return i(!0)},children:"Show as text"})}),e]})}A&&A.blobHash;return Object(K.jsx)(K.Fragment,{children:Object(K.jsxs)(Lt,{children:[Object(K.jsx)(Gt,{filename:n,isOpen:i,onDismiss:function(){return r(!1)}}),Object(K.jsx)("table",{children:Object(K.jsxs)("tbody",{children:[Object(K.jsxs)("tr",{children:[Object(K.jsx)("th",{}),Object(K.jsxs)("td",{children:[Object(K.jsx)(W.a,{onClick:function(){return r(!0)},children:"Upload file"}),!1]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"Name"})," "]}),Object(K.jsxs)("td",{children:[" ",Object(K.jsx)("span",{children:n})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"Last edited by"})," "]}),Object(K.jsxs)("td",{children:[" ",A&&Object(K.jsx)("span",{children:A.user.email})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"Last edited"})," "]}),Object(K.jsxs)("td",{children:[" ",A&&Object(K.jsx)("span",{children:H()(A.createdAt,"yyyy-mm-dd' 'HH:MM:ss Z")})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"Content-Type"})," "]}),Object(K.jsxs)("td",{children:[" ",E&&Object(K.jsx)("span",{children:E})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"Blob Sha256"})," "]}),Object(K.jsxs)("td",{children:[" ",A&&Object(K.jsx)("span",{children:A.blobHash})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{})," "]}),Object(K.jsxs)("td",{children:[" ",A&&Object(K.jsx)("a",{target:"_new",href:"https://finale-blobcas.s3.amazonaws.com/".concat(A.blobHash),children:"https://finale-blobcas.s3.amazonaws.com/".concat(A.blobHash)})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{children:"\xa0"})," "]}),Object(K.jsxs)("td",{children:[" ",Object(K.jsx)("span",{children:"\xa0"})," "]})]}),Object(K.jsxs)("tr",{children:[Object(K.jsxs)("th",{children:[" ",Object(K.jsx)("span",{})," "]}),Object(K.jsxs)("td",{children:[" ",Object(K.jsx)(B,{})," "]})]})]})})]})})}var zt=g.d.div.withConfig({displayName:"ConfigFilesPage__ConfigFilesPageDiv",componentId:"sc-50kadb-0"})(["margin:0 2em;table{margin:1em 0;td,th{text-align:center;min-width:8em;padding:0 1em;}tbody tr{&:hover{background:#dfd;cursor:pointer;color:blue;}}tbody td{border:1px solid #ddd;}.name{min-width:50em;text-align:left;}}h3{margin-top:1em;}"]);function Ht(){var e=Object(D.a)(),n=Object(m.a)(S.j,{fetchPolicy:Y.c}),t=n.error,a=n.data;if(t)return Object(K.jsx)(U.a,{children:t.message});if(null==a)return Object(K.jsx)(b.a,{size:"small"});var i=Object(K.jsxs)("table",{children:[Object(K.jsx)("thead",{children:Object(K.jsxs)("tr",{children:[Object(K.jsx)("th",{className:"name",children:"Name"}),Object(K.jsx)("th",{children:"blobHash"}),Object(K.jsx)("th",{children:"Modified By"}),Object(K.jsx)("th",{children:"Modified Date"})]})}),Object(K.jsx)("tbody",{children:a.getAllConfigFileEntriesByKey.map((function(n){console.log("r",n);var t=new Date(Date.parse(n.createdAt));return Object(K.jsxs)("tr",{onClick:function(){return e.history.push("/configfile".concat(n.key))},children:[Object(K.jsx)("td",{className:"name",children:n.key}),Object(K.jsx)(Wt,{children:n.blobHash}),Object(K.jsx)("td",{children:n.user.email}),Object(K.jsx)("td",{children:H()(t,"yyyy-mm-dd' 'HH:MM:ss Z")})]},n.key)}))})]});return Object(K.jsxs)(zt,{children:[Object(K.jsx)("h3",{children:"Config Files"}),i]})}var Yt,Wt=Object(g.d)("td").withConfig({displayName:"ConfigFilesPage___StyledTd",componentId:"sc-50kadb-1"})(["font-family:Consolas,Courier New,Courier,monospace;font-size:13px;"]),Kt=t(565),Jt=t(556),Vt=t(117),qt=function(e){return new Promise((function(n){return setTimeout(n,e)}))},Xt=g.d.div(Yt||(Yt=Object(j.a)(["\n padding: 16px;\n\n h2 {\n font-size: 1.5rem;\n margin-top: 16px;\n margin-bottom: 16px;\n }\n label {\n font-size: 0.8rem;\n }\n .AlertHolder {\n margin-top: 16px;\n }\n button {\n display:inline-block;\n background-color: #5897d9;\n padding: 0px 32px;\n height: 32px;\n margin-top: 16px;\n border:0;\n font-weight: bold;\n font-size: 16px;\n line-height: 32px;\n &:hover {\n background-color: #4c83be;\n }\n &:disabled {\n background-color: #888;\n }\n }\n .buttonHolder {\n text-align: right;\n }\n"])));function Zt(){var e,n,t=Object(Ce.a)().t,a=Object(u.useState)(void 0),i=Object(h.a)(a,2),r=i[0],o=i[1],s=Object(u.useState)(""),l=Object(h.a)(s,2),A=l[0],g=l[1],c=Object(u.useState)(""),d=Object(h.a)(c,2),p=d[0],C=d[1],E=Object(u.useState)(""),m=Object(h.a)(E,2),B=m[0],Q=m[1],y=Object(u.useState)(""),b=Object(h.a)(y,2),_=b[0],k=b[1],w=Object(u.useState)(!1),F=Object(h.a)(w,2),D=F[0],S=F[1];if(D)e=Object(K.jsxs)(W.a,{variant:"primary",disabled:!0,children:[Object(K.jsx)(ea,{size:"small"}),t("Working...")]});else{var x=""==B||""==_;e=Object(K.jsx)(W.a,{variant:"primary",onClick:function(){if(!Jt.validate(B))return o(t("Email address is not valid")),void S(!1);o(null),S(!0);var e=function(){var e=Object(I.a)(f.a.mark((function e(){var n,a,i;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Object(Vt.a)("https://api.finale3d.com/v1/createUser",{method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"},body:JSON.stringify({first_name:A,last_name:p,email_address:B,password:_})});case 2:if((n=e.sent).ok){e.next=19;break}return e.next=6,n.text();case 6:a=e.sent,"Network error trying to create account";try{i=JSON.parse(a)}catch(r){}if(!i||"ACCOUNT_ALREADY_EXISTS_BUT_PASSWORD_IS_VALID"!=i.status_code){e.next=16;break}return o(t("This account already exists. You should be logged in shortly...")),e.next=13,qt(3e3);case 13:v.a.closeBrowserWindowWithResult({email:B,password:_}),e.next=17;break;case 16:i&&i.error_text.en?(i.error_text.en,o(i.error_text.en),S(!1)):(o(t("Network error creating account")),S(!1));case 17:e.next=22;break;case 19:o(null),S(!1),v.a.closeBrowserWindowWithResult({email:B,password:_});case 22:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()},disabled:x,children:t("Create account")})}return r&&(n=Object(K.jsx)("div",{className:"AlertHolder",children:Object(K.jsx)(Kt.a,{variant:"danger",children:r})})),Object(K.jsxs)(Xt,{children:[Object(K.jsx)("h2",{children:t("Create an account")}),Object(K.jsxs)("form",{className:"CreateAccountForm",children:[Object(K.jsxs)(na,{children:[Object(K.jsxs)(ta,{children:[Object(K.jsx)("label",{children:t("First name")}),Object(K.jsx)(aa,{onChange:function(e){return g(e.target.value)},value:A})]}),Object(K.jsx)(ia,{}),Object(K.jsxs)(ra,{children:[Object(K.jsx)("label",{children:t("Last name")}),Object(K.jsx)(oa,{onChange:function(e){return C(e.target.value)},value:p})]})]}),Object(K.jsx)(sa,{children:t("Email address")}),Object(K.jsx)(la,{type:"email",onChange:function(e){return Q(e.target.value)},value:B}),Object(K.jsx)(Aa,{children:t("Password")}),Object(K.jsx)(ga,{type:"password",onChange:function(e){return k(e.target.value)},value:_}),Object(K.jsx)("div",{className:"buttonHolder",children:e})]}),n]})}function $t(){return document.body.classList.add("FinaleDialog"),Object(K.jsx)(ua,{children:Object(K.jsx)(Zt,{})})}var ea=Object(g.d)(b.a).withConfig({displayName:"CreateAccountPage___StyledSpinner",componentId:"sc-1gc0frw-0"})(["margin-right:8px"]),na=Object(g.d)("div").withConfig({displayName:"CreateAccountPage___StyledDiv",componentId:"sc-1gc0frw-1"})(["display:flex;flex:1 0;"]),ta=Object(g.d)("div").withConfig({displayName:"CreateAccountPage___StyledDiv2",componentId:"sc-1gc0frw-2"})(["flex:1 0"]),aa=Object(g.d)("input").withConfig({displayName:"CreateAccountPage___StyledInput",componentId:"sc-1gc0frw-3"})(["display:block;width:100%;padding:6px 12px;"]),ia=Object(g.d)("div").withConfig({displayName:"CreateAccountPage___StyledDiv3",componentId:"sc-1gc0frw-4"})(["flex:1 0;max-width:16px"]),ra=Object(g.d)("div").withConfig({displayName:"CreateAccountPage___StyledDiv4",componentId:"sc-1gc0frw-5"})(["flex:1 0"]),oa=Object(g.d)("input").withConfig({displayName:"CreateAccountPage___StyledInput2",componentId:"sc-1gc0frw-6"})(["display:block;width:100%;padding:6px 12px;"]),sa=Object(g.d)("label").withConfig({displayName:"CreateAccountPage___StyledLabel",componentId:"sc-1gc0frw-7"})(["margin-top:12px"]),la=Object(g.d)("input").withConfig({displayName:"CreateAccountPage___StyledInput3",componentId:"sc-1gc0frw-8"})(["display:block;width:100%;padding:6px 12px;"]),Aa=Object(g.d)("label").withConfig({displayName:"CreateAccountPage___StyledLabel2",componentId:"sc-1gc0frw-9"})(["margin-top:12px"]),ga=Object(g.d)("input").withConfig({displayName:"CreateAccountPage___StyledInput4",componentId:"sc-1gc0frw-10"})(["display:block;width:100%;padding:6px 12px;"]),ua=Object(g.d)("div").withConfig({displayName:"CreateAccountPage___StyledDiv5",componentId:"sc-1gc0frw-11"})(["margin:0 auto;max-width:600px;height:450px;"]),ca=g.d.div.withConfig({displayName:"AsyncTaskWidget__AsyncTaskWidgetDiv",componentId:"sc-e80i94-0"})(["font-size:14px;.LoadingIcon,.SuccessIcon,.ErrorIcon{display:inline-block;width:18px;height:18px;svg{margin-right:2px;}}.Error{color:#dc3545;}.spinner-border{vertical-align:0px;width:14px;height:14px;border-width:2px;}.ProgressBarHolder{display:inline-block;margin-left:4px;width:600px;height:20px;border:1px solid #e3e3e3;background:#f4f4f4;padding:2px;vertical-align:-2px;}.ProgressBar{border-left:1px solid #a4c3d2;border-top:1px solid #5492b0;background:linear-gradient(0deg,#5492b0 0%,#61a5d7 100%);height:14px;}"]);function da(e){return Object(K.jsxs)(ca,{className:"AsyncTaskWidget",children:[!e.isCompleted&&Object(K.jsxs)("span",{className:"Loading",children:[Object(K.jsx)("span",{className:"LoadingIcon",children:Object(K.jsx)(b.a,{size:"small"})}),e.message,e.children]}),e.isCompleted&&!e.isError&&Object(K.jsxs)("span",{className:"Success",children:[Object(K.jsx)("span",{className:"SuccessIcon",children:Object(K.jsx)(y.a,{icon:On.a})}),e.message,e.children]}),e.isCompleted&&e.isError&&Object(K.jsxs)("span",{className:"Error",children:[" ",Object(K.jsxs)("span",{className:"ErrorIcon",children:[" ",Object(K.jsx)(y.a,{icon:On.b})]}),e.message,e.children]})]})}var pa=g.d.div.withConfig({displayName:"CreatePhotoDialogPage__ButtonBarDiv",componentId:"sc-1y8v83p-0"})(["position:absolute;right:0;bottom:0;left:0;height:62px;background:#f4f4f4;border-top:1px solid #c8c8c8;.ButtonsHolder{display:flex;margin-top:16px;position:absolute;right:32px;button{margin-left:1em;.spinner-border{border-width:2px;width:16px;height:16px;vertical-align:-2px;margin-right:4px;}}}"]),fa=g.d.div.withConfig({displayName:"CreatePhotoDialogPage__CreatePhotoDialogDiv",componentId:"sc-1y8v83p-1"})(["padding:32px;.FloatWidget,.BoolWidget,.ResolutionWidget,.ParticleLimitWidget,.SmokeThicknessWidget,.WindDirectionWidget{width:280px;margin-right:32px;.Label{font-size:14px;}}.RenderFilename{margin-left:16px;margin-top:8px;}.CanvasHolder{position:absolute;top:120px;left:32px;right:32px;bottom:78px;display:flex;justify-content:center;align-items:center;overflow:hidden;}canvas{max-width:100%;max-height:100%;}button.ShowPreview{margin-top:16px;}.AsyncTaskWidget .Success{color:green;}"]);function ha(e){return Ia.apply(this,arguments)}function Ia(){return(Ia=Object(I.a)(f.a.mark((function e(n){var t,a,i,r;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return"https://finale3d.com/wp-json/wp/v2/user_exist_in_wp",t={authorization:"Bearer ZmluYWxlM2RzZXJ2ZXJhcGk=","content-type":"application/json","User-Agent":Y.d},a={emailAddress:n.me.email,userId:n.me.id},e.next=5,Object(Vt.a)("https://finale3d.com/wp-json/wp/v2/user_exist_in_wp",{method:"post",body:JSON.stringify(a),headers:t});case 5:if(200==(i=e.sent).status){e.next=13;break}return e.t0=console,e.next=10,i.text();case 10:throw e.t1=e.sent,e.t0.error.call(e.t0,"checkIfUserExistsInWordpress error responseText",e.t1),new Error("error communicating with Wordpress instance");case 13:return e.next=15,i.json();case 15:return r=e.sent,e.abrupt("return","OK"==(null===r||void 0===r?void 0:r.result_code));case 17:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Ca=Object(Ie.b)({actions:function(){return{setPhase:function(e){return{phase:e}},setMeData:function(e){return{meData:e}},onClickRenderPhoto:!0,submitToPhotoContest:function(e){return e},uploadToGallery:function(e){return e},clearShowRenderProgress:!0,setIsSubmittingToPhotoContest:function(e){return{isSubmittingToPhotoContest:e}},setSubmitToPhotoContestSuccess:function(e){return{submitToPhotoContestSuccess:e}},setSubmitToPhotoContestError:function(e){return{submitToPhotoContestError:e}},setIsUploadingToGallery:function(e){return{isUploadingToGallery:e}},setUploadToGallerySuccess:function(e){return{uploadToGallerySuccess:e}},setUploadToGalleryError:function(e){return{uploadToGalleryError:e}},setRenderJobInfo:function(e){return{renderJobInfo:e}},setShowAdvancedSettings:function(e){return{showAdvancedSettings:e}}}},reducers:function(){return{canvasElt:[document.createElement("canvas")],phase:["adjustOptions",{setPhase:function(e,n){return n.phase}}],meData:[null,{setMeData:function(e,n){return n.meData}}],renderJobInfo:[null,{setRenderJobInfo:function(e,n){return n.renderJobInfo||null}}],isSubmittingToPhotoContest:[!1,{setIsSubmittingToPhotoContest:function(e,n){return n.isSubmittingToPhotoContest}}],submitToPhotoContestSuccess:[!1,{setSubmitToPhotoContestSuccess:function(e,n){return n.submitToPhotoContestSuccess}}],submitToPhotoContestError:[!1,{setSubmitToPhotoContestError:function(e,n){return n.submitToPhotoContestError}}],isUploadingToGallery:[!1,{setIsUploadingToGallery:function(e,n){return n.isUploadingToGallery}}],uploadToGallerySuccess:[!1,{setUploadToGallerySuccess:function(e,n){return n.uploadToGallerySuccess}}],uploadToGalleryError:[!1,{setUploadToGalleryError:function(e,n){return n.uploadToGalleryError}}],showAdvancedSettings:[!1,{setShowAdvancedSettings:function(e,n){return n.showAdvancedSettings||null}}]}},listeners:function(e){var n=e.actions,t=e.values;return{onClickRenderPhoto:function(){var e=Object(I.a)(f.a.mark((function e(t,a){var i,r,o;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.invokeApi("becomeModal",null);case 2:return e.next=4,v.a.invokeApi("startRenderStillImageJob",null);case 4:n.setPhase("rendering"),i=!1,r=null,o=f.a.mark((function e(){var t,o,s,l,A,g;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a();case 2:return A=null===(t=r)||void 0===t||null===(o=t.progress)||void 0===o?void 0:o.progressFraction,e.next=5,v.a.invokeApi("pumpRenderStillImageJob",{returnImageInfo:i});case 5:if(r=e.sent,i&&(i=!1),g=null===(s=r)||void 0===s||null===(l=s.progress)||void 0===l?void 0:l.progressFraction,[.1,.5,.9].forEach((function(e){null!=A&&A<=e&&g>=e&&(i=!0)})),n.setRenderJobInfo(r),!r.finished){e.next=12;break}return e.abrupt("return","break");case 12:case"end":return e.stop()}}),e)}));case 8:return e.delegateYield(o(),"t0",9);case 9:if("break"!==e.t0){e.next=12;break}return e.abrupt("break",13);case 12:e.next=8;break;case 13:n.setPhase("showSaveChoices");case 14:case"end":return e.stop()}}),e)})));return function(n,t){return e.apply(this,arguments)}}(),submitToPhotoContest:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l,A,g,u,c;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.setIsSubmittingToPhotoContest(!0),e.prev=1,e.next=4,ha(t.meData);case 4:if(r=e.sent,console.log("userExists",r),!r){e.next=27;break}return e.next=9,Object(Vt.a)(a.jpegDataUrl);case 9:return o=e.sent,e.next=12,o.arrayBuffer();case 12:return s=e.sent,l=Object(Mt.sha256)(s),A=new ve.a,e.next=17,A.uploadBlob(l,s,{namePrefix:"forumTopicImage",tags:["forumTopicImage"]});case 17:return g=e.sent,console.log("uploadBlob returned url ".concat(g)),u={imageUrl:g,submitToContest:!0},e.next=22,a.apolloClient.mutate({mutation:S.v,variables:{input:u}});case 22:c=e.sent,console.log("postImageResult",c),n.setSubmitToPhotoContestSuccess("Submitted to photo contest."),e.next=28;break;case 27:n.setSubmitToPhotoContestError("You need to activate your account on the Finale 3D website in order to upload photos. Please go to www.finale3d.com and login. Then try to upload your photo again.");case 28:e.next=33;break;case 30:e.prev=30,e.t0=e.catch(1),n.setSubmitToPhotoContestError("Error submitting to photo contest: ".concat(e.t0.message));case 33:return e.next=35,v.a.recordUserEvent({name:"uploadedPhotoToMonthlyContest"});case 35:n.setIsSubmittingToPhotoContest(!1);case 36:case"end":return e.stop()}}),e,null,[[1,30]])})));return function(n,t){return e.apply(this,arguments)}}(),uploadToGallery:function(){var e=Object(I.a)(f.a.mark((function e(a,i){var r,o,s,l,A,g,u;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n.setIsUploadingToGallery(!0),e.prev=1,e.next=4,ha(t.meData);case 4:if(!e.sent){e.next=26;break}return e.next=8,Object(Vt.a)(a.jpegDataUrl);case 8:return r=e.sent,e.next=11,r.arrayBuffer();case 11:return o=e.sent,s=Object(Mt.sha256)(o),l=new ve.a,e.next=16,l.uploadBlob(s,o,{namePrefix:"forumTopicImage",tags:["forumTopicImage"]});case 16:return A=e.sent,console.log("uploadBlob returned url ".concat(A)),g={imageUrl:A,submitToContest:!1},e.next=21,a.apolloClient.mutate({mutation:S.v,variables:{input:g}});case 21:u=e.sent,console.log("postImageResult",u),n.setUploadToGallerySuccess("Uploaded to online gallery."),e.next=27;break;case 26:n.setUploadToGalleryError("You need to activate your account on the Finale 3D website in order to upload photos. Please go to www.finale3d.com and login. Then try to upload your photo again.");case 27:e.next=32;break;case 29:e.prev=29,e.t0=e.catch(1),n.setUploadToGalleryError("Error uploading to gallery: ".concat(e.t0.message));case 32:n.setIsUploadingToGallery(!1);case 33:case"end":return e.stop()}}),e,null,[[1,29]])})));return function(n,t){return e.apply(this,arguments)}}()}}});function Ea(e){var n=Object(Ie.d)(Ca),t=n.onClickRenderPhoto,a=n.submitToPhotoContest,i=n.uploadToGallery,r=n.setShowAdvancedSettings,o=n.setMeData,s=Object(Ie.e)(Ca),l=s.phase,A=s.isSubmittingToPhotoContest,g=s.submitToPhotoContestSuccess,c=s.submitToPhotoContestError,d=s.renderJobInfo,p=s.showAdvancedSettings,h=Object(Ie.e)(Ca),C=h.isUploadingToGallery,E=h.uploadToGallerySuccess,B=h.uploadToGalleryError,Q=Object(Ce.a)().t,y=Object(u.useRef)(document.createElement("canvas")),b=Object(m.a)(S.u).data,_=Object(te.a)(),k=-1!=(null===b||void 0===b?void 0:b.me.tags.indexOf("showCreatePhotoDialogSaveOnlineButtons"));function w(){v.a.closeBrowserWindowWithResult(null)}function F(){return(F=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return console.log("onClickSaveLocalFile"),e.next=3,v.a.invokeApi("getFilenameToSave",{filterConfigurationString:"PNG files\\*.png\\\\",defaultExtension:"png"});case 3:if(null!=(n=e.sent)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,v.a.invokeApi("saveRenderStillImageJobToLocalFile",{filename:n});case 8:k||v.a.closeBrowserWindowWithResult(null);case 9:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function D(){return(D=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:console.log("onClickUploadToGallery"),n=y.current.toDataURL("image/jpeg",1),i({apolloClient:_,jpegDataUrl:n});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function x(){return(x=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:console.log("onClickSubmitToPhotoContest"),n=y.current.toDataURL("image/jpeg",1),a({apolloClient:_,jpegDataUrl:n});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}if(Object(u.useEffect)((function(){null!=b&&o(b)}),[b,o]),Object(u.useEffect)((function(){(null===d||void 0===d?void 0:d.imageInfo)&&function(e){var n=e.width,t=e.height,a=e.dataUrl;y.current.width!=n&&(y.current.width=n,y.current.height=t);var i=y.current.getContext("2d");Object(Vt.a)(a).then((function(e){return e.arrayBuffer()})).then((function(e){var a=new Uint8ClampedArray(e),r=new ImageData(a,n,t),o=r.data;Array.from({length:t},(function(e,t){return o.slice(t*n*4,(t+1)*n*4)})).forEach((function(e,a){return o.set(e,(t-a-1)*n*4)})),i.putImageData(r,0,0)}))}(d.imageInfo)}),[null===d||void 0===d?void 0:d.imageInfo]),"adjustOptions"==l)return Object(K.jsxs)(fa,{children:[Object(K.jsxs)("div",{children:[Object(K.jsxs)(Ba,{children:[Object(K.jsx)(qe,{}),Object(K.jsx)(Xe,{})]}),Object(K.jsxs)(Qa,{children:[Object(K.jsx)(Ve,{settingName:"cameraExposureDuration",label:Q("Long Exposure Duration"),unit:"s",maxValue:10,sliderStep:.001}),Object(K.jsx)(Ve,{settingName:"cameraExposureStops_playback",label:Q("Global brightness (render mode)"),unit:"stops",maxValue:5,sliderStep:.05})]}),Object(K.jsx)(ya,{children:Object(K.jsx)(en,{label:"Show Advanced Settings",value:p,onChange:r})}),p&&Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)(ba,{children:[Object(K.jsx)(Ve,{settingName:"renderSkydomeBrightness",label:Q("Sky brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01}),Object(K.jsx)(Ve,{settingName:"renderTerrainBrightness",label:Q("Terrain brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01}),Object(K.jsx)(Ve,{settingName:"renderModelBrightness",label:Q("Model brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01})]}),Object(K.jsxs)(_a,{children:[Object(K.jsx)(Ve,{settingName:"renderEffectBrightness",label:Q("Effect brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01}),Object(K.jsx)(Ve,{settingName:"R_break_flash_world_brightness",label:Q("Break flash world brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01}),Object(K.jsx)(Ve,{settingName:"renderReflectionBrightness",label:Q("Reflection brightness"),unit:"%",uiValueScale:100,maxValue:2,sliderStep:.01})]}),Object(K.jsxs)(ka,{children:[Object(K.jsx)(nn,{settingName:"trajectoryDriftRandomness",label:Q("Trajectory drift randomness")}),Object(K.jsx)(nn,{settingName:"breakTimeRandomness",label:Q("Break time randomness")}),Object(K.jsx)(nn,{settingName:"cakeTimeRandomness",label:Q("Cake shot timing randomness")})]}),Object(K.jsxs)(wa,{children:[Object(K.jsx)(nn,{settingName:"drawFog",label:Q("Draw fog")}),Object(K.jsx)(nn,{settingName:"R_draw_smoke",label:Q("Draw smoke")}),Object(K.jsx)(nn,{settingName:"R_draw_reflection",label:Q("Draw reflections")})]}),Object(K.jsxs)(Fa,{children:[Object(K.jsx)(Ze,{}),Object(K.jsx)($e,{}),Object(K.jsx)(Ve,{settingName:"windSpeed",label:Q("Wind speed"),unit:"m/s",maxValue:2,sliderStep:.1})]})]})]}),Object(K.jsx)(pa,{children:Object(K.jsxs)("div",{className:"ButtonsHolder",children:[Object(K.jsx)("div",{className:"ProceedButtonHolder",children:Object(K.jsx)(W.a,{onClick:t,children:Q("Render Photo")})}),Object(K.jsx)("div",{className:"CancelButtonHolder",children:Object(K.jsx)(W.a,{onClick:w,children:Q("Cancel")})})]})})]});if("rendering"==l){var j,T=Math.min(100,100*((null===d||void 0===d||null===(j=d.progress)||void 0===j?void 0:j.progressFraction)||0));return Object(K.jsxs)(fa,{children:[Object(K.jsx)(va,{children:Object(K.jsx)(da,{isCompleted:!1,isError:!1,message:"Rendering",children:Object(K.jsx)("div",{className:"ProgressBarHolder",children:Object(K.jsx)("div",{className:"ProgressBar",style:{width:"".concat(T,"%")}})})})}),Object(K.jsx)("div",{className:"CanvasHolder",children:Object(K.jsx)("canvas",{ref:y},"myCanvas")}),Object(K.jsx)(pa,{children:Object(K.jsx)("div",{className:"ButtonsHolder",children:Object(K.jsx)("div",{className:"CancelButtonHolder",children:Object(K.jsx)(W.a,{onClick:w,children:Q("Cancel")})})})})]})}return"showSaveChoices"==l?Object(K.jsxs)(fa,{children:[Object(K.jsxs)(Da,{children:[Object(K.jsx)(da,{isCompleted:!0,isError:!1,message:"Render complete"}),A&&Object(K.jsx)(da,{isCompleted:!1,isError:!1,message:"Submitting to photo contest..."}),g&&Object(K.jsx)(da,{isCompleted:!0,isError:!1,message:g}),c&&Object(K.jsx)(da,{isCompleted:!0,isError:!0,message:c}),C&&Object(K.jsx)(da,{isCompleted:!1,isError:!1,message:"Uploading to online gallery..."}),E&&Object(K.jsx)(da,{isCompleted:!0,isError:!1,message:E}),B&&Object(K.jsx)(da,{isCompleted:!0,isError:!0,message:B})]}),Object(K.jsx)("div",{className:"CanvasHolder",children:Object(K.jsx)("canvas",{ref:y},"myCanvas")}),Object(K.jsx)(pa,{children:Object(K.jsxs)("div",{className:"ButtonsHolder",children:[Object(K.jsxs)("div",{className:"ProceedButtonHolder",children:[Object(K.jsx)(W.a,{onClick:function(){return F.apply(this,arguments)},children:Q("Save local file")}),k&&Object(K.jsxs)(K.Fragment,{children:[C&&Object(K.jsxs)(W.a,{disabled:!0,children:[Object(K.jsx)(Sa,{size:"small"}),Q("Uploading...")]}),!C&&!(E||B)&&Object(K.jsx)(W.a,{onClick:function(){return D.apply(this,arguments)},children:Q("Upload to my gallery")}),!C&&(E||B)&&Object(K.jsx)(W.a,{disabled:!0,children:Q("Upload to my gallery")})]}),k&&Object(K.jsxs)(K.Fragment,{children:[A&&Object(K.jsxs)(W.a,{disabled:!0,children:[Object(K.jsx)(xa,{size:"small"}),Q("Uploading...")]}),!A&&!(g||c)&&Object(K.jsx)(W.a,{onClick:function(){return x.apply(this,arguments)},children:Q("Submit to photo contest")}),!A&&(g||c)&&Object(K.jsx)(W.a,{disabled:!0,children:Q("Submit to photo contest")})]})]}),Object(K.jsx)("div",{className:"CancelButtonHolder",children:Object(K.jsx)(W.a,{onClick:w,children:Q("Done")})})]})})]}):Object(K.jsx)(fa,{children:"Error in dialog flow"})}function ma(){var e=Object(Ie.d)(be).initialize,n=Object(Ce.a)().t,t=Object(D.a)().match.params.showId;return Object(u.useEffect)((function(){function a(){return(a=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.invokeApi("getLoggedInUserSettings",{});case 2:n=e.sent,v.a.setAuthToken(n.auth_token);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}document.body.classList.add("FinaleDialog"),document.title=n("Create Photo"),e(t),function(){a.apply(this,arguments)}()})),Object(K.jsx)(Ea,{showId:t})}var Ba=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv",componentId:"sc-1y8v83p-2"})(["display:flex"]),Qa=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv2",componentId:"sc-1y8v83p-3"})(["display:flex"]),ya=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv3",componentId:"sc-1y8v83p-4"})(["display:flex"]),ba=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv4",componentId:"sc-1y8v83p-5"})(["display:flex"]),_a=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv5",componentId:"sc-1y8v83p-6"})(["display:flex"]),ka=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv6",componentId:"sc-1y8v83p-7"})(["display:flex"]),wa=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv7",componentId:"sc-1y8v83p-8"})(["display:flex"]),Fa=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv8",componentId:"sc-1y8v83p-9"})(["display:flex"]),va=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv9",componentId:"sc-1y8v83p-10"})(["height:80px"]),Da=Object(g.d)("div").withConfig({displayName:"CreatePhotoDialogPage___StyledDiv10",componentId:"sc-1y8v83p-11"})(["height:80px"]),Sa=Object(g.d)(b.a).withConfig({displayName:"CreatePhotoDialogPage___StyledSpinner",componentId:"sc-1y8v83p-12"})(["margin-right:8px"]),xa=Object(g.d)(b.a).withConfig({displayName:"CreatePhotoDialogPage___StyledSpinner2",componentId:"sc-1y8v83p-13"})(["margin-right:8px"]),ja=t(63),Ta=t(138),Ra=t.n(Ta),Ma=t(135),Na=g.d.div.withConfig({displayName:"AsyncTasksListWidget__AsyncTasksListWidgetDiv",componentId:"sc-lpgpi7-0"})([""]);function Pa(e){var n=Object(Ie.e)(Ma.a).tasks;return Object(K.jsx)(Na,{className:"AsyncTasksListWidget",children:n.map((function(e,n){return Object(K.jsx)(Oa,{task:e},n)}))})}function Oa(e){var n=null!=e.task.completionTime,t=null!=e.task.errorMessage,a=e.task.taskName;return n&&(a="".concat(a," ... ok ").concat(Object(he.sprintf)("%.1f",e.task.completionTime.diff(e.task.beginTime)/1e3),"s")),Object(K.jsx)(da,{isCompleted:n,isError:t,message:a},e.task.taskId)}var Ga=t(561),La=t(149),Ua=t(87),za=t.n(Ua),Ha=t(557),Ya=t.n(Ha),Wa=t(222),Ka=t.n(Wa),Ja="\n// AUTO-GENERATED, edit vertex_defs.rb instead of this file\nconst int C_SIM_HZ = 100;\nconst int C_MaxParticleInfos = 65536;\nconst int C_MaxFakePositionCount = 128;\nconst int C_MaxStaticPointLightInfosCount = 128;\nconst int C_MaxGroundSplatsCount = 128;\nconst int C_MaxBatchSearchDepth = 20;\nconst int C_NumBreakSpherePoints = 1024;\nconst float C_LoopingCurvePeriod = 4.0;\nconst float C_MaxK = 1.0;\nconst float C_BallisticKThreshold = 0.0001;\nconst int C_TextureUnit_MAX = 31;\nconst int C_TextureUnit_CurveInfosTexture = 27;\nconst int C_TextureUnit_BatchSearchEntriesTexture = 26;\nconst int C_TextureUnit_TrailBatchDatas = 25;\nconst int C_TextureUnit_StarBatchDatas = 24;\nconst int C_TextureUnit_LightBeamInfosTexture = 23;\nconst int C_TextureUnit_StaticPointLightInfosTexture = 22;\nconst int C_TextureUnit_WaterNormalTexture = 21;\nconst int C_TextureUnit_ReflectionTexture = 20;\nconst int C_TextureUnit_SpectralRgbTexture = 19;\nconst int C_TextureUnit_SmokePuffTexture = 18;\nconst int C_TextureUnit_SmokeFlipbookTexture = 17;\nconst int C_TextureUnit_SparkTextureIntensityRadiuses = 16;\nconst int C_TextureUnit_CurveTexture = 15;\nconst int C_TextureUnit_SparkTexture = 14;\nconst int C_TextureUnit_PuffTexture = 13;\nconst int C_TextureUnit_DiffuseTexture = 12;\nconst int C_TextureUnit_GroundSplatsTexture = 11;\nconst int C_TextureUnit_BlackbodyTexture = 10;\nconst int C_TextureUnit_ParticleStatesTexture = 9;\nconst int C_TextureUnit_SparkInfosTexture = 8;\nconst int C_TextureUnit_SmokeInfosTexture = 7;\nconst int C_TextureUnit_FlameInfosTexture = 6;\nconst int C_TextureUnit_EmitterInfosTexture = 5;\nconst int C_TextureUnit_Curve4Texture = 4;\nconst int C_TextureUnit_Misc3 = 3;\nconst int C_TextureUnit_Misc2 = 2;\nconst int C_TextureUnit_Misc1 = 1;\nconst int C_BlackbodyTextureTempMin = 500;\nconst int C_BlackbodyTextureTempMax = 20000;\nconst float C_SpectralRgbTextureWavelengthMin = 389.9;\nconst float C_SpectralRgbTextureWavelengthMax = 830.1;\nconst int C_SkyDomeNumDivisions = 36;\nconst int C_SkyDomeNumSlices = 10;\nconst int C_CurveTextureWidth = 1024;\nconst int C_SparkTextureWidth = 2048;\nconst float C_MinParticleDuration = 0.016666666666666666;\nconst float C_PuffGravityFactor = 0.1;\nconst int C_EmitStyle_Uniform = 0;\nconst int C_EmitStyle_Turbulent = 1;\nconst int C_EmitStyle_TigerTail = 2;\nconst int C_EmitStyle_Break = 3;\nconst int C_EmitStyle_Fountain = 4;\nconst int C_MotionFlag_MotionSerpent = 2;\nconst int C_MotionFlag_MotionSpinner = 4;\nconst int C_MotionFlag_MotionWhirl = 8;\nconst int C_MotionFlag_MotionMeteor = 16;\nconst int C_MotionFlag_MotionSwimming = 32;\nconst int C_MotionFlag_MotionStatic = 64;\nconst int C_MotionFlag_MotionWhistle = 128;\nconst int C_MotionFlag_MotionSmallSerpent = 256;\nconst int C_MotionFlag_MotionSmallWhistle = 512;\nconst int C_EmitFlag_RandomizeEmitTimeOffset = 1;\nconst int C_CurveId_zero = 0;\nconst int C_CurveId_one = 1;\nconst int C_CurveId_gaussian = 2;\nconst int C_EmitCurve_Taper1 = 3;\nconst int C_EmitCurve_Linear = 4;\nconst int C_EmitCurve_Linear20 = 5;\nconst int C_EmitCurve_Farfalle = 6;\nconst int C_EmitCurve_PopcornCrackle = 7;\nconst int C_EmitCurve_Spinner = 8;\nconst int C_EmitCurve_GroundStrobe = 9;\nconst int C_Field_sparkColor = 1;\nconst int C_Field_sparkRadiusGaussian = 2;\nconst int C_Field_sparkIntensityCurve = 3;\nconst int C_Field_sparkScaleIntensity = 4;\nconst int C_Field_sparkFlags = 5;\nconst int C_Field_smokePuffEndSizeTime = 6;\nconst int C_Field_smokePuffSizeCurve = 7;\nconst int C_Field_smokePuffStartSize = 8;\nconst int C_Field_smokePuffEndSize = 9;\nconst int C_Field_smokeDensity = 10;\nconst int C_Field_flamePuffStartSize = 11;\nconst int C_Field_flamePuffEndSize = 12;\nconst int C_Field_flamePuffSizeCurve = 13;\nconst int C_Field_flamePuffTempCurve = 14;\nconst int C_Field_flamePuffAlphaCurve = 15;\nconst int C_Field_emitLifetimeGaussian = 16;\nconst int C_Field_emitWindFrictionGaussian = 17;\nconst int C_Field_emitVelGaussian = 18;\nconst int C_Field_emitInheritVelocityGaussian = 19;\nconst int C_Field_emitVelTaper = 20;\nconst int C_Field_emitDiscRadius = 21;\nconst int C_Field_emitCurve = 22;\nconst int C_Field_emitStyle = 23;\nconst int C_Field_emitStyleArg0 = 24;\nconst int C_Field_emitFlags = 25;\nconst int C_Field_breakRandomTweak = 26;\nconst int C_Field_COUNT = 32;\n\n\n\n\n\nstruct BatchSearchEntry {\n int compare_to;\n int bse_gte;\n int bse_else;\n int batch_id;\n\n};\n#define INPUTS_IN_BatchSearchEntry in int IN_compare_to; in int IN_bse_gte; in int IN_bse_else; in int IN_batch_id; BatchSearchEntry COPY_IN_BatchSearchEntry() { BatchSearchEntry result; result.compare_to = IN_compare_to; result.bse_gte = IN_bse_gte; result.bse_else = IN_bse_else; result.batch_id = IN_batch_id; return result; }\n\n\n\n\n\n\nstruct BlurStage {\n int downsamples;\n float radius;\n float preAdd;\n float postScale;\n\n};\n#define INPUTS_IN_BlurStage in int IN_downsamples; in float IN_radius; in float IN_preAdd; in float IN_postScale; BlurStage COPY_IN_BlurStage() { BlurStage result; result.downsamples = IN_downsamples; result.radius = IN_radius; result.preAdd = IN_preAdd; result.postScale = IN_postScale; return result; }\n\n\n\n\n\n\nstruct CurveInfo {\n float aMinX;\n float aMinY;\n float aMaxX;\n float aMaxY;\n\n};\n#define INPUTS_IN_CurveInfo in float IN_aMinX; in float IN_aMinY; in float IN_aMaxX; in float IN_aMaxY; CurveInfo COPY_IN_CurveInfo() { CurveInfo result; result.aMinX = IN_aMinX; result.aMinY = IN_aMinY; result.aMaxX = IN_aMaxX; result.aMaxY = IN_aMaxY; return result; }\n\n\n\n\n\n\nstruct EmitterInfo {\n vec2 aEmitLifetimeGaussian;\n vec2 aEmitWindFrictionGaussian;\n vec2 aEmitVelGaussian;\n vec2 aEmitInheritVelocityGaussian;\n float aEmitVelTaper;\n float aEmitDiscDiameter;\n int aEmitCurve;\n int aEmitStyle;\n float aEmitStyleArg0;\n int aEmitFlags;\n int aBreakRandomTweak;\n\n float _alignmentPad0;\n};\n#define INPUTS_IN_EmitterInfo in vec2 IN_aEmitLifetimeGaussian; in vec2 IN_aEmitWindFrictionGaussian; in vec2 IN_aEmitVelGaussian; in vec2 IN_aEmitInheritVelocityGaussian; in float IN_aEmitVelTaper; in float IN_aEmitDiscDiameter; in int IN_aEmitCurve; in int IN_aEmitStyle; in float IN_aEmitStyleArg0; in int IN_aEmitFlags; in int IN_aBreakRandomTweak; EmitterInfo COPY_IN_EmitterInfo() { EmitterInfo result; result.aEmitLifetimeGaussian = IN_aEmitLifetimeGaussian; result.aEmitWindFrictionGaussian = IN_aEmitWindFrictionGaussian; result.aEmitVelGaussian = IN_aEmitVelGaussian; result.aEmitInheritVelocityGaussian = IN_aEmitInheritVelocityGaussian; result.aEmitVelTaper = IN_aEmitVelTaper; result.aEmitDiscDiameter = IN_aEmitDiscDiameter; result.aEmitCurve = IN_aEmitCurve; result.aEmitStyle = IN_aEmitStyle; result.aEmitStyleArg0 = IN_aEmitStyleArg0; result.aEmitFlags = IN_aEmitFlags; result.aBreakRandomTweak = IN_aBreakRandomTweak; return result; }\n\n\n\n\n\n\nstruct FlameInfo {\n float aFlamePuffStartSize;\n float aFlamePuffEndSize;\n int aFlamePuffSizeCurve;\n int aFlamePuffTempCurve;\n int aFlamePuffAlphaCurve;\n\n float _alignmentPad0;\n float _alignmentPad1;\n float _alignmentPad2;\n};\n#define INPUTS_IN_FlameInfo in float IN_aFlamePuffStartSize; in float IN_aFlamePuffEndSize; in int IN_aFlamePuffSizeCurve; in int IN_aFlamePuffTempCurve; in int IN_aFlamePuffAlphaCurve; FlameInfo COPY_IN_FlameInfo() { FlameInfo result; result.aFlamePuffStartSize = IN_aFlamePuffStartSize; result.aFlamePuffEndSize = IN_aFlamePuffEndSize; result.aFlamePuffSizeCurve = IN_aFlamePuffSizeCurve; result.aFlamePuffTempCurve = IN_aFlamePuffTempCurve; result.aFlamePuffAlphaCurve = IN_aFlamePuffAlphaCurve; return result; }\n\n\n\n\n\n\nstruct LightBeamInfo {\n vec3 aColor0;\n float aIntensity1;\n vec3 aColor1;\n int aIntensityCurve;\n float aAngleSpread0;\n float aAngleSpread1;\n float aDiameter0;\n float aConeHeight0;\n\n float _alignmentPad0;\n float _alignmentPad1;\n float _alignmentPad2;\n float _alignmentPad3;\n};\n#define INPUTS_IN_LightBeamInfo in vec3 IN_aColor0; in float IN_aIntensity1; in vec3 IN_aColor1; in int IN_aIntensityCurve; in float IN_aAngleSpread0; in float IN_aAngleSpread1; in float IN_aDiameter0; in float IN_aConeHeight0; LightBeamInfo COPY_IN_LightBeamInfo() { LightBeamInfo result; result.aColor0 = IN_aColor0; result.aIntensity1 = IN_aIntensity1; result.aColor1 = IN_aColor1; result.aIntensityCurve = IN_aIntensityCurve; result.aAngleSpread0 = IN_aAngleSpread0; result.aAngleSpread1 = IN_aAngleSpread1; result.aDiameter0 = IN_aDiameter0; result.aConeHeight0 = IN_aConeHeight0; return result; }\n\n\n\n\n\n\nstruct MeshVertexPCD {\n vec3 aPos;\n vec3 aColor;\n vec2 aDiffuseUV;\n\n float _alignmentPad0;\n float _alignmentPad1;\n float _alignmentPad2;\n float _alignmentPad3;\n float _alignmentPad4;\n float _alignmentPad5;\n};\n#define INPUTS_IN_MeshVertexPCD in vec3 IN_aPos; in vec3 IN_aColor; in vec2 IN_aDiffuseUV; MeshVertexPCD COPY_IN_MeshVertexPCD() { MeshVertexPCD result; result.aPos = IN_aPos; result.aColor = IN_aColor; result.aDiffuseUV = IN_aDiffuseUV; return result; }\n\n\n\n\n\n\nstruct ParticleState {\n vec3 pos;\n float t0;\n vec3 vel;\n float duration;\n vec3 gravity;\n float wind_friction;\n vec4 ori0;\n vec4 ori1;\n uint random_state;\n float motion_flags;\n float dmx_strobing_frequency;\n int pos_curve4_id;\n int vel_curve4_id;\n int ori_curve4_id;\n int rgb_curve4_id;\n\n float _alignmentPad0;\n float _alignmentPad1;\n float _alignmentPad2;\n float _alignmentPad3;\n float _alignmentPad4;\n};\n#define INPUTS_IN_ParticleState in vec3 IN_pos; in float IN_t0; in vec3 IN_vel; in float IN_duration; in vec3 IN_gravity; in float IN_wind_friction; in vec4 IN_ori0; in vec4 IN_ori1; in uint IN_random_state; in float IN_motion_flags; in float IN_dmx_strobing_frequency; in int IN_pos_curve4_id; in int IN_vel_curve4_id; in int IN_ori_curve4_id; in int IN_rgb_curve4_id; ParticleState COPY_IN_ParticleState() { ParticleState result; result.pos = IN_pos; result.t0 = IN_t0; result.vel = IN_vel; result.duration = IN_duration; result.gravity = IN_gravity; result.wind_friction = IN_wind_friction; result.ori0 = IN_ori0; result.ori1 = IN_ori1; result.random_state = IN_random_state; result.motion_flags = IN_motion_flags; result.dmx_strobing_frequency = IN_dmx_strobing_frequency; result.pos_curve4_id = IN_pos_curve4_id; result.vel_curve4_id = IN_vel_curve4_id; result.ori_curve4_id = IN_ori_curve4_id; result.rgb_curve4_id = IN_rgb_curve4_id; return result; }\n\n\n\n\n\n\nstruct PhysicsParams {\n vec3 wind_velocity;\n\n float _alignmentPad0;\n};\n#define INPUTS_IN_PhysicsParams in vec3 IN_wind_velocity; PhysicsParams COPY_IN_PhysicsParams() { PhysicsParams result; result.wind_velocity = IN_wind_velocity; return result; }\n\n\n\n\n\n\nstruct PhysicsResult {\n vec3 pos;\n float st;\n float et;\n int info_id;\n uint random_seed;\n float distribution_x;\n vec4 debug1;\n vec4 debug2;\n\n};\n#define INPUTS_IN_PhysicsResult in vec3 IN_pos; in float IN_st; in float IN_et; in int IN_info_id; in uint IN_random_seed; in float IN_distribution_x; in vec4 IN_debug1; in vec4 IN_debug2; PhysicsResult COPY_IN_PhysicsResult() { PhysicsResult result; result.pos = IN_pos; result.st = IN_st; result.et = IN_et; result.info_id = IN_info_id; result.random_seed = IN_random_seed; result.distribution_x = IN_distribution_x; result.debug1 = IN_debug1; result.debug2 = IN_debug2; return result; }\n\n\n\n\n\n\nstruct SmokeInfo {\n float aSmokeDensity;\n float aSmokePuffStartSize;\n float aSmokePuffEndSize;\n int aSmokePuffSizeCurve;\n\n};\n#define INPUTS_IN_SmokeInfo in float IN_aSmokeDensity; in float IN_aSmokePuffStartSize; in float IN_aSmokePuffEndSize; in int IN_aSmokePuffSizeCurve; SmokeInfo COPY_IN_SmokeInfo() { SmokeInfo result; result.aSmokeDensity = IN_aSmokeDensity; result.aSmokePuffStartSize = IN_aSmokePuffStartSize; result.aSmokePuffEndSize = IN_aSmokePuffEndSize; result.aSmokePuffSizeCurve = IN_aSmokePuffSizeCurve; return result; }\n\n\n\n\n\n\nstruct SparkInfo {\n vec3 aColor0;\n float aIntensity1;\n vec3 aColor1;\n int aIntensityCurve;\n vec2 aDiameterGaussian;\n float aIntensityCurveLoopDuration;\n float aTemperature0;\n float aTemperature1;\n vec2 aHotCircleDiameterGaussian;\n\n};\n#define INPUTS_IN_SparkInfo in vec3 IN_aColor0; in float IN_aIntensity1; in vec3 IN_aColor1; in int IN_aIntensityCurve; in vec2 IN_aDiameterGaussian; in float IN_aIntensityCurveLoopDuration; in float IN_aTemperature0; in float IN_aTemperature1; in vec2 IN_aHotCircleDiameterGaussian; SparkInfo COPY_IN_SparkInfo() { SparkInfo result; result.aColor0 = IN_aColor0; result.aIntensity1 = IN_aIntensity1; result.aColor1 = IN_aColor1; result.aIntensityCurve = IN_aIntensityCurve; result.aDiameterGaussian = IN_aDiameterGaussian; result.aIntensityCurveLoopDuration = IN_aIntensityCurveLoopDuration; result.aTemperature0 = IN_aTemperature0; result.aTemperature1 = IN_aTemperature1; result.aHotCircleDiameterGaussian = IN_aHotCircleDiameterGaussian; return result; }\n\n\n\n\n\n\nstruct StarBatchData {\n int num_particles;\n int first_particle_state_id;\n int info_id;\n\n float _alignmentPad0;\n};\n#define INPUTS_IN_StarBatchData in int IN_num_particles; in int IN_first_particle_state_id; in int IN_info_id; StarBatchData COPY_IN_StarBatchData() { StarBatchData result; result.num_particles = IN_num_particles; result.first_particle_state_id = IN_first_particle_state_id; result.info_id = IN_info_id; return result; }\n\n\n\n\n\n\nstruct StaticPointLightInfo {\n vec3 aColor0;\n float aIntensity1;\n vec3 pos;\n float st;\n int aIntensityCurve;\n float et;\n\n float _alignmentPad0;\n float _alignmentPad1;\n float _alignmentPad2;\n float _alignmentPad3;\n float _alignmentPad4;\n float _alignmentPad5;\n};\n#define INPUTS_IN_StaticPointLightInfo in vec3 IN_aColor0; in float IN_aIntensity1; in vec3 IN_pos; in float IN_st; in int IN_aIntensityCurve; in float IN_et; StaticPointLightInfo COPY_IN_StaticPointLightInfo() { StaticPointLightInfo result; result.aColor0 = IN_aColor0; result.aIntensity1 = IN_aIntensity1; result.pos = IN_pos; result.st = IN_st; result.aIntensityCurve = IN_aIntensityCurve; result.et = IN_et; return result; }\n\n\n\n\n\n\nstruct TrailBatchData {\n int num_particles;\n int first_particle_state_id;\n int num_emitted_per_star;\n int emitter_info_id;\n int emitted_info_id;\n int trail_random_group_id;\n\n float _alignmentPad0;\n float _alignmentPad1;\n};\n#define INPUTS_IN_TrailBatchData in int IN_num_particles; in int IN_first_particle_state_id; in int IN_num_emitted_per_star; in int IN_emitter_info_id; in int IN_emitted_info_id; in int IN_trail_random_group_id; TrailBatchData COPY_IN_TrailBatchData() { TrailBatchData result; result.num_particles = IN_num_particles; result.first_particle_state_id = IN_first_particle_state_id; result.num_emitted_per_star = IN_num_emitted_per_star; result.emitter_info_id = IN_emitter_info_id; result.emitted_info_id = IN_emitted_info_id; result.trail_random_group_id = IN_trail_random_group_id; return result; }\n\n",Va="\nout vec4 fragColor;\nin vec4 vPosition;\nuniform vec2 uFramebufferSize;\nuniform sampler2D uInputTexture;\nuniform sampler3D uTonemapTexture;\nconst float R_cubemap_power = 13.75;\nvoid main() {\n vec2 tc = gl_FragCoord.xy / uFramebufferSize;\n vec4 inputColor = texture( uInputTexture, tc );\n vec3 idx = vec3(\n pow( inputColor.x/2047.0, 1.0 / R_cubemap_power ),\n pow( inputColor.y/2047.0, 1.0 / R_cubemap_power ),\n pow( inputColor.z/2047.0, 1.0 / R_cubemap_power )\n );\n fragColor = textureGrad( uTonemapTexture, idx, vec3( 0 ), vec3( 0 ) );\n fragColor.a = inputColor.a;\n //fragColor = vec4(inputColor.rgb,1);\n //fragColor = vec4(tc.xy,0,1);\n}",qa="\n#define M_PI 3.1415926535897932384626433832795\n\nfloat\nfloatFromUintBits( uint m )\n{\n const uint ieeeMantissa = 0x007FFFFFu; // binary32 mantissa bitmask\n const uint ieeeOne = 0x3F800000u; // 1.0 in IEEE binary32\n\n m &= ieeeMantissa; // Keep only mantissa bits (fractional part)\n m |= ieeeOne; // Add fractional part to 1.0\n\n float f = uintBitsToFloat( m ); // Range [1:2]\n return f - 1.0; // Range [0:1]\n}\n\nuint\nhash( uint x )\n{\n x += ( x << 10u );\n x ^= ( x >> 6u );\n x += ( x << 3u );\n x ^= ( x >> 11u );\n x += ( x << 15u );\n return x;\n}\n\nbool\nepsilonEquals( float a, float b, float e )\n{\n return abs( a - b ) < e;\n}\n\n#define RandomState uint\nvoid\nmutate_RandomState( inout RandomState x )\n{\n x = hash( x );\n}\n\n#define BIG_PRIME_1 4200000089u // just a big prime near 2^32\nRandomState\ninit_random( uint a )\n{\n return hash( a ^ BIG_PRIME_1 );\n}\nRandomState\ninit_random( uint a, uint b )\n{\n return hash( a ^ BIG_PRIME_1 ) ^ hash( b ^ BIG_PRIME_1 );\n}\nRandomState\ninit_random( uint a, uint b, uint c )\n{\n return hash( a ^ BIG_PRIME_1 ) ^ hash( b ^ BIG_PRIME_1 ) ^ hash( c ^ BIG_PRIME_1 );\n}\n\nuint\nrandUint( inout RandomState random_state )\n{\n uint r = random_state;\n mutate_RandomState( random_state );\n return r;\n}\n\nfloat\nrand( inout RandomState random_state )\n{\n return floatFromUintBits( randUint( random_state ) );\n}\n\n// Box-Muller method, but we discard one of the two outputted gaussian values\nfloat\nsampleGaussian( inout RandomState random_state, float mean, float variance )\n{\n float R = sqrt( -2.0 * log( rand( random_state ) ) );\n float O = 2.0 * M_PI * rand( random_state );\n float result = R * sin( O ) * variance + mean;\n float _clamped = clamp( result, mean - variance * 3.0, mean + variance * 3.0 );\n return _clamped;\n}\nfloat\nsampleGaussian( inout RandomState random_state, vec2 g )\n{\n return sampleGaussian( random_state, g.x, g.y );\n}\n\nvec2\npointOnDisc( inout RandomState random_state )\n{\n float pt = rand( random_state ) * 2.0 * M_PI;\n float pr = sqrt( rand( random_state ) );\n return vec2( pr * cos( pt ), pr * sin( pt ) );\n}\n\n// this uses the 'cylinder maps to sphere' construction\nvec3\npointOnSphere( inout RandomState random_state, float degsSigma )\n{\n float deg = abs( sampleGaussian( random_state, 0.0, degsSigma / 2.0 ) );\n deg = mod( deg, 360.0 );\n\n float y = 1.0 - 2.0 * deg / 360.0;\n float theta = 2.0 * M_PI * rand( random_state );\n float radius_at_y = sqrt( 1.0 - y * y );\n return vec3( radius_at_y * cos( theta ), y, radius_at_y * sin( theta ) );\n}\n\nmat3\nquatToMat3( vec4 q )\n{\n mat3 result;\n float qxx = ( q.x * q.x );\n float qyy = ( q.y * q.y );\n float qzz = ( q.z * q.z );\n float qxz = ( q.x * q.z );\n float qxy = ( q.x * q.y );\n float qyz = ( q.y * q.z );\n float qwx = ( q.w * q.x );\n float qwy = ( q.w * q.y );\n float qwz = ( q.w * q.z );\n\n result[ 0 ][ 0 ] = 1.0 - 2.0 * ( qyy + qzz );\n result[ 0 ][ 1 ] = 2.0 * ( qxy + qwz );\n result[ 0 ][ 2 ] = 2.0 * ( qxz - qwy );\n\n result[ 1 ][ 0 ] = 2.0 * ( qxy - qwz );\n result[ 1 ][ 1 ] = 1.0 - 2.0 * ( qxx + qzz );\n result[ 1 ][ 2 ] = 2.0 * ( qyz + qwx );\n\n result[ 2 ][ 0 ] = 2.0 * ( qxz + qwy );\n result[ 2 ][ 1 ] = 2.0 * ( qyz - qwx );\n result[ 2 ][ 2 ] = 1.0 - 2.0 * ( qxx + qyy );\n return result;\n}\n\nvec4\nquatSlerp( vec4 x, vec4 y, float a )\n{\n vec4 z = y;\n\n float cosTheta = dot( x, y );\n\n // If cosTheta < 0, the interpolation will take the long way around the sphere.\n // To fix this, one quat must be negated.\n if( cosTheta < 0.0 ) {\n z = -y;\n cosTheta = -cosTheta;\n }\n\n // Perform a linear interpolation when cosTheta is close to 1 to avoid side effect of sin(angle) becoming a zero denominator\n if( cosTheta > 1.0 - 0.0001 ) {\n // Linear interpolation\n return vec4( mix( x.x, z.x, a ), mix( x.y, z.y, a ), mix( x.z, z.z, a ), mix( x.w, z.w, a ) );\n } else {\n // Essential Mathematics, page 467\n float angle = acos( cosTheta );\n return ( sin( ( 1.0 - a ) * angle ) * x + sin( a * angle ) * z ) / sin( angle );\n }\n}\n\nvec4\nquatApply( vec4 a, vec4 b ) // matches u_math.cpp void U_fori::apply\n{\n return vec4( ( b.w * a.x ) + ( b.x * a.w ) + ( b.y * a.z ) - ( b.z * a.y ), ( b.w * a.y ) + ( b.y * a.w ) + ( b.z * a.x ) - ( b.x * a.z ), ( b.w * a.z ) + ( b.z * a.w ) + ( b.x * a.y ) - ( b.y * a.x ), ( b.w * a.w ) - ( b.x * a.x ) - ( b.y * a.y ) - ( b.z * a.z ) );\n}\n\n\nuniform vec4 uDebugMouse;\nuniform float uTimeInstant;\nuniform vec3 uWindVelocity;\n\nuniform float uSparkMinContribution;\nuniform float uSparkTextureIntensityMax;\n\nuniform sampler2D uSparkTexture;\nuniform sampler2D uCurveTexture;\nuniform sampler2DArray uCurve4Texture;\nuniform sampler2D uBlackbodyTexture;\nuniform sampler2D uSparkTextureIntensityRadiuses;\n\nuniform sampler2D uParticleStatesTexture;\nuniform sampler2D uSparkInfosTexture;\nuniform sampler2D uCurveInfosTexture;\nuniform sampler2D uFlameInfosTexture;\nuniform sampler2D uSmokeInfosTexture;\nuniform sampler2D uEmitterInfosTexture;\nuniform sampler2D uLightBeamInfosTexture;\nuniform sampler2D uStaticPointLightInfosTexture;\n\n#ifdef FIN_UseUniformsForBatchData\n#else\nuniform samplerBuffer uStarBatchDatasTexture;\nuniform samplerBuffer uTrailBatchDatasTexture;\nuniform samplerBuffer uBatchSearchEntriesTexture;\nuniform int uBatchSearchMaxDepth;\nuniform int uBatchSearchStartId;\n#endif\n\nuniform int uStaticPointLightInfosCount;\n\nParticleState\ngetParticleStateFromTexture( int id )\n{\n const int TexelsPerStruct = 8;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n vec4 t2 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 2, y ), 0 );\n vec4 t3 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 3, y ), 0 );\n vec4 t4 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 4, y ), 0 );\n vec4 t5 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 5, y ), 0 );\n vec4 t6 = texelFetch( uParticleStatesTexture, ivec2( x * TexelsPerStruct + 6, y ), 0 );\n ParticleState result;\n result.pos = t0.xyz;\n result.t0 = t0.w;\n result.vel = t1.xyz;\n result.duration = t1.w;\n result.gravity = t2.xyz;\n result.wind_friction = t2.w;\n result.ori0 = t3;\n result.ori1 = t4;\n result.random_state = floatBitsToUint( t5.x );\n result.motion_flags = t5.y;\n result.dmx_strobing_frequency = t5.z;\n result.pos_curve4_id = floatBitsToInt( t5.w );\n result.vel_curve4_id = floatBitsToInt( t6.x );\n result.ori_curve4_id = floatBitsToInt( t6.y );\n result.rgb_curve4_id = floatBitsToInt( t6.z );\n return result;\n}\n\nEmitterInfo\ngetEmitterInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 4;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uEmitterInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uEmitterInfosTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n vec4 t2 = texelFetch( uEmitterInfosTexture, ivec2( x * TexelsPerStruct + 2, y ), 0 );\n vec4 t3 = texelFetch( uEmitterInfosTexture, ivec2( x * TexelsPerStruct + 3, y ), 0 );\n EmitterInfo result;\n result.aEmitLifetimeGaussian = t0.xy;\n result.aEmitWindFrictionGaussian = t0.zw;\n result.aEmitVelGaussian = t1.xy;\n result.aEmitInheritVelocityGaussian = t1.zw;\n result.aEmitVelTaper = t2.x;\n result.aEmitDiscDiameter = t2.y;\n result.aEmitCurve = floatBitsToInt( t2.z );\n result.aEmitStyle = floatBitsToInt( t2.w );\n result.aEmitStyleArg0 = t3.x;\n result.aEmitFlags = floatBitsToInt( t3.y );\n result.aBreakRandomTweak = floatBitsToInt( t3.z );\n return result;\n}\n\nSparkInfo\ngetSparkInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 4;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uSparkInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uSparkInfosTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n vec4 t2 = texelFetch( uSparkInfosTexture, ivec2( x * TexelsPerStruct + 2, y ), 0 );\n vec4 t3 = texelFetch( uSparkInfosTexture, ivec2( x * TexelsPerStruct + 3, y ), 0 );\n SparkInfo result;\n result.aColor0 = t0.xyz;\n result.aIntensity1 = t0.w;\n result.aColor1 = t1.xyz;\n result.aIntensityCurve = floatBitsToInt( t1.w );\n result.aDiameterGaussian = t2.xy;\n result.aIntensityCurveLoopDuration = t2.z;\n result.aTemperature0 = t2.w;\n result.aTemperature1 = t3.x;\n result.aHotCircleDiameterGaussian = t3.yz;\n return result;\n}\n\nCurveInfo\ngetCurveInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 1;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uCurveInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n CurveInfo result;\n result.aMinX = t0.x;\n result.aMinY = t0.y;\n result.aMaxX = t0.z;\n result.aMaxY = t0.w;\n return result;\n}\n\nFlameInfo\ngetFlameInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 2;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uFlameInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uFlameInfosTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n FlameInfo result;\n result.aFlamePuffStartSize = t0.x;\n result.aFlamePuffEndSize = t0.y;\n result.aFlamePuffSizeCurve = floatBitsToInt( t0.z );\n result.aFlamePuffTempCurve = floatBitsToInt( t0.w );\n result.aFlamePuffAlphaCurve = floatBitsToInt( t1.x );\n return result;\n}\n\nSmokeInfo\ngetSmokeInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 1;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uSmokeInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n SmokeInfo result;\n result.aSmokeDensity = t0.x;\n result.aSmokePuffStartSize = t0.y;\n result.aSmokePuffEndSize = t0.z;\n result.aSmokePuffSizeCurve = floatBitsToInt( t0.w );\n return result;\n}\n\nLightBeamInfo\ngetLightBeamInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 4;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uLightBeamInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uLightBeamInfosTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n vec4 t2 = texelFetch( uLightBeamInfosTexture, ivec2( x * TexelsPerStruct + 2, y ), 0 );\n LightBeamInfo result;\n result.aColor0 = t0.xyz;\n result.aIntensity1 = t0.w;\n result.aColor1 = t1.xyz;\n result.aIntensityCurve = floatBitsToInt( t1.w );\n result.aAngleSpread0 = t2.x;\n result.aAngleSpread1 = t2.y;\n result.aDiameter0 = t2.z;\n result.aConeHeight0 = t2.w;\n return result;\n}\n\nStaticPointLightInfo\ngetStaticPointLightInfoFromTexture( int id )\n{\n const int TexelsPerStruct = 4;\n int StructsPerRow = 1024 / TexelsPerStruct;\n int x = id % StructsPerRow;\n int y = id / StructsPerRow;\n vec4 t0 = texelFetch( uStaticPointLightInfosTexture, ivec2( x * TexelsPerStruct + 0, y ), 0 );\n vec4 t1 = texelFetch( uStaticPointLightInfosTexture, ivec2( x * TexelsPerStruct + 1, y ), 0 );\n vec4 t2 = texelFetch( uStaticPointLightInfosTexture, ivec2( x * TexelsPerStruct + 2, y ), 0 );\n StaticPointLightInfo result;\n result.aColor0 = t0.xyz;\n result.aIntensity1 = t0.w;\n result.pos = t1.xyz;\n result.st = t1.w;\n result.aIntensityCurve = floatBitsToInt( t2.x );\n result.et = t2.y;\n return result;\n}\n\n#ifdef FIN_UseUniformsForBatchData\n#else\nvoid\ngetStarBatchDataFromTexture( int id, out StarBatchData bd )\n{\n vec4 t0 = texelFetch( uStarBatchDatasTexture, id );\n bd.num_particles = floatBitsToInt( t0.x );\n bd.first_particle_state_id = floatBitsToInt( t0.y );\n bd.info_id = floatBitsToInt( t0.z );\n}\n\nvoid\ngetTrailBatchDataFromTexture( int id, out TrailBatchData bd )\n{\n vec4 t0 = texelFetch( uTrailBatchDatasTexture, id * 2 + 0 );\n vec4 t1 = texelFetch( uTrailBatchDatasTexture, id * 2 + 1 );\n bd.num_particles = floatBitsToInt( t0.x );\n bd.first_particle_state_id = floatBitsToInt( t0.y );\n bd.num_emitted_per_star = floatBitsToInt( t0.z );\n bd.emitter_info_id = floatBitsToInt( t0.w );\n bd.emitted_info_id = floatBitsToInt( t1.x );\n bd.trail_random_group_id = floatBitsToInt( t1.y );\n}\n\nvoid\ngetBatchSearchEntryFromTexture( int id, out BatchSearchEntry bse )\n{\n vec4 t0 = texelFetch( uBatchSearchEntriesTexture, id );\n bse.compare_to = floatBitsToInt( t0.x );\n bse.bse_gte = floatBitsToInt( t0.y );\n bse.bse_else = floatBitsToInt( t0.z );\n bse.batch_id = floatBitsToInt( t0.w );\n}\n\nvoid\ngetBatchSearchEntryFromVertexId( int vertex_id, out BatchSearchEntry bse )\n{\n // A terminal BatchSearchEntry looks like this:\n // { compare_to: 0, bse_gte: my_bse_id, bse_else: my_vertex_id_offset, batch_id: my_batch_id }\n // Since compare_to is 0, then the bse_gte branch is always taken, which just\n // points right back to our terminal entry.\n // Since the bse_gte branch is always taken, that lets us re-use the bse_else\n // slot to be our vertex_id_offset.\n // It might even be the case that we don't need the if statements below.\n // If we do have the if statements, then we should only follow the terminal\n // node's pointer to itself at most once, since the binary tree will be\n // balanced.\n // If we do not have the if statements, then we will follow the terminal\n // node's pointer to itself possible a large number of times (especially the\n // case when there is a single batch to draw, for example).\n // note: if statements don't seem to matter on my parallels instance -- dusty 2019-08-06\n\n getBatchSearchEntryFromTexture( uBatchSearchStartId, bse );\n if( uBatchSearchMaxDepth > 1 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 2 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 3 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 4 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 5 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 6 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 7 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 8 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 9 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 10 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 11 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 12 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 13 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 14 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n if( uBatchSearchMaxDepth > 15 ) { getBatchSearchEntryFromTexture( vertex_id >= bse.compare_to ? bse.bse_gte : bse.bse_else, bse ); }\n}\n\n#undef DO_LINEAR_BATCH_LOOKUP\nvoid\ngetStarBatchDataFromVertexId( inout int vertex_id, out StarBatchData bd )\n{\n#ifdef DO_LINEAR_BATCH_LOOKUP\n int batch_id = 0;\n int sz = textureSize( uStarBatchDatasTexture );\n while( batch_id < sz ) {\n getStarBatchDataFromTexture( batch_id, bd );\n if( bd.num_particles > vertex_id ) { return; }\n vertex_id -= bd.num_particles;\n batch_id++;\n }\n#else\n BatchSearchEntry bse;\n getBatchSearchEntryFromVertexId( vertex_id, bse );\n vertex_id -= bse.bse_else;\n getStarBatchDataFromTexture( bse.batch_id, bd );\n#endif\n}\n\nvoid\ngetTrailBatchDataFromVertexId( inout int vertex_id, out TrailBatchData bd )\n{\n#ifdef DO_LINEAR_BATCH_LOOKUP\n int batch_id = 0;\n int sz = textureSize( uTrailBatchDatasTexture );\n while( batch_id < sz ) {\n getTrailBatchDataFromTexture( batch_id, bd );\n if( bd.num_particles > vertex_id ) { return; }\n vertex_id -= bd.num_particles;\n batch_id++;\n }\n#else\n BatchSearchEntry bse;\n getBatchSearchEntryFromVertexId( vertex_id, bse );\n vertex_id -= bse.bse_else;\n getTrailBatchDataFromTexture( bse.batch_id, bd );\n#endif\n}\n#endif // !FIN_UseUniformsForBatchData\n\n#define BASE 1.5\n#define encode_intensity( x ) ( log( x ) / log( BASE ) )\n#define decode_intensity( x ) ( pow( BASE, x ) )\n\nfloat\ngetSparkTextureRadiusFactor( float intensity )\n{\n float min_intensity = uSparkMinContribution;\n\n float min_logi = encode_intensity( min_intensity );\n float max_logi = encode_intensity( uSparkTextureIntensityMax );\n\n float logi = encode_intensity( intensity );\n float sample_x = ( logi - min_logi ) / ( max_logi - min_logi );\n sample_x = min( sample_x, 1.0 );\n\n vec2 tc = vec2( sample_x, 0.5 / float( C_SparkTextureWidth ) );\n float radius_from_lookup = texture( uSparkTextureIntensityRadiuses, tc ).r;\n return 2.0 * float( radius_from_lookup ) / float( C_SparkTextureWidth );\n}\n\n#define CELL_SIZE 2.0\nconst vec3 CELL_HALF = vec3( CELL_SIZE / 2.0, CELL_SIZE / 2.0, CELL_SIZE / 2.0 );\nconst float CELL_HALF_DIAGONAL = length( CELL_HALF );\nconst float MAX_DISTANCE_FROM_CELL_CENTER = CELL_SIZE;\n\nvec3\ngetWindVectorForCell( vec3 cell, vec3 p )\n{\n uint random_state = init_random( uint( int( cell.x ) ), uint( int( cell.y ) ), uint( int( cell.z ) ) );\n float distance_from_cell_center = distance( cell + CELL_HALF, p );\n float distance_factor = 1.0 - distance_from_cell_center / MAX_DISTANCE_FROM_CELL_CENTER;\n distance_factor = clamp( distance_factor, 0.0, 1.0 );\n vec3 emit_dir = pointOnSphere( random_state, 720.0 );\n float random_factor = rand( random_state );\n return emit_dir * distance_factor * random_factor;\n}\n\nvec3\ngetSmokeInitialVelocity( vec3 p )\n{\n vec3 cell1 = floor( ( p - CELL_HALF ) / CELL_SIZE ) * CELL_SIZE;\n vec3 result = vec3( 0 );\n float C = CELL_SIZE;\n result += getWindVectorForCell( cell1 + vec3( 0, 0, 0 ), p );\n result += getWindVectorForCell( cell1 + vec3( 0, 0, C ), p );\n result += getWindVectorForCell( cell1 + vec3( 0, C, 0 ), p );\n result += getWindVectorForCell( cell1 + vec3( 0, C, C ), p );\n result += getWindVectorForCell( cell1 + vec3( C, 0, 0 ), p );\n result += getWindVectorForCell( cell1 + vec3( C, 0, C ), p );\n result += getWindVectorForCell( cell1 + vec3( C, C, 0 ), p );\n result += getWindVectorForCell( cell1 + vec3( C, C, C ), p );\n return result;\n}\n\n\nint\ngetParticleInfoIndex( int info_id )\n{\n return info_id % C_MaxParticleInfos;\n}\n\n\nfloat\nsampleCurve( int curve, float x )\n{\n CurveInfo ci = getCurveInfoFromTexture( curve );\n if( x < ci.aMinX ) return ci.aMinY;\n if( x > ci.aMaxX ) return ci.aMinY;\n float x_num = x - ci.aMinX;\n float x_den = ci.aMaxX - ci.aMinX;\n float tx = (x_den <= 1e-6) ? x_num : x_num / x_den;\n int x0 = clamp( int( tx * float( C_CurveTextureWidth ) ), 0, C_CurveTextureWidth - 1 );\n int x1 = clamp( int( tx * float( C_CurveTextureWidth ) + 1.0 ), 0, C_CurveTextureWidth - 1 );\n float i0 = texelFetch( uCurveTexture, ivec2( x0, curve ), 0 ).r;\n float i1 = texelFetch( uCurveTexture, ivec2( x1, curve ), 0 ).r;\n float mixfactor = mod( tx, 1.0 / float( C_CurveTextureWidth ) ) * float( C_CurveTextureWidth );\n\n float y_num = mix( i0, i1, mixfactor );\n float y_scale = ci.aMaxY - ci.aMinY;\n return ci.aMinY + y_scale * y_num;\n}\n\n\nvec4\nsampleCurve4( int curve, float x )\n{\n int x0 = clamp( int( x * float( C_CurveTextureWidth ) ), 0, C_CurveTextureWidth - 1 );\n int x1 = clamp( int( x * float( C_CurveTextureWidth ) + 1.0 ), 0, C_CurveTextureWidth - 1 );\n vec4 i0 = texelFetch( uCurve4Texture, ivec3( x0, curve % C_CurveTextureWidth, curve / C_CurveTextureWidth ), 0 );\n vec4 i1 = texelFetch( uCurve4Texture, ivec3( x1, curve % C_CurveTextureWidth, curve / C_CurveTextureWidth ), 0 );\n float mixfactor = mod( x, 1.0 / float( C_CurveTextureWidth ) ) * float( C_CurveTextureWidth );\n return mix( i0, i1, mixfactor );\n}\n\n\nconst float EmitStrobeThreshold = 0.010;\n\nfloat\nsampleCurve_emitcurve( int curve, float x )\n{\n int x0 = clamp( int( x * float( C_CurveTextureWidth ) ), 0, C_CurveTextureWidth - 1 );\n int x1 = clamp( int( x * float( C_CurveTextureWidth ) + 1.0 ), 0, C_CurveTextureWidth - 1 );\n float i0 = texelFetch( uCurveTexture, ivec2( x0, curve ), 0 ).r;\n float i1 = texelFetch( uCurveTexture, ivec2( x1, curve ), 0 ).r;\n float mixfactor = mod( x, 1.0 / float( C_CurveTextureWidth ) ) * float( C_CurveTextureWidth );\n if( abs( i1 - i0 ) < EmitStrobeThreshold ) {\n return mix( i0, i1, mixfactor );\n } else {\n return mixfactor > 0.5 ? i1 : i0;\n }\n}\n\nvec4\nproject( vec4 v )\n{\n return v / v.w;\n}\n\nstruct PosAndScreenWidth\n{\n vec4 pos;\n float screenWidth;\n};\n\nfloat\ndeg2rad( float x )\n{\n return x * M_PI / 180.0;\n}\n\nvec3\ngetBlackbodyColor_approx( float Temp )\n{\n float u = ( 0.860117757f + 1.54118254e-4f * Temp + 1.28641212e-7f * Temp * Temp ) / ( 1.0f + 8.42420235e-4f * Temp + 7.08145163e-7f * Temp * Temp );\n float v = ( 0.317398726f + 4.22806245e-5f * Temp + 4.20481691e-8f * Temp * Temp ) / ( 1.0f - 2.89741816e-5f * Temp + 1.61456053e-7f * Temp * Temp );\n\n float x = 3.0 * u / ( 2.0 * u - 8.0 * v + 4.0 );\n float y = 2.0 * v / ( 2.0 * u - 8.0 * v + 4.0 );\n float z = 1.0 - x - y;\n\n float Y = 1.0;\n float X = Y / y * x;\n float Z = Y / y * z;\n\n mat3 XYZtoRGB = transpose( mat3( 3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252 ) );\n\n return ( XYZtoRGB * vec3( X, Y, Z ) ) * pow( 0.0004 * Temp, 4.0 );\n}\n\n\nvec3\ngetBlackbodyColor( float temp )\n{\n float xcoord = ( temp - float( C_BlackbodyTextureTempMin ) ) / ( float( C_BlackbodyTextureTempMax ) - float( C_BlackbodyTextureTempMin ) );\n return texture( uBlackbodyTexture, vec2( xcoord, 0.5 ) ).rgb;\n}\n\n\nPosAndScreenWidth\ncalculateScreenPositionAndWidth( float particleRadius, vec3 particlePos, mat4 pMatrix, mat4 mvMatrix )\n{\n // mat4 invertMv = inverse(mvMatrix);\n // vec3 cameraRight = project(invertMv * vec4(1.0,0.0,0.0,1.0)).xyz;\n // vec3 cameraUp = project(invertMv * vec4(0.0,1.0,0.0,1.0)).xyz;\n\n vec3 cameraUp = vec3( mvMatrix[ 0 ][ 1 ], mvMatrix[ 1 ][ 1 ], mvMatrix[ 2 ][ 1 ] );\n // cameraUp = normalize(cameraUp);\n\n vec3 dy = cameraUp * 2.0 * particleRadius;\n\n mat4 pmvMatrix = pMatrix * mvMatrix;\n vec4 screenP0 = project( pmvMatrix * vec4( particlePos, 1.0 ) );\n vec4 screenDy = project( pmvMatrix * vec4( particlePos + dy, 1.0 ) );\n\n float screenWidth = length( screenDy - screenP0 );\n\n return PosAndScreenWidth( screenP0, screenWidth );\n}\n\nvec3\ngetCameraPosFromViewMat( const mat4 viewMat )\n{\n mat4 m = inverse( viewMat );\n return m[ 3 ].xyz;\n}\n\nfloat\nlinearToSrgb( float v )\n{\n if( v <= 0.0031308 ) return v * 12.92;\n return 1.055 * pow( v, 1.0 / 2.4 ) - 0.055;\n}\n\nvec4\nlinearToSrgb( vec4 c )\n{\n return vec4( linearToSrgb( c.r ), linearToSrgb( c.g ), linearToSrgb( c.b ), c.a );\n}\n\nfloat\nsrgbToLinear( float v )\n{\n if( v <= 0.04045 ) return v / 12.92;\n return pow( ( v + 0.055 ) / 1.055, 2.4 );\n}\n\nvec3\nsrgbToLinear( vec3 c )\n{\n return vec3( srgbToLinear( c.r ), srgbToLinear( c.g ), srgbToLinear( c.b ) );\n}\n\nvec4\nsrgbToLinear( vec4 c )\n{\n return vec4( srgbToLinear( c.r ), srgbToLinear( c.g ), srgbToLinear( c.b ), c.a );\n}\n\nfloat\nsampleTan( float x0, float x1, float v )\n{\n float f0 = tan( x0 );\n float f1 = tan( x1 );\n float fv = tan( x0 + v * ( x1 - x0 ) );\n float normalized = ( fv - f0 ) / ( f1 - f0 );\n return normalized;\n}\n\nPhysicsParams\ngetPhysicsParamsFromUniforms()\n{\n PhysicsParams pp;\n pp.wind_velocity = uWindVelocity;\n return pp;\n}\n\nvoid\napply_ballistic_motion( vec3 windVelocity, inout ParticleState ps, float dt )\n{\n vec3 a = ps.gravity;\n vec3 n = windVelocity;\n\n vec3 p = ps.pos;\n vec3 v = ps.vel;\n float k = clamp( ps.wind_friction, 0.0, C_MaxK ) * 100.0;\n if( k < C_BallisticKThreshold ) {\n ps.pos = 0.5 * a * dt * dt + v * dt + p;\n ps.vel = a * dt + v;\n } else {\n float e_kt = exp( k * dt );\n float e_nkt = exp( -k * dt );\n ps.pos = ( e_nkt / ( k * k ) ) * ( a + k * ( n - v ) + e_kt * ( a * ( -1.0 + k * dt ) + k * ( k * p + n * ( -1.0 + k * dt ) + v ) ) );\n ps.vel = ( a + k * n - e_nkt * ( a + k * ( n - v ) ) ) / k;\n }\n}\n\n// ---- 8< ---- GLSL Number Printing - @P_Malin ---- 8< ----\n// Creative Commons CC0 1.0 Universal (CC-0)\n// https://www.shadertoy.com/view/4sBSWW\n\nfloat\nDigitBin( const int x )\n{\n return x == 0 ? 480599.0 : x == 1 ? 139810.0 : x == 2 ? 476951.0 : x == 3 ? 476999.0 : x == 4 ? 350020.0 : x == 5 ? 464711.0 : x == 6 ? 464727.0 : x == 7 ? 476228.0 : x == 8 ? 481111.0 : x == 9 ? 481095.0 : 0.0;\n}\n\nfloat\nPrintValue( vec2 vStringCoords, float fValue, float fMaxDigits, float fDecimalPlaces )\n{\n if( ( vStringCoords.y < 0.0 ) || ( vStringCoords.y >= 1.0 ) ) return 0.0;\n\n bool bNeg = ( fValue < 0.0 );\n fValue = abs( fValue );\n\n float fLog10Value = log2( abs( fValue ) ) / log2( 10.0 );\n float fBiggestIndex = max( floor( fLog10Value ), 0.0 );\n float fDigitIndex = fMaxDigits - floor( vStringCoords.x );\n float fCharBin = 0.0;\n float fDebug = 0.0;\n if( fDigitIndex > ( -fDecimalPlaces - 1.01 ) ) {\n if( fDigitIndex > fBiggestIndex ) {\n if( ( bNeg ) && ( fDigitIndex < ( fBiggestIndex + 1.5 ) ) ) fCharBin = 1792.0;\n } else {\n if( fDigitIndex == -1.0 ) {\n if( fDecimalPlaces > 0.0 ) fCharBin = 2.0;\n } else {\n float fReducedRangeValue = fValue;\n if( fDigitIndex < 0.0 ) {\n fReducedRangeValue = fract( fValue );\n fDigitIndex += 1.0;\n }\n float fDigitValue = ( abs( fReducedRangeValue / ( pow( 10.0, fDigitIndex ) ) ) );\n fCharBin = DigitBin( int( floor( mod( 0.0001 + fDigitValue, 10.0 ) ) ) );\n }\n }\n }\n return fDebug + floor( mod( ( fCharBin / pow( 2.0, floor( fract( vStringCoords.x ) * 4.0 ) + ( floor( vStringCoords.y * 5.0 ) * 4.0 ) ) ), 2.0 ) );\n}\n\n// ---- 8< -------- 8< -------- 8< -------- 8< ----\n",Xa="\n#version 300 es\nprecision highp float;\nprecision highp sampler2D;\nprecision highp sampler3D;\nprecision highp sampler2DArray;\n\n#define FIN_UseUniformsForBatchData\n\n".trimLeft(),Za="\n#version 300 es\nprecision highp float;\nprecision highp sampler2D;\nprecision highp sampler3D;\nprecision highp sampler2DArray;\n\n#define FIN_UseUniformsForBatchData\n\n".trimLeft(),$a="\nout vec4 fragColor;\nin vec4 vPosition;\n\nuniform vec2 uFramebufferSize;\nuniform sampler2D uInputTexture;\n\nvoid main() {\n vec2 tc = gl_FragCoord.xy / uFramebufferSize;\n vec4 inputColor = texture( uInputTexture, tc );\n fragColor = vec4(inputColor.rgb,1);\n}\n",ei="\nin vec3 aVertexPosition;\n\nout vec4 vPosition;\n\nvoid main(void) {\n if( gl_VertexID == 0 ) {\n gl_Position = vPosition = vec4(-1, 1,0,1);\n }\n else if( gl_VertexID == 1 ) {\n gl_Position = vPosition = vec4(-1,-1,0,1);\n }\n else if( gl_VertexID == 2 ) {\n gl_Position = vPosition = vec4( 1, 1,0,1);\n }\n else if( gl_VertexID == 3 ) {\n gl_Position = vPosition = vec4( 1,-1,0,1);\n }\n}\n",ni="\nin vec3 vWorldSpace;\nin vec4 vColor;\n\nout vec4 outColor;\n\nvoid main(void) {\n outColor = vColor;\n}\n",ti="\nin vec3 aPos;\nin vec4 aColor;\n\nuniform mat4 ProjMat;\nuniform mat4 ViewMat;\nuniform mat4 ModelMat;\nuniform mat4 ColorMat;\n\nout vec4 vColor;\nout vec3 vWorldSpace;\n\nvoid main(void) {\n mat4 ModelViewMat = ViewMat * ModelMat;\n\n vWorldSpace = project(ModelMat * vec4(aPos, 1)).xyz;\n gl_Position = ProjMat * ModelViewMat * vec4(aPos, 1);\n vColor = ColorMat * aColor;\n}\n",ai="\nuniform mat4 ViewMat;\nuniform mat4 ProjMat;\nuniform vec2 uFramebufferSize;\nuniform float uCameraFovY;\nuniform float uEffectScaleIntensity;\nuniform float uVertexIdScalar;\n\nuniform bool uIsSpritePass;\nuniform bool uIsAuraPass;\n\nuniform float R_sparkSpriteWidthScale;\nuniform float R_spark_intensity;\nuniform float R_spark_pointsize;\nuniform float R_spark_aura_intensity;\nuniform float R_spark_aura_pointsize;\nuniform float R_spark_aura_exponent;\nuniform float R_sparkPhase0Lifetime;\nuniform float R_sparkPhase0WidthMultiplier;\n\n#ifdef FIN_UseUniformsForBatchData\nuniform int uInfoId;\nuniform int uFirstParticleStateId;\n#endif\n\nout vec4 vDebugShade;\nout vec3 vColor0;\nout vec3 vColor1;\nout float vScale0;\nout float vScale1;\nout float vExponent0;\nout float vExponent1;\n\n\nvoid\nmain()\n{\n vDebugShade = vec4( 0 );\n vScale0 = vScale1 = 0.0;\n\n int vertex_id = int( float(gl_VertexID) * uVertexIdScalar );\n#ifdef FIN_UseUniformsForBatchData\n#else\n StarBatchData bd;\n getStarBatchDataFromVertexId( vertex_id, bd );\n int uFirstParticleStateId = bd.first_particle_state_id;\n int uInfoId = bd.info_id;\n#endif\n\n ParticleState ps = getParticleStateFromTexture( uFirstParticleStateId + vertex_id );\n if(uTimeInstant < ps.t0 || uTimeInstant >= (ps.t0 + ps.duration) ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n SparkInfo si = getSparkInfoFromTexture( getParticleInfoIndex( uInfoId ) );\n\n float life_time = uTimeInstant - ps.t0;\n float life_factor = ps.duration == 0.0 ? 1.0 : life_time / ps.duration;\n\n\n ///////////////////////////////////////////////////////////////////\n // this code blob is duplicated, keep it up-to-date in:\n // shader_spark_star_v1.vert\n // shader_spark_star_v2.vert\n // shader_smoke_star.vert\n // shader_light_beam_star.vert\n // physics_post.vert (not quite the same as the others)\n float posCurveLifeFactor = life_factor;\n bool didOri = false;\n vec4 ori = vec4(0,0,0,1);\n if( ps.ori0 != vec4(0) ) {\n ori = quatSlerp( ps.ori0, ps.ori1, life_factor );\n didOri = true;\n }\n if( ps.ori_curve4_id != 0 ) {\n vec4 relativeOri = sampleCurve4( ps.ori_curve4_id, posCurveLifeFactor );\n ori = quatApply( ori, relativeOri );\n didOri = true;\n }\n if( didOri ) {\n mat3 m = quatToMat3( ori );\n float speed = length( ps.vel );\n ps.vel = m * vec3( 0, speed, 0 );\n }\n if( ps.pos_curve4_id != 0 ) {\n ps.pos = sampleCurve4( ps.pos_curve4_id, posCurveLifeFactor ).rgb;\n }\n if( ps.vel_curve4_id != 0 ) {\n ps.vel = sampleCurve4( ps.vel_curve4_id, posCurveLifeFactor ).rgb;\n }\n if( ps.motion_flags == 0.0 ) {\n apply_ballistic_motion( uWindVelocity, ps, uTimeInstant - ps.t0 );\n }\n ///////////////////////////////////////////////////////////////////\n\n\n float intensity = 1.0;\n float radius = 0.5 * max( 0.0, sampleGaussian( ps.random_state, si.aDiameterGaussian ) );\n\n float dist = length( project( ViewMat * vec4( ps.pos, 1 ) ).xyz );\n float fov_factor = tan( deg2rad( 60.0 ) ) / tan( deg2rad( uCameraFovY ) );\n\n intensity *= si.aIntensity1;\n intensity *= radius * radius;\n intensity *= 1e2;\n intensity *= pow( fov_factor, 0.5 );\n intensity /= dist * dist;\n\n if( intensity <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n vec3 color;\n if( ps.rgb_curve4_id != 0 ) {\n color = sampleCurve4( ps.rgb_curve4_id, life_factor ).rgb * 7e9;\n } else {\n color = mix( si.aColor0, si.aColor1, life_factor ) * 7e9;\n }\n float temp_factor = sampleTan( -1.4, 1.2, life_factor );\n float temp = mix( si.aTemperature0, si.aTemperature1, temp_factor );\n color += getBlackbodyColor( temp ).rgb * 3e-5;\n\n if( 0.0 != si.aIntensityCurveLoopDuration ) {\n float time_in_loop = mod( uTimeInstant - ps.t0, si.aIntensityCurveLoopDuration );\n float t = time_in_loop / si.aIntensityCurveLoopDuration + rand( ps.random_state );\n intensity *= sampleCurve( si.aIntensityCurve, mod( t, 1.0 ) );\n if( life_factor > 0.8 ) { intensity *= ( 1.0 - life_factor ) * 5.0; }\n } else {\n intensity *= sampleCurve( si.aIntensityCurve, life_factor );\n }\n\n intensity *= uEffectScaleIntensity;\n\n if( intensity <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n float maxcomp = max( color.r, max( color.g, color.b ) );\n\n // normalize color to 1.0 and intensity to match, for the the shrinkwrapping operation.\n // output colors get multiplied by intensity later to reverse this.\n color /= maxcomp;\n intensity *= maxcomp;\n\n gl_Position = ProjMat * ViewMat * vec4( ps.pos, 1 );\n\n float Intensity0 = 0.0;\n float Intensity1 = 0.0;\n\n float PointSize0 = 0.0;\n float PointSize1 = 0.0;\n\n float Exponent0 = 1.0;\n float Exponent1 = 1.0;\n\n if( uIsSpritePass ) {\n Intensity0 = R_spark_intensity * intensity;\n PointSize0 = R_spark_pointsize;\n }\n if( uIsAuraPass ) {\n Intensity1 = R_spark_aura_intensity;\n PointSize1 = R_spark_aura_pointsize * pow( intensity, 0.25 );\n Exponent1 = R_spark_aura_exponent;\n }\n\n float RadiusFactor0 = getSparkTextureRadiusFactor( Intensity0 );\n float RadiusFactor1 = log( 1.4 + Intensity1 );\n\n if( life_time < R_sparkPhase0Lifetime ) {\n RadiusFactor0 *= R_sparkPhase0WidthMultiplier;\n RadiusFactor1 *= R_sparkPhase0WidthMultiplier;\n }\n\n float ContractedSize0 = ceil( PointSize0 * RadiusFactor0 );\n float ContractedSize1 = ceil( PointSize1 * RadiusFactor1 );\n\n gl_PointSize = max( ContractedSize0, ContractedSize1 );\n if( gl_PointSize <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n vScale0 = PointSize0 / gl_PointSize;\n vScale1 = PointSize1 / gl_PointSize;\n\n vColor0 = color * Intensity0;\n vColor1 = color * Intensity1;\n\n vExponent0 = Exponent0;\n vExponent1 = Exponent1;\n\n gl_PointSize *= R_sparkSpriteWidthScale * ( uFramebufferSize.y / 765.0 );\n gl_PointSize *= fov_factor;\n}\n",ii="\nuniform mat4 ViewMat;\nuniform mat4 ProjMat;\nuniform vec2 uFramebufferSize;\nuniform float uCameraFovY;\nuniform float uEffectScaleIntensity;\nuniform float uVertexIdScalar;\n\nuniform bool uIsSpritePass;\nuniform bool uIsAuraPass;\n\nuniform float R_sparkSpriteWidthScale;\nuniform float R_spark_intensity;\nuniform float R_spark_pointsize;\nuniform float R_spark_aura_intensity;\nuniform float R_spark_aura_pointsize;\nuniform float R_spark_aura_exponent;\nuniform float R_sparkPhase0Lifetime;\nuniform float R_sparkPhase0WidthMultiplier;\n\n#ifdef FIN_UseUniformsForBatchData\nuniform int uTrailRandomGroupId;\nuniform int uFirstParticleStateId;\nuniform int uNumEmittedPerStar;\nuniform int uEmitterInfoId;\nuniform int uEmittedInfoId;\n#endif\n\nout vec4 vDebugShade;\nout vec3 vColor0;\nout vec3 vColor1;\nout float vScale0;\nout float vScale1;\nout float vExponent0;\nout float vExponent1;\n\n\nvoid main() {\n vDebugShade = vec4( 0 );\n vScale0 = vScale1 = 0.0;\n\n int vertex_id = int( float(gl_VertexID) * uVertexIdScalar );\n#ifdef FIN_UseUniformsForBatchData\n#else\n TrailBatchData bd;\n getTrailBatchDataFromVertexId( vertex_id, bd );\n int uFirstParticleStateId = bd.first_particle_state_id;\n int uNumEmittedPerStar = bd.num_emitted_per_star;\n int uEmitterInfoId = bd.emitter_info_id;\n int uEmittedInfoId = bd.emitted_info_id;\n int uTrailRandomGroupId = bd.trail_random_group_id;\n#endif\n\n int ps_id = uFirstParticleStateId + vertex_id/uNumEmittedPerStar;\n ParticleState ps;\n\n EmitterInfo ei = getEmitterInfoFromTexture( getParticleInfoIndex( uEmitterInfoId ) );\n if( !do_emitter_logic( ps, ei, uWindVelocity, 1.0, vertex_id, ps_id, uTrailRandomGroupId, uTimeInstant ) ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n SparkInfo si = getSparkInfoFromTexture( getParticleInfoIndex( uEmittedInfoId ) );\n\n float life_time = uTimeInstant - ps.t0;\n float life_factor = ps.duration == 0.0 ? 1.0 : life_time / ps.duration;\n\n\n\n\n\n\n\n\n\n float intensity = 1.0;\n float radius = 0.5 * max( 0.0, sampleGaussian( ps.random_state, si.aDiameterGaussian ) );\n\n float dist = length( project( ViewMat * vec4( ps.pos, 1 ) ).xyz );\n float fov_factor = tan( deg2rad( 60.0 ) ) / tan( deg2rad( uCameraFovY ) );\n\n intensity *= si.aIntensity1;\n intensity *= radius * radius;\n intensity *= 1e2;\n intensity *= pow( fov_factor, 0.5 );\n intensity /= dist * dist;\n\n if( intensity <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n vec3 color;\n color = mix( si.aColor0, si.aColor1, life_factor ) * 7e9;\n float temp_factor = sampleTan( -1.4, 1.2, life_factor );\n float temp = mix( si.aTemperature0, si.aTemperature1, temp_factor );\n color += getBlackbodyColor( temp ).rgb * 3e-5;\n\n if( 0.0 != si.aIntensityCurveLoopDuration ) {\n float time_in_loop = mod( uTimeInstant - ps.t0, si.aIntensityCurveLoopDuration );\n float t = time_in_loop / si.aIntensityCurveLoopDuration + rand( ps.random_state );\n intensity *= sampleCurve( si.aIntensityCurve, mod( t, 1.0 ) );\n if( life_factor > 0.8 ) { intensity *= ( 1.0 - life_factor ) * 5.0; }\n } else {\n intensity *= sampleCurve( si.aIntensityCurve, life_factor );\n }\n\n intensity *= uEffectScaleIntensity;\n\n if( intensity <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n float maxcomp = max( color.r, max( color.g, color.b ) );\n\n // normalize color to 1.0 and intensity to match, for the the shrinkwrapping operation.\n // output colors get multiplied by intensity later to reverse this.\n color /= maxcomp;\n intensity *= maxcomp;\n\n gl_Position = ProjMat * ViewMat * vec4( ps.pos, 1 );\n\n float Intensity0 = 0.0;\n float Intensity1 = 0.0;\n\n float PointSize0 = 0.0;\n float PointSize1 = 0.0;\n\n float Exponent0 = 1.0;\n float Exponent1 = 1.0;\n\n if( uIsSpritePass ) {\n Intensity0 = R_spark_intensity * intensity;\n PointSize0 = R_spark_pointsize;\n }\n if( uIsAuraPass ) {\n Intensity1 = R_spark_aura_intensity;\n PointSize1 = R_spark_aura_pointsize * pow( intensity, 0.25 );\n Exponent1 = R_spark_aura_exponent;\n }\n\n float RadiusFactor0 = getSparkTextureRadiusFactor( Intensity0 );\n float RadiusFactor1 = log( 1.4 + Intensity1 );\n\n if( life_time < R_sparkPhase0Lifetime ) {\n RadiusFactor0 *= R_sparkPhase0WidthMultiplier;\n RadiusFactor1 *= R_sparkPhase0WidthMultiplier;\n }\n\n float ContractedSize0 = ceil( PointSize0 * RadiusFactor0 );\n float ContractedSize1 = ceil( PointSize1 * RadiusFactor1 );\n\n gl_PointSize = max( ContractedSize0, ContractedSize1 );\n if( gl_PointSize <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n vScale0 = PointSize0 / gl_PointSize;\n vScale1 = PointSize1 / gl_PointSize;\n\n vColor0 = color * Intensity0 * uVertexIdScalar;\n vColor1 = color * Intensity1 * uVertexIdScalar;\n\n vExponent0 = Exponent0;\n vExponent1 = Exponent1;\n\n gl_PointSize *= R_sparkSpriteWidthScale * ( uFramebufferSize.y / 765.0 );\n gl_PointSize *= fov_factor;\n\n #if 0\n gl_PointSize = 256.0;\n if( ei.aEmitCurve == 2 ) {\n vDebugShade.g = 0.25;\n } else {\n vDebugShade.r = 0.25;\n }\n #endif\n}\n",ri="\nuniform vec2 uFramebufferSize;\n\nin vec4 vDebugShade;\nin vec3 vColor0;\nin vec3 vColor1;\nin float vScale0;\nin float vScale1;\nin float vExponent0;\nin float vExponent1;\n\nout vec4 outColor;\n\nfloat gaussian( float x ) {\n float left = 1.0 / sqrt(2.0 * M_PI);\n float power = -(x*x) / 2.0;\n return left * exp( power );\n}\n\nvoid main(void) {\n vec4 result = vec4(0);\n\n const vec2 HALF = vec2(0.5);\n\n if(vScale0 != 0.0) {\n vec2 tc = (gl_PointCoord - HALF) / vScale0 + HALF;\n result.xyz += vColor0 * pow( texture(uSparkTexture, tc).r, vExponent0 );\n }\n\n if(vScale1 != 0.0) {\n vec2 tc = (gl_PointCoord - HALF) / vScale1 + HALF;\n float d = distance( tc, HALF );\n float c = sqrt(2.0 * M_PI) * gaussian( d*12.0 );\n result.xyz += vColor1 * pow( c, vExponent1 );\n }\n\n#if 0\n if( vDebugShade != vec4(0) ) {\n vec2 pixelCoords = gl_PointCoord * 2.0;\n if( pixelCoords.x < 1.0 && pixelCoords.y < 1.0 ) {\n vec4 printColor = vec4(0);\n float BORDER = 1.0/32.0;\n if( (fract( pixelCoords.x ) < BORDER) || ( pixelCoords.x > (1.0-BORDER)) ) {\n printColor.xyz = vec3(1);\n } else if( (fract( pixelCoords.y ) < BORDER) || ( pixelCoords.y > (1.0-BORDER)) ) {\n printColor.xyz = vec3(1);\n } else {\n vec4 displayValue = vDebugShade;\n vec2 cellCoords = pixelCoords;\n cellCoords.y = 1.0 - cellCoords.y;\n if( true ) {\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(15,4.6)+vec2( 2,-3.4), displayValue.x, 11, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(15,4.6)+vec2( 2,-2.3), displayValue.y, 11, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(15,4.6)+vec2( 2,-1.2), displayValue.z, 11, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(15,4.6)+vec2( 2,-0.1), displayValue.w, 11, 3 ));\n }\n if( isinf(displayValue.x) || isinf(displayValue.y) || isinf(displayValue.z) || isinf(displayValue.w) ) {\n printColor.r += 1.0;\n }\n if( isnan(displayValue.x) || isnan(displayValue.y) || isnan(displayValue.z) || isnan(displayValue.w) ) {\n printColor.b += 1.0;\n }\n }\n result += printColor;\n }\n }\n#else\n result += vDebugShade;\n#endif\n#if 0\n vec3 printColor = vec3(0);\n float PIXELS = 8.0;\n float BORDER = 1.0/32.0;\n vec2 pixelCoords = gl_PointCoord * PIXELS;\n if( (fract( pixelCoords.x ) < BORDER) || ( pixelCoords.x > (PIXELS-BORDER)) ) {\n printColor.xyz = vec3(1);\n } else if( (fract( pixelCoords.y ) < BORDER) || ( pixelCoords.y > (PIXELS-BORDER)) ) {\n printColor.xyz = vec3(1);\n } else {\n ivec2 ipc = ivec2(pixelCoords);\n ivec2 ts = textureSize(uParticleStatesTexture, 0);\n if( ipc.x < ts.x && ipc.y < ts.y ) {\n vec4 texel = texelFetch( uParticleStatesTexture, ipc, 0 );\n // result.xyz += texel.xyz;\n vec2 cellCoords = fract( pixelCoords ) * 1.0;\n cellCoords.y = 1.0 - cellCoords.y;\n if( ipc.x == 5 || ipc.x == 6 ) {\n float fValue = float( floatBitsToUint( texel.x ) );\n float fLog10Value = log2(abs(fValue)) / log2(10.0);\n float fBiggestIndex = max(floor(fLog10Value), 0.0);\n\n printColor.xyz = mix( printColor.xyz, vec3(1,1,0), PrintValue( cellCoords.xy * vec2(11,4.6)+vec2(-1,-3.4), float( floatBitsToUint( texel.x ) ), 9, 0 ));\n printColor.xyz = mix( printColor.xyz, vec3(1,1,0), PrintValue( cellCoords.xy * vec2(11,4.6)+vec2(-1,-2.3), float( floatBitsToUint( texel.y ) ), 9, 0 ));\n printColor.xyz = mix( printColor.xyz, vec3(1,1,0), PrintValue( cellCoords.xy * vec2(11,4.6)+vec2(-1,-1.2), float( floatBitsToUint( texel.z ) ), 9, 0 ));\n printColor.xyz = mix( printColor.xyz, vec3(1,1,0), PrintValue( cellCoords.xy * vec2(11,4.6)+vec2(-1,-0.1), float( floatBitsToUint( texel.w ) ), 9, 0 ));\n } else {\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(10,4.6)+vec2(-3.9,-3.4), texel.x, 1, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(10,4.6)+vec2(-3.9,-2.3), texel.y, 1, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(10,4.6)+vec2(-3.9,-1.2), texel.z, 1, 3 ));\n printColor.xyz = mix( printColor.xyz, vec3(0,1,0), PrintValue( cellCoords.xy * vec2(10,4.6)+vec2(-3.9,-0.1), texel.w, 1, 3 ));\n }\n if( isinf(texel.x) || isinf(texel.y) || isinf(texel.z) || isinf(texel.w) ) {\n printColor.r += 1.0;\n }\n if( isnan(texel.x) || isnan(texel.y) || isnan(texel.z) || isnan(texel.w) ) {\n printColor.b += 1.0;\n }\n }\n }\n result += printColor;\n#endif\n\n#if 0\n vec2 tc = vec2(gl_PointCoord.x, 1.0-gl_PointCoord.y);\n float y = sampleCurve( 2, tc.x );\n if( abs(y-tc.y) < 1.0/256.0 ) {\n result = vec4(1);\n } else {\n result = vec4(0);\n }\n result += vDebugShade;\n // result.rg += tc;\n#endif\n\n#if 0\n vec2 tc = vec2(gl_PointCoord.x*10.0, 1.0-gl_PointCoord.y);\n ivec2 ts = textureSize(uCurveInfosTexture,0);\n result.rg = vec2(ts);\n result.ba = texelFetch(uCurveInfosTexture, ivec2(0,0), 0).ba;\n CurveInfo ci = getCurveInfoFromTexture(1);\n result.b = ci.aMaxX;\n result.a = ci.aMaxY;\n#endif\n outColor = result;\n}\n",oi="\nuniform sampler2D uTexture;\nuniform bool uHorizontal;\nuniform float uPreAdd;\nuniform float uPostScale;\nuniform int uMipLevel;\n\nuniform float uBlurWeights[ 256 ];\nuniform int uNumBlurWeights;\n\nout vec4 outColor;\n\nvec4 fetch( ivec2 coord ) {\n return max( vec4(0), texelFetch( uTexture, coord, uMipLevel ) + vec4(uPreAdd) );\n}\n\nvoid main( void ) {\n ivec2 pixel = uHorizontal ? ivec2( 1, 0 ) : ivec2( 0, 1 );\n ivec2 center = ivec2( gl_FragCoord.xy );\n\n outColor = fetch( center ) * uBlurWeights[ 0 ];\n for( int i = 1; i < uNumBlurWeights; i++ ) {\n outColor += fetch( center + i * pixel ) * uBlurWeights[ i ];\n outColor += fetch( center - i * pixel ) * uBlurWeights[ i ];\n }\n\n outColor *= uPostScale;\n}\n",si="\nuniform vec2 uFramebufferSize;\nuniform sampler2D uTextures[8];\nuniform float uTextureWeights[8];\nuniform int uNumTextures;\n\nout vec4 outColor;\n\nvoid main(void) {\n vec2 tc = gl_FragCoord.xy / uFramebufferSize;\n#if 1\n outColor = vec4(0);\n if(uNumTextures > 0) outColor += uTextureWeights[0] * texture(uTextures[0], tc);\n if(uNumTextures > 1) outColor += uTextureWeights[1] * texture(uTextures[1], tc);\n if(uNumTextures > 2) outColor += uTextureWeights[2] * texture(uTextures[2], tc);\n if(uNumTextures > 3) outColor += uTextureWeights[3] * texture(uTextures[3], tc);\n if(uNumTextures > 4) outColor += uTextureWeights[4] * texture(uTextures[4], tc);\n if(uNumTextures > 5) outColor += uTextureWeights[5] * texture(uTextures[5], tc);\n if(uNumTextures > 6) outColor += uTextureWeights[6] * texture(uTextures[6], tc);\n if(uNumTextures > 7) outColor += uTextureWeights[7] * texture(uTextures[7], tc);\n#else\n outColor = vec4(gl_FragCoord.xy / uFramebufferSize, 0, 0);\n#endif\n}\n\n",li="\n#define IN(typename) in typename\n#define OUT(typename) out typename\n#define INOUT(typename) inout typename\n\n\n#define EPSILON 1.0e-6\n\nvec3 fastQuatVecMultiply( vec4 q, vec3 v ) {\n vec3 t = 2.0 * cross(vec3(q), v );\n return v + q.w * t + cross(vec3(q), t );\n}\n\nvec3 rotateVectorAroundNormalizedVector( vec3 normalizedAxis, vec3 p, float theta ) {\n float ct = cos(theta/2.0 );\n float st = sin(theta/2.0 );\n vec4 q = vec4(st * vec3(normalizedAxis), ct );\n return fastQuatVecMultiply(q, p );\n}\n\nvoid basis_from_vector( IN(vec3) vec, OUT(vec3) dir, OUT(vec3) right ) {\n if(length(vec) <= EPSILON) {\n dir = vec3(0.0,1.0,0.0 );\n right = vec3(1.0,0.0,0.0 );\n } else {\n dir = normalize(vec );\n right = cross(dir, vec3(-1.0,-1.0,-1.0) );\n if(length(right) < EPSILON) {\n right = vec3(1.0,0.0,0.0 );\n } else {\n right = normalize(right );\n }\n }\n}\n\n\nbool\ndo_emitter_logic( out ParticleState ps, EmitterInfo ei, vec3 windVelocity, float gravity_factor, int vertex_id, int ps_id, int trail_random_group_id, float time_instant )\n{\n ps = getParticleStateFromTexture( ps_id );\n ps.random_state = init_random( randUint( ps.random_state ), uint( trail_random_group_id ), uint( vertex_id ) );\n\n float emitter_life_factor = sampleCurve_emitcurve( ei.aEmitCurve, rand( ps.random_state ) );\n\n float time_remaining = time_instant - ps.t0;\n\n bool do_random_emit_time_offset = 0 != (ei.aEmitFlags & C_EmitFlag_RandomizeEmitTimeOffset);\n if( do_random_emit_time_offset ) {\n float emit_time_offset = rand( ps.random_state );\n emitter_life_factor = mod( emitter_life_factor + emit_time_offset, 1.0 );\n } else {\n emitter_life_factor = clamp( emitter_life_factor, 0.0, 1.0 );\n }\n float time_before_emit = emitter_life_factor * ps.duration;\n if( time_remaining < time_before_emit ) { return false; }\n\n\n ///////////////////////////////////////////////////////////////////\n // this code blob is duplicated, keep it up-to-date in:\n // shader_spark_star_v1.vert\n // shader_spark_star_v2.vert\n // shader_smoke_star.vert\n // shader_light_beam_star.vert\n // physics_post.vert (not quite the same as the others)\n float posCurveLifeFactor =emitter_life_factor;\n bool didOri = false;\n vec4 ori = vec4(0,0,0,1);\n if( ps.ori0 != vec4(0) ) {\n ori = quatSlerp( ps.ori0, ps.ori1, emitter_life_factor );\n didOri = true;\n }\n if( ps.ori_curve4_id != 0 ) {\n vec4 relativeOri = sampleCurve4( ps.ori_curve4_id, posCurveLifeFactor );\n ori = quatApply( ori, relativeOri );\n didOri = true;\n }\n if( didOri ) {\n mat3 m = quatToMat3( ori );\n float speed = length( ps.vel );\n ps.vel = m * vec3( 0, speed, 0 );\n }\n if( ps.pos_curve4_id != 0 ) {\n ps.pos = sampleCurve4( ps.pos_curve4_id, posCurveLifeFactor ).rgb;\n ps.vel = sampleCurve4( ps.vel_curve4_id, posCurveLifeFactor ).rgb;\n }\n if( ps.motion_flags == 0.0 ) {\n apply_ballistic_motion( uWindVelocity, ps, time_before_emit );\n }\n ///////////////////////////////////////////////////////////////////\n\n\n vec3 emitter_dir;\n vec3 emitter_right;\n vec3 emitter_up;\n\n basis_from_vector( ps.vel, emitter_dir, emitter_right );\n emitter_up = cross( emitter_dir, emitter_right );\n\n\n ps.random_state = init_random( randUint( ps.random_state ), uint( vertex_id + 31337337 ) );\n\n float taper_emit_vel_factor = mix( 1.0, ei.aEmitVelTaper, emitter_life_factor );\n\n vec3 inherited_vel = ps.vel * sampleGaussian( ps.random_state, ei.aEmitInheritVelocityGaussian );\n vec2 emitPos = pointOnDisc( ps.random_state );\n float emitDiscDiameter = abs( sampleGaussian( ps.random_state, ei.aEmitDiscDiameter, ei.aEmitDiscDiameter * 0.4 ) );\n float emitDiscRadius = emitDiscDiameter / 2.0;\n\n vec3 emitterPosAtBirthTime = ps.pos;\n float wind_cell_scale = mix( 2.0, 5.0, clamp( length( windVelocity ), 0.0, 10.0 ) / 10.0 );\n vec3 smoke_initial_velocity = wind_cell_scale * getSmokeInitialVelocity( emitterPosAtBirthTime );\n if( ps.motion_flags == float(C_MotionFlag_MotionStatic) ) {\n //fountains don't have smoke_initial_velocity because it angles the stream too much\n smoke_initial_velocity = vec3(0);\n }\n\n vec3 emit_vel;\n if( false ) {\n } else if( ei.aEmitStyle == C_EmitStyle_Turbulent ) {\n float theta = time_before_emit * 10.0;\n theta = cos( 7.0 * time_before_emit + 2.0 );\n theta += cos( 17.0 * time_before_emit + 5.0 );\n theta += cos( 29.0 * time_before_emit + 31.0 );\n float n = 3.0;\n theta = ( theta / n ) * M_PI;\n vec3 emit_dir = rotateVectorAroundNormalizedVector( emitter_dir, emitter_right, theta );\n float emit_speed = max( 0.0, sampleGaussian( ps.random_state, ei.aEmitVelGaussian ) );\n emit_vel = emit_speed * emit_dir * taper_emit_vel_factor + inherited_vel + smoke_initial_velocity;\n } else if( ei.aEmitStyle == C_EmitStyle_Uniform ) {\n float theta = rand( ps.random_state ) * M_PI * 2.0;\n vec3 emit_dir = pointOnSphere( ps.random_state, 720.0 );\n float emit_speed = max( 0.0, sampleGaussian( ps.random_state, ei.aEmitVelGaussian ) );\n emit_vel = emit_speed * emit_dir * taper_emit_vel_factor + inherited_vel + smoke_initial_velocity;\n } else if( ei.aEmitStyle == C_EmitStyle_TigerTail ) {\n float theta = time_before_emit * ei.aEmitStyleArg0 * 2.0 * M_PI;\n vec3 sideways = rotateVectorAroundNormalizedVector( emitter_dir, emitter_right, theta );\n vec3 sphere = pointOnSphere( ps.random_state, 720.0 );\n vec3 emit_dir = mix( sideways, sphere, 0.3 );\n float emit_speed = max( 0.0, sampleGaussian( ps.random_state, ei.aEmitVelGaussian ) );\n emit_vel = emit_speed * emit_dir * taper_emit_vel_factor + inherited_vel + smoke_initial_velocity;\n } else if( ei.aEmitStyle == C_EmitStyle_Fountain ) {\n vec3 emit_dir = pointOnSphere( ps.random_state, ei.aEmitStyleArg0 );\n emit_dir = emit_dir.x * emitter_right + emit_dir.y * emitter_dir + emit_dir.z * emitter_up;\n float emit_speed = max( 0.0, sampleGaussian( ps.random_state, ei.aEmitVelGaussian ) );\n emit_vel = emit_speed * emit_dir * taper_emit_vel_factor + inherited_vel + smoke_initial_velocity;\n }\n\n ps.pos = emitterPosAtBirthTime + emitDiscRadius * emitPos.y * emitter_up + emitDiscRadius * emitPos.x * emitter_right;\n ps.wind_friction = sampleGaussian( ps.random_state, ei.aEmitWindFrictionGaussian );\n ps.duration = max( C_MinParticleDuration, sampleGaussian( ps.random_state, ei.aEmitLifetimeGaussian ) );\n ps.motion_flags = 0.0;\n ps.gravity = vec3( 0, -9.8 * gravity_factor, 0 );\n ps.vel = emit_vel;\n ps.t0 += time_before_emit;\n\n if( ( ps.t0 + ps.duration ) < time_instant ) { return false; }\n\n apply_ballistic_motion( windVelocity, ps, time_instant - ps.t0 );\n\n return true;\n}\n\n",Ai="\nuniform mat4 ViewMat;\nuniform mat4 ProjMat;\nuniform vec2 uFramebufferSize;\nuniform float uCameraFovY;\nuniform float uEffectScaleIntensity;\nuniform float uVertexIdScalar;\n\nuniform float R_v2_core_intensity;\nuniform float R_v2_core_screenSpaceDiameterMin;\n\n#ifdef FIN_UseUniformsForBatchData\nuniform int uInfoId;\nuniform int uFirstParticleStateId;\n#endif\n\nout vec4 vDebugShade;\nout vec3 vPositionWorldSpace;\nout vec4 vPositionClipSpace;\nout vec4 vPointColor;\nout float vHotCircleDiameter;\nout float vHotCircleScreenSpaceDiameterMin;\n\nvoid\nmain()\n{\n vDebugShade = vec4(0);\n vPointColor = vec4(0);\n\n int vertex_id = int( float(gl_VertexID) * uVertexIdScalar );\n#ifdef FIN_UseUniformsForBatchData\n#else\n StarBatchData bd;\n getStarBatchDataFromVertexId( vertex_id, bd );\n int uFirstParticleStateId = bd.first_particle_state_id;\n int uInfoId = bd.info_id;\n#endif\n\n ParticleState ps = getParticleStateFromTexture( uFirstParticleStateId + vertex_id );\n if(uTimeInstant < ps.t0 || uTimeInstant >= (ps.t0 + ps.duration) ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n SparkInfo si = getSparkInfoFromTexture( getParticleInfoIndex( uInfoId ) );\n\n float life_time = uTimeInstant - ps.t0;\n float life_factor = ps.duration == 0.0 ? 1.0 : life_time / ps.duration;\n\n\n ///////////////////////////////////////////////////////////////////\n // this code blob is duplicated, keep it up-to-date in:\n // shader_spark_star_v1.vert\n // shader_spark_star_v2.vert\n // shader_smoke_star.vert\n // shader_light_beam_star.vert\n // physics_post.vert (not quite the same as the others)\n float posCurveLifeFactor = life_factor;\n bool didOri = false;\n vec4 ori = vec4(0,0,0,1);\n if( ps.ori0 != vec4(0) ) {\n ori = quatSlerp( ps.ori0, ps.ori1, life_factor );\n didOri = true;\n }\n if( ps.ori_curve4_id != 0 ) {\n vec4 relativeOri = sampleCurve4( ps.ori_curve4_id, posCurveLifeFactor );\n ori = quatApply( ori, relativeOri );\n didOri = true;\n }\n if( didOri ) {\n mat3 m = quatToMat3( ori );\n float speed = length( ps.vel );\n ps.vel = m * vec3( 0, speed, 0 );\n }\n if( ps.pos_curve4_id != 0 ) {\n ps.pos = sampleCurve4( ps.pos_curve4_id, posCurveLifeFactor ).rgb;\n }\n if( ps.vel_curve4_id != 0 ) {\n ps.vel = sampleCurve4( ps.vel_curve4_id, posCurveLifeFactor ).rgb;\n }\n if( ps.motion_flags == 0.0 ) {\n apply_ballistic_motion( uWindVelocity, ps, uTimeInstant - ps.t0 );\n }\n ///////////////////////////////////////////////////////////////////\n\n\n float intensity = 1.0;\n float radius = 0.5 * max( 0.0, sampleGaussian( ps.random_state, si.aDiameterGaussian ) );\n\n float dist = length( project( ViewMat * vec4( ps.pos, 1 ) ).xyz );\n float fov_factor = tan( deg2rad( 60.0 ) ) / tan( deg2rad( uCameraFovY ) );\n\n intensity *= si.aIntensity1;\n // intensity *= radius * radius;\n intensity *= 1e3;\n // intensity *= pow( fov_factor, 0.5 );\n // intensity /= dist * dist;\n\n if( 0.0 != si.aIntensityCurveLoopDuration ) {\n float time_in_loop = mod( uTimeInstant - ps.t0, si.aIntensityCurveLoopDuration );\n float t = time_in_loop / si.aIntensityCurveLoopDuration + rand( ps.random_state );\n intensity *= sampleCurve( si.aIntensityCurve, mod( t, 1.0 ) );\n if( life_factor > 0.8 ) { intensity *= ( 1.0 - life_factor ) * 5.0; }\n } else {\n intensity *= sampleCurve( si.aIntensityCurve, life_factor );\n }\n\n intensity *= uEffectScaleIntensity;\n intensity *= R_v2_core_intensity;\n\n if( intensity <= 0.0 ) {\n gl_Position = vec4( 100.0, 100.0, 100.0, 0.1 );\n gl_PointSize = 0.0;\n return;\n }\n\n vec3 color;\n if( ps.rgb_curve4_id != 0 ) {\n color = sampleCurve4( ps.rgb_curve4_id, life_factor ).rgb;\n } else {\n color = mix( si.aColor0, si.aColor1, life_factor );\n }\n float temp_factor = sampleTan( -1.4, 1.2, life_factor );\n float temp = mix( si.aTemperature0, si.aTemperature1, temp_factor );\n color += getBlackbodyColor( temp ).rgb * 1e-15;\n\n float hot_circle_diameter = 0.001 * max( 0.0, sampleGaussian( ps.random_state, si.aHotCircleDiameterGaussian ) );\n vHotCircleDiameter = hot_circle_diameter;\n\n vPositionWorldSpace = ps.pos;\n vec4 glPos = ProjMat * ViewMat * vec4( ps.pos, 1 );\n vPositionClipSpace = glPos / glPos.w;\n vec3 sideways = hot_circle_diameter * transpose(ViewMat)[0].xyz;\n vec4 posClipSpace2 = ProjMat * ViewMat * vec4( ps.pos + sideways, 1 );\n\n float hotCircleDiameterClipSpace = abs(posClipSpace2.x/posClipSpace2.w - vPositionClipSpace.x/vPositionClipSpace.w);\n float diameter1080p = hotCircleDiameterClipSpace * 1920.0 / 2.0;\n\n gl_Position = glPos;\n if( diameter1080p < R_v2_core_screenSpaceDiameterMin ) {\n vHotCircleScreenSpaceDiameterMin = R_v2_core_screenSpaceDiameterMin;\n gl_PointSize = R_v2_core_screenSpaceDiameterMin * uFramebufferSize.x / 1920.0;\n float subpixel_intensity_factor = pow( diameter1080p / R_v2_core_screenSpaceDiameterMin, 2.0 );\n vPointColor = vec4(color,0) * intensity * subpixel_intensity_factor;\n // vPointColor = vec4(2,0,0,0);\n } else {\n gl_PointSize = diameter1080p * uFramebufferSize.x / 1920.0 + 2.0;\n vPointColor = vec4(color,0) * intensity;\n vHotCircleScreenSpaceDiameterMin = 0.0;\n }\n}\n",gi="\nuniform vec2 uFramebufferSize;\nuniform mat4 ViewMat;\nuniform mat4 ProjMat;\n\nuniform float R_v2_core_sample_count;\n\nout vec4 outColor;\n\nin vec4 vDebugShade;\n\nin vec3 vPositionWorldSpace;\nin vec4 vPositionClipSpace;\nin vec4 vPointColor;\nin float vHotCircleDiameter;\nin float vHotCircleScreenSpaceDiameterMin;\n\nfloat CameraRayDistanceToPoint(vec3 rayOri, vec3 rayDir, vec3 point)\n{\n return length(cross(rayDir, point - rayOri));\n}\n\nvec4 colorForscreenSpace( vec2 screenSpace, mat4 invViewProj, vec3 camPos )\n{\n vec4 fragNearPlane = invViewProj * vec4(screenSpace,0.0,1.0);\n fragNearPlane /= fragNearPlane.w;\n\n vec3 rayDir = fragNearPlane.xyz - camPos;\n float d = CameraRayDistanceToPoint(camPos, rayDir, vPositionWorldSpace);\n if( d < vHotCircleDiameter ) {\n return vPointColor;\n }\n return vec4(0);\n}\n\n\nvoid main(void) {\n if( vHotCircleScreenSpaceDiameterMin != 0.0 ) {\n outColor = vPointColor;\n } else {\n mat4 invViewProj = inverse(ProjMat * ViewMat);\n vec3 camPos = getCameraPosFromViewMat( ViewMat );\n#if 0\n const float SUBPIXEL_SAMPLES = 4.0;\n for( float y=0.0; y=0;w--)B[w]=Math.max(B[w],B[w+1]);for(v=1.5,j=2048,T=x=.001,R=x/B[B.length-1],M=D(T),N=D(R),P=new Float32Array(j),O=0;O>0,i=t.size[1]>>0;if(0!=a&&0!=i&&!(e.radius<=0)){var s=r.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.texStorage2D(r.TEXTURE_2D,1,r.RGBA32F,a,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST);var p=r.createTexture();r.bindTexture(r.TEXTURE_2D,p),r.texStorage2D(r.TEXTURE_2D,1,r.RGBA32F,a,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.NEAREST),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.NEAREST);for(var I=e.radius,C=Math.ceil(6*I),E=0;E=u)){e.next=31;break}return e.next=28,pe.delay(0);case 28:h=Math.round((p-o)/(s-o)*100)/100,t.setLongExposureProgress(h),c=(new Date).getTime();case 31:p+=r,e.next=22;break;case 34:d!=l&&console.error("actual_frame_count != frame_count",{actual_frame_count:d,frame_count:l,start_milli:o,end_milli:s,milli_stride:r}),Ji(g),i.bindFramebuffer(i.FRAMEBUFFER,a.photoFboInfo.fbo),i.viewport(0,0,a.renderSize[0],a.renderSize[1]),Mi(a,a.renderSize,a.outputFboInfo.colorTexture),t.setLongExposureProgress(1),t.setLongExposureIsRendering(!1),console.log("longExposureRender complete");case 42:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var qi=new Map([["R_sparkSpriteWidthScale",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_spark_intensity",{defaultValue:2,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_spark_pointsize",{defaultValue:700,sliderMin:0,sliderMax:2e3,roundToPlaces:1}],["R_spark_aura_intensity",{defaultValue:.004,sliderMin:0,sliderMax:1,roundToPlaces:3}],["R_spark_aura_pointsize",{defaultValue:40,sliderMin:0,sliderMax:100,roundToPlaces:1}],["R_spark_aura_exponent",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:2}],["R_sparkPhase0Lifetime",{defaultValue:.1,sliderMin:0,sliderMax:1,roundToPlaces:3}],["R_sparkPhase0WidthMultiplier",{defaultValue:2,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_long_exposure_milli_stride",{defaultValue:10,sliderMin:0,sliderMax:100,roundToPlaces:0}],["R_v2_blur_radius",{defaultValue:0,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_v2_blur_threshold",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_v2_blur_output_scale",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:3}],["R_v2_core_intensity",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:5}],["R_v2_core_sample_count",{defaultValue:1,sliderMin:0,sliderMax:64,roundToPlaces:0}],["R_v2_core_screenSpaceDiameterMin",{defaultValue:1,sliderMin:0,sliderMax:10,roundToPlaces:1}],["uEffectScaleIntensity",{defaultValue:Math.pow(2,1.5),sliderMin:0,sliderMax:5,roundToPlaces:3}]]),Xi=Object(Ie.b)({actions:function(){return{setErrorMessage:function(e){return{errorMessage:e}},setCamAngleXZ:function(e){return{camAngleXZ:e}},setCamAngleXY:function(e){return{camAngleXY:e}},setCamDistance:function(e){return{camDistance:e}},setCamLookAt:function(e){return{camLookAt:e}},setStartedPlayingVirtualTime:function(e){return{startedPlayingVirtualTime:e}},setStartedPlayingRealTime:function(e){return{startedPlayingRealTime:e}},setSliderTimeInstant:function(e){return{sliderTimeInstant:e}},setTimeMax:function(e){return{timeMax:e}},setShowAxes:function(e){return{showAxes:e}},setShowLongExposureInRealTime:function(e){return{showLongExposureInRealTime:e}},setRenderMode:function(e){return{renderMode:e}},setRandomSeed:function(e){return{randomSeed:e}},setSimpleValue:function(e,n){return{k:e,v:n}},initializeFireworksSimulationViewLogic:function(e){return{simpleValuesMap:e.simpleValuesMap,staticRendererState:e.staticRendererState,ceiRendererState:e.ceiRendererState}},setMagCoord:function(e){return{magCoord:e}},setMagRegionSize:function(e){return{magRegionSize:e}},setMagDisplaySize:function(e){return{magDisplaySize:e}},setMagRegionFloats:function(e){return{magRegionFloats:e}},setMagRegionCanvas:function(e){return{magRegionCanvas:e}},setShowMagRegionPixelValues:function(e){return{showMagRegionPixelValues:e}},setShowMagRegionHighlight:function(e){return{showMagRegionHighlight:e}},setTonemappingEnabled:function(e){return{tonemappingEnabled:e}},setLongExposureIsCancelled:function(e){return{longExposureIsCancelled:e}},setLongExposureIsRendering:function(e){return{longExposureIsRendering:e}},setLongExposureProgress:function(e){return{longExposureProgress:e}},togglePlaying:!0,onClickCreatePhoto:!0,onClickCreateLongExposure:!0,onClickCancelLongExposure:!0}},reducers:function(){return{errorMessage:[null,{setErrorMessage:function(e,n){return n.errorMessage}}],longExposureIsCancelled:[!1,{setLongExposureIsCancelled:function(e,n){return n.longExposureIsCancelled}}],longExposureIsRendering:[!1,{setLongExposureIsRendering:function(e,n){return n.longExposureIsRendering}}],longExposureProgress:[0,{setLongExposureProgress:function(e,n){return n.longExposureProgress}}],lastRealRenderMode:["Split",{setRenderMode:function(e,n){var t=n.renderMode;return"Split"==t||"V1"==t||"V2"==t?t:e}}],simpleValuesMapRef:[{current:new Map},{setSimpleValue:function(e,n){var t=e.current,a=n.k,i=n.v;return{current:t.set(a,i)}},setTonemappingEnabled:function(e,n){var t=e.current,a=n.tonemappingEnabled;return{current:t.set("tonemappingEnabled",a)}},setShowAxes:function(e,n){var t=e.current,a=n.showAxes;return{current:t.set("showAxes",a)}},setShowMagRegionHighlight:function(e,n){var t=e.current,a=n.showMagRegionHighlight;return{current:t.set("showMagRegionHighlight",a)}},setShowMagRegionPixelValues:function(e,n){var t=e.current,a=n.showMagRegionPixelValues;return{current:t.set("showMagRegionPixelValues",a)}},setRenderMode:function(e,n){var t=e.current,a=n.renderMode;return{current:t.set("renderMode",a)}},setRandomSeed:function(e,n){var t=e.current,a=n.randomSeed;return{current:t.set("randomSeed",a)}},setCamAngleXZ:function(e,n){var t=e.current,a=n.camAngleXZ;return{current:t.set("camAngleXZ",a)}},setCamAngleXY:function(e,n){var t=e.current,a=n.camAngleXY;return{current:t.set("camAngleXY",a)}},setCamDistance:function(e,n){var t=e.current,a=n.camDistance;return{current:t.set("camDistance",a)}},setCamLookAt:function(e,n){var t=e.current,a=n.camLookAt;return{current:t.set("camLookAt",a)}},setMagCoord:function(e,n){var t=e.current,a=n.magCoord;return{current:t.set("magCoord",a)}},setMagDisplaySize:function(e,n){var t=e.current,a=n.magDisplaySize;return{current:t.set("magDisplaySize",a)}},setStartedPlayingVirtualTime:function(e,n){var t=e.current,a=n.startedPlayingVirtualTime;return{current:t.set("startedPlayingVirtualTime",a)}},setStartedPlayingRealTime:function(e,n){var t=e.current,a=n.startedPlayingRealTime;return{current:t.set("startedPlayingRealTime",a)}},setTimeMax:function(e,n){var t=e.current,a=n.timeMax;return{current:t.set("timeMax",a)}},setSliderTimeInstant:function(e,n){var t=e.current,a=n.sliderTimeInstant;return{current:t.set("sliderTimeInstant",a)}},setMagRegionFloats:function(e,n){var t=e.current,a=n.magRegionFloats;return{current:t.set("magRegionFloats",a)}},setMagRegionCanvas:function(e,n){var t=e.current,a=n.magRegionCanvas;return{current:t.set("magRegionCanvas",a)}},setMagRegionSize:function(e,n){var t=e.current,a=n.magRegionSize;return{current:t.set("magRegionSize",a)}},setShowLongExposureInRealTime:function(e,n){var t=e.current,a=n.showLongExposureInRealTime,i=t.set("showLongExposureInRealTime",a);return a&&i.set("R_long_exposure_milli_stride",10),{current:i}},initializeFireworksSimulationViewLogic:function(e,n){var t,a=e.current,i=n.simpleValuesMap,r=n.staticRendererState,o=n.ceiRendererState,s=i,l=Object(xe.a)(a);try{for(l.s();!(t=l.n()).done;){var A=Object(h.a)(t.value,2),g=A[0],u=A[1];void 0===s.get(g)&&s.set(g,u)}}catch(c){l.e(c)}finally{l.f()}return null==r&&s.delete("staticRendererState"),null==o&&s.delete("ceiRendererState"),null!=r&&s.set("staticRendererState",r),null!=o&&s.set("ceiRendererState",o),{current:s}}}]}},selectors:{tonemappingEnabled:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null===(n=e.current.get("tonemappingEnabled"))||void 0===n||n}],showAxes:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null===(n=e.current.get("showAxes"))||void 0===n||n}],showLongExposureInRealTime:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("showLongExposureInRealTime"))&&void 0!==n&&n}],showMagRegionHighlight:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null===(n=e.current.get("showMagRegionHighlight"))||void 0===n||n}],showMagRegionPixelValues:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null===(n=e.current.get("showMagRegionPixelValues"))||void 0===n||n}],renderMode:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("renderMode"))&&void 0!==n?n:"V1"}],randomSeed:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("randomSeed"))&&void 0!==n?n:0}],camAngleXZ:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("camAngleXZ"))&&void 0!==n?n:0}],camAngleXY:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("camAngleXY"))&&void 0!==n?n:0}],camDistance:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("camDistance"))&&void 0!==n?n:10}],camLookAt:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("camLookAt"))&&void 0!==n?n:ja.d.create()}],magCoord:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("magCoord"))&&void 0!==n?n:[.5,.333333]}],magDisplaySize:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("magDisplaySize"))&&void 0!==n?n:v.a.isRunningInFinale3d()?0:640}],magRegionFloats:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("magRegionFloats"))&&void 0!==n?n:null}],ceiRendererState:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("ceiRendererState"))&&void 0!==n?n:null}],staticRendererState:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("staticRendererState"))&&void 0!==n?n:null}],sliderTimeInstant:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("sliderTimeInstant"))&&void 0!==n?n:0}],timeMax:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("timeMax"))&&void 0!==n?n:1}],startedPlayingVirtualTime:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("startedPlayingVirtualTime"))&&void 0!==n?n:null}],startedPlayingRealTime:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("startedPlayingRealTime"))&&void 0!==n?n:null}],magRegionSize:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("magRegionSize"))&&void 0!==n?n:(v.a.isRunningInFinale3d(),0)}],magRegionCanvas:[function(e){return[e.simpleValuesMapRef]},function(e){var n;return null!==(n=e.current.get("magRegionCanvas"))&&void 0!==n?n:null}],isPlaying:[function(e){return[e.startedPlayingVirtualTime]},function(e){return null!==e}],getPlayingTimeInstantFn:[function(e){return[e.timeMax,e.startedPlayingRealTime,e.startedPlayingVirtualTime]},function(e,n,t){return function(){for(var a=(new Date).getTime()-(null!==n&&void 0!==n?n:0),i=(null!==t&&void 0!==t?t:0)+a/1e3;i>e;)i-=e;return i}}],getTimeInstantFn:[function(e){return[e.isPlaying,e.sliderTimeInstant,e.getPlayingTimeInstantFn]},function(e,n,t){return e?t:function(){return n}}],getUniformValueFn:[function(e){return[e.simpleValuesMapRef]},function(e){return function(n){var t,a="".concat(n,"$info"),i=qi.get(n),r=e.current.get(n);return null!=i?(null==r&&(r=i.defaultValue),null==e.current.get(a)&&e.current.set(a,Object(de.a)({name:n},i))):(null==r&&(r=.5),null==e.current.get(a)&&e.current.set(a,{name:n,defaultValue:.5,sliderMin:0,sliderMax:1,roundToPlaces:3})),e.current.set(n,r),null!==(t=r)&&void 0!==t?t:0}}],globalUniformInfos:[function(e){return[e.simpleValuesMapRef]},function(e){var n,t=new Map,a=Object(xe.a)(e.current);try{for(a.s();!(n=a.n()).done;){var i=Object(h.a)(n.value,2),r=i[0],o=i[1];if(r.endsWith("$info")){var s,l=null!==(s=e.current.get(o.name))&&void 0!==s?s:o.defaultValue;t.set(o.name,Object(de.a)(Object(de.a)({},o),{},{currentValue:l}))}}}catch(I){a.e(I)}finally{a.f()}var A,g=Object(xe.a)(qi);try{for(g.s();!(A=g.n()).done;){var u=Object(h.a)(A.value,2),c=u[0],d=u[1];if(null==t.get(c)){var p,f=null!==(p=e.current.get(c))&&void 0!==p?p:d.defaultValue;t.set(c,Object(de.a)(Object(de.a)({},d),{},{name:c,currentValue:f}))}}}catch(I){g.e(I)}finally{g.f()}return Array.from(t.values()).sort((function(e,n){return e.namen.name?1:0}))}]},listeners:function(e){var n=e.actions,t=e.values;return{togglePlaying:function(e){if(t.isPlaying){var a=t.getPlayingTimeInstantFn();n.setStartedPlayingVirtualTime(null),n.setSliderTimeInstant(a)}else n.setStartedPlayingVirtualTime(t.sliderTimeInstant),n.setStartedPlayingRealTime((new Date).getTime())},onClickCancelLongExposure:function(){var e=Object(I.a)(f.a.mark((function e(t){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n.setLongExposureIsCancelled(!0);case 1:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),setMagRegionCanvas:function(){var e=Object(I.a)(f.a.mark((function e(n){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:console.log("setMagRegionCanvas",n);case 1:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),staticRendererState:function(e){console.log("staticRendererState",e)}}}}),Zi=g.d.div.withConfig({displayName:"FireworksSimulationView__FireworksSimulationViewDiv",componentId:"sc-yb27kc-0"})(["overflow:hidden;position:relative;.DecodeError{margin:8px 8px 0 8px;color:red;}.CanvasHolder{width:100%;height:100%;position:relative;.CanvasWrapper{canvas{object-fit:contain;width:100%;height:100%;image-rendering:pixelated;}}}.HighlightRegion{border:1px dashed #8cdcfe88;position:absolute;pointer-events:none;}"]),$i=g.d.div.withConfig({displayName:"FireworksSimulationView__FireworksSimulationPlayerBarDiv",componentId:"sc-yb27kc-1"})(['background:#666;height:24px;display:flex;align-items:stretch;.RewindIcon{margin-left:8px;margin-top:3px;}.PlayIcon,.PauseIcon{margin-left:8px;}.RewindIcon,.PlayIcon,.PauseIcon{color:#ddd;cursor:pointer;&:hover{color:white;}}.PlayIcon{font-size:85%;margin-top:4.5px;width:14px;}.PauseIcon{margin-top:3px;width:14px;}.TimeDisplay{display:inline-block;color:#ddd;margin-left:16px;font-size:12px;font-family:Consolas,monaco,monospace;margin-top:4px;width:120px;overflow:hidden;white-space:pre;}input[type="range"]{margin:-1px 8px 0px 8px;flex-grow:1;-webkit-appearance:none;background:transparent;&::-webkit-slider-runnable-track{width:100%;height:18px;cursor:pointer;background:#ddd;border:8px solid #666;border-left:0;border-right:0;}&:hover::-webkit-runnable-track{background:white;}&::-webkit-slider-thumb{-webkit-appearance:none;height:16px;width:2px;background:#ddd;cursor:pointer;margin-top:-7px;}&:hover::-webkit-slider-thumb{background:white;}}']);function er(){var e=Object(Ie.e)(Xi),n=e.isPlaying,t=e.timeMax,a=Object(Ie.e)(Xi).getTimeInstantFn,i=Object(Ie.d)(Xi),r=i.setStartedPlayingVirtualTime,o=i.setSliderTimeInstant,s=i.togglePlaying,l=Math.round(1e3*a()),A=Object(u.useState)({milli:l}),g=Object(h.a)(A,2),c=g[0],d=g[1];Object(u.useEffect)((function(){if(!n&&c.milli!=l){var e=function(){var e=Object(I.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pe.delay(0);case 2:d({milli:l});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[n,l]);var p=Object(u.useRef)(0),C=function e(){var t=Math.round(1e3*a());if(c.milli!=t){var i=function(){var e=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pe.delay(0);case 2:n=Math.round(1e3*a()),d({milli:n});case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();i()}n&&function(){var n=Object(I.a)(f.a.mark((function n(){return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,pe.delay(0);case 2:0!=p.current&&(p.current=requestAnimationFrame(e));case 3:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()()};return Object(u.useEffect)((function(){if(n)return p.current=requestAnimationFrame(C),function(){cancelAnimationFrame(p.current),p.current=0}}),[n]),Object(K.jsxs)($i,{className:"PlayerBar",children:[Object(K.jsx)(y.a,{className:"RewindIcon",icon:Q.o,onClick:function(e){r(null),o(0)}}),!n&&Object(K.jsx)(y.a,{className:"PlayIcon",icon:Q.m,onClick:s}),n&&Object(K.jsx)(y.a,{className:"PauseIcon",icon:Q.l,onClick:s}),Object(K.jsxs)("div",{className:"TimeDisplay",children:[Object(he.sprintf)("%7.3f",l/1e3)," /",Object(he.sprintf)("%7.3f",t)]}),Object(K.jsx)("input",{type:"range",min:0,max:t,step:.001,value:l/1e3,onChange:function(e){r(null),o(Number.parseFloat(e.target.value))}})]})}function nr(){var e=Object(Ie.d)(Xi).setSimpleValue,n=Object(Ie.e)(Xi).globalUniformInfos;return Object(K.jsx)("div",{className:"GlobalParamsGrid",children:n.map((function(n){var t=Object(de.a)(Object(de.a)({},n),{},{label:n.name,value:n.currentValue,onChange:function(t){return e(n.name,t)}});return Object(K.jsx)(go,Object(de.a)({},t),n.name)}))})}function tr(e){if(void 0===e)return"undefined";var n=Object(he.sprintf)("%.4f",e);return n.length>7&&(n=Object(he.sprintf)("%.3f",e)),n.length>7&&(n=Object(he.sprintf)("%.2f",e)),n.length>7&&(n=Object(he.sprintf)("%.1f",e)),n}function ar(){var e=Object(Ie.d)(Xi).setMagRegionCanvas,n=Object(Ie.e)(Xi),t=n.magRegionCanvas,a=n.magRegionSize,i=n.magDisplaySize,r=n.magRegionFloats,o=n.showMagRegionPixelValues,s=n.isPlaying,l=Object(u.useRef)(null);if(Object(u.useEffect)((function(){null!=l.current&&(l.current.width!=a&&(l.current.width=a),l.current.height!=a&&(l.current.height=a))}),[l.current,a]),Object(u.useLayoutEffect)((function(){t!=l.current&&e(l.current)}),[t,l.current]),0==a)return Object(K.jsx)(K.Fragment,{});var A=i/a;return Object(K.jsx)("div",{className:"MagnifierPanelDiv",children:Object(K.jsxs)("div",{className:"PixelsWrapper",style:{width:"".concat(i,"px"),height:"".concat(i,"px")},children:[Object(K.jsx)("canvas",{ref:l}),o&&!s&&null!=r&&A>=32&&Array(a).fill(0).map((function(e,n){var t=a-1-n;return Array(a).fill(0).map((function(e,i){var o=4*(t*a+i),s=r[o+0],l=r[o+1],g=r[o+2],u=r[o+3];return Math.sqrt(s*s+l*l+g*g)<.05?Object(K.jsx)(K.Fragment,{}):Object(K.jsx)("div",{className:"Pixel",style:{width:"".concat(A,"px"),height:"".concat(A,"px"),left:"".concat(i*A,"px"),top:"".concat(n*A,"px")},children:Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"ElementText",children:tr(s)}),Object(K.jsx)("div",{className:"ElementText",children:tr(l)}),Object(K.jsx)("div",{className:"ElementText",children:tr(g)}),Object(K.jsx)("div",{className:"ElementText",children:tr(u)})]})},"".concat(i,"-").concat(n))}))}))]})})}function ir(){var e=Object(Ie.d)(Xi),n=Object(Ie.e)(Xi),t=e.setMagRegionSize,a=e.setShowMagRegionPixelValues,i=e.setShowMagRegionHighlight,r=e.setMagDisplaySize,o=n.magRegionSize,s=n.showMagRegionPixelValues,l=n.showMagRegionHighlight,A=n.magDisplaySize,g=n.staticRendererState,u=n.randomSeed,c=e.setRenderMode,d=e.setShowAxes,p=e.setShowLongExposureInRealTime,f=e.setTonemappingEnabled,h=e.onClickCancelLongExposure,I=e.setRandomSeed,C=n.renderMode,E=n.showAxes,m=n.showLongExposureInRealTime,B=n.tonemappingEnabled,Q=n.longExposureIsRendering,y=n.longExposureProgress,b=n.ceiRendererState,_=n.lastRealRenderMode,k=n.getUniformValueFn,w=n.camAngleXY,F=n.camAngleXZ,v=n.camDistance,D=n.camLookAt,S=n.magRegionCanvas,x=n.magCoord,j=n.magRegionFloats,T=n.timeMax;function R(){!function(e){console.log("performRender_createPhoto");var n=e.staticRendererState,t=n.gl;n.photoFboInfo=fi(t,n.renderSize),t.bindFramebuffer(t.FRAMEBUFFER,n.photoFboInfo.fbo),t.viewport(0,0,n.renderSize[0],n.renderSize[1]),Mi(n,n.renderSize,n.outputFboInfo.colorTexture)}({staticRendererState:g})}function M(){!function(e,n){Vi.apply(this,arguments)}({staticRendererState:g,ceiRendererState:b,renderMode:_,timeMax:T,getUniformValueFn:k,camAngleXY:w,camAngleXZ:F,camDistance:v,camLookAt:D,showAxes:E,tonemappingEnabled:B,magRegionCanvas:S,magCoord:x,magRegionSize:o,magRegionFloats:j},e)}return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)(or,{children:[Object(K.jsxs)("div",{children:[Object(K.jsxs)(sr,{children:[Object(K.jsx)("span",{className:"Label",children:"Render Mode:"}),Object(K.jsxs)("select",{value:C,onChange:function(e){return c(e.target.value)},children:[Object(K.jsx)("option",{value:"Empty",children:"Empty"}),Object(K.jsx)("option",{value:"TestImage1",children:"Test Image 1"}),Object(K.jsx)("option",{value:"PhotoOutput",children:"Create Photo output"}),Object(K.jsx)("option",{value:"V1",children:"V1 (current F3D)"}),Object(K.jsx)("option",{value:"V2",children:"V2"}),Object(K.jsx)("option",{value:"Split",children:"Split"})]})]}),Object(K.jsxs)(lr,{children:[Object(K.jsx)("span",{className:"Label",children:"Random Seed:"}),Object(K.jsx)("select",{value:u,onChange:function(e){return I(Number.parseInt(e.target.value))},children:Array(10).fill(0).map((function(e,n){return Object(K.jsx)("option",{value:n,children:"".concat(n)},n)}))})]}),Object(K.jsx)(Ar,{children:Object(K.jsxs)("label",{children:["Tonemapping:",Object(K.jsx)("input",{type:"checkbox",checked:!!B,onChange:function(e){f(!B)}})]})}),Object(K.jsx)(gr,{children:Object(K.jsxs)("label",{children:["Axes:",Object(K.jsx)("input",{type:"checkbox",checked:!!E,onChange:function(e){d(!E)}})]})}),Object(K.jsx)(ur,{children:Object(K.jsxs)("label",{children:["LE:",Object(K.jsx)("input",{type:"checkbox",checked:!!m,onChange:function(e){p(!m)}})]})})]}),Object(K.jsx)("div",{children:Object(K.jsxs)(cr,{children:[Object(K.jsx)("a",{href:"#",onClick:function(){R(),c("PhotoOutput")},children:"Create Photo"}),!Q&&Object(K.jsx)(dr,{href:"#",onClick:function(){M(),c("PhotoOutput")},children:"Create Long Exposure"}),Q&&Object(K.jsx)(pr,{href:"#",onClick:h,children:"Cancel Long Exposure"}),Q&&Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)(fr,{size:"small"}),Math.floor(100*y),"%"]})]})})]}),Object(K.jsxs)(hr,{children:[Object(K.jsxs)("div",{children:[Object(K.jsxs)(Ir,{children:[Object(K.jsx)("span",{className:"Label",children:"Magnifier region size:"}),Object(K.jsxs)("select",{value:o,onChange:function(e){var n=Number.parseInt(e.target.value);t(n)},children:[Object(K.jsx)("option",{value:0,children:"off"}),Object(K.jsx)("option",{value:3,children:"3"}),Object(K.jsx)("option",{value:5,children:"5"}),Object(K.jsx)("option",{value:7,children:"7"}),Object(K.jsx)("option",{value:9,children:"9"}),Object(K.jsx)("option",{value:11,children:"11"}),Object(K.jsx)("option",{value:13,children:"13"}),Object(K.jsx)("option",{value:15,children:"15"}),Object(K.jsx)("option",{value:21,children:"21"}),Object(K.jsx)("option",{value:25,children:"25"}),Object(K.jsx)("option",{value:51,children:"51"}),Object(K.jsx)("option",{value:75,children:"75"}),Object(K.jsx)("option",{value:101,children:"101"}),Object(K.jsx)("option",{value:201,children:"201"}),Object(K.jsx)("option",{value:301,children:"301"}),Object(K.jsx)("option",{value:401,children:"401"}),Object(K.jsx)("option",{value:501,children:"501"})]})]}),Object(K.jsxs)(Cr,{children:[Object(K.jsx)("span",{className:"Label",children:"Magnifier display size:"}),Object(K.jsxs)("select",{value:A,onChange:function(e){var n=Number.parseInt(e.target.value);r(n)},children:[Object(K.jsx)("option",{value:32,children:"32px"}),Object(K.jsx)("option",{value:64,children:"64px"}),Object(K.jsx)("option",{value:96,children:"96px"}),Object(K.jsx)("option",{value:128,children:"128px"}),Object(K.jsx)("option",{value:256,children:"256px"}),Object(K.jsx)("option",{value:384,children:"384px"}),Object(K.jsx)("option",{value:512,children:"512px"}),Object(K.jsx)("option",{value:640,children:"640px"}),Object(K.jsx)("option",{value:768,children:"768px"}),Object(K.jsx)("option",{value:1024,children:"1024px"})]})]})]}),Object(K.jsxs)("div",{children:[Object(K.jsx)(Er,{children:Object(K.jsxs)("label",{children:["Show pixel values:",Object(K.jsx)("input",{type:"checkbox",checked:!!s,onChange:function(e){a(!s)}})]})}),Object(K.jsx)(mr,{children:Object(K.jsxs)("label",{children:["Show highlighter:",Object(K.jsx)("input",{type:"checkbox",checked:!!l,onChange:function(e){i(!l)}})]})})]})]})]})}function rr(e){var n,t=Object(u.useState)(null),a=Object(h.a)(t,2),i=a[0],r=a[1],o=Object(u.useState)(void 0),s=Object(h.a)(o,2),l=s[0],A=s[1],g=Object(u.useState)(null),d=Object(h.a)(g,2),p=d[0],C=d[1],E=null!==i&&void 0!==i?i:new Map;Object(u.useEffect)((function(){null==i&&(console.log("FireworksSimulationView() new simpleValuesMap"),r(E))}),[i]),Object(u.useEffect)((function(){$({simpleValuesMap:E,staticRendererState:p,ceiRendererState:l})}),[E,p,l]);var m=Object(Ie.e)(Xi),B=m.camAngleXZ,Q=m.camAngleXY,y=m.camDistance,b=m.camLookAt,_=m.renderMode,k=m.showAxes,w=m.showLongExposureInRealTime,F=m.timeMax,v=m.longExposureProgress,D=m.randomSeed,S=Object(Ie.e)(Xi),x=S.errorMessage,j=S.isPlaying,T=S.getTimeInstantFn,R=S.getUniformValueFn,M=S.magCoord,N=S.magRegionCanvas,P=S.magRegionSize,O=S.magRegionFloats,G=S.tonemappingEnabled,L=S.showMagRegionHighlight,U=Object(Ie.d)(Xi),z=U.setErrorMessage,H=U.setCamAngleXZ,Y=U.setCamAngleXY,W=U.setCamDistance,J=U.setCamLookAt,V=U.setTimeMax,q=Object(Ie.d)(Xi),X=q.setMagCoord,Z=q.setMagRegionFloats,$=q.initializeFireworksSimulationViewLogic,ee=Object(Ie.e)(Xi).globalUniformInfos,ne=Object(u.useState)({}),te=Object(h.a)(ne,1)[0],ae=null!==(n=e.renderSize)&&void 0!==n?n:ja.c.fromValues(1920,1080),ie=Object(u.useRef)(0),re=function e(){fe(Math.round(1e3*T())/1e3),0!=ie.current&&(ie.current=requestAnimationFrame(e)),function(){var e=Object(I.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()};Object(u.useEffect)((function(){if(j)return ie.current=requestAnimationFrame(re),function(){cancelAnimationFrame(ie.current),ie.current=0}}),[j]);var oe=Object(Ie.d)(Ma.a),se=(oe.beginTask,oe.taskUpdate,oe.taskSucceed,oe.taskError,Object(Ie.e)(Ma.a).tasks),le=Object(u.useRef)(null),Ae=Object(u.useRef)(null),ge=Object(u.useRef)(null),ue=Object(u.useRef)(null),ce=Object(u.useRef)(null);function fe(n){if(null!=p){var t={staticRendererState:p,ceiRendererState:l,renderMode:_,getUniformValueFn:R,longExposureIntensityFactor:1,camAngleXY:Q,camAngleXZ:B,camDistance:y,camLookAt:b,showAxes:k,tonemappingEnabled:G,onMagRegionFloatsChanged:e.onMagRegionFloatsChanged,magRegionCanvas:N,magCoord:M,magRegionSize:P,magRegionFloats:O};"TestImage1"==_?(null==le.current&&(le.current=function(){return be.apply(this,arguments)}()),null!=Ae.current&&(p.gl.bindFramebuffer(p.gl.FRAMEBUFFER,p.outputFboInfo.fbo),p.gl.clearColor(0,0,0,0),p.gl.clear(p.gl.COLOR_BUFFER_BIT|p.gl.DEPTH_BUFFER_BIT),Mi(p,p.outputFboInfo.size,Ae.current))):"Empty"==_?(p.gl.bindFramebuffer(p.gl.FRAMEBUFFER,p.outputFboInfo.fbo),p.gl.clearColor(0,0,0,0),p.gl.clear(p.gl.COLOR_BUFFER_BIT|p.gl.DEPTH_BUFFER_BIT)):"PhotoOutput"==_?(p.gl.bindFramebuffer(p.gl.FRAMEBUFFER,p.outputFboInfo.fbo),p.gl.clearColor(0,0,0,0),p.gl.clear(p.gl.COLOR_BUFFER_BIT|p.gl.DEPTH_BUFFER_BIT),null!=p.photoFboInfo&&Mi(p,p.outputFboInfo.size,p.photoFboInfo.colorTexture)):"V1"==_||"V2"==_||"Split"==_?w?function(e){var n=e.staticRendererState,t=n.gl;n.photoFboInfo=fi(t,n.renderSize);var a=e.getUniformValueFn("R_long_exposure_milli_stride"),i=Math.floor(e.timeMax*(1e3/a))*a,r=(i-0)/a,o=1/r,s=Object(de.a)(Object(de.a)({},e),{},{longExposureIntensityFactor:o});Wi(s),n.photoFboInfo=fi(t,n.renderSize),t.bindFramebuffer(t.FRAMEBUFFER,n.photoFboInfo.fbo),t.viewport(0,0,n.renderSize[0],n.renderSize[1]),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT);for(var l=0,A=0;A0){a.bindFramebuffer(a.FRAMEBUFFER,(G?p.toneMappedOutputFboInfo:p.outputFboInfo).fbo);var i=O;null!=O&&O.length==P*P*4||(i=new Float32Array(P*P*4),Z(i));var r=Math.floor(p.renderSize[0]*M[0]-P/2),o=Math.floor(p.renderSize[1]*M[1]-P/2);o=p.renderSize[1]-o-P,a.readPixels(r,o,P,P,a.RGBA,a.FLOAT,i),null!=e.onMagRegionFloatsChanged&&e.onMagRegionFloatsChanged();for(var s=N.getContext("2d"),A=s.createImageData(P,P),g=A.data,u=0;uQe?(Ee.height=Ce.height,Ee.width=Ce.height*Qe,Ee.left=Math.round((Ce.width-Ee.width)/2),Ee.top=0):(Ee.width=Ce.width,Ee.height=Ce.width/Qe,Ee.top=Math.round((Ce.height-Ee.height)/2),Ee.left=0),me.width=Math.ceil(P/ae[0]*Ee.width),me.height=Math.ceil(P/ae[1]*Ee.height),me.left=Math.round(Ee.left+M[0]*Ee.width-me.width/2),me.top=Math.round(Ee.top+M[1]*Ee.height-me.height/2-1)}function ye(){return(ye=Object(I.a)(f.a.mark((function e(n){var t,a,i,r,o,s,l,g,u,c,d;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,t=Ge(Te.a.CompiledEffectInstances,n),e.next=4,Ui(p.gl,t);case 4:a=e.sent,i=Math.max(50,t.getBoundsMax().getY()),r=i+Math.min(30,.2*i),60,0,50,o=r/Math.tan(50*Math.PI/180),30,s=Math.atan(30*Math.PI/180)*o,l=Math.sqrt(o*o+s*s),g=30*Math.PI/180,u=ja.d.fromValues(0,s,0),Y(g),W(l),J(u),c=a.cei.getEffectDefinitionsList()[0].getInfo(),d=c.getMaxLightEndTime(),V(d),A(a),z(null),e.next=31;break;case 26:throw e.prev=26,e.t0=e.catch(0),A(void 0),z("Error decoding compiled effects string"),e.t0;case 31:case"end":return e.stop()}}),e,null,[[0,26]])})))).apply(this,arguments)}function be(){return be=Object(I.a)(f.a.mark((function e(){var n,t,a,i,r;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,pe.delay(0);case 2:return n=p.gl,"https://finale-blobcas.s3.amazonaws.com/35af88fef57e290157b5a9afd1e14d2718282932bc19b2066dbbc46cc2cfda59","https://finale-blobcas.s3.amazonaws.com/f1b8260406a7c15cdc4b7f2f4bcecd7023591442006b44b8122487199f324627",t=oe.beginTask,a=oe.taskSucceed,i=Object(La.a)(),"Downloading test pattern",t({taskId:i,taskName:"Downloading test pattern"}),e.next=11,Ti(n,"https://finale-blobcas.s3.amazonaws.com/f1b8260406a7c15cdc4b7f2f4bcecd7023591442006b44b8122487199f324627");case 11:r=e.sent,Ae.current=r,a({taskId:i});case 14:case"end":return e.stop()}}),e)}))),be.apply(this,arguments)}return Object(K.jsxs)(Zi,{className:"FireworksSimulationView",children:[x&&Object(K.jsx)("div",{className:"DecodeError",children:x}),Object(K.jsxs)("div",{className:"CanvasHolder",ref:ge,onMouseMove:function(e){if(2&e.buttons&&null!=ue.current){var n=ue.current.getBoundingClientRect(),t=(e.clientX-n.left)/n.width,a=(e.clientY-n.top)/n.height,i=Math.max(0,Math.min(1,t)),r=Math.max(0,Math.min(1,a)),o=i*ae[0],s=r*ae[1];o=Math.floor(o),s=Math.floor(s),o=Math.max(o,Math.min(o,ae[0])),s=Math.max(s,Math.min(s,ae[1]));var l=o/ae[0],A=s/ae[1];X([l,A])}if(1&e.buttons){var g=e.target.getBoundingClientRect(),u=Math.min(1,Math.max(0,e.clientX-g.x)/g.width);Math.min(1,Math.max(0,e.clientY-g.y)/g.height);H(Math.PI+(u-.5)*Math.PI*9)}},onWheel:function(e){var n=e.deltaY>0?1.1:.9;W(y*n)},children:[Object(K.jsx)("div",{className:"CanvasWrapper",style:Ee,ref:function(e){e&&null!=ue.current&&e.appendChild(ue.current)}}),L&&Object(K.jsx)("div",{style:me,className:"HighlightRegion"})]})]})}var or=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv",componentId:"sc-yb27kc-2"})(["background:#00008822;padding:8px;margin-top:8px;"]),sr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv2",componentId:"sc-yb27kc-3"})(["display:inline-block"]),lr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv3",componentId:"sc-yb27kc-4"})(["display:inline-block;margin-left:8px;"]),Ar=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv4",componentId:"sc-yb27kc-5"})(["display:inline-block;margin-left:8px;"]),gr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv5",componentId:"sc-yb27kc-6"})(["display:inline-block;margin-left:8px;"]),ur=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv6",componentId:"sc-yb27kc-7"})(["display:inline-block;margin-left:8px;"]),cr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv7",componentId:"sc-yb27kc-8"})(["display:inline-block;"]),dr=Object(g.d)("a").withConfig({displayName:"FireworksSimulationView___StyledA",componentId:"sc-yb27kc-9"})(["margin-left:8px;"]),pr=Object(g.d)("a").withConfig({displayName:"FireworksSimulationView___StyledA2",componentId:"sc-yb27kc-10"})(["margin-left:8px;"]),fr=Object(g.d)(b.a).withConfig({displayName:"FireworksSimulationView___StyledSpinner",componentId:"sc-yb27kc-11"})(["width:12px;height:12px;margin:0 4px;"]),hr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv8",componentId:"sc-yb27kc-12"})(["background:#00008822;padding:8px;margin-top:8px;"]),Ir=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv9",componentId:"sc-yb27kc-13"})(["display:inline-block"]),Cr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv10",componentId:"sc-yb27kc-14"})(["display:inline-block;margin-left:8px;"]),Er=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv11",componentId:"sc-yb27kc-15"})(["display:inline-block"]),mr=Object(g.d)("div").withConfig({displayName:"FireworksSimulationView___StyledDiv12",componentId:"sc-yb27kc-16"})(["display:inline-block;margin-left:8px;"]),Br=t(151),Qr=Object(Ie.b)({actions:function(){return{initializeFromShowId:function(e,n,t){return{showId:Number.parseInt(e),VdlEffectCompilerFactory:n,VdlPropsTxt:t}},initializeFromPartFields:function(e,n,t){return{partFields:e,VdlEffectCompilerFactory:n,VdlPropsTxt:t}},applyEeState:function(e){return{eeState:e}},debounceMutationToFinale3d:function(e){return{eeState:e.eeState,mutation:e.mutation}},clearMutationToFinale3d:!0,debounceMutationTail:!0,applyMutationToEffectBeingCustomized:function(e){return{mutation:e}},applyCurlyParamChange:function(e,n,t,a){return{inputSessionId:e,nodeId:n,fieldName:t,newValue:a}},applyNodeTextChange:function(e,n){return{nodeId:e,newText:n}},onNewClipboardText:function(e){return{clipboardText:e}},setSelectedNodeId:function(e){return{nodeId:e}},setConfigPanelValue:function(e,n){return{key:e,value:n}},setEeStateWhenTextGotFocused:function(e){return{eeStateWhenTextGotFocused:e}},setVdlEffectCompiler:function(e){return{vdlEffectCompiler:e}},setFinale3dMutationSyncPromise:function(e){return{promise:e}},setTextColumnField:function(e,n){return{fieldName:e,text:n}},onKeyDownColumnField:function(e,n){return{fieldName:e,e:n}},onChangeColumnField:function(e,n){return{fieldName:e,e:n}},onFocusColumnField:function(e,n){return{fieldName:e,e:n}},onBlurColumnField:function(e,n){return{fieldName:e,e:n}},onUndo:!0,onRedo:!0,startNewInputSession:!0}},reducers:function(){return{configPanelData:[{sizeRestriction:v.a.isRunningInFinale3d()?"none":"Canvas1080p",themeName:v.a.isRunningInFinale3d()?"light":"dark",runMode:v.a.isRunningInFinale3d()?"native":"web",renderSize:1080,treeRewriting:"v1",fmt3DictText:"(effect pft (shot mm (launch shell m (star (phase rising s (trail fuse (spark gold (smoke puff (break (tip red (smoke (sound burst mortar ground flame charcoal"},{setConfigPanelValue:function(e,n){var t=n.key,a=n.value,i=Object(de.a)({},e);return i[t]=a,i}}],showId:[null,{initializeFromShowId:function(e,n){return n.showId||null}}],selectedNodeId:[1,{setSelectedNodeId:function(e,n){return n.nodeId||null}}],focusedColumnField:[null,{onFocusColumnField:function(e,n){return n.fieldName||null},onBlurColumnField:function(){return null}}],eeStateWhenTextGotFocused:[null,{setEeStateWhenTextGotFocused:function(e,n){return n.eeStateWhenTextGotFocused||null}}],vdlEffectCompiler:[null,{setVdlEffectCompiler:function(e,n){return n.vdlEffectCompiler||null}}],inputSessionId:[null,{initializeFromShowId:function(){return Math.floor(2147483647*Math.random())},initializeFromPartFields:function(){return Math.floor(2147483647*Math.random())},startNewInputSession:function(){return Math.floor(2147483647*Math.random())}}],enqueuedMutationToFinale3d:[null,{debounceMutationToFinale3d:function(e,n){return{eeState:n.eeState,mutation:n.mutation}},clearMutationToFinale3d:function(e,n){return null}}],finale3dMutationSyncPromise:[null,{setFinale3dMutationSyncPromise:function(e,n){return n.promise}}],vdlText:["",{setTextColumnField:function(e,n){var t=n.fieldName,a=n.text;return"vdl"==t?(a||"").replace(/^USYM:/,""):e}}],inputDescriptionText:["",{setTextColumnField:function(e,n){var t=n.fieldName,a=n.text;return"inputDescription"==t?a||"":e}}],clipboardText:[null,{onNewClipboardText:function(e,n){return n.clipboardText||null}}],simpleValuesMap:[new Map,{applyEeState:function(e,n){var t=n.eeState;return new Map(e).set("eeState",t)}}]}},selectors:{eeState:[function(e){return[e.simpleValuesMap]},function(e){return e.get("eeState")}],effectRootNode:[function(e){return[e.eeState]},function(e){return e?e.rootNode:null}],effectFormat2Text:[function(e){return[e.vdlEffectCompiler,e.eeState]},function(e,n){var t,a=null===n||void 0===n||null===(t=n.rootNode)||void 0===t?void 0:t.nodeVdl;if(null==e)return"";if(null==a)return"";return e.ee_compressBlobText(a,"2","")}],effectFormat3Text:[function(e){return[e.vdlEffectCompiler,e.eeState,e.configPanelData]},function(e,n,t){var a,i=null===n||void 0===n||null===(a=n.rootNode)||void 0===a?void 0:a.nodeVdl;if(null==e)return"";if(null==i)return"";var r=t.fmt3DictText;return e.ee_compressBlobText(i,"2",r)}],effectFormatDisneyText:[function(e){return[e.vdlEffectCompiler,e.eeState,e.configPanelData]},function(e,n,t){var a,i=null===n||void 0===n||null===(a=n.rootNode)||void 0===a?void 0:a.nodeVdl;return null==e||null==i?"":e.ee_compressBlobText(i,"D","")}],topOutputText:[function(e){return[e.eeState]},function(e){var n="";if(null!=(null===e||void 0===e?void 0:e.partFields.size)&&(n="".concat(n," ").concat(e.partFields.size)),null!=(null===e||void 0===e?void 0:e.partFields.height)&&(n="".concat(n," ").concat(e.partFields.height,"m")),null!=(null===e||void 0===e?void 0:e.partFields.duration)){var t,a=Object(he.sprintf)("%.03f",null!==(t=null===e||void 0===e?void 0:e.partFields.duration)&&void 0!==t?t:0);a=a.replace(/(\d)0*$/,"$1"),n="".concat(n," ").concat(a,"s")}if(null!=(null===e||void 0===e?void 0:e.partFields.prefire)){var i,r=Object(he.sprintf)("%.03f",null!==(i=null===e||void 0===e?void 0:e.partFields.prefire)&&void 0!==i?i:0);r=r.replace(/(\d)0*$/,"$1"),n="".concat(n," ").concat(r,"pft")}n=n.trim();var o=((null===e||void 0===e?void 0:e.partFields.vdl)||"").replace(/^USYM:/,"");return n=(n=Ne(o)?"".concat(n," {SIM1} (").concat(o.length," characters)"):"".concat(n," ").concat(o)).trim()}],simulationVdl:[function(e){return[e.eeState,e.topOutputText]},function(e,n){var t=((null===e||void 0===e?void 0:e.partFields.vdl)||"").replace(/^USYM:/,"");return Ne(t)?t:n}],nodeVdlInfos:[function(e){return[e.eeState]},function(e){if(null==e)return null;var n=e.rootNode.nodeVdl,t=new Map,a=new Map,i=new Map;function r(e,n){za()("("==e[n]);for(var t=0,a=n;a .NodeSlug:not(.IsSelected){.SelectionHighlightHolder{background-color:",";}}}.NodeDotHolder{cursor:pointer;display:inline-block;position:relative;margin-right:2px;height:18px;}.NodeDot{display:inline-block;width:8.5px;position:relative;top:0.5px;color:",";&.IsEmpty{top:-2px;left:1px;font-size:7px;}&.IsCollapsed{left:2px;}}.NodeTag{display:inline-block;font-weight:",";color:",";}.TokensVdl{display:inline-block;color:",";}.DimensionsVdl{display:inline-block;color:",";}.NodeLineHolder{user-select:contain;position:relative;display:inline-block;.ColorSwatch{display:inline-block;width:8px;height:8px;margin-left:2px;border:1px solid black;border-radius:4px;position:relative;}.IndentSpacer{display:inline-block;}.IndentAndFirstNodeSlugHolder{cursor:pointer;display:inline-block;}}.DropdownHolder{height:16px;visibility:hidden;display:inline-block;position:relative;button{height:16px;line-height:15px;border-radius:3px;font-size:11px;color:#24292e;padding:0px 4px;margin-left:2px;>:not(:last-child){margin-right:4px;}}}"],(function(e){return yr[e.theme.effectEditorThemeName].treeNodeSelectedBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeHoverBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeDotColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeTagFontWeight}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeTagColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeTokensVdlColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeDimensionsVdlColor}));function Fr(e,n){var t,a,i={displayNode:e,addChildInfos:new Map,children:e.children},r=function(e){switch(e.nodeTag){case"effect":return["shot"];case"shot":return["launch"];case"launch":case"break":return["star","sound"];case"phase":return["trail","smoke trail","flame trail","tip","light beam"];case"star":return["phase","break"];case"trail":return["spark","smoke puff","flame puff"];case"smoke trail":return["smoke puff"];case"flame trail":return["flame puff"];case"sound":case"tip":case"spark":case"smoke puff":case"flame puff":case"light beam":return[]}return console.log("getChildNodeTypesForNode() unhandled nodeTag ".concat(JSON.stringify(e.nodeTag))),[]}(e),o=Object(xe.a)(r);try{for(o.s();!(a=o.n()).done;){var s=a.value;i.addChildInfos.set(s,{nodeToAddTo:e,enabled:!0})}}catch(T){o.e(T)}finally{o.f()}"launch"==e.nodeTag&&(1==(e.children||[]).filter((function(e){return"star"==e.nodeTag})).length&&(i.addChildInfos.get("star").enabled=!1));if("none"===n)return i;if("effect"==e.nodeTag&&1==(null===(t=e.children)||void 0===t?void 0:t.length)&&"shot"==e.children[0].nodeTag){var l=e.children[0];i.children=l.children}if(e.nodeTag.endsWith("trail")&&(i.children=void 0),"v1"==n)return i;if("star"==e.nodeTag){var A=(e.children||[]).filter((function(e){return"phase"==e.nodeTag})),g=(e.children||[]).filter((function(e){return"phase"!=e.nodeTag}));if(1==A.length){var u=Fr(A[0],n);i.children=[].concat(Object(br.a)(u.children||[]),Object(br.a)(g));var c,d=Object(xe.a)(u.addChildInfos.entries());try{for(d.s();!(c=d.n()).done;){var p=Object(h.a)(c.value,2),f=p[0],I=p[1];i.addChildInfos.set(f,I)}}catch(T){d.e(T)}finally{d.f()}}}if("break"==e.nodeTag){var C=(e.children||[]).filter((function(e){return"star"==e.nodeTag})),E=(e.children||[]).filter((function(e){return"star"!=e.nodeTag}));if(1==C.length){var m=Fr(C[0],n);i.children=[].concat(Object(br.a)(m.children||[]),Object(br.a)(E));var B,Q=Object(xe.a)(m.addChildInfos.entries());try{for(Q.s();!(B=Q.n()).done;){var y=Object(h.a)(B.value,2),b=y[0],_=y[1];i.addChildInfos.set(b,_)}}catch(T){Q.e(T)}finally{Q.f()}}}if("launch"==e.nodeTag){var k=(e.children||[]).filter((function(e){return"star"==e.nodeTag})),w=(e.children||[]).filter((function(e){return"star"!=e.nodeTag}));if(1==k.length){var F=Fr(k[0],n);i.children=[].concat(Object(br.a)(F.children||[]),Object(br.a)(w));var v,D=Object(xe.a)(F.addChildInfos.entries());try{for(D.s();!(v=D.n()).done;){var S=Object(h.a)(v.value,2),x=S[0],j=S[1];i.addChildInfos.set(x,j)}}catch(T){D.e(T)}finally{D.f()}}}return i}function vr(e){var n,t=Object(Ce.a)().t,a=Object(Ie.e)(Qr),i=a.clipboardText,r=a.configPanelData,o=a.selectedNodeId,s=Object(Ie.d)(Qr),l=s.setSelectedNodeId,A=s.applyNodeTextChange,g=o==e.node.nodeId,u=Fr(e.node,r.treeRewriting),c=u.displayNode,d=u.addChildInfos,p=u.children;var f=function(e){if(null==e)return null;var n=e.indexOf("(");if(n<0)return null;var t,a=Object(xe.a)(Ue);try{for(a.s();!(t=a.n()).done;){var i=t.value;if(e.startsWith(i,n+1))return i}}catch(r){a.e(r)}finally{a.f()}return null}(i),I=null!=f&&-1!=Object(br.a)(d.keys()).indexOf(f);var C="1"!=c.nodeId,E=c.nodeTag==f,m=[];if(m.push(Object(K.jsxs)(_r.a.Item,{onSelect:function(){!function(e){ze.apply(this,arguments)}(c.nodeVdl)},children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.e})}),Object(K.jsx)(jr,{children:t("Copy node to clipboard")})]},"onCopyAction")),m.push(Object(K.jsxs)(_r.a.Item,{onSelect:function(){var e=i.match(/[^(]*(.*)/);if(null!=e){var n=e[1];A(c.nodeId,n)}else console.log("onPasteAction(): could not find start of node in clipboardText ".concat(JSON.stringify(i)))},disabled:!E,children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.d})}),Object(K.jsx)(Tr,{children:t("Paste over node from clipboard")})]},"onPasteAction")),m.push(Object(K.jsxs)(_r.a.Item,{onSelect:function(){A(c.nodeId,"")},variant:"danger",disabled:!C,children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.p})}),Object(K.jsx)(Rr,{children:t("Delete node")})]},"onDeleteAction")),0!=d.size){if(m.push(Object(K.jsx)(_r.a.Divider,{},"divider1")),I){var B=d.get(f);m.push(Object(K.jsxs)(_r.a.Item,{disabled:!(null===B||void 0===B?void 0:B.enabled),onSelect:function(){var e=i.match(/[^(]*(.*)/);if(null!=e){var n=d.get(f).nodeToAddTo;if(null!=n){var t=e[1],a=n.nodeVdl,r=a.lastIndexOf(")");if(-1!=r){var o=a.substring(0,r)+t+")";A(n.nodeId,o)}else console.log("onAddChildFromClipboardAction(): could not find lastParenIndex in oldNodeVdl ".concat(JSON.stringify(a)))}else console.log("onAddChildFromClipboardAction(): no parentNode?",{nodeTypeOnClipboard:f})}else console.log("onAddChildFromClipboardAction(): could not find start of node in clipboardText ".concat(JSON.stringify(i)))},children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.n})}),Object(K.jsxs)(Mr,{children:["Add ",f," node from clipboard"]})]},"onAddChildFromClipboardAction"))}else m.push(Object(K.jsxs)(_r.a.Item,{disabled:!0,children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.n})}),Object(K.jsx)(Nr,{children:"Add child node from clipboard"})]},"onAddChildFromClipboardAction"));m.push(Object(K.jsx)(_r.a.Divider,{},"divider2")),Object(br.a)(d.entries()).forEach((function(e,n){var t=Object(h.a)(e,2),a=t[0],i=t[1];m.push(Object(K.jsxs)(_r.a.Item,{disabled:!i.enabled,onClick:function(){return function(e){var n=d.get(e).nodeToAddTo;if(null!=n){var t="(".concat(e,")"),a=n.nodeVdl,i=a.lastIndexOf(")");if(-1!=i){var r=a.substring(0,i)+t+")";A(n.nodeId,r)}else console.log("onAddBlankChildNode(): could not find lastParenIndex in oldNodeVdl ".concat(JSON.stringify(a)))}else console.log("onAddBlankChildNode(): no parentNode?",{childNodeType:e})}(a)},children:[Object(K.jsx)(_r.a.LeadingVisual,{children:Object(K.jsx)(y.a,{icon:Q.n})}),Object(K.jsxs)(Pr,{children:["Add blank ",a," node"]})]},"onAddBlankChildNode".concat(n)))}))}var b=Oe(e.node),_=(b.map((function(e,n){return Object(K.jsx)("span",{className:"ColorSwatch",style:{backgroundColor:e}},n)})),["NodeSlug"]);g&&_.push("IsSelected");var k=["NodeDot"],w=Q.f;e.isCollapsed&&(k.push("IsCollapsed"),w=Q.g),0==(null!==(n=null===p||void 0===p?void 0:p.length)&&void 0!==n?n:0)&&(k.push("IsEmpty"),w=Q.j);var F={};b.length>0&&(F.color=b[0]);var v=e.node.nodeTag;return"trail"==v&&(v="spark trail"),Object(K.jsxs)("div",{tabIndex:0,className:_.join(" "),onFocus:function(e){l(c.nodeId)},onCopy:function(e){e.clipboardData.setData("text/plain",c.nodeVdl),e.preventDefault()},children:[Object(K.jsxs)("div",{className:"SelectionHighlightHolder",children:[Object(K.jsx)("div",{className:"NodeDotHolder",onClick:function(n){null!=e.onClickNodeDot&&e.onClickNodeDot(),n.stopPropagation()},children:Object(K.jsx)("div",{className:k.join(" "),style:F,children:Object(K.jsx)(y.a,{icon:w})})}),Object(K.jsx)("div",{className:"NodeTag",children:v}),""!=e.node.tokensVdl&&" ",""!=e.node.tokensVdl&&Object(K.jsx)("div",{className:"TokensVdl",children:e.node.tokensVdl}),""!=e.node.dimensionsVdl&&" ",""!=e.node.dimensionsVdl&&Object(K.jsx)("div",{className:"DimensionsVdl",children:e.node.dimensionsVdl})]}),Object(K.jsxs)("div",{className:"DropdownHolder",onClick:function(e){return e.stopPropagation()},onMouseDown:function(e){return e.stopPropagation()},children:[Object(K.jsx)("div",{className:"DropdownHoverRegion"}),Object(K.jsxs)(kr.a,{children:[Object(K.jsx)(kr.a.Button,{children:"actions"}),Object(K.jsx)(kr.a.Overlay,{children:Object(K.jsx)(_r.a,{children:m})})]})]})]})}function Dr(e){Object(Ce.a)().t;var n,t,a,i=Object(Ie.d)(Qr).setSelectedNodeId,r=Object(Ie.e)(Qr).configPanelData,o=Object(u.useState)(function(e){switch(e.nodeTag){case"trail":case"smoke trail":case"flame trail":case"phase":case"star":default:return!1;case"launch":return-1!=e.tokensVdl.indexOf("mortar")}}(e.node)),s=Object(h.a)(o,2),l=s[0],A=s[1],g=24*(null!==(n=e.indent)&&void 0!==n?n:0),c=(null!==(t=null===(a=e.node.children)||void 0===a?void 0:a.length)&&void 0!==t?t:0)>0&&l;var d=Fr(e.node,r.treeRewriting).children;return Object(K.jsxs)(wr,{className:"TreeViewNode",children:[Object(K.jsx)("div",{className:"NodeLineHolder",children:Object(K.jsxs)("div",{className:"IndentAndFirstNodeSlugHolder",onClick:function(){return i(e.node.nodeId)},onDoubleClick:function(){return A(!l)},children:[Object(K.jsx)(Or,{className:"IndentSpacer",$_css:"".concat(g,"px")}),Object(K.jsx)(vr,{node:e.node,isCollapsed:c,onClickNodeDot:function(){A(!l)}})]})}),!c&&d&&Object(K.jsx)(K.Fragment,{children:d.map((function(n,t){var a;return Object(K.jsx)(Dr,{node:n,indent:(null!==(a=e.indent)&&void 0!==a?a:0)+1},t)}))})]})}var Sr=g.d.div.withConfig({displayName:"TreeView__TreeViewDiv",componentId:"sc-1spbe06-1"})([""]);function xr(e){return Object(K.jsx)(Sr,{children:null!=e.effectRootNode&&Object(K.jsx)(Dr,{node:e.effectRootNode})})}var jr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan",componentId:"sc-1spbe06-2"})(["white-space:pre"]),Tr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan2",componentId:"sc-1spbe06-3"})(["white-space:pre"]),Rr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan3",componentId:"sc-1spbe06-4"})(["white-space:pre"]),Mr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan4",componentId:"sc-1spbe06-5"})(["white-space:pre"]),Nr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan5",componentId:"sc-1spbe06-6"})(["white-space:pre"]),Pr=Object(g.d)("span").withConfig({displayName:"TreeView___StyledSpan6",componentId:"sc-1spbe06-7"})(["white-space:pre"]),Or=Object(g.d)("div").withConfig({displayName:"TreeView___StyledDiv",componentId:"sc-1spbe06-8"})((function(e){return{marginLeft:e.$_css}})),Gr=t(228),Lr=t.n(Gr),Ur='\n{\n\n// There are 4 types of VDL terms, differing by properties [ language ], [ translation ], [ reformulation ]:\n//\n// 1. Language terms (having [ language XXX ] and [ translation XXX ]; not [ reformulation ]) in their props. Terms in natural language, including English, yet not VDL.\n// 2. Correction terms (having [ translation XXX ], not [ language XXX ] or [ reformulation ]). Misspellings.\n// 3. Non-terminal VDL terms (having [ translation XXX ] and [ reformulation ], not [ language XXX ]). Implementing A as B.\n// 4. Terminal VDL terms (not having [ translation XXX ] nor [ reformulation ] nor [ language XXX ]). Definition of sim.\n//\n// Language Translation Reformulation --\x3e Type of VDL term\n// no no no ---\x3e 4\n// no no yes ---\x3e invalid (can\'t have reformulation without translation)\n// no yes no ---\x3e 2\n// no yes yes ---\x3e 3\n// yes no no ---\x3e invalid (can\'t be language without a translation)\n// yes no yes ---\x3e invalid (can\'t have reformulation without translation; and can\'t be language without a translation)\n// yes yes no ---\x3e 1\n// yes yes yes ---\x3e invalid (reformulation applies only to non-language terms)\n//\n// VDL terms should have a [ subtype xxx ] from the following enumerated set of standard English subtypes:\n//\n// brocade, cake, chrysanthemum, comet, crossette, dahlia, diadem,\n// falling leaves, kamuro, mine, other, palm, peony, ring, wave, willow, ground, sfx, light.\n// (there\'s no "ground", which is a type whose subtype should be "other";\n// "other" is also the default if no terms in the description specify otherwise)\n// FIXME: this paragraph is not internally consistent with respect to "other", which appears to be in use.\n//\n// This is a curated list that is intentionally kept small so filtering effects by subtype in FTUX\n// delivers populated lists.\n//\n// The list of [ subtypes ] is related to but not the same as the enumerated [ partType ] (also see [ shotCategory ][ pieceCategory ]):\n// cake, (roman) candle, single_shot, shell, ground, rocket, mine, comet, flame, other_effect, not_an_effect, rack, sfx, light.\n// \n// The differences between type and subtype are:\n// \n// * Subtypes are translated to or entered in the local language, whereas types are a pre-defined enumerated\n// set of lower case English words.\n// * While the "standard" English subtypes and their translations are enumerated and pre-defined, the user can\n// create and add his own subtypes; only the defaults are pre-defined.\n// * Types have semantic characteristics that the software uses, such as whether the type of item requires\n// a mortar. Subtypes have no meaning to the software, and are merely an organizational/filter field for the user.\n// * With the exception of "cake", the subtypes describe the effect; whereas the type describes the packaging.\n//\n// Language terms do not need a subtype because they\'ll inherit an English subtype (of the enumerated set) from their\n// VDL equivalent, which will then be translated to the input language. VDL terms with \'sameAsLanguages properties can have subtypes, however.\n\n[ SYSTEM_default {\n [ tip {\n [ defaultCaliberMm 5.0 ]\n [ sparkSize 1.0 ]\n [ sparkSizeKappa 0.15 ]\n [ sparkIntensity 1.0 ]\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n }]\n [ charcoalTip {\n [ sparkSizeKappa 0.5 ]\n [ intensityCurve bumpUpDown ]\n [ startTemp 3500.0 ]\n [ endTemp 3000.0 ]\n }]\n [ primeBurnTip {\n [ sparkSizeKappa 0.5 ]\n [ intensityCurve bumpUpDown ]\n [ startTemp 3500.0 ]\n [ endTemp 3000.0 ]\n [ particleSizeCurveTable [\n [ sparkIntensity [\n 3.0 0.2\n 5.1 0.15\n 7.6 0.05\n 15.1 0.03\n ]]\n ]]\n }]\n [ strobePotTip {\n [ intensityCurve "H4sIAAAAAAAAAxPS4RJhAIKzZ87YASn7WTMl7RkYGuyFRPKFmK1AGMSDsQFdLINmLgAAAA==" ]\n [ intensityCurveLoopDuration 0.5 ]\n [ sparkIntensity 100.0 ]\n [ startTemp 3000 ]\n [ endTemp 3000 ]\n }]\n [ spark {\n [ defaultCaliberMm 1.0 ]\n [ startTemp 4500.0 ]\n [ endTemp 4000.0 ]\n [ sparkIntensity 1.0 ]\n [ sparkSize 1.0 ]\n [ sparkSizeKappa 0.6 ]\n [ intensityCurve linearDown ]\n }]\n [ light_beam {\n [ intensityCurve one ]\n [ defaultCaliberMm 5.0 ]\n }]\n [ goldSpark {\n }]\n [ silverSpark {\n [ startTemp 0.0 ]\n [ endTemp 4500.0 ]\n }]\n [ badcolorSpark {\n [ startTemp 0.0 ]\n [ endTemp 0.0 ]\n }]\n [ charcoalSpark {\n [ sparkSizeKappa 2.0 ]\n [ intensityCurve gaussian3Down ]\n [ startTemp 3000 ]\n [ endTemp 2500 ]\n }]\n [ charcoalBaseSpark {\n [ sparkSizeKappa 0.6 ]\n [ intensityCurve one ]\n [ sparkIntensity 1.3 ]\n [ startTemp 3500 ]\n [ endTemp 2000 ]\n }]\n [ primeBurnSpark {\n [ sparkSizeKappa 1.0 ]\n [ intensityCurve linearDown ]\n [ startTemp 3500.0 ]\n [ endTemp 3000.0 ]\n }]\n [ glitterSpark {\n [ sparkSizeKappa 0.6 ]\n [ intensityCurve twinklingTrail ]\n [ intensityCurveLoopDuration 4 ]\n [ startTemp 4500 ]\n [ endTemp 4000 ]\n }]\n [ shimmeringSpark {\n [ intensityCurve shimmering ]\n [ intensityCurveLoopDuration 4 ]\n }]\n [ twinklingSpark {\n [ intensityCurve twinklingTrail ]\n [ intensityCurveLoopDuration 4 ]\n }]\n [ glitterBaseSpark {\n [ sparkIntensity 1.3 ]\n [ intensityCurve one ]\n [ startTemp 3500 ]\n [ endTemp 2000 ]\n }]\n [ brocadeSpark {\n [ intensityCurve brocadeTrail ]\n [ intensityCurveLoopDuration 4 ]\n }]\n [ brocadeBaseSpark {\n [ sparkIntensity 1.3 ]\n [ intensityCurve one ]\n [ startTemp 3500 ]\n [ endTemp 2000 ]\n }]\n\n [ sparkTrail {\n [ emitDurationKappa 0.5 ]\n [ emitDiscRadius 0.02 ]\n [ emitHelixSpinRate 2.0 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ emitRateAnimation EmitCurveTaper1 ]\n [ emitSizeKappa 0.6 ]\n [ emitSparkMinScreenWidth 1.0 ]\n [ emitSpeedKappa 0.60 ]\n [ emitStyle uniform ]\n [ emitWindFriction 100.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitVelTaper 0.1 ]\n\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.6\n 7.6 0.7\n 15.1 0.8\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.5\n 7.6 2.0\n 15.1 3.0\n ]]\n [ emitRate [\n 3.0 70\n 5.1 75\n 7.6 100\n 15.1 110\n ]]\n [ emitDuration [\n 3.0 0.5\n 5.1 0.6\n 7.6 0.7\n 15.1 0.8\n ]]\n ]]\n }]\n\n [ charcoalBaseTrail {\n [ emitSizeMm 1.0 ]\n [ emitDurationKappa 0.5 ]\n [ emitDiscRadius 0.02 ]\n [ emitHelixSpinRate 2.0 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ emitRateAnimation EmitCurveTaper1 ]\n [ emitSizeKappa 0.6 ]\n [ emitSparkMinScreenWidth 1.0 ]\n [ emitSpeedKappa 0.60 ]\n [ emitStyle uniform ]\n [ emitWindFriction 100.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitVelTaper 0.1 ]\n\n [ particleSizeCurveTable [\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.5\n 7.6 2.0\n 15.1 3.0\n ]]\n [ emitRate [\n 3.0 70\n 5.1 75\n 7.6 100\n 15.1 110\n ]]\n [ emitDuration [\n 3.0 0.5\n 5.1 0.6\n 7.6 0.7\n 15.1 0.8\n ]]\n ]]\n }]\n\n [ primeBurnTrail {\n [ emitSizeMm 1.0 ]\n [ emitDuration 0.06 ]\n [ emitSpeed 1.5 ]\n [ emitRate 100.0 ]\n [ emitRateAnimation gaussian6Down ]\n\n [ particleSizeCurveTable [\n [ emitRateCurveMaxX [\n 3.0 50\n 5.1 40\n 7.6 30\n 15.1 20\n ]]\n ]]\n }]\n\n [ charcoalTrail {\n [ emitDurationKappa 1.0 ]\n [ emitDiscRadius 0.02 ]\n [ emitHelixSpinRate 2.0 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ emitRate 500.0 ]\n [ emitRateAnimation BumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ emitSizeMm 1.0 ]\n [ emitSparkMinScreenWidth 1.0 ]\n [ emitSpeedKappa 0.60 ]\n [ emitStyle uniform ]\n [ emitWindFriction 100.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitVelTaper 0.3 ]\n\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.9\n 5.1 1.0\n 7.6 1.1\n 15.1 1.2\n ]]\n [ emitDuration [\n 3.0 0.6\n 5.1 1.0\n 7.6 1.5\n 15.1 1.8\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.25\n 7.6 1.5\n 15.1 2.0\n 76.2 4.0\n ]]\n ]]\n }]\n\n [ brocadeTrail {\n [ emitWindFriction 150 ]\n [ emitWindFrictionKappa 0.3 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 35\n 5.1 37\n 7.6 50\n 15.1 55\n ]]\n [ emitDuration [\n 3.0 1\n 5.1 2\n 7.6 2.4\n 15.1 2.8\n ]]\n ]]\n }]\n [ brocadeBaseTrail {\n [ emitDurationKappa 0.5 ]\n [ emitWindFriction 150 ]\n [ emitWindFrictionKappa 0.3 ]\n [ emitSpeedKappa 0.6 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 70\n 5.1 75\n 7.6 100\n 15.1 110\n ]]\n [ emitDuration [\n 3.0 1\n 5.1 2\n 7.6 2.4\n 15.1 2.8\n ]]\n [ emitSpeed [\n 3.0 1\n 5.1 1.5\n 7.6 2\n 15.1 3\n ]]\n ]]\n }]\n\n [ microstarsTrail {\n [ emitVelTaper 0.75 ]\n [ emitRateAnimation microstarsTrail ]\n [ emitSpeedKappa 0.30 ]\n [ emitDurationKappa 0.8 ]\n [ emitWindFriction 50.0 ]\n [ emitWindFrictionKappa 0.3 ]\n [ emitInheritVelocity 0.5 ]\n [ particleSizeCurveTable [\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.25\n 7.6 1.5\n 15.1 3.0\n 76.2 6.0\n ]]\n [ emitDuration [\n 3.0 0.6\n 5.1 1.0\n 7.6 1.1\n 15.1 1.3\n ]]\n [ emitRate [\n 3.0 10\n 5.1 10\n 7.6 11\n 15.1 12\n 76.2 60\n ]]\n [ emitSizeMm [\n 3.0 3\n 5.1 3.5\n 7.6 4\n 15.1 4.5\n ]]\n ]]\n }]\n\n [ activeTrail {\n [ emitDuration 0.25 ]\n [ emitDiscRadius 0.02 ]\n [ emitHelixSpinRate 2.0 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ emitRate 50 ]\n [ emitRateAnimation EmitCurveTaper1 ]\n [ emitSizeMm 1.0 ]\n [ emitSizeKappa 0.6 ]\n [ emitSparkMinScreenWidth 1.0 ]\n [ emitSpeed 3.0 ]\n [ emitSpeedKappa 0.60 ]\n [ emitStyle uniform ]\n [ emitWindFriction 50.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitVelTaper 0.1 ]\n\n [ particleSizeCurveTable [\n [ emitRate [\n 2.5 1.0\n 25 4.0\n ]]\n [ emitDuration [\n 7.5 1.0\n 25 1.5\n ]]\n [ emitDurationKappa [\n 2.5 0.6\n 25 0.713929\n ]]\n ]]\n }]\n\n [ star {\n [ durationKappa 0.15 ]\n [ windFrictionKappa 0.12 ]\n [ particleSizeCurveTable [\n [ windFriction [\n 1.6 25.0\n 2.0 50.0\n 2.4 25.0\n 3.5 25.0\n 7.5 18.75\n 12.5 12.5\n 20.0 8.0\n 31.8 8.0 // 5" shell\'s launch star\n 38.1 6.0 // 6"\n 50.8 4.0 // 8"\n 63.5 3.0 // 10"\n 76.2 2.7 // 12"\n 101.6 1.7 // 16"\n 152.4 1.5 // 24"\n ]]\n ]]\n }]\n [ whistleStar {\n [ motionType whistle ]\n }]\n\n [ loose {\n [ shellBreak {\n [ soundTokens [ burst ] ]\n }]\n [ reportBreak {\n [ soundTokens [ report ] ]\n }]\n [ crackleFlowerBreak {\n }]\n [ star {\n [ defaultCaliberMm 5.0 ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 2.5 0.5\n 7.5 1.5\n 20.0 4.8\n ]]\n ]]\n }]\n [ brocadeStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.13\n 5.1 1.73\n 7.6 3.0\n 15.1 5.5\n ]]\n ]]\n }]\n [ willowStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.13\n 5.1 1.73\n 7.6 3.0\n 15.1 5.5\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ defaultTrailColor charcoalbase ]\n }]\n [ charcoalWillowBaseTrail {\n [ defaultTrailColor charcoalwillowbase ]\n }]\n [ primeBurnTrail {\n [ defaultTrailColor prime_burn ]\n }]\n [ charcoalTrail {\n [ defaultTrailColor charcoal ]\n }]\n [ laceCrackleTrail {\n [ defaultTrailColor charcoal ]\n }]\n [ silverTrail {\n [ defaultTrailColor silver ]\n }]\n [ fountainTrail {\n [ defaultTrailColor silver ]\n }]\n\n [ launch {\n [ soundTokens [ mortar ] ]\n }]\n [ groundLaunch {\n [ soundTokens [ fountain ] ]\n }]\n }]\n\n [ looseyGooseyFountainTrail {\n [ defaultHeight 6.0 ]\n }]\n [ looseyGooseyFlameTrail {\n [ defaultHeight 2.0 ]\n }]\n\n [ smoke_trail {\n [ emitDuration 20.0 ]\n [ emitDurationKappa 0.15 ]\n [ emitDiscRadius 0.02 ]\n [ emitInheritVelocity 0.0 ]\n [ emitRate 1.0 ]\n [ emitRateAnimation EmitCurveTaper1 ]\n [ emitSizeKappa 0.2 ]\n [ emitSparkMinScreenWidth 1.0 ]\n [ emitSpeed 1.0 ]\n [ emitSpeedKappa 0.1 ]\n [ emitStyle turbulent ]\n [ emitWindFriction 75.0 ]\n [ emitWindFrictionKappa 0.005 ]\n\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 0.0 0.0\n 1000.0 1000.0\n ]]\n [ emitRate [\n 2.54 100.0\n 7.62 250.0\n 25.4 250.0\n ]]\n ]]\n }]\n\n [ smoke_puff {\n [ defaultCaliberMm 5.0 ]\n [ smokePuffSizeCurve smokeSize1 ]\n [ smokePuffDensity 4.0 ]\n\n [ particleSizeCurveTable [\n [ smokePuffStartSize [\n 2.5 0.04\n 7.5 0.08\n 25.4 0.08\n ]]\n [ smokePuffEndSize [\n 2.5 0.4\n 7.5 0.8\n 25.4 0.8\n ]]\n ]]\n }]\n\n\n [ fountainTrail {\n [ emitDiscRadius 0.02 ]\n [ emitRate 1000.0 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitSizeMm 1.0 ]\n [ emitStyle fountain ]\n [ emitVelTaper 0.9 ]\n [ emitSpeed 1.0 ]\n [ emitSpeedKappa 0.3 ]\n [ emitWindFriction 12.5 ]\n [ emitWindFrictionKappa 0.3 ]\n [ emitApexFactor 0.5 ]\n [ defaultTrailColor gold ]\n\n [ emitAngleDegreesSigma 1.0 ]\n [ emitDuration 1.87636 ]\n [ emitDurationKappa 0.6 ]\n\n [ particleSizeCurveTable [\n [ emitSpeed [\n 0.0254 1.0\n 0.0508 1.0\n 0.0762 1.0\n 0.2032 1.0\n 0.3048 1.0\n 0.6096 1.0\n ]]\n\n [ emitRate [\n 0.0762 1.0\n ]]\n ]]\n\n }]\n\n\n [ flame_puff {\n [ defaultCaliberMm 5.0 ]\n [ flamePuffStartSize 1.0 ]\n [ flamePuffEndSize 10.0 ]\n [ flamePuffSizeCurve exploFlameSize ]\n [ flamePuffTempCurve exploFlameTemp ]\n [ flamePuffAlphaCurve exploFlameAlpha ]\n }]\n\n [ flame_trail {\n [ emitRate 3500 ]\n [ emitDuration 0.294242501 ]\n [ emitDurationKappa 0.9 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitInheritVelocity 0.0 ]\n [ emitInheritVelocityKappa 0.033333 ]\n [ emitAngleDegreesSigma 0.2 ]\n [ emitWindFriction 125.0 ]\n [ emitWindFrictionKappa 0.075 ]\n [ emitVelTaper 1.0 ]\n [ emitStyle fountain ]\n [ emitSpeed 64.5993958 ]\n [ emitSpeedKappa 0.3 ]\n [ emitApexFactor 0.454351 ]\n\n [ particleSizeCurveTable [\n [ emitSize [\n 0.0 0.0\n 1000.0 1000.0\n ]]\n ]]\n }]\n\n [ mineBreak {\n [ defaultCaliberMm 76.2 ]\n [ breakTimeFactor 0.0 ]\n [ defaultBreakShape mine ]\n\n [ breakWidth 1.0 ]\n [ mineForceScaleBreakWidth 1.0 ]\n [ breakWidthKappa 0.0 ]\n [ defaultStarDurationScale 1.0 ]\n [ defaultBreakShape mine ]\n [ breakInheritVelocity 1.0 ]\n [ breakInheritVelocityKappa 0.15 ]\n [ breakReorientGravity false ]\n [ defaultBreakPrefire 0.0 ]\n [ mineBreakWidthFromShotHeight 0.451145 ]\n [ breakRaggedness 0.03 ]\n\n [ particleSizeCurveTable [\n [ defaultMineBreakWidth [\n 0.0 3.4\n 25.0 8.1\n 50.8 13.3\n 76.2 15.5\n 152.4 32.4\n 304.8 46.0\n 30480.0 4600.0 // scale both previous values by 100\n ]]\n [ defaultStarDurationScale [\n 25.4 1.5312152841305735\n 50.8 1.288962606689734\n 76.2 1.6\n 152.4 1.0601275898105815\n ]]\n [ breakNumChildren [\n 0 18.0\n 75 53.0\n 100 70.0\n 125 85.0\n 1250 850.0\n ]]\n [ mineBreakWidthFromShotHeight [\n 12.5 0.90\n 25.0 0.75\n 50.0 0.58\n 75.0 0.94\n ]]\n [ starSizeMm [\n 12.5 1.625\n 25 3.0\n 50 4.25\n 75 3.75\n 7500 375.0 // scale both previous values by 100\n ]]\n ]]\n }]\n\n [ shellBreak {\n [ defaultCaliberMm 76.2 ]\n [ defaultBreakShape sphere ]\n [ breakInheritVelocity 1.0 ]\n [ breakInheritVelocityKappa 0.2 ]\n [ breakReorientGravity false ]\n [ worldFlashIntensity 1.0 ]\n [ worldFlashDuration 0.041666666666 ]\n [ breakFlashSparkColor :bfbfd8 ]\n [ defaultBreakPrefire 2.0 ]\n [ particleSizeCurveTable [\n [ breakFlashSparkIntensity [\n 75 10\n 150 50\n 750 50\n ]]\n [ breakWidth [\n 25.4 22.3\n 50.8 44.2\n 76.2 72.3\n 101.6 94.8\n 127.0 124.1\n 152.4 146.4\n 304.8 292.8\n 3048.0 2928.0\n ]]\n [ breakWidthKappa [\n 50.4 0.05 // 2.0"\n 63.5 0.03 // 2.5"\n 750 0.03\n ]]\n [ breakRaggedness [\n 38.1 0.20 // 1.5"\n 44.45 0.15 // 1.75"\n 50.4 0.10 // 2.0"\n 63.5 0.03 // 2.5"\n 750 0.03\n ]]\n [ breakNumChildren [\n 12.7 35 // 0.5"\n 19.05 45 // 0.75"\n 44.45 45 // 1.75"\n 50 50.0\n 75 100.0\n 200 200.0\n 300 300.0\n 600 600.0\n ]]\n [ starSizeMm [\n 25.4 3.0 // 1.0"\n 31.75 3.175 // 1.25"\n 150 15.0\n 300 20.0 // According to Shimizu p.252, stars are approx. 6.6% of the size of the shell for 12" shells. Thus stars from 12" shell are 0.0200 diameter.\n ]]\n ]]\n }]\n [ pistilBreak {\n // pistilBreak is a copy of shellBreak except for this block. keep this comment up-to-date if this changes in the future. \n [ breakNumChildren 0.5 ]\n [ breakWidth 0.5 ]\n [ starSizeMm 0.75 ]\n\n [ defaultCaliberMm 76.2 ]\n [ defaultBreakShape sphere ]\n [ breakInheritVelocity 1.0 ]\n [ breakInheritVelocityKappa 0.2 ]\n [ breakReorientGravity false ]\n [ worldFlashIntensity 1.0 ]\n [ worldFlashDuration 0.041666666666 ]\n [ breakFlashSparkColor :bfbfd8 ]\n [ defaultBreakPrefire 2.0 ]\n [ particleSizeCurveTable [\n [ breakFlashSparkIntensity [\n 75 10\n 150 50\n ]]\n [ breakWidth [\n 25.4 22.3\n 50.8 44.2\n 76.2 72.3\n 101.6 94.8\n 127.0 124.1\n 152.4 146.4\n 304.8 292.8\n 3048.0 2928.0 // scale both previous values by 10\n ]]\n [ breakWidthKappa [\n 50.4 0.05 // 2.0"\n 63.5 0.03 // 2.5"\n ]]\n [ breakRaggedness [\n 38.1 0.20 // 1.5"\n 44.45 0.15 // 1.75"\n 50.4 0.10 // 2.0"\n 63.5 0.03 // 2.5"\n ]]\n [ breakNumChildren [\n 12.7 35 // 0.5"\n 19.05 45 // 0.75"\n 44.45 45 // 1.75"\n 50 50.0\n 75 100.0\n 200 200.0\n 300 300.0\n 600 600.0\n ]]\n [ starSizeMm [\n 25.4 3.0 // 1.0"\n 31.75 3.175 // 1.25"\n 150 15.0\n 300 20.0 // According to Shimizu p.252, stars are approx. 6.6% of the size of the shell for 12" shells. Thus stars from 12" shell are 0.0200 diameter.\n ]]\n ]]\n }]\n\n [ crossetteShellBreak {\n [ breakInheritVelocity 0.0 ]\n }]\n \n [ reportBreak {\n [ defaultCaliberMm 76.2 ]\n [ breakNumChildren 0 ]\n [ worldFlashIntensity 1.0 ]\n [ worldFlashDuration 0.041666666666 ]\n [ breakFlashSparkColor :bfbfd8 ]\n [ breakSmokeSize 0.5 ]\n [ particleSizeCurveTable [\n [ breakFlashSparkIntensity [\n 25 10\n 75 400\n ]]\n [ starSizeMm [\n 0.0 0.0\n 10000.0 10000.0\n ]]\n ]]\n }]\n\n [ crackleFlowerBreak {\n [ defaultCaliberMm 7.5 ]\n [ breakNumChildren 1 ]\n [ breakDurationKappa 0.1 ]\n [ worldFlashIntensity 0.0 ]\n [ worldFlashDuration 0.041666666666 ]\n [ breakFlashSparkColor :ffcc4c ]\n [ breakFlashSparkIntensity 1.0 ]\n [ breakWidth 0.0 ]\n [ breakRaggedness 0.0 ]\n [ breakSmokeSize 1.0 ]\n [ particleSizeCurveTable [\n [ starSizeMm [\n 0.0 0.0\n 10000.0 10000.0\n ]]\n ]]\n }]\n\n [ peanutBreak {\n [ defaultCaliberMm 76.2 ]\n [ breakNumChildren 2 ]\n [ subShellPrefire 1.0 ]\n [ breakFlashSparkIntensity 0.0 ]\n [ worldFlashIntensity 0.0 ]\n [ breakSmokeSize 0.0 ]\n [ breakSmokeDensity 0.0 ]\n }]\n\n [ shellOfShellsBreak {\n [ defaultCaliberMm 76.2 ]\n [ breakNumChildren 1 ]\n [ subShellPrefire 1.0 ]\n [ defaultBreakShape sphere ]\n [ breakInheritVelocity 0.0 ]\n [ breakReorientGravity false ]\n [ breakWidth 0.6 ]\n [ breakWidthKappa 0.03 ]\n [ breakRaggedness 0.2 ]\n [ defaultBreakPrefire 3.0 ]\n [ defaultStarDurationScale 0.35 ]\n\n [ subShellCaliberMm 25 ]\n [ subShellDuration 1 ]\n\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 3\n 50.8 4\n 76.2 6\n 101.6 10\n 127.0 20\n 152.4 24\n 203.2 45\n ]]\n [ subShellPrefire [\n 19.1 0.6\n 50.8 1.0\n 76.2 1.25\n 101.6 1.5\n 127.0 1.75\n 152.4 2.0\n 203.2 2.75\n ]]\n [ breakWidth [ // copy of shellBreak\n 25.4 22.3\n 50.8 44.2\n 76.2 72.3\n 101.6 94.8\n 127.0 124.1\n 152.4 146.4\n 304.8 292.8\n 3048.0 2928.0\n ]]\n ]]\n }]\n\n [ splitStarBreak {\n // these default tuning values are for stars in crossette shells\n // the rising token has splitStarBreak modifiers so that rising crossettes\n // can be tuned separately\n\n [ defaultCaliberMm 25.4 ]\n [ breakNumChildren 2 ]\n [ breakInheritVelocity 0.2 ]\n [ breakInheritVelocityKappa 0.6 ]\n [ breakWidthKappa 0.035 ]\n [ splitStarDurationFactor 0.35 ]\n [ defaultStarDurationScale 0.5]\n [ defaultBreakPrefire 1.5 ]\n\n [ breakSmokeSize 0.5 ]\n\n [ particleSizeCurveTable [\n [ starSizeMm [\n 1.5 1.0\n 20.0 13.0 // 65%\n 2000.0 1300.0 // scale both previous values by 100\n ]]\n [ breakWidth [\n 3.0 7.41754341\n 5.0 11.0119839\n 10.0 20.2893524\n 15.0 30.3410091\n 30.0 39.430481\n 35.5 39.8329\n 40.0 40.1648865\n 53.3 40.4461517\n 533.0 404.461517 // scale both previous values by 10\n ]]\n [ defaultStarDurationScale [\n 25.4 2.0\n 76.2 1.0\n ]]\n ]]\n }]\n\n [ groundLaunch {\n [ defaultCaliberMm 25.4 ]\n [ launchAngleDegreesSigma 1.0 ]\n\n [ defaultLaunchHeight 6.0 ]\n [ defaultLaunchDuration 20.0 ]\n [ launchDurationKappa 0.02 ]\n }]\n\n [ mineLaunch {\n [ defaultCaliberMm 50.8 ]\n\n [ launchHeightKappa 0.10 ]\n [ launchDurationKappa 0.03 ]\n\n [ launchPointLightColor :ffcc4c ]\n [ launchPointLightIntensity 50.0 ]\n [ launchPointLightDuration 0.25 ]\n [ launchPointLightIntensityCurve linearDown ]\n\n [ particleSizeCurveTable [\n [ defaultLaunchApexFactor [\n 25 0.587621\n 50 0.542471\n 75 0.57\n 100 0.617\n 125 0.662\n ]]\n [ defaultLaunchHeight [\n 0 1.5\n 12.5 12.5\n 20.0 14.2\n 30.0 25.0\n 40.0 35.0\n 50.0 40.0\n 75.0 50.0\n 100.0 60.0\n 125.0 65.0\n 1250.0 650.0 // multiplied the prev value by 10\n ]]\n ]]\n }]\n\n [ shellLaunch {\n [ defaultCaliberMm 76.2 ]\n\n [ launchDroopFactor -0.01 ]\n [ launchHeightKappa 0.15 ]\n [ launchDurationKappa 0.03 ]\n [ launchAngleDegreesSigma 1.0 ]\n\n [ launchPointLightColor :ffcc4c ]\n [ launchPointLightIntensity 50.0 ]\n [ launchPointLightDuration 0.25 ]\n [ launchPointLightIntensityCurve linearDown ]\n\n [ particleSizeCurveTable [\n [ defaultLaunchHeight [\n 12.7 33.5 // 0.5"\n 19.05 36.6 // 0.75"\n 25.4 39.6 // 1.0"\n 31.75 41.1 // 1.25"\n 38.1 42.8 // 1.5"\n 50.8 50.0 // 2.0"\n 63.5 76.0 // 2.5"\n 76.2 100.0 // 3.0"\n 101.6 122.0 // 4.0"\n 127.0 152.0 // 5.0"\n 152.4 183.0 // 6.0"\n 203.2 219.0 // 8.0"\n 254.0 244.0 // 10.0"\n 304.8 293.0 // 12.0"\n 406.4 365.0 // 16.0"\n 609.6 475.0 // 24.0"\n ]]\n [ defaultLaunchDuration [\n 12.7 1.63 // 0.5"\n 19.05 1.82 // 0.75"\n 25.4 1.90 // 1.0"\n 31.75 1.94 // 1.25"\n 38.1 2.00 // 1.5"\n 50.8 2.20 // 2.0"\n 63.5 2.50 // 2.5"\n 76.2 2.80 // 3.0"\n 101.6 3.20 // 4.0"\n 127.0 3.60 // 5.0"\n 152.4 4.20 // 6.0"\n 203.2 4.80 // 8.0"\n 254.0 5.40 // 10.0"\n 304.8 6.00 // 12.0"\n 406.4 7.00 // 16.0"\n 609.6 8.00 // 24.0"\n ]]\n ]]\n }]\n\n [ risingLaunch {\n [ defaultCaliberMm 25.4 ]\n\n [ launchHeightKappa 0.045 ]\n [ launchDurationKappa 0.03 ]\n [ launchAngleDegreesSigma 2.0 ]\n\n [ launchPointLightColor :ffcc4c ]\n [ launchPointLightIntensity 50.0 ]\n [ launchPointLightDuration 0.25 ]\n [ launchPointLightIntensityCurve linearDown ]\n\n [ particleSizeCurveTable [\n [ defaultLaunchHeight [\n 6.35 30.0 // 0.25"\n 12.7 40.0 // 0.5"\n 20.0 50.0\n 30.0 65.0\n 40.0 75.0\n 50.0 90.0\n 70.0 110.0\n 76.2 110.0\n 101.6 125.0 // 4"\n 127.0 130.0 // 5"\n 152.4 135.0 // 6"\n 203.2 140.0 // 8"\n 254.0 145.0 // 10"\n 304.8 150.0 // 12"\n 3048.0 1500.0\n ]]\n [ defaultLaunchApexFactor [\n 25.0 0.865\n 75.0 0.971\n ]]\n ]]\n }]\n\n [ mamaShell {\n [ breakNumChildren 8 ]\n [ breakChildDuration 0.53 ]\n [ defaultBreakShape sphere ]\n [ breakInheritVelocity 1.0 ]\n [ breakWidthKappa 0.05 ]\n [ breakReorientGravity false ]\n [ particleSizeCurveTable [\n [ starSizeMm [\n 2.5 1.0\n 25.0 10.0 // 40%\n 2500.0 1000.0 // scale both previous values by 100\n ]]\n [ breakWidth [\n 0.0000 10.0\n 0.0254 75.0\n 0.0762 20.0\n 0.1270 25.0\n 0.3048 80.0\n ]]\n ]]\n }]\n\n [ sound {\n [ defaultCaliberMm 25.4 ]\n }]\n\n [ included_SYSTEM_default true ]\n}]\n\n[ & {[ isAmpersand true ][ nonLocalized true ]}]\n[ / {[ isSlash true ][ nonLocalized true ]}]\n[ + {[ isPlus true ][ nonLocalized true ]}]\n[ * {[ isAsterisk true ]}]\n[ above {[ mineLayer true ][ notes "Specifies a layer of stars in a mine is above the other layers, as in the three layer mine, \'Gold Mine w/ Blue Above w/ Green Above\'."]}]\n[ mobiles {\n [ notes "An aerial effect from a shell that breaks into slow falling, burning material connected by filament; like falling leaves with connected leaves."]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ ifRisingIsFlower true ]\n [ subtype other ]\n [ breakSoundSecondaryType soft ]\n}]\n[ mobile {[ translation mobiles ][ language english ]}]\n[ aeolean_bells {[ translation mobiles ][ language english ]}]\n\n[ parachutes {\n [ notes "An aerial effect from a shell that breaks into slow falling, burning material suspended by parachutes."]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ sameAsLanguages [ dutch ]]\n [ ifRisingIsFlower true ]\n [ subtype other ]\n [ breakSoundSecondaryType soft ]\n}] // Normative plural.\n[ parachute {[ translation parachutes ]}]\n\n// Crackling terms and definitions\n// [ popcorncrackle ]* popcorn_crackle: star termination into a big burst of sparks; usually specified on its own and therefore with stars that are dark until the burst.\n// [ crackleflowers ]*crackle_flowers: star termination into a small burst of tinier sparks; usually specified after another non-dark stage, so smaller because some of the star composition is used in the earlier stages. In Spanish, called craker_crisantemo.\n// [ dragoneggs ]*dragon_eggs: non-terminal star description of a certain kind of energetic crackling with popping near the point of emission; should look different from just "crackling" by itself. In Spanish, called craker_dragones.\n// [ timerain ]*[ time_rain ]*[ time rain ]*time_rain: non-terminal star description of a droopy crackling, long lasting trail sparks that are not all that energetic and can have pops substantially below the emission point, almost like a lightly crackling palm. In Spanish, called craker_colgante.\n// [ crackling ]*: non-terminal star description most similar to dragon_eggs, but looking a little different in some way that we haven\'t yet defined. In Spanish, called craqueante or just craker.\n// [ glittering ]* Trail sparks that softly blink on and off; this term applies only to trail sparks, NOT to the tip of the star (tip could be \'strobing\' or \'twinkling\' or \'flashing\' or \'shimmering\' but not \'glittering\').\n// [ spangle ]* A crackle effect consisting of sparse, large, bright flashes, not clusters of tiny sparks.\n// [ tremalon ]* A crackle effect consisting of a thick, dense trail of flashing sparks.\n// [ twilight_glitter ]* \'Twilight Glitter\' is a type of star trail of sparks that glitters with prominent bright white flashes; less gossamer than regular glitter trails, and always white.\n// [ strobing ]* applies to stars, not trails. Stars that mostly off except for brief intermittent "on" pulses at medium speed are \'strobing\'. https://www.youtube.com/watch?v=64SIh52397k\n// [ twinking ]* applies to stars, not trails. Stars that blink off and on intermittently but are mostly on are \'twinkling\'. https://www.youtube.com/watch?v=7C2rDF_dsbM\n// [ flashing ]* applies to stars, not trails. Stars that exhibit intermittent brief, very bright flashes are \'flashing\' https://www.youtube.com/watch?v=O3W5iE7LWgs\n// [ shimmering ]* applies to stars, not trails. Stars that strobe on and off extremely rapidly are \'shimmering\' https://www.youtube.com/watch?v=Dpm6lwtofV4\n\n[ aerial {[ isAerialDesignation true ][ notes "For effects that could be either shells or comets/stars, such as \'Red Crossette Cake\', add the term \'Aerial\' to declares the effect is an aerial shell, e.g., \'Aerial Red Crossette Cake\'."]}]\n[ agt {[ translation alt ]}]\n[ agw {[ translation alr ]}]\n[ all {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern all ] [ oddRowFiringPattern all ] [ oddRowHoist false ]}]\n[ alr {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern alr ] [ oddRowFiringPattern alr ] [ oddRowHoist false ]}]\n[ alt {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern alt ] [ oddRowFiringPattern alt ] [ oddRowHoist false ]}]\n[ and {[ isAnd true ][ notes "The word \'And\' combines multiple colors in an effect or multiple effects in a description, like \'Red And Blue Peony\' or \'Red Peony And Blue Chrysanthemum Peanut Shell\'. Alternatively, you can use \'&\' to combine colors and \'+\' to combine effects, e.g., \'Red & Blue Peony\'."]}]\n\n[ and_tail {[ translation [ wi tail ]][ isNonVdlTerm true ]}]\n[ et_tronc {[ translation [ avec tronc ]][ isNonVdlTerm true ]}]\n[ \xe0_tronc { [ translation [ avec tronc ]][ isNonVdlTerm true ]}]\n[ lita_tronc { [ translation [ avec tronc ]][ isNonVdlTerm true ]}]\n[ lity_tronco {[ translation [ con tronco ]][ isNonVdlTerm true ]}]\n[ et_queue {[ translation [ avec queue ]][ isNonVdlTerm true ]}]\n\n[ et_d\xe9to {[ translation [ \xe0 d\xe9to ]][ isNonVdlTerm true ]}]\n[ et_deto {[ translation [ \xe0 d\xe9to ]][ isNonVdlTerm true ]}]\n[ et_d\xe9tonation {[ translation [ \xe0 d\xe9tonation ]][ isNonVdlTerm true ]}]\n[ et_detonation {[ translation [ \xe0 d\xe9tonation ]][ isNonVdlTerm true ]}]\n\n[ lite_cauda {[ translation [ com cauda tronc ]][ isNonVdlTerm true ]}]\n[ lite_rabo {[ translation [ com rabo ]][ isNonVdlTerm true ]}]\n[ und_schweif {[ translation [ mit schweif ]][ isNonVdlTerm true ]}]\n[ und_aufstieg {[ translation [ mit aufstieg ]][ isNonVdlTerm true ]}]\n\n//fixme:removeme[ angle {[ isPieceToken true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern alr ] [ oddRowFiringPattern alr ] [ oddRowHoist false ] [ isAngle true ][ sameAsLanguages [ french ]]}]\n//fixme:removeme[ angles {[ translation angle ][ isPieceToken true ][ language [ english french ]]}]\n[ aniseed {[ translation [ multi_color gold horsetail shell_of_shells ]] [ reformulation true ][ subtype other ][ notes "An aerial shell that breaks into different colored clusters of stars with gold trails."]}]\n[ arl {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern arl ] [ oddRowFiringPattern arl ] [ oddRowHoist false ]}]\n[ sequentialshotsequence {[ isNonVdlTerm true ][ isPieceToken true ][ nonLocalized true ]}]\n[ arr {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern arr ] [ oddRowFiringPattern arr ] [ oddRowHoist false ]}]\n[ art {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern art ] [ oddRowFiringPattern art ] [ oddRowHoist false ]}]\n[ atf {[ translation fnt ]}]\n[ bengal { [ translation ground_flare ][ language [ english ]]}]\n[ bkt {[ translation blt ]}]\n[ bkw {[ translation blr ]}]\n[ black {[ translation dark ][ language english ][ badNominalColorTranslation true ]}]\n[ bll {[ isPieceToken true ] [ nonLocalized true ][ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern bll ] [ oddRowFiringPattern bll ] [ oddRowHoist false ]}]\n[ blr {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern blr ] [ oddRowFiringPattern blr ] [ oddRowHoist false ]}]\n[ blt {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern blt ] [ oddRowFiringPattern blt ] [ oddRowHoist false ]}]\n\n[ single_shot {[ translation candle ] [ sameAsLanguages [ german ]][ reformulation true ][ impliesCandle true ][ notes "A candle with one shot."]}] // User types "single_shot" --\x3e EffectType = \'candle with default numshots = 1 --\x3e partType = \'single_shot.\n[ ss {[ translation single_shot ][ language english ][ impliesCandle true ]}]\n[ rc {[ translation roman_candle ][ language english ][ impliesCandle true ]}]\n[ roman_candle {[ translation candle ] [ reformulation true ][ impliesCandle true ][ notes "A pre-packaged tube that shoots multiple stars or shells in a sequence."]}]\n[ large {[ translation big ][ language english ]}]\n[ titanium {[ translation [ silver crackling ]] [ reformulation true ][ nonExtraNonColorDescribesStars true ][ sameAsLanguages [ german dutch italian ]][ notes "An ingredient added to flash composition to produce a brighter flash and a cloud of sparks."]}] // Added nonExtraNonColorDescribesStars even though will be reformulated so can be recognized by fixPistilWithoutWith() prior to reformulation.\n[ ti {[ translation titanium ] [ language [ english spanish ]]}]\n[ ti_salute {[ translation titanium_salute ] [ language english ]}]\n[ ti_report {[ translation titanium_report ] [ language english ]}]\n\n[ tit {[ translation titanium ] [ language english ]}]\n[ tit_salute {[ translation titanium_salute ] [ language english ]}]\n[ tit_report {[ translation titanium_report ] [ language english ]}]\n\n[ lance_work { [ translation lancework ][ language english ]}]\n[ lance { [ translation lancework ][ language english ]}]\n[ bundle { [ translation candle ][ reformulation true ] [ isPieceToken true ] [ notInBouquet true ] [ impliesCandle true ][ notes "A collection of roman candles bound together and ignited at the same time."]}] // No subtype because don\'t specify the effect; type will be candle.\n[ multi_salute {[ translation artillery ][ language english ]}]\n[ artillery {[ translation shell_of_shells ][ reformulation true ][ subtype other ][ notes "An aerial shell that breaks into salute inserts."]}]\n\n[ degrees {[ isPieceToken true ][ nonLocalized true ][ isAngle true ][ isSpecialDimensionalProperty true ]}]\n[ degree {[ translation degrees ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language english ]}]\n\n// Italian.\n[ sopra { [ translation above ][ language italian ]}]\n\n[ getto { [ translation bouquet ][ language italian ]}]\n[ getti { [ translation bouquet ][ language italian ]}]\n\n[ mazzo { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language italian ]}]\n[ mazzi { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language italian ]}]\n[ barrage { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language italian ]}]\n\n[ aereo { [ translation aerial ][ language italian ]}]\n[ aerea { [ translation aerial ][ language italian ]}]\n[ aeree { [ translation aerial ][ language italian ]}]\n[ aerei { [ translation aerial ][ language italian ]}]\n\n[ esplosione { [ translation air_burst ][ language italian ]}]\n[ esplosioni { [ translation air_burst ][ language italian ]}]\n[ scoppio { [ translation air_burst ][ language italian ]}]\n[ scoppi { [ translation air_burst ][ language italian ]}]\n\n[ anice { [ translation aniseed ][ language italian ]}]\n\n[ acqua { [ translation aqua ][ language [ italian maltese ]]}]\n[ ciano { [ translation cyan ][ language [ italian portuguese ]]}]\n[ turchese { [ translation turquoise ][ language italian ]}]\n[ acquamarina { [ translation aqua ][ language italian ]}]\n[ smeraldo { [ translation aqua ][ language italian ]}]\n\n[ bomba_lita_rendni { [ translation artillery ][ language italian ]}]\n[ bombe_lita_rendini { [ translation artillery ][ language italian ]}]\n\n[ barile { [ translation barrel ][ language italian ]}]\n[ barili { [ translation barrel ][ language italian ]}]\n\n[ api { [ translation bees ][ language italian ]}]\n[ ape { [ translation bees ][ language italian ]}]\n\n[ ampio { [ translation big ][ language italian ]}]\n[ grandi { [ translation big ][ language italian ]}]\n[ ampi { [ translation big ][ language italian ]}]\n[ ampli { [ translation big ][ language italian ]}]\n\n[ blu_zaffiro { [ translation blue ][ language italian ]}]\n\n//[ rendini { [ translation bombette ][ language italian ]}] // AKA report.\n//[ rendino { [ translation bombette ][ language italian ]}] // AKA report.\n[ ripresa { [ translation bombette ][ language italian ]}]\n[ riprese { [ translation bombette ][ language italian ]}]\n\n[ met\xe0_inferiore { [ translation bottom_half ][ language italian ]}]\n[ meta_inferiore { [ translation met\xe0_inferiore ]}]\n\n//might be bouquet...[ mazzo{ [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language italian ] }]\n//might be bouquet...[ mazzi{ [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language italian ] }]\n\n[ baffo { [ translation bowtie ][ language italian ]}]\n[ baffi { [ translation bowtie ][ language italian ]}]\n[ doppio_baffo { [ translation bowtie ][ language italian ]}]\n\n[ anello_con_baffo { [ translation bowtie_rings ][ language italian ]}]\n[ anelli_con_baffo { [ translation bowtie_rings ][ language italian ]}]\n\n[ anello_lita_farfalla { [ translation farfalle ][ language italian ]}]\n[ anelli_lita_farfalla { [ translation farfalle ][ language italian ]}]\n\n[ brillanti { [ translation bright ][ language [ italian ]]}]\n\n[ peonia_con_baffo{ [ translation butterfly ][ language italian ] }]\n[ crisantemo_con_baffo{ [ translation butterfly ][ language italian ] }]\n\n[ cake_box{ [ translation cake ][ isPieceToken true ][ impliesCake true ][ language [ english ]] }]\n[ torta{ [ translation cake ][ isPieceToken true ][ impliesCake true ][ language [ portuguese italian ]] }]\n[ torte{ [ translation cake ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ batteria{ [ translation cake ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ candele{ [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language italian ] }]\n\n[ catena{ [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language italian ] }]\n[ catene{ [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language italian ] }]\n\n[ carbone{ [ translation charcoal ][ language italian ] }]\n\n[ punta_lita_carbone{ [ translation charcoal_tip ][ language italian ] }]\n[ punte_lita_carbone{ [ translation charcoal_tip ][ language italian ] }]\n\n[ crisantemi{ [ translation chrysanthemum ][ language italian ] }]\n\n[ comete { [ translation comet ][ language italian ] }]\n\n[ anello_concentrico{ [ translation concentric_rings ][ language italian ] }]\n[ anelli_concentrici{ [ translation concentric_rings ][ language italian ] }]\n\n//[ centro_ck{ [ translation core ][ language italian ] }] // Too risky with cakes.\n//[ centro_crackling{ [ translation core ][ language italian ] }] // Redundant, terms work independently.\n\n[ crisantemo_crackling{ [ translation crackle_flowers ][ language italian ] }]\n[ crisantemi_crackling{ [ translation crackle_flowers ][ language italian ] }]\n[ peonia_crackling{ [ translation crackle_flowers ][ language italian ] }]\n[ peonie_crackling{ [ translation crackle_flowers ][ language italian ] }]\n\n[ anello_incrociato{ [ translation cross_rings ][ language italian ] }]\n[ anelli_incrociati{ [ translation cross_rings ][ language italian ] }]\n\n[ crocetta{ [ translation crossette ][ language italian ] }]\n[ crocette{ [ translation crossette ][ language italian ] }]\n\n\n[ cilindrica{ [ translation cylinder ][ language [ portuguese italian ]] }]\n[ cilindriche{ [ translation cylinder ][ language italian ] }]\n\n[ densi{ [ translation dense ][ language italian ] }]\n\n[ diademi{ [ translation diadem ][ language italian ] }]\n\n[ flebile { [ translation dim ][ language italian ] }]\n[ flebili { [ translation dim ][ language italian ] }]\n\n[ doppio_anello_lita_met\xe0 { [ translation double_half_rings ][ language italian ] }]\n[ doppio_anello_lita_meta { [ translation doppio_anello_lita_met\xe0] }]\n[ doppi_anelli_lita_met\xe0 { [ translation double_half_rings ][ language italian ] }]\n[ doppi_anelli_lita_meta { [ translation doppi_anelli_lita_met\xe0] }]\n\n[ doppio_anello { [ translation double_rings ][ language italian ] }]\n[ doppi_anelli { [ translation double_rings ][ language italian ] }]\n\n[ lita_sbruffo { [ translation ear ][ language italian ] }]\n[ bomba_lita_sbruffo { [ translation ear ][ language italian ] }]\n[ sfera_lita_sbruffo { [ translation ear ][ language italian ] }]\n[ sfere_lita_sbruffo { [ translation ear ][ language italian ] }]\n[ sbruffata { [ translation ear ][ language italian ] }]\n[ sbruffate { [ translation ear ][ language italian ] }]\n\n[ otto_tempi { [ translation eight_times ][ language italian ] }]\n[ otto_volte { [ translation eight_times ][ language italian ] }]\n[ tronetti { [ translation report ][ language italian ] }]\n\n[ foglie_cadenti { [ translation falling_leaves ][ language italian ] }]\n[ foglia_cadente { [ translation falling_leaves ][ language italian ] }]\n\n[ lita_ventaglio { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ ventaglio { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ ventagli { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n\n[ fermate { [ translation fermata ][ language [ dutch italian ]] }] \n[ palla_di_fuoco { [ translation fireball ][ language italian ]}]\n\n[ cinque_tempi { [ translation five_times ][ language italian ] }] \n[ cinque_volte { [ translation five_times ][ language italian ] }] \n\n\n[ sparafiamme { [ translation flame_projector ][ language italian ] }] \n[ sparafiamma { [ translation flame_projector ][ language italian ] }] \n\n[ lampo { [ translation flash_tray ][ language italian ] }] \n[ multiflash { [ translation flashing ][ language italian ] }] \n\n\n//[ flash_de_chao { [ translation flash_tray ][ language portuguese ] }] \n//[ flash_de_ch\xe3o { [ translation flash_tray ][ language portuguese ] }] \n[ flash_de_solo { [ translation flash_tray ][ language portuguese ] }] \n[ petardo { [ translation salute ][ language portuguese ] }] \n[ petardo_titanio { [ translation titanium_salute ][ language portuguese ] }] \n[ tiro_seco { [ translation salute ][ language portuguese ] }] \n \n[ pesci { [ translation flying_fish ][ language italian ] }] \n[ pesce { [ translation flying_fish ][ language italian ] }] \n\n[ fontana { [ translation fountain ][ language italian ] }] \n[ fontane { [ translation fountain ][ language italian ] }] \n[ vulcano { [ translation mine ][ language italian ] }] \n[ vulcani { [ translation mine ][ language italian ] }] \n\n\n[ quattro_tempi { [ translation four_times ][ language italian ] }] \n[ quattro_volte { [ translation four_times ][ language italian ] }] \n\n[ giallo_limone { [ translation fresh_yellow ][ language italian ] }] \n\n[ navy_rosso { [ translation gamboge ][ language italian ] }] \n[ punta_rossa { [ translation gamboge_tip ][ language italian ] }] \n\n\n[ anello_con_ghost { [ translation [ ghost ring ]][ language italian ] }] \n[ anello_lita_morto { [ translation [ ghost ring ]][ language italian ] }] \n\n[ sfera_con_ghost { [ translation [ ghost shell ]][ language italian ] }] \n[ sfera_lita_morto { [ translation [ ghost shell ]][ language italian ] }] \n\n[ volantino_saliscendi { [ translation girandola ][ language italian ] }] \n[ girandola_verticale { [ translation girandola ][ language italian ] }] \n\n[ tremolante { [ translation shimmering ][ language [ spanish italian ]] }] \n[ tremolantes { [ translation shimmering ][ language [ spanish italian ]] }] \n[ tremolanti { [ translation shimmering ][ language italian ] }] \n\n[ oro { [ translation gold ][ language [ italian spanish ]] }] \n[ dorato { [ translation gold ][ language italian ] }] \n[ dorata { [ translation gold ][ language italian ] }] \n\n[ punta_oro { [ translation gold_tip ][ language italian ] }] \n[ punte_oro { [ translation gold_tip ][ language italian ] }] \n\n[ verde_oceano { [ translation grass_green ][ language [ portuguese italian ]] }] \n[ verde_scuro { [ translation grass_green ][ language italian ] }] \n\n\n[ fiamma { [ translation ground_flare ][ language italian ] }] \n[ torcia { [ translation ground_flare ][ language italian ] }] \n[ torce { [ translation ground_flare ][ language italian ] }] \n\n[ flash_lita_terra { [ translation ground_flash ][ language italian ] }] \n[ flash_istantaneo { [ translation ground_flash ][ language italian ] }] \n\n[ fotoflash_lita_terra { [ translation ground_photoflash ][ language italian ] }] \n[ fotoflash { [ translation ground_photoflash ][ language italian ] }] \n[ strobo_lita_terra { [ translation ground_strobe ][ language italian ] }] \n\n[ met\xe0_lite_met\xe0 { [ translation half_and_half ][ language italian ] }] \n[ meta_lite_meta { [ translation met\xe0_lite_met\xe0] }] \n\n[ met\xe0_anello { [ translation half_ring ][ language italian ] }] \n[ meta_anello { [ translation met\xe0_anello ] }] \n[ anello_lita_met\xe0 { [ translation half_ring ][ language italian ] }] \n[ anello_lita_meta { [ translation anello_lita_met\xe0] }] \n\n[ cuore { [ translation heart_shape ][ language italian ] }] \n[ cuori { [ translation heart_shape ][ language italian ] }] \n\n[ coda_di_cavallo { [ translation horsetail ][ language italian ] }] \n[ code_di_cavallo { [ translation horsetail ][ language italian ] }] \n\n[ indaco { [ translation indigo ][ language italian ] }] \n\n\n[ scritta_pirotecnica { [ translation lancework ][ language italian ] }] \n[ disegno_telaio { [ translation lancework ][ language italian ] }] \n[ pirotecnico { [ translation lancework ][ language italian ] }] \n[ scritte { [ translation lancework ][ language italian ] }] \n[ teali { [ translation lancework ][ language italian ] }] \n\n[ cometa_t1_da_interno { [ translation laser_comet ][ language italian ] }] \n[ cometa_veloce { [ translation laser_comet ][ language italian ] }] \n[ comete_t1_da_interno { [ translation laser_comet ][ language italian ] }] \n\n\n[ giallo_canarino { [ translation lemon ][ language italian ] }] \n[ lilla { [ translation lilac ][ language italian ] }] \n\n\n[ lungo { [ translation long ][ language italian ] }] \n[ lunga { [ translation long ][ language italian ] }] \n[ lunghi { [ translation long ][ language italian ] }] \n[ lunghe { [ translation long ][ language italian ] }] \n\n[ meteora { [ translation meteor ][ language italian ] }] \n[ meteorite { [ translation meteor ][ language italian ] }] \n\n[ spettacolo_di_mezzanotte { [ translation midnight_snow ][ language italian ] }] \n[ spettacoli_di_mezzanotte { [ translation midnight_snow ][ language italian ] }] \n[ show_di_mezzanotte { [ translation midnight_snow ][ language italian ] }] \n\n\n[ sbruffo { [ translation mine ][ language italian ] }] \n[ sbruffi { [ translation mine ][ language italian ] }] \n\n[ colori_misti { [ translation mixed ][ language italian ] }] \n\n[ elica { [ translation mobiles ][ language italian ] }] \n[ eliche { [ translation mobiles ][ language italian ] }] \n\n[ multicolori { [ translation multi_color ][ language italian ] }] \n\n[ acu\xe1tico { [ translation nautical ][ language spanish ] }] \n[ acuatico { [ translation acu\xe1tico ] }] \n//guess[ surtidor { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n//guess[ surtidores { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n\n[ surt { [ translation fountain ][ language spanish ]}]\n[ surts { [ translation fountain ][ language spanish ]}]\n[ surtidor { [ translation fountain ][ language spanish ]}]\n[ surtidores { [ translation fountain ][ language spanish ]}]\n\n[ volc { [ translation mine ][ language spanish ]}]\n[ volcs { [ translation mine ][ language spanish ]}]\n[ carc {[ translation shell ][ language spanish ]}]\n[ carcs {[ translation shell ][ language spanish ]}]\n[ balona {[ translation shell ][ language portuguese ]}]\n\n\n[ acquatica { [ translation nautical ][ language italian ] }] \n[ acquatiche { [ translation nautical ][ language italian ] }] \n\n[ nove_tempi { [ translation nine_times ][ language italian ] }] \n[ nove_volte { [ translation nine_times ][ language italian ] }] \n\n[ senza_scia { [ translation no_trail ][ language italian ] }] \n[ senza_scie { [ translation no_trail ][ language italian ] }] \n\n[ un_tempo { [ translation one_time ][ language italian ] }] \n[ una_volta { [ translation one_time ][ language italian ] }] \n\n[ arancione { [ translation orange ][ language italian ] }] \n[ arancioni { [ translation orange ][ language italian ] }] \n\n\n[ esterno { [ translation outer ][ language italian ] }] \n[ esterna { [ translation outer ][ language italian ] }] \n[ esterni { [ translation outer ][ language italian ] }] \n[ esterne { [ translation outer ][ language italian ] }] \n\n[ pesca { [ translation peach ][ language italian ] }] \n\n[ doppia_sfera { [ translation peanut_shell ][ language italian ] }] \n[ doppie_sfere { [ translation peanut_shell ][ language italian ] }] \n\n[ peonia { [ translation peony ][ language [ portuguese italian ]] }] \n[ peonie { [ translation peony ][ language italian ] }] \n[ peonys { [ translation peony ][ language portuguese ] }] \n\n\n[ flash_aereo { [ translation photoflash ][ language italian ] }] \n[ tracciante_flash { [ translation photoflash ][ language italian ] }] \n\n[ rosa { [ translation pink ][ language [ spanish italian portuguese ]] }] \n[ rosas { [ translation pink ][ language [ spanish italian portuguese ]] }] \n\n\n[ segno { [ translation placeholder ][ language italian ] }] \n[ segnaposto { [ translation placeholder ][ language italian ] }] \n\n\n[ effetti_su_tavola { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language italian ] }] \n[ piatto_di_effetti { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language italian ] }] \n[ compound_di_effetti { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language italian ] }] \n\n[ prugna { [ translation plum ][ language italian ] }] \n[ polipo { [ translation polyp ][ language [ portuguese italian ]] }] \n\n[ solo_crackling { [ translation popcorn_crackle ][ language italian ] }] \n\n\n[ pre_accensione { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language italian ] }] \n[ pre_accensioni { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language italian ] }] \n\n[ viola { [ translation purple ][ language italian ] }] \n\n[ arcobaleno { [ translation rainbow ][ language italian ] }] \n\n[ composizione { [ translation ramillete ][ language italian ] }] \n\n[ rosso { [ translation red ][ language italian ] }] \n[ rosso_purpureo { [ translation red ][ language italian ] }] \n\n[ lampeggiante { [ translation relampagos ][ language italian ] }] \n[ rendino_lampeggiante { [ translation relampagos ][ language italian ] }] \n\n[ rendino { [ translation report ][ language italian ] }] \n[ rendini { [ translation report ][ language italian ] }] \n\n[ anello { [ translation ring ][ language italian ] }] \n[ anelli { [ translation ring ][ language italian ] }] \n[ circle { [ translation ring ][ language english ] }] \n\n[ crescente { [ translation rising ][ language italian ] }] \n\n\n[ spacco_ascendente { [ translation rising_flowers ][ language italian ] }] \n[ spacchi_ascendenti { [ translation rising_flowers ][ language italian ] }] \n\n[ razzo { [ translation rocket ][ language italian ] }] \n[ razzi { [ translation rocket ][ language italian ] }] \n\n[ candele_romane { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language italian ] }] \n[ rosso_rubino { [ translation ruby ][ language italian ] }] \n \n[ tonante { [ translation salute ][ language italian ] }] \n[ colpo_scuro { [ translation salute ][ language italian ] }] \n\n\n[ stesso_colore { [ translation same_color ][ language italian ] }] \n[ medesimo_colore { [ translation same_color ][ language italian ] }] \n[ stessi_colori { [ translation same_color ][ language italian ] }] \n[ medesimi_colori { [ translation same_color ][ language italian ] }] \n\n[ blu_marino { [ translation sea_blue ][ language italian ] }] \n\n[ serpentelli { [ translation serpents ][ language [ italian maltese ]] }] \n\n[ sette_tempi { [ translation seven_times ][ language italian ] }] \n[ sette_volte { [ translation seven_times ][ language italian ] }] \n\n[ sfera { [ translation shell ][ language [ polish italian ]] }] \n[ sfera_pirotecnica { [ translation shell ][ language italian ] }] \n\n[ multisfera { [ translation shell_of_shells ][ language italian ] }] \n[ multispacco { [ translation shell_of_shells ][ language italian ] }] \n[ stutate { [ translation stutata ][ language italian ] }] \n\n[ corte { [ translation short ][ language italian ] }] \n[ corti { [ translation short ][ language italian ] }] \n\n[ lancio { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language italian ] }] \n[ lanci { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language italian ] }] \n\n[ crocette_lita_morto { [ translation shuttle ][ language italian ] }] \n[ crocette_dark { [ translation shuttle ][ language italian ] }] \n\n[ silenzioso { [ translation silent ][ language italian ] }] \n[ silenziosa { [ translation silent ][ language italian ] }] \n[ silenziose { [ translation silent ][ language italian ] }] \n[ silenziosi { [ translation silent ][ language italian ] }] \n\n[ argento { [ translation silver ][ language [ portuguese italian ]] }] \n\n[ punta_argento { [ translation silver_tip ][ language italian ] }] \n[ punte_argento { [ translation silver_tip ][ language italian ] }] \n\n[ monogetto { [ translation single_shot ][ impliesCandle true ][ language italian ] }] \n[ monogetti { [ translation single_shot ][ impliesCandle true ][ language italian ] }] \n\n[ sei_tempi { [ translation six_times ][ language italian ] }] \n[ sei_volte { [ translation six_times ][ language italian ] }] \n\n//[ luccicante { [ translation sizzling ][ language italian ] }] \n//[ luccicanti { [ translation sizzling ][ language italian ] }] \n[ luccicante { [ translation crackling ][ language italian ] }] \n[ luccicanti { [ translation crackling ][ language italian ] }] \n\n[ blu_cielo { [ translation sky_blue ][ language italian ] }] \n\n[ monoriga { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language italian ] }] \n\n[ bande { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language french ] }] \n\n[ leggermente_grande { [ translation slightly_big ][ language italian ] }] \n[ leggermente_grandi { [ translation slightly_big ][ language italian ] }] \n\n[ leggermente_brillante { [ translation slightly_bright ][ language italian ] }] \n[ leggermente_brillanti { [ translation slightly_bright ][ language italian ] }] \n\n\n[ leggermente_denso { [ translation slightly_dense ][ language italian ] }] \n[ leggermente_densi { [ translation slightly_dense ][ language italian ] }] \n\n[ leggermente_scuro { [ translation slightly_dim ][ language italian ] }] \n[ leggermente_scura { [ translation slightly_dim ][ language italian ] }] \n[ leggermente_scuri { [ translation slightly_dim ][ language italian ] }] \n[ leggermente_scure { [ translation slightly_dim ][ language italian ] }] \n\n[ leggermente_lunga { [ translation slightly_long ][ language italian ] }] \n[ leggermente_lungo { [ translation slightly_long ][ language italian ] }] \n[ leggermente_lunghi { [ translation slightly_long ][ language italian ] }] \n[ leggermente_lunghe { [ translation slightly_long ][ language italian ] }] \n\n[ leggermente_corto { [ translation slightly_short ][ language italian ] }] \n[ leggermente_corti { [ translation slightly_short ][ language italian ] }] \n[ leggermente_corte { [ translation slightly_short ][ language italian ] }] \n\n\n[ leggermente_piccolo { [ translation slightly_small ][ language italian ] }] \n[ leggermente_piccoli { [ translation slightly_small ][ language italian ] }] \n[ leggermente_piccole { [ translation slightly_small ][ language italian ] }] \n\n[ leggermente_sparso { [ translation slightly_sparse ][ language italian ] }] \n[ leggermente_sparse { [ translation slightly_sparse ][ language italian ] }] \n[ leggermente_sparsi { [ translation slightly_sparse ][ language italian ] }] \n\n[ leggermente_spesso { [ translation slightly_thick ][ language italian ] }] \n[ leggermente_spessi { [ translation slightly_thick ][ language italian ] }] \n[ leggermente_spesse { [ translation slightly_thick ][ language italian ] }] \n\n[ leggermente_sottile { [ translation slightly_thin ][ language italian ] }] \n[ leggermente_sottili { [ translation slightly_thin ][ language italian ] }] \n\n\n[ piccolo { [ translation small ][ language italian ] }] \n[ piccoli { [ translation small ][ language italian ] }] \n[ piccole { [ translation small ][ language italian ] }] \n\n[ faccia_che_ride { [ translation smiley_face ][ language italian ] }] \n[ facce_che_ridono { [ translation smiley_face ][ language italian ] }] \n[ faccine { [ translation smiley_face ][ language italian ] }] \n[ smile { [ translation smiley_face ][ language [ english italian portuguese ]] }] \n\n[ pixie_dust { [ translation glittering ][ reformulation true ] [ sameAsLanguages [ english ]]}]\n[ pattern_shell { [ translation smiley_face ][ reformulation true ] [ sameAsLanguages [ english ]][ notes "A shell whose stars break into a custom pattern, like a smiley face."]}]\n[ pattern { [ translation pattern_shell ][ language [ english ]] }] // To be implemented.\n[ figura { [ translation pattern_shell ][ language [ portuguese spanish ]] }] \n[ figuras { [ translation pattern_shell ][ language [ portuguese spanish ]] }] \n[ fig { [ translation pattern_shell ][ language [ portuguese spanish ]] }] \n\n[ senza_fumo { [ translation smokeless ][ language italian ] }] \n\n[ crisantemo_tremolante { [ translation spangle ][ language italian ] }] \n[ crisantemi_tremolanti { [ translation spangle ][ language italian ] }] \n\n[ rado { [ translation sparse ][ language italian ] }] \n[ rade { [ translation sparse ][ language italian ] }] \n[ rada { [ translation sparse ][ language italian ] }] \n[ radi { [ translation sparse ][ language italian ] }] \n[ sparso { [ translation sparse ][ language italian ] }] \n[ sparsi { [ translation sparse ][ language italian ] }] \n\n[ ragno { [ translation spider ][ language italian ] }] \n[ ragni { [ translation spider ][ language italian ] }] \n\n[ spighe { [ translation spike ][ language italian ] }] \n[ spiga { [ translation spike ][ language italian ] }] \n\n[ grappolo { [ translation stained_glass ][ language italian ] }] \n[ sfera_lita_grappolo { [ translation stained_glass ][ language italian ] }] \n\n[ effetto_strobo { [ translation strobing ][ language italian ] }] \n[ effetti_strobo { [ translation strobing ][ language italian ] }] \n[ strobo { [ translation strobing ][ language italian ] }] \n\n\n[ girasole { [ translation sunflower ][ language italian ] }] \n[ girasoli { [ translation sunflower ][ language italian ] }] \n\n\n[ striscione { [ translation tail ][ language italian ] }] \n[ striscioni { [ translation tail ][ language italian ] }] \n\n[ dieci_tempi { [ translation ten_times ][ language italian ] }] \n[ dieci_volte { [ translation ten_times ][ language italian ] }] \n\n[ spesso { [ translation thick ][ language italian ] }] \n[ spessa { [ translation thick ][ language italian ] }] \n[ spessi { [ translation thick ][ language italian ] }] \n[ spesse { [ translation thick ][ language italian ] }] \n\n[ sottile { [ translation thin ][ language italian ] }] \n[ sottili { [ translation thin ][ language italian ] }] \n\n[ trenta_tempi { [ translation thirty_times ][ language italian ] }] \n[ trenta_volte { [ translation thirty_times ][ language italian ] }] \n \n[ tre_tempi { [ translation three_times ][ language italian ] }] \n[ tre_volte { [ translation three_times ][ language italian ] }] \n\n[ pioggia_ck { [ translation time_rain ][ language italian ] }] \n\n[ rendino_al_titanio { [ translation titanium_report ][ language italian ] }] \n[ rendini_al_titanio { [ translation titanium_report ][ language italian ] }] \n\n[ colpo_al_titanio { [ translation titanium_salute ][ language italian ] }] \n[ colpi_al_titanio { [ translation titanium_salute ][ language italian ] }] \n[ tonante_al_titanio { [ translation titanium_salute ][ language italian ] }] \n[ tonanti_al_titanio { [ translation titanium_salute ][ language italian ] }] \n\n[ met\xe0_superiore { [ translation top_half ][ language italian ] }] \n[ meta_superiore { [ translation met\xe0_superiore ] }] \n\n\n[ scia { [ translation trail ][ language italian ] }] \n[ scie { [ translation trail ][ language italian ] }] \n\n\n[ tre_anelli_concentrici { [ translation triple_concentric_rings ][ language italian ] }] \n[ triplo_anello_concentrico { [ translation triple_concentric_rings ][ language italian ] }] \n\n\n[ tre_anelli_incrociati { [ translation triple_cross_rings ][ language italian ] }] \n[ triplo_anello_incrociato { [ translation triple_cross_rings ][ language italian ] }] \n\n[ triplo_anello { [ translation triple_rings ][ language italian ] }] \n[ tre_anelli { [ translation triple_rings ][ language italian ] }] \n\n[ triplo_anello_lita_met\xe0 { [ translation triple_half_rings ][ language italian ] }]\n[ triplo_anello_lita_meta { [ translation triplo_anello_lita_met\xe0] }]\n[ tre_anelli_lita_met\xe0 { [ translation triple_half_rings ][ language italian ] }]\n[ tre_anelli_lita_meta { [ translation tre_anelli_lita_met\xe0] }]\n\n[ venti_tempi { [ translation twenty_times ][ language italian ] }] \n[ venti_volte { [ translation twenty_times ][ language italian ] }] \n\n\n[ glitter_leggero { [ translation twilight_glitter ][ language italian ] }] \n\n[ cintilante_intermitente { [ translation twilight_glitter ][ language portuguese ] }] \n[ cintilantes_intermitentes { [ translation twilight_glitter ][ language portuguese ] }] \n\n[ lampeggiante_fievole { [ translation twinkling ][ language italian ] }] \n[ lampeggianti_fievoli { [ translation twinkling ][ language italian ] }] \n\n[ due_tempi { [ translation two_times ][ language italian ] }] \n[ due_volte { [ translation two_times ][ language italian ] }] \n\n[ comet_rapido { [ translation laser_comet ][ language portuguese ] }] \n[ ultra_rapido { [ translation ultrafast ][ language italian ] }] \n[ velocissimo { [ translation ultrafast ][ language italian ] }] \n[ rapidissimo { [ translation ultrafast ][ language italian ] }] \n[ ultra_rapidi { [ translation ultrafast ][ language italian ] }] \n[ velocissimi { [ translation ultrafast ][ language italian ] }] \n[ rapidissimi { [ translation ultrafast ][ language italian ] }] \n[ velocissime { [ translation ultrafast ][ language italian ] }] \n[ rapidissime { [ translation ultrafast ][ language italian ] }] \n\n[ ombrello { [ translation umbrella ][ language italian ] }] \n[ ombrelli { [ translation umbrella ][ language italian ] }] \n\n[ lita_forma_di_c{ [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_di_c{ [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_figura_di_c{ [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_forma_lita_c{ [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_lita_c{ [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ cl { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ] }]\n\n[ lita_forma_di_v{ [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_di_v{ [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_figura_di_v{ [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_forma_lita_v{ [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_lita_v{ [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n\n\n[ lita_forma_di_x{ [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_di_x{ [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_figura_di_x{ [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_forma_lita_x{ [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_lita_x{ [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n\n[ lita_forma_di_w{ [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_di_w{ [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_figura_di_w{ [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_forma_lita_w{ [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_lita_w{ [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n\n[ lita_forma_di_z{ [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_di_z{ [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_figura_di_z{ [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ lita_forma_lita_z{ [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n[ forme_lita_z{ [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language italian ] }]\n\n[ colori_variegati { [ translation variegated ][ language italian ] }] \n[ variegato { [ translation variegated ][ language italian ] }] \n[ variegata { [ translation variegated ][ language italian ] }] \n[ variegate { [ translation variegated ][ language italian ] }] \n[ misti { [ translation variegated ][ language italian ] }] \n[ misto { [ translation variegated ][ language [ portuguese italian ]] }] \n[ miste { [ translation variegated ][ language italian ] }] \n[ mista { [ translation variegated ][ language [ portuguese italian ]] }] \n\n\n[ molto_grande { [ translation very_big ][ language italian ] }] \n[ molto_grandi { [ translation very_big ][ language italian ] }] \n\n[ molto_brillante { [ translation very_bright ][ language italian ] }] \n[ molto_brillanti { [ translation very_bright ][ language italian ] }] \n[ molto_denso { [ translation very_dense ][ language italian ] }] \n[ molto_densa { [ translation very_dense ][ language italian ] }] \n[ molto_densi { [ translation very_dense ][ language italian ] }] \n[ molto_dense { [ translation very_dense ][ language italian ] }] \n\n[ molto_scuro { [ translation very_dim ][ language italian ] }] \n[ molto_scura { [ translation very_dim ][ language italian ] }] \n[ molto_scuri { [ translation very_dim ][ language italian ] }] \n[ molto_scure { [ translation very_dim ][ language italian ] }] \n\n[ molto_lunga { [ translation very_long ][ language italian ] }] \n[ molto_lungo { [ translation very_long ][ language italian ] }] \n[ molto_lunghi { [ translation very_long ][ language italian ] }] \n[ molto_lunghe { [ translation very_long ][ language italian ] }] \n\n[ molto_corto { [ translation very_short ][ language italian ] }] \n[ molto_corta { [ translation very_short ][ language italian ] }] \n[ molto_corte { [ translation very_short ][ language italian ] }] \n[ molto_corti { [ translation very_short ][ language italian ] }] \n\n[ molto_piccola { [ translation very_small ][ language italian ] }] \n[ molto_piccolo { [ translation very_small ][ language italian ] }] \n[ molto_piccoli { [ translation very_small ][ language italian ] }] \n[ molto_piccole { [ translation very_small ][ language italian ] }] \n\n[ molto_sparsa { [ translation very_sparse ][ language italian ] }] \n[ molto_sparso { [ translation very_sparse ][ language italian ] }] \n[ molto_sparsi { [ translation very_sparse ][ language italian ] }] \n[ molto_sparse { [ translation very_sparse ][ language italian ] }] \n\n\n[ molto_spessa { [ translation very_thick ][ language italian ] }] \n[ molto_spesso { [ translation very_thick ][ language italian ] }] \n[ molto_spessi { [ translation very_thick ][ language italian ] }] \n[ molto_spesse { [ translation very_thick ][ language italian ] }] \n\n\n[ molto_sottile { [ translation very_thin ][ language italian ] }] \n[ molto_sottili { [ translation very_thin ][ language italian ] }] \n\n\n[ cascata { [ translation waterfall ][ language [ portuguese italian ]] }] \n[ cascatas { [ translation waterfall ][ language [ portuguese italian ]] }] \n[ cascate { [ translation waterfall ][ language italian ] }] \n\n[ onda { [ translation wave ][ language [ portuguese italian ]] }] \n[ ondas { [ translation wave ][ language [ portuguese italian ]] }] \n//[ scia { [ translation wave ][ language italian ] }] \n//[ scie { [ translation wave ][ language italian ] }] \n\n\n[ ruota { [ translation wheel ][ language italian ] }] \n[ ruote { [ translation wheel ][ language italian ] }] \n\n[ vortici { [ translation whirls ][ language italian ] }] \n[ vortice { [ translation whirls ][ language italian ] }] \n\n\n[ fischi { [ translation whistles ][ language italian ] }] \n[ fischio { [ translation whistles ][ language italian ] }] \n[ sirena { [ translation whistles ][ language italian ] }] \n[ sirene { [ translation whistles ][ language italian ] }] \n\n\n[ bianca { [ translation white ][ language italian ] }] \n[ bianco { [ translation white ][ language italian ] }] \n[ bianche { [ translation white ][ language italian ] }] \n\n\n[ salice { [ translation willow ][ language italian ] }] \n[ salici { [ translation willow ][ language italian ] }] \n\n[ giallo { [ translation yellow ][ language italian ] }] \n[ gialla { [ translation yellow ][ language italian ] }] \n[ gialli { [ translation yellow ][ language italian ] }] \n[ gialle { [ translation yellow ][ language italian ] }] \n\n//zzz\n\n\n// Russian.\n[ \u0432\u044b\u0448\u0435 { [ translation above ][ language russian ]}]\n[ \u043d\u0430\u0434 { [ translation above ][ language russian ]}]\n\n//[ \u0430\u043d\u0442\u0435\u043d\u043d\u0430 { [ translation aerial ][ language russian ]}]\n[ \u0432\u044b\u0441\u043e\u043a\u0438\u0439 { [ translation aerial ][ language russian ]}]\n[ \u0432\u044b\u0441\u043e\u043a\u043e { [ translation aerial ][ language russian ]}]\n\n\n//old[ \u0432\u0437\u0440\u044b\u0432_\u0432_\u0432\u043e\u0437\u0434\u0443\u0445\u0435 { [ translation air_burst ][ language russian ]}]\n//old[ \u0432\u043e\u0437\u0434\u0443\u0448\u043d\u044b\u0439_\u0432\u0437\u0440\u044b\u0432 { [ translation air_burst ][ language russian ]}]\n[ \u044f\u0440\u043a\u0430\u044f_\u0432\u0441\u043f\u044b\u0448\u043a\u0430 { [ translation air_burst ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0435_\u0432\u0441\u043f\u044b\u0448\u043a\u0438 { [ translation air_burst ][ language russian ]}]\n[ \u0432\u0437\u0440\u044b\u0432_\u043d\u0430_\u0437\u0435\u043c\u043b\u0435 { [ translation air_burst ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0439_\u0432\u0437\u0440\u044b\u0432 { [ translation air_burst ][ language russian ]}]\n[ \u044f\u0440\u043a\u0443\u044e_\u0432\u0441\u043f\u044b\u0448\u043a\u0443 { [ translation air_burst ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e\u0439_\u0432\u0441\u043f\u044b\u0448\u043a\u043e\u0439 { [ translation air_burst ][ language russian ]}]\n\n\n[ \u0438 { [ translation and ][ language russian ]}]\n[ \u0442\u0430\u043a\u0436\u0435 { [ translation and ][ language russian ]}]\n[ \u0430_\u0442\u0430\u043a\u0436\u0435 { [ translation and ][ language russian ]}]\n[ \u0432\u043c\u0435\u0441\u0442\u0435 { [ translation and ][ language russian ]}]\n[ \u0432\u043c\u0435\u0441\u0442\u0435_\u0441 { [ translation and ][ language russian ]}]\n\n//fixme:removeme[ \u0443\u0433\u043e\u043b { [ translation angle ][ language russian ]}]\n//fixme:removeme[ \u0443\u0433\u043e\u043b_\u0441\u0442\u0440\u0435\u043b\u044c\u0431\u044b { [ translation angle ][ language russian ]}]\n[ \u0430\u043d\u0438\u0441 { [ translation aniseed ][ language russian ]}]\n[ \u0430\u043d\u0438\u0441\u043e\u0432\u044b\u0439 { [ translation aniseed ][ language russian ]}]\n[ \u0430\u043d\u0438\u0441\u043e\u0432\u043e\u0433\u043e { [ translation aniseed ][ language russian ]}]\n[ \u0430\u043d\u0438\u0441\u043e\u0432\u044b\u0435 { [ translation aniseed ][ language russian ]}]\n[ \u0430\u043d\u0438\u0441\u043e\u0432\u0430\u044f { [ translation aniseed ][ language russian ]}]\n\n//[ \u0432\u043e\u0434\u0430 { [ translation aqua ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442_\u043c\u043e\u0440\u0441\u043a\u043e\u0439_\u0432\u043e\u043b\u043d\u044b { [ translation aqua ][ language russian ]}]\n[ \u0446\u0438\u0430\u043d { [ translation aqua ][ language russian ]}]\n[ \u0432\u0430\u0441\u0438\u043b\u044c\u043a\u043e\u0432\u044b\u0439 { [ translation aqua ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442\u0430_\u043c\u043e\u0440\u0441\u043a\u043e\u0439_\u0432\u043e\u043b\u043d\u044b { [ translation aqua ][ language russian ]}]\n[ \u043c\u043e\u0440\u0441\u043a\u0430\u044f_\u0432\u043e\u043b\u043d\u0430 { [ translation aqua ][ language russian ]}]\n[ \u043c\u043e\u0440\u0441\u043a\u043e\u0439_\u0432\u043e\u043b\u043d\u044b { [ translation aqua ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435_\u0437\u0435\u043b\u0435\u043d\u044b\u0439 { [ translation aqua ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435_\u0437\u0435\u043b\u0451\u043d\u044b\u0439 { [ translation aqua ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435_\u0437\u0435\u043b\u0435\u043d\u044b\u043c\u0438 { [ translation aqua ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435_\u0437\u0435\u043b\u0451\u043d\u044b\u043c\u0438 { [ translation aqua ][ language russian ]}]\n[ \u0440\u0430\u0441\u043a\u0430\u0442\u044b_\u0433\u0440\u043e\u043c\u0430 { [ translation relampagos ][ language russian ]}]\n[ \u0448\u0430\u0440\u043e\u0432\u0430\u044f_\u043c\u043e\u043b\u043d\u0438\u044f { [ translation relampagos ][ language russian ]}]\n\n\n[ \u0430\u0440\u0442\u0438\u043b\u043b\u0435\u0440\u0438\u044f { [ translation artillery ][ language russian ]}]\n[ \u0430\u0440\u0442\u0438\u043b\u0435\u0440\u0438\u044f { [ translation artillery ][ language russian ]}]\n[ \u043a\u0430\u043d\u043e\u043d\u0430\u0434\u0430 { [ translation artillery ][ language russian ]}]\n//old[ \u043f\u0443\u043b\u0435\u043c\u0435\u0442 { [ translation artillery ][ language russian ]}]\n//old[ \u043f\u0443\u043b\u0435\u043c\u0435\u0442\u043d\u0430\u044f { [ translation artillery ][ language russian ]}]\n[ \u043c\u0443\u043b\u044c\u0442\u0438_\u0441\u0430\u043b\u044e\u0442 { [ translation artillery ][ language russian ]}]\n[ \u043c\u0443\u043b\u044c\u0442\u0438_\u0441\u0430\u043b\u044e\u0442\u043e\u043c { [ translation artillery ][ language russian ]}]\n\n[ \u0431\u043e\u0447\u043a\u0430 { [ translation barrel ][ language russian ]}]\n\n[ \u043f\u0447\u0435\u043b\u0430 { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0451\u043b\u044b { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0435\u043b\u044b { [ translation bees ][ language russian ]}]\n[ \u0440\u043e\u0439 { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0435\u043b\u0438\u043d\u044b\u0439_\u0440\u043e\u0439 { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0451\u043b\u0430\u043c\u0438 { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0435\u043b\u0430\u043c\u0438 { [ translation bees ][ language russian ]}]\n[ \u043f\u0447\u0435\u043b\u0438\u043d\u044b\u043c_\u0440\u043e\u0435\u043c { [ translation bees ][ language russian ]}]\n\n[ \u0431\u043e\u043b\u044c\u0448\u043e\u0439 { [ translation big ][ language russian ]}]\n[ \u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 { [ translation big ][ language russian ]}]\n[ \u0431\u043e\u043b\u044c\u0448\u0430\u044f { [ translation big ][ language russian ]}]\n[ \u0431\u043e\u043b\u044c\u0448\u0438\u043c { [ translation big ][ language russian ]}]\n[ \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e { [ translation big ][ language russian ]}]\n[ \u0431\u0438\u0433 { [ translation big ][ language russian ]}]\n\n[ \u0433\u043e\u043b\u0443\u0431\u043e\u0439 { [ translation blue ][ language russian ]}]\n[ \u0433\u043e\u043b\u0443\u0431\u044b\u043c\u0438 { [ translation blue ][ language russian ]}]\n[ \u0433\u043e\u043b\u0443\u0431\u0430\u044f { [ translation blue ][ language russian ]}]\n[ \u0433\u043e\u043b\u0443\u0431\u044b\u043c { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u0439 { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u043c { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u043c\u0438 { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u044e\u044e { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435\u0439 { [ translation blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435\u0433\u043e { [ translation blue ][ language russian ]}]\n[ \u0433\u043e\u043b\u0443\u0431\u0443\u044e { [ translation blue ][ language russian ]}]\n[ \u0441\u0430\u043f\u0444\u0438\u0440\u043e\u0432\u044b\u0439 { [ translation blue ][ language russian ]}]\n[ \u0441\u0430\u043f\u0444\u0438\u0440\u043e\u0432\u043e\u0433\u043e { [ translation blue ][ language russian ]}]\n\n[ \u043c\u043d\u043e\u0433\u043e\u043a\u0440\u0430\u0442\u044b\u0435_\u0440\u0430\u0437\u0440\u044b\u0432\u044b { [ translation bombette ][ language russian ]}]\n[ \u0431\u043e\u043c\u0431\u043e\u0447\u043a\u0430 { [ translation bombette ][ language russian ]}]\n[ \u0431\u043e\u043c\u0431\u043e\u0447\u043a\u0430\u043c\u0438 { [ translation bombette ][ language russian ]}]\n[ \u0431\u043e\u043c\u0431\u0430 { [ translation bombette ][ language russian ]}]\n[ \u0440\u0430\u0437\u0440\u044b\u0432 { [ translation bombette ][ language russian ]}]\n[ \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u043c\u0438 { [ translation bombette ][ language russian ]}]\n[ \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u044e\u0442\u0441\u044f { [ translation bombette ][ language russian ]}]\n[ \u0440\u0430\u0437\u0440\u044b\u0432\u0430\u044e\u0449\u0438\u043c\u0438\u0441\u044f { [ translation bombette ][ language russian ]}]\n\n[ \u043d\u0438\u0436\u043d\u044f\u044f_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 { [ translation bottom_half ][ language russian ]}]\n[ \u043e\u0434\u043d\u0430_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 { [ translation bottom_half ][ language russian ]}]\n\n[ \u0431\u0443\u043a\u0435\u0442 { [ translation bouquet ][ language russian ]}]\n[ \u0431\u0443\u043a\u0435\u0442\u044b { [ translation bouquet ][ language russian ]}]\n[ \u0431\u0443\u043a\u0435\u0442\u0430\u043c\u0438 { [ translation bouquet ][ language russian ]}]\n[ \u0431\u0443\u043a\u0435\u0442\u043e\u043c { [ translation bouquet ][ language russian ]}]\n\n[ \u0433\u0430\u043b\u0441\u0442\u0443\u043a_\u0441_\u043a\u043e\u043b\u044c\u0446\u0430\u043c\u0438 { [ translation bowtie ][ language russian ]}]\n[ \u0433\u0430\u043b\u0441\u0442\u0443\u043a_\u0431\u0430\u0431\u043e\u0447\u043a\u0430 { [ translation bowtie ][ language russian ]}]\n\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0430_\u0432_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation bowtie_rings ][ language russian ]}]\n//[ \u044f\u0440\u043a\u0438\u0439 { [ translation bowtie_rings ][ language russian ]}]\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0430_\u0432_\u043a\u0440\u0443\u0433\u0435 { [ translation bowtie_rings ][ language russian ]}]\n\n[ \u0431\u0440\u0438\u043b\u043b\u0438\u0430\u043d\u0442\u043e\u0432\u044b\u0439 { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0430\u044f { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0435 { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u043c\u0438 { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e\u0433\u043e { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u043c { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0439 { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u0443\u044e { [ translation bright ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e\u0439 { [ translation bright ][ language russian ]}]\n\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u0430 { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0430 { [ translation brocade ][ language russian ]}]\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u0443 { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0443 { [ translation brocade ][ language russian ]}]\n\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u043d\u0430\u044f { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0435\u0432\u0430\u044f { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0451\u0432\u0430\u044f { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0435\u0432\u043e\u0439 { [ translation brocade ][ language russian ]}]\n[ \u043f\u0430\u0440\u0447\u0451\u0432\u043e\u0439 { [ translation brocade ][ language russian ]}]\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u043d\u044b\u043c\u0438 { [ translation brocade ][ language russian ]}]\n\n[ \u043f\u0443\u0447\u043e\u043a { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u043f\u0443\u0447\u043a\u043e\u043c { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0433\u0440\u043e\u0437\u0434\u044c { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u043f\u0443\u0447\u0435\u043a { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0433\u0440\u043e\u0437\u0434\u044c\u044e { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0430 { [ translation butterfly ][ language russian ]}]\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0430\u043c\u0438 { [ translation butterfly ][ language russian ]}]\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0438 { [ translation butterfly ][ language russian ]}]\n[ \u0431\u0430\u0431\u043e\u0447\u0435\u043a { [ translation butterfly ][ language russian ]}]\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u043e\u0439 { [ translation butterfly ][ language russian ]}]\n\n\n[ \u0444\u043e\u0440\u043c\u0430 { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0444\u043e\u0440\u043c\u0430_\u0441\u0443 { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u0431\u0430\u0442\u0430\u0440\u0435\u044f_\u0441\u0430\u043b\u044e\u0442\u043e\u0432 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0441\u0430\u043b\u044e\u0442\u043d\u0430\u044f_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0431\u0430\u0442\u0430\u0440\u0435\u044f { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0441\u0430\u043b\u044e\u0442\u043a\u0430 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0441\u0430\u043b\u044e\u0442\u043d\u0430\u044f_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0442\u043e\u0440\u0442 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0441\u0443 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0431\u0441 { [ translation cake ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n\n[ \u043a\u0430\u043d\u0430\u0440\u0435\u0435\u0447\u043d\u043e_\u0436\u0435\u043b\u0442\u043e\u0433\u043e { [ translation lemon ][ language russian ]}]\n[ \u043a\u0430\u043d\u0430\u0440\u0435\u0435\u0447\u043d\u043e_\u0436\u0451\u043b\u0442\u043e\u0433\u043e { [ translation lemon ][ language russian ]}]\n[ \u043a\u0430\u043d\u0430\u0440\u0435\u0435\u0447\u043d\u043e_\u0436\u0435\u043b\u0442\u044b\u0439 { [ translation lemon ][ language russian ]}]\n[ \u043a\u0430\u043d\u0430\u0440\u0435\u0435\u0447\u043d\u043e_\u0436\u0451\u043b\u0442\u044b\u0439 { [ translation lemon ][ language russian ]}]\n\n[ \u0441\u0432\u0435\u0447\u0430 { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0441\u0432\u0435\u0447\u043a\u0430 { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0441\u0432\u0435\u0447\u0438 { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0441\u0432\u0435\u0447\u0443 { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0441\u0432\u0435\u0447\u043e\u0439 { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n\n\n[ \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b { [ translation ruby ][ language russian ]}]\n[ \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 { [ translation ruby ][ language russian ]}]\n[ \u0433\u043b\u0430\u0432\u043d\u044b\u0439 { [ translation ruby ][ language russian ]}]\n\n[ \u0441\u0431\u043e\u0440\u043a\u0430 { [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language russian ]}]\n[ \u0444\u0435\u0439\u0435\u0440\u0432\u0435\u0440\u043e\u0447\u043d\u0430\u044f_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language russian ]}]\n[ \u0441\u0431\u043e\u0440\u043a\u0438 { [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language russian ]}]\n[ \u0446\u0435\u043f\u044c { [ translation chain ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ][ language russian ]}]\n\n[ \u0443\u0433\u043e\u043b\u044c { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0439 { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u0430\u044f { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u0430\u044f_\u0438\u0441\u043a\u0440\u0430 { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0435_\u0438\u0441\u043a\u0440\u044b { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u043e\u0439_\u0438\u0441\u043a\u0440\u043e\u0439 { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u044b\u043c\u0438_\u0438\u0441\u043a\u0440\u0430\u043c\u0438 { [ translation charcoal ][ language russian ]}]\n[ \u0434\u0440\u0435\u0432\u0435\u0441\u043d\u044b\u0439_\u0443\u0433\u043e\u043b\u044c { [ translation charcoal ][ language russian ]}]\n[ \u0443\u0433\u043e\u043b\u044c\u043d\u044b\u043c { [ translation charcoal ][ language russian ]}]\n\n\n//old[ \u0443\u0433\u043e\u043b\u044c\u043d\u0430\u044f_\u0431\u0435\u0437_\u0438\u0441\u043a\u0440\u044b { [ translation charcoal_tip ][ language russian ]}]\n//old[ \u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0435_\u0431\u0435\u0437_\u0438\u0441\u043a\u0440 { [ translation charcoal_tip ][ language russian ]}]\n//old[ \u0434\u0440\u0435\u0432\u0435\u0441\u043d\u044b\u0439_\u0443\u0433\u043e\u043b\u044c_\u043d\u0430\u043a\u043e\u043d\u0435\u0447\u043d\u0438\u043a { [ translation charcoal_tip ][ language russian ]}]\n//old[ \u0434\u0440\u0435\u0432\u0435\u0441\u043d\u044b\u0439_\u0443\u0433\u043e\u043b\u044c_\u0448\u0430\u0440 { [ translation charcoal_tip ][ language russian ]}]\n[ \u0431\u0435\u0437_\u0438\u0441\u043a\u0440\u044b { [ translation charcoal_tip ][ language russian ]}]\n[ \u0431\u0435\u0437_\u0438\u0441\u043a\u0440 { [ translation charcoal_tip ][ language russian ]}]\n\n[ \u0432\u0438\u0448\u043d\u044f { [ translation ruby ][ language russian ]}]\n[ \u0432\u0438\u0448\u043d\u0435\u0432\u044b\u0439 { [ translation ruby ][ language russian ]}]\n[ \u0432\u0438\u0448\u043d\u0451\u0432\u044b\u0439 { [ translation ruby ][ language russian ]}]\n[ \u0445\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c\u0430 { [ translation chrysanthemum ][ language russian ]}]\n[ \u0445\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c\u044b { [ translation chrysanthemum ][ language russian ]}]\n[ \u0445\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c { [ translation chrysanthemum ][ language russian ]}]\n[ \u0445\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c\u043e\u0439 { [ translation chrysanthemum ][ language russian ]}]\n[ \u0445\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c\u0443 { [ translation chrysanthemum ][ language russian ]}]\n\n\n[ \u0447\u0443\u043f\u0430\u043a\u0430\u0431\u0440\u0430 { [ translation chupacabra ][ language russian ]}]\n[ \u043f\u043e\u0434\u0441\u043e\u043b\u043d\u0443\u0445 { [ translation chupacabra ][ language russian ]}]\n\n[ \u043a\u043e\u043a\u043e\u0441\u043e\u0432\u0430\u044f_\u043f\u0430\u043b\u044c\u043c\u0430 { [ translation coco ][ language russian ]}]\n[ \u043a\u043e\u043a\u043e\u0441\u043e\u0432\u044b\u0439 { [ translation coco ][ language russian ]}]\n[ \u043a\u043e\u043a\u043e\u0441\u043e\u0432\u0430\u044f { [ translation coco ][ language russian ]}]\n[ \u043a\u043e\u043a\u043e\u0441 { [ translation coconut ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0430 { [ translation comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u043e\u0439 { [ translation comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u044b { [ translation comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442 { [ translation comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0430\u043c\u0438 { [ translation comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0443 { [ translation comet ][ language russian ]}]\n\n\n[ \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u043a\u0440\u0443\u0433 { [ translation concentric_rings ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435_\u043a\u0440\u0443\u0433\u0438 { [ translation concentric_rings ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445_\u043a\u0440\u0443\u0433\u0430 { [ translation concentric_rings ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445_\u043a\u0440\u0443\u0433\u043e\u0432 { [ translation concentric_rings ][ language russian ]}]\n[ \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation concentric_rings ][ language russian ]}]\n\n//old[ \u044f\u0434\u0440\u043e { [ translation core ][ language russian ]}]\n[ \u0446\u0435\u043d\u0442\u0440 { [ translation core ][ language russian ]}]\n[ \u043f\u043e_\u0446\u0435\u043d\u0442\u0440\u0443 { [ translation core ][ language russian ]}]\n[ \u0432_\u0446\u0435\u043d\u0442\u0440\u0435 { [ translation core ][ language russian ]}]\n[ \u0446\u0435\u043d\u0442\u0440\u0435 { [ translation core ][ language russian ]}]\n[ \u0441\u0435\u0440\u0434\u0446\u0435\u0432\u0438\u043d\u0430 { [ translation core ][ language russian ]}]\n\n\n[ \u043f\u0435\u0441\u0442\u0438\u043a { [ translation pistil ][ language russian ]}]\n[ \u0441_\u043f\u0435\u0441\u0442\u0438\u043a\u043e\u043c { [ translation pistil ][ language russian ]}]\n\n\n[ \u0446\u0432\u0435\u0442\u043e\u043a_\u0441_\u0442\u0440\u0435\u0441\u043a\u043e\u043c { [ translation crackle_flowers ][ language russian ]}]\n[ \u0442\u0440\u0435\u0449\u0430\u0449\u0438\u0439_\u0446\u0432\u0435\u0442\u043e\u043a { [ translation crackle_flowers ][ language russian ]}]\n\n//fixme:removeme[ \u043f\u043e\u0442\u0440\u0435\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u0435 { [ translation crackle_report ][ language russian ]}]\n//fixme:removeme[ \u0442\u0440\u0435\u0449\u0430\u0449\u0438\u0439 { [ translation crackle_report ][ language russian ]}]\n[ \u0442\u0440\u0435\u0441\u043a { [ translation crackling ][ language russian ]}]\n[ \u0442\u0440\u0435\u0449\u0430\u0449\u0438\u0439 { [ translation crackling ][ language russian ]}]\n[ \u043a\u0440\u044d\u043a { [ translation crackling ][ language russian ]}]\n[ \u043a\u0440\u044d\u043a\u043b { [ translation crackling ][ language russian ]}]\n[ \u0448\u0442\u043e\u0440\u043c { [ translation crackling ][ language russian ]}]\n[ \u0442\u0440\u0435\u0441\u043a\u043e\u043c { [ translation crackling ][ language russian ]}]\n[ \u0442\u0440\u0435\u0449\u0430\u0449\u0438\u043c { [ translation crackling ][ language russian ]}]\n[ \u0442\u0440\u0435\u0449\u0430\u0449\u0435\u0439 { [ translation crackling ][ language russian ]}]\n[ \u043a\u0440\u044d\u043a\u043b\u043e\u043c { [ translation crackling ][ language russian ]}]\n\n\n[ \u043a\u0440\u043e\u0441\u0435\u0442_\u0432_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation cross_rings ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0435\u0442\u044b_\u0432_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation cross_rings ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0441\u0435\u0442\u044b_\u0432_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation cross_rings ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0441\u0435\u0442_\u0432_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation cross_rings ][ language russian ]}]\n[ \u043f\u043e\u043f\u0435\u0440\u0435\u0447\u043d\u044b\u0435_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation cross_rings ][ language russian ]}]\n\n[ \u043a\u0440\u043e\u0441\u0441\u0435\u0442 { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0441\u0435\u0442\u044b { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0435\u0442 { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0435\u0442\u044b { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0441\u0435\u0442\u0430\u043c\u0438 { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u043e\u0441\u0435\u0442\u0430\u043c\u0438 { [ translation crossette ][ language russian ]}]\n[ \u0434\u0435\u043b\u0438\u0442\u0441\u044f { [ translation crossette ][ language russian ]}]\n[ \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f { [ translation crossette ][ language russian ]}]\n[ \u043a\u0440\u0435\u0441\u0442 { [ translation crossette ][ language russian ]}]\n[ \u0434\u0435\u043b\u0435\u043d\u0438\u0435_\u0437\u0430\u0440\u044f\u0434\u043e\u0432 { [ translation crossette ][ language russian ]}]\n\n[ \u043a\u043e\u0440\u043e\u043d\u0430 { [ translation crown ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u043d\u043e\u0439 { [ translation crown ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u043d\u0443 { [ translation crown ][ language russian ]}]\n\n[ coroa { [ translation crown ][ language portuguese ]}]\n\n\n[ \u0446\u0438\u043a\u0430\u0441 { [ translation cycas ][ language russian ]}]\n[ \u043f\u0430\u043b\u044c\u043c\u0430_\u0441\u0430\u0433\u043e\u0432\u0430\u044f { [ translation cycas ][ language russian ]}]\n[ \u0441\u0430\u0433\u043e\u0432\u0430\u044f_\u043f\u0430\u043b\u044c\u043c\u0430 { [ translation cycas ][ language russian ]}]\n\n[ \u0446\u0438\u043b\u0438\u043d\u0434\u0440 { [ translation cylinder ][ language russian ]}]\n[ \u0446\u0438\u043b\u0438\u043d\u0434\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation cylinder ][ language russian ]}]\n\n\n[ \u0433\u0435\u043e\u0440\u0433\u0438\u043d { [ translation dahlia ][ language russian ]}]\n[ \u0433\u0435\u043e\u0440\u0433\u0438\u043d\u0430 { [ translation dahlia ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0435_\u0437\u0432\u0451\u0437\u0434\u044b { [ translation dahlia ][ language russian ]}]\n[ \u044f\u0440\u043a\u0438\u0435_\u0437\u0432\u0435\u0437\u0434\u044b { [ translation dahlia ][ language russian ]}]\n[ \u043e\u0434\u0443\u0432\u0430\u043d\u0447\u0438\u043a { [ translation dandelion ][ language russian ]}]\n\n[ \u0442\u0435\u043c\u043d\u043e { [ translation dark ][ language russian ]}]\n[ \u0442\u0451\u043c\u043d\u043e { [ translation dark ][ language russian ]}]\n[ \u0442\u0435\u043c\u043d\u043e\u0433\u043e { [ translation dark ][ language russian ]}]\n[ \u0442\u0451\u043c\u043d\u043e\u0433\u043e { [ translation dark ][ language russian ]}]\n[ \u043f\u043b\u043e\u0442\u043d\u044b\u0439 { [ translation dense ][ language russian ]}]\n[ \u043f\u043b\u043e\u0442\u043d\u044b\u043c { [ translation dense ][ language russian ]}]\n[ \u043f\u043b\u043e\u0442\u043d\u044b\u043c\u0438 { [ translation dense ][ language russian ]}]\n[ \u0433\u0443\u0441\u0442\u043e\u0439 { [ translation dense ][ language russian ]}]\n[ \u0434\u0438\u0430\u0434\u0435\u043c\u0430 { [ translation diadem ][ language russian ]}]\n[ \u0434\u0438\u0430\u0434\u0435\u043c\u044b { [ translation diadem ][ language russian ]}]\n[ \u0434\u0438\u0430\u0434\u0435\u043c\u043e\u0439 { [ translation diadem ][ language russian ]}]\n[ \u0434\u0438\u0430\u0434\u0435\u043c\u0443 { [ translation diadem ][ language russian ]}]\n\n\n[ \u0442\u0443\u0441\u043a\u043b\u044b\u0439 { [ translation dim ][ language russian ]}]\n[ \u0442\u0443\u0441\u043a\u043b\u044b\u043c\u0438 { [ translation dim ][ language russian ]}]\n[ \u0442\u0443\u0441\u043a\u043b\u043e\u0439 { [ translation dim ][ language russian ]}]\n[ \u0442\u0443\u0441\u043a\u043b\u0430\u044f { [ translation dim ][ language russian ]}]\n\n[ faible { [ translation dim ][ language french ]}]\n[ faiblement { [ translation dim ][ language french ]}]\n[ fin { [ translation dim ][ language french ]}]\n\n[ tr\xe8s_faible { [ translation very_dim ][ language french ]}]\n[ tres_faible { [ translation tr\xe8s_faible ]}]\n[ tr\xe8s_fin { [ translation very_dim ][ language french ]}]\n[ tres_fin { [ translation tr\xe8s_fin ]}]\n\n[ l\xe9gerement_plus_faible { [ translation slightly_dim ][ language french ]}]\n[ legerement_plus_faible { [ translation l\xe9gerement_plus_faible ]}]\n[ l\xe9gerement_faible { [ translation slightly_dim ][ language french ]}]\n[ legerement_faible { [ translation l\xe9gerement_faible ]}]\n\n[ pointu { [ translation spike ][ language french ]}]\n// [ pointe { [ translation spike ][ language french ]}] // Too risky, also means "tip".\n\n\n\n[ \u0434\u0432\u0435_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b_\u043a\u0440\u0443\u0433\u0430 { [ translation double_half_rings ][ language russian ]}]\n[ \u0434\u0432\u0435_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b_\u0432_\u043a\u0440\u0443\u0433\u0435 { [ translation double_half_rings ][ language russian ]}]\n[ \u0434\u0432\u043e\u0439\u043d\u044b\u0435_\u043f\u043e\u043b\u0443\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation double_half_rings ][ language russian ]}]\n[ \u0434\u0432\u0430_\u043a\u0440\u0443\u0433\u0430 { [ translation double_rings ][ language russian ]}]\n[ \u0434\u0432\u043e\u0439\u043d\u043e\u0439_\u043a\u0440\u0443\u0433 { [ translation double_rings ][ language russian ]}]\n[ \u0434\u0432\u043e\u0439\u043d\u044b\u043c_\u043a\u0440\u0443\u0433\u043e\u043c { [ translation double_rings ][ language russian ]}]\n[ \u044f\u0439\u0446\u0430_\u0434\u0440\u0430\u043a\u043e\u043d\u0430 { [ translation dragon_eggs ][ language russian ]}]\n[ \u044f\u0439\u0446\u0430_\u0434\u0440\u0430\u043a\u043e\u043d\u043e\u0432 { [ translation dragon_eggs ][ language russian ]}]\n[ \u0434\u0443\u0436\u043a\u0430 { [ translation ear ][ language russian ]}]\n[ \u043f\u043e\u0434\u0432\u0435\u0441\u043a\u0430 { [ translation ear ][ language russian ]}]\n[ \u0440\u0430\u043a\u043e\u0432\u0438\u043d\u0430 { [ translation ear ][ language russian ]}]\n[ \u0443\u0445\u043e { [ translation ear ][ language russian ]}]\n[ \u0432\u043e\u0441\u0435\u043c\u044c_\u0440\u0430\u0437 { [ translation eight_times ][ language russian ]}]\n[ \u0432\u043e\u0441\u0435\u043c\u044c { [ translation eight_times ][ language russian ]}]\n\n[ \u043b\u0438\u0441\u0442\u044c\u044f { [ translation falling_leaves ][ language russian ]}]\n[ \u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435_\u043b\u0438\u0441\u0442\u044c\u044f { [ translation falling_leaves ][ language russian ]}]\n[ \u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0445_\u043b\u0438\u0441\u0442\u044c\u0435\u0432 { [ translation falling_leaves ][ language russian ]}]\n[ \u043f\u0430\u0434\u0430\u044e\u0449\u0438\u043c\u0438_\u043b\u0438\u0441\u0442\u044c\u044f\u043c\u0438 { [ translation falling_leaves ][ language russian ]}]\n[ \u043b\u0438\u0441\u0442\u044c\u044f\u043c\u0438 { [ translation falling_leaves ][ language russian ]}]\n\n\n[ \u0432\u0435\u0435\u0440 { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0432\u0435\u0435\u0440\u043d\u0430\u044f_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0432\u0435\u0435\u0440\u043d\u044b\u0435_\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0445\u0432\u043e\u0441\u0442_\u043f\u0430\u0432\u043b\u0438\u043d\u0430 { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u043c\u0430\u0442\u0440\u0451\u0448\u043a\u0430 { [ translation fermata ][ language russian ]}]\n[ \u043c\u0430\u0442\u0440\u0435\u0448\u043a\u0430 { [ translation fermata ][ language russian ]}]\n\n[ \u043e\u0433\u043d\u0435\u043d\u043d\u044b\u0439_\u0448\u0430\u0440 { [ translation fireball ][ language russian ]}]\n[ \u0431\u043e\u043b\u0438\u0434 { [ translation fireball ][ language russian ]}]\n\n[ \u043f\u044f\u0442\u044c_\u0440\u0430\u0437 { [ translation five_times ][ language russian ]}]\n[ \u043f\u044f\u0442\u044c { [ translation five_times ][ language russian ]}]\n\n\n[ \u043f\u043b\u0430\u043c\u0435\u043d\u043d\u044b\u0439_\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0440 { [ translation flame_projector ][ language russian ]}]\n[ \u043f\u043b\u0430\u043c\u044f { [ translation flame_projector ][ language russian ]}]\n[ \u043e\u0433\u043d\u0435\u043d\u043d\u044b\u0439_\u0444\u0430\u043a\u0435\u043b { [ translation flame_projector ][ language russian ]}]\n\n[ \u0432\u0441\u043f\u044b\u0448\u043a\u0430 { [ translation flash_tray ][ language russian ]}]\n[ \u0432\u0441\u043f\u044b\u0448\u043a\u0438 { [ translation flash_tray ][ language russian ]}]\n[ \u0432\u0441\u043f\u044b\u0448\u043a\u043e\u0439 { [ translation flash_tray ][ language russian ]}]\n\n[ \u043c\u0438\u0433\u0430\u044e\u0449\u0438\u0439 { [ translation flashing ][ language russian ]}]\n[ \u0444\u043b\u044d\u0448 { [ translation flashing ][ language russian ]}]\n[ \u0444\u043b\u0435\u0448 { [ translation flashing ][ language russian ]}]\n\n[ \u043b\u0435\u0442\u0443\u0447\u0430\u044f_\u0440\u044b\u0431\u0430 { [ translation flying_fish ][ language russian ]}]\n[ \u043b\u0435\u0442\u0443\u0447\u0438\u0435_\u0440\u044b\u0431\u043a\u0438 { [ translation flying_fish ][ language russian ]}]\n[ \u0440\u044b\u0431\u043a\u0438 { [ translation flying_fish ][ language russian ]}]\n[ \u043b\u0435\u0442\u0430\u044e\u0449\u0438\u0435_\u0440\u044b\u0431\u043a\u0438 { [ translation flying_fish ][ language russian ]}]\n\n//[ \u043e\u043d\u0442\u0430\u043d { [ translation fountain ][ language russian ]}]\n[ \u0444\u043e\u043d\u0442\u0430\u043d { [ translation fountain ][ language russian ]}]\n[ \u0444\u043e\u043d\u0442\u0430\u043d\u044b { [ translation fountain ][ language russian ]}]\n\n\n[ \u0447\u0435\u0442\u044b\u0440\u0435_\u0440\u0430\u0437\u0430 { [ translation four_times ][ language russian ]}]\n[ \u0447\u0435\u0442\u044b\u0440\u0435 { [ translation four_times ][ language russian ]}]\n\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0436\u0435\u043b\u0442\u044b\u0439 { [ translation fresh_yellow ][ language russian ]}]\n[ \u0441\u0430\u043b\u0430\u0442\u043d\u044b\u0439 { [ translation fresh_yellow ][ language russian ]}]\n[ \u0441\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439 { [ translation fresh_yellow ][ language russian ]}]\n[ \u0441\u043e\u043b\u043d\u0435\u0447\u043d\u043e\u0433\u043e { [ translation fresh_yellow ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u0436\u0435\u043b\u0442\u044b\u0439 { [ translation fresh_yellow ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u0436\u0451\u043b\u0442\u044b\u0439 { [ translation fresh_yellow ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u0436\u0435\u043b\u0442\u043e\u0433\u043e { [ translation fresh_yellow ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u0436\u0451\u043b\u0442\u043e\u0433\u043e { [ translation fresh_yellow ][ language russian ]}]\n[ \u0444\u0443\u043a\u0441\u0438\u044f { [ translation violet ][ language russian ]}]\n\n[ \u043a\u043e\u043f\u044c\u0451 { [ translation gerb ][ language russian ]}]\n[ \u043a\u043e\u043f\u044c\u0435 { [ translation gerb ][ language russian ]}]\n[ \u043a\u043e\u043f\u044c\u044f { [ translation gerb ][ language russian ]}]\n[ \u043a\u043e\u043f\u044c\u044f\u043c\u0438 { [ translation gerb ][ language russian ]}]\n[ \u043b\u0438\u0432\u0435\u043d\u044c_\u0438\u0441\u043a\u0440 { [ translation gerb ][ language russian ]}]\n[ \u0441\u043d\u043e\u043f_\u0438\u0441\u043a\u0440 { [ translation gerb ][ language russian ]}]\n\n[ \u043a\u043e\u043b\u044c\u0446\u043e_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430 { [ translation [ ghost ring ]][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u043e_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0443 { [ translation [ ghost ring ]][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u043e_\u044d\u0444\u0444\u0435\u043a\u0442_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u044b { [ translation [ ghost ring ]][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u043e_\u043f\u0440\u0438\u0437\u0440\u0430\u043a { [ translation [ ghost ring ]][ language russian ]}]\n\n[ \u0448\u0430\u0440_\u043f\u0440\u0438\u0437\u0440\u0430\u043a { [ translation [ ghost shell ]][ language russian ]}]\n[ \u0448\u0430\u0440_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430 { [ translation [ ghost shell ]][ language russian ]}]\n[ \u0437\u0430\u0440\u044f\u0434_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430 { [ translation [ ghost shell ]][ language russian ]}]\n[ \u0446\u0438\u043b\u0438\u043d\u0434\u0440_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430 { [ translation [ ghost shell ]][ language russian ]}]\n[ \u0441\u0444\u0435\u0440\u0430_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u0430 { [ translation [ ghost shell ]][ language russian ]}]\n[ \u0448\u0430\u0440_\u044d\u0444\u0444\u0435\u043a\u0442_\u0433\u0438\u0440\u043b\u044f\u043d\u0434\u044b { [ translation [ ghost shell ]][ language russian ]}]\n\n[ \u0433\u0438\u0440\u0430\u043d\u0434\u043e\u043b\u043b\u0430 { [ translation girandola ][ language russian ]}]\n[ \u0433\u0438\u0440\u0430\u043d\u0434\u043e\u043b\u043b\u044b { [ translation girandola ][ language russian ]}]\n[ \u0433\u0438\u0440\u0430\u043d\u0434\u043e\u043b\u0430 { [ translation girandola ][ language russian ]}]\n[ \u0433\u0438\u0440\u0430\u043d\u0434\u043e\u043b\u044b { [ translation girandola ][ language russian ]}]\n[ \u043f\u043e\u0432\u043e\u0440\u043e\u0442 { [ translation girandola ][ language russian ]}]\n\n[ \u0441\u0432\u0435\u0440\u043a\u0430\u044e\u0449\u0438\u0439 { [ translation glittering ][ language russian ]}]\n[ \u0433\u043b\u0438\u0442\u0435\u0440 { [ translation glittering ][ language russian ]}]\n[ \u0433\u043b\u0438\u0442\u0435\u0440\u043d\u044b\u0439 { [ translation glittering ][ language russian ]}]\n[ \u0433\u043b\u0438\u0442\u0435\u0440\u043d\u043e\u0439 { [ translation glittering ][ language russian ]}]\n[ \u0433\u043b\u0438\u0442\u0435\u0440\u043d\u044b\u043c { [ translation glittering ][ language russian ]}]\n[ \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u0430\u044e\u0449\u0430\u044f\u0441\u044f { [ translation glittering ][ language russian ]}]\n[ \u043f\u0435\u0440\u0435\u043b\u0438\u0432\u0430\u044e\u0449\u0438\u043c\u0441\u044f { [ translation glittering ][ language russian ]}]\n\n[ \u0437\u043e\u043b\u043e\u0442\u043e { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u043e\u0439 { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u0438\u0441\u0442\u044b\u0439 { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u0430\u044f { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u044b\u043c { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u044b\u043c\u0438 { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u043e\u0433\u043e { [ translation gold ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u0443\u044e { [ translation gold ][ language russian ]}]\n\n\n//old[ \u0437\u043e\u043b\u043e\u0442\u043e\u0439_\u043d\u0430\u043a\u043e\u043d\u0435\u0447\u043d\u0438\u043a { [ translation gold_tip ][ language russian ]}]\n//old[ \u0437\u043e\u043b\u043e\u0442\u043e\u0439_\u0448\u0430\u0440 { [ translation gold_tip ][ language russian ]}]\n//old[ \u0437\u043e\u043b\u043e\u0442\u0430\u044f_\u0442\u043e\u0447\u043a\u0430 { [ translation gold_tip ][ language russian ]}]\n//old[ \u0437\u043e\u043b\u043e\u0442\u044b\u0435_\u0442\u043e\u0447\u043a\u0438 { [ translation gold_tip ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u043e\u0439_\u0431\u0435\u0437_\u0438\u0441\u043a\u0440 { [ translation gold_tip ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u044b\u0435_\u0431\u0435\u0437_\u0438\u0441\u043a\u0440 { [ translation gold_tip ][ language russian ]}]\n[ \u0437\u043e\u043b\u043e\u0442\u0430\u044f_\u0431\u0435\u0437_\u0438\u0441\u043a\u0440 { [ translation gold_tip ][ language russian ]}]\n\n\n[ \u0437\u0435\u043b\u0435\u043d\u0430\u044f_\u0442\u0440\u0430\u0432\u0430 { [ translation grass_green ][ language russian ]}]\n[ \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043d\u044b\u0439 { [ translation grass_green ][ language russian ]}]\n[ \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043d\u043e\u0433\u043e { [ translation grass_green ][ language russian ]}]\n[ \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043d\u044b\u043c\u0438 { [ translation grass_green ][ language russian ]}]\n[ \u0438\u0437\u0443\u043c\u0440\u0443\u0434\u043d\u044b\u0435 { [ translation grass_green ][ language russian ]}]\n\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u0439 { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u0439 { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u043e\u0433\u043e { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u043e\u0433\u043e { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u043c\u0438 { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u043c\u0438 { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u043c { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u043c { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u0430\u044f { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u0430\u044f { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u0443\u044e { [ translation green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u0443\u044e { [ translation green ][ language russian ]}]\n\n[ \u0436\u0435\u043b\u0442\u043e_\u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439 { [ translation gamboge ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u043e_\u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439 { [ translation gamboge ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u043e_\u043e\u0440\u0430\u043d\u0436\u0435\u0432\u043e\u0433\u043e { [ translation gamboge ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u043e_\u043e\u0440\u0430\u043d\u0436\u0435\u0432\u043e\u0433\u043e { [ translation gamboge ][ language russian ]}]\n\n[ \u043a\u0430\u043c\u0431\u043e\u0434\u0436\u0438 { [ translation gamboge_tip ][ language russian ]}]\n\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u0431\u043b\u0435\u0441\u043a { [ translation ground_flare ][ language russian ]}]\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u043e\u0435_\u043c\u0435\u0440\u0446\u0430\u043d\u0438\u0435 { [ translation ground_flare ][ language russian ]}]\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u043e\u0433\u043e\u043d\u044c { [ translation ground_flare ][ language russian ]}]\n[ \u0444\u0430\u043a\u0435\u043b { [ translation ground_flare ][ language russian ]}]\n[ \u043e\u0433\u043d\u0435\u043d\u043d\u0430\u044f_\u0432\u0441\u043f\u044b\u0448\u043a\u0430 { [ translation ground_flare ][ language russian ]}]\n[ \u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u043e\u0433\u043e\u043d\u044c { [ translation ground_flare ][ language russian ]}]\n[ \u043e\u0433\u043e\u043d\u044c_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation ground_flare ][ language russian ]}]\n\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u0444\u043b\u0435\u0448 { [ translation ground_flash ][ language russian ]}]\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u0444\u043b\u044d\u0448 { [ translation ground_flash ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u0440\u0442\u043d\u044b\u0439_\u0444\u043b\u044d\u0448 { [ translation ground_flash ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u0440\u0442\u043d\u044b\u0439_\u0444\u043b\u0435\u0448 { [ translation ground_flash ][ language russian ]}]\n//old[ \u0444\u043b\u0435\u0448_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation ground_flash ][ language russian ]}]\n//old[ \u0444\u043b\u044d\u0448_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation ground_flash ][ language russian ]}]\n\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u0430\u044f_\u0432\u0441\u043f\u044b\u0448\u043a\u0430 { [ translation ground_photoflash ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u0440\u0442\u043d\u0430\u044f_\u0432\u0441\u043f\u044b\u0448\u043a\u0430 { [ translation ground_photoflash ][ language russian ]}]\n[ \u0432\u0441\u043f\u044b\u0448\u043a\u0430_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0430\u044f { [ translation ground_photoflash ][ language russian ]}]\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u0430\u044f_\u0444\u043b\u044d\u0448_\u043c\u0435\u0440\u0446\u0430\u043d\u0438\u0435 { [ translation ground_photoflash ][ language russian ]}]\n\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u0441\u0442\u0440\u043e\u0431\u043e\u0441\u043a\u043e\u043f { [ translation ground_strobe ][ language russian ]}]\n[ \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439_\u043f\u0443\u043b\u044c\u0441\u0430\u0440 { [ translation ground_strobe ][ language russian ]}]\n[ \u043a\u043e\u043d\u0446\u0435\u0440\u0442\u043d\u044b\u0439_\u043f\u0443\u043b\u044c\u0441\u0430\u0440 { [ translation ground_strobe ][ language russian ]}]\n[ \u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u043f\u0443\u043b\u044c\u0441\u0430\u0440 { [ translation ground_strobe ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0430\u0440_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation ground_strobe ][ language russian ]}]\n\n[ \u0445\u0430\u043b\u0444 { [ translation half_and_half ][ language russian ]}]\n[ \u0445\u0430\u043b\u044c\u0444 { [ translation half_and_half ][ language russian ]}]\n[ \u0434\u0432\u0435_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b { [ translation half_and_half ][ language russian ]}]\n[ \u0434\u0432\u0435_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u043a\u0438 { [ translation half_and_half ][ language russian ]}]\n[ \u0438\u0437_\u0434\u0432\u0443\u0445_\u043f\u043e\u043b\u043e\u0432\u0438\u043d { [ translation half_and_half ][ language russian ]}]\n[ \u043f\u043e\u043f\u0430\u043b\u0430\u043c { [ translation half_and_half ][ language russian ]}]\n[ \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430_\u043d\u0430\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 { [ translation half_and_half ][ language russian ]}]\n\n\n[ \u043f\u043e\u043b\u0443\u043a\u043e\u043b\u044c\u0446\u043e { [ translation half_ring ][ language russian ]}]\n[ \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation half_ring ][ language russian ]}]\n[ \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430_\u043a\u0440\u0443\u0433\u0430 { [ translation half_ring ][ language russian ]}]\n\n[ \u0444\u043e\u0440\u043c\u0430_\u0441\u0435\u0440\u0434\u0446\u0430 { [ translation heart_shape ][ language russian ]}]\n[ \u0441\u0435\u0440\u0434\u0446\u0435 { [ translation heart_shape ][ language russian ]}]\n\n[ \u043b\u043e\u0448\u0430\u0434\u0438\u043d\u044b\u0439_\u0445\u0432\u043e\u0441\u0442 { [ translation horsetail ][ language russian ]}]\n[ \u043b\u0430\u0448\u0430\u0434\u0438\u043d\u044b\u043c_\u0445\u0432\u043e\u0441\u0442\u043e\u043c { [ translation horsetail ][ language russian ]}]\n[ \u043a\u043e\u043d\u0441\u043a\u0438\u0439_\u0445\u0432\u043e\u0441\u0442 { [ translation horsetail ][ language russian ]}]\n[ \u043a\u043e\u043d\u0441\u043a\u0438\u043c_\u0445\u0432\u043e\u0441\u0442\u043e\u043c { [ translation horsetail ][ language russian ]}]\n[ \u043a\u043e\u043d\u0441\u043a\u0438\u043c\u0438_\u0445\u0432\u043e\u0441\u0442\u0430\u043c\u0438 { [ translation horsetail ][ language russian ]}]\n\n\n[ \u0438\u043d\u0434\u0438\u0433\u043e { [ translation indigo ][ language russian ]}]\n[ \u0442\u0435\u043c\u043d\u043e_\u0441\u0438\u043d\u0438\u0439 { [ translation indigo ][ language russian ]}]\n[ \u0442\u0451\u043c\u043d\u043e_\u0441\u0438\u043d\u0438\u0439 { [ translation indigo ][ language russian ]}]\n[ \u0442\u0435\u043c\u043d\u043e_\u0441\u0438\u043d\u0435\u0433\u043e { [ translation indigo ][ language russian ]}]\n[ \u0442\u0451\u043c\u043d\u043e_\u0441\u0438\u043d\u0435\u0433\u043e { [ translation indigo ][ language russian ]}]\n[ \u0442\u0435\u043c\u043d\u043e_\u0441\u0438\u043d\u0438\u043c { [ translation indigo ][ language russian ]}]\n[ \u0442\u0451\u043c\u043d\u043e_\u0441\u0438\u043d\u0438\u043c { [ translation indigo ][ language russian ]}]\n\n[ \u0441\u0442\u0440\u0443\u044f { [ translation jet ][ language russian ]}]\n[ \u0440\u0435\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f_\u0441\u0442\u0440\u0443\u044f { [ translation jet ][ language russian ]}]\n[ \u0434\u0436\u0435\u0442 { [ translation jet ][ language russian ]}]\n[ \u0434\u0436\u044d\u0442 { [ translation jet ][ language russian ]}]\n\n\n//[ \u043a\u0430\u043b\u0435\u0439\u0434\u043e\u0441\u043a\u043e\u043f { [ translation kaleidoscope ][ language russian ]}]\n[ \u043a\u0430\u043b\u0435\u0439\u0434\u043e\u0441\u043a\u043e\u043f { [ translation stained_glass ][ language russian ]}]\n\n[ \u0432 { [ translation to ][ language russian ]}]\n[ \u0441\u043e { [ translation wi ][ language russian ]}] // Careful, that\'s not the roman letter "c"!\n[ \u0441 { [ translation wi ][ language russian ]}] // Careful, that\'s not the roman letter "c"!\n\n[ pistilo { [ translation pistil ][ language [ portuguese spanish ]]}]\n[ camuro { [ translation kamuro ][ language spanish ]}]\n[ \u043a\u0430\u043c\u0443\u0440\u043e { [ translation kamuro ][ language russian ]}]\n[ \u043d\u0438\u0448\u0438\u043a\u0438_\u043a\u0430\u043c\u0443\u0440\u043e { [ translation kamuro ][ language russian ]}]\n\n[ \u043a\u043e\u043d\u0442\u0443\u0440\u043d\u0430\u044f_\u0441\u0432\u0435\u0447\u0430 { [ translation lancework ][ language russian ]}]\n[ \u043a\u043e\u043d\u0442\u0443\u0440\u043d\u044b\u0435_\u0441\u0432\u0435\u0447\u0438 { [ translation lancework ][ language russian ]}]\n[ \u0441\u0432\u0435\u0447\u043d\u043e\u0435_\u043f\u0430\u043d\u043e { [ translation lancework ][ language russian ]}]\n[ \u0431\u0443\u043a\u0432\u0430 { [ translation lancework ][ language russian ]}]\n[ \u0446\u0438\u0444\u0440\u0430 { [ translation lancework ][ language russian ]}]\n\n\n//old[ \u043a\u043e\u043c\u0435\u0442\u043d\u044b\u0439_\u043b\u0430\u0437\u0435\u0440 { [ translation laser_comet ][ language russian ]}]\n//old[ \u043a\u043e\u043c\u0435\u0442\u043d\u044b\u0435_\u043b\u0430\u0437\u0435\u0440\u044b { [ translation laser_comet ][ language russian ]}]\n\n[ \u043a\u043e\u043c\u0435\u0442\u0430_\u0431\u0435\u0437_\u0448\u043b\u0435\u0439\u0444\u0430 { [ translation laser_comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0430_\u0431\u0435\u0437_\u0445\u0432\u043e\u0441\u0442\u0430 { [ translation laser_comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0430_\u043b\u0430\u0437\u0435\u0440 { [ translation laser_comet ][ language russian ]}]\n[ \u043a\u043e\u043c\u0435\u0442\u0430_\u0437\u0432\u0435\u0437\u0434\u0430 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0435\u0437\u0434\u043e\u0447\u043a\u0430 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0451\u0437\u0434\u043e\u0447\u043a\u0430 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0435\u0437\u0434\u0430\u043c\u0438 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0451\u0437\u0434\u0430\u043c\u0438 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0435\u0437\u0434\u044b { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0451\u0437\u0434\u044b { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0435\u0437\u0434\u043e\u0439 { [ translation laser_comet ][ language russian ]}]\n[ \u0437\u0432\u0435\u0437\u0434\u0443 { [ translation laser_comet ][ language russian ]}]\n\n\n[ \u043b\u0430\u0432\u0430\u043d\u0434\u0430 { [ translation lavender ][ language russian ]}]\n[ \u043b\u0430\u0432\u0430\u043d\u0434\u043e\u0432\u044b\u0439 { [ translation lavender ][ language russian ]}]\n[ \u043b\u0430\u0432\u0430\u043d\u0434\u043e\u0432\u043e\u0433\u043e { [ translation lavender ][ language russian ]}]\n[ \u043b\u0430\u0432\u0430\u043d\u0434\u044b { [ translation lavender ][ language russian ]}]\n\n[ \u043b\u0438\u043c\u043e\u043d { [ translation lemon ][ language russian ]}]\n[ \u043b\u0438\u043c\u043e\u043d\u043d\u044b\u0439 { [ translation lemon ][ language russian ]}]\n[ \u043b\u0438\u043c\u043e\u043d\u043d\u043e\u0433\u043e { [ translation lemon ][ language russian ]}]\n[ \u043b\u0438\u043c\u043e\u043d\u043d\u044b\u043c { [ translation lemon ][ language russian ]}]\n\n[ \u0441\u0438\u0440\u0435\u043d\u044c { [ translation lilac ][ language russian ]}]\n[ \u0441\u0438\u0440\u0435\u043d\u0435\u0432\u043e\u0433\u043e { [ translation lilac ][ language russian ]}]\n[ \u0441\u0438\u0440\u0435\u043d\u0435\u0432\u044b\u0439 { [ translation lilac ][ language russian ]}]\n[ \u0441\u0438\u0440\u0435\u043d\u0435\u0432\u044b\u043c { [ translation lilac ][ language russian ]}]\n\n[ \u043b\u0430\u0439\u043c { [ translation lime ][ language russian ]}]\n[ \u043b\u0430\u0439\u043c\u0430 { [ translation lime ][ language russian ]}]\n[ \u043b\u0430\u0439\u043c\u043e\u0432\u043e\u0433\u043e { [ translation lime ][ language russian ]}]\n[ \u043b\u0430\u0439\u043c\u043e\u0432\u044b\u0439 { [ translation lime ][ language russian ]}]\n\n[ \u0434\u043e\u043b\u0433\u043e { [ translation long ][ language russian ]}]\n[ \u0434\u043e\u043b\u0433\u0438\u043c\u0438 { [ translation long ][ language russian ]}]\n[ \u0434\u043e\u043b\u0433\u0438\u043c { [ translation long ][ language russian ]}]\n[ \u0434\u043e\u043b\u0433\u043e\u0439 { [ translation long ][ language russian ]}]\n\n[ \u043b\u0438\u043a\u043e\u043f\u043e\u0434\u0438\u0439 { [ translation lime ][ language russian ]}]\n\n[ \u043c\u0430\u0434\u0436\u0435\u043d\u0442\u0430 { [ translation violet ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e_\u043a\u0440\u0430\u0441\u043d\u044b\u0439 { [ translation violet ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e_\u043a\u0440\u0430\u0441\u043d\u044b\u043c { [ translation violet ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e_\u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e { [ translation violet ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e_\u043a\u0440\u0430\u0441\u043d\u044b\u043c\u0438 { [ translation violet ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e_\u043a\u0440\u0430\u0441\u043d\u0430\u044f { [ translation violet ][ language russian ]}]\n\n[ \u043c\u0435\u0442\u0435\u043e\u0440 { [ translation meteor ][ language russian ]}]\n[ \u043c\u0435\u0442\u0435\u043e\u0440\u0430 { [ translation meteor ][ language russian ]}]\n[ \u043c\u0435\u0442\u0435\u043e\u0440\u044b { [ translation meteor ][ language russian ]}]\n[ \u043c\u0435\u0442\u0435\u043e\u0440\u043e\u0432 { [ translation meteor ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0435_\u043a\u043e\u043c\u0435\u0442\u044b { [ translation meteor ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0435_\u0437\u0432\u0451\u0437\u0434\u044b { [ translation meteor ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0435_\u0437\u0432\u0435\u0437\u0434\u044b { [ translation meteor ][ language russian ]}]\n\n[ \u0441\u043d\u0435\u0433 { [ translation midnight_snow ][ language russian ]}]\n[ \u0441\u043d\u0435\u0436\u043d\u044b\u0439 { [ translation midnight_snow ][ language russian ]}]\n[ \u0441\u043d\u0435\u0436\u043d\u043e\u0433\u043e { [ translation midnight_snow ][ language russian ]}]\n[ \u0441\u043d\u0435\u0436\u043d\u044b\u043c\u0438 { [ translation midnight_snow ][ language russian ]}]\n[ \u0441\u043d\u0435\u0436\u043d\u0430\u044f { [ translation midnight_snow ][ language russian ]}]\n\n[ \u043c\u0438\u043d\u0430 { [ translation mine ][ language russian ]}]\n[ \u0431\u0443\u0440\u0430\u043a { [ translation mine ][ language russian ]}]\n[ \u043c\u0438\u043d\u043e\u0439 { [ translation mine ][ language russian ]}]\n[ \u0431\u0443\u0440\u0430\u043a\u043e\u043c { [ translation mine ][ language russian ]}]\n[ \u043c\u0438\u043d { [ translation mine ][ language russian ]}]\n\n[ \u043c\u0438\u043a\u0441 { [ translation mixed ][ language russian ]}]\n[ \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u043c { [ translation mixed ][ language russian ]}]\n[ \u0441\u043c\u0435\u0448\u0430\u043d\u043d\u044b\u043c\u0438 { [ translation mixed ][ language russian ]}]\n\n[ \u043f\u0430\u0440\u0430\u0448\u044e\u0442 { [ translation mobiles ][ language russian ]}]\n[ \u043d\u0430_\u043f\u0430\u0440\u0430\u0448\u044e\u0442\u0435 { [ translation mobiles ][ language russian ]}]\n[ \u0441_\u043f\u0430\u0440\u0430\u0448\u044e\u0442\u043e\u043c { [ translation mobiles ][ language russian ]}]\n[ \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e_\u043f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 { [ translation mobiles ][ language russian ]}]\n[ \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e_\u043f\u0430\u0434\u0430\u044e\u0449\u0430\u044f { [ translation mobiles ][ language russian ]}]\n\n[ \u0446\u0432\u0435\u0442\u043d\u043e\u0439 { [ translation multi_color ][ language russian ]}]\n[ \u043c\u0443\u043b\u044c\u0442\u0438\u043a\u043e\u043b\u043e\u0440 { [ translation multi_color ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442\u043d\u044b\u043c { [ translation multi_color ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442\u043d\u044b\u043c\u0438 { [ translation multi_color ][ language russian ]}]\n[ \u0440\u0430\u0437\u043d\u043e\u0446\u0432\u0435\u0442\u043d\u044b\u043c\u0438 { [ translation multi_color ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442\u043d\u0430\u044f { [ translation multi_color ][ language russian ]}]\n[ \u0440\u0430\u0437\u043d\u043e\u0446\u0432\u0435\u0442\u043d\u0430\u044f { [ translation multi_color ][ language russian ]}]\n[ \u0440\u0430\u0437\u043d\u043e\u0446\u0432\u0435\u0442\u043d\u044b\u0439 { [ translation multi_color ][ language russian ]}]\n[ \u0446\u0432\u0435\u0442\u043d\u0443\u044e { [ translation multi_color ][ language russian ]}]\n[ \u0440\u0430\u0437\u043d\u043e\u0446\u0432\u0435\u0442\u043d\u0443\u044e { [ translation multi_color ][ language russian ]}]\n\n[ \u0432\u043e\u0434\u043d\u044b\u0439 { [ translation nautical ][ language russian ]}]\n[ \u043c\u043e\u0440\u0441\u043a\u043e\u0439 { [ translation nautical ][ language russian ]}]\n\n[ \u0434\u0435\u0432\u044f\u0442\u044c_\u0440\u0430\u0437 { [ translation nine_times ][ language russian ]}]\n[ \u0434\u0435\u0432\u044f\u0442\u044c { [ translation nine_times ][ language russian ]}]\n\n[ \u0431\u0435\u0437_\u0440\u0438\u0441\u0443\u043d\u043a\u0430 { [ translation no_trail ][ language russian ]}]\n[ \u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation no_trail ][ language russian ]}]\n[ \u0431\u0435\u0441\u0441\u043b\u0435\u0434\u043d\u044b\u0439 { [ translation no_trail ][ language russian ]}]\n\n[ \u043e\u0441\u044c\u043c\u0438\u043d\u043e\u0433 { [ translation octopus ][ language russian ]}]\n\n[ \u043e\u0434\u0438\u043d_\u0440\u0430\u0437 { [ translation one_time ][ language russian ]}]\n[ \u043e\u0434\u0438\u043d { [ translation one_time ][ language russian ]}]\n\n\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u0439 { [ translation orange ][ language russian ]}]\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u043c { [ translation orange ][ language russian ]}]\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u0430\u044f { [ translation orange ][ language russian ]}]\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u044b\u043c\u0438 { [ translation orange ][ language russian ]}]\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u043e\u0433\u043e { [ translation orange ][ language russian ]}]\n[ \u043e\u0440\u0430\u043d\u0436\u0435\u0432\u0443\u044e { [ translation orange ][ language russian ]}]\n\n\n[ \u0432\u043d\u0435\u0448\u043d\u0438\u0439 { [ translation outer ][ language russian ]}]\n[ \u0432\u043d\u0435\u0448\u043d\u044f\u044f { [ translation outer ][ language russian ]}]\n[ \u0432\u043d\u0435\u0448\u043d\u0435\u0435 { [ translation outer ][ language russian ]}]\n[ \u0432\u043d\u0435\u0448\u043d\u0438\u043c { [ translation outer ][ language russian ]}]\n[ \u043d\u0430\u0440\u0443\u0436\u043d\u043e\u0435 { [ translation outer ][ language russian ]}]\n[ \u043d\u0430\u0440\u0443\u0436\u043d\u044b\u043c { [ translation outer ][ language russian ]}]\n[ \u043d\u0430\u0440\u0443\u0436\u043d\u044b\u0439 { [ translation outer ][ language russian ]}]\n\n[ \u043f\u0430\u043b\u044c\u043c\u0430 { [ translation palm ][ language russian ]}]\n[ \u043f\u0430\u043b\u044c\u043c\u043e\u0439 { [ translation palm ][ language russian ]}]\n[ \u043f\u0430\u043b\u044c\u043c\u0443 { [ translation palm ][ language russian ]}]\n[ \u043f\u0430\u043b\u044c\u043c { [ translation palm ][ language russian ]}]\n[ \u043f\u0430\u043b\u044c\u043c\u044b { [ translation palm ][ language russian ]}]\n\n[ \u043f\u0435\u0440\u0441\u0438\u043a { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u044b\u0439 { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u043e\u0433\u043e { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u044b\u043c { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u044b\u043c\u0438 { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u0430\u044f { [ translation peach ][ language russian ]}]\n[ \u043f\u0435\u0440\u0441\u0438\u043a\u043e\u0432\u0443\u044e { [ translation peach ][ language russian ]}]\n\n[ \u0434\u0432\u043e\u0439\u043d\u043e\u0439_\u0437\u0430\u0440\u044f\u0434 { [ translation peanut_shell ][ language russian ]}]\n[ \u0434\u0432\u043e\u0439\u043d\u043e\u0439_\u0448\u0430\u0440 { [ translation peanut_shell ][ language russian ]}]\n\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u043e\u0433\u043e { [ translation pearl ][ language russian ]}]\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u044b\u0439 { [ translation pearl ][ language russian ]}]\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u044b\u043c { [ translation pearl ][ language russian ]}]\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u0435\u043c\u0438 { [ translation pearl ][ language russian ]}]\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u0430\u044f { [ translation pearl ][ language russian ]}]\n[ \u0436\u0435\u043c\u0447\u0443\u0436\u043d\u0443\u044e { [ translation pearl ][ language russian ]}]\n\n[ \u043f\u0438\u043e\u043d { [ translation peony ][ language russian ]}]\n[ \u043f\u0438\u043e\u043d\u044b { [ translation peony ][ language russian ]}]\n[ \u043f\u0438\u043e\u043d\u0430\u043c\u0438 { [ translation peony ][ language russian ]}]\n[ \u043f\u0438\u043e\u043d\u043e\u043c { [ translation peony ][ language russian ]}]\n\n[ \u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u0444\u043b\u044d\u0448 { [ translation photoflash ][ language russian ]}]\n[ \u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u0444\u043b\u0435\u0448 { [ translation photoflash ][ language russian ]}]\n[ \u0444\u043b\u0435\u0448_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation photoflash ][ language russian ]}]\n[ \u0444\u043b\u044d\u0448_\u0441\u0446\u0435\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 { [ translation photoflash ][ language russian ]}]\n\n[ \u0440\u043e\u0437\u043e\u0432\u044b\u0439 { [ translation pink ][ language russian ]}]\n[ \u0440\u043e\u0437\u043e\u0432\u043e\u0433\u043e { [ translation pink ][ language russian ]}]\n[ \u0440\u043e\u0437\u043e\u0432\u044b\u043c\u0438 { [ translation pink ][ language russian ]}]\n[ \u0440\u043e\u0437\u043e\u0432\u0430\u044f { [ translation pink ][ language russian ]}]\n[ \u0440\u043e\u0437\u043e\u0432\u044b\u043c { [ translation pink ][ language russian ]}]\n[ \u0440\u043e\u0437\u043e\u0432\u0443\u044e { [ translation pink ][ language russian ]}]\n\n[ \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d { [ translation placeholder ][ language russian ]}]\n[ \u043d\u0430\u043f\u043e\u043b\u043d\u0435\u043d { [ translation placeholder ][ language russian ]}]\n\n[ de_base { [ translation placeholder ][ language french ]}]\n\n[ posici\xf3n_marcada { [ translation placeholder ][ language spanish ]}]\n[ marcaci\xf3n { [ translation placeholder ][ language spanish ]}]\n[ posicion_marcada { [ translation posici\xf3n_marcada ]}]\n[ marcacion { [ translation marcaci\xf3n ]}]\n[ posiciones_marcadas { [ translation placeholder ][ language spanish ]}]\n[ posiciones { [ translation placeholder ][ language spanish ]}]\n \n \n[ \u0440\u044f\u0434\u044b { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u0440\u044f\u0434\u044b { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u043b\u0430\u0439\u043d\u044b { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u043b\u0438\u043d\u0438\u0438 { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0440\u044f\u0434\u0430 { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043b\u0438\u043d\u0438\u0438 { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0440\u044f\u0434 { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0440\u044f\u0434\u043e\u0432 { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n\n[ \u0441\u043b\u0438\u0432\u0430 { [ translation plum ][ language russian ]}]\n[ \u0441\u043b\u0438\u0432\u044b { [ translation plum ][ language russian ]}]\n\n[ \u043a\u043e\u0440\u0430\u043b\u043b { [ translation polyp ][ language russian ]}]\n[ \u043a\u043e\u0440\u0430\u043b { [ translation polyp ][ language russian ]}]\n[ \u043a\u043e\u0440\u0430\u043b\u043b\u044b { [ translation polyp ][ language russian ]}]\n[ \u043a\u043e\u0440\u0430\u043b\u044b { [ translation polyp ][ language russian ]}]\n[ \u043a\u043e\u0440\u0430\u043b\u043b\u0430\u043c\u0438 { [ translation polyp ][ language russian ]}]\n[ \u043a\u043e\u0440\u0430\u043b\u0430\u043c\u0438 { [ translation polyp ][ language russian ]}]\n\n\n[ \u043f\u043e\u043f\u043a\u043e\u0440\u043d { [ translation popcorn_crackle ][ language russian ]}]\n[ \u043f\u043e\u043f\u043a\u043e\u0440\u043d\u0430 { [ translation popcorn_crackle ][ language russian ]}]\n\n[ \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u0435 { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language russian ]}]\n[ \u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442\u0435\u043b\u044c { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language russian ]}]\n[ \u0432\u0440\u0435\u043c\u044f_\u0437\u0430\u043c\u0435\u0434\u043b\u0438\u0442\u0435\u043b\u044f { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language russian ]}]\n[ \u0432\u0437 { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language russian ]}]\n\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u044b\u0439 { [ translation purple ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u043e\u0433\u043e { [ translation purple ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u0430\u044f { [ translation purple ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u044b\u043c { [ translation purple ][ language russian ]}]\n[ \u043f\u0443\u0440\u043f\u0443\u0440\u043d\u044b\u043c\u0438 { [ translation purple ][ language russian ]}]\n\n\n[ \u0440\u0430\u0434\u0443\u0433\u0430 { [ translation rainbow ][ language russian ]}]\n[ \u0440\u0430\u0434\u0443\u0436\u043d\u044b\u0439 { [ translation rainbow ][ language russian ]}]\n[ \u0440\u0430\u0434\u0443\u0436\u043d\u044b\u043c { [ translation rainbow ][ language russian ]}]\n[ \u0440\u0430\u0434\u0443\u0436\u043d\u044b\u043c\u0438 { [ translation rainbow ][ language russian ]}]\n[ \u0440\u0430\u0434\u0443\u0436\u043d\u043e\u0433\u043e { [ translation rainbow ][ language russian ]}]\n\n\n[ \u0431\u0443\u043a\u0435\u0442_\u0446\u0432\u0435\u0442\u043e\u0432 { [ translation ramillete ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u044b\u0439 { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u0430\u044f { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u044b\u043c { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u044b\u043c\u0438 { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u043e\u0439 { [ translation red ][ language russian ]}]\n[ \u043a\u0440\u0430\u0441\u043d\u0443\u044e { [ translation red ][ language russian ]}]\n\n\n[ \u0445\u043b\u043e\u043f\u043e\u043a { [ translation report ][ language russian ]}]\n[ \u0445\u043b\u043e\u043f\u043a\u0438 { [ translation report ][ language russian ]}]\n[ \u0445\u043b\u043e\u043f\u043a\u0430\u043c\u0438 { [ translation report ][ language russian ]}]\n[ \u0445\u043b\u043e\u043f\u043a\u043e\u043c { [ translation report ][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u043e { [ translation ring ][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u0430 { [ translation ring ][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u0430\u043c\u0438 { [ translation ring ][ language russian ]}]\n[ \u043a\u0440\u0443\u0433 { [ translation ring ][ language russian ]}]\n[ \u043a\u0440\u0443\u0433\u0438 { [ translation ring ][ language russian ]}]\n[ \u043a\u0440\u0443\u0433\u0430\u043c\u0438 { [ translation ring ][ language russian ]}]\n\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0439 { [ translation rising ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0430\u044f { [ translation rising ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0435 { [ translation rising ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u043c\u0438 { [ translation rising ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0435\u0433\u043e { [ translation rising ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u043c { [ translation rising ][ language russian ]}]\n\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0439_\u0446\u0432\u0435\u0442\u043e\u043a { [ translation rising_flowers ][ language russian ]}]\n[ \u0440\u0430\u0441\u0442\u0443\u0449\u0438\u0435_\u0446\u0432\u0435\u0442\u044b { [ translation rising_flowers ][ language russian ]}]\n\n[ \u0440\u0430\u043a\u0435\u0442\u0430 { [ translation rocket ][ language russian ]}]\n[ \u0440\u0430\u043a\u0435\u0442\u044b { [ translation rocket ][ language russian ]}]\n\n[ \u0440\u0438\u043c\u0441\u043a\u0430\u044f { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n[ \u0440\u0438\u043c\u0441\u043a\u0430\u044f_\u0441\u0432\u0435\u0447\u0430 { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language russian ]}]\n\n[ \u044f\u0440\u043a\u043e_\u043a\u0440\u0430\u0441\u043d\u044b\u0439 { [ translation ruby ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u043a\u0440\u0430\u0441\u043d\u0430\u044f { [ translation ruby ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u043a\u0440\u0430\u0441\u043d\u044b\u043c\u0438 { [ translation ruby ][ language russian ]}]\n[ \u044f\u0440\u043a\u043e_\u043a\u0440\u0430\u0441\u043d\u043e\u0433\u043e { [ translation ruby ][ language russian ]}]\n[ \u0440\u0443\u0431\u0438\u043d\u043e\u0432\u0430\u044f { [ translation ruby ][ language russian ]}]\n[ \u0440\u0443\u0431\u0438\u043d\u043e\u0432\u044b\u0439 { [ translation ruby ][ language russian ]}]\n[ \u0440\u0443\u0431\u0438\u043d\u043e\u0432\u043e\u0433\u043e { [ translation ruby ][ language russian ]}]\n\n\n[ \u0442\u0438\u0442\u0430\u043d\u0438\u0443\u043c { [ translation salute ][ language russian ]}]\n[ \u0433\u0440\u043e\u043c { [ translation salute ][ language russian ]}]\n\n\n[ \u0442\u043e\u0442_\u0436\u0435_\u0446\u0432\u0435\u0442 { [ translation same_color ][ language russian ]}]\n[ \u0442\u0430\u043a\u043e\u0433\u043e_\u0436\u0435_\u0446\u0432\u0435\u0442\u0430 { [ translation same_color ][ language russian ]}]\n\n\n[ \u0441\u0430\u0442\u0443\u0440\u043d { [ translation saturn ][ language russian ]}]\n\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 { [ translation scattering ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u0435 { [ translation scattering ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0430\u044f { [ translation scattering ][ language russian ]}]\n[ \u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c\u0438 { [ translation scattering ][ language russian ]}]\n[ \u0441_\u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0438\u043c\u0438 { [ translation scattering ][ language russian ]}]\n[ \u0441_\u043f\u043b\u0430\u0432\u0430\u044e\u0449\u0435\u0439 { [ translation scattering ][ language russian ]}]\n\n[ \u0441\u0438\u043d\u0438\u0439_\u043c\u043e\u0440\u0441\u043a\u043e\u0439 { [ translation sea_blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0435\u0433\u043e_\u043c\u043e\u0440\u0441\u043a\u043e\u0433\u043e { [ translation sea_blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u0445_\u043c\u043e\u0440\u0441\u043a\u0438\u0445 { [ translation sea_blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u043c_\u043c\u043e\u0440\u0441\u043a\u0438\u043c { [ translation sea_blue ][ language russian ]}]\n[ \u0441\u0438\u043d\u0438\u043c\u0438_\u043c\u043e\u0440\u0441\u043a\u0438\u043c\u0438 { [ translation sea_blue ][ language russian ]}]\n\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u0439_\u043c\u043e\u0440\u0441\u043a\u043e\u0439 { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u0439_\u043c\u043e\u0440\u0441\u043a\u043e\u0439 { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u043e\u0433\u043e_\u043c\u043e\u0440\u0441\u043a\u043e\u0433\u043e { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u043e\u0433\u043e_\u043c\u043e\u0440\u0441\u043a\u043e\u0433\u043e { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u043c\u0438_\u043c\u043e\u0440\u0441\u043a\u0438\u043c\u0438 { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u043c\u0438_\u043c\u043e\u0440\u0441\u043a\u0438\u043c\u0438 { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0435\u043d\u044b\u043c_\u043c\u043e\u0440\u0441\u043a\u0438\u043c { [ translation grass_green ][ language russian ]}]\n[ \u0437\u0435\u043b\u0451\u043d\u044b\u043c_\u043c\u043e\u0440\u0441\u043a\u0438\u043c { [ translation grass_green ][ language russian ]}]\n\n[ \u0437\u043c\u0435\u0438 { [ translation serpents ][ language russian ]}]\n[ \u0437\u043c\u0435\u0439\u043a\u0438 { [ translation serpents ][ language russian ]}]\n[ \u0441\u0435\u0440\u043f\u0430\u043d\u0442\u0438\u043d { [ translation serpents ][ language russian ]}]\n[ \u0441\u0435\u0440\u043f\u0430\u043d\u0442\u0438\u043d\u043e\u043c { [ translation serpents ][ language russian ]}]\n\n[ \u0441\u0435\u043c\u044c_\u0440\u0430\u0437 { [ translation seven_times ][ language russian ]}]\n[ \u0441\u0435\u043c\u044c { [ translation seven_times ][ language russian ]}]\n\n\n[ \u0448\u0430\u0440_\u0441\u0430\u043b\u044e\u0442 { [ translation shell ][ language russian ]}]\n[ \u0448\u0430\u0440 { [ translation shell ][ language russian ]}]\n[ \u0446\u0438\u043b\u0438\u043d\u0434\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0439_\u0437\u0430\u0440\u044f\u0434 { [ translation shell ][ language russian ]}]\n[ \u0437\u0430\u0440\u044f\u0434 { [ translation shell ][ language russian ]}]\n[ \u0437\u0430\u0440\u044f\u0434\u043e\u043c { [ translation shell ][ language russian ]}]\n[ \u0441\u0444\u0435\u0440\u0430 { [ translation shell ][ language russian ]}]\n[ \u043b\u044e\u0441\u0442\u043a\u0443\u0433\u0435\u043b\u044c { [ translation shell ][ language russian ]}]\n[ \u044f\u0434\u0440\u043e { [ translation shell ][ language russian ]}]\n\n\n[ \u043c\u0443\u043b\u044c\u0442\u0438\u0440\u0430\u0437\u0440\u044b\u0432 { [ translation shell_of_shells ][ language russian ]}]\n[ \u043c\u0443\u043b\u044c\u0442\u0438\u0440\u0430\u0437\u0440\u044b\u0432\u044b { [ translation shell_of_shells ][ language russian ]}]\n[ \u0442\u044b\u0441\u044f\u0447\u0430_\u0446\u0432\u0435\u0442\u043e\u0432 { [ translation shell_of_shells ][ language russian ]}]\n\n[ \u0438\u0441\u043a\u0440\u0438\u0441\u0442\u043e_\u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u0435 { [ translation shimmering ][ language russian ]}]\n[ \u0438\u0441\u043a\u0440\u0438\u0441\u0442\u0430\u044f_\u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0430\u044f { [ translation shimmering ][ language russian ]}]\n[ \u0438\u0441\u043a\u0440\u0438\u0441\u0442\u043e_\u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u043c { [ translation shimmering ][ language russian ]}]\n\n\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 { [ translation short ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0435 { [ translation short ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f { [ translation short ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 { [ translation short ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0433\u043e { [ translation short ][ language russian ]}]\n[ \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u043c { [ translation short ][ language russian ]}]\n\n[ \u0432\u044b\u0441\u0442\u0440\u0435\u043b { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language russian ]}]\n[ \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u044b { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language russian ]}]\n[ \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u043e\u0432 {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language russian ]}]\n[ \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u0430\u043c\u0438 {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language russian ]}]\n[ \u0432\u044b\u0441\u0442\u0440\u0435\u043b\u043e\u043c {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language russian ]}]\n\n[ \u043f\u0435\u0440\u0435\u0445\u043e\u0434 { [ translation shuttle ][ language russian ]}]\n[ \u0441_\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u043e\u043c { [ translation shuttle ][ language russian ]}]\n[ \u0441_\u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0430\u043c\u0438 { [ translation shuttle ][ language russian ]}]\n[ \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0449\u0438\u0439 { [ translation shuttle ][ language russian ]}]\n[ \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0449\u0430\u044f { [ translation shuttle ][ language russian ]}]\n[ \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442 { [ translation shuttle ][ language russian ]}]\n\n\n\n[ \u0442\u0438\u0445\u043e { [ translation silent ][ language russian ]}]\n[ \u0442\u0438\u0445\u0438\u0439 { [ translation silent ][ language russian ]}]\n[ \u0442\u0438\u0445\u0438\u043c { [ translation silent ][ language russian ]}]\n[ \u0442\u0438\u0445\u0438\u043c\u0438 { [ translation silent ][ language russian ]}]\n\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u043e { [ translation silver ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u0439 { [ translation silver ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u043e\u0433\u043e { [ translation silver ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u043c { [ translation silver ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u043c\u0438 { [ translation silver ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u0430\u044f { [ translation silver ][ language russian ]}]\n\n\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u043e_\u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation silver_tip ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u0439_\u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation silver_tip ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u043e\u0433\u043e_\u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation silver_tip ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u043c_\u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation silver_tip ][ language russian ]}]\n[ \u0441\u0435\u0440\u0435\u0431\u0440\u044f\u043d\u044b\u043c\u0438_\u0431\u0435\u0437_\u0441\u043b\u0435\u0434\u0430 { [ translation silver_tip ][ language russian ]}]\n\n[ \u0441\u0438\u043d\u0433\u043b { [ translation single_shot ][ impliesCandle true ][ language russian ]}]\n[ \u043e\u0434\u0438\u043d\u043e\u0447\u043d\u044b\u0439_\u0432\u044b\u0441\u0442\u0440\u0435\u043b { [ translation single_shot ][ impliesCandle true ][ language russian ]}]\n\n[ \u0448\u0435\u0441\u0442\u044c_\u0440\u0430\u0437 { [ translation six_times ][ language russian ]}]\n[ \u0448\u0435\u0441\u0442\u044c { [ translation six_times ][ language russian ]}]\n\n//[ \u0448\u0438\u043f\u044f\u0449\u0438\u0439 { [ translation sizzling ][ language russian ]}]\n//[ \u0448\u0438\u043f\u044f\u0449\u0438\u0435 { [ translation sizzling ][ language russian ]}]\n//[ \u0448\u0438\u043f\u044f\u0449\u0438\u043c\u0438 { [ translation sizzling ][ language russian ]}]\n//[ \u0448\u0438\u043f\u044f\u0449\u0438\u043c { [ translation sizzling ][ language russian ]}]\n//[ \u0448\u0438\u043f\u044f\u0449\u0430\u044f { [ translation sizzling ][ language russian ]}]\n\n[ \u0448\u0438\u043f\u044f\u0449\u0438\u0439 { [ translation crackling ][ language russian ]}]\n[ \u0448\u0438\u043f\u044f\u0449\u0438\u0435 { [ translation crackling ][ language russian ]}]\n[ \u0448\u0438\u043f\u044f\u0449\u0438\u043c\u0438 { [ translation crackling ][ language russian ]}]\n[ \u0448\u0438\u043f\u044f\u0449\u0438\u043c { [ translation crackling ][ language russian ]}]\n[ \u0448\u0438\u043f\u044f\u0449\u0430\u044f { [ translation crackling ][ language russian ]}]\n\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0433\u043e\u043b\u0443\u0431\u043e\u0439 { [ translation sky_blue ][ language russian ]}]\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0433\u043e\u043b\u0443\u0431\u043e\u0433\u043e { [ translation sky_blue ][ language russian ]}]\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0433\u043e\u043b\u0443\u0431\u0430\u044f { [ translation sky_blue ][ language russian ]}]\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0433\u043e\u043b\u0443\u0431\u044b\u0435 { [ translation sky_blue ][ language russian ]}]\n[ \u0441\u0432\u0435\u0442\u043b\u043e_\u0433\u043e\u043b\u0443\u0431\u044b\u043c\u0438 { [ translation sky_blue ][ language russian ]}]\n\n//old[ \u0440\u044f\u0434 { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u0440\u044f\u0434 { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u043b\u0430\u0439\u043d { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043f\u0440\u043e\u0444_\u043b\u0438\u043d\u0438\u044f { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043b\u0438\u043d\u0438\u044f { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u043b\u0438\u043d\u0438\u0439 { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u0447\u0443\u0442\u044c_\u0431\u043e\u043b\u044c\u0448\u0435 { [ translation slightly_big ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0431\u043e\u043b\u044c\u0448\u0435 { [ translation slightly_big ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u044f\u0440\u0447\u0435 { [ translation slightly_bright ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u044f\u0440\u0447\u0435 { [ translation slightly_bright ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u043f\u043b\u043e\u0442\u043d\u0435\u0435 { [ translation slightly_dense ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u043f\u043b\u043e\u0442\u043d\u0435\u0435 { [ translation slightly_dense ][ language russian ]}]\n[ \u0442\u0443\u0441\u043a\u043b\u0435\u0435 { [ translation slightly_dim ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0442\u0443\u0441\u043a\u043b\u0435\u0435 { [ translation slightly_dim ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u0434\u043e\u043b\u044c\u0448\u0435 { [ translation slightly_long ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0434\u043e\u043b\u044c\u0448\u0435 { [ translation slightly_long ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u043a\u043e\u0440\u043e\u0447\u0435 { [ translation slightly_short ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u043a\u043e\u0440\u043e\u0447\u0435 { [ translation slightly_short ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u043c\u0435\u043d\u044c\u0448\u0435 { [ translation slightly_small ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u043c\u0435\u043d\u044c\u0448\u0435 { [ translation slightly_small ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u0440\u0435\u0436\u0435 { [ translation slightly_sparse ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0440\u0435\u0436\u0435 { [ translation slightly_sparse ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u0442\u043e\u043b\u0449\u0435 { [ translation slightly_thick ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0442\u043e\u043b\u0449\u0435 { [ translation slightly_thick ][ language russian ]}]\n[ \u0447\u0443\u0442\u044c_\u0442\u043e\u043d\u044c\u0448\u0435 { [ translation slightly_thin ][ language russian ]}]\n[ \u043d\u0435\u043c\u043d\u043e\u0433\u043e_\u0442\u043e\u043d\u044c\u0448\u0435 { [ translation slightly_thin ][ language russian ]}]\n\n\n[ \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 { [ translation small ][ language russian ]}]\n[ \u043c\u0430\u043b\u044b\u0439 { [ translation small ][ language russian ]}]\n[ \u043c\u0430\u043b\u043e\u0433\u043e { [ translation small ][ language russian ]}]\n[ \u043c\u0430\u043b\u044b\u043c { [ translation small ][ language russian ]}]\n[ \u043c\u0435\u043d\u044c\u0448\u0435\u0433\u043e { [ translation small ][ language russian ]}]\n[ \u043c\u0435\u043d\u044c\u0448\u0438\u043c { [ translation small ][ language russian ]}]\n[ \u043c\u0435\u043d\u044c\u0448\u0438\u043c\u0438 { [ translation small ][ language russian ]}]\n[ \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c { [ translation small ][ language russian ]}]\n[ \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c\u0438 { [ translation small ][ language russian ]}]\n[ \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 { [ translation small ][ language russian ]}]\n[ \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 { [ translation small ][ language russian ]}]\n[ \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e { [ translation small ][ language russian ]}]\n[ \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0443\u044e { [ translation small ][ language russian ]}]\n[ \u0443\u043b\u044b\u0431\u043a\u0430 { [ translation smiley_face ][ language russian ]}]\n[ \u0441\u043c\u0430\u0439\u043b { [ translation smiley_face ][ language russian ]}]\n[ \u0440\u0438\u0441\u0443\u043d\u043e\u043a_\u0443\u043b\u044b\u0431\u043a\u0430 { [ translation smiley_face ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u044b\u0439 { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u0430\u044f { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u043e\u0435 { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u044b\u043c\u0438 { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u043e\u0433\u043e { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437\u0434\u044b\u043c\u043d\u044b\u043c { [ translation smokeless ][ language russian ]}]\n[ \u0431\u0435\u0437_\u0434\u044b\u043c\u0430 { [ translation smokeless ][ language russian ]}]\n\n\n[ \u0431\u0438\u0441\u0435\u0440 { [ translation spangle ][ language russian ]}]\n\n\n[ \u0440\u0435\u0434\u043a\u0438\u0439 { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u043e { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u0430\u044f { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u043e\u0433\u043e { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u043e\u043c\u0443 { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u0438\u043c { [ translation sparse ][ language russian ]}]\n[ \u0440\u0435\u0434\u043a\u0438\u043c\u0438 { [ translation sparse ][ language russian ]}]\n[ \u0441_\u0440\u0435\u0434\u043a\u0438\u043c\u0438 { [ translation sparse ][ language russian ]}]\n[ \u0441_\u0440\u0435\u0434\u043a\u043e\u0439 { [ translation sparse ][ language russian ]}]\n[ \u0441_\u0440\u0435\u0434\u043a\u0438\u043c { [ translation sparse ][ language russian ]}]\n[ \u043f\u0430\u0443\u043a { [ translation spider ][ language russian ]}]\n[ \u043a\u043e\u043b\u043e\u0441 { [ translation spike ][ language russian ]}]\n[ \u043a\u043e\u043b\u043e\u0441\u043a\u0438 { [ translation spike ][ language russian ]}]\n[ \u043a\u043e\u043b\u043e\u0441\u043a\u0430\u043c\u0438 { [ translation spike ][ language russian ]}]\n\n[ \u0432\u0438\u0442\u0440\u0430\u0436 { [ translation stained_glass ][ language russian ]}]\n[ \u0432\u0438\u0442\u0440\u0430\u0436\u043d\u044b\u0439 { [ translation stained_glass ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u0439 { [ translation strobing ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u0435 { [ translation strobing ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u043c { [ translation strobing ][ language russian ]}]\n[ \u0441\u0442\u0440\u043e\u0431 { [ translation strobing ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u0445 { [ translation strobing ][ language russian ]}]\n[ \u043f\u0443\u043b\u044c\u0441\u0438\u0440\u0443\u044e\u0449\u0438\u043c\u0438 { [ translation strobing ][ language russian ]}]\n[ \u043c\u043d\u043e\u0433\u043e\u044d\u0444\u0444\u0435\u043a\u0442\u043d\u044b\u0439 { [ translation stutata ][ language russian ]}]\n[ \u043c\u043d\u043e\u0433\u043e\u0437\u0430\u0440\u044f\u0434\u043d\u044b\u0439 { [ translation stutata ][ language russian ]}]\n[ \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e_\u044d\u0444\u0444\u0435\u043a\u0442\u043e\u0432 { [ translation stutata ][ language russian ]}]\n//old[ \u043f\u043e\u0434\u0441\u043e\u043b\u043d\u0443\u0445 { [ translation sunflower ][ language russian ]}]\n[ \u0441\u043e\u043b\u043d\u0435\u0447\u043d\u044b\u0439_\u0446\u0432\u0435\u0442\u043e\u043a { [ translation sunflower ][ language russian ]}]\n\n[ \u0442\u0440\u0430\u0441\u0441\u0430 { [ translation tail ][ language russian ]}]\n[ \u0442\u0440\u0430\u0441\u0441\u043e\u0439 { [ translation tail ][ language russian ]}]\n[ \u0442\u0440\u0430\u0441\u0441\u0443 { [ translation tail ][ language russian ]}]\n[ \u0442\u0440 { [ translation tail ][ language russian ]}]\n\n[ \u0434\u0435\u0441\u044f\u0442\u044c_\u0440\u0430\u0437 { [ translation ten_times ][ language russian ]}]\n[ \u0434\u0435\u0441\u044f\u0442\u044c { [ translation ten_times ][ language russian ]}]\n\n\n[ \u0442\u043e\u043b\u0441\u0442\u044b\u0439 { [ translation thick ][ language russian ]}]\n[ \u0442\u043e\u043b\u0441\u0442\u0430\u044f { [ translation thick ][ language russian ]}]\n[ \u0442\u043e\u043b\u0441\u0442\u044b\u043c\u0438 { [ translation thick ][ language russian ]}]\n[ \u0442\u043e\u043b\u0441\u0442\u043e\u0439 { [ translation thick ][ language russian ]}]\n[ \u0442\u043e\u043b\u0441\u0442\u044b\u043c { [ translation thick ][ language russian ]}]\n[ \u0442\u043e\u043b\u0441\u0442\u043e\u0433\u043e { [ translation thick ][ language russian ]}]\n\n[ \u0442\u043e\u043d\u043a\u0438\u0439 { [ translation thin ][ language russian ]}]\n[ \u0442\u043e\u043d\u043a\u0438\u043c\u0438 { [ translation thin ][ language russian ]}]\n[ \u0442\u043e\u043d\u043a\u0430\u044f { [ translation thin ][ language russian ]}]\n[ \u0442\u043e\u043d\u043a\u043e\u0439 { [ translation thin ][ language russian ]}]\n[ \u0442\u043e\u043d\u043a\u0438\u043c { [ translation thin ][ language russian ]}]\n[ \u0442\u043e\u043d\u043a\u043e\u0433\u043e { [ translation thin ][ language russian ]}]\n\n[ \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044c_\u0440\u0430\u0437 { [ translation thirty_times ][ language russian ]}]\n[ \u0442\u0440\u0438\u0434\u0446\u0430\u0442\u044c { [ translation thirty_times ][ language russian ]}]\n[ \u0442\u0440\u0438_\u0440\u0430\u0437\u0430 { [ translation three_times ][ language russian ]}]\n[ \u0442\u0440\u0438\u0436\u0434\u044b { [ translation three_times ][ language russian ]}]\n[ \u0442\u0440\u0438 { [ translation three_times ][ language russian ]}]\n[ \u0445\u0432\u043e\u0441\u0442 { [ translation tiger_tail ][ language russian ]}]\n[ \u0448\u043b\u0435\u0439\u0444 { [ translation tiger_tail ][ language russian ]}]\n[ \u0448\u043b\u0435\u0439\u0444\u043e\u043c { [ translation tiger_tail ][ language russian ]}]\n[ \u0445\u0432\u043e\u0441\u0442\u043e\u043c { [ translation tiger_tail ][ language russian ]}]\n[ \u0434\u043e\u0436\u0434\u044c { [ translation time_rain ][ language russian ]}]\n[ \u0434\u043e\u0436\u0434\u044f { [ translation time_rain ][ language russian ]}]\n[ \u0442\u0438\u0442\u0430\u043d { [ translation titanium ][ language russian ]}]\n\n[ \u0440\u0430\u0437\u0440\u044b\u0432_\u0442\u0438\u0442\u0430\u043d\u0438\u0443\u043c { [ translation titanium_report ][ language russian ]}]\n[ \u0440\u0430\u0437\u0440\u044b\u0432\u044b_\u0442\u0438\u0442\u0430\u043d\u0438\u0443\u043c { [ translation titanium_report ][ language russian ]}]\n\n[ \u0433\u0440\u043e\u043c\u043a\u0438\u0439_\u0440\u0430\u0437\u0440\u044b\u0432 { [ translation titanium_salute ][ language russian ]}]\n[ \u0433\u0440\u043e\u043c\u043a\u0438\u0439_\u0445\u043b\u043e\u043f\u043e\u043a { [ translation titanium_salute ][ language russian ]}]\n[ \u0433\u0440\u043e\u043c\u043a\u0438\u0435_\u0445\u043b\u043e\u043f\u043a\u0438 { [ translation titanium_salute ][ language russian ]}]\n[ \u0433\u0440\u043e\u043c\u043a\u0438\u043c\u0438_\u0445\u043b\u043e\u043f\u043a\u0430\u043c\u0438 { [ translation titanium_salute ][ language russian ]}]\n[ \u0433\u0440\u043e\u043c\u043a\u0438\u043c\u0438_\u0440\u0430\u0437\u0440\u044b\u0432\u0430\u043c\u0438 { [ translation titanium_salute ][ language russian ]}]\n\n[ \u0432\u0435\u0440\u0445\u043d\u044f\u044f_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430 { [ translation top_half ][ language russian ]}]\n[ \u0432\u0435\u0440\u0445\u043d\u044e\u044e_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443 { [ translation top_half ][ language russian ]}]\n[ \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0430_\u0441\u0432\u0435\u0440\u0445\u0443 { [ translation top_half ][ language russian ]}]\n[ \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u0443_\u0441\u0432\u0435\u0440\u0445\u0443 { [ translation top_half ][ language russian ]}]\n[ \u0442\u0443\u0440\u0431\u0438\u043b\u0438\u043e\u043d { [ translation tourbillions ][ language russian ]}]\n[ \u0442\u0443\u0440\u0431\u0438\u043b\u0438\u043e\u043d\u044b { [ translation tourbillions ][ language russian ]}]\n[ \u0442\u0443\u0440\u0431\u0438\u043b\u0438\u043e\u043d\u0430\u043c\u0438 { [ translation tourbillions ][ language russian ]}]\n\n[ \u0441\u043b\u0435\u0434 { [ translation trail ][ language russian ]}]\n[ \u0441\u043b\u0435\u0434\u044b { [ translation trail ][ language russian ]}]\n[ \u0441\u043b\u0435\u0434\u0430\u043c\u0438 { [ translation trail ][ language russian ]}]\n[ \u0441\u043b\u0435\u0434\u043e\u0432 { [ translation trail ][ language russian ]}]\n[ \u0441\u043b\u0435\u0434\u043e\u043c { [ translation trail ][ language russian ]}]\n\n[ \u0442\u0440\u0438\u043c\u0430\u043b\u043e\u043d { [ translation tremalon ][ language russian ]}]\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u0430_\u0433\u043b\u0438\u0442\u0435\u0440\u043d\u0430\u044f { [ translation tremalon ][ language russian ]}]\n[ \u0431\u0440\u043e\u043a\u0430\u0434\u0443_\u0433\u043b\u0438\u0442\u0435\u0440\u043d\u0443\u044e { [ translation tremalon ][ language russian ]}]\n\n[ \u0442\u0440\u0438_\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_concentric_rings ][ language russian ]}]\n[ \u0442\u0440\u043e\u0439\u043d\u044b\u0435_\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0435_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_concentric_rings ][ language russian ]}]\n[ \u0442\u0440\u0438_\u043a\u043e\u043d\u0446\u0435\u043d\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0438\u0445_\u043a\u0440\u0443\u0433\u0430 { [ translation triple_concentric_rings ][ language russian ]}]\n[ \u043a\u043e\u043b\u044c\u0446\u0430_\u0441\u0430\u0442\u0443\u0440\u043d\u0430 { [ translation triple_concentric_rings ][ language russian ]}]\n\n\n[ \u0442\u0440\u0438_\u043f\u043e\u043f\u0435\u0440\u0435\u0447\u043d\u044b\u0445_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_cross_rings ][ language russian ]}]\n[ \u0430\u0442\u043e\u043c { [ translation triple_cross_rings ][ language russian ]}]\n[ \u0442\u0440\u043e\u0439\u043d\u044b\u0435_\u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u043d\u044b\u0435_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_cross_rings ][ language russian ]}]\n[ \u0442\u0440\u0438_\u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_half_rings ][ language russian ]}]\n[ \u0442\u0440\u043e\u0439\u043d\u043e\u0435_\u043a\u043e\u043b\u044c\u0446\u043e { [ translation triple_rings ][ language russian ]}]\n[ \u0442\u0440\u043e\u0439\u043d\u044b\u0435_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_rings ][ language russian ]}]\n[ \u0442\u0440\u043e\u0439\u043d\u043e\u043c_\u043a\u043e\u043b\u044c\u0446\u0435 { [ translation triple_rings ][ language russian ]}]\n[ \u0442\u0440\u0438_\u043a\u043e\u043b\u044c\u0446\u0430 { [ translation triple_rings ][ language russian ]}]\n\n[ \u0431\u0438\u0440\u044e\u0437\u0430 { [ translation aqua ][ language russian ]}]\n[ \u0431\u0438\u0440\u044e\u0437\u043e\u0432\u044b\u0439 { [ translation aqua ][ language russian ]}]\n[ \u0431\u0438\u0440\u044e\u0437\u043e\u0432\u044b\u043c { [ translation aqua ][ language russian ]}]\n[ \u0431\u0438\u0440\u044e\u0437\u043e\u0432\u044b\u043c\u0438 { [ translation aqua ][ language russian ]}]\n[ \u0431\u0438\u0440\u044e\u0437\u043e\u0432\u0430\u044f { [ translation aqua ][ language russian ]}]\n[ \u0431\u0438\u0440\u044e\u0437\u043e\u0432\u043e\u0433\u043e { [ translation aqua ][ language russian ]}]\n[ \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c_\u0440\u0430\u0437 { [ translation twenty_times ][ language russian ]}]\n[ \u0434\u0432\u0430\u0434\u0446\u0430\u0442\u044c { [ translation twenty_times ][ language russian ]}]\n\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u0439_\u0433\u043b\u0438\u0442\u0435\u0440 { [ translation twilight_glitter ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u043c_\u0433\u043b\u0438\u0442\u0435\u0440\u043e\u043c { [ translation twilight_glitter ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0435\u0439_\u0433\u043b\u0438\u0442\u0435\u0440\u043d\u043e\u0439 { [ translation twilight_glitter ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0435\u0433\u043e_\u0433\u043b\u0438\u0442\u0435\u0440\u0430 { [ translation twilight_glitter ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u043c\u0438_\u0433\u043b\u0438\u0442\u0435\u0440\u043d\u044b\u043c\u0438 { [ translation twilight_glitter ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0430\u044f_\u0433\u043b\u0438\u0442\u0435\u0440\u043d\u0430\u044f { [ translation twilight_glitter ][ language russian ]}]\n\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u0439 { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u0435 { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u043c { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0435\u0439 { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0435\u0433\u043e { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0438\u043c\u0438 { [ translation twinkling ][ language russian ]}]\n[ \u043c\u0435\u0440\u0446\u0430\u044e\u0449\u0430\u044f { [ translation twinkling ][ language russian ]}]\n\n\n[ \u0434\u0432\u0430_\u0440\u0430\u0437\u0430 { [ translation two_times ][ language russian ]}]\n[ \u0434\u0432\u043e\u0439\u043d\u043e\u0439 { [ translation two_times ][ language russian ]}]\n[ \u0434\u0432\u0430\u0436\u0434\u044b { [ translation two_times ][ language russian ]}]\n[ \u0434\u0432\u0430 { [ translation two_times ][ language russian ]}]\n\n\n[ \u0431\u044b\u0441\u0442\u0440\u044b\u0439 { [ translation ultrafast ][ language russian ]}]\n[ \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u0439 { [ translation ultrafast ][ language russian ]}]\n[ \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u043e { [ translation ultrafast ][ language russian ]}]\n[ \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u044b\u043c\u0438 { [ translation ultrafast ][ language russian ]}]\n[ \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u043d\u0430\u044f { [ translation ultrafast ][ language russian ]}]\n\n[ \u0437\u043e\u043d\u0442\u0438\u043a { [ translation umbrella ][ language russian ]}]\n[ \u0437\u043e\u043d\u0442\u0438\u043a\u0438 { [ translation umbrella ][ language russian ]}]\n[ \u0437\u043e\u043d\u0442\u0438\u043a\u0430\u043c\u0438 { [ translation umbrella ][ language russian ]}]\n[ \u0437\u043e\u043d\u0442\u0438\u043a\u043e\u043c { [ translation umbrella ][ language russian ]}]\n\n[ v_\u0432\u0435\u0435\u0440 { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ v_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u044b\u0439 { [ translation variegated ][ language russian ]}]\n[ \u043d\u0435\u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0439 { [ translation variegated ][ language russian ]}]\n[ \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0439 { [ translation variegated ][ language russian ]}]\n[ \u0438\u043d\u043e\u0439 { [ translation variegated ][ language russian ]}]\n[ \u0440\u0430\u0437\u043d\u043e\u043e\u0431\u0440\u0430\u0437\u043d\u0430\u044f { [ translation variegated ][ language russian ]}]\n[ \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 { [ translation variegated ][ language russian ]}]\n[ \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c\u0438 { [ translation variegated ][ language russian ]}]\n[ \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u043e\u0433\u043e { [ translation variegated ][ language russian ]}]\n\n\n[ \u043e\u0447\u0435\u043d\u044c_\u0431\u043e\u043b\u044c\u0448\u043e\u0439 { [ translation very_big ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0431\u043e\u043b\u044c\u0448\u0430\u044f { [ translation very_big ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 { [ translation very_big ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0431\u043e\u043b\u044c\u0448\u0438\u043c { [ translation very_big ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e { [ translation very_big ][ language russian ]}]\n[ \u043e\u0433\u0440\u043e\u043c\u043d\u0430\u044f { [ translation very_big ][ language russian ]}]\n[ \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0435 { [ translation very_big ][ language russian ]}]\n[ \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c\u0438 { [ translation very_big ][ language russian ]}]\n[ \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u043c { [ translation very_big ][ language russian ]}]\n[ \u043e\u0433\u0440\u043e\u043c\u043d\u044b\u0439 { [ translation very_big ][ language russian ]}]\n\n\n[ \u043e\u0447\u0435\u043d\u044c_\u044f\u0440\u043a\u0438\u0439 { [ translation very_bright ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u044f\u0440\u043a\u0438\u043c\u0438 { [ translation very_bright ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u044f\u0440\u043a\u0430\u044f { [ translation very_bright ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u044f\u0440\u043a\u043e\u0439 { [ translation very_bright ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u044f\u0440\u043a\u0443\u044e { [ translation very_bright ][ language russian ]}]\n\n\n[ \u043e\u0447\u0435\u043d\u044c_\u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u044b\u0439 { [ translation very_dense ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u0430\u044f { [ translation very_dense ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043f\u043b\u043e\u0442\u043d\u044b\u0439 { [ translation very_dense ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043f\u043b\u043e\u0442\u043d\u0430\u044f { [ translation very_dense ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043d\u0430\u0441\u044b\u0449\u0435\u043d\u043d\u044b\u043c\u0438 { [ translation very_dense ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u043e { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u044b\u0439 { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u044b\u043c\u0438 { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u0430\u044f { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u044b\u043c { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u0443\u0441\u043a\u043b\u044b\u0435 { [ translation very_dim ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0434\u043e\u043b\u0433\u0438\u043c { [ translation very_long ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0434\u043e\u043b\u0433\u043e\u0439 { [ translation very_long ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0434\u043e\u043b\u0433\u0438\u043c\u0438 { [ translation very_long ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0434\u043e\u043b\u0433\u0430\u044f { [ translation very_long ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0434\u043e\u043b\u0433\u0438\u0435 { [ translation very_long ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 { [ translation very_short ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c { [ translation very_short ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0439 { [ translation very_short ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043a\u043e\u0440\u043e\u0442\u043a\u0438\u043c\u0438 { [ translation very_short ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043a\u043e\u0440\u043e\u0442\u043a\u0430\u044f { [ translation very_short ][ language russian ]}]\n\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 { [ translation very_small ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c\u0438 { [ translation very_small ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0430\u044f { [ translation very_small ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 { [ translation very_small ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0433\u043e { [ translation very_small ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u043c { [ translation very_small ][ language russian ]}]\n\n[ \u043e\u0447\u0435\u043d\u044c_\u0440\u0435\u0434\u043a\u0438\u0439 { [ translation very_sparse ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0440\u0435\u0434\u043a\u0438\u043c\u0438 { [ translation very_sparse ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0440\u0435\u0434\u043a\u0430\u044f { [ translation very_sparse ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0440\u0435\u0434\u043a\u043e\u0439 { [ translation very_sparse ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0440\u0435\u0434\u043a\u043e\u0433\u043e { [ translation very_sparse ][ language russian ]}]\n\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043b\u0441\u0442\u044b\u0439 { [ translation very_thick ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043b\u0441\u0442\u044b\u043c\u0438 { [ translation very_thick ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043b\u0441\u0442\u0430\u044f { [ translation very_thick ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043b\u0441\u0442\u043e\u0439 { [ translation very_thick ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043b\u0441\u0442\u043e\u0433\u043e { [ translation very_thick ][ language russian ]}]\n\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043d\u043a\u0438\u0439 { [ translation very_thin ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043d\u043a\u0438\u043c\u0438 { [ translation very_thin ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043d\u043a\u0430\u044f { [ translation very_thin ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043d\u043a\u043e\u0439 { [ translation very_thin ][ language russian ]}]\n[ \u043e\u0447\u0435\u043d\u044c_\u0442\u043e\u043d\u043a\u043e\u0433\u043e { [ translation very_thin ][ language russian ]}]\n\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u0439 { [ translation violet ][ language russian ]}]\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u043e\u0439 { [ translation violet ][ language russian ]}]\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u0430\u044f { [ translation violet ][ language russian ]}]\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u043e\u0433\u043e { [ translation violet ][ language russian ]}]\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u043c\u0438 { [ translation violet ][ language russian ]}]\n[ \u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u043c { [ translation violet ][ language russian ]}]\n\n[ w_\u0432\u0435\u0435\u0440 { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ w_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u043e\u0433\u043d\u0435\u043f\u0430\u0434 { [ translation waterfall ][ language russian ]}]\n[ \u0432\u043e\u0434\u043e\u043f\u0430\u0434 { [ translation waterfall ][ language russian ]}]\n[ \u0432\u043e\u0434\u043e\u043f\u0430\u0434\u043e\u043c { [ translation waterfall ][ language russian ]}]\n[ \u043e\u0433\u043d\u0435\u043f\u0430\u0434\u043e\u043c { [ translation waterfall ][ language russian ]}]\n[ \u0432\u043e\u0434\u043e\u043f\u0430\u0434\u043e\u0432 { [ translation waterfall ][ language russian ]}]\n[ \u043e\u0433\u043d\u0435\u043f\u0430\u0434\u043e\u0432 { [ translation waterfall ][ language russian ]}]\n\n[ \u0432\u043e\u043b\u043d\u0430 { [ translation wave ][ language russian ]}]\n[ \u0432\u043e\u043b\u043d\u044b { [ translation wave ][ language russian ]}]\n[ \u0432\u043e\u043b\u043d\u043e\u0439 { [ translation wave ][ language russian ]}]\n[ \u0432\u043e\u043b\u043d\u0443 { [ translation wave ][ language russian ]}]\n[ \u0432\u043e\u043b\u043d\u0430\u043c\u0438 { [ translation wave ][ language russian ]}]\n\n[ \u043a\u043e\u043b\u0435\u0441\u043e { [ translation wheel ][ language russian ]}]\n[ \u0441\u043e\u043b\u043d\u0446\u0435 { [ translation wheel ][ language russian ]}]\n[ \u0434\u0438\u0441\u043a { [ translation wheel ][ language russian ]}]\n[ \u043a\u043e\u043b\u0435\u0441\u043e\u043c { [ translation wheel ][ language russian ]}]\n\n[ \u0432\u0438\u0445\u0440\u044c { [ translation whirls ][ language russian ]}]\n[ \u0437\u0430\u0432\u0438\u0445\u0440\u0435\u043d\u0438\u0435\u043c { [ translation whirls ][ language russian ]}]\n[ \u0432\u0438\u0445\u0440\u0435\u043c { [ translation whirls ][ language russian ]}]\n\n[ \u0441\u0432\u0438\u0441\u0442 { [ translation whistles ][ language russian ]}]\n[ \u0441\u0432\u0438\u0441\u0442\u043e\u043c { [ translation whistles ][ language russian ]}]\n[ \u0441\u043e_\u0441\u0432\u0438\u0441\u0442\u043e\u043c { [ translation whistles ][ language russian ]}]\n[ \u0432_\u0441\u0432\u0438\u0441\u0442 { [ translation whistles ][ language russian ]}]\n[ \u0441\u0432\u0438\u0441\u0442\u044f\u0449\u0438\u0439 { [ translation whistles ][ language russian ]}]\n[ \u0441\u0432\u0438\u0441\u0442\u044f\u0449\u0438\u043c\u0438 { [ translation whistles ][ language russian ]}]\n\n[ \u0431\u0435\u043b\u044b\u0439 { [ translation white ][ language russian ]}]\n[ \u0431\u0435\u043b\u044b\u043c { [ translation white ][ language russian ]}]\n[ \u0431\u0435\u043b\u043e\u0433\u043e { [ translation white ][ language russian ]}]\n[ \u0431\u0435\u043b\u044b\u043c\u0438 { [ translation white ][ language russian ]}]\n[ \u0431\u0435\u043b\u0430\u044f { [ translation white ][ language russian ]}]\n[ \u0431\u0435\u043b\u0443\u044e { [ translation white ][ language russian ]}]\n\n[ \u0438\u0432\u0430 { [ translation willow ][ language russian ]}]\n[ \u0438\u0432\u0443 { [ translation willow ][ language russian ]}]\n[ \u0438\u0432\u0430\u043c\u0438 { [ translation willow ][ language russian ]}]\n[ \u0438\u0432\u043e\u0439 { [ translation willow ][ language russian ]}]\n\n[ x_\u0432\u0435\u0435\u0440 { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0445_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u0436\u0435\u043b\u0442\u044b\u0439 { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u044b\u0439 { [ translation yellow ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u044b\u043c { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u044b\u043c { [ translation yellow ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u043e\u0439 { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u043e\u0439 { [ translation yellow ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u0430\u044f { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u0430\u044f { [ translation yellow ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u043e\u0433\u043e { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u043e\u0433\u043e { [ translation yellow ][ language russian ]}]\n[ \u0436\u0435\u043b\u0442\u044b\u043c\u0438 { [ translation yellow ][ language russian ]}]\n[ \u0436\u0451\u043b\u0442\u044b\u043c\u0438 { [ translation yellow ][ language russian ]}]\n\n[ z_\u0432\u0435\u0435\u0440 { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0432\u0435\u0435\u0440_\u0441\u043b\u0435\u0432\u0430_\u043d\u0430_\u043f\u0440\u0430\u0432\u043e { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ \u0432\u0435\u0435\u0440_\u0441_\u043f\u0440\u0430\u0432\u043e_\u043d\u0430_\u043b\u0435\u0432\u043e { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n[ z_\u0441\u0431\u043e\u0440\u043a\u0430 { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language russian ]}]\n\n[ \u0440\u043e\u043c\u0430\u0448\u043a\u0430 { [ translation spinners ][ language russian ]}]\n[ \u0440\u043e\u043c\u0430\u0448\u043a\u043e\u0439 { [ translation spinners ][ language russian ]}]\n[ \u0440\u043e\u043c\u0430\u0448\u043a\u0430\u043c\u0438 { [ translation spinners ][ language russian ]}]\n[ \u0440\u043e\u043c\u0430\u0448\u043a\u0443 { [ translation spinners ][ language russian ]}]\n[ \u0440\u043e\u043c\u0430\u0448\u043a\u0438 { [ translation spinners ][ language russian ]}]\n\n[ rodante { [ translation spinners ][ language spanish ]}]\n[ rodantes { [ translation spinners ][ language spanish ]}]\n\n// Dutch\n[ crisant { [ translation chrysanthemum ][ language dutch ] }]\n\n[ over {[ translation above ] [ language dutch ]}]\n[ boven {[ translation above ] [ language dutch ]}]\n\n[ erboven {[ translation above ] [ language dutch ]}]\n\n[ erop {[ translation above ] [ language dutch ]}]\n\n[ in_de_lucht {[ translation aerial ] [ language dutch ]}]\n[ lucht {[ translation aerial ] [ language dutch ]}]\n\n[ lucht_explosie {[ translation air_burst ] [ language dutch ]}]\n[ en {[ translation and ] [ language dutch ]}]\n[ anijs {[ translation aniseed ] [ language dutch ]}]\n[ buis {[ translation barrel ] [ language dutch ]}]\n// Conflicts with portuguese [ loop {[ translation barrel ] [ language dutch ]}]\n[ buizen {[ translation barrel ] [ language dutch ]}]\n\n[ bijen {[ translation bees ] [ language dutch ]}]\n[ wesp {[ translation bees ] [ language dutch ]}]\n[ wespen {[ translation bees ] [ language dutch ]}]\n[ bij {[ translation bees ] [ language dutch ]}]\n[ groot {[ translation big ] [ language dutch ]}]\n[ grootte {[ translation big ] [ language dutch ]}]\n[ groter {[ translation big ] [ language dutch ]}]\n\n[ blauw {[ translation blue ] [ language dutch ]}]\n[ blauwe {[ translation blue ] [ language dutch ]}]\n[ onderste_helft {[ translation bottom_half ] [ language dutch ]}]\n[ onderkant {[ translation bottom_half ] [ language dutch ]}]\n[ boeket {[ translation bouquet ] [ language dutch ]}]\n[ strik {[ translation bowtie ] [ language dutch ]}]\n\n[ bowtie_ringen {[ translation bowtie_rings ] [ language dutch ]}]\n[ helder {[ translation bright ] [ language dutch ]}]\n[ heldere {[ translation bright ] [ language dutch ]}]\n[ brokade {[ translation brocade ] [ language dutch ]}]\n[ vlinder {[ translation butterfly ] [ language dutch ]}]\n[ c_figuur {[ translation c_shape ][ isPieceToken true ][ impliesCake true ] [ language dutch ]}]\n[ batterij {[ translation cake ][ isPieceToken true ][ impliesCake true ] [ language dutch ]}]\n[ kaars {[ translation candle ][ isPieceToken true ][ impliesCandle true ] [ language dutch ]}]\n[ ketting {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n[ kettingen {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n[ streng {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n[ streng_met {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n[ ketting_met {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n[ kettingen_met {[ translation chain ][ isPieceToken true ] [ isSpecialDimensionalProperty true ][ impliesChain true ] [ language dutch ]}]\n\n[ kool {[ translation charcoal ] [ language dutch ]}]\n[ koolstof {[ translation charcoal ] [ language dutch ]}]\n[ houtskool {[ translation charcoal ] [ language dutch ]}]\n[ houtskool_punt {[ translation charcoal_tip ] [ language dutch ]}]\n\n[ koko {[ translation coco ] [ language dutch ]}]\n[ kokosnoot {[ translation coconut ] [ language dutch ]}]\n[ komeet {[ translation comet ] [ language dutch ]}]\n\n[ concentrische_ringen {[ translation concentric_rings ] [ language dutch ]}]\n[ concentrische_ring {[ translation concentric_rings ] [ language dutch ]}]\n\n[ kern {[ translation core ] [ language dutch ]}]\n[ kraak {[ translation crackling ] [ language dutch ]}]\n[ kraken {[ translation crackling ] [ language dutch ]}]\n[ gekruisde_ringe {[ translation cross_rings ] [ language dutch ]}]\n[ loodrecht_geplaatste_ringen {[ translation cross_rings ] [ language dutch ]}]\n\n[ krossetten {[ translation crossette ] [ language dutch ]}]\n[ crossetten {[ translation crossette ] [ language dutch ]}]\n[ kroon {[ translation crown ] [ language dutch ]}]\n[ cyaan {[ translation cyan ] [ language dutch ]}]\n\n[ cilinder {[ translation cylinder ] [ language dutch ]}]\n[ cilinders {[ translation cylinder ] [ language dutch ]}]\n[ cilindrische {[ translation cylinder ] [ language dutch ]}]\n[ donker {[ translation dark ] [ language dutch ]}]\n[ zwart {[ translation dark ] [ language dutch ]}]\n[ dichte {[ translation dense ] [ language dutch ]}]\n[ diadeem {[ translation diadem ] [ language dutch ]}]\n[ dimmen {[ translation dim ] [ language dutch ]}]\n[ dimmer {[ translation dim ] [ language dutch ]}]\n\n[ dubbele_halve_ring {[ translation double_half_rings ] [ language dutch ]}]\n[ dubbele_ringen {[ translation double_rings ] [ language dutch ]}]\n[ oor {[ translation ear ] [ language dutch ]}]\n[ acht_keer {[ translation eight_times ] [ language dutch ]}]\n[ vallende_bladeren {[ translation falling_leaves ] [ language dutch ]}]\n\n[ waaier { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n[ waaiers { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n\n[ vuurbal {[ translation fireball ] [ language dutch ]}]\n[ vijf_keer {[ translation five_times ] [ language dutch ]}]\n[ vlammenwerper {[ translation flame_projector ] [ language dutch ]}]\n[ vuurpot {[ translation flash_tray ] [ language dutch ]}]\n[ flits {[ translation flashing ] [ language dutch ]}]\n[ flitsen {[ translation flashing ] [ language dutch ]}]\n[ vis_effect {[ translation flying_fish ] [ language dutch ]}]\n[ fontein {[ translation fountain ] [ language dutch ]}]\n[ fonteinen {[ translation fountain ] [ language dutch ]}]\n[ vier_keer {[ translation four_times ] [ language dutch ]}]\n[ licht_geel {[ translation fresh_yellow ] [ language dutch ]}]\n[ gelig {[ translation fresh_yellow ] [ language dutch ]}]\n\n[ ster_met_spoor {[ translation gamboge ] [ language dutch ]}]\n[ lans {[ translation gerb ] [ language dutch ]}]\n[ lansje {[ translation gerb ] [ language dutch ]}]\n[ lansjes {[ translation gerb ] [ language dutch ]}]\n[ lansen {[ translation gerb ] [ language dutch ]}]\n[ geest {[ translation ghost ] [ language dutch ]}]\n[ glitteren {[ translation glittering ] [ language dutch ]}]\n[ goud {[ translation gold ] [ language dutch ]}]\n[ gouden_tip {[ translation [ gold tip ]] [ language dutch ]}]\n[ gouden_punt {[ translation [ gold tip ]] [ language dutch ]}]\n[ gras_groen {[ translation grass_green ] [ language dutch ]}]\n[ groen_als_gras {[ translation grass_green ] [ language dutch ]}]\n[ groen {[ translation green ] [ language dutch ]}]\n[ grond_vlam {[ translation ground_flare ] [ language dutch ]}]\n[ grond_flits {[ translation ground_flash ] [ language dutch ]}]\n\n[ grond_foto_flits {[ translation ground_photoflash ] [ language dutch ]}]\n[ half_en_half {[ translation half_and_half ] [ language dutch ]}]\n[ halve_ring {[ translation half_ring ] [ language dutch ]}]\n[ hart_vorm {[ translation heart_shape ] [ language dutch ]}]\n[ hart_vormig {[ translation heart_shape ] [ language dutch ]}]\n[ paarden_staart {[ translation horsetail ] [ language dutch ]}]\n[ waterval {[ translation waterfall ] [ language dutch ]}]\n\n[ letterbord {[ translation lancework ] [ language dutch ]}]\n[ laser_komeet {[ translation laser_comet ] [ language dutch ]}]\n[ lavendel {[ translation lavender ] [ language dutch ]}]\n[ blauwig {[ translation lavender ] [ language dutch ]}]\n[ blauwige {[ translation lavender ] [ language dutch ]}]\n[ lavendel_kleurig {[ translation lavender ] [ language dutch ]}]\n[ lemon_geel {[ translation lemon ] [ language dutch ]}]\n\n[ lime_groen {[ translation lime ] [ language dutch ]}]\n[ nachtshow {[ translation midnight_snow ] [ language dutch ]}]\n\n[ mijn {[ translation mine ] [ language dutch ]}]\n[ gemengt {[ translation mixed ] [ language dutch ]}]\n[ gemengde {[ translation mixed ] [ language dutch ]}]\n[ mobiel {[ translation mobiles ] [ language dutch ]}]\n[ bewegelijk {[ translation mobiles ] [ language dutch ]}]\n[ bonte_kleuren {[ translation multi_color ] [ language dutch ]}]\n[ nautische {[ translation nautical ] [ language dutch ]}]\n[ nautisch {[ translation nautical ] [ language dutch ]}]\n[ negen_keer {[ translation nine_times ] [ language dutch ]}]\n[ geen_spoor {[ translation no_trail ] [ language dutch ]}]\n[ een_keer {[ translation one_time ] [ language dutch ]}]\n[ een {[ translation one_time ] [ language dutch ]}]\n[ oranje {[ translation orange ] [ language dutch ]}]\n\n[ buiten {[ translation outer ] [ language dutch ]}]\n[ buitenste {[ translation outer ] [ language dutch ]}]\n\n[ pastel_kleuren {[ translation pastel_colors ] [ language dutch ]}]\n[ vormpjes_shell {[ translation pattern_shell ] [ language dutch ]}]\n[ vormen_shell {[ translation pattern_shell ] [ language dutch ]}]\n[ partoon_shell {[ translation pattern_shell ] [ language dutch ]}]\n[ patronen_shell {[ translation pattern_shell ] [ language dutch ]}]\n[ pinda_shell {[ translation peanut_shell ] [ language dutch ]}]\n\n[ ster {[ translation pearl ] [ language dutch ]}]\n[ lichtster {[ translation pearl ] [ language dutch ]}]\n\n[ foto_flitsen {[ translation photoflash ] [ language dutch ]}]\n[ foto_flits {[ translation photoflash ] [ language dutch ]}]\n[ roze {[ translation pink ] [ language dutch ]}]\n[ midden {[ translation pistil ] [ language dutch ]}]\n\n[ houder {[ translation placeholder ] [ language dutch ]}]\n[ houders {[ translation placeholder ] [ language dutch ]}]\n[ plaat { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n[ bord { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n\n[ pluim {[ translation plum ] [ language dutch ]}]\n\n[ stijgtijd {[ translation prefire ][ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ] [ language dutch ]}]\n[ vertraging {[ translation prefire ][ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ] [ language dutch ]}]\n[ stijg_vertraging {[ translation prefire ][ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ] [ language dutch ]}]\n[ paars {[ translation purple ] [ language dutch ]}]\n[ paarse {[ translation purple ] [ language dutch ]}]\n\n[ regenboog {[ translation rainbow ] [ language dutch ]}]\n[ rood {[ translation red ] [ language dutch ]}]\n[ rode {[ translation red ] [ language dutch ]}]\n[ roodste {[ translation red ] [ language dutch ]}]\n\n[ knal {[ translation report ] [ language dutch ]}]\n\n[ ringen {[ translation ring ] [ language dutch ]}]\n[ stijgen {[ translation rising ] [ language dutch ]}]\n[ opstijgen {[ translation rising ] [ language dutch ]}]\n[ stijgende {[ translation rising ] [ language dutch ]}]\n\n[ stijgende_bloemen {[ translation rising_flowers ] [ language dutch ]}]\n[ stijgende_boeketten {[ translation rising_flowers ] [ language dutch ]}]\n\n[ raket {[ translation rocket ] [ language dutch ]}]\n[ raketten {[ translation rocket ] [ language dutch ]}]\n[ romeinse_kaars {[ translation roman_candle ][ isPieceToken true ][ impliesCandle true ] [ language dutch ]}]\n[ romeinse_kaarsen {[ translation roman_candle ][ isPieceToken true ][ impliesCandle true ] [ language dutch ]}]\n\n[ robijn {[ translation ruby ] [ language dutch ]}]\n[ robijn_rood {[ translation ruby ] [ language dutch ]}]\n[ knalshell {[ translation salute ] [ language dutch ]}]\n[ zelfde_kleur {[ translation same_color ] [ language dutch ]}]\n[ dezelde_kleur {[ translation same_color ] [ language dutch ]}]\n[ kleurzuiver {[ translation same_color ] [ language dutch ]}]\n\n[ afbuigen {[ translation scattering ] [ language dutch ]}]\n[ zeeblauw {[ translation sea_blue ] [ language dutch ]}]\n[ zee_blauw {[ translation sea_blue ] [ language dutch ]}]\n\n[ serpentine {[ translation serpents ] [ language dutch ]}]\n[ serpentines {[ translation serpents ] [ language dutch ]}]\n[ zeven_keer {[ translation seven_times ] [ language dutch ]}]\n\n[ bom {[ translation shell ] [ language dutch ]}]\n[ mortierbom {[ translation shell ] [ language dutch ]}]\n[ mortiershell {[ translation shell ] [ language dutch ]}]\n\n[ meerslagen_shell {[ translation shell_of_shells ] [ language dutch ]}]\n[ meerslagen_bom {[ translation shell_of_shells ] [ language dutch ]}]\n[ cluster_bom {[ translation shell_of_shells ] [ language dutch ]}]\n[ snel_flitsend {[ translation shimmering ] [ language dutch ]}]\n\n[ kort {[ translation short ] [ language dutch ]}]\n[ schot {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ] [ language dutch ]}]\n[ schots {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ] [ language dutch ]}]\n[ sh {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ] [ language dutch ]}]\n\n[ stil {[ translation silent ] [ language dutch ]}]\n[ zilver {[ translation silver ] [ language dutch ]}]\n[ zilveren {[ translation silver ] [ language dutch ]}]\n[ zilveren_punt {[ translation silver_tip ] [ language dutch ]}]\n\n[ enkel_schot {[ translation single_shot ] [ impliesCandle true ][ language dutch ]}]\n[ enkelshotsmortier {[ translation single_shot ][ impliesCandle true ] [ language dutch ]}]\n[ enkelshots {[ translation single_shot ] [ impliesCandle true ][ language dutch ]}]\n[ zes_keer {[ translation six_times ] [ language dutch ]}]\n[ luchtblauw {[ translation sky_blue ] [ language dutch ]}]\n[ plak {[ translation slice ][ isPieceToken true ][ impliesCake true ] [ language dutch ]}]\n[ plakken {[ translation slice ][ isPieceToken true ][ impliesCake true ] [ language dutch ]}]\n\n[ een_beetje_groot {[ translation slightly_big ] [ language dutch ]}]\n[ een_beetje_fel {[ translation slightly_bright ] [ language dutch ]}]\n[ een_beetje_helder {[ translation slightly_bright ] [ language dutch ]}]\n\n[ een_beetje_dicht {[ translation slightly_dense ] [ language dutch ]}]\n[ een_beetje_donker {[ translation slightly_dim ] [ language dutch ]}]\n[ een_beetje_lang {[ translation slightly_long ] [ language dutch ]}]\n[ een_beetje_kort {[ translation slightly_short ] [ language dutch ]}]\n[ een_beetje_klein {[ translation slightly_small ] [ language dutch ]}]\n[ een_beetje_weinig {[ translation slightly_sparse ] [ language dutch ]}]\n[ een_beetje_dik {[ translation slightly_thick ] [ language dutch ]}]\n[ een_beetje_dun {[ translation slightly_thin ] [ language dutch ]}]\n[ lachtend_gezicht {[ translation smiley_face ] [ language dutch ]}]\n[ rookvrij {[ translation smokeless ] [ language dutch ]}]\n\n[ weinig {[ translation sparse ] [ language dutch ]}]\n[ spin {[ translation spider ] [ language dutch ]}]\n[ draaier {[ translation spinners ] [ language dutch ]}]\n[ draaiers {[ translation spinners ] [ language dutch ]}]\n[ kaleidoscoop {[ translation stained_glass ] [ language dutch ]}]\n[ blinken {[ translation strobing ] [ language dutch ]}]\n[ zonnebloem {[ translation sunflower ] [ language dutch ]}]\n[ staart {[ translation tail ] [ language dutch ]}]\n[ tien_keer {[ translation ten_times ] [ language dutch ]}]\n[ dik {[ translation thick ] [ language dutch ]}]\n[ dikke {[ translation thick ] [ language dutch ]}]\n[ dun {[ translation thin ] [ language dutch ]}]\n[ dunne {[ translation thin ] [ language dutch ]}]\n\t\n\n[ dertig_keer {[ translation thirty_times ] [ language dutch ]}]\n[ drie_keer {[ translation three_times ] [ language dutch ]}]\n[ vertraagde_crackling {[ translation time_rain ] [ language dutch ]}]\n[ naar {[ translation to ] [ language dutch ]}]\n[ bovenste_helft {[ translation top_half ] [ language dutch ]}]\n[ spoor {[ translation trail ] [ language dutch ]}]\n\n[ drie_concentrische_ringen {[ translation triple_concentric_rings ] [ language dutch ]}]\n[ drie_kruisende_ringen {[ translation triple_cross_rings ] [ language dutch ]}]\n[ drie_halve_ringen {[ translation triple_half_rings ] [ language dutch ]}]\n[ drie_ringen {[ translation triple_rings ] [ language dutch ]}]\n[ tulp {[ translation tulip ] [ language dutch ]}]\n[ blauwgroen {[ translation turquoise ] [ language dutch ]}]\n[ turkoois {[ translation turquoise ] [ language dutch ]}]\n[ twintig_keer {[ translation twenty_times ] [ language dutch ]}]\n[ donker_glitter {[ translation twilight_glitter ] [ language dutch ]}]\n[ schemer_glitter {[ translation twilight_glitter ] [ language dutch ]}]\n[ glintsteren {[ translation twinkling ] [ language dutch ]}]\n\n[ twee_keer {[ translation two_times ] [ language dutch ]}]\n[ super_snel {[ translation ultrafast ] [ language dutch ]}]\n[ ultra_snel {[ translation ultrafast ] [ language dutch ]}]\n[ paraplu {[ translation umbrella ] [ language dutch ]}]\n[ v_vorm {[ translation v_shape ] [ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n\n[ gevarieerd {[ translation variegated ] [ language dutch ]}]\n[ heel_groot {[ translation very_big ] [ language dutch ]}]\n[ heel_fel {[ translation very_bright ] [ language dutch ]}]\n[ heel_helder {[ translation very_bright ] [ language dutch ]}]\n[ heel_dicht {[ translation very_dense ] [ language dutch ]}]\n[ heel_donker {[ translation very_dim ] [ language dutch ]}]\n[ heel_lang {[ translation very_long ] [ language dutch ]}]\n\n\n[ heel_kort {[ translation very_short ] [ language dutch ]}]\n[ heel_klein {[ translation very_small ] [ language dutch ]}]\n[ heel_weinig {[ translation very_sparse ] [ language dutch ]}]\n[ heel_dik {[ translation very_thick ] [ language dutch ]}]\n[ heel_dun {[ translation very_thin ] [ language dutch ]}]\n\n[ w_vorm {[ translation w_shape ] [ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n\n[ golf {[ translation wave ] [ language dutch ]}]\n[ golven {[ translation wave ] [ language dutch ]}]\n[ zon {[ translation wheel ] [ language dutch ]}]\n[ wiel {[ translation wheel ] [ language dutch ]}]\n[ zonnewiel {[ translation wheel ] [ language dutch ]}]\n\n[ zwiep {[ translation whirls ] [ language dutch ]}]\n[ zwiepen {[ translation whirls ] [ language dutch ]}]\n[ fluiters {[ translation whistles ] [ language dutch ]}]\n[ fluiter {[ translation whistles ] [ language dutch ]}]\n[ wit {[ translation white ] [ language dutch ]}]\n[ witte {[ translation white ] [ language dutch ]}]\n[ met { [ translation wi ][ language dutch ]}]\n[ samen { [ translation wi ][ language dutch ]}]\n[ x_vorm {[ translation x_shape ] [ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n[ z_vorm {[ translation z_shape ] [ isPieceToken true ][ impliesCake true ][ language dutch ]}]\n\n[ geel {[ translation yellow ] [ language dutch ]}]\n[ gele {[ translation yellow ] [ language dutch ]}]\n\n\n// French.\n// INSTRUCTIONS: if the entry doesn\'t have [ language french ], then it will be "corrected" in the description,\n// which should be used sparingly since unlike VDL the description belongs to the user.\n\n[ soleil {[ translation wheel ] [ language french ]}]\n[ soleils {[ translation wheel ] [ language french ]}]\n[ roue {[ translation wheel ] [ language french ]}]\n[ roues {[ translation wheel ] [ language french ]}]\n[ explosion {[ translation air_burst ] [ language french ]}]\n[ explosions {[ translation air_burst ] [ language french ]}]\n[ barrage_de_tirs {[ translation artillery ] [ language french ]}]\n[ feu_litdapos_artillerie {[ translation artillery ] [ language french ]}]\n[ feux_litdapos_artillerie {[ translation feu_litdapos_artillerie ]}]\n[ f\xfbt {[ translation barrel ] [ language french ]}]\n[ f\xfbts {[ translation barrel ] [ language french ]}]\n[ fut {[ translation f\xfbt ]}]\n[ futs {[ translation f\xfbts ]}]\n[ petite_bombes {[ translation bombette ] [ language french ]}]\n[ petites_bombes {[ translation bombette ] [ language french ]}]\n[ en_forme_de_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ forme_de_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_forme_de_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ forme_de_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_forme_de_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ forme_de_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_forme_de_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ forme_de_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_forme_de_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ forme_de_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ langue_de_ch\xe8vre {[ translation chupacabra ] [ language french ]}]\n[ langue_de_chevre {[ translation langue_de_ch\xe8vre ]}]\n[ anneaux_entrelac\xe9 {[ translation cross_rings ] [ language french ]}]\n[ anneaux_entrelac\xe9s {[ translation cross_rings ] [ language french ]}]\n[ anneaux_entrelace {[ translation anneaux_entrelac\xe9]}]\n[ anneaux_entrelaces {[ translation anneaux_entrelac\xe9s ]}]\n[ anneaux_enlac\xe9 {[ translation cross_rings ] [ language french ]}]\n[ anneaux_enlac\xe9s {[ translation cross_rings ] [ language french ]}]\n[ anneaux_enlace {[ translation anneaux_enlac\xe9]}]\n[ anneaux_enlaces {[ translation anneaux_enlac\xe9s ]}]\n[ fin_craquement {[ translation crackle_flowers ] [ language french ]}]\n[ fin_craqu\xe8lement {[ translation crackle_flowers ][ language french ]}]\n[ fin_craquelement {[ translation fin_craqu\xe8lement ]}]\n[ final_craquement {[ translation crackle_flowers ] [ language french ]}]\n[ final_craqu\xe8lement {[ translation crackle_flowers ][ language french ]}]\n[ final_craquelement {[ translation final_craqu\xe8lement ]}]\n//Unnecessary because would follow "to".[ finals_craquements {[ translation crackle_flowers ] [ language french ]}]\n//Unnecessary because would follow "to".[ finals_craqu\xe8lements {[ translation crackle_flowers ][ language french ]}]\n//Unnecessary because would follow "to".[ finals_craquelements {[ translation finals_craqu\xe8lements ]}]\n[ marguerite {[ translation sunflower ][ language french ]}]\n[ papillon_italien { [ translation farfalle ][ language french ]}]\n[ papillons_italien { [ translation farfalle ][ language french ]}]\n[ papillons_italiens { [ translation farfalle ][ language french ]}]\n\n[ \u0431\u0430\u0431\u043e\u0447\u043a\u0430_\u0438\u0442\u0430\u043b\u0438\u044f { [ translation farfalle ][ language russian ]}]\n[ \u0438\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u0438\u0435_\u0431\u0430\u0431\u043e\u0447\u043a\u0438 { [ translation farfalle ][ language russian ]}]\n[ \u0438\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u0430\u044f_\u0431\u0430\u0431\u043e\u0447\u043a\u0430 { [ translation farfalle ][ language russian ]}]\n\n\n[ perle_de_feu { [ translation fireball ][ language french ]}]\n[ flamme_feu { [ translation ground_flare ][ language french ]}]\n[ flamme_feux { [ translation ground_flare ][ language french ]}]\n[ flammes_feux { [ translation ground_flare ][ language french ]}]\n[ flash_sc\xe8ne { [ translation flash_tray ][ language french ]}]\n[ flash_scene { [ translation flash_sc\xe8ne ]}]\n[ jaune_citron { [ translation fresh_yellow ][ language french ]}]\n[ gomme { [ translation gamboge ][ language french ]}]\n[ pointe_gomme { [ translation gamboge_tip ][ language french ]}]\n[ pointes_gommes { [ translation gamboge_tip ][ language french ]}]\n[ girandole { [ translation girandola ][ language [ italian french ]]}]\n[ girandoles { [ translation girandola ][ language french ]}]\n[ pointe_or { [ translation gold_tip ][ language french ]}]\n[ pointes_or { [ translation gold_tip ][ language french ]}]\n[ vert_gazon { [ translation grass_green ][ language french ]}]\n[ torche_au_sol { [ translation ground_flare ][ language french ]}]\n[ citron_pastel { [ translation lemon ][ language french ]}]\n[ citron_vert { [ translation lime ][ language french ]}]\n[ rouge_magenta { [ translation magenta ][ language french ]}]\n[ effet_m\xe9t\xe9orite { [ translation meteor ][ language french ]}]\n[ effet_meteorite { [ translation effet_m\xe9t\xe9orite ]}]\n[ neige_de_minuit { [ translation midnight_snow ][ language french ]}]\n[ \xe9olienne { [ translation mobiles ][ language french ]}]\n[ \xe9oliennes { [ translation mobiles ][ language french ]}]\n[ eolienne { [ translation \xe9olienne ]}]\n[ eoliennes { [ translation \xe9oliennes ]}]\n[ bombe_double { [ translation peanut_shell ][ language french ]}]\n[ petite_balle { [ translation pearl ][ language french ]}]\n[ petites_balles { [ translation pearl ][ language french ]}]\n[ plateau { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ polype { [ translation polyp ][ language french ]}]\n[ polypen { [ translation polyp ][ language [ french german ]]}]\n[ retard { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language french ]}]\n\n[ avec_d\xe9to { [ translation [ to report ]][ language french ]}]\n[ avec_deto { [ translation avec_d\xe9to ]}]\n[ avec_d\xe9tonation { [ translation [ to report ]][ language french ]}]\n[ avec_detonation { [ translation avec_d\xe9tonation ]}]\n[ avec_d\xe9tonations { [ translation [ to report ]][ language french ]}]\n[ avec_detonations { [ translation avec_d\xe9tonations ]}]\n[ avec_fin_sonore { [ translation [ to report ]][ language french ]}]\n[ avec_final_sonore { [ translation [ to report ]][ language french ]}]\n[ avec_fins_sonores { [ translation [ to report ]][ language french ]}]\n[ avec_finals_sonores { [ translation [ to report ]][ language french ]}]\n\n//fixme:doesn\'t make sense[ avec_finale { [ translation [ to report ]][ language french ]}]\n[ \xe0_d\xe9tonation { [ translation [ to report ]][ language french ]}]\n[ lita_detonation { [ translation \xe0_d\xe9tonation ]}]\n[ rouge_rubis { [ translation ruby ][ language french ]}]\n[ bleu_saphir { [ translation blue ][ language french ]}]\n[ anneau_saturne { [ translation saturn ][ language french ]}]\n[ multibombes { [ translation shell_of_shells ][ language french ]}]\n//[ gr\xe9sillant { [ translation sizzling ][ language french ]}]\n[ gr\xe9sillant { [ translation crackling ][ language french ]}]\n[ gresillant { [ translation gr\xe9sillant ]}]\n[ en_tranche { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ petites_fleurs { [ translation crackle_flowers ][ language french ]}]\n[ petite_fleur { [ translation crackle_flowers ][ language french ]}]\n[ trente_fois { [ translation thirty_times ][ language french ]}]\n[ vingt_fois { [ translation twenty_times ][ language french ]}]\n[ d\xe9to_titane { [ translation titanium_report ][ language french ]}]\n[ deto_titane { [ translation d\xe9to_titane ]}]\n[ d\xe9tonation_titane { [ translation titanium_report ][ language french ]}]\n[ d\xe9tonations_titanes { [ translation titanium_report ][ language french ]}]\n[ detonation_titane { [ translation d\xe9tonation_titane ]}]\n[ detonations_titanes { [ translation d\xe9tonations_titanes ]}]\n[ anneaux_des_atomes { [ translation triple_cross_rings ][ language french ]}]\n[ tr\xe8s_rapide { [ translation ultrafast ][ language french ]}]\n[ tres_rapide { [ translation ultrafast ][ language french ]}]\n[ boost { [ translation ultrafast ][ language french ]}]\n[ ombrelle { [ translation ultrafast ][ language french ]}]\n[ ombrelles { [ translation ultrafast ][ language french ]}]\n\n[ baril {[ translation barrel ] [ language french ]}]\n[ barils {[ translation barrel ] [ language french ]}]\n[ bengale {[ translation ground_flare ][ language french ]}]\n[ bengales {[ translation ground_flare ][ language french ]}]\n[ mitraillette {[ translation artillery ][ language french ]}]\n[ mitraille {[ translation artillery ][ language french ]}]\n//fixme:removeme[ serre_livres {[ translation bookend ][ isPieceToken true ][ language french ]}]\n[ premi\xe8re_moiti\xe9 {[ translation bottom_half ][ language french ]}]\n[ moiti\xe9_basse {[ translation bottom_half ][ language french ]}]\n[ moiti\xe9_inf\xe9rieure {[ translation bottom_half ][ language french ]}]\n[ premiere_moitie {[ translation premi\xe8re_moiti\xe9]}]\n[ moitie_inferieure {[ translation moiti\xe9_inf\xe9rieure ]}]\n[ bouquets {[ translation bouquet ][ language [ portuguese french ]]}]\n[ anneaux_n\u0153ud_papillon {[ translation bowtie_rings ][ language french ]}]\n[ anneaux_noeud_papillon {[ translation anneaux_n\u0153ud_papillon ]}]\n[ charbon {[ translation charcoal ][ language french ]}]\n[ pointe_charbon {[ translation charcoal_tip ][ language french ]}]\n[ pointes_charbon {[ translation charcoal_tip ][ language french ]}]\n[ anneaux_concentrique {[ translation concentric_rings ][ language french ]}]\n[ anneaux_concentriques {[ translation concentric_rings ][ language french ]}]\n[ noyau {[ translation core ][ language french ]}]\n[ anneaux_crois\xe9s {[ translation cross_rings ][ language french ]}]\n[ anneaux_croises {[ translation anneaux_crois\xe9s ]}]\n[ couronne {[ translation crown ][ language french ]}]\n[ double_demi_anneaux {[ translation double_half_rings ][ language french ]}]\n[ oreille {[ translation ear ][ language french ]}]\n[ oreilles {[ translation ear ][ language french ]}]\n[ plateau_de_flash {[ translation flash_tray ][ language french ]}]\n[ pointe_gamboge {[ translation gamboge_tip ][ language french ]}]\n[ pointes_gamboges {[ translation gamboge_tip ][ language french ]}]\n[ pot_de_flash {[ translation ground_flash ][ language french ]}]\n[ embrasement_clignotant {[ translation ground_strobe ][ language french ]}]\n//[ kal\xe9idoscope {[ translation kaleidoscope ][ language french ]}] // English version doesn\'t have accent.\n[ kal\xe9idoscope {[ translation stained_glass ][ language french ]}] // English version doesn\'t have accent.\n[ demi_anneaux {[ translation half_ring ][ language french ]}]\n[ \xe9toile_filante {[ translation laser_comet ][ language french ]}]\n[ etoile_filante {[ translation \xe9toile_filante ]}]\n[ \xe9toiles_filantes {[ translation laser_comet ][ language french ]}]\n[ etoiles_filantes {[ translation \xe9toiles_filantes ]}]\n[ lycopode {[ translation lime ][ language french ]}]\n[ m\xe9lang\xe9 {[ translation mixed ][ language french ]}]\n[ m\xe9lange {[ translation mixed ][ language french ]}] // Alternate accent.\n[ melange {[ translation m\xe9lang\xe9]}]\n[ m\xe9lang\xe9s {[ translation mixed ][ language french ]}]\n[ m\xe9langes {[ translation mixed ][ language french ]}] // Alternate accent.\n[ melanges {[ translation m\xe9lang\xe9s ]}]\n[ ext\xe9rieur {[ translation outer ][ language french ]}]\n[ exterieur {[ translation ext\xe9rieur ]}]\n[ tranche {[ translation slice ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n//fixme:ageout[ essuie_glace {[ translation wipe ][ isPieceToken true ] [ impliesCake true ][ language french ]}]\n//fixme:ageout[ droit {[ translation wipe ] [ isPieceToken true ][ impliesCake true ][ language french ]}]\n\n[ tr\xe8s_long {[ translation very_long ][ language french ]}]\n[ tr\xe8s_longue {[ translation very_long ][ language french ]}]\n[ tr\xe8s_longs {[ translation very_long ][ language french ]}]\n[ tr\xe8s_longues {[ translation very_long ][ language french ]}]\n[ tres_long {[ translation tr\xe8s_long ]}]\n[ tres_longue {[ translation tr\xe8s_longue ]}]\n[ tres_longs {[ translation tr\xe8s_longs ]}]\n[ tres_longues {[ translation tr\xe8s_longues ]}]\n[ l\xe9g\xe8rement_long {[ translation slightly_long ][ language french ]}]\n[ l\xe9g\xe8rement_longue {[ translation slightly_long ][ language french ]}]\n[ l\xe9g\xe8rement_longs {[ translation slightly_long ][ language french ]}]\n[ l\xe9g\xe8rement_longues {[ translation slightly_long ][ language french ]}]\n[ legerement_long {[ translation l\xe9g\xe8rement_long ]}]\n[ legerement_longue {[ translation l\xe9g\xe8rement_longue ]}]\n[ legerement_longs {[ translation l\xe9g\xe8rement_longs ]}]\n[ legerement_longues {[ translation l\xe9g\xe8rement_longues ]}]\n\n[ tr\xe8s_dense {[ translation very_dense ][ language french ]}]\n[ tr\xe8s_denses {[ translation very_dense ][ language french ]}]\n[ tres_dense {[ translation tr\xe8s_dense ]}]\n[ tres_denses {[ translation tr\xe8s_denses ]}]\n[ l\xe9g\xe8rement_dense {[ translation slightly_dense ][ language french ]}]\n[ l\xe9g\xe8rement_denses {[ translation slightly_dense ][ language french ]}]\n[ legerement_dense {[ translation l\xe9g\xe8rement_dense ]}]\n[ legerement_denses {[ translation l\xe9g\xe8rement_denses ]}]\n\n[ tr\xe8s_court {[ translation very_short ][ language french ]}]\n[ tr\xe8s_courte {[ translation very_short ][ language french ]}]\n[ tr\xe8s_courts {[ translation very_short ][ language french ]}]\n[ tr\xe8s_courtes {[ translation very_short ][ language french ]}]\n[ tres_court {[ translation tr\xe8s_court ]}]\n[ tres_courte {[ translation tr\xe8s_courte ]}]\n[ tres_courts {[ translation tr\xe8s_courts ]}]\n[ tres_courtes {[ translation tr\xe8s_courtes ]}]\n[ l\xe9g\xe8rement_court {[ translation slightly_short ][ language french ]}]\n[ l\xe9g\xe8rement_courte {[ translation slightly_short ][ language french ]}]\n[ l\xe9g\xe8rement_courts {[ translation slightly_short ][ language french ]}]\n[ l\xe9g\xe8rement_courtes {[ translation slightly_short ][ language french ]}]\n[ legerement_court {[ translation l\xe9g\xe8rement_court ]}]\n[ legerement_courte {[ translation l\xe9g\xe8rement_courte ]}]\n[ legerement_courts {[ translation l\xe9g\xe8rement_courts ]}]\n[ legerement_courtes {[ translation l\xe9g\xe8rement_courtes ]}]\n\n[ tr\xe8s_clairsem\xe9 {[ translation very_sparse ][ language french ]}]\n[ tr\xe8s_clairsem\xe9e {[ translation very_sparse ][ language french ]}]\n[ tr\xe8s_clairsem\xe9s {[ translation very_sparse ][ language french ]}]\n[ tr\xe8s_clairsem\xe9es {[ translation very_sparse ][ language french ]}]\n[ tres_clairseme {[ translation tr\xe8s_clairsem\xe9]}]\n[ tres_clairsemee {[ translation tr\xe8s_clairsem\xe9e ]}]\n[ tres_clairsemes {[ translation tr\xe8s_clairsem\xe9s ]}]\n[ tres_clairsemees {[ translation tr\xe8s_clairsem\xe9es ]}]\n[ l\xe9g\xe8rement_clairsem\xe9 {[ translation slightly_sparse ][ language french ]}]\n[ l\xe9g\xe8rement_clairsem\xe9e {[ translation slightly_sparse ][ language french ]}]\n[ l\xe9g\xe8rement_clairsem\xe9s {[ translation slightly_sparse ][ language french ]}]\n[ l\xe9g\xe8rement_clairsem\xe9es {[ translation slightly_sparse ][ language french ]}]\n[ legerement_clairseme {[ translation l\xe9g\xe8rement_clairsem\xe9]}]\n[ legerement_clairsemee {[ translation l\xe9g\xe8rement_clairsem\xe9e ]}]\n[ legerement_clairsemes {[ translation l\xe9g\xe8rement_clairsem\xe9s ]}]\n[ legerement_clairsemees {[ translation l\xe9g\xe8rement_clairsem\xe9es ]}]\n\n[ tr\xe8s_\xe9pais {[ translation very_thick ][ language french ]}]\n[ tr\xe8s_\xe9paisse {[ translation very_thick ][ language french ]}]\n[ tr\xe8s_\xe9paisses {[ translation very_thick ][ language french ]}]\n[ tres_epais {[ translation tr\xe8s_\xe9pais ]}]\n[ tres_epaisse {[ translation tr\xe8s_\xe9paisse ]}]\n[ tres_epaisses {[ translation tr\xe8s_\xe9paisses ]}]\n[ l\xe9g\xe8rement_\xe9pais {[ translation slightly_thick ][ language french ]}]\n[ l\xe9g\xe8rement_\xe9paisse {[ translation slightly_thick ][ language french ]}]\n[ l\xe9g\xe8rement_\xe9paisses {[ translation slightly_thick ][ language french ]}]\n[ legerement_epais {[ translation l\xe9g\xe8rement_\xe9pais ]}]\n[ legerement_epaisse {[ translation l\xe9g\xe8rement_\xe9paisse ]}]\n[ legerement_epaisses {[ translation l\xe9g\xe8rement_\xe9paisses ]}]\n\n[ tr\xe8s_mince {[ translation very_thin ][ language french ]}]\n[ tr\xe8s_minces {[ translation very_thin ][ language french ]}]\n[ tres_mince {[ translation tr\xe8s_mince ]}]\n[ tres_minces {[ translation tr\xe8s_minces ]}]\n[ l\xe9g\xe8rement_mince {[ translation slightly_thin ][ language french ]}]\n[ l\xe9g\xe8rement_minces {[ translation slightly_thin ][ language french ]}]\n[ legerement_mince {[ translation l\xe9g\xe8rement_mince ]}]\n[ legerement_minces {[ translation l\xe9g\xe8rement_minces ]}]\n\n[ sans_fum\xe9e {[ translation smokeless ][ language french ]}]\n[ sans_fumee {[ translation sans_fum\xe9e ]}]\n\n[ mince {[ translation thin ][ language french ]}]\n[ minces {[ translation thin ][ language french ]}]\n\n[ \xe9pais {[ translation thick ][ language french ]}]\n[ \xe9paisse {[ translation thick ][ language french ]}]\n[ \xe9paisses {[ translation thick ][ language french ]}]\n[ epais {[ translation \xe9pais ]}]\n[ epaisse {[ translation \xe9paisse ]}]\n[ epaisses {[ translation \xe9paisses ]}]\n\n[ trente {[ translation thirty_times ][ language french ]}]\n[ titane {[ translation titanium ][ language french ]}]\n[ titanes {[ translation titanium ][ language french ]}]\n\n[ marron_litdapos_air_titane {[ translation titanium_salute ] [ language french ]}]\n[ marrons_litdapos_air_titanes {[ translation titanium_salute ] [ language french ]}]\n\n[ marrones {[ translation salute ] [ language spanish ]}]\n[ marr\xf3n {[ translation salute ] [ language spanish ]}]\n[ marron {[ translation marr\xf3n ]}]\n[ marr\xf3n_tit\xe1nio {[ translation titanium_salute ] [ language spanish ]}]\n[ marron_titanio {[ translation marr\xf3n_tit\xe1nio ]}]\n\n[ rel\xe1mpagos {[ translation relampagos ][ language spanish ]}]\n\n\n[ clairsem\xe9 {[ translation sparse ][ language french ]}]\n[ clairsem\xe9e {[ translation sparse ][ language french ]}]\n[ clairsem\xe9s {[ translation sparse ][ language french ]}]\n[ clairsem\xe9es {[ translation sparse ][ language french ]}]\n[ queue_de_tigre { [ translation tiger_tail ][ language french ]}]\n[ queues_de_tigre { [ translation tiger_tail ][ language french ]}]\n\n[ moiti\xe9_sup\xe9rieur { [ translation top_half ][ language french ]}]\n[ moitie_superieur { [ translation moiti\xe9_sup\xe9rieur ]}]\n[ moiti\xe9_haute { [ translation top_half ][ language french ]}]\n[ moitie_haute { [ translation moiti\xe9_haute ]}]\n\n[ scintillement { [ translation twinkling ][ language french ]}]\n[ scintillements { [ translation twinkling ][ language french ]}]\n[ scintillemente { [ translation twinkling ][ language french ]}]\n[ scintillementes { [ translation twinkling ][ language french ]}]\n\n\n\n[ fleur_montante {[ translation rising_flowers ][ language french ]}]\n[ fleurs_montantes {[ translation rising_flowers ][ language french ]}]\n[ saturne {[ translation saturn ][ language french ]}]\n[ navette {[ translation shuttle ][ language french ]}]\n[ navettes {[ translation shuttle ][ language french ]}]\n[ pointe_argent\xe9e {[ translation silver_tip ][ language french ]}]\n[ pointes_argent\xe9es {[ translation silver_tip ][ language french ]}]\n[ pointe_argentee {[ translation pointe_argent\xe9e ]}]\n[ pointes_argentees {[ translation pointes_argent\xe9es ]}]\n\n[ triples_medios_aros {[ translation triple_half_rings ][ language spanish ]}]\n[ triples_medios_anillos {[ translation triple_half_rings ][ language spanish ]}]\n[ triple_medio_aro {[ translation triple_half_rings ][ language spanish ]}]\n[ triple_medio_anillo {[ translation triple_half_rings ][ language spanish ]}]\n[ tres_medios_aros {[ translation triple_half_rings ][ language spanish ]}]\n[ tres_medios_anillos {[ translation triple_half_rings ][ language spanish ]}]\n\n[ triple_anneaux_concentrique {[ translation triple_concentric_rings ][ language french ]}]\n[ triple_anneaux_concentriques {[ translation triple_concentric_rings ][ language french ]}]\n\n[ triple_anneaux_enlac\xe9s {[ translation triple_cross_rings ][ language french ]}]\n[ triple_anneaux_entrelac\xe9s {[ translation triple_cross_rings ][ language french ]}]\n[ triple_anneaux_enlac\xe9 {[ translation triple_cross_rings ][ language french ]}]\n[ triple_anneaux_entrelac\xe9 {[ translation triple_cross_rings ][ language french ]}]\n[ triple_anneaux_enlaces {[ translation triple_anneaux_enlac\xe9s ]}]\n[ triple_anneaux_entrelaces {[ translation triple_anneaux_entrelac\xe9s ]}]\n[ triple_anneaux_enlace {[ translation triple_anneaux_enlac\xe9]}]\n[ triple_anneaux_entrelace {[ translation triple_anneaux_entrelac\xe9]}]\n\n[ vingt {[ translation twenty_times ][ language french ]}]\n[ ultra_rapide {[ translation ultrafast ][ language [ italian french ]]}]\n[ ultra_rapid {[ translation ultrafast ][ language french ]}]\n[ parapluie {[ translation umbrella ][ language french ]}]\n[ parapluies {[ translation umbrella ][ language french ]}]\n\n[ vague {[ translation wave ][ language french ]}]\n[ vagues {[ translation wave ][ language french ]}]\n\n[ sifflet {[ translation whistles ][ language french ]}]\n[ sifflets {[ translation whistles ][ language french ]}]\n[ sifflant {[ translation whistles ][ language french ]}]\n[ sifflants {[ translation whistles ][ language french ]}]\n[ sifflante {[ translation whistles ][ language french ]}]\n[ sifflantes {[ translation whistles ][ language french ]}]\n\n[ tournoyant {[ translation whirls ][ language french ]}]\n[ tournoyante {[ translation whirls ][ language french ]}]\n[ tournoyants {[ translation whirls ][ language french ]}]\n[ tournoyantes {[ translation whirls ][ language french ]}]\n\n[ cr\xe9puscule_scintillant {[ translation twilight_glitter ][ language french ]}]\n[ crepuscule_scintillant {[ translation cr\xe9puscule_scintillant ]}]\n[ cr\xe9puscules_scintillants {[ translation twilight_glitter ][ language french ]}]\n[ crepuscules_scintillants {[ translation cr\xe9puscules_scintillants ]}]\n\n[ triple_demi_anneaux {[ translation triple_half_rings ][ language french ]}]\n[ triple_anneaux {[ translation triple_rings ][ language french ]}]\n\n[ vert_marin {[ translation grass_green ][ language french ]}]\n[ verte_marine {[ translation grass_green ][ language french ]}]\n[ verts_marins {[ translation grass_green ][ language french ]}]\n[ vertes_marines {[ translation grass_green ][ language french ]}]\n[ bleu_marin {[ translation sea_blue ][ language french ]}]\n[ bleue_marine {[ translation sea_blue ][ language french ]}]\n[ bleus_marins {[ translation sea_blue ][ language french ]}]\n[ bleues_marines {[ translation sea_blue ][ language french ]}]\n[ stromboscopique {[ translation flashing ][ language french ]}]\n[ stromboscope {[ translation flashing ][ language french ]}]\n[ flash {[ translation photoflash ][ language [ english french german italian portuguese ]]}]\n[ flashs {[ translation photoflash ][ language french ]}]\n\n[ flash_terrestre {[ translation ground_photoflash ][ language [ spanish french ]]}]\n[ flashs_terrestres {[ translation ground_photoflash ][ language french ]}]\n[ photoflash_terrestre {[ translation ground_photoflash ][ language french ]}]\n\n//[ \xe9toiles_scintillantes {[ translation scattering ][ language french ]}]\n//[ etoiles_scintillantes {[ translation \xe9toiles_scintillantes ]}]\n//[ \xe9toile_scintillante {[ translation scattering ][ language french ]}]\n//[ etoile_scintillante {[ translation \xe9toile_scintillante ]}]\n//[ sans_tronc {[ translation no_trail ][ language french ]}]\n//[ sans_queue {[ translation no_trail ][ language french ]}]\n//[ sans_queues {[ translation no_trail ][ language french ]}]\n//?????[ flash {[ translation ground_flash ][ language french ]}]\n\n//fixme:removeme[ autre {[ translation other ] [ language french ]}]\n[ argent {[ translation silver ] [ language french ]}]\n[ argent\xe9e {[ translation silver ] [ language french ]}]\n[ argent\xe9 {[ translation silver ] [ language french ][ bestNominalColorTranslation true ]}]\n[ argent\xe9es {[ translation silver ] [ language french ]}]\n[ argent\xe9s {[ translation silver ] [ language french ]}]\n[ argente {[ translation argent\xe9]}]\n[ argentee {[ translation argent\xe9e ]}]\n[ argentes {[ translation argent\xe9s ]}]\n[ argentees {[ translation argent\xe9es ]}]\n[ marron_litdapos_air {[ translation salute ] [ language french ]}]\n[ marrons_litdapos_air {[ translation salute ] [ language french ]}]\n[ cha\xeene {[ translation chain ][ isPieceToken true ] [ language french ] [ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ cha\xeenes {[ translation chain ][ isPieceToken true ] [ language french ] [ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ cha\xeene_de {[ translation cha\xeene ]}] // Get rid of \'de\' since may be extracting the number.\n[ cha\xeenes_de {[ translation cha\xeenes ]}]\n[ chaine {[ translation cha\xeene ]}]\n[ chaines {[ translation cha\xeenes ]}]\n[ chaine_de {[ translation cha\xeene ]}]\n[ chaines_de {[ translation cha\xeenes ]}]\n[ sourire {[ translation smiley_face ] [ language french ]}]\n[ sourires {[ translation smiley_face ] [ language french ]}]\n[ fontaine {[ translation fountain ] [ language french ]}]\n[ fontaines {[ translation fountain ] [ language french ]}]\n[ gerbe {[ translation gerb ] [ language french ]}]\n[ gerbes {[ translation gerb ] [ language french ]}]\n[ cr\xe9pitant {[ translation crackling ] [ language french ]}]\n[ cr\xe9pitante {[ translation crackling ] [ language french ]}]\n[ cr\xe9pitants {[ translation crackling ] [ language french ]}]\n[ cr\xe9pitantes {[ translation crackling ] [ language french ]}]\n[ crepitant {[ translation cr\xe9pitant ]}]\n[ crepitante {[ translation cr\xe9pitante ]}]\n[ crepitants {[ translation cr\xe9pitants ]}]\n[ crepitantes {[ translation cr\xe9pitantes ]}]\n\n\n[ litdapos_or {[ translation gold ] [ language french ]}]\n[ litdapos_argent {[ translation silver ] [ language french ]}]\n[ filet_litdapos_or {[ translation brocade ] [ language french ]}]\n[ feuilles_mortes {[ translation falling_leaves ] [ language french ]}]\n[ feuille_morte {[ translation falling_leaves ] [ language french ]}]\n[ tourbillon {[ translation tourbillions ] [ language french ]}]\n[ flying_dragon {[ translation tourbillions ] [ language english ]}]\n[ flying_dragons {[ translation tourbillions ] [ language english ]}]\n\n[ tourbillonnant {[ translation spinners ] [ language french ]}]\n\n[ tourbillons {[ translation tourbillions ] [ language french ]}]\n[ panach\xe9 {[ translation variegated ] [ language french ][ bestNominalColorTranslation true ]}]\n[ panach\xe9s {[ translation variegated ] [ language french ]}]\n[ panache {[ translation panach\xe9]}]\n[ panaches {[ translation panach\xe9s ]}]\n[ vari\xe9 {[ translation variegated ] [ language french ]}]\n[ vari\xe9s {[ translation variegated ] [ language french ]}]\n[ varie {[ translation vari\xe9]}]\n[ varies {[ translation vari\xe9s ]}]\n[ multicouleur {[ translation multi_color ] [ language french ][ bestNominalColorTranslation true ]}]\n[ multicouleurs {[ translation multi_color ] [ language french ]}]\n[ multi_couleur {[ translation multi_color ] [ language french ]}]\n[ multi_couleurs {[ translation multi_color ] [ language french ]}]\n[ multicolore {[ translation multi_color ] [ language [ italian french ]]}]\n[ multicolores {[ translation multi_color ] [ language [ french spanish ]]}]\n[ flamme {[ translation ground_flare ] [ language french ]}]\n[ flammes {[ translation ground_flare ] [ language french ]}]\n[ cli {[ translation strobing ] [ language french ]}]\n[ clignotant {[ translation strobing ] [ language french ]}]\n[ clignotante {[ translation strobing ] [ language french ]}]\n[ clignotants {[ translation strobing ] [ language french ]}]\n[ clignotantes {[ translation strobing ] [ language french ]}]\n[ scintillant {[ translation glittering ] [ language french ]}]\n[ scintillante {[ translation glittering ] [ language [ italian french ]]}]\n[ scintillants {[ translation glittering ] [ language french ]}]\n[ scintillantes {[ translation glittering ] [ language french ]}]\n[ scint {[ translation scintillant ]}] // Abbreviation. If user doesn\'t like gender or plural, he can write it out.\n[ scit {[ translation scintillant ]}] // Misspelling of abbreviation. If user doesn\'t like gender or plural, he can write it out.\n[ sint {[ translation scintillant ]}] // Another misspelling of abbreviation. If user doesn\'t like gender or plural, he can write it out.\n[ queue_de_cheval {[ translation horsetail ] [ language french ]}]\n[ queues_de_cheval {[ translation horsetail ] [ language french ]}]\n[ pr\xe9tir {[ translation prefire ][ isPieceToken true ] [ isPartToken true ] [ isSpecialDimensionalProperty true ] [ language french ]}]\n[ pr\xe9_tir {[ translation pr\xe9tir ]}]\n[ pretir {[ translation pr\xe9tir ]}]\n[ pre_tir {[ translation pr\xe9tir ]}]\n[ une { [ translation one_time ][ language french ]}]\n[ deux { [ translation two_times ][ language french ]}]\n[ trois { [ translation three_times ][ language french ]}]\n[ quatre { [ translation four_times ][ language french ]}]\n[ cinq { [ translation five_times ][ language french ]}]\n[ six { [ translation six_times ][ language french ]}]\n[ sept { [ translation seven_times ][ language french ]}]\n[ huit { [ translation eight_times ][ language french ]}]\n[ neuf { [ translation nine_times ][ language french ]}]\n[ dix { [ translation ten_times ][ language french ]}]\n\n[ a1 { [ translation one_time ][ language french ]}]\n[ a2 { [ translation two_times ][ language french ]}]\n[ a3 { [ translation three_times ][ language french ]}]\n[ a4 { [ translation four_times ][ language french ]}]\n[ a5 { [ translation five_times ][ language french ]}]\n[ a6 { [ translation six_times ][ language french ]}]\n[ a7 { [ translation seven_times ][ language french ]}]\n[ a8 { [ translation eight_times ][ language french ]}]\n[ a9 { [ translation nine_times ][ language french ]}]\n[ a10 { [ translation ten_times ][ language french ]}]\n\n[ au_dessus { [ translation above ][ language french ]}]\n[ p\xf4t_au_feu { [ translation mine ][ language french ]}]\n[ p\xf4t_au_feux { [ translation mine ][ language french ]}]\n[ p\xf4t_\xe0_feu { [ translation mine ][ language french ]}]\n[ p\xf4t_\xe0_feux { [ translation mine ][ language french ]}]\n[ p\xf4ts_\xe0_feux { [ translation mine ][ language french ]}]\n[ p\xf4t_lita_feu { [ translation p\xf4t_\xe0_feu ]}]\n[ p\xf4t_lita_feux { [ translation p\xf4t_\xe0_feux ]}]\n\n[ pot_au_feu { [ translation mine ][ language french ]}]\n[ pot_au_feux { [ translation mine ][ language french ]}]\n[ pot_\xe0_feu { [ translation mine ][ language french ]}]\n[ pot_\xe0_feux { [ translation mine ][ language french ]}]\n[ pots_\xe0_feux { [ translation mine ][ language french ]}]\n[ pot_lita_feu { [ translation pot_\xe0_feu ]}]\n[ pot_lita_feux { [ translation pot_\xe0_feux ]}]\n[ avec { [ translation wi ][ language french ]}]\n[ p\xe0f { [ translation mine ][ language french ]}]\n[ paf { [ translation mine ][ language french ]}]\n[ com\xe8te { [ translation comet ][ language french ]}]\n[ com\xe8tes { [ translation comet ][ language french ]}]\n//[ comete { [ translation com\xe8te ]}] // Conflicts with Italian.\n[ cometes { [ translation com\xe8tes ]}]\n[ mosa\xefque { [ translation crossette ][ language french ]}]\n[ mosa\xefques { [ translation crossette ][ language french ]}]\n[ mosaique { [ translation mosa\xefque ]}]\n[ mosaiques { [ translation mosa\xefques ]}]\n[ n\u0153ud_papillon { [ translation bowtie ][ language french ]}]\n[ n\u0153uds_papillons { [ translation bowtie ][ language french ]}]\n[ noeud_papillon { [ translation n\u0153ud_papillon ]}]\n[ noeuds_papillons { [ translation n\u0153uds_papillons ]}]\n[ papillon { [ translation butterfly ][ language french ]}]\n[ papillons { [ translation butterfly ][ language french ]}]\n[ ch { [ translation candle ][ impliesCandle true ][ isPieceToken true ][ language french ]}]\n[ chandelle { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n[ chandelles { [ translation candle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n[ chandelle_romaine { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n[ chandelles_romaines { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n[ a\xe9rien { [ translation aerial ][ language french ]}]\n[ a\xe9rienne { [ translation aerial ][ language french ]}]\n[ a\xe9riens { [ translation aerial ][ language french ]}]\n[ a\xe9riennes { [ translation aerial ][ language french ]}]\n[ aerien { [ translation a\xe9rien ]}]\n[ aerienne { [ translation a\xe9rienne ]}]\n[ aeriens { [ translation a\xe9riens ]}]\n[ aeriennes { [ translation a\xe9riennes ]}]\n[ diad\xe8me { [ translation diadem ][ language french ]}]\n[ diad\xe8mes { [ translation diadem ][ language french ]}]\n[ diademe { [ translation diad\xe8me ]}]\n[ diademes { [ translation diad\xe8mes ]}]\n[ dor\xe9e { [ translation gold ][ language french ]}]\n[ dor\xe9 { [ translation gold ][ language french ][ bestNominalColorTranslation true ]}]\n[ dor\xe9es { [ translation gold ][ language french ]}]\n[ dor\xe9s { [ translation gold ][ language french ]}]\n[ doree { [ translation dor\xe9e ]}]\n[ dore { [ translation dor\xe9]}]\n[ dorees { [ translation dor\xe9es ]}]\n[ dores { [ translation dor\xe9s ]}]\n[ pointe_dor\xe9e { [ translation gold_tip ][ language french ]}]\n[ pointes_dor\xe9es { [ translation gold_tip ][ language french ]}]\n[ pointe_doree { [ translation pointe_dor\xe9e ]}]\n[ pointes_dorees { [ translation pointes_dor\xe9es ]}]\n[ \u0153ufs_de_dragons { [ translation dragon_eggs ][ language french ]}]\n\n//fixme:removeme dup [ dragons_eggs { [ translation dragon_eggs ][ language english ]}]\n[ dragoneggs { [ translation dragon_eggs ][ language english ]}]\n[ dragonseggs { [ translation dragon_eggs ][ language english ]}]\n\n[ oeufs_de_dragons { [ translation \u0153ufs_de_dragons ]}]\n[ \u0153ufs_de_dragon { [ translation dragon_eggs ][ language french ]}]\n[ oeufs_de_dragon { [ translation \u0153ufs_de_dragon ]}]\n[ draggon_eggs { [ translation \u0153ufs_de_dragons ]}]\n[ double_anneaux { [ translation double_rings ][ language french ]}]\n[ \xe9ventail { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ eventail { [ translation \xe9ventail ]}]\n[ \xe9ventaill\xe9 { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language french ]}] // Can be used with bande, but we don\'t need to translate bande.\n[ eventaille { [ translation \xe9ventaill\xe9]}]\n[ queue {[ translation tail ] [ language french ]}]\n[ queues {[ translation tail ] [ language french ]}]\n[ tronc {[ translation tail ] [ language french ]}]\n[ tronco {[ translation tail ] [ language spanish ]}]\n[ troncos {[ translation tail ] [ language spanish ]}]\n[ troncs {[ translation tail ] [ language french ]}]\n[ bleu {[ translation blue ] [ language french ]}]\n[ bleue {[ translation blue ] [ language french ]}]\n[ bleus {[ translation blue ] [ language french ]}]\n[ bleues {[ translation blue ] [ language french ]}]\n[ moiti\xe9_moiti\xe9 {[ translation half_and_half ] [ language french ]}]\n[ moitie_moitie {[ translation moiti\xe9_moiti\xe9]}]\n[ double_bombes {[ translation peanut_shell ][ language french ]}]\n[ \xe9toile_fuyante {[ translation scattering ][ language french ]}]\n[ etoile_fuyante {[ translation \xe9toile_fuyante ]}]\n[ \xe9toiles_fuyantes {[ translation scattering ][ language french ]}]\n[ etoiles_fuyantes {[ translation \xe9toiles_fuyantes ]}]\n[ \xe9toile_dansante {[ translation scattering ][ language french ]}]\n[ etoile_dansante {[ translation \xe9toile_fuyante ]}]\n[ \xe9toiles_dansantes {[ translation scattering ][ language french ]}]\n[ etoiles_dansantes {[ translation \xe9toiles_fuyantes ]}]\n[ zig_zag {[ translation scattering ][ language french ]}]\n[ zigzag {[ translation zig_zag ]}]\n[ en_or { [ translation gold ][ language french ]}]\n[ or { [ translation gold ][ language french ]}]\n[ silencieux {[ translation silent ][ language french ]}]\n[ silencieuse {[ translation silent ][ language french ]}]\n[ silencieuses {[ translation silent ][ language french ]}]\n[ bengale_clignotant {[ translation ground_strobe ][ language french ]}]\n[ bengale_clignotante {[ translation ground_strobe ][ language french ]}]\n[ bengales_clignotants {[ translation ground_strobe ][ language french ]}]\n[ bengales_clignotantes {[ translation ground_strobe ][ language french ]}]\n[ embrasement {[ translation ground_flare ][ language french ]}]\n[ embrasements {[ translation ground_flare ][ language french ]}]\n[ cascade {[ translation waterfall ][ language french ]}]\n[ cascades {[ translation waterfall ][ language french ]}]\n[ saule {[ translation willow ][ language french ]}]\n[ saules {[ translation willow ][ language french ]}]\n[ saule_pleureur {[ translation willow ][ language french ]}]\n[ saules_pleureurs {[ translation willow ][ language french ]}]\n[ jaune {[ translation yellow ][ language french ]}]\n[ jaunes {[ translation yellow ][ language french ]}]\n[ bleu_oc\xe9an {[ translation sea_blue ][ language french ]}]\n[ bleu_ocean {[ translation bleu_oc\xe9an ]}]\n[ bleu_ciel {[ translation sky_blue ][ language french ]}] // No plural in French.\n[ bleu_cyan {[ translation cyan ][ language french ]}]\n[ bleue_ciel {[ translation sky_blue ][ language french ]}]\n[ jaune_canari {[ translation lemon ][ language french ]}]\n[ jaune_pale {[ translation fresh_yellow ][ language french ]}]\n[ cerise {[ translation ruby ][ language french ]}] // No plural in French.\n[ lavande {[ translation lavender ][ language french ]}]\n[ de_lavande {[ translation lavender ][ language french ]}]\n[ citron {[ translation lemon ][ language french ]}] // No plural in French.\n[ vert_citron {[ translation lime ][ language french ]}]\n[ rouge {[ translation red ][ language french ]}]\n[ rouges {[ translation red ][ language french ]}]\n[ arc_en_ciel {[ translation rainbow ][ language french ]}]\n[ vert {[ translation green ][ language french ]}]\n[ verte {[ translation green ][ language french ]}]\n[ verts {[ translation green ][ language french ]}]\n[ vertes {[ translation green ][ language french ]}]\n[ m\xeame_couleur {[ translation same_color ][ language french ]}]\n[ meme_couleur {[ translation m\xeame_couleur ]}]\n[ saphire {[ translation blue ][ language french ]}]\n[ pivoine {[ translation peony ][ language french ]}]\n[ pivoines {[ translation peony ][ language french ]}]\n[ projecteur_de_flammes {[ translation flame_projector ][ language french ]}]\n[ projecteur_de_flames {[ translation flame_projector ][ language french ]}]\n[ projecteur_de_flame {[ translation flame_projector ][ language french ]}]\n[ bombe_de_bombes {[ translation shell_of_shells ][ language french ]}]\n[ bombes_de_bombes {[ translation bombe_de_bombes ]}]\n[ multi_bombes {[ translation shell_of_shells ][ language french ]}]\n[ multi_bombe {[ translation shell_of_shells ][ language french ]}]\n[ multibombe {[ translation shell_of_shells ][ language french ]}]\n[ bombe_fant\xf4me {[ translation [ ghost shell ]][ language french ]}]\n[ bombe_fantome {[ translation bombe_fant\xf4me ]}]\n[ fant\xf4me {[ translation [ ghost shell ]][ language french ]}]\n[ fantome {[ translation bombe_fant\xf4me ]}]\n[ anneau_fant\xf4me {[ translation [ ghost ring ]][ language french ]}]\n[ anneau_fantome {[ translation anneau_fant\xf4me ]}]\n[ anneaux_fant\xf4mes {[ translation [ ghost ring ]][ language french ]}]\n[ anneaux_fantomes {[ translation anneaux_fant\xf4mes ]}]\n[ tir {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language french ]}]\n[ tirs {[ translation tir ]}] // This is not polite because I add back, handling specially. May have to revisit if French hate it.\n[ coup {[ translation tir ]}]\n[ coups {[ translation tir ]}]\n[ cps {[ translation tir ]}]\n \n[ formato_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ formato_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ formato_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ formato_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ formato_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n\n[ en_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ en_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ compact {[ translation cake ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ batterie {[ translation cake ][ isPieceToken true ][ impliesCake true ][ language [ french german italian ]]}]\n[ feuerwerksbatterie {[ translation cake ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n\n[ chrysanth\xe8me {[ translation chrysanthemum ][ language french ]}]\n[ chrysantheme {[ translation chrysanthemum ][ language german ]}] // Sorry, can\'t correct French accent because is valid German.\n[ chrysanthemen {[ translation chrysanthemum ][ language german ]}]\n\n[ \xe0 { [ translation to ][ language french ]}]\n[ monocoup { [ translation single_shot ][ impliesCandle true ][ language french ]}]\n// [ mc { [ translation single_shot ][ impliesCandle true ][ language french ]}] // Also stands for "Multi-color" in Portuguese so too dangerous to use.\n[ centre { [ translation core ][ language french ]}]\n[ milieu { [ translation core ][ language french ]}]\n[ changement { [ translation to ][ language french ]}] // E.g., blanc changement rouge\n[ chgmt { [ translation to ][ language french ]}]\n[ puis { [ translation to ][ language french ]}] // E.g., changement blanc puis rouge\n[ vers { [ translation to ][ language french ]}]\n[ ver { [ translation to ][ language french ]}]\n[ blanc { [ translation white ][ language french ]}]\n[ blancs { [ translation white ][ language french ]}]\n[ blanche { [ translation white ][ language french ]}]\n[ blanches { [ translation white ][ language french ]}]\n[ fus\xe9e {[ translation rocket ] [ language french ]}] \n[ fus\xe9es {[ translation rocket ] [ language french ]}] \n[ fusee {[ translation fus\xe9e ]}] \n[ fusees {[ translation fus\xe9es ]}] \n[ violets { [ translation violet ][ language french ][ badNominalColorTranslation true ]}] // Prefer using "Violet" which happens to be the same as the English word.\n[ violette { [ translation violet ][ language [ french german ]][ badNominalColorTranslation true ]}]\n[ violettes { [ translation violet ][ language french ][ badNominalColorTranslation true ]}]\n[ rose { [ translation pink ][ language french ]}]\n[ roses { [ translation pink ][ language french ]}]\n[ pourpre { [ translation purple ][ language french ]}]\n[ pourpres { [ translation purple ][ language french ]}]\n[ palme { [ translation palm ][ language [ german french italian ]]}]\n[ palmes { [ translation palm ][ language french ]}]\n[ palma { [ translation palm ][ language [ polish italian maltese ]]}]\n[ c\u0153ur { [ translation heart_shape ][ language french ]}]\n[ coeur { [ translation c\u0153ur ]}]\n[ d\xe9to { [ translation report ][ language french ]}]\n[ deto { [ translation d\xe9to ]}]\n[ d\xe9tonation { [ translation report ][ language french ]}]\n[ detonation { [ translation d\xe9tonation ]}]\n\n[ wassereffekt { [ translation nautical ][ language german ]}]\n[ wassercake { [ translation nautical ][ language german ]}]\n[ wasserbombe { [ translation nautical ][ language german ]}]\n\n[ nautique { [ translation nautical ][ language french ]}]\n[ soucoupe { [ translation girandola ][ language french ]}] // Don\'t need "soucoupe volante" because soucoupe suffices; can ignore volante. \n[ soucoupes { [ translation girandola ][ language french ]}]\n[ lance_d\xe9cor { [ translation lancework ][ language french ]}]\n[ lance_decor { [ translation lance_d\xe9cor ]}]\n[ et { [ translation and ][ language [ italian french ]]}]\n[ botte { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n[ botte_de { [ translation bundle ][ isPieceToken true ][ impliesCandle true ][ language french ]}]\n//[ com { [ translation comet ][ language french ]}] // Conflicts with "with" in Portuguese. Too bad for French.\n[ bbette {[ translation bombette ]}]\n[ bombe { [ translation shell ][ language [ french german ]]}] \n[ bombes { [ translation shell ][ language french ]}] \n[ cercle { [ translation ring ][ language french ]}] \n[ cercles { [ translation ring ][ language french ]}] \n[ anneau { [ translation ring ][ language french ]}] \n[ anneaux { [ translation ring ][ language french ]}] \n[ paillette { [ translation spangle ][ language french ]}] \n[ paillettes { [ translation spangle ][ language french ]}] \n[ paillettees { [ translation spangle ][ language french ]}] \n[ paillett\xe9 { [ translation spangle ][ language french ]}] \n[ paillett\xe9es { [ translation spangle ][ language french ]}] \n\n[ p\xe9tillant { [ translation flashing ][ language french ]}] \n[ petillant { [ translation p\xe9tillant ]}] \n[ p\xe9tillants { [ translation flashing ][ language french ]}] \n[ petillants { [ translation p\xe9tillants ]}] \n\n[ p\xe9tillante { [ translation flashing ][ language french ]}] \n[ petillante { [ translation p\xe9tillante ]}] \n[ p\xe9tillantes { [ translation flashing ][ language french ]}] \n[ petillantes { [ translation p\xe9tillantes ]}] \n\n[ cylindrique { [ translation cylinder ][ language french ]}] \n[ cocotier { [ translation coconut ][ language french ]}]\n[ ascension { [ translation rising ][ language french ]}]\n[ poisson { [ translation flying_fish ][ language french ]}] // Don\'t need "poisson volant" because poisson suffices; can ignore volant.\n[ poissons { [ translation flying_fish ][ language french ]}]\n[ strob { [ translation strobing ][ language french ]}]\n[ cloche { [ translation mobiles ][ language french ]}]\n[ \xe9clatement {[ translation air_burst ][ language french ]}]\n[ eclatement {[ translation \xe9clatement ]}]\n[ \xe9clatements {[ translation air_burst ][ language french ]}]\n[ eclatements {[ translation \xe9clatements ]}]\n[ vert_anis {[ translation aniseed ][ language french ]}]\n[ anneaux_atomiques {[ translation triple_cross_rings ][ language french ]}]\n[ abeilles {[ translation bees ][ language french ]}]\n[ palmier {[ translation palm ][ language french ]}]\n[ palmiers {[ translation palm ][ language french ]}]\n[ craquement {[ translation crackling ][ language french ]}]\n[ craqu\xe8lement {[ translation crackling ][ language french ]}]\n[ craquelement {[ translation craqu\xe8lement ]}]\n[ craquements {[ translation crackling ][ language french ]}]\n[ craqu\xe8lements {[ translation crackling ][ language french ]}]\n[ craquelements {[ translation craqu\xe8lements ]}]\n[ craquementes {[ translation crackling ][ language french ]}]\n[ craqu\xe8lementes {[ translation crackling ][ language french ]}]\n[ craquelementes {[ translation craqu\xe8lementes ]}]\n[ craquemente {[ translation crackling ][ language french ]}]\n[ craqu\xe8lemente {[ translation crackling ][ language french ]}]\n[ craquelemente {[ translation craqu\xe8lemente ]}]\n\n[ bleu_cian {[ translation cyan ][ language french ]}]\n[ cian {[ translation cyan ][ language french ]}]\n[ noir {[ translation dark ][ language french ]}]\n[ boule_de_feu {[ translation fireball ][ language french ]}]\n[ vert_fonc\xe9 {[ translation grass_green ][ language french ]}]\n[ vert_fonce {[ translation vert_fonc\xe9]}]\n[ m\xe9t\xe9ore { [ translation meteor ][ language french ]}]\n[ meteore { [ translation meteor ]}]\n[ neige { [ translation midnight_snow ][ language french ]}]\n[ poulpe { [ translation octopus ][ language french ]}]\n[ pouple { [ translation poulpe ]}] // Misspelling.\n[ p\xeache { [ translation peach ][ language french ]}]\n[ peche { [ translation p\xeache ]}]\n[ prune { [ translation plum ][ language french ]}]\n[ queue_de_paon { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ queue_de_pan { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ cacahu\xe8te { [ translation peanut_shell ][ language french ]}]\n[ cacahuete { [ translation cacahu\xe8te ]}]\n[ perle { [ translation pearl ][ language french ]}]\n[ perles { [ translation pearl ][ language french ]}]\n[ assiette { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language french ]}]\n[ effet_pop_corn { [ translation popcorn_crackle ][ language french ]}]\n[ effet_popcorn { [ translation popcorn_crackle ][ language french ]}]\n[ pluie { [ translation time_rain ][ language french ]}]\n[ temps_de_pluie { [ translation time_rain ][ language french ]}]\n[ dragons_tournants { [ translation serpents ][ language french ]}]\n[ rubis { [ translation ruby ][ language french ]}]\n//[ fin { [ translation report ][ language french ]}] // Don\'t need plural because follows "to". Might be too dangerous, could be chain or finale box. No, French doesn\'t use "finale" to mean chain.\n//[ final { [ translation report ][ language french ]}] // Might be too dangerous, could be chain or finale box.\n[ fin_sonore { [ translation report ][ language french ]}]\n[ final_sonore { [ translation report ][ language french ]}]\n//fixme:doesn\'t make sense in french[ \xe0_finale { [ translation [ to report ]][ language french ]}] // Might be too dangerous, could be chain or finale box. Since "finale" is a VDL term implying cake, disambiguate the French "to report" by recognizing the preposition.\n//fixme:doesn\'t make sense in french[ lita_finale { [ translation [ to report ]][ language french ]}]\n\n//Unnecessary, "to" not needed to be compound term. [ \xe0_final { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ lita_final { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ \xe0_final_sonore { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ lita_final_sonore { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ \xe0_fin { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ lita_fin { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ \xe0_fin_sonore { [ translation [ to report ]][ language french ]}]\n//Unnecessary, "to" not needed to be compound term. [ lita_fin_sonore { [ translation [ to report ]][ language french ]}]\n\n[ vert_oc\xe9an {[ translation grass_green ][ language french ]}]\n[ vert_ocean {[ translation vert_oc\xe9an ]}]\n[ serpentins { [ translation serpents ][ language french ]}]\n[ serpentin { [ translation serpents ][ language french ]}]\n[ double_effet {[ translation peanut_shell ][ language french ]}]\n[ chatoyant { [ translation shimmering ][ language french ]}]\n//[ gr\xe9sillement { [ translation sizzling ][ language french ]}]\n[ gr\xe9sillement { [ translation crackling ][ language french ]}]\n[ gresillement { [ translation gr\xe9sillement ]}]\n[ araign\xe9e { [ translation spider ][ language french ]}]\n[ araignee { [ translation araign\xe9e ]}]\n[ araigne { [ translation araign\xe9e ]}] // Misspelling.\n[ vitrail { [ translation stained_glass ][ language french ]}]\n[ vitraux { [ translation stained_glass ][ language french ]}]\n[ vitraille { [ translation vitrail ]}] // Misspelling.\n[ tournesol { [ translation sunflower ][ language french ]}]\n[ pissenlit { [ translation dandelion ][ language french ]}]\n[ tra\xe7ant { [ translation trail ][ language french ]}]\n[ tra\xe7ante { [ translation trail ][ language french ]}] // Also is one of the Portuguese words that translates to "Comet".\n[ tracant { [ translation tra\xe7ant ]}]\n[ tracante { [ translation tra\xe7ante ]}]\n\n[ sans_tra\xe7ant { [ translation no_trail ][ language french ]}]\n[ sans_tra\xe7ante { [ translation no_trail ][ language french ]}]\n[ sans_tracant { [ translation sans_tra\xe7ant ]}]\n[ sans_tracante { [ translation sans_tra\xe7ante ]}]\n\n[ petit {[ translation small ][ language french ]}]\n[ petite {[ translation small ][ language french ]}]\n[ petits {[ translation small ][ language french ]}]\n[ petites {[ translation small ][ language french ]}]\n[ tr\xe8s_petit {[ translation very_small ][ language french ]}]\n[ tr\xe8s_petite {[ translation very_small ][ language french ]}]\n[ tr\xe8s_petits {[ translation very_small ][ language french ]}]\n[ tr\xe8s_petites {[ translation very_small ][ language french ]}]\n[ tres_petit {[ translation tr\xe8s_petit ]}]\n[ tres_petite {[ translation tr\xe8s_petite ]}]\n[ tres_petits {[ translation tr\xe8s_petits ]}]\n[ tres_petites {[ translation tr\xe8s_petites ]}]\n[ l\xe9g\xe8rement_petit {[ translation slightly_small ][ language french ]}]\n[ l\xe9g\xe8rement_petite {[ translation slightly_small ][ language french ]}]\n[ l\xe9g\xe8rement_petits {[ translation slightly_small ][ language french ]}]\n[ l\xe9g\xe8rement_petites {[ translation slightly_small ][ language french ]}]\n[ legerement_petit {[ translation l\xe9g\xe8rement_petit ]}]\n[ legerement_petite {[ translation l\xe9g\xe8rement_petite ]}]\n[ legerement_petits {[ translation l\xe9g\xe8rement_petits ]}]\n[ legerement_petites {[ translation l\xe9g\xe8rement_petites ]}]\n\n[ brillant {[ translation bright ][ language french ]}]\n[ brillants {[ translation bright ][ language french ]}]\n//[ brillante {[ translation bright ][ language french ]}] // Conflicts with Spanish with different meaning.\n//[ brillantes {[ translation bright ][ language french ]}]\n[ tr\xe8s_brillant {[ translation very_bright ][ language french ]}]\n[ tr\xe8s_brillante {[ translation very_bright ][ language french ]}]\n[ tr\xe8s_brillants {[ translation very_bright ][ language french ]}]\n[ tr\xe8s_brillantes {[ translation very_bright ][ language french ]}]\n[ tres_brillant {[ translation tr\xe8s_brillant ]}]\n[ tres_brillante {[ translation tr\xe8s_brillante ]}]\n[ tres_brillants {[ translation tr\xe8s_brillants ]}]\n[ tres_brillantes {[ translation tr\xe8s_brillantes ]}]\n[ l\xe9g\xe8rement_brillant {[ translation slightly_bright ][ language french ]}]\n[ l\xe9g\xe8rement_brillante {[ translation slightly_bright ][ language french ]}]\n[ l\xe9g\xe8rement_brillants {[ translation slightly_bright ][ language french ]}]\n[ l\xe9g\xe8rement_brillantes {[ translation slightly_bright ][ language french ]}]\n[ legerement_brillant {[ translation l\xe9g\xe8rement_brillant ]}]\n[ legerement_brillante {[ translation l\xe9g\xe8rement_brillante ]}]\n[ legerement_brillants {[ translation l\xe9g\xe8rement_brillants ]}]\n[ legerement_brillantes {[ translation l\xe9g\xe8rement_brillantes ]}]\n\n[ gros {[ translation big ][ language french ]}]\n[ grosse {[ translation big ][ language [ german french ]]}]\n[ grosses {[ translation big ][ language french ]}]\n[ tr\xe8s_gros {[ translation very_big ][ language french ]}]\n[ tr\xe8s_grosse {[ translation very_big ][ language french ]}]\n[ tr\xe8s_grosses {[ translation very_big ][ language french ]}]\n[ tres_gros {[ translation tr\xe8s_gros ]}]\n[ tres_grosse {[ translation tr\xe8s_grosse ]}]\n[ tres_grosses {[ translation tr\xe8s_grosses ]}]\n[ l\xe9g\xe8rement_gros {[ translation slightly_big ][ language french ]}]\n[ l\xe9g\xe8rement_grosse {[ translation slightly_big ][ language french ]}]\n[ l\xe9g\xe8rement_grosses {[ translation slightly_big ][ language french ]}]\n[ legerement_gros {[ translation l\xe9g\xe8rement_gros ]}]\n[ legerement_grosse {[ translation l\xe9g\xe8rement_grosse ]}]\n[ legerement_grosses {[ translation l\xe9g\xe8rement_grosses ]}]\n\n[ court { [ translation short ][ language french ]}]\n[ courte { [ translation short ][ language french ]}]\n[ courts { [ translation short ][ language french ]}]\n[ courtes { [ translation short ][ language french ]}]\n\n[ longs { [ translation long ][ language french ]}]\n[ longue { [ translation long ][ language french ]}]\n[ longues { [ translation long ][ language french ]}]\n\n// German.\n[ knallgelb {[ translation lemon ][ language german ]}]\n[ knallgelbe {[ translation lemon ][ language german ]}]\n[ knallgelbes {[ translation lemon ][ language german ]}]\n\n[ kohle {[ translation charcoal ][ language german ]}]\n[ hellgr\xfcn {[ translation lime ][ language german ]}]\n[ hellgrun {[ translation hellgr\xfcn ]}]\n\n[ hellgr\xfcnes {[ translation lime ][ language german ]}]\n[ hellgrunes {[ translation hellgr\xfcnes ]}]\n[ hellgr\xfcne {[ translation lime ][ language german ]}]\n[ hellgrune {[ translation hellgr\xfcne ]}]\n\n[ hellgruene {[ translation lime ][ language german ]}]\n\n[ dunkel {[ translation dark ][ language german ]}]\n[ schwarz {[ translation dark ][ language german ]}]\n\n[ bl\xe4ttertanz {[ translation falling_leaves ][ language german ]}]\n[ blattertanz {[ translation bl\xe4ttertanz ]}]\n\n[ schwachem {[ translation dim ][ language german ]}]\n[ d\xe4mmrig {[ translation dim ][ language german ]}]\n[ dammrig {[ translation d\xe4mmrig ]}]\n[ blass {[ translation dim ][ language german ]}]\n\n[ sehr_dunkel {[ translation very_dim ][ language german ]}]\n\n[ bunt {[ translation multi_color ][ language german ]}]\n[ bunte {[ translation multi_color ][ language german ]}]\n[ bunten {[ translation multi_color ][ language german ]}]\n[ mehrfarbig {[ translation multi_color ][ language german ]}]\n[ mehrfarbigen {[ translation multi_color ][ language german ]}]\n[ farbige {[ translation multi_color ][ language german ]}]\n[ verschieden_farbigen {[ translation multi_color ][ language german ]}]\n[ orangenem { [ translation orange ][ language german ]}]\n[ orangenes { [ translation orange ][ language german ]}]\n\n[ platzhalter {[ translation placeholder ][ language german ]}]\n[ platte {[ translation plate ][ isPieceToken true ][ impliesCake true ] [ language german ]}]\n\n[ verbund {[ translation plate ][ isPieceToken true ][ impliesCake true ] [ language german ]}]\n[ verbundbatterie {[ translation plate ][ isPieceToken true ][ impliesCake true ] [ language german ]}]\n\n\n[ pflaume {[ translation plum ][ language german ]}]\n[ see_blau {[ translation sea_blue ][ language german ]}]\n\n[ seeblaues {[ translation sea_blue ][ language german ]}]\n[ seeblaue {[ translation sea_blue ][ language german ]}]\n[ pastelblaue {[ translation sea_blue ][ language german ]}]\n[ meerblaue {[ translation sea_blue ][ language german ]}]\n\n[ see_gr\xfcn {[ translation grass_green ][ language german ]}]\n[ see_grun {[ translation see_gr\xfcn ]}]\n\n[ seegr\xfcnes {[ translation grass_green ][ language german ]}]\n[ seegrunes {[ translation seegr\xfcnes ]}]\n\n[ seegruene {[ translation grass_green ][ language german ]}]\n[ pastel_gr\xfcn {[ translation grass_green ][ language german ]}]\n[ pastel_grun {[ translation pastel_gr\xfcn ]}]\n\n[ pastel_gruen {[ translation grass_green ][ language german ]}]\n[ pastelgr\xfcn {[ translation grass_green ][ language german ]}]\n[ pastelgrun {[ translation pastelgr\xfcn ]}]\n\n\n[ pendel {[ translation shuttle ][ language german ]}]\n[ etwas_heller {[ translation slightly_bright ][ language german ]}]\n[ heller {[ translation slightly_bright ][ language german ]}]\n[ etwas_dichter {[ translation slightly_dense ][ language german ]}]\n[ dichter {[ translation slightly_dense ][ language german ]}]\n[ etwas_dunkler {[ translation slightly_dim ][ language german ]}]\n[ dunkler {[ translation slightly_dim ][ language german ]}]\n[ etwas_l\xe4nger {[ translation slightly_long ][ language german ]}]\n[ etwas_langer {[ translation etwas_l\xe4nger ]}]\n[ l\xe4nger {[ translation slightly_long ][ language german ]}]\n[ langer {[ translation l\xe4nger ]}]\n[ etwas_k\xfcrzer {[ translation slightly_short ][ language german ]}]\n[ etwas_kurzer {[ translation etwas_k\xfcrzer ]}]\n[ k\xfcrzerer {[ translation slightly_short ][ language german ]}]\n[ kurzerer {[ translation k\xfcrzerer ]}]\n[ ausged\xfcnnt {[ translation slightly_sparse ][ language german ]}]\n[ ausgedunnt {[ translation ausged\xfcnnt ]}]\n[ d\xfcnner {[ translation slightly_thick ][ language german ]}]\n[ dunner {[ translation d\xfcnner ]}]\n[ d\xfcnnen {[ translation slightly_thick ][ language german ]}]\n[ dunnen {[ translation d\xfcnnen ]}]\n\n\n[ sehr_d\xfcnn {[ translation slightly_thin ][ language german ]}]\n[ sehr_dunn {[ translation sehr_d\xfcnn ]}]\n[ sehr_fein {[ translation slightly_thin ][ language german ]}]\n\n//dup[ dunn {[ translation d\xfcnn ]}]\n//dup[ spinne {[ translation spike ][ language german ]}]\n//dup[ spinnen {[ translation spike ][ language german ]}]\n[ obere_h\xe4lfte {[ translation top_half ][ language german ]}]\n[ obere_halfte {[ translation top_half ]}]\n[ leuchtspur {[ translation trail ][ language german ]}]\n[ sehr_schnell {[ translation ultrafast ][ language german ]}]\n\n[ h\xf6hen {[ translation aerial ][ language german ]}]\n[ hohen {[ translation h\xf6hen ]}]\n[ und {[ translation and ][ language german ]}]\n[ artillerie {[ translation artillery ][ language [ dutch german ]]}]\n[ trommel {[ translation barrel ][ language german ]}]\n\n[ bombetten {[ translation bombette ][ language [ dutch german ]]}]\n[ untere_h\xe4lfte {[ translation bottom_half ][ language german ]}]\n[ untere_halfte {[ translation untere_h\xe4lfte ]}]\n[ bowty_ringe {[ translation bowtie_rings ][ language german ]}]\n\n[ hell {[ translation bright ][ language german ]}]\n[ hellem {[ translation bright ][ language german ]}]\n[ hellen {[ translation bright ][ language german ]}]\n[ helles {[ translation bright ][ language german ]}]\n[ leuchtstarke {[ translation bright ][ language german ]}]\n[ leuchtstarkes {[ translation bright ][ language german ]}]\n[ farbintensiv {[ translation bright ][ language german ]}]\n\n\n[ b\xfcndel {[ translation bundle ][ language german ][ isPieceToken true ][ impliesCandle true ]}]\n[ bundel {[ translation bundle ][ language [ dutch german ]][ isPieceToken true ][ impliesCandle true ]}]\n//[ verbund {[ translation bundle ][ language german ][ isPieceToken true ][ impliesCandle true ]}]\n[ bombenrohr {[ translation candle ][ language german ][ isPieceToken true ][ impliesCandle true ]}]\n\n[ lichterb\xfcndel {[ translation candle ][ language german ][ isPieceToken true ][ impliesCandle true ]}]\n[ lichterbundel {[ translation lichterb\xfcndel ]}]\n[ lichterbuendel {[ translation candle ][ language german ][ isPieceToken true ][ impliesCandle true ]}]\n\n\n[ kokos {[ translation coco ][ language german ]}]\n[ cocotree {[ translation coconut ][ language german ]}]\n[ kokospalme {[ translation coconut ][ language german ]}]\n[ palmen {[ translation palm ][ language [ dutch german ]]}]\n\n\n[ konzentrische_ringe {[ translation concentric_rings ][ language german ]}]\n[ gekreutzte_ringe {[ translation cross_rings ][ language german ]}]\n[ zylinder {[ translation cylinder ][ language german ]}]\n[ zylinderbombe {[ translation cylinder ][ language german ]}]\n//dup need a new word[ dunkel {[ translation dark ][ language german ]}]\n[ dicht {[ translation dense ][ language [ dutch german ]]}]\n[ dichtem {[ translation dense ][ language german ]}]\n[ doppelte_halb_ringe {[ translation double_half_rings ][ language german ]}]\n[ acht {[ translation eight_times ][ language german ]}]\n[ feuerball {[ translation fireball ][ language german ]}]\n[ f\xfcnf {[ translation five_times ][ language german ]}]\n[ funf {[ translation f\xfcnf ]}]\n[ flammprojektor {[ translation flame_projector ][ language german ]}]\n[ flammenprojector {[ translation flame_projector ][ language german ]}]\n\n[ vier {[ translation four_times ][ language german ]}]\n[ sonnengelb {[ translation fresh_yellow ][ language german ]}]\n[ frisches_gelb {[ translation fresh_yellow ][ language german ]}]\n[ hellem_gelb {[ translation fresh_yellow ][ language german ]}]\n[ grasgr\xfcn {[ translation grass_green ][ language german ]}]\n[ grasgrun {[ translation grasgr\xfcn ]}]\n\n[ grasgr\xfcnes {[ translation grass_green ][ language german ]}]\n[ grasgrunes {[ translation grasgr\xfcnes ]}]\n[ grasgruenes {[ translation grass_green ][ language german ]}]\n\n[ zylinderflamme {[ translation ground_flare ][ language german ]}]\n[ bengalische_zylinderflamme {[ translation ground_flare ][ language german ]}]\n[ bodenblitz {[ translation ground_flash ][ language german ]}]\n[ titans\xe4ulenblitz {[ translation ground_flash ][ language german ]}]\n[ titansaulenblitz {[ translation titans\xe4ulenblitz ]}]\n[ boden_fotoflash {[ translation ground_photoflash ][ language german ]}]\n[ boden_photoflash {[ translation ground_photoflash ][ language german ]}]\n[ halber_ring {[ translation half_ring ][ language german ]}]\n[ herzform {[ translation heart_shape ][ language german ]}]\n[ herzf\xf6rmig {[ translation heart_shape ][ language german ]}]\n[ herzformig {[ translation herzf\xf6rmig ]}]\n\n[ herzbombe {[ translation heart_shape ][ language german ]}]\n[ herz {[ translation heart_shape ][ language german ]}]\n\n[ wasserfall {[ translation horsetail ][ language german ]}]\n[ wasserfallbombe {[ translation waterfall ][ language german ]}]\n\n[ kaleidoskop {[ translation stained_glass ][ language german ]}]\n//[ kaleidoskop {[ translation kaleidoscope ][ language german ]}]\n[ lichterbild {[ translation lancework ][ language german ]}]\n[ laser_komet {[ translation laser_comet ][ language german ]}]\n[ beweglich {[ translation mobiles ][ language german ]}]\n[ bewegliches {[ translation mobiles ][ language german ]}]\n[ neun {[ translation nine_times ][ language german ]}]\n[ ohne_schweif {[ translation no_trail ][ language german ]}]\n[ einmal {[ translation one_time ][ language german ]}]\n[ ein {[ translation one_time ][ language german ]}]\n[ \xe4ussere {[ translation outer ][ language german ]}]\n[ aussere {[ translation \xe4ussere ]}]\n[ au\xdfen {[ translation outer ][ language german ]}]\n[ aussen {[ translation au\xdfen ]}]\n[ blitz {[ translation photoflash ][ language german ]}]\n[ zentrum {[ translation pistil ][ language german ]}]\n[ steigzeit { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language german ]}]\n[ z\xfcndverz\xf6gerung { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language german ]}]\n[ zundverzogerung { [ translation z\xfcndverz\xf6gerung ]}]\n[ rakete {[ translation rocket ][ language german ]}]\n\n\n[ rubin {[ translation ruby ][ language german ]}]\n[ rubines {[ translation ruby ][ language german ]}]\n[ knallreote {[ translation ruby ][ language german ]}]\n[ knallrotes {[ translation ruby ][ language german ]}]\n\n\n\n[ sieben {[ translation seven_times ][ language german ]}]\n[ flimmernden {[ translation shimmering ][ language german ]}]\n[ flimmer {[ translation shimmering ][ language german ]}]\n[ flimmernde {[ translation shimmering ][ language german ]}]\n\n\n[ silberne_spitze {[ translation silver_tip ][ language german ]}]\n[ silbernen_spitzen {[ translation silver_tip ][ language german ]}]\n[ silberner_spitze {[ translation silver_tip ][ language german ]}]\n[ sechs {[ translation six_times ][ language german ]}]\n[ zischen {[ translation crackling ][ language german ]}]\n[ zischend {[ translation crackling ][ language german ]}]\n\n//[ zischen {[ translation sizzling ][ language german ]}]\n//[ zischend {[ translation sizzling ][ language german ]}]\n\n//[ st\xfcck { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n//[ stuck { [ translation st\xfcck ]}]\n//[ sue\xfcck { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n//[ sueuck { [ translation sue\xfcck ]}]\n[ kleine_buketts {[ translation crackle_flowers ][ language german ]}]\n[ knisterbuketts {[ translation crackle_flowers ][ language german ]}]\n\n[ rauchfrei {[ translation smokeless ][ language german ]}]\n[ flitternd {[ translation spangle ][ language german ]}]\n[ wenig {[ translation sparse ][ language german ]}]\n[ einigen {[ translation sparse ][ language german ]}]\n[ wenigen {[ translation sparse ][ language german ]}]\n[ blinkend {[ translation strobing ][ language german ]}]\n[ blink {[ translation strobing ][ language german ]}]\n[ blinkendes {[ translation strobing ][ language german ]}]\n[ blinkendem {[ translation strobing ][ language german ]}]\n\n//dup[ blinkend {[ translation flashing ][ language german ]}]\n\n[ aufblitzendem {[ translation flashing ][ language german ]}]\n[ blitzendem {[ translation flashing ][ language german ]}]\n\n[ sonnenblume {[ translation sunflower ][ language german ]}]\n[ zehn {[ translation ten_times ][ language german ]}]\n[ dick {[ translation thick ][ language german ]}]\n[ dickem {[ translation thick ][ language german ]}]\n\n[ d\xfcnn {[ translation thin ][ language german ]}]\n[ dunn {[ translation d\xfcnn ]}]\n[ drei\xdfig {[ translation thirty_times ][ language german ]}]\n[ dreissig {[ translation drei\xdfig ]}]\n[ drei {[ translation three_times ][ language german ]}]\n[ titan { [ translation titanium ][ language spanish ]}]\n[ titanknall {[ translation titanium_report ][ language german ]}]\n[ ragettenbukett {[ translation titanium_report ][ language german ]}]\n[ titan_salut {[ translation titanium_salute ][ language german ]}]\n[ ti_salut {[ translation titanium_salute ][ language german ]}]\n[ dreifach_konzentrische_ringe {[ translation triple_concentric_rings ][ language german ]}]\n[ dreifach_gekreutzte_ringe {[ translation triple_cross_rings ][ language german ]}]\n[ dreifach_halb_ringe {[ translation triple_half_rings ][ language german ]}]\n[ dreifach_ringe {[ translation triple_rings ][ language german ]}]\n[ t\xfcrkis {[ translation turquoise ][ language german ]}]\n[ turkis {[ translation t\xfcrkis ]}]\n[ t\xfcrkise {[ translation turquoise ][ language german ]}]\n[ turkise {[ translation t\xfcrkise ]}]\n[ tuerkise {[ translation turquoise ][ language german ]}]\n[ t\xfcrkisen {[ translation turquoise ][ language german ]}]\n[ turkisen {[ translation t\xfcrkisen ]}]\n[ t\xfcrkisem {[ translation turquoise ][ language german ]}]\n[ turkisem {[ translation t\xfcrkisem ]}]\n\n\n[ zwanzig {[ translation twenty_times ][ language german ]}]\n[ dunkel_glitternd {[ translation twilight_glitter ][ language german ]}]\n\n[ funkelnd {[ translation twinkling ][ language german ]}]\n[ funkelnde {[ translation twinkling ][ language german ]}]\n[ funkelnden {[ translation twinkling ][ language german ]}]\n[ funkelndes {[ translation twinkling ][ language german ]}]\n\n\n[ gl\xe4nzend {[ translation glittering ][ language german ]}]\n[ glanzend {[ translation gl\xe4nzend ]}]\n[ glitzernden {[ translation glittering ][ language german ]}]\n[ glitzernd {[ translation glittering ][ language german ]}]\n[ gl\xe4nzendem {[ translation glittering ][ language german ]}]\n[ glanzendem {[ translation gl\xe4nzendem ]}]\n\n[ zwei {[ translation two_times ][ language german ]}]\n[ schirm {[ translation umbrella ][ language german ]}]\n[ sehr_hell {[ translation very_bright ][ language german ]}]\n[ sehr_hellen {[ translation very_bright ][ language german ]}]\n[ sehr_hellem {[ translation very_bright ][ language german ]}]\n[ starklicht {[ translation very_bright ][ language german ]}]\n[ leuchtintensive {[ translation very_bright ][ language german ]}]\n[ sehr_dicht {[ translation very_dense ][ language german ]}]\n[ sehr_langen {[ translation very_long ][ language german ]}]\n[ sehr_langem {[ translation very_long ][ language german ]}]\n[ langziehenden {[ translation very_long ][ language german ]}]\n[ langziehende {[ translation very_long ][ language german ]}]\n\n[ sehr_kurz {[ translation very_short ][ language german ]}]\n[ sehr_kurze {[ translation very_short ][ language german ]}]\n[ sehr_wenig {[ translation very_sparse ][ language german ]}]\n[ sehr_dickem {[ translation very_thick ][ language german ]}]\n[ sehr_dicken {[ translation very_thick ][ language german ]}]\n[ sehr_d\xfcnnen {[ translation very_thin ][ language german ]}]\n[ sehr_dunnen {[ translation sehr_d\xfcnnen ]}]\n[ welle {[ translation wave ][ language german ]}]\n[ schweifstern {[ translation wave ][ language german ]}]\n\n\n[ rad {[ translation wheel ][ language german ]}]\n[ sonne {[ translation wheel ][ language german ]}]\n[ sonnenrad {[ translation wheel ][ language german ]}]\n[ dahlien {[ translation dahlia ][ language german ]}]\n[ dahlie {[ translation dahlia ][ language german ]}]\n\n\n[ fliegende_bienen {[ translation bees ][ language german ]}]\n[ bienen {[ translation bees ][ language german ]}]\n[ blau {[ translation blue ][ language german ]}]\n[ blauem {[ translation blue ][ language german ]}]\n[ blauer {[ translation blue ][ language german ]}]\n[ blauen {[ translation blue ][ language german ]}]\n\n\n//[ bunte {[ translation variegated ][ language german ]}]\n[ verschieden {[ translation variegated ][ language german ]}]\n\n[ gemischt {[ translation mixed ][ language german ]}]\n[ gemischte {[ translation mixed ][ language german ]}]\n[ gemischtem {[ translation mixed ][ language german ]}]\n\n[ cracklingspinne {[ translation [ crackling spider ]][ language german ]}]\n[ spinne {[ translation spider ][ language german ]}]\n[ spinnen {[ translation spider ][ language [ dutch german ]]}]\n[ blitzknall {[ translation salute ][ language german ]}]\n[ kette { [ translation chain ][ isPieceToken true ][ language german ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ ketten { [ translation chain ][ isPieceToken true ][ language german ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ font\xe4ne {[ translation fountain ][ language german ]}]\n//[ fontane {[ translation font\xe4ne ]}] // Conflicts with Italian.\n[ font\xe4nen {[ translation fountain ][ language german ]}]\n[ fontanen {[ translation font\xe4nen ]}]\n[ lanze {[ translation gerb ][ language german ]}]\n\n[ lanzenlicht {[ translation gerb ][ language german ]}]\n\n[ knall {[ translation report ][ language german ]}]\n[ knallen {[ translation report ][ language [ dutch german ]]}]\n[ brokat {[ translation brocade ][ language [ polish german ]]}]\n[ dar\xfcber {[ translation above ][ language german ]}]\n[ daruber {[ translation dar\xfcber ]}]\n[ oberhalb {[ translation above ][ language german ]}]\n[ leuchtkugel {[ translation pearl ][ language german ]}]\n[ leuchtkugeln {[ translation pearl ][ language german ]}]\n[ krossette {[ translation crossette ][ language [ dutch german ]]}]\n[ krosetts {[ translation crossette ][ language german ]}]\n[ crossetts {[ translation crossette ][ language german ]}]\n[ crossett {[ translation crossette ][ language german ]}]\n[ wirbel {[ translation whirls ][ language german ]}]\n[ schmetterling {[ translation butterfly ][ language german ]}]\n[ schmetterlings {[ translation butterfly ][ language german ]}]\n[ r\xf6misches_licht {[ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language german ]}]\n[ romisches_licht {[ translation r\xf6misches_licht ]}]\n[ r\xf6m_licht {[ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language german ]}]\n[ rom_licht {[ translation r\xf6m_licht ]}]\n\n[ r\xf6misches_lichterb\xfcndel {[ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language german ]}]\n[ romisches_lichterbundel {[ translation r\xf6misches_lichterb\xfcndel ]}]\n\n\n[ doppelte_ringe {[ translation double_rings ][ language german ]}]\n//[ 2_fach_ringe {[ translation double_rings ][ language german ]}]\n[ crackling_wolke {[ translation popcorn_crackle ][ language german ]}]\n[ f\xe4cher {[ translation fan ][ isPieceToken true ] [ impliesCake true ][ impliesRowFiringPatterns true ][ language german ]}]\n[ facher {[ translation f\xe4cher ]}]\n\n[ gef\xe4cherte {[ translation fan ][ isPieceToken true ] [ impliesCake true ][ impliesRowFiringPatterns true ][ language german ]}]\n[ gefacherte {[ translation gef\xe4cherte ]}]\n[ f\xe4cherbatterie {[ translation fan ][ isPieceToken true ] [ impliesCake true ][ impliesRowFiringPatterns true ][ language german ]}]\n[ facherbatterie {[ translation f\xe4cherbatterie ]}]\n\n[ goldener_spitze {[ translation gold_tip ][ language german ]}]\n[ halb_halb {[ translation half_and_half ][ language german ]}]\n[ leise {[ translation silent ][ language german ]}]\n[ ruhig {[ translation silent ][ language german ]}]\n[ stilles {[ translation silent ][ language german ]}]\n[ still {[ translation silent ][ language german ]}]\n\n[ klein {[ translation small ][ language [ dutch german ]]}]\n[ kleine {[ translation small ][ language german ]}]\n[ gro\xdf {[ translation big ][ language german ]}]\n[ gross {[ translation gro\xdf]}]\n[ gro\xdfe {[ translation big ][ language german ]}] // Sorry, grosse is a French word also.\n[ gro\xdfen {[ translation big ][ language german ]}] // Sorry, grosse is a French word also.\n[ grossen {[ translation gro\xdfen ]}]\n[ gro\xdfem {[ translation big ][ language german ]}] // Sorry, grosse is a French word also.\n[ grossem {[ translation gro\xdfem ]}]\n\n\n[ sehr_klein {[ translation very_small ][ language german ]}]\n[ sehr_kleine {[ translation very_small ][ language german ]}]\n[ sehr_gro\xdf {[ translation very_big ][ language german ]}]\n[ sehr_gross {[ translation sehr_gro\xdf]}]\n[ riesigen {[ translation very_big ][ language german ]}]\n[ etwas_kleineren {[ translation slightly_small ][ language german ]}]\n[ etwas_gr\xf6\xdferen {[ translation slightly_big ][ language german ]}]\n[ etwas_grosseren {[ translation etwas_gr\xf6\xdferen ]}]\n[ blinklanzen {[ translation ground_strobe ][ language german ]}]\n[ bodenblinker {[ translation ground_strobe ][ language german ]}]\n[ schweif {[ translation tail ][ language german ]}]\n[ aufstieg {[ translation tail ][ language german ]}]\n\n[ gelb {[ translation yellow ][ language german ]}]\n[ gelben {[ translation yellow ][ language german ]}]\n[ gelbe {[ translation yellow ][ language german ]}]\n\n[ pfeifen {[ translation whistles ][ language german ]}]\n[ heuler {[ translation whistles ][ language german ]}]\n[ heulern {[ translation whistles ][ language german ]}]\n\n[ himmelblaue {[ translation sky_blue ][ language german ]}]\n[ himmelblaues {[ translation sky_blue ][ language german ]}]\n[ himmelsblauen {[ translation sky_blue ][ language german ]}]\n[ himmlesblau {[ translation sky_blue ][ language german ]}]\n\n[ purpur {[ translation purple ][ language german ]}]\n[ purpure {[ translation purple ][ language german ]}]\n[ purpures {[ translation purple ][ language german ]}]\n\n[ violett {[ translation violet ][ language german ]}]\n\n[ violettem {[ translation violet ][ language german ]}]\n\n\n[ zitronengelb {[ translation lemon ][ language german ]}]\n[ zitronengelbes {[ translation lemon ][ language german ]}]\n[ citro {[ translation lemon ][ language german ]}]\n\n\n\n[ goldenem {[ translation gold ][ language german ]}]\n[ goldene {[ translation gold ][ language german ]}]\n[ goldener {[ translation gold ][ language german ]}]\n\n[ pinken {[ translation pink ][ language german ]}]\n[ pinkes {[ translation pink ][ language german ]}]\n[ pinkem {[ translation pink ][ language german ]}]\n\n\n[ regenbogen {[ translation rainbow ][ language [ dutch german ]]}]\n[ gleiche_farbe {[ translation same_color ][ language german ]}]\n[ farbrein {[ translation same_color ][ language german ]}]\n[ farbreinem {[ translation same_color ][ language german ]}]\n[ farbreines {[ translation same_color ][ language german ]}]\n\n[ saphir {[ translation blue ][ language german ]}]\n[ flamm_projektor {[ translation flame_projector ][ language german ]}]\n[ mehrschlag {[ translation shell_of_shells ][ language german ]}]\n[ mehrschlagbombe {[ translation shell_of_shells ][ language german ]}]\n\n[ schu\xdf {[ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language german ]}]\n[ schuss {[ translation Schu\xdf]}]\n[ shu\xdf {[ translation Schu\xdf]}]\n[ shuss {[ translation Schu\xdf]}]\n\n//[ sekunden {[ translation s ][ isPieceTokenIfFollowsNumber true ][ isPartToken true ] [ isSeconds true ] [ isSpecialDimensionalProperty true ][ language german ]}]\n//[ sekunde {[ translation s ][ isPieceTokenIfFollowsNumber true ][ isPartToken true ] [ isSeconds true ] [ isSpecialDimensionalProperty true ][ language german ]}]\n[ kometen {[ translation comet ][ language [ dutch german ]]}]\n[ komet {[ translation comet ][ language german ]}]\n\n[ aufsteigende {[ translation rising ][ language german ]}]\n[ aufsteigendes {[ translation rising ][ language german ]}]\n[ aufsteigendem {[ translation rising ][ language german ]}]\n\n[ zu {[ translation to ][ language german ]}]\n[ mit_verwandlung {[ translation to ][ language german ]}]\n\n[ roter {[ translation red ][ language german ]}]\n[ rote {[ translation red ][ language german ]}]\n[ rot {[ translation red ][ language german ]}]\n[ rotes {[ translation red ][ language german ]}]\n[ rotem {[ translation red ][ language german ]}]\n\n[ mit {[ translation wi ][ language german ]}]\n[ blaues {[ translation blue ][ language german ]}]\n[ einzelner_schuss {[ translation single_shot ][ impliesCandle true ][ language german ]}]\n[ einzelnerschuss {[ translation single_shot ][ impliesCandle true ][ language german ]}]\n[ weide {[ translation willow ][ language german ]}]\n[ trauerweide {[ translation willow ][ language german ]}]\n\n[ silbern {[ translation silver ][ language german ]}]\n[ silberne {[ translation silver ][ language german ]}]\n[ silbernes {[ translation silver ][ language german ]}]\n[ silber {[ translation silver ][ language german ]}]\n[ silbernen {[ translation silver ][ language german ]}]\n[ silbernem {[ translation silver ][ language german ]}]\n\n\n[ feuertopf {[ translation mine ][ language german ]}]\n\n[ gr\xfcn {[ translation green ][ language german ]}]\n[ grun {[ translation gr\xfcn ]}]\n\n[ gruene {[ translation green ][ language german ]}]\n[ gruenes {[ translation green ][ language german ]}]\n[ gruen {[ translation green ][ language german ]}]\n[ gruenem {[ translation green ][ language german ]}]\n[ gr\xfcnem {[ translation green ][ language german ]}]\n[ grunem {[ translation gr\xfcnem ]}]\n[ gr\xfcne {[ translation green ][ language german ]}]\n[ grune {[ translation gr\xfcne ]}]\n[ gr\xfcnes {[ translation green ][ language german ]}]\n[ grunes {[ translation gr\xfcnes ]}]\n\n\n[ cracklings_wolke {[ translation popcorn_crackle ][ language german ]}]\n[ fische {[ translation flying_fish ][ language german ]}]\n[ fliegende_fische {[ translation flying_fish ][ language german ]}]\n\n[ krone {[ translation crown ][ language german ]}]\n[ wei\xdf {[ translation white ][ language german ]}]\n[ weiss {[ translation wei\xdf]}]\n\n[ wei\xdfen {[ translation white ][ language german ]}]\n[ weissen {[ translation wei\xdfen ]}]\n[ wei\xdfe {[ translation white ][ language german ]}]\n[ weisse {[ translation wei\xdfe ]}]\n[ wei\xdfem {[ translation white ][ language german ]}]\n[ weissem {[ translation wei\xdfem ]}]\n[ wei\xdfes {[ translation white ][ language german ]}]\n[ weisses {[ translation wei\xdfes ]}]\n\n[ z_form { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n[ x_form { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n[ c_form { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n[ w_form { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n[ v_form { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language german ]}]\n[ kurz {[ translation short ][ language german ]}]\n[ lang {[ translation long ][ language [ dutch german ]]}]\n\n\n[ gld {[ translation gold ]}] // Don\'t give it language tag or it will be used as derived color.\n[ broc {[ translation brocade ]}] // Don\'t give it language tag or it will be used as derived subtype.\n[ flitter {[ translation glittering ][ language english ]}]\n\n// Hungarian\n[ k\xe9k { [ translation blue ][ language [ hungarian ]]}]\n\n// Spanish.\n\n[ abejas {[ translation bees ][ language spanish ]}]\n[ abejitas {[ translation bees ][ language spanish ]}]\n[ jumpy {[ translation bees ][ language spanish ]}]\n[ jumpies {[ translation bees ][ language spanish ]}]\n[ mo\xf1o {[ translation bowtie ][ language spanish ]}]\n[ mono {[ translation mo\xf1o ]}]\n[ amarillo_pollo { [ translation lemon ][ language spanish ]}]\n[ fiusha {[ translation fucsia ]}]\n[ canastilla { [ translation girandola ][ language spanish ]}]\n\n[ ufo { [ translation girandola ][ language [ english spanish portuguese ]]}]\n[ rueda_aerea { [ translation girandola ][ language spanish ]}]\n[ ruedas_aereas { [ translation girandola ][ language spanish ]}]\n\n[ canastilla_voladora { [ translation girandola ][ language spanish ]}]\n[ letrero { [ translation lancework ][ language spanish ]}]\n[ piroletrero { [ translation lancework ][ language spanish ]}]\n[ letreros { [ translation lancework ][ language spanish ]}]\n[ piroletreros { [ translation lancework ][ language spanish ]}]\n\n\n[ show_de_medianoche { [ translation midnight_snow ][ language spanish ]}]\n[ nevada_de_medianoche { [ translation midnight_snow ][ language spanish ]}]\n\n[ show_de_media_noche { [ translation midnight_snow ][ language spanish ]}]\n[ nevada_de_media_noche { [ translation midnight_snow ][ language spanish ]}]\n\n[ espect\xe1culo_de_noche { [ translation midnight_snow ][ language spanish ]}]\n[ espectaculo_de_noche { [ translation espect\xe1culo_de_noche ]}]\n\n[ durazno { [ translation peach ][ language spanish ]}]\n[ cacahuate { [ translation peanut_shell ][ language spanish ]}]\n[ ascendente { [ translation rising ][ language [ italian spanish ]]}]\n[ ascendentes { [ translation rising ][ language spanish ]}]\n[ parpadeante { [ translation twilight_glitter ][ language spanish ]}]\n[ parpadeantes { [ translation twilight_glitter ][ language spanish ]}]\n[ parpadeo { [ translation twinkling ][ language spanish ]}]\n[ sauce_llor\xf3n { [ translation willow ][ language spanish ]}]\n[ sauce_lloron { [ translation sauce_llor\xf3n ]}]\n\n[ diente_de_le\xf3n {[ translation dandelion ][ language spanish ]}]\n[ diente_de_leon {[ translation diente_de_le\xf3n ]}]\n[ girasol {[ translation sunflower ] [ language [ portuguese spanish ]]}]\n//fixme:removeme[ otro {[ translation other ] [ language spanish ]}]\n[ pot_estrobo {[ translation ground_strobe ] [ language spanish ]}] \n[ luz_estrobo {[ translation ground_flare ] [ language spanish ]}] \n[ voladores {[ translation flying_fish ] [ language spanish ]}] \n[ voladora {[ translation flying_fish ] [ language spanish ]}] \n\n[ pececitos_volante {[ translation flying_fish ] [ language spanish ]}] \n[ pececitos_voladores {[ translation flying_fish ] [ language spanish ]}] \n\n\n[ monolinea {[ translation slice ][ isPieceToken true ] [ language spanish ][ impliesCake true ]}] \n\n[ trozo {[ translation slice ][ isPieceToken true ] [ language spanish ][ impliesCake true ]}] \n[ tira {[ translation slice ][ isPieceToken true ] [ language spanish ][ impliesCake true ]}] \n[ tir\xe1s {[ translation slice ][ isPieceToken true ] [ language spanish ][ impliesCake true ]}] \n[ trozos {[ translation slice ][ isPieceToken true ] [ language spanish ][ impliesCake true ]}] \n\n[ cohete {[ translation rocket ] [ language spanish ]}] \n[ cohetes {[ translation rocket ] [ language spanish ]}] \n[ cuete {[ translation rocket ] [ language spanish ]}] \n[ cuetes {[ translation rocket ] [ language spanish ]}] \n[ bombet {[ translation bombette ] [ language spanish ]}] \n[ bombeta {[ translation bombette ] [ language spanish ]}] \n[ bombetas {[ translation bombette ] [ language spanish ]}] \n[ flocada {[ translation bombette ] [ language spanish ]}] \n[ flocadas {[ translation bombette ] [ language spanish ]}] \n[ carcasita {[ translation bombette ] [ language [ portuguese spanish ]]}] \n[ carcasitas {[ translation bombette ] [ language [ portuguese spanish ]]}] \n\n[ coraz\xf3n {[ translation heart_shape ] [ language spanish ]}] \n[ corazon {[ translation coraz\xf3n ]}] \n[ corazones {[ translation heart_shape ] [ language spanish ]}] \n\n[ carb\xf3n {[ translation charcoal ] [ language spanish ]}]\n[ carbon {[ translation carb\xf3n ]}]\n[ estrobo {[ translation strobing ] [ language spanish ]}]\n[ estobo { [ translation estrobo ]}] // Misspelling. \n\n[ estroboscopico {[ translation strobing ] [ language spanish ]}]\n[ estrober {[ translation strobing ] [ language spanish ]}]\n[ p\xfarpura { [ translation purple ][ language spanish ]}]\n[ purpura { [ translation p\xfarpura ]}]\n[ morado { [ translation purple ][ language spanish ]}]\n\n//[ p\xfarpuro { [ translation purple ][ language spanish ]}] // Gil says no.\n//[ purpuro { [ translation p\xfarpuro ]}]\n[ azul { [ translation blue ][ language [ portuguese spanish ]]}]\n[ azule { [ translation blue ][ language spanish ]}]\n[ azuls { [ translation blue ][ language spanish ]}]\n[ azules { [ translation blue ][ language spanish ]}]\n[ blanco { [ translation white ][ language spanish ]}]\n[ blanca { [ translation white ][ language spanish ]}]\n[ blancos { [ translation white ][ language spanish ]}]\n[ blancas { [ translation white ][ language spanish ]}]\n[ kraker { [ translation crackling ][ language spanish ]}]\n[ craker { [ translation crackling ][ language spanish ]}]\n[ cracker { [ translation crackling ][ language [ portuguese spanish ]]}]\n[ kracker { [ translation crackling ][ language spanish ]}]\n[ crackers { [ translation crackling ][ language spanish ]}]\n[ craqueante { [ translation crackling ][ language spanish ]}]\n[ titanio { [ translation titanium ][ language [ italian spanish portuguese ]]}]\n[ tit\xe1nio { [ translation titanium ][ language spanish ]}]\n\n[ palmera { [ translation palm ][ language spanish ]}]\n[ palmeras { [ translation palm ][ language spanish ]}]\n[ aro { [ translation ring ][ language spanish ]}]\n[ aros { [ translation ring ][ language spanish ]}]\n[ centro { [ translation core ][ language [ portuguese spanish italian ]]}]\n[ centros { [ translation core ][ language [ portuguese spanish italian ]]}]\n[ roja {[ translation red ] [ language spanish ]}]\n[ rojas {[ translation red ] [ language spanish ]}]\n[ rojo {[ translation red ] [ language spanish ]}]\n[ rojos {[ translation red ] [ language spanish ]}]\n[ verde { [ translation green ][ language [ italian spanish portuguese ]]}]\n[ ve { [ translation green ][ language [ italian spanish ]]}]\n[ verdes { [ translation green ][ language [ italian spanish portuguese ]]}]\n[ caleidoscopio { [ translation stained_glass ][ language spanish ]}]\n//[ caleidoscopio { [ translation kaleidoscope ][ language spanish ]}]\n[ saturno { [ translation saturn ][ language [ italian spanish portuguese ]]}]\n[ naranja { [ translation orange ][ language spanish ]}]\n//[ naranjo { [ translation orange ][ language spanish ]}] // Is fruit, not color?\n[ con { [ translation wi ][ language [ italian spanish ]]}]\n[ cometa { [ translation comet ][ language [ italian spanish portuguese ]]}]\n[ cometas { [ translation comet ][ language [ italian spanish portuguese ]]}]\n[ mina {[ translation mine ] [ language [ spanish polish ]]}]\n[ minas {[ translation mine ] [ language spanish ]}]\n[ carcasa {[ translation shell ][ language spanish ]}]\n[ carcasas {[ translation shell ][ language spanish ]}]\n[ carcasses {[ translation shell ][ language spanish ]}]\n[ carcassa {[ translation shell ][ language spanish ]}]\n\n[ bomba {[ translation shell ][ language [ portuguese spanish polish ]]}]\n[ bombas {[ translation shell ][ language [ portuguese spanish ]]}]\n\n[ lita { [ translation to ][ language [ italian french spanish ]]}] // [ literal ] handled specially.\n[ lite { [ translation and ][ language [ portuguese italian ]]}] // [ literal ] handled specially.\n[ lity { [ translation and ][ language [ italian spanish ]]}] // [ literal ] handled specially.\n[ punta_plata { [ translation punta_de_plata ]}] // Add the preposition that ought to be there.\n//[ punta_oro { [ translation punta_de_oro ]}] // Conflicts with Italian. // Add the preposition that ought to be there.\n[ punta_de_plata { [ translation silver_tip ][ language spanish ]}]\n[ punta_plateada { [ translation silver_tip ][ language spanish ]}]\n[ punta_de_oro { [ translation gold_tip ][ language spanish ]}]\n[ de_plata { [ translation silver ][ language spanish ]}]\n[ plata { [ translation silver ][ language spanish ]}]\n[ de_oro { [ translation gold ][ language spanish ]}]\n//bad idea[ plata { [ translation de_plata ]}] // Add the preposition that ought to be there.\n//[ oro { [ translation de_oro ]}] // Conflicts with Italian\n[ saludo { [ translation salute ][ language spanish ]}]\n[ saludos { [ translation salute ][ language spanish ]}]\n[ trueno { [ translation salute ][ language spanish ]}]\n[ truenos { [ translation trueno ]}]\n[ cadena { [ translation chain ][ isPieceToken true ][ language spanish ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ retardo { [ translation chain ][ isPieceToken true ][ language spanish ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ entrada { [ translation chain ][ isPieceToken true ][ language spanish ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ mecanizado { [ translation chain ][ isPieceToken true ][ language spanish ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ rueda { [ translation wheel ][ language spanish ]}]\n[ ruedas { [ translation wheel ][ language spanish ]}]\n\n//[ cracklingspinne { [ translation chain ][ isPieceToken true ][ language spanish ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n\n[ secuencia { [ translation cadena ]}]\n[ cadena_de { [ translation cadena ]}]\n[ cadenas_de { [ translation cadena ]}]\n[ secuencia_de { [ translation cadena ]}]\n[ espoleteado { [ translation cadena ]}] // Pyro term\n[ espoleteada { [ translation cadena ]}] // Pyro term\n[ cara_feliz { [ translation smiley_face ][ language spanish ]}]\n[ cara_sonriente { [ translation smiley_face ][ language spanish ]}]\n\n[ carita_feliz { [ translation smiley_face ][ language spanish ]}]\n[ carita { [ translation carita_feliz ]}] // Normalize to carita_feliz.\n[ cara { [ translation cara_feliz ]}] // Normalize to cara_feliz.\n[ fuente { [ translation fountain ][ language spanish ]}]\n[ fuentes { [ translation fountain ][ language spanish ]}]\n[ carretilla { [ translation fountain ][ language spanish ]}]\n[ carretillas { [ translation fountain ][ language spanish ]}]\n[ carretilla_arbo\xe7 { [ translation fountain ][ language spanish ]}]\n\n[ fuente_de_chispas { [ translation fountain ][ language spanish ]}]\n[ volc\xe1n { [ translation mine ][ language spanish ]}]\n[ volcan { [ translation mine ][ language [ french spanish ]]}]\n[ volcans { [ translation mine ][ language [ french spanish ]]}]\n[ cracker_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ cracker_de_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ craker_flor { [ translation crackle_flowers ][ language spanish ]}]\n\n[ craker_crys { [ translation crackle_flowers ][ language spanish ]}]\n[ craker_cris { [ translation crackle_flowers ][ language spanish ]}]\n[ craker_crisantemo { [ translation crackle_flowers ][ language spanish ]}]\n[ kraker_crys { [ translation crackle_flowers ][ language spanish ]}]\n[ kraker_cris { [ translation crackle_flowers ][ language spanish ]}]\n[ kraker_crisantemo { [ translation crackle_flowers ][ language spanish ]}]\n[ cracker_crys { [ translation crackle_flowers ][ language spanish ]}]\n[ cracker_cris { [ translation crackle_flowers ][ language spanish ]}]\n[ cracker_crisantemo { [ translation crackle_flowers ][ language spanish ]}]\n[ craker_dragon { [ translation dragon_eggs ][ language spanish ]}]\n[ kraker_dragon { [ translation dragon_eggs ][ language spanish ]}]\n[ cracker_dragon { [ translation dragon_eggs ][ language spanish ]}]\n[ craker_dragones { [ translation dragon_eggs ][ language spanish ]}]\n[ kraker_dragones { [ translation dragon_eggs ][ language spanish ]}]\n[ cracker_dragones { [ translation dragon_eggs ][ language spanish ]}]\n[ craker_colgante { [ translation time_rain ][ language spanish ]}]\n[ kraker_colgante { [ translation time_rain ][ language spanish ]}]\n[ cracker_colgante { [ translation time_rain ][ language spanish ]}]\n[ craker_colgantes { [ translation time_rain ][ language spanish ]}]\n[ kraker_colgantes { [ translation time_rain ][ language spanish ]}]\n[ cracker_colgantes { [ translation time_rain ][ language spanish ]}]\n\n[ craker_de_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ kraker_de_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ kraker_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ craqueante_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ craqueante_de_flor { [ translation crackle_flowers ][ language spanish ]}]\n[ reporte { [ translation report ][ language spanish ]}]\n[ requinto { [ translation report ][ language spanish ]}]\n[ torbellino { [ translation tourbillions ][ language spanish ]}]\n[ torbellinos { [ translation tourbillions ][ language spanish ]}]\n[ brocado { [ translation brocade ][ language [ portuguese spanish ]]}]\n[ brocada { [ translation brocade ][ language spanish ]}]\n[ hojas { [ translation hojas_callendo ]}] // Normalize to include "falling".\n[ hojas_callendo { [ translation falling_leaves ][ language spanish ]}]\n[ variado { [ translation variegated ][ language [ portuguese spanish ]]}]\n[ variados { [ translation variegated ][ language [ portuguese spanish ]]}]\n[ variada { [ translation variegated ][ language [ portuguese spanish ]]}]\n[ variadas { [ translation variegated ][ language [ portuguese spanish ]]}]\n[ flama { [ translation ground_flare ][ language spanish ]}]\n[ llamarada { [ translation ground_flare ][ language spanish ]}]\n[ pote_de_llamarada { [ translation ground_flare ][ language spanish ]}]\n[ pote_de_flama { [ translation ground_flare ][ language spanish ]}]\n[ brillante { [ translation bright ][ language [ italian spanish french ]]}]\n[ brillantes { [ translation bright ][ language [ spanish french ]]}]\n\n[ paraca\xeddas { [ translation parachutes ][ language [ spanish ]]}]\n[ paracaidas { [ translation paraca\xeddas ]}]\n[ micromina { [ translation mine ][ language [ spanish ]]}]\n[ microminas { [ translation micromina ]}]\n\n[ photon { [ translation ground_photoflash ][ language [ spanish english ]]}]\n\n\n\n[ cola_de_caballo { [ translation horsetail ][ language spanish ]}]\n[ cola_caballo { [ translation horsetail ][ language spanish ]}]\n[ cola_caball { [ translation horsetail ][ language spanish ]}]\n[ cola_cab { [ translation horsetail ][ language spanish ]}]\n[ prefuego { [ translation prefire ][ language spanish ][ isPieceToken true ] [ isPartToken true ] [ isSpecialDimensionalProperty true ]}]\n\n[ pre_ascensi\xf3n { [ translation prefire ][ language spanish ][ isPieceToken true ] [ isPartToken true ] [ isSpecialDimensionalProperty true ]}]\n[ pre_ascension { [ translation pre_ascensi\xf3n ]}]\n\n\n[ una_vez { [ translation one_time ][ language spanish ]}]\n[ dos_veces { [ translation two_times ][ language spanish ]}]\n[ tres_veces { [ translation three_times ][ language spanish ]}]\n[ cuatro_veces { [ translation four_times ][ language spanish ]}]\n[ cinco_veces { [ translation five_times ][ language spanish ]}]\n[ seis_veces { [ translation six_times ][ language spanish ]}]\n[ siete_veces { [ translation seven_times ][ language spanish ]}]\n[ ocho_veces { [ translation eight_times ][ language spanish ]}]\n[ nueve_veces { [ translation nine_times ][ language spanish ]}]\n[ diez_veces { [ translation ten_times ][ language spanish ]}]\n[ una_tiempo { [ translation one_time ][ language spanish ]}]\n[ dos_tiempos { [ translation two_times ][ language spanish ]}]\n[ tres_tiempos { [ translation three_times ][ language spanish ]}]\n[ cuatro_tiempos { [ translation four_times ][ language spanish ]}]\n[ cinco_tiempos { [ translation five_times ][ language spanish ]}]\n[ seis_tiempos { [ translation six_times ][ language spanish ]}]\n[ siete_tiempos { [ translation seven_times ][ language spanish ]}]\n[ ocho_tiempos { [ translation eight_times ][ language spanish ]}]\n[ nueve_tiempos { [ translation nine_times ][ language spanish ]}]\n[ diez_tiempos { [ translation ten_times ][ language spanish ]}]\n[ arriba { [ translation above ][ language spanish ]}]\n[ encima { [ translation above ][ language spanish ]}]\n[ perla { [ translation pearl ][ language [ italian spanish maltese ]]}]\n[ perlas { [ translation pearl ][ language [ italian spanish ]]}]\n[ meteoro { [ translation meteor ][ language [ portuguese spanish ]]}]\n[ meteoros { [ translation meteor ][ language [ portuguese spanish ]]}]\n//Conflicts with dutch [ met { [ translation meteor ][ language spanish ]}]\n[ crosete { [ translation crossette ][ language [ portuguese spanish ]]}]\n[ crosette { [ translation crossette ][ language english ]}]\n//[ cruzados { [ translation crossette ][ language spanish ]}]\n//[ cruzada { [ translation crossette ][ language spanish ]}]\n//[ cruzadas { [ translation crossette ][ language spanish ]}]\n//old[ cruzados { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n\n[ abelha { [ translation bees ][ language portuguese ]}]\n[ abelhas { [ translation bees ][ language portuguese ]}]\n[ azuis { [ translation blue ][ language portuguese ]}]\n[ bombete { [ translation bombette ][ language portuguese ]}]\n[ carcacita { [ translation bombette ][ language portuguese ]}]\n\n[ gravata_borboleta { [ translation bowtie ][ language portuguese ]}]\n[ gravatas_borboletas { [ translation bowtie ][ language portuguese ]}]\n\n[ gravata_borboleta_com_anel { [ translation bowtie_rings ][ language portuguese ]}]\n[ gravata_borboleta_com_an\xe9is { [ translation bowtie_rings ][ language portuguese ]}]\n[ gravata_borboleta_com_aneis { [ translation gravata_borboleta_com_an\xe9is ]}]\n\n[ gir\xe2ndola{ [ translation cake ][ isPieceToken true ][ impliesCake true ][ language portuguese ] }] // Weird. Actually a cake, not a UFO, in Portuguese. Can\'t correct missing accent.\n\n[ cadeia { [ translation chain ][ isPieceToken true ][ language portuguese ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ corrente { [ translation chain ][ isPieceToken true ][ language portuguese ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ cris\xe2ntemo { [ translation chrysanthemum ][ language portuguese ]}]\n\n[ carv\xe3o { [ translation charcoal ][ language portuguese ]}]\n[ carvao { [ translation charcoal ][ language portuguese ]}]\n[ ponta_de_carv\xe3o { [ translation charcoal_tip ][ language portuguese ]}]\n[ ponta_de_carvao { [ translation charcoal_tip ][ language portuguese ]}]\n\n\n[ tran\xe7antes { [ translation comet ][ language portuguese ]}]\n[ trassante { [ translation comet ][ language portuguese ]}]\n[ trassantes { [ translation comet ][ language portuguese ]}]\n\n[ an\xe9is_duplos_internos { [ translation concentric_rings ][ language portuguese ]}]\n[ aneis_duplos_internos { [ translation concentric_rings ][ language portuguese ]}]\n\n[ flor_de_cracker { [ translation crackle_flowers ][ language portuguese ]}]\n[ flores_de_cracker { [ translation crackle_flowers ][ language portuguese ]}]\n[ flor_de_crackling { [ translation crackle_flowers ][ language portuguese ]}]\n[ flores_de_crackling { [ translation crackle_flowers ][ language portuguese ]}]\n\n\n[ meio { [ translation core ][ language portuguese ]}]\n\n[ anel_cruzado { [ translation cross_rings ][ language portuguese ]}]\n[ an\xe9is_cruzados { [ translation cross_rings ][ language portuguese ]}]\n[ aneis_cruzados { [ translation an\xe9is_cruzados ]}]\n[ dente_de_le\xe3o { [ translation dandelion ][ language portuguese ]}]\n[ dente_de_leao { [ translation dandelion ][ language portuguese ]}]\n\n[ bola_de_fogo {[ translation fireball ] [ language portuguese ]}]\n[ bolas_de_fogo {[ translation fireball ] [ language portuguese ]}]\n[ cinco_vezes { [ translation five_times ][ language portuguese ] }]\n\n[ fire_machine { [ translation flame_projector ][ language portuguese ]}]\n[ projetor_de_chama { [ translation flame_projector ][ language portuguese ]}]\n[ chama { [ translation flame_projector ][ language portuguese ]}]\n\n[ repuxo { [ translation fountain ][ language portuguese ] }] \n[ repuxos { [ translation fountain ][ language portuguese ] }] \n\n[ vulc\xe3o { [ translation mine ][ language portuguese ] }] \n[ vulcao { [ translation mine ][ language portuguese ] }] \n[ fonte { [ translation fountain ][ language portuguese ] }] \n[ fontes { [ translation fountain ][ language portuguese ] }] \n[ quatro_vezes { [ translation four_times ][ language portuguese ] }]\n[ oito_vezes { [ translation eight_times ][ language portuguese ] }]\n\n[ f\xfacsia { [ translation fuchsia ][ language portuguese ]}]\n[ peixinho { [ translation flying_fish ][ language portuguese ]}]\n[ peixinhos { [ translation flying_fish ][ language portuguese ]}]\n[ amarelo_suave {[ translation fresh_yellow ] [ language portuguese ]}]\n[ amarelos_suaves {[ translation fresh_yellow ] [ language portuguese ]}]\n\n[ ponta_ouro {[ translation gold_tip ][ language portuguese ]}]\n[ pontas_ouro {[ translation gold_tip ][ language portuguese ]}]\n[ ponta_dourada {[ translation gold_tip ][ language portuguese ]}]\n[ pontas_douradas {[ translation gold_tip ][ language portuguese ]}]\n\n[ ouro {[ translation gold ][ language portuguese ]}]\n[ dourado {[ translation gold ][ language portuguese ]}]\n[ dourada {[ translation gold ][ language portuguese ]}]\n[ dourados {[ translation gold ][ language portuguese ]}]\n[ douradas {[ translation gold ][ language portuguese ]}]\n\n[ cintilante {[ translation glittering ][ language portuguese ]}]\n[ cintalantes {[ translation glittering ][ language portuguese ]}]\n[ glitter {[ translation glittering ][ language portuguese ]}]\n[ gliter {[ translation glittering ][ language portuguese ]}]\n[ disco_voador { [ translation girandola ][ language portuguese ] }] \n[ roda_voadora { [ translation girandola ][ language portuguese ] }] \n[ vd { [ translation violet ][ language portuguese ]}]\n\n\n[ tocha { [ translation ground_flare ][ language portuguese ]}]\n\n[ chama_de_solo { [ translation ground_flare ][ language portuguese ]}]\n[ flash_de_pote { [ translation ground_flash ][ language portuguese ]}]\n[ flash_de_ch\xe3o { [ translation ground_photoflash ][ language portuguese ]}]\n[ flash_de_chao { [ translation ground_photoflash ][ language portuguese ]}]\n//[ flash_de_solo { [ translation ground_photoflash ][ language portuguese ]}] // Conflicts with flash_tray.\n\n\n[ pisca_de_ch\xe3o { [ translation ground_strobe ][ language portuguese ]}]\n[ pisca_de_chao { [ translation ground_strobe ][ language portuguese ]}]\n[ pisca_de_solo { [ translation ground_strobe ][ language portuguese ]}] // de_solo conflicts with _tray.\n\n\n[ meio_a_meio { [ translation half_and_half ][ language portuguese ]}]\n[ meio_meio { [ translation half_and_half ][ language portuguese ]}]\n[ metade_e_metade { [ translation half_and_half ][ language portuguese ]}]\n\n[ meio_anel { [ translation half_ring ][ language portuguese ]}]\n[ metade_de_anel { [ translation half_ring ][ language portuguese ]}]\n\n[ cora\xe7\xe3o { [ translation heart_shape ][ language portuguese ]}]\n[ cora\xe7ao { [ translation heart_shape ][ language portuguese ]}]\n[ corac\xe3o { [ translation heart_shape ][ language portuguese ]}]\n[ coracao { [ translation heart_shape ][ language portuguese ]}]\n\n\n[ vassoura { [ translation horsetail ][ language portuguese ]}]\n[ rabo_de_cavalo { [ translation horsetail ][ language portuguese ]}]\n[ rabos_de_cavalos { [ translation horsetail ][ language portuguese ]}]\n\n[ letreiro { [ translation lancework ][ language portuguese ]}]\n[ letreiros { [ translation lancework ][ language portuguese ]}]\n\n[ amarelo_can\xe1rio { [ translation lemon ][ language portuguese ]}]\n[ amarelo_canario { [ translation lemon ][ language portuguese ]}]\n\n[ kamurro { [ translation kamuro ][ language portuguese ]}]\n[ camurro { [ translation kamuro ][ language portuguese ]}]\n[ jato { [ translation jet ][ language portuguese ]}]\n[ jatos { [ translation jet ][ language portuguese ]}]\n\n[ m\xf3vel { [ translation mobiles ][ language portuguese ]}]\n[ movel { [ translation mobiles ][ language portuguese ]}]\n[ m\xf3veis { [ translation mobiles ][ language portuguese ]}]\n[ moveis { [ translation mobiles ][ language portuguese ]}]\n\n[ mesclado { [ translation mixed ][ language portuguese ]}]\n[ mesclada { [ translation mixed ][ language portuguese ]}]\n[ mesclados { [ translation mixed ][ language portuguese ]}]\n[ mescladas { [ translation mixed ][ language portuguese ]}]\n[ misturado { [ translation mixed ][ language portuguese ]}]\n[ misturados { [ translation mixed ][ language portuguese ]}]\n[ misturada { [ translation mixed ][ language portuguese ]}]\n[ misturadas { [ translation mixed ][ language portuguese ]}]\n\n[ vaso { [ translation mine ][ language portuguese ]}]\n[ vasos { [ translation mine ][ language portuguese ]}]\n\n[ neve_da_meia_noite { [ translation midnight_snow ][ language portuguese ]}]\n[ neves_da_meia_noite { [ translation midnight_snow ][ language portuguese ]}]\n\n[ longo { [ translation long ][ language portuguese ]}]\n[ longa { [ translation long ][ language portuguese ]}]\n[ longos { [ translation long ][ language portuguese ]}]\n[ longas { [ translation long ][ language portuguese ]}]\n\n[ lim\xe3o { [ translation lemon ][ language portuguese ]}]\n[ limao { [ translation lemon ][ language portuguese ]}]\n\t\n\n[ laranja { [ translation orange ][ language portuguese ]}]\n[ laranjas { [ translation orange ][ language portuguese ]}]\n[ alaranjado { [ translation orange ][ language portuguese ]}]\n[ alaranjada { [ translation orange ][ language portuguese ]}]\n[ alaranjandos { [ translation orange ][ language portuguese ]}]\n[ alaranjadas { [ translation orange ][ language portuguese ]}]\n\n[ uma_vez { [ translation one_time ][ language portuguese ]}]\n\n[ polvo { [ translation octopus ][ language portuguese ]}]\n\n[ sem_rastro { [ translation no_trail ][ language portuguese ]}]\n[ sem_cauda { [ translation no_trail ][ language portuguese ]}]\n\n[ nove_veces { [ translation nine_times ][ language portuguese ]}]\n\n[ aqu\xe1tica { [ translation nautical ][ language portuguese ]}]\n[ aquatica { [ translation nautical ][ language portuguese ]}]\n[ aqu\xe1ticas { [ translation nautical ][ language portuguese ]}]\n[ aquaticas { [ translation nautical ][ language portuguese ]}]\n\n[ multi_colorida { [ translation multi_color ][ language portuguese ]}]\n[ multi_coloridas { [ translation multi_color ][ language portuguese ]}]\n[ multi_colorido { [ translation multi_color ][ language portuguese ]}]\n[ multi_coloridos { [ translation multi_color ][ language portuguese ]}]\n\n[ desenho { [ translation pattern_shell ][ language portuguese ]}]\n[ desenhos { [ translation pattern_shell ][ language portuguese ]}]\n[ cor_pastel { [ translation pastel_colors ][ language portuguese ]}]\n[ para_queda { [ translation parachutes ][ language portuguese ]}]\n[ para_quedas { [ translation parachutes ][ language portuguese ]}]\n[ palmeira { [ translation palm ][ language portuguese ]}]\n[ palmeiras { [ translation palm ][ language portuguese ]}]\n\n// Maltese\n[ fuq { [ translation above ][ language maltese ]}]\n[ ajru { [ translation aerial ][ language maltese ]}]\n[ fl_ajru { [ translation aerial ][ language maltese ]}]\n[ ta_l_ajru { [ translation aerial ][ language maltese ]}]\n[ littaapos_l_ajru { [ translation aerial ][ language maltese ]}]\n\n[ faqqatura { [ translation air_burst ][ language maltese ]}]\n[ berqa_ma_l_art { [ translation air_burst ][ language maltese ]}]\n[ berqa_litmaapos_l_art { [ translation air_burst ][ language maltese ]}]\n\n[ litu { [ translation and ][ language maltese ]}]\n[ ani\u017cetta { [ translation aniseed ][ language maltese ]}]\n[ anizetta { [ translation aniseed ][ language maltese ]}]\n[ akkwa { [ translation aqua ][ language maltese ]}]\n[ akwa { [ translation aqua ][ language maltese ]}]\n[ fet\u0127a_bil_miltuqin { [ translation artillery ][ language maltese ]}]\n[ fet\u0127a_tal_mitluqin { [ translation artillery ][ language maltese ]}]\n[ barmil { [ translation barrel ][ language maltese ]}]\n\n\n[ na\u0127al { [ translation bees ][ language maltese ]}]\n[ nahal { [ translation bees ][ language maltese ]}]\n[ na\u0127la { [ translation bees ][ language maltese ]}]\n[ nahla { [ translation bees ][ language maltese ]}]\n\n[ kbir { [ translation big ][ language maltese ]}]\n[ kbira { [ translation big ][ language maltese ]}]\n[ taqsam { [ translation big ][ language maltese ]}]\n[ jaqsam { [ translation big ][ language maltese ]}]\n\n[ ik\u0127al { [ translation blue ][ language maltese ]}]\n[ ikhal { [ translation blue ][ language maltese ]}]\n[ ka\u0127lani { [ translation blue ][ language maltese ]}]\n[ kahlani { [ translation blue ][ language maltese ]}]\n\n[ nofs_littapos_isfel { [ translation bottom_half ][ language maltese ]}]\n[ nofs_littaapos_ta\u0127t { [ translation bottom_half ][ language maltese ]}]\n[ nofs_littaapos_taht { [ translation bottom_half ][ language maltese ]}]\n\n[ \u010boff { [ translation bowtie ][ language maltese ]}]\n[ coff { [ translation bowtie ][ language maltese ]}]\n[ \u010bfuf { [ translation bowtie ][ language maltese ]}]\n[ cfuf { [ translation bowtie ][ language maltese ]}]\n\n[ jg\u0127ajjat { [ translation bright ][ language maltese ]}]\n[ jghajjat { [ translation bright ][ language maltese ]}]\n[ dawl { [ translation bright ][ language maltese ]}]\n[ tad_dawl { [ translation bright ][ language maltese ]}]\n\n[ sfiera { [ translation brocade ][ language maltese ]}]\n\n[ farfett { [ translation butterfly ][ language maltese ]}]\n[ friefet { [ translation butterfly ][ language maltese ]}]\n\n[ forma_ta_\u010b { [ translation c_shape ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ forma_littaapos_\u010b { [ translation c_shape ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ forma_littaapos_c { [ translation c_shape ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ forma_ta_c { [ translation c_shape ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n\n[ kaxxa { [ translation cake ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ kanna { [ translation cake ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ kaxxa_lesta { [ translation cake ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n\n[ stoppin { [ translation candle ][ language maltese ][ isPieceToken true ][ impliesCandle true ]}]\n\n[ katina { [ translation chain ][ language maltese ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ ktajjen { [ translation chain ][ language maltese ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ ikkumnikati { [ translation chain ][ language maltese ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ kkumnikati { [ translation chain ][ language maltese ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n\n[ fa\u0127am { [ translation charcoal ][ language maltese ]}]\n[ faham { [ translation charcoal ][ language maltese ]}]\n\n[ ras_tal_fa\u0127am { [ translation charcoal_tip ][ language maltese ]}]\n[ ras_tal_faham { [ translation charcoal_tip ][ language maltese ]}]\n\n[ fjamma { [ translation comet ][ language maltese ]}]\n[ fjm { [ translation comet ][ language maltese ]}]\n[ fjammi { [ translation comet ][ language maltese ]}]\n\n[ \u017cew\u0121t_i\u010brieki_kon\u010bentri\u010bi { [ translation concentric_rings ][ language maltese ]}]\n[ \u017cew\u0121t_i\u010brieki { [ translation concentric_rings ][ language maltese ]}]\n\n[ centru { [ translation core ][ language maltese ]}]\n[ \u010bentru { [ translation core ][ language maltese ]}]\n\n[ tat_tfaqqih { [ translation crackling ][ language maltese ]}]\n[ tfaqqa { [ translation crackling ][ language maltese ]}]\n[ tal_crackling { [ translation crackling ][ language maltese ]}]\n[ tqarmi\u010b { [ translation crackling ][ language maltese ]}]\n[ tqarmic { [ translation crackling ][ language maltese ]}]\n[ tat_tqarmi\u010b { [ translation crackling ][ language maltese ]}]\n[ tat_tqarmic { [ translation crackling ][ language maltese ]}]\n\n[ crieki_msallbin { [ translation cross_rings ][ language maltese ]}]\n[ \u010brieki_msallbin { [ translation cross_rings ][ language maltese ]}]\n\n[ kru\u010b\u010betta { [ translation crossette ][ language maltese ]}]\n[ kruccetta { [ translation crossette ][ language maltese ]}]\n[ krucetta { [ translation crossette ][ language maltese ]}]\n[ kru\u010betta { [ translation crossette ][ language maltese ]}]\n\n[ kuruna { [ translation crown ][ language maltese ]}]\n\n[ \u010ban { [ translation cyan ][ language maltese ]}]\n[ can { [ translation cyan ][ language maltese ]}]\n\n[ \u010bikas { [ translation cycas ][ language maltese ]}]\n[ cikas { [ translation cycas ][ language maltese ]}]\n\n[ \u010bikwejra { [ translation dandelion ][ language maltese ]}]\n[ cikwejra { [ translation dandelion ][ language maltese ]}]\n\n[ skur { [ translation dark ][ language maltese ]}]\n[ skura { [ translation dark ][ language maltese ]}]\n\n[ mimli { [ translation dense ][ language maltese ]}]\n[ mimlija { [ translation dense ][ language maltese ]}]\n[ dens { [ translation dense ][ language maltese ]}]\n\n[ dijadema { [ translation diadem ][ language maltese ]}]\n\n[ mitfi { [ translation dim ][ language maltese ]}]\n[ mitfija { [ translation dim ][ language maltese ]}]\n\n[ \u017cew\u0121t_nofsijiet { [ translation double_half_rings ][ language maltese ]}]\n[ \u017cew\u0121t_\u010brieki_nofsijiet { [ translation double_half_rings ][ language maltese ]}]\n\n[ \u010birku_doppju { [ translation double_rings ][ language maltese ]}]\n[ cirku_doppju { [ translation double_rings ][ language maltese ]}]\n[ \u010brieki_doppji { [ translation double_rings ][ language maltese ]}]\n[ crieki_doppji { [ translation double_rings ][ language maltese ]}]\n\n[ tmien_darbiet { [ translation eight_times ][ language maltese ]}]\n\n[ weraq_li_jaqg\u0127u { [ translation falling_leaves ][ language maltese ]}]\n[ weraq_ni\u017clien { [ translation falling_leaves ][ language maltese ]}]\n\n[ imrew\u0127a { [ translation fan ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ imrewha { [ translation fan ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ mrew\u0127a { [ translation fan ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n[ mrewha { [ translation fan ][ language maltese ][ isPieceToken true ][ impliesCake true ]}]\n\n[ fjamma_tad_diesel { [ translation fireball ][ language maltese ]}]\n[ tad_diesel { [ translation fireball ][ language maltese ]}]\n[ tad_disil { [ translation fireball ][ language maltese ]}]\n[ fjamma_tad_disil { [ translation fireball ][ language maltese ]}]\n\n[ \u0127ames_darbiet { [ translation five_times ][ language maltese ]}]\n[ hames_darbiet { [ translation five_times ][ language maltese ]}]\n\n[ flame_thrower { [ translation flame_projector ][ language maltese ]}]\n[ magna_tal_fjamma { [ translation flame_projector ][ language maltese ]}]\n\n[ itteptep { [ translation flashing ][ language maltese ]}]\n[ tat_teptip { [ translation flashing ][ language maltese ]}]\n\n[ funtana { [ translation fountain ][ language maltese ]}]\n[ funtuna { [ translation fountain ][ language maltese ]}]\n\n[ erba_darbiet { [ translation four_times ][ language maltese ]}]\n[ literbaapos_darbiet { [ translation four_times ][ language maltese ]}]\n[ erbg\u0127a_darbiet { [ translation four_times ][ language maltese ]}]\n[ erbgha_darbiet { [ translation four_times ][ language maltese ]}]\n\n[ isfar_frisk { [ translation fresh_yellow ][ language maltese ]}]\n[ isfar_lumi { [ translation fresh_yellow ][ language maltese ]}]\n\n[ fuk\u017cja { [ translation fuchsia ][ language maltese ]}]\n[ fukzja { [ translation fuchsia ][ language maltese ]}]\n\n[ gambog { [ translation gamboge ][ language maltese ]}]\n[ gambo\u0121 { [ translation gamboge ][ language maltese ]}]\n\n[ ras_tal_gambog { [ translation gamboge_tip ][ language maltese ]}]\n[ ras_tal_gambo\u0121 { [ translation gamboge_tip ][ language maltese ]}]\n\n[ \u0121erb { [ translation gerb ][ language maltese ]}]\n\n[ jimxi { [ translation ghost ][ language maltese ]}]\n[ timxi { [ translation ghost ][ language maltese ]}]\n\n[ fekruna { [ translation girandola ][ language maltese ]}]\n[ mi\u0121nuna { [ translation girandola ][ language maltese ]}]\n\n[ ilellex { [ translation glittering ][ language maltese ]}]\n[ tlellex { [ translation glittering ][ language maltese ]}]\n\n[ deheb { [ translation gold ][ language maltese ]}]\n[ dehbi { [ translation gold ][ language maltese ]}]\n\n[ ras_tad_deheb { [ translation gold_tip ][ language maltese ]}]\n\n[ a\u0127dar_skur { [ translation grass_green ][ language maltese ]}]\n[ ahdar_skur { [ translation grass_green ][ language maltese ]}]\n[ \u0127adra_skura { [ translation grass_green ][ language maltese ]}]\n[ hadra_skura { [ translation grass_green ][ language maltese ]}]\n\n[ a\u0127dar { [ translation green ][ language maltese ]}]\n[ ahdar { [ translation green ][ language maltese ]}]\n[ \u0127adra { [ translation green ][ language maltese ]}]\n[ hadra { [ translation green ][ language maltese ]}]\n\n[ gass_strobe { [ translation ground_strobe ][ language maltese ]}]\n[ gass_littaapos_l_istrobe { [ translation ground_strobe ][ language maltese ]}]\n[ gass_tleblib { [ translation ground_strobe ][ language maltese ]}]\n[ gass_tat_tleblib { [ translation ground_strobe ][ language maltese ]}]\n\n[ nofs_u_nofs { [ translation half_and_half ][ language maltese ]}]\n\n[ nofs_\u010birku { [ translation half_ring ][ language maltese ]}]\n[ nofs_cirku { [ translation half_ring ][ language maltese ]}]\n\n[ forma_ta_qalb { [ translation heart_shape ][ language maltese ]}]\n[ forma_littaapos_qalb { [ translation heart_shape ][ language maltese ]}]\n[ qalb { [ translation heart_shape ][ language maltese ]}]\n\n\n[ tal_hasda { [ translation jet ][ language maltese ]}]\n[ tal_\u0127asda { [ translation jet ][ language maltese ]}]\n[ \u0127asda { [ translation jet ][ language maltese ]}]\n[ hasda { [ translation jet ][ language maltese ]}]\n\n[ disinn_bil_gass { [ translation lancework ][ language maltese ]}]\n\n[ fjamma_qasira { [ translation laser_comet ][ language maltese ]}]\n[ fjammi_qosra { [ translation laser_comet ][ language maltese ]}]\n\n[ lumi { [ translation lemon ][ language maltese ]}]\n[ lumija { [ translation lemon ][ language maltese ]}]\n\n[ lela { [ translation lilac ][ language maltese ]}]\n[ lel\xe0 { [ translation lilac ][ language maltese ]}]\n\n[ twila { [ translation long ][ language maltese ]}]\n\n[ ma\u0121enta { [ translation magenta ][ language maltese ]}]\n\n[ sbroff { [ translation mine ][ language maltese ]}]\n[ sbroffi { [ translation mine ][ language maltese ]}]\n[ \u017cbroff { [ translation mine ][ language maltese ]}]\n[ \u017cbroffi { [ translation mine ][ language maltese ]}]\n[ zbroff { [ translation mine ][ language maltese ]}]\n[ zbroffi { [ translation mine ][ language maltese ]}]\n\n[ multi_kulur { [ translation multi_color ][ language maltese ]}]\n\n[ tal_ba\u0127ar { [ translation nautical ][ language maltese ]}]\n[ tal_bahar { [ translation nautical ][ language maltese ]}]\n[ ta_l_ilma { [ translation nautical ][ language maltese ]}]\n[ littaapos_l_ilma { [ translation nautical ][ language maltese ]}]\n\n[ disa_darbiet { [ translation nine_times ][ language maltese ]}]\n\n[ bla_tra\u010b\u010ba { [ translation no_trail ][ language maltese ]}]\n[ bla_tracca { [ translation no_trail ][ language maltese ]}]\n[ bla_raxx { [ translation no_trail ][ language maltese ]}]\n\n[ qarnita { [ translation octopus ][ language maltese ]}]\n\n[ darba { [ translation one_time ][ language maltese ]}]\n\n[ oran\u0121jo { [ translation orange ][ language maltese ]}]\n[ orangjo { [ translation orange ][ language maltese ]}]\n[ org { [ translation orange ][ language maltese ]}]\n\n[ barra { [ translation outer ][ language maltese ]}]\n[ littaapos_barra { [ translation outer ][ language maltese ]}]\n\n[ paraxut { [ translation parachutes ][ language maltese ]}]\n\n[ kuluri_pastelli { [ translation pastel_colors ][ language maltese ]}]\n[ kulur_pastel { [ translation pastel_colors ][ language maltese ]}]\n\n[ ballun_tad_disinn { [ translation pattern_shell ][ language maltese ]}]\n[ ballun_tal_forom { [ translation pattern_shell ][ language maltese ]}]\n[ forma { [ translation pattern_shell ][ language maltese ]}]\n[ disinn { [ translation pattern_shell ][ language maltese ]}]\n\n[ kulur_tal_\u0127aw\u0127 { [ translation peach ][ language maltese ]}]\n[ lewn_il_\u0127aw\u0127 { [ translation peach ][ language maltese ]}]\n[ kulur_tal_hawh { [ translation peach ][ language maltese ]}]\n[ lewn_il_hawh { [ translation peach ][ language maltese ]}]\n[ \u0127aw\u0127a { [ translation peach ][ language maltese ]}]\n[ hawha { [ translation peach ][ language maltese ]}]\n\n[ qoxra_tal_karawett { [ translation peanut_shell ][ language maltese ]}]\n\n[ ballun { [ translation peony ][ language maltese ]}]\n\n[ roza { [ translation pink ][ language maltese ]}]\n[ ro\u017ca { [ translation pink ][ language maltese ]}]\n\n[ g\u0127anbaqar { [ translation plum ][ language maltese ]}]\n[ ghanbaqar { [ translation plum ][ language maltese ]}]\n[ g\u0127anbaqra { [ translation plum ][ language maltese ]}]\n[ ghanbaqra { [ translation plum ][ language maltese ]}]\n\n[ temp_tat_tlug\u0127 { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language maltese ]}]\n[ temp_tat_tlugh { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language maltese ]}]\n[ tat { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language maltese ]}]\n\n[ qawsalla { [ translation rainbow ][ language maltese ]}]\n\n[ ahmar { [ translation red ][ language maltese ]}]\n[ a\u0127mar { [ translation red ][ language maltese ]}]\n[ \u0127amra { [ translation red ][ language maltese ]}]\n[ hamra { [ translation red ][ language maltese ]}]\n\n[ berqa { [ translation report ][ language maltese ]}]\n\n[ \u010birku { [ translation ring ][ language maltese ]}]\n\n[ jog\u0127lew { [ translation rising ][ language maltese ]}]\n[ jog\u0127la { [ translation rising ][ language maltese ]}]\n[ tog\u0127la { [ translation rising ][ language maltese ]}]\n[ joghlew { [ translation rising ][ language maltese ]}]\n[ joghla { [ translation rising ][ language maltese ]}]\n[ toghla { [ translation rising ][ language maltese ]}]\n\n[ rokit { [ translation rocket ][ language maltese ]}]\n\n[ l_istess_kulur { [ translation same_color ][ language maltese ]}]\n[ kulur_l_istess { [ translation same_color ][ language maltese ]}]\n\n[ stilla_ti\u0121ri { [ translation scattering ][ language maltese ]}]\n[ stilla_tigri { [ translation scattering ][ language maltese ]}]\n\n[ ka\u0127la { [ translation sea_blue ][ language maltese ]}]\n[ kahla { [ translation sea_blue ][ language maltese ]}]\n\n[ sampartelli { [ translation serpents ][ language maltese ]}]\n\n[ litsebaapos_darbiet { [ translation seven_times ][ language maltese ]}]\n\n[ fet\u0127a { [ translation shell ][ language maltese ]}]\n[ fetha { [ translation shell ][ language maltese ]}]\n[ fetqa { [ translation shell ][ language maltese ]}]\n\n[ ballun_tal_blalen { [ translation shell_of_shells ][ language maltese ]}]\n\n[ qosra { [ translation short ][ language maltese ]}]\n[ qasira { [ translation short ][ language maltese ]}]\n[ iqsar { [ translation short ][ language maltese ]}]\n\n[ xot { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language maltese ]}]\n[ sht { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language english ]}]\n\n[ kwiet { [ translation silent ][ language maltese ]}]\n[ kwieta { [ translation silent ][ language maltese ]}]\n[ silenzju { [ translation silent ][ language maltese ]}]\n\n[ fidda { [ translation silver ][ language maltese ]}]\n[ lewn_il_fidda { [ translation silver ][ language maltese ]}]\n[ kulur_il_fidda { [ translation silver ][ language maltese ]}]\n\n[ ras_tal_fidda { [ translation silver_tip ][ language maltese ]}]\n\n[ sitt_darbiet { [ translation six_times ][ language maltese ]}]\n\n[ blu_lewn_is_sema { [ translation sky_blue ][ language maltese ]}]\n\n[ ftir_kbir { [ translation slightly_big ][ language maltese ]}]\n[ ftit_ikbar { [ translation slightly_big ][ language maltese ]}]\n[ ftit_kbira { [ translation slightly_big ][ language maltese ]}]\n\n[ jg\u0127ajjat_ftit { [ translation slightly_bright ][ language maltese ]}]\n[ jghajjat_ftit { [ translation slightly_bright ][ language maltese ]}]\n[ tg\u0127ajjat_ftit { [ translation slightly_bright ][ language maltese ]}]\n[ tghajjat_ftit { [ translation slightly_bright ][ language maltese ]}]\n\n[ ftit_mimmli { [ translation slightly_dense ][ language maltese ]}]\n[ ftit_mimmlija { [ translation slightly_dense ][ language maltese ]}]\n[ ftit_mimli { [ translation slightly_dense ][ language maltese ]}]\n[ ftit_mimlija { [ translation slightly_dense ][ language maltese ]}]\n\n[ ftit_mitfi { [ translation slightly_dim ][ language maltese ]}]\n[ ftit_mitfija { [ translation slightly_dim ][ language maltese ]}]\n\n[ ftit_twil { [ translation slightly_long ][ language maltese ]}]\n[ ftit_twila { [ translation slightly_long ][ language maltese ]}]\n\n[ ftit_qasir { [ translation slightly_short ][ language maltese ]}]\n[ ftit_qasira { [ translation slightly_short ][ language maltese ]}]\n\n[ ftit_zghira { [ translation slightly_small ][ language maltese ]}]\n[ ftit_\u017cg\u0127ir { [ translation slightly_small ][ language maltese ]}]\n[ ftit_\u017cg\u0127ira { [ translation slightly_small ][ language maltese ]}]\n\n[ ftit_skars { [ translation slightly_sparse ][ language maltese ]}]\n[ ftit_skarsa { [ translation slightly_sparse ][ language maltese ]}]\n\n[ ftit_o\u0127xon { [ translation slightly_thick ][ language maltese ]}]\n[ ftit_\u0127oxna { [ translation slightly_thick ][ language maltese ]}]\n[ ftit_ohxon { [ translation slightly_thick ][ language maltese ]}]\n[ ftit_hoxna { [ translation slightly_thick ][ language maltese ]}]\n\n[ ftit_irqiq { [ translation slightly_thin ][ language maltese ]}]\n[ ftit_irqiqa { [ translation slightly_thin ][ language maltese ]}]\n\n[ \u017cg\u0127ir { [ translation small ][ language maltese ]}]\n[ \u017cg\u0127ira { [ translation small ][ language maltese ]}]\n[ zghir { [ translation small ][ language maltese ]}]\n[ zghira { [ translation small ][ language maltese ]}]\n[ zg\u0127ira { [ translation small ][ language maltese ]}]\n[ \u017cghira { [ translation small ][ language maltese ]}]\n[ zg\u0127ir { [ translation small ][ language maltese ]}]\n[ \u017cghir { [ translation small ][ language maltese ]}]\n\n[ bla_du\u0127\u0127an { [ translation smokeless ][ language maltese ]}]\n[ bla_duhhan { [ translation smokeless ][ language maltese ]}]\n[ bla_da\u0127na { [ translation smokeless ][ language maltese ]}]\n[ bla_dahna { [ translation smokeless ][ language maltese ]}]\n[ ma_dda\u0127\u0127anx { [ translation smokeless ][ language maltese ]}]\n[ ma_ddahhanx { [ translation smokeless ][ language maltese ]}]\n\n[ skars { [ translation sparse ][ language maltese ]}]\n[ skarsa { [ translation sparse ][ language maltese ]}]\n\n[ brimba { [ translation spider ][ language maltese ]}]\n[ brimb { [ translation spider ][ language maltese ]}]\n\n[ titfi_litu_tixg\u0127el { [ translation strobing ][ language maltese ]}]\n[ titfi_litu_tixghel { [ translation strobing ][ language maltese ]}]\n[ littaapos_l_istrobe { [ translation strobing ][ language maltese ]}]\n[ ta_l_strobe { [ translation strobing ][ language maltese ]}]\n\n[ \u0121irasol { [ translation sunflower ][ language maltese ]}]\n\n[ denb { [ translation tail ][ language maltese ]}]\n[ denba { [ translation tail ][ language maltese ]}]\n[ tlugh { [ translation tail ][ language maltese ]}]\n[ tlug\u0127 { [ translation tail ][ language maltese ]}]\n\n[ g\u0127axar_darbiet { [ translation ten_times ][ language maltese ]}]\n[ ghaxar_darbiet { [ translation ten_times ][ language maltese ]}]\n\n[ o\u0127xon { [ translation thick ][ language maltese ]}]\n[ ohxon { [ translation thick ][ language maltese ]}]\n[ \u0127oxna { [ translation thick ][ language maltese ]}]\n[ hoxna { [ translation thick ][ language maltese ]}]\n\n[ irqiq { [ translation thin ][ language maltese ]}]\n[ irqiqa { [ translation thin ][ language maltese ]}]\n\n[ tletin_darba { [ translation thirty_times ][ language maltese ]}]\n\n[ tlett_darbiet { [ translation three_times ][ language maltese ]}]\n\n[ denb_tat_tigra { [ translation tiger_tail ][ language maltese ]}]\n\n[ ddendel { [ translation time_rain ][ language maltese ]}]\n[ iddendel { [ translation time_rain ][ language maltese ]}]\n\n[ berqa_tat_titanium { [ translation titanium_report ][ language maltese ]}]\n[ berqa_tat_titanju { [ translation titanium_report ][ language maltese ]}]\n\n[ bomba_tat_titanium { [ translation titanium_salute ][ language maltese ]}]\n[ bomba_tat_titanju { [ translation titanium_salute ][ language maltese ]}]\n[ salut_tat_titanium { [ translation titanium_salute ][ language maltese ]}]\n[ salut_tat_titanju { [ translation titanium_salute ][ language maltese ]}]\n\n[ g\u0127al { [ translation to ][ language maltese ]}]\n[ ghal { [ translation to ][ language maltese ]}]\n[ g\u0127all_ { [ translation to ][ language maltese ]}]\n[ ghall_ { [ translation to ][ language maltese ]}]\n[ jaqleb { [ translation to ][ language maltese ]}]\n\n[ nofs_littaapos_fuq { [ translation top_half ][ language maltese ]}]\n\n[ tra\u010b\u010ba { [ translation trail ][ language maltese ]}]\n[ tracca { [ translation trail ][ language maltese ]}]\n[ tleblib { [ translation trail ][ language maltese ]}]\n[ tlebleb { [ translation trail ][ language maltese ]}]\n\n[ tlett_i\u010b\u010brieki_kon\u010bentri\u010bi { [ translation triple_concentric_rings ][ language maltese ]}]\n[ tlett_iccrieki_koncentrici { [ translation triple_concentric_rings ][ language maltese ]}]\n\n[ tlett_i\u010b\u010brieki_msalbin { [ translation triple_cross_rings ][ language maltese ]}]\n[ tlett_iccrieki_msallbin { [ translation triple_cross_rings ][ language maltese ]}]\n[ tlett_iccrieki_imsalbin { [ translation triple_cross_rings ][ language maltese ]}]\n\n[ tlett_nofsijiet { [ translation triple_half_rings ][ language maltese ]}]\n[ tlett_\u010brieki_nofsijiet { [ translation triple_half_rings ][ language maltese ]}]\n\n[ tlett_i\u010b\u010brieki { [ translation triple_rings ][ language maltese ]}]\n[ tlett_iccrieki { [ translation triple_rings ][ language maltese ]}]\n\n[ tulipani { [ translation tulip ][ language maltese ]}]\n\n[ g\u0127oxrin_darba { [ translation twenty_times ][ language maltese ]}]\n[ ghoxrin_darba { [ translation twenty_times ][ language maltese ]}]\n\n[ tleblib_abjad { [ translation twilight_glitter ][ language maltese ]}]\n[ raxx_abjad { [ translation twilight_glitter ][ language maltese ]}]\n[ traxxax_abjad { [ translation twilight_glitter ][ language maltese ]}]\n\n[ darbtejn { [ translation two_times ][ language maltese ]}]\n[ \u017cew\u0121_darbiet { [ translation two_times ][ language maltese ]}]\n[ zewg_darbiet { [ translation two_times ][ language maltese ]}]\n[ \u017cewg_darbiet { [ translation two_times ][ language maltese ]}]\n[ zew\u0121_darbiet { [ translation two_times ][ language maltese ]}]\n\n[ bis_sa\u0127\u0127a { [ translation ultrafast ][ language maltese ]}]\n[ bis_sahha { [ translation ultrafast ][ language maltese ]}]\n\n[ forma_ta_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n[ forma_littaapos_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n\n[ m\u0127allat { [ translation variegated ][ language maltese ]}]\n[ mhallat { [ translation variegated ][ language maltese ]}]\n[ m\u0127altin { [ translation variegated ][ language maltese ]}]\n[ mhaltin { [ translation variegated ][ language maltese ]}]\n[ m\u0127alltin { [ translation variegated ][ language maltese ]}]\n[ mhalltin { [ translation variegated ][ language maltese ]}]\n\n[ kbira_\u0127afna { [ translation very_big ][ language maltese ]}]\n[ kbir_\u0127afna { [ translation very_big ][ language maltese ]}]\n[ kbir_hafna { [ translation very_big ][ language maltese ]}]\n[ kbira_hafna { [ translation very_big ][ language maltese ]}]\n\n[ jg\u0127ajjat_\u0127afna { [ translation very_bright ][ language maltese ]}]\n[ jghajjat_hafna { [ translation very_bright ][ language maltese ]}]\n[ tg\u0127ajjat_\u0127afna { [ translation very_bright ][ language maltese ]}]\n[ tghajjat_hafna { [ translation very_bright ][ language maltese ]}]\n\n[ mimmli_\u0127afna { [ translation very_dense ][ language maltese ]}]\n[ mimmlija_\u0127afna { [ translation very_dense ][ language maltese ]}]\n[ mimli_hafna { [ translation very_dense ][ language maltese ]}]\n[ mimlija_hafna { [ translation very_dense ][ language maltese ]}]\n\n[ mitfi_\u0127afna { [ translation very_dim ][ language maltese ]}]\n[ mitfija_\u0127afna { [ translation very_dim ][ language maltese ]}]\n[ mitfi_hafna { [ translation very_dim ][ language maltese ]}]\n[ mitfija_hafna { [ translation very_dim ][ language maltese ]}]\n\n[ twil_\u0127afna { [ translation very_long ][ language maltese ]}]\n[ twila_\u0127afna { [ translation very_long ][ language maltese ]}]\n[ twil_hafna { [ translation very_long ][ language maltese ]}]\n[ twila_hafna { [ translation very_long ][ language maltese ]}]\n\n[ qasir_\u0127afna { [ translation very_short ][ language maltese ]}]\n[ qasira_\u0127afna { [ translation very_short ][ language maltese ]}]\n[ qasir_hafna { [ translation very_short ][ language maltese ]}]\n[ qasira_hafna { [ translation very_short ][ language maltese ]}]\n\n[ zghira_\u0127afna { [ translation very_small ][ language maltese ]}]\n[ zghira_hafna { [ translation very_small ][ language maltese ]}]\n[ \u017cg\u0127ir_\u0127afna { [ translation very_small ][ language maltese ]}]\n[ \u017cg\u0127ira_\u0127afna { [ translation very_small ][ language maltese ]}]\n\n[ skars_\u0127afna { [ translation very_sparse ][ language maltese ]}]\n[ skarsa_\u0127afna { [ translation very_sparse ][ language maltese ]}]\n[ skars_hafna { [ translation very_sparse ][ language maltese ]}]\n[ skarsa_hafna { [ translation very_sparse ][ language maltese ]}]\n\n[ o\u0127xon_\u0127afna { [ translation very_thick ][ language maltese ]}]\n[ \u0127oxna_\u0127afna { [ translation very_thick ][ language maltese ]}]\n[ ohxon_hafna { [ translation very_thick ][ language maltese ]}]\n[ hoxna_hafna { [ translation very_thick ][ language maltese ]}]\n\n[ irqiq_\u0127afna { [ translation very_thin ][ language maltese ]}]\n[ irqiqa_\u0127afna { [ translation very_thin ][ language maltese ]}]\n[ irqiq_hafna { [ translation very_thin ][ language maltese ]}]\n[ irqiqa_hafna { [ translation very_thin ][ language maltese ]}]\n\n[ vjola { [ translation violet ][ language maltese ]}]\n[ vjl { [ translation violet ][ language maltese ]}]\n\n[ forma_ta_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n[ forma_littaapos_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n\n[ kaskata { [ translation waterfall ][ language maltese ]}]\n\n[ mew\u0121a { [ translation wave ][ language maltese ]}]\n[ mewga { [ translation wave ][ language maltese ]}]\n\n[ rota { [ translation wheel ][ language maltese ]}]\n\n[ sfafar { [ translation whistles ][ language maltese ]}]\n[ suffara { [ translation whistles ][ language maltese ]}]\n\n[ abjad { [ translation white ][ language maltese ]}]\n[ bajda { [ translation white ][ language maltese ]}]\n[ wht { [ translation white ][ language maltese ]}]\n\n[ bil { [ translation wi ][ language maltese ]}]\n[ bi { [ translation wi ][ language maltese ]}]\n[ tas { [ translation wi ][ language maltese ]}]\n[ ta { [ translation wi ][ language maltese ]}]\n[ tal { [ translation wi ][ language maltese ]}]\n[ littaapos { [ translation wi ][ language maltese ]}]\n[ litbapos { [ translation wi ][ language maltese ]}]\n\n[ forma_ta_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n[ forma_littaapos_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n\n[ isfar { [ translation yellow ][ language maltese ]}]\n[ safra { [ translation yellow ][ language maltese ]}]\n[ ylw { [ translation yellow ][ language maltese ]}]\n\n[ forma_ta_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n[ forma_littaapos_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language maltese ]}]\n\n[ metri {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ metru {[ translation [ m ]][ isNonVdlTerm true ]}]\n\n// Polish\n\n//[ sie\u0107 { [ translation red ][ language polish ]}]\n//[ siec { [ translation red ][ language polish ]}]\n\n[ nad { [ translation above ][ language polish ]}]\n[ powy\u017cej { [ translation above ][ language polish ]}]\n\n[ kulista { [ translation aerial ][ language polish ]}]\n[ sferyczna { [ translation aerial ][ language polish ]}]\n[ kula { [ translation aerial ][ language polish ]}]\n[ kulisty { [ translation aerial ][ language polish ]}]\n[ sferyczny { [ translation aerial ][ language polish ]}]\n\n[ eksplozja { [ translation air_burst ][ language polish ]}]\n[ wybuch { [ translation air_burst ][ language polish ]}]\n[ detonacja { [ translation air_burst ][ language polish ]}]\n[ eksploduj\u0105cy { [ translation air_burst ][ language polish ]}]\n[ wybuchaj\u0105cy { [ translation air_burst ][ language polish ]}]\n[ detonuj\u0105cy { [ translation air_burst ][ language polish ]}]\n[ eksploduj\u0105ca { [ translation air_burst ][ language polish ]}]\n[ wybuchaj\u0105ca { [ translation air_burst ][ language polish ]}]\n[ detonuj\u0105ca { [ translation air_burst ][ language polish ]}]\n\n[ liti { [ translation and ][ language polish ]}]\n//[ oraz { [ translation wi ][ language polish ]}] // Conflicts with "with"\n\n[ any\u017c { [ translation aniseed ][ language polish ]}]\n[ any\u017cowy { [ translation aniseed ][ language polish ]}]\n[ any\u017cowa { [ translation aniseed ][ language polish ]}]\n[ any\u017cowego { [ translation aniseed ][ language polish ]}]\n[ any\u017cowej { [ translation aniseed ][ language polish ]}]\n[ any\u017cowym { [ translation aniseed ][ language polish ]}]\n[ any\u017cow\u0105 { [ translation aniseed ][ language polish ]}]\n[ any\u017cowo { [ translation aniseed ][ language polish ]}]\n\n[ wodny { [ translation aqua ][ language polish ]}]\n[ wodnisty { [ translation aqua ][ language polish ]}]\n[ wodna { [ translation aqua ][ language polish ]}]\n[ wodnistego { [ translation aqua ][ language polish ]}]\n[ wodnistej { [ translation aqua ][ language polish ]}]\n[ wodnistym { [ translation aqua ][ language polish ]}]\n[ wodnist\u0105 { [ translation aqua ][ language polish ]}]\n[ wodnego { [ translation aqua ][ language polish ]}]\n[ wodnej { [ translation aqua ][ language polish ]}]\n[ wodn\u0105 { [ translation aqua ][ language polish ]}]\n[ wodnym { [ translation aqua ][ language polish ]}]\n[ wodno { [ translation aqua ][ language polish ]}]\n\n[ mo\u017adzierz { [ translation artillery ][ language polish ]}]\n[ rura { [ translation artillery ][ language polish ]}]\n\n[ beczka { [ translation barrel ][ language polish ]}]\n[ bary\u0142ka { [ translation barrel ][ language polish ]}]\n[ beczkowaty { [ translation barrel ][ language polish ]}]\n[ bary\u0142kowaty { [ translation barrel ][ language polish ]}]\n[ beczkowata { [ translation barrel ][ language polish ]}]\n[ bary\u0142kowata { [ translation barrel ][ language polish ]}]\n\n[ pszczo\u0142y { [ translation bees ][ language polish ]}]\n[ pszcz\xf3\u0142ki { [ translation bees ][ language polish ]}]\n\n[ du\u017cy { [ translation big ][ language polish ]}]\n[ du\u017ca { [ translation big ][ language polish ]}]\n[ du\u017ce { [ translation big ][ language polish ]}]\n\n[ niebieski { [ translation blue ][ language polish ]}]\n[ niebieska { [ translation blue ][ language polish ]}]\n[ niebieskiego { [ translation blue ][ language polish ]}]\n[ niebieskiej { [ translation blue ][ language polish ]}]\n[ niebieskim { [ translation blue ][ language polish ]}]\n[ niebiesk\u0105 { [ translation blue ][ language polish ]}]\n[ niebiesko { [ translation blue ][ language polish ]}]\n\n[ dolna_warstwa { [ translation bottom_half ][ language polish ]}]\n[ doln\u0105_warstw\u0105 { [ translation bottom_half ][ language polish ]}]\n\n[ bukiet { [ translation bouquet ][ language polish ]}]\n[ wi\u0105zanka { [ translation bouquet ][ language polish ]}]\n[ bukietem { [ translation bouquet ][ language polish ]}]\n[ wi\u0105zank\u0105 { [ translation bouquet ][ language polish ]}]\n[ bukietu { [ translation bouquet ][ language polish ]}]\n[ wi\u0105zanki { [ translation bouquet ][ language polish ]}]\n\n[ muszka { [ translation bowtie ][ language polish ]}]\n[ mucha { [ translation bowtie ][ language polish ]}]\n[ muszk\u0105 { [ translation bowtie ][ language polish ]}]\n[ much\u0105 { [ translation bowtie ][ language polish ]}]\n[ muszki { [ translation bowtie ][ language polish ]}]\n[ muchy { [ translation bowtie ][ language polish ]}]\n\n[ okr\u0105g_litz_muszk\u0105 { [ translation bowtie_rings ][ language polish ]}]\n[ muszka_litz_okr\u0119giem { [ translation bowtie_rings ][ language polish ]}]\n[ okr\u0105g_litz_much\u0105 { [ translation bowtie_rings ][ language polish ]}]\n[ mucha_litz_okr\u0119giem { [ translation bowtie_rings ][ language polish ]}]\n[ okr\u0119gu_litz_muszk\u0105 { [ translation bowtie_rings ][ language polish ]}]\n[ muszki_litz_okr\u0119giem { [ translation bowtie_rings ][ language polish ]}]\n[ okr\u0119giem_litz_muszk\u0105 { [ translation bowtie_rings ][ language polish ]}]\n[ muszk\u0105_litz_okr\u0119giem { [ translation bowtie_rings ][ language polish ]}]\n\n[ jasny { [ translation bright ][ language polish ]}]\n[ jasna { [ translation bright ][ language polish ]}]\n[ jasnego { [ translation bright ][ language polish ]}]\n[ jasnej { [ translation bright ][ language polish ]}]\n[ jasnym { [ translation bright ][ language polish ]}]\n\n[ brokatowy { [ translation brocade ][ language polish ]}]\n[ brokatowa { [ translation brocade ][ language polish ]}]\n[ brokatem { [ translation brocade ][ language polish ]}]\n[ brokatowego { [ translation brocade ][ language polish ]}]\n[ brokatowej { [ translation brocade ][ language polish ]}]\n[ brokatowym { [ translation brocade ][ language polish ]}]\n[ brokatow\u0105 { [ translation brocade ][ language polish ]}]\n[ brokatowo { [ translation brocade ][ language polish ]}]\n\n[ pakiet { [ translation bundle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ zestaw { [ translation bundle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ pakiecie { [ translation bundle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ zestawie { [ translation bundle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n\n[ motyl { [ translation butterfly ][ language polish ]}]\n[ motylem { [ translation butterfly ][ language polish ]}]\n[ motyla { [ translation butterfly ][ language polish ]}]\n\n[ kszta\u0142t_c { [ translation c_shape ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ w_kszta\u0142cie_litery_c { [ translation c_shape ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ lito_kszta\u0142cie_litery_c { [ translation c_shape ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ strzelaj\u0105ca_w_kszta\u0142cie_litery_c { [ translation c_shape ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ maj\u0105ca_kszta\u0142t_litery_c { [ translation c_shape ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n\n[ wyrzutnia { [ translation cake ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ tort { [ translation cake ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ bateria { [ translation cake ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ kostka { [ translation cake ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n\n[ \u015bwieca { [ translation candle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ \u015bwieczka { [ translation candle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ \u015bwiec\u0105 { [ translation candle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n[ \u015bwieczk\u0105 { [ translation candle ][ language polish ][ isPieceToken true ][ impliesCandle true ]}]\n\n[ seria { [ translation chain ][ language polish ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ \u0142a\u0144cuch { [ translation chain ][ language polish ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ seri\u0105 { [ translation chain ][ language polish ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n[ serii { [ translation chain ][ language polish ][ isPieceToken true ][ isSpecialDimensionalProperty true ][ impliesChain true ]}]\n\n[ w\u0119giel { [ translation charcoal ][ language polish ]}]\n[ w\u0119glem { [ translation charcoal ][ language polish ]}]\n[ w\u0119gla { [ translation charcoal ][ language polish ]}]\n\n[ koniuszek_w\u0119glowy { [ translation charcoal_tip ][ language polish ]}]\n[ koniec_w\u0119glowy { [ translation charcoal_tip ][ language polish ]}]\n[ ko\u0144c\xf3wka_w\u0119glowa { [ translation charcoal_tip ][ language polish ]}]\n[ ko\u0144c\xf3wki_w\u0119glowej { [ translation charcoal_tip ][ language polish ]}]\n[ koniuszka_w\u0119glowego { [ translation charcoal_tip ][ language polish ]}]\n[ ko\u0144cem_w\u0119glowym { [ translation charcoal_tip ][ language polish ]}]\n[ koniuszkiem_w\u0119glowym { [ translation charcoal_tip ][ language polish ]}]\n[ ko\u0144c\xf3wk\u0105_w\u0119glow\u0105 { [ translation charcoal_tip ][ language polish ]}]\n\n[ chryzantema { [ translation chrysanthemum ][ language polish ]}]\n[ chryzantem\u0105 { [ translation chrysanthemum ][ language polish ]}]\n[ chryzantemy { [ translation chrysanthemum ][ language polish ]}]\n[ chryzantem\u0119 { [ translation chrysanthemum ][ language polish ]}]\n\n[ kokosowiec { [ translation coco ][ language polish ]}]\n[ kokosowcem { [ translation coco ][ language polish ]}]\n[ kokosowca { [ translation coco ][ language polish ]}]\n\n[ orzech_kokosowy { [ translation coconut ][ language polish ]}]\n[ orzech { [ translation coconut ][ language polish ]}]\n[ orzechem_kokosowym { [ translation coconut ][ language polish ]}]\n[ orzechem { [ translation coconut ][ language polish ]}]\n\n[ kometa { [ translation comet ][ language polish ]}]\n[ komety { [ translation comet ][ language polish ]}]\n[ komet\u0105 { [ translation comet ][ language polish ]}]\n[ komete { [ translation comet ][ language polish ]}]\n[ komet\u0119 { [ translation comet ][ language polish ]}]\n\n[ pier\u015bcie\u0144_litw_\u015brodku { [ translation concentric_rings ][ language polish ]}]\n[ pier\u015bcieniem_litw_\u015brodku { [ translation concentric_rings ][ language polish ]}]\n[ pier\u015bcienia_litw_\u015brodku { [ translation concentric_rings ][ language polish ]}]\n\n[ \u015brodek { [ translation core ][ language polish ]}]\n[ centrum { [ translation core ][ language [ dutch polish ]]}]\n[ \u015brodkowy { [ translation core ][ language polish ]}]\n[ \u015brodku { [ translation core ][ language polish ]}]\n[ \u015brodkiem { [ translation core ][ language polish ]}]\n[ \u015brodka { [ translation core ][ language polish ]}]\n\n[ skwiercz\u0105cy { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105cy { [ translation crackling ][ language polish ]}]\n[ skwiercz\u0105ca { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105ca { [ translation crackling ][ language polish ]}]\n[ skwiercz\u0105cego { [ translation crackling ][ language polish ]}]\n[ skwiercz\u0105cej { [ translation crackling ][ language polish ]}]\n[ skwiercz\u0105cym { [ translation crackling ][ language polish ]}]\n[ skwiercz\u0105c\u0105 { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105cego { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105cej { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105cym { [ translation crackling ][ language polish ]}]\n[ strzelaj\u0105c\u0105 { [ translation crackling ][ language polish ]}]\n\n[ poprzeczne_pier\u015bcienie { [ translation cross_rings ][ language polish ]}]\n[ poprzecznymi_pier\u015bcieniami { [ translation cross_rings ][ language polish ]}]\n[ pier\u015bcienie_poprzeczne { [ translation cross_rings ][ language polish ]}]\n[ poprzecznych_pier\u015bcieni { [ translation cross_rings ][ language polish ]}]\n\n[ kroseta { [ translation crossette ][ language polish ]}]\n[ krata { [ translation crossette ][ language polish ]}]\n[ kroset\u0105 { [ translation crossette ][ language polish ]}]\n[ krat\u0105 { [ translation crossette ][ language polish ]}]\n[ krosety { [ translation crossette ][ language polish ]}]\n[ kraty { [ translation crossette ][ language polish ]}]\n\n[ korona { [ translation crown ][ language polish ]}]\n[ koron\u0105 { [ translation crown ][ language polish ]}]\n[ korony { [ translation crown ][ language polish ]}]\n\n[ cyjan { [ translation cyan ][ language polish ]}]\n[ cyjanowy { [ translation cyan ][ language polish ]}]\n[ cyjanowa { [ translation cyan ][ language polish ]}]\n[ cyjanowego { [ translation cyan ][ language polish ]}]\n[ cyjanowym { [ translation cyan ][ language polish ]}]\n[ cyjanow\u0105 { [ translation cyan ][ language polish ]}]\n[ cyjanowej { [ translation cyan ][ language polish ]}]\n[ cyjanowo { [ translation cyan ][ language polish ]}]\n\n[ cykas { [ translation cycas ][ language polish ]}]\n[ sagowiec_odwini\u0119ty { [ translation cycas ][ language polish ]}]\n[ cykasowy { [ translation cycas ][ language polish ]}]\n[ cykasowa { [ translation cycas ][ language polish ]}]\n[ cykasowym { [ translation cycas ][ language polish ]}]\n[ cykasow\u0105 { [ translation cycas ][ language polish ]}]\n\n[ cylindryczna { [ translation cylinder ][ language polish ]}]\n[ cylindryczny { [ translation cylinder ][ language polish ]}]\n[ cylindrycznej { [ translation cylinder ][ language polish ]}]\n[ cylindrycznego { [ translation cylinder ][ language polish ]}]\n[ cylindryczn\u0105 { [ translation cylinder ][ language polish ]}]\n[ cylindrycznym { [ translation cylinder ][ language polish ]}]\n\n[ dalii { [ translation dahlia ][ language polish ]}]\n[ dali\u0105 { [ translation dahlia ][ language polish ]}]\n\n[ mniszek { [ translation dandelion ][ language polish ]}]\n[ mniszkiem { [ translation dandelion ][ language polish ]}]\n[ mniszka { [ translation dandelion ][ language polish ]}]\n\n[ czarna { [ translation dark ][ language polish ]}]\n[ ciemna { [ translation dark ][ language polish ]}]\n[ czarnego { [ translation dark ][ language polish ]}]\n[ czarnym { [ translation dark ][ language polish ]}]\n[ czarnej { [ translation dark ][ language polish ]}]\n[ ciemnego { [ translation dark ][ language polish ]}]\n[ ciemnej { [ translation dark ][ language polish ]}]\n[ ciemny { [ translation dark ][ language polish ]}]\n[ ciemnym { [ translation dark ][ language polish ]}]\n[ czarno { [ translation dark ][ language polish ]}]\n\n[ g\u0119sty { [ translation dense ][ language polish ]}]\n[ g\u0119stego { [ translation dense ][ language polish ]}]\n[ g\u0119sta { [ translation dense ][ language polish ]}]\n[ g\u0119stej { [ translation dense ][ language polish ]}]\n[ g\u0119stym { [ translation dense ][ language polish ]}]\n\n[ diademem { [ translation diadem ][ language polish ]}]\n[ diademu { [ translation diadem ][ language polish ]}]\n\n[ ciemniejszy { [ translation dim ][ language polish ]}]\n[ przyciemniony { [ translation dim ][ language polish ]}]\n[ przy\u0107miony { [ translation dim ][ language polish ]}]\n[ nik\u0142y { [ translation dim ][ language polish ]}]\n[ przygaszony { [ translation dim ][ language polish ]}]\n[ ciemniejsza { [ translation dim ][ language polish ]}]\n[ ciemniejszym { [ translation dim ][ language polish ]}]\n[ przyciemniona { [ translation dim ][ language polish ]}]\n[ przyciemnionego { [ translation dim ][ language polish ]}]\n[ przy\u0107mionego { [ translation dim ][ language polish ]}]\n\n[ podw\xf3jne_p\xf3\u0142pier\u015bcienie { [ translation double_half_rings ][ language polish ]}]\n[ podw\xf3jnych_p\xf3\u0142pier\u015bcieni { [ translation double_half_rings ][ language polish ]}]\n[ podw\xf3jnymi_p\xf3\u0142pier\u015bcieniami { [ translation double_half_rings ][ language polish ]}]\n\n[ podw\xf3jne_pier\u015bcienie { [ translation double_rings ][ language polish ]}]\n[ podw\xf3jnych_pier\u015bcieni { [ translation double_rings ][ language polish ]}]\n[ podw\xf3jnymi_pier\u015bcieniami { [ translation double_rings ][ language polish ]}]\n\n[ trzaskaj\u0105ce_kulki { [ translation dragon_eggs ][ language polish ]}]\n[ do_trzaskaj\u0105cych_kulek { [ translation dragon_eggs ][ language polish ]}]\n[ litz_trzaskaj\u0105cymi_kulkami { [ translation dragon_eggs ][ language polish ]}]\n\n[ ucho { [ translation ear ][ language polish ]}]\n[ litw_kszta\u0142cie_ucha { [ translation ear ][ language polish ]}]\n[ ma\u0142\u017cowina_uszna { [ translation ear ][ language polish ]}]\n[ ucha { [ translation ear ][ language polish ]}]\n[ uchem { [ translation ear ][ language polish ]}]\n\n[ o\u015bmiokrotny { [ translation eight_times ][ language polish ]}]\n[ osiem_razy { [ translation eight_times ][ language polish ]}]\n[ o\u015bmiokrotna { [ translation eight_times ][ language polish ]}]\n[ o\u015bmiokrotnym { [ translation eight_times ][ language polish ]}]\n[ o\u015bmiokrotn\u0105 { [ translation eight_times ][ language polish ]}]\n[ o\u015bmiokrotnego { [ translation eight_times ][ language polish ]}]\n[ o\u015bmiokrotnej { [ translation eight_times ][ language polish ]}]\n\n[ opadaj\u0105ce_li\u015bcie { [ translation falling_leaves ][ language polish ]}]\n[ opadaj\u0105cych_li\u015bci { [ translation falling_leaves ][ language polish ]}]\n[ opadaj\u0105cymi_li\u015b\u0107mi { [ translation falling_leaves ][ language polish ]}]\n\n[ wachlarz { [ translation fan ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ wachlarzem { [ translation fan ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n[ wachlarza { [ translation fan ][ language polish ][ isPieceToken true ][ impliesCake true ]}]\n\n[ kula_ognia { [ translation fireball ][ language polish ]}]\n[ kulii_ognia { [ translation fireball ][ language polish ]}]\n[ kul\u0105_ognia { [ translation fireball ][ language polish ]}]\n\n[ pi\u0119ciokrotny { [ translation five_times ][ language polish ]}]\n[ pi\u0119\u0107_razy { [ translation five_times ][ language polish ]}]\n[ pi\u0119ciokrotna { [ translation five_times ][ language polish ]}]\n[ pi\u0119ciokrotnego { [ translation five_times ][ language polish ]}]\n[ pi\u0119ciokrotnej { [ translation five_times ][ language polish ]}]\n[ pi\u0119ciokrotnym { [ translation five_times ][ language polish ]}]\n[ pi\u0119ciokrotn\u0105 { [ translation five_times ][ language polish ]}]\n\n[ generator_ognia { [ translation flame_projector ][ language polish ]}]\n[ dyfuzor_ognia { [ translation flame_projector ][ language polish ]}]\n[ generatorem_ognia { [ translation flame_projector ][ language polish ]}]\n[ dyfuzorem_ognia { [ translation flame_projector ][ language polish ]}]\n\n[ flesz_sceniczny { [ translation flash_tray ][ language polish ]}]\n[ fleszem_scenicznym { [ translation flash_tray ][ language polish ]}]\n\n[ migocz\u0105ce { [ translation flashing ][ language polish ]}]\n[ migocz\u0105cego { [ translation flashing ][ language polish ]}]\n[ migocz\u0105cy { [ translation flashing ][ language polish ]}]\n[ migocz\u0105ca { [ translation flashing ][ language polish ]}]\n[ migocz\u0105cym { [ translation flashing ][ language polish ]}]\n[ migocz\u0105c\u0105 { [ translation flashing ][ language polish ]}]\n\n[ rybki { [ translation flying_fish ][ language polish ]}]\n[ ryby { [ translation flying_fish ][ language polish ]}]\n[ rybek { [ translation flying_fish ][ language polish ]}]\n[ rybkami { [ translation flying_fish ][ language polish ]}]\n\n[ fontanna { [ translation fountain ][ language polish ]}]\n\n[ czterokrotne { [ translation four_times ][ language polish ]}]\n[ cztery_razy { [ translation four_times ][ language polish ]}]\n[ czterokrotna { [ translation four_times ][ language polish ]}]\n[ czterokrotnego { [ translation four_times ][ language polish ]}]\n[ czterokrotnej { [ translation four_times ][ language polish ]}]\n[ czterokrotnym { [ translation four_times ][ language polish ]}]\n[ czterokrotn\u0105 { [ translation four_times ][ language polish ]}]\n\n[ \u015bwie\u017cy_zielony { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017cego_zielonego { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017ca_zielona { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017cej_zielonej { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017cym_zielonym { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017c\u0105_zielon\u0105 { [ translation fresh_yellow ][ language polish ]}]\n[ \u015bwie\u017co_zielono { [ translation fresh_yellow ][ language polish ]}]\n\n[ fuksja { [ translation fuchsia ][ language polish ]}]\n[ fuksji { [ translation fuchsia ][ language polish ]}]\n[ fuksj\u0105 { [ translation fuchsia ][ language polish ]}]\n[ litw_kolorze_fuksji { [ translation fuchsia ][ language polish ]}]\n\n[ gumiguta { [ translation gamboge ][ language polish ]}]\n[ gumiguty { [ translation gamboge ][ language polish ]}]\n[ gumigut\u0105 { [ translation gamboge ][ language polish ]}]\n[ litw_kolorze_gumiguty { [ translation gamboge ][ language polish ]}]\n\n[ ko\u0144c\xf3wka_litw_kolorze_gumiguty { [ translation gamboge_tip ][ language polish ]}]\n[ koniuszek_litw_kolorze_gumiguty { [ translation gamboge_tip ][ language polish ]}]\n[ ko\u0144c\xf3wk\u0105_litw_kolorze_gumiguty { [ translation gamboge_tip ][ language polish ]}]\n\n[ lanca { [ translation gerb ][ language polish ]}]\n[ w\u0142\xf3cznia { [ translation gerb ][ language polish ]}]\n\n[ widmo { [ translation ghost ][ language polish ]}]\n[ widmem { [ translation ghost ][ language polish ]}]\n[ widma { [ translation ghost ][ language polish ]}]\n\n[ \u017cyrandol { [ translation girandola ][ language polish ]}]\n[ \u017cyrandola { [ translation girandola ][ language polish ]}]\n[ \u017cyrandolem { [ translation girandola ][ language polish ]}]\n\n[ mieni\u0105ce_si\u0119 { [ translation glittering ][ language polish ]}]\n[ mieni\u0105cych_si\u0119 { [ translation glittering ][ language polish ]}]\n[ mieni\u0105cymi_si\u0119 { [ translation glittering ][ language polish ]}]\n[ mieni\u0105cego_si\u0119 { [ translation glittering ][ language polish ]}]\n[ mieni\u0105cej_si\u0119 { [ translation glittering ][ language polish ]}]\n\n[ z\u0142ote { [ translation gold ][ language polish ]}]\n[ z\u0142oty { [ translation gold ][ language polish ]}]\n[ z\u0142ota { [ translation gold ][ language polish ]}]\n[ z\u0142otego { [ translation gold ][ language polish ]}]\n[ z\u0142otym { [ translation gold ][ language polish ]}]\n[ z\u0142otej { [ translation gold ][ language polish ]}]\n[ z\u0142ot\u0105 { [ translation gold ][ language polish ]}]\n[ z\u0142oto { [ translation gold ][ language polish ]}]\n\n[ z\u0142ota_ko\u0144c\xf3wka { [ translation gold_tip ][ language polish ]}]\n[ z\u0142oty_koniuszek { [ translation gold_tip ][ language polish ]}]\n[ z\u0142ot\u0105_ko\u0144c\xf3wk\u0105 { [ translation gold_tip ][ language polish ]}]\n[ z\u0142otym_koniuszkiem { [ translation gold_tip ][ language polish ]}]\n\n[ trawiasty { [ translation grass_green ][ language polish ]}]\n[ zielono_trawiasty { [ translation grass_green ][ language polish ]}]\n[ trawiastego { [ translation grass_green ][ language polish ]}]\n[ trawiastym { [ translation grass_green ][ language polish ]}]\n[ trawiasta { [ translation grass_green ][ language polish ]}]\n[ trawiastej { [ translation grass_green ][ language polish ]}]\n[ trawiasto { [ translation grass_green ][ language polish ]}]\n\n[ zielony { [ translation green ][ language polish ]}]\n[ zielonego { [ translation green ][ language polish ]}]\n[ zielonym { [ translation green ][ language polish ]}]\n[ zielonej { [ translation green ][ language polish ]}]\n[ zielon\u0105 { [ translation green ][ language polish ]}]\n[ zielono { [ translation green ][ language polish ]}]\n\n[ flara { [ translation ground_flare ][ language polish ]}]\n[ ogie\u0144_bengalski { [ translation ground_flare ][ language polish ]}]\n[ ogie\u0144_wroc\u0142awski { [ translation ground_flare ][ language polish ]}]\n\n[ flesz_b\u0142ysk { [ translation ground_flash ][ language polish ]}]\n[ flesz__b\u0142yskiem { [ translation ground_flash ][ language polish ]}]\n[ fotoflesz_b\u0142ysk { [ translation ground_photoflash ][ language polish ]}]\n[ fotoflesz_b\u0142yskiem { [ translation ground_photoflash ][ language polish ]}]\n[ stroboskop { [ translation ground_strobe ][ language polish ]}]\n\n[ p\xf3\u0142_na_p\xf3\u0142 { [ translation half_and_half ][ language polish ]}]\n[ po_po\u0142owie { [ translation half_and_half ][ language polish ]}]\n\n[ p\xf3\u0142pier\u015bcie\u0144 { [ translation half_ring ][ language polish ]}]\n[ p\xf3\u0142pier\u015bcienia { [ translation half_ring ][ language polish ]}]\n[ p\xf3\u0142pier\u015bcieniem { [ translation half_ring ][ language polish ]}]\n\n[ litw_kszta\u0142cie_serca { [ translation heart_shape ][ language polish ]}]\n\n[ ko\u0144ski_ogon { [ translation horsetail ][ language polish ]}]\n[ ko\u0144skiego_ogonu { [ translation horsetail ][ language polish ]}]\n[ ko\u0144skim_ogonem { [ translation horsetail ][ language polish ]}]\n\n[ niebieski_indygo { [ translation indigo ][ language polish ]}]\n[ indygo { [ translation indigo ][ language polish ]}]\n[ niebieskiego_indygo { [ translation indigo ][ language polish ]}]\n[ niebieska_indygo { [ translation indigo ][ language polish ]}]\n[ niebieskiej_indygo { [ translation indigo ][ language polish ]}]\n[ niebieskim_indygo { [ translation indigo ][ language polish ]}]\n[ niebiesk\u0105_indygo { [ translation indigo ][ language polish ]}]\n[ niebiesko_indygo { [ translation indigo ][ language polish ]}]\n\n[ litz_odrzutem { [ translation jet ][ language polish ]}]\n[ odrzutowy { [ translation jet ][ language polish ]}]\n\n[ \u015bwietlny_obraz { [ translation lancework ][ language polish ]}]\n[ kszta\u0142t_ze_\u015bwiec { [ translation lancework ][ language polish ]}]\n[ \u015bwiece_litw_kszta\u0142cie { [ translation lancework ][ language polish ]}]\n\n[ laserowa_kometa { [ translation laser_comet ][ language polish ]}]\n[ laserow\u0105_komet\u0105 { [ translation laser_comet ][ language polish ]}]\n\n[ lawendowy { [ translation lavender ][ language polish ]}]\n[ lawendowa { [ translation lavender ][ language polish ]}]\n[ lawendowej { [ translation lavender ][ language polish ]}]\n[ lawendowego { [ translation lavender ][ language polish ]}]\n[ lawendow\u0105 { [ translation lavender ][ language polish ]}]\n[ lawendowym { [ translation lavender ][ language polish ]}]\n[ lawendowo { [ translation lavender ][ language polish ]}]\n\n[ cytrynowy { [ translation lemon ][ language polish ]}]\n[ cytrusowy { [ translation lemon ][ language polish ]}]\n[ cytrynowego { [ translation lemon ][ language polish ]}]\n[ cytrynowym { [ translation lemon ][ language polish ]}]\n[ cytrynowej { [ translation lemon ][ language polish ]}]\n[ cytrusowego { [ translation lemon ][ language polish ]}]\n[ cytrusowym { [ translation lemon ][ language polish ]}]\n[ cytrusowej { [ translation lemon ][ language polish ]}]\n[ cytrusow\u0105 { [ translation lemon ][ language polish ]}]\n[ cytrusowo { [ translation lemon ][ language polish ]}]\n[ cytrynowo { [ translation lemon ][ language polish ]}]\n\n[ liliowy { [ translation lilac ][ language polish ]}]\n[ liliowego { [ translation lilac ][ language polish ]}]\n[ liliowym { [ translation lilac ][ language polish ]}]\n[ liliowa { [ translation lilac ][ language polish ]}]\n[ liliowej { [ translation lilac ][ language polish ]}]\n\n[ lilia { [ translation lily ][ language polish ]}]\n[ limonkowy { [ translation lime ][ language polish ]}]\n[ limonkowa { [ translation lime ][ language polish ]}]\n[ limonkowego { [ translation lime ][ language polish ]}]\n[ limonkowej { [ translation lime ][ language polish ]}]\n[ limonkowym { [ translation lime ][ language polish ]}]\n[ limonkow\u0105 { [ translation lime ][ language polish ]}]\n[ limonkowo { [ translation lime ][ language polish ]}]\n\n[ d\u0142ugi { [ translation long ][ language polish ]}]\n[ d\u0142ugim { [ translation long ][ language polish ]}]\n[ d\u0142ugiego { [ translation long ][ language polish ]}]\n[ d\u0142uga { [ translation long ][ language polish ]}]\n[ d\u0142ugiej { [ translation long ][ language polish ]}]\n\n[ karmazynowy { [ translation magenta ][ language polish ]}]\n[ fuksyna { [ translation magenta ][ language polish ]}]\n[ karmazynowego { [ translation magenta ][ language polish ]}]\n[ karmazynowa { [ translation magenta ][ language polish ]}]\n[ karmazynowym { [ translation magenta ][ language polish ]}]\n[ karmazynow\u0105 { [ translation magenta ][ language polish ]}]\n[ karmazynowo { [ translation magenta ][ language polish ]}]\n\n[ spadaj\u0105ca_gwiazda { [ translation meteor ][ language polish ]}]\n[ opadaj\u0105ca_gwiazda { [ translation meteor ][ language polish ]}]\n\n[ p\xf3\u0142nocny_\u015bnieg { [ translation midnight_snow ][ language polish ]}]\n\n[ miny { [ translation mine ][ language polish ]}]\n[ min\u0105 { [ translation mine ][ language polish ]}]\n\n[ zmiksowany { [ translation mixed ][ language polish ]}]\n[ miks { [ translation mixed ][ language polish ]}]\n[ zr\xf3\u017cnicowany { [ translation mixed ][ language polish ]}]\n[ zr\xf3\u017cnicowanego { [ translation mixed ][ language polish ]}]\n[ zr\xf3\u017cnicowanej { [ translation mixed ][ language polish ]}]\n\n[ ruchomy { [ translation mobiles ][ language polish ]}]\n[ zwinny { [ translation mobiles ][ language polish ]}]\n[ ruchomego { [ translation mobiles ][ language polish ]}]\n[ ruchomej { [ translation mobiles ][ language polish ]}]\n[ ruchomym { [ translation mobiles ][ language polish ]}]\n[ ruchom\u0105 { [ translation mobiles ][ language polish ]}]\n[ zwinnego { [ translation mobiles ][ language polish ]}]\n[ zwinnej { [ translation mobiles ][ language polish ]}]\n[ zwinnym { [ translation mobiles ][ language polish ]}]\n[ zwinn\u0105 { [ translation mobiles ][ language polish ]}]\n\n[ wielokolorowy { [ translation multi_color ][ language polish ]}]\n[ wielokolorowa { [ translation multi_color ][ language polish ]}]\n[ wielokolorowego { [ translation multi_color ][ language polish ]}]\n[ wielokolorowej { [ translation multi_color ][ language polish ]}]\n[ wielokolorowym { [ translation multi_color ][ language polish ]}]\n[ wielokolorow\u0105 { [ translation multi_color ][ language polish ]}]\n\n[ nautyczny { [ translation nautical ][ language polish ]}]\n[ morski { [ translation nautical ][ language polish ]}]\n[ \u017ceglarski { [ translation nautical ][ language polish ]}]\n[ nautycznego { [ translation nautical ][ language polish ]}]\n[ nautycznej { [ translation nautical ][ language polish ]}]\n[ nautyczna { [ translation nautical ][ language polish ]}]\n[ nautycznym { [ translation nautical ][ language polish ]}]\n[ nautyczn\u0105 { [ translation nautical ][ language polish ]}]\n[ nautyczno { [ translation nautical ][ language polish ]}]\n[ morsko { [ translation nautical ][ language polish ]}]\n\n[ dziewi\u0119ciokrotny { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119\u0107_razy { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119ciokrotna { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119ciokrotnego { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119ciokrotnej { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119ciokrotnym { [ translation nine_times ][ language polish ]}]\n[ dziewi\u0119ciokrotn\u0105 { [ translation nine_times ][ language polish ]}]\n\n[ bez\u015bladowy { [ translation no_trail ][ language polish ]}]\n[ bez_smugi { [ translation no_trail ][ language polish ]}]\n[ bez\u015bladowa { [ translation no_trail ][ language polish ]}]\n[ bez\u015bladowego { [ translation no_trail ][ language polish ]}]\n[ bez\u015bladowej { [ translation no_trail ][ language polish ]}]\n[ bez\u015bladowym { [ translation no_trail ][ language polish ]}]\n[ bez\u015bladow\u0105 { [ translation no_trail ][ language polish ]}]\n[ bez_smugowym { [ translation no_trail ][ language polish ]}]\n[ bez_smugowa { [ translation no_trail ][ language polish ]}]\n[ bez_smugow\u0105 { [ translation no_trail ][ language polish ]}]\n\n[ o\u015bmiornica { [ translation octopus ][ language polish ]}]\n\n[ pojedy\u0144czy { [ translation one_time ][ language polish ]}]\n\n[ pomara\u0144czowy { [ translation orange ][ language polish ]}]\n[ s\u0142oneczny { [ translation orange ][ language polish ]}]\n[ s\u0142oneczna { [ translation orange ][ language polish ]}]\n[ s\u0142onecznego { [ translation orange ][ language polish ]}]\n[ s\u0142onecznej { [ translation orange ][ language polish ]}]\n[ s\u0142onecznym { [ translation orange ][ language polish ]}]\n[ s\u0142oneczn\u0105 { [ translation orange ][ language polish ]}]\n[ pomara\u0144czowa { [ translation orange ][ language polish ]}]\n[ pomara\u0144czowego { [ translation orange ][ language polish ]}]\n[ pomara\u0144czowej { [ translation orange ][ language polish ]}]\n[ pomara\u0144czowym { [ translation orange ][ language polish ]}]\n[ pomara\u0144czow\u0105 { [ translation orange ][ language polish ]}]\n[ pomara\u0144czowo { [ translation orange ][ language polish ]}]\n[ s\u0142oneczno { [ translation orange ][ language polish ]}]\n\n[ zewn\u0119trzny { [ translation outer ][ language polish ]}]\n[ zewn\u0119trzna { [ translation outer ][ language polish ]}]\n[ zewn\u0119trznego { [ translation outer ][ language polish ]}]\n[ zewn\u0119trznej { [ translation outer ][ language polish ]}]\n[ zewn\u0119trzn\u0105 { [ translation outer ][ language polish ]}]\n[ zewn\u0119trznym { [ translation outer ][ language polish ]}]\n\n[ palm\u0105 { [ translation palm ][ language polish ]}]\n[ palmy { [ translation palm ][ language polish ]}]\n\n[ spadochrony { [ translation parachutes ][ language polish ]}]\n[ spadochronami { [ translation parachutes ][ language polish ]}]\n[ spadochron\xf3w { [ translation parachutes ][ language polish ]}]\n\n[ pastelowo { [ translation pastel_colors ][ language polish ]}]\n[ kolory_pastelowe { [ translation pastel_colors ][ language polish ]}]\n[ pastelowe { [ translation pastel_colors ][ language polish ]}]\n[ pastelowy { [ translation pastel_colors ][ language polish ]}]\n[ pastelowa { [ translation pastel_colors ][ language polish ]}]\n[ pastelowego { [ translation pastel_colors ][ language polish ]}]\n[ pastelowej { [ translation pastel_colors ][ language polish ]}]\n[ pastelowym { [ translation pastel_colors ][ language polish ]}]\n[ pastelow\u0105 { [ translation pastel_colors ][ language polish ]}]\n\n[ ze_wzorem { [ translation pattern_shell ][ language polish ]}]\n[ pier\u015bcie\u0144_lito_kszta\u0142cie { [ translation pattern_shell ][ language polish ]}]\n[ lito_wzorze { [ translation pattern_shell ][ language polish ]}]\n[ litz_wzorem { [ translation pattern_shell ][ language polish ]}]\n[ maj\u0105cej_wz\xf3r { [ translation pattern_shell ][ language polish ]}]\n[ maj\u0105cego_wz\xf3r { [ translation pattern_shell ][ language polish ]}]\n\n[ brzoskwinia { [ translation peach ][ language polish ]}]\n[ brzoskwiniowy { [ translation peach ][ language polish ]}]\n[ brzoskwiniowa { [ translation peach ][ language polish ]}]\n[ brzoskwiniowego { [ translation peach ][ language polish ]}]\n[ brzoskwiniowej { [ translation peach ][ language polish ]}]\n[ brzoskwiniowym { [ translation peach ][ language polish ]}]\n[ brzoskwiniow\u0105 { [ translation peach ][ language polish ]}]\n[ brzoskwiniowo { [ translation peach ][ language polish ]}]\n\n[ bomba_orzech { [ translation peanut_shell ][ language polish ]}]\n[ orzechowa_bomba { [ translation peanut_shell ][ language polish ]}]\n[ bomby_orzech { [ translation peanut_shell ][ language polish ]}]\n[ bomby_typu_orzech { [ translation peanut_shell ][ language polish ]}]\n[ bomb\u0105_orzech { [ translation peanut_shell ][ language polish ]}]\n[ bomb\u0105_typu_orzech { [ translation peanut_shell ][ language polish ]}]\n[ orzechowej_bomby { [ translation peanut_shell ][ language polish ]}]\n[ orzechow\u0105_bomb\u0105 { [ translation peanut_shell ][ language polish ]}]\n\n[ per\u0142a { [ translation pearl ][ language polish ]}]\n[ per\u0142y { [ translation pearl ][ language polish ]}]\n[ per\u0142\u0105 { [ translation pearl ][ language polish ]}]\n[ per\u0142ami { [ translation pearl ][ language polish ]}]\n[ pere\u0142 { [ translation pearl ][ language polish ]}]\n\n[ piwonia { [ translation peony ][ language polish ]}]\n[ piwonii { [ translation peony ][ language polish ]}]\n[ piwoni\u0105 { [ translation peony ][ language polish ]}]\n\n[ flesz { [ translation photoflash ][ language polish ]}]\n[ fotoflesz { [ translation photoflash ][ language polish ]}]\n\n[ r\xf3\u017cowy { [ translation pink ][ language polish ]}]\n[ r\xf3\u017cowego { [ translation pink ][ language polish ]}]\n[ r\xf3\u017cowej { [ translation pink ][ language polish ]}]\n[ r\xf3\u017cowym { [ translation pink ][ language polish ]}]\n[ r\xf3\u017cow\u0105 { [ translation pink ][ language polish ]}]\n[ r\xf3\u017cowo { [ translation pink ][ language polish ]}]\n\n[ wn\u0119trze { [ translation pistil ][ language polish ]}]\n[ we_wn\u0119trzu { [ translation pistil ][ language polish ]}]\n[ wype\u0142nienie { [ translation pistil ][ language polish ]}]\n[ wewn\u0105trz { [ translation pistil ][ language polish ]}]\n[ wype\u0142niona { [ translation pistil ][ language polish ]}]\n[ wype\u0142nionego { [ translation pistil ][ language polish ]}]\n[ wype\u0142nionej { [ translation pistil ][ language polish ]}]\n[ wype\u0142nionym { [ translation pistil ][ language polish ]}]\n[ wype\u0142nion\u0105 { [ translation pistil ][ language polish ]}]\n\n[ opis_efektu { [ translation placeholder ][ language polish ]}]\n\n[ p\u0142yta { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n[ \u015bliwkowy { [ translation plum ][ language polish ]}]\n[ \u015bliwkowa { [ translation plum ][ language polish ]}]\n[ \u015bliwkowego { [ translation plum ][ language polish ]}]\n[ \u015bliwkowej { [ translation plum ][ language polish ]}]\n[ \u015bliwkowym { [ translation plum ][ language polish ]}]\n[ \u015bliwkow\u0105 { [ translation plum ][ language polish ]}]\n[ \u015bliwkowo { [ translation plum ][ language polish ]}]\n\n[ polip { [ translation polyp ][ language [ polish maltese ]]}]\n[ polipu { [ translation polyp ][ language polish ]}]\n[ polipem { [ translation polyp ][ language polish ]}]\n\n[ strzelaj\u0105ca_chmura { [ translation popcorn_crackle ][ language polish ]}]\n[ strzelaj\u0105cej_chmury { [ translation popcorn_crackle ][ language polish ]}]\n[ strzelaj\u0105c\u0105_chmur\u0105 { [ translation popcorn_crackle ][ language polish ]}]\n\n[ czas_lotu { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language polish ]}]\n[ wyprzedzenie_czasowe_zapalenia { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language polish ]}]\n\n//[ fiolet { [ translation purple ][ language polish ]}]\n//[ fioletowy { [ translation purple ][ language polish ]}]\n//[ fioletowego { [ translation purple ][ language polish ]}]\n//[ fioletowa { [ translation purple ][ language polish ]}]\n//[ fioletowej { [ translation purple ][ language polish ]}]\n//[ fioletowym { [ translation purple ][ language polish ]}]\n//[ fioletow\u0105 { [ translation purple ][ language polish ]}]\n//[ fioletowo { [ translation purple ][ language polish ]}]\n\n[ t\u0119cza { [ translation rainbow ][ language polish ]}]\n[ t\u0119cz\u0105 { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowy { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowa { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowego { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowej { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowym { [ translation rainbow ][ language polish ]}]\n[ t\u0119czow\u0105 { [ translation rainbow ][ language polish ]}]\n[ t\u0119czowo { [ translation rainbow ][ language polish ]}]\n\n[ bukiet_kwiat\xf3w { [ translation ramillete ][ language polish ]}]\n[ bukietu_kwiat\xf3w { [ translation ramillete ][ language polish ]}]\n[ bukietem_kwiat\xf3w { [ translation ramillete ][ language polish ]}]\n\n[ czerwony { [ translation red ][ language polish ]}]\n[ czerwonego { [ translation red ][ language polish ]}]\n[ czerwona { [ translation red ][ language polish ]}]\n[ czerwonej { [ translation red ][ language polish ]}]\n[ czerwonym { [ translation red ][ language polish ]}]\n[ czerwon\u0105 { [ translation red ][ language polish ]}]\n[ czerwono { [ translation red ][ language polish ]}]\n\n[ huk { [ translation report ][ language polish ]}]\n[ huku { [ translation report ][ language polish ]}]\n[ hukiem { [ translation report ][ language polish ]}]\n[ hucz\u0105cy { [ translation report ][ language polish ]}]\n[ hucz\u0105ca { [ translation report ][ language polish ]}]\n[ hucz\u0105cemu { [ translation report ][ language polish ]}]\n[ hucz\u0105cej { [ translation report ][ language polish ]}]\n[ hucz\u0105cym { [ translation report ][ language polish ]}]\n[ hucz\u0105c\u0105 { [ translation report ][ language polish ]}]\n[ hucz\u0105cego { [ translation report ][ language polish ]}]\n\n[ okr\u0105g { [ translation ring ][ language polish ]}]\n[ pier\u015bcie\u0144 { [ translation ring ][ language polish ]}]\n[ okr\u0119gu { [ translation ring ][ language polish ]}]\n[ okr\u0119giem { [ translation ring ][ language polish ]}]\n[ pier\u015bcienia { [ translation ring ][ language polish ]}]\n[ pier\u015bcieniem { [ translation ring ][ language polish ]}]\n\n[ wschodz\u0105ce { [ translation rising ][ language polish ]}]\n[ wznosz\u0105ce_si\u0119 { [ translation rising ][ language polish ]}]\n[ wschodz\u0105cego { [ translation rising ][ language polish ]}]\n[ wschodz\u0105ca { [ translation rising ][ language polish ]}]\n[ wschodz\u0105cej { [ translation rising ][ language polish ]}]\n[ wschodz\u0105cym { [ translation rising ][ language polish ]}]\n[ wschodz\u0105c\u0105 { [ translation rising ][ language polish ]}]\n[ wznocz\u0105cego_si\u0119 { [ translation rising ][ language polish ]}]\n[ wznosz\u0105cej_si\u0119 { [ translation rising ][ language polish ]}]\n[ wznosz\u0105cym_si\u0119 { [ translation rising ][ language polish ]}]\n[ wznosz\u0105c\u0105_si\u0119 { [ translation rising ][ language polish ]}]\n\n[ wznosz\u0105ce_si\u0119_kwiatki { [ translation rising_flowers ][ language polish ]}]\n[ wznosz\u0105ce_si\u0119_kwiaty { [ translation rising_flowers ][ language polish ]}]\n\n[ rakieta { [ translation rocket ][ language polish ]}]\n\n[ rzymski_ogie\u0144 { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language polish ]}]\n[ rzymskiego_ognia { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language polish ]}]\n[ rzymskim_ogniem { [ translation roman_candle ][ isPieceToken true ][ impliesCandle true ][ language polish ]}]\n\n[ rubinowy { [ translation ruby ][ language polish ]}]\n[ rubinowa { [ translation ruby ][ language polish ]}]\n[ rubinowego { [ translation ruby ][ language polish ]}]\n[ rubinowej { [ translation ruby ][ language polish ]}]\n[ rubinowym { [ translation ruby ][ language polish ]}]\n[ rubinow\u0105 { [ translation ruby ][ language polish ]}]\n[ rubinowo { [ translation ruby ][ language polish ]}]\n\n[ salut { [ translation salute ][ language [ polish maltese ]]}]\n[ salutem { [ translation salute ][ language polish ]}]\n[ saluta { [ translation salute ][ language polish ]}]\n[ salut\xf3w { [ translation salute ][ language polish ]}]\n[ salutami { [ translation salute ][ language polish ]}]\n\n[ tego_samego_koloru { [ translation same_color ][ language polish ]}]\n[ jednokolorowe { [ translation same_color ][ language polish ]}]\n[ jednokolorowego { [ translation same_color ][ language polish ]}]\n[ jednokolorowy { [ translation same_color ][ language polish ]}]\n[ jednokolorowa { [ translation same_color ][ language polish ]}]\n[ jednokolorowej { [ translation same_color ][ language polish ]}]\n[ jednokolorowym { [ translation same_color ][ language polish ]}]\n[ jednokolorow\u0105 { [ translation same_color ][ language polish ]}]\n\n[ saturna { [ translation saturn ][ language polish ]}]\n[ saturnem { [ translation saturn ][ language polish ]}]\n\n[ zwariowane_gwiazdki { [ translation scattering ][ language polish ]}]\n[ p\u0142ywaj\u0105ce_gwiazdki { [ translation scattering ][ language polish ]}]\n[ p\u0142ywaj\u0105cych_gwiazdek { [ translation scattering ][ language polish ]}]\n[ p\u0142ywaj\u0105cymi_gwiazdkami { [ translation scattering ][ language polish ]}]\n\n[ morski_niebieski { [ translation sea_blue ][ language polish ]}]\n[ morskiego_niebieskiego { [ translation sea_blue ][ language polish ]}]\n[ morskim_niebieskim { [ translation sea_blue ][ language polish ]}]\n[ morsko_niebieski { [ translation sea_blue ][ language polish ]}]\n\n[ siedmiokrotny { [ translation seven_times ][ language polish ]}]\n[ siedem_razy { [ translation seven_times ][ language polish ]}]\n[ siedmiokrotna { [ translation seven_times ][ language polish ]}]\n[ siedmiokrotnego { [ translation seven_times ][ language polish ]}]\n[ siedmiokrotnej { [ translation seven_times ][ language polish ]}]\n[ siedmiokrotn\u0105 { [ translation seven_times ][ language polish ]}]\n[ siedmiokrotnym { [ translation seven_times ][ language polish ]}]\n\n[ bomby { [ translation shell ][ language polish ]}]\n\n[ bomby_litw_bombie { [ translation shell_of_shells ][ language polish ]}]\n[ bomba_litz_bomami { [ translation shell_of_shells ][ language polish ]}]\n[ wieloefektowa_bomba { [ translation shell_of_shells ][ language polish ]}]\n[ wielokrotna_bomba { [ translation shell_of_shells ][ language polish ]}]\n\n[ b\u0142yszcz\u0105ce { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105cy { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105ca { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105cego { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105cej { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105cym { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105c\u0105 { [ translation shimmering ][ language polish ]}]\n[ b\u0142yszcz\u0105co { [ translation shimmering ][ language polish ]}]\n\n[ kr\xf3tki { [ translation short ][ language polish ]}]\n[ kr\xf3tkiego { [ translation short ][ language polish ]}]\n[ kr\xf3tkim { [ translation short ][ language polish ]}]\n\n[ strza\u0142 { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ wystrza\u0142 { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142\xf3w { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142y { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ wystrza\u0142\xf3w { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ wystrza\u0142y { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142owa { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142owy { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142owe { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142owym { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n[ strza\u0142ow\u0105 { [ translation shot ][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ][ language polish ]}]\n\n[ cichy { [ translation silent ][ language polish ]}]\n[ cichego { [ translation silent ][ language polish ]}]\n[ cichej { [ translation silent ][ language polish ]}]\n[ cicha { [ translation silent ][ language polish ]}]\n[ cichym { [ translation silent ][ language polish ]}]\n[ cich\u0105 { [ translation silent ][ language polish ]}]\n\n[ srebrny { [ translation silver ][ language polish ]}]\n[ srebrna { [ translation silver ][ language polish ]}]\n[ srebrnego { [ translation silver ][ language polish ]}]\n[ srebrnym { [ translation silver ][ language polish ]}]\n[ srebrn\u0105 { [ translation silver ][ language polish ]}]\n[ srebrnej { [ translation silver ][ language polish ]}]\n[ srebrno { [ translation silver ][ language polish ]}]\n\n[ srebrna_ko\u0144c\xf3wka { [ translation silver_tip ][ language polish ]}]\n[ srebrny_koniuszek { [ translation silver_tip ][ language polish ]}]\n[ srebrnym_koniuszkiem { [ translation silver_tip ][ language polish ]}]\n[ srebrn\u0105_ko\u0144c\xf3wk\u0105 { [ translation silver_tip ][ language polish ]}]\n[ srebrnego_koniuszka { [ translation silver_tip ][ language polish ]}]\n[ srebrnej_ko\u0144c\xf3wki { [ translation silver_tip ][ language polish ]}]\n\n[ jednostrza\u0142\xf3wka { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142owa { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142owy { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142owego { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142owej { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142owym { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n[ jednostrza\u0142ow\u0105 { [ translation single_shot ][ impliesCandle true ][ language polish ]}]\n\n[ sze\u015bciokrotny { [ translation six_times ][ language polish ]}]\n[ sze\u015b\u0107_razy { [ translation six_times ][ language polish ]}]\n[ sze\u015bciokrotna { [ translation six_times ][ language polish ]}]\n[ sze\u015bciokrotnego { [ translation six_times ][ language polish ]}]\n[ sze\u015bciokrotnej { [ translation six_times ][ language polish ]}]\n[ sze\u015bciokrotnym { [ translation six_times ][ language polish ]}]\n[ sze\u015bciokrotn\u0105 { [ translation six_times ][ language polish ]}]\n\n[ podniebno_niebieski { [ translation sky_blue ][ language polish ]}]\n[ podniebny_niebieski { [ translation sky_blue ][ language polish ]}]\n[ podniebnym_niebieskim { [ translation sky_blue ][ language polish ]}]\n[ podniebn\u0105_niebiesk\u0105 { [ translation sky_blue ][ language polish ]}]\n[ podniebniego_niebieskiego { [ translation sky_blue ][ language polish ]}]\n[ podniebnej_niebieskiej { [ translation sky_blue ][ language polish ]}]\n[ podniebna_niebieska { [ translation sky_blue ][ language polish ]}]\n\n[ plaster { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ single_line { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language [ polish english ]]}]\n[ rz\u0105dek { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ wyrzutnia_jednorz\u0119dowa { [ translation slice ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n[ nieco_wi\u0119kszy { [ translation slightly_big ][ language polish ]}]\n[ nieco_wi\u0119kszego { [ translation slightly_big ][ language polish ]}]\n[ nieco_wi\u0119ksza { [ translation slightly_big ][ language polish ]}]\n[ nieco_wi\u0119kszej { [ translation slightly_big ][ language polish ]}]\n[ nieco_wi\u0119kszym { [ translation slightly_big ][ language polish ]}]\n[ nieco_wi\u0119ksz\u0105 { [ translation slightly_big ][ language polish ]}]\n\n[ nieco_ja\u015bniejszy { [ translation slightly_bright ][ language polish ]}]\n[ nieco_ja\u015bniejsza { [ translation slightly_bright ][ language polish ]}]\n[ nieco_ja\u015bniejszego { [ translation slightly_bright ][ language polish ]}]\n[ nieco_ja\u015bniejszej { [ translation slightly_bright ][ language polish ]}]\n[ nieco_ja\u015bniejszym { [ translation slightly_bright ][ language polish ]}]\n[ nieco_ja\u015bniejsz\u0105 { [ translation slightly_bright ][ language polish ]}]\n\n[ g\u0119stszy { [ translation slightly_dense ][ language polish ]}]\n[ nieco_bardziej_g\u0119sty { [ translation slightly_dense ][ language polish ]}]\n[ g\u0119stszego { [ translation slightly_dense ][ language polish ]}]\n[ g\u0119stszej { [ translation slightly_dense ][ language polish ]}]\n[ g\u0119stsz\u0105 { [ translation slightly_dense ][ language polish ]}]\n[ nieco_bardziej_g\u0119stego { [ translation slightly_dense ][ language polish ]}]\n[ nieco_bardziej_g\u0119stej { [ translation slightly_dense ][ language polish ]}]\n[ nieco_bardziej_g\u0119stym { [ translation slightly_dense ][ language polish ]}]\n[ nieco_bardziej_g\u0119st\u0105 { [ translation slightly_dense ][ language polish ]}]\n\n[ nieco_ciemniejszy { [ translation slightly_dim ][ language polish ]}]\n[ mniej_jasny { [ translation slightly_dim ][ language polish ]}]\n[ nieco_ciemniejsza { [ translation slightly_dim ][ language polish ]}]\n[ nieco_ciemniejszego { [ translation slightly_dim ][ language polish ]}]\n[ nieco_ciemniejszej { [ translation slightly_dim ][ language polish ]}]\n[ nieco_ciemniejszym { [ translation slightly_dim ][ language polish ]}]\n[ nieco_ciemniejsz\u0105 { [ translation slightly_dim ][ language polish ]}]\n\n[ nieco_d\u0142u\u017cszy { [ translation slightly_long ][ language polish ]}]\n[ nieco_d\u0142usza { [ translation slightly_long ][ language polish ]}]\n[ nieco_d\u0142u\u017cszego { [ translation slightly_long ][ language polish ]}]\n[ nieco_d\u0142u\u017cszej { [ translation slightly_long ][ language polish ]}]\n[ nieco_d\u0142u\u017cszym { [ translation slightly_long ][ language polish ]}]\n[ nieco_d\u0142u\u017csz\u0105 { [ translation slightly_long ][ language polish ]}]\n\n[ nieco_kr\xf3tszy { [ translation slightly_short ][ language polish ]}]\n[ nieco_kr\xf3tsza { [ translation slightly_short ][ language polish ]}]\n[ nieco_kr\xf3tszego { [ translation slightly_short ][ language polish ]}]\n[ nieco_kr\xf3tszej { [ translation slightly_short ][ language polish ]}]\n[ nieco_kr\xf3tszym { [ translation slightly_short ][ language polish ]}]\n\n[ nieco_mniejszy { [ translation slightly_small ][ language polish ]}]\n[ nieco_mniejsza { [ translation slightly_small ][ language polish ]}]\n[ nieco_mniejszego { [ translation slightly_small ][ language polish ]}]\n[ nieco_mniejszej { [ translation slightly_small ][ language polish ]}]\n[ nieco_mniejszym { [ translation slightly_small ][ language polish ]}]\n[ nieco_mniejsz\u0105 { [ translation slightly_small ][ language polish ]}]\n\n[ nieco_rzadszy { [ translation slightly_sparse ][ language polish ]}]\n[ nieco_rzadszego { [ translation slightly_sparse ][ language polish ]}]\n[ nieco_rzadsza { [ translation slightly_sparse ][ language polish ]}]\n[ nieco_rzadszej { [ translation slightly_sparse ][ language polish ]}]\n[ nieco_rzadszym { [ translation slightly_sparse ][ language polish ]}]\n[ nieco_rzadsz\u0105 { [ translation slightly_sparse ][ language polish ]}]\n\n[ nieco_grubszy { [ translation slightly_thick ][ language polish ]}]\n[ nieco_grubsza { [ translation slightly_thick ][ language polish ]}]\n[ nieco_grubszego { [ translation slightly_thick ][ language polish ]}]\n[ nieco_grubszej { [ translation slightly_thick ][ language polish ]}]\n[ nieco_grubszym { [ translation slightly_thick ][ language polish ]}]\n[ nieco_grubsz\u0105 { [ translation slightly_thick ][ language polish ]}]\n\n[ nieco_chudszy { [ translation slightly_thin ][ language polish ]}]\n[ nieco_chudsza { [ translation slightly_thin ][ language polish ]}]\n[ nieco_chudszego { [ translation slightly_thin ][ language polish ]}]\n[ nieco_chudszej { [ translation slightly_thin ][ language polish ]}]\n[ nieco_chudszym { [ translation slightly_thin ][ language polish ]}]\n[ nieco_chudsz\u0105 { [ translation slightly_thin ][ language polish ]}]\n\n[ ma\u0142y { [ translation small ][ language polish ]}]\n[ ma\u0142a { [ translation small ][ language polish ]}]\n[ ma\u0142ego { [ translation small ][ language polish ]}]\n[ ma\u0142ej { [ translation small ][ language polish ]}]\n[ ma\u0142ym { [ translation small ][ language polish ]}]\n[ ma\u0142\u0105 { [ translation small ][ language polish ]}]\n\n[ u\u015bmiechni\u0119ta_twarz { [ translation smiley_face ][ language polish ]}]\n[ u\u015bmiech { [ translation smiley_face ][ language polish ]}]\n[ u\u015bmiechni\u0119t\u0105_twarz\u0105 { [ translation smiley_face ][ language polish ]}]\n[ u\u015bmiechem { [ translation smiley_face ][ language polish ]}]\n\n[ bezdymny { [ translation smokeless ][ language polish ]}]\n[ bezdymna { [ translation smokeless ][ language polish ]}]\n[ bezdymnej { [ translation smokeless ][ language polish ]}]\n[ bezdymnego { [ translation smokeless ][ language polish ]}]\n[ bezdymnym { [ translation smokeless ][ language polish ]}]\n[ bezdymn\u0105 { [ translation smokeless ][ language polish ]}]\n\n[ b\u0142yskocz\u0105cy { [ translation spangle ][ language polish ]}]\n[ b\u0142yskocz\u0105ca { [ translation spangle ][ language polish ]}]\n[ b\u0142yskocz\u0105cego { [ translation spangle ][ language polish ]}]\n[ b\u0142yskocz\u0105cej { [ translation spangle ][ language polish ]}]\n[ b\u0142yskocz\u0105cym { [ translation spangle ][ language polish ]}]\n[ b\u0142yskocz\u0105c\u0105 { [ translation spangle ][ language polish ]}]\n\n[ rzadki { [ translation sparse ][ language polish ]}]\n[ rzadka { [ translation sparse ][ language polish ]}]\n[ rzadkiego { [ translation sparse ][ language polish ]}]\n[ rzadkiej { [ translation sparse ][ language polish ]}]\n[ rzadkim { [ translation sparse ][ language polish ]}]\n[ rzadk\u0105 { [ translation sparse ][ language polish ]}]\n\n[ paj\u0105k { [ translation spider ][ language polish ]}]\n[ paj\u0105ku { [ translation spider ][ language polish ]}]\n[ paj\u0105kiem { [ translation spider ][ language polish ]}]\n\n[ kolec { [ translation spike ][ language polish ]}]\n[ kolcem { [ translation spike ][ language polish ]}]\n[ kolca { [ translation spike ][ language polish ]}]\n\n[ toczek { [ translation spinners ][ language polish ]}]\n[ wir { [ translation spinners ][ language polish ]}]\n[ wiru { [ translation spinners ][ language polish ]}]\n[ wirem { [ translation spinners ][ language polish ]}]\n[ toczkiem { [ translation spinners ][ language polish ]}]\n[ toczka { [ translation spinners ][ language polish ]}]\n\n[ witra\u017c { [ translation stained_glass ][ language polish ]}]\n[ witra\u017cem { [ translation stained_glass ][ language polish ]}]\n[ witra\u017cu { [ translation stained_glass ][ language polish ]}]\n\n[ oscyluj\u0105cy { [ translation strobing ][ language polish ]}]\n[ oscyluj\u0105cego { [ translation strobing ][ language polish ]}]\n[ oscyluj\u0105cym { [ translation strobing ][ language polish ]}]\n[ oscyluj\u0105ca { [ translation strobing ][ language polish ]}]\n[ oscyluj\u0105cej { [ translation strobing ][ language polish ]}]\n[ oscyluj\u0105c\u0105 { [ translation strobing ][ language polish ]}]\n\n[ s\u0142onecznik { [ translation sunflower ][ language polish ]}]\n[ s\u0142onecznika { [ translation sunflower ][ language polish ]}]\n[ s\u0142onecznikiem { [ translation sunflower ][ language polish ]}]\n\n[ ogon { [ translation tail ][ language polish ]}]\n[ ogonem { [ translation tail ][ language polish ]}]\n[ ogona { [ translation tail ][ language polish ]}]\n\n[ dziesi\u0119ciokrotny { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119\u0107_razy { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119ciokrotna { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119ciokrotnego { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119ciokrotnej { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119ciokrotnym { [ translation ten_times ][ language polish ]}]\n[ dziesi\u0119ciokrotn\u0105 { [ translation ten_times ][ language polish ]}]\n\n[ gruby { [ translation thick ][ language polish ]}]\n[ gruba { [ translation thick ][ language polish ]}]\n[ grubego { [ translation thick ][ language polish ]}]\n[ grubej { [ translation thick ][ language polish ]}]\n[ grubym { [ translation thick ][ language polish ]}]\n[ grub\u0105 { [ translation thick ][ language polish ]}]\n\n[ chudy { [ translation thin ][ language polish ]}]\n[ chuda { [ translation thin ][ language polish ]}]\n[ chudego { [ translation thin ][ language polish ]}]\n[ chudej { [ translation thin ][ language polish ]}]\n[ chudym { [ translation thin ][ language polish ]}]\n[ chud\u0105 { [ translation thin ][ language polish ]}]\n\n[ trzyna\u015bcie_razy { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotny { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotna { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotnego { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotnej { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotnym { [ translation thirty_times ][ language polish ]}]\n[ trzynastokrotn\u0105 { [ translation thirty_times ][ language polish ]}]\n\n[ trzy_razy { [ translation three_times ][ language polish ]}]\n[ trzykrotny { [ translation three_times ][ language polish ]}]\n\n[ tygrysi_ogon { [ translation tiger_tail ][ language polish ]}]\n[ ogona_tygrysa { [ translation tiger_tail ][ language polish ]}]\n[ ogona_tygrysiego { [ translation tiger_tail ][ language polish ]}]\n[ ogonem_tygrysim { [ translation tiger_tail ][ language polish ]}]\n[ ogonem_tygrysa { [ translation tiger_tail ][ language polish ]}]\n[ ogon_tygrysa { [ translation tiger_tail ][ language polish ]}]\n\n[ deszcz { [ translation time_rain ][ language polish ]}]\n[ deszczowy { [ translation time_rain ][ language polish ]}]\n[ deszczowa { [ translation time_rain ][ language polish ]}]\n[ deszczowego { [ translation time_rain ][ language polish ]}]\n[ deszczowej { [ translation time_rain ][ language polish ]}]\n\n[ tytan { [ translation titanium ][ language [ polish maltese ]]}]\n[ tytanowa { [ translation titanium ][ language polish ]}]\n[ tytanowy { [ translation titanium ][ language polish ]}]\n[ tytanowego { [ translation titanium ][ language polish ]}]\n[ tytanowej { [ translation titanium ][ language polish ]}]\n[ tytanowym { [ translation titanium ][ language polish ]}]\n[ tytanow\u0105 { [ translation titanium ][ language polish ]}]\n\n[ tytanowy_huk { [ translation titanium_report ][ language polish ]}]\n[ tytanowego_huku { [ translation titanium_report ][ language polish ]}]\n[ tytanowym_hukiem { [ translation titanium_report ][ language polish ]}]\n\n[ tytanowy_salut { [ translation titanium_salute ][ language polish ]}]\n[ tytanowego_saluta { [ translation titanium_salute ][ language polish ]}]\n[ tytanowym_salutem { [ translation titanium_salute ][ language polish ]}]\n\n[ do { [ translation to ][ language polish ]}]\n[ przemieniaj\u0105cy_si\u0119_litw { [ translation to ][ language polish ]}]\n[ przechodz\u0105cy_litw { [ translation to ][ language polish ]}]\n[ przemieniaj\u0105ca_si\u0119_litw { [ translation to ][ language polish ]}]\n[ przechodz\u0105ca_litw { [ translation to ][ language polish ]}]\n[ przeistaczaj\u0105cy_si\u0119 { [ translation to ][ language polish ]}]\n[ przeistaczaj\u0105ca_si\u0119_litw { [ translation to ][ language polish ]}]\n\n[ wierchnia_po\u0142owa { [ translation top_half ][ language polish ]}]\n[ wierzchniej_po\u0142owy { [ translation top_half ][ language polish ]}]\n[ wierzchni\u0105_po\u0142ow\u0105 { [ translation top_half ][ language polish ]}]\n\n[ tornado { [ translation tourbillions ][ language polish ]}]\n[ tornada { [ translation tourbillions ][ language polish ]}]\n[ tornadem { [ translation tourbillions ][ language polish ]}]\n\n[ smuga { [ translation trail ][ language polish ]}]\n[ \u015blad { [ translation trail ][ language polish ]}]\n[ smugi { [ translation trail ][ language polish ]}]\n[ smug\u0105 { [ translation trail ][ language polish ]}]\n[ \u015bladu { [ translation trail ][ language polish ]}]\n[ \u015bladem { [ translation trail ][ language polish ]}]\n\n[ trzy_pier\u015bcienie_litw_\u015brodku { [ translation triple_concentric_rings ][ language polish ]}]\n[ trzech_pier\u015bcieni_litw_\u015brodku { [ translation triple_concentric_rings ][ language polish ]}]\n[ trzema_pier\u015bcieniami_litw_\u015brodku { [ translation triple_concentric_rings ][ language polish ]}]\n\n[ trzy_przeplecione_pier\u015bcienie { [ translation triple_cross_rings ][ language polish ]}]\n[ trzy_splecione_pier\u015bcienie { [ translation triple_cross_rings ][ language polish ]}]\n[ trzech_przeplecionych_pier\u015bcieni { [ translation triple_cross_rings ][ language polish ]}]\n[ trzech_splecionych_pier\u015bcieni { [ translation triple_cross_rings ][ language polish ]}]\n[ trzema_przeplecionymi_pier\u015bcieniami { [ translation triple_cross_rings ][ language polish ]}]\n[ trzeba_splecionymi_pier\u015bcieniami { [ translation triple_cross_rings ][ language polish ]}]\n\n[ trzy_p\xf3\u0142pier\u015bcienie { [ translation triple_half_rings ][ language polish ]}]\n\n[ trzy_pier\u015bcienie { [ translation triple_rings ][ language polish ]}]\n[ trzech_pier\u015bcieni { [ translation triple_rings ][ language polish ]}]\n[ trzema_pier\u015bcieniami { [ translation triple_rings ][ language polish ]}]\n\n[ tulipan { [ translation tulip ][ language polish ]}]\n[ tulipana { [ translation tulip ][ language polish ]}]\n[ tulipanem { [ translation tulip ][ language polish ]}]\n\n\n[ turkus { [ translation turquoise ][ language polish ]}]\n[ turkusa { [ translation turquoise ][ language polish ]}]\n[ turkusem { [ translation turquoise ][ language polish ]}]\n[ turkusowo { [ translation turquoise ][ language polish ]}]\n[ turkusowy { [ translation turquoise ][ language polish ]}]\n[ turkusowego { [ translation turquoise ][ language polish ]}]\n[ turkusowa { [ translation turquoise ][ language polish ]}]\n[ turkusowej { [ translation turquoise ][ language polish ]}]\n[ turkusowym { [ translation turquoise ][ language polish ]}]\n[ turkusow\u0105 { [ translation turquoise ][ language polish ]}]\n\n[ dwudziestokrotny { [ translation twenty_times ][ language polish ]}]\n[ dwadzie\u015bcia_razy { [ translation twenty_times ][ language polish ]}]\n[ dwudziestokrotna { [ translation twenty_times ][ language polish ]}]\n[ dwudziestokrotnego { [ translation twenty_times ][ language polish ]}]\n[ dwudziestokrotnej { [ translation twenty_times ][ language polish ]}]\n[ dwudziestokrotnym { [ translation twenty_times ][ language polish ]}]\n[ dwudziestokrotn\u0105 { [ translation twenty_times ][ language polish ]}]\n\n[ mroczne_migotanie { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105cy { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105ca { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105cego { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105cej { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105cym { [ translation twilight_glitter ][ language polish ]}]\n[ mrocznie_migocz\u0105c\u0105 { [ translation twilight_glitter ][ language polish ]}]\n[ migotliwy { [ translation twinkling ][ language polish ]}]\n[ migotliwa { [ translation twinkling ][ language polish ]}]\n[ migotliwego { [ translation twinkling ][ language polish ]}]\n[ migotliwej { [ translation twinkling ][ language polish ]}]\n[ migotliwym { [ translation twinkling ][ language polish ]}]\n[ migotliw\u0105 { [ translation twinkling ][ language polish ]}]\n\n[ dwukrotny { [ translation two_times ][ language polish ]}]\n[ dwa_razy { [ translation two_times ][ language polish ]}]\n[ dwukrotna { [ translation two_times ][ language polish ]}]\n[ dwukrotnego { [ translation two_times ][ language polish ]}]\n[ dwukrotnej { [ translation two_times ][ language polish ]}]\n[ dwukrotnym { [ translation two_times ][ language polish ]}]\n[ dwukrotn\u0105 { [ translation two_times ][ language polish ]}]\n\n[ bardzo_szybki { [ translation ultrafast ][ language polish ]}]\n[ bardzo_szybka { [ translation ultrafast ][ language polish ]}]\n[ ultra_szybki_ultra_szybka { [ translation ultrafast ][ language polish ]}]\n[ ultra_szybkiego { [ translation ultrafast ][ language polish ]}]\n[ ultra_szybkiej { [ translation ultrafast ][ language polish ]}]\n[ bardzo_szybkiego { [ translation ultrafast ][ language polish ]}]\n[ bardzo_szybkiej { [ translation ultrafast ][ language polish ]}]\n[ ultra_szybkim { [ translation ultrafast ][ language polish ]}]\n[ ultra_szybk\u0105 { [ translation ultrafast ][ language polish ]}]\n[ bardzo_szybk\u0105 { [ translation ultrafast ][ language polish ]}]\n[ bardzo_szybkim { [ translation ultrafast ][ language polish ]}]\n\n[ parasol { [ translation umbrella ][ language polish ]}]\n[ parasola { [ translation umbrella ][ language polish ]}]\n[ parasolem { [ translation umbrella ][ language polish ]}]\n[ parasolk\u0105 { [ translation umbrella ][ language polish ]}]\n[ parasolka { [ translation umbrella ][ language polish ]}]\n\n[ kszta\u0142t_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ w_kszta\u0142cie_litery_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ o_kszta\u0142cie_litery_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ strzelaj\u0105ca_w_kszta\u0142cie_litery_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ maj\u0105ca_kszta\u0142t_litery_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n[ pstrokaty { [ translation variegated ][ language polish ]}]\n[ kolorowy { [ translation variegated ][ language polish ]}]\n[ pstrokata { [ translation variegated ][ language polish ]}]\n[ kolorowa { [ translation variegated ][ language polish ]}]\n[ pstrokatego { [ translation variegated ][ language polish ]}]\n[ kolorowego { [ translation variegated ][ language polish ]}]\n[ pstrokatej { [ translation variegated ][ language polish ]}]\n[ kolorowej { [ translation variegated ][ language polish ]}]\n[ pstrokatym { [ translation variegated ][ language polish ]}]\n[ kolorowym { [ translation variegated ][ language polish ]}]\n[ pstrokat\u0105 { [ translation variegated ][ language polish ]}]\n[ kolorow\u0105 { [ translation variegated ][ language polish ]}]\n[ pstrokato { [ translation variegated ][ language polish ]}]\n[ kolorowo { [ translation variegated ][ language polish ]}]\n\n[ bardzo_du\u017cy { [ translation very_big ][ language polish ]}]\n[ bardzo_du\u017ca { [ translation very_big ][ language polish ]}]\n[ bardzo_du\u017cego { [ translation very_big ][ language polish ]}]\n[ bardzo_du\u017cej { [ translation very_big ][ language polish ]}]\n[ bardzo_du\u017cym { [ translation very_big ][ language polish ]}]\n[ bardzo_du\u017c\u0105 { [ translation very_big ][ language polish ]}]\n\n[ bardzo_jasny { [ translation very_bright ][ language polish ]}]\n[ bardzo_jasna { [ translation very_bright ][ language polish ]}]\n[ bardzo_jasnego { [ translation very_bright ][ language polish ]}]\n[ bardzo_jasnej { [ translation very_bright ][ language polish ]}]\n[ bardzo_jasnym { [ translation very_bright ][ language polish ]}]\n[ bardzo_jasn\u0105 { [ translation very_bright ][ language polish ]}]\n\n[ bardzo_g\u0119sty { [ translation very_dense ][ language polish ]}]\n[ bardzo_g\u0119stego { [ translation very_dense ][ language polish ]}]\n[ bardzo_g\u0119sta { [ translation very_dense ][ language polish ]}]\n[ bardzo_g\u0119stej { [ translation very_dense ][ language polish ]}]\n[ bardzo_g\u0119stym { [ translation very_dense ][ language polish ]}]\n[ bardzo_g\u0119st\u0105 { [ translation very_dense ][ language polish ]}]\n\n[ bardzo_przy\u0107miony { [ translation very_dim ][ language polish ]}]\n[ bardzo_przy\u0107miona { [ translation very_dim ][ language polish ]}]\n[ bardzo_prz\u0107mionego { [ translation very_dim ][ language polish ]}]\n[ bardzo_przy\u0107mionej { [ translation very_dim ][ language polish ]}]\n[ bardzo_przy\u0107mionym { [ translation very_dim ][ language polish ]}]\n[ bardzo_przy\u0107mion\u0105 { [ translation very_dim ][ language polish ]}]\n\n[ bardzo_d\u0142ugi { [ translation very_long ][ language polish ]}]\n[ bardzo_d\u0142ugiego { [ translation very_long ][ language polish ]}]\n[ bardzo_d\u0142ugiej { [ translation very_long ][ language polish ]}]\n[ bardzo_d\u0142uga { [ translation very_long ][ language polish ]}]\n[ bardzo_d\u0142ugim { [ translation very_long ][ language polish ]}]\n[ bardzo_d\u0142ug\u0105 { [ translation very_long ][ language polish ]}]\n\n[ bardzo_kr\xf3tki { [ translation very_short ][ language polish ]}]\n[ bardzo_kr\xf3tka { [ translation very_short ][ language polish ]}]\n[ bardzo_kr\xf3tkiego { [ translation very_short ][ language polish ]}]\n[ bardzo_kr\xf3tkiej { [ translation very_short ][ language polish ]}]\n[ bardzo_kr\xf3tkim { [ translation very_short ][ language polish ]}]\n[ bardzo_kr\xf3tk\u0105 { [ translation very_short ][ language polish ]}]\n\n[ bardzo_ma\u0142y { [ translation very_small ][ language polish ]}]\n[ bardzo_ma\u0142a { [ translation very_small ][ language polish ]}]\n[ bardzo_ma\u0142ego { [ translation very_small ][ language polish ]}]\n[ bardzo_ma\u0142ej { [ translation very_small ][ language polish ]}]\n[ bardzo_ma\u0142\u0105 { [ translation very_small ][ language polish ]}]\n[ bardzo_ma\u0142ym { [ translation very_small ][ language polish ]}]\n\n[ bardzo_rzadki { [ translation very_sparse ][ language polish ]}]\n[ bardzo_rzadka { [ translation very_sparse ][ language polish ]}]\n[ bardzo_rzadkiego { [ translation very_sparse ][ language polish ]}]\n[ bardzo_rzadkiej { [ translation very_sparse ][ language polish ]}]\n[ bardzo_rzadkim { [ translation very_sparse ][ language polish ]}]\n[ bardzko_rzadk\u0105 { [ translation very_sparse ][ language polish ]}]\n\n[ bardzo_gruby { [ translation very_thick ][ language polish ]}]\n[ bardzo_gruba { [ translation very_thick ][ language polish ]}]\n[ bardzo_grubego { [ translation very_thick ][ language polish ]}]\n[ bardzo_grubej { [ translation very_thick ][ language polish ]}]\n[ bardzo_grubym { [ translation very_thick ][ language polish ]}]\n[ bardzo_grub\u0105 { [ translation very_thick ][ language polish ]}]\n\n[ bardzo_chudy { [ translation very_thin ][ language polish ]}]\n[ bardzo_chuda { [ translation very_thin ][ language polish ]}]\n[ bardzo_chudego { [ translation very_thin ][ language polish ]}]\n[ bardzo_chudej { [ translation very_thin ][ language polish ]}]\n[ bardzo_chudym { [ translation very_thin ][ language polish ]}]\n[ bardzo_chud\u0105 { [ translation very_thin ][ language polish ]}]\n\n[ fiolet { [ translation violet ][ language polish ]}]\n[ fioletowy { [ translation violet ][ language polish ]}]\n[ fioletowa { [ translation violet ][ language polish ]}]\n[ fioletowego { [ translation violet ][ language polish ]}]\n[ fioletowej { [ translation violet ][ language polish ]}]\n[ fioletowym { [ translation violet ][ language polish ]}]\n[ fioletow\u0105 { [ translation violet ][ language polish ]}]\n[ fioletowo { [ translation violet ][ language polish ]}]\n\n[ kszta\u0142t_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ w_kszta\u0142cie_litery_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ lito_kszta\u0142cie_litery_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ strzelaj\u0105ca_w_kszta\u0142cie_litery_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ maj\u0105ca_kszta\u0142t_litery_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n[ wodospad { [ translation waterfall ][ language polish ]}]\n[ wodospadu { [ translation waterfall ][ language polish ]}]\n[ wodospadem { [ translation waterfall ][ language polish ]}]\n\n[ fala { [ translation wave ][ language polish ]}]\n[ fali { [ translation wave ][ language polish ]}]\n[ fal\u0105 { [ translation wave ][ language polish ]}]\n\n[ ko\u0142o { [ translation wheel ][ language polish ]}]\n[ ko\u0142a { [ translation wheel ][ language polish ]}]\n[ ko\u0142em { [ translation wheel ][ language polish ]}]\n\n[ wiruj\u0105ce { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105ca { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105cy { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105cego { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105cej { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105cym { [ translation whirls ][ language polish ]}]\n[ wiruj\u0105c\u0105 { [ translation whirls ][ language polish ]}]\n\n[ gwi\u017cd\u017c\u0105ce { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105cy { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105ca { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105cego { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105cej { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105cym { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105c\u0105 { [ translation whistles ][ language polish ]}]\n[ gwi\u017cd\u017c\u0105co { [ translation whistles ][ language polish ]}]\n\n[ bia\u0142y { [ translation white ][ language polish ]}]\n[ bia\u0142ego { [ translation white ][ language polish ]}]\n[ bia\u0142ej { [ translation white ][ language polish ]}]\n[ bia\u0142ym { [ translation white ][ language polish ]}]\n[ bia\u0142\u0105 { [ translation white ][ language polish ]}]\n\n[ wierzba { [ translation willow ][ language polish ]}]\n[ wierzby { [ translation willow ][ language polish ]}]\n[ wierzb\u0105 { [ translation willow ][ language polish ]}]\n\n[ litz { [ translation wi ][ language polish ]}]\n[ ze { [ translation wi ][ language polish ]}]\n[ oraz { [ translation wi ][ language polish ]}] // conflicts with \'and\'\n[ wraz_litz { [ translation wi ][ language polish ]}]\n\n[ kszta\u0142t_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ w_kszta\u0142cie_litery_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ lito_kszta\u0142cie_litery_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ strzelaj\u0105ca_w_kszta\u0142cie_litery_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ maj\u0105ca_kszta\u0142t_litery_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n[ \u017c\xf3\u0142ty { [ translation yellow ][ language polish ]}]\n[ z\xf3\u0142ta { [ translation yellow ][ language polish ]}]\n[ \u017c\xf3\u0142tego { [ translation yellow ][ language polish ]}]\n[ \u017c\xf3\u0142tej { [ translation yellow ][ language polish ]}]\n[ \u017c\xf3\u0142tym { [ translation yellow ][ language polish ]}]\n[ \u017c\xf3\u0142t\u0105 { [ translation yellow ][ language polish ]}]\n[ \u017c\xf3\u0142to { [ translation yellow ][ language polish ]}]\n\n[ kszta\u0142t_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ w_kszta\u0142cie_litery_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ lito_kszta\u0142cie_litery_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ strzelaj\u0105ca_w_kszta\u0142cie_litery_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n[ maj\u0105ca_kszta\u0142t_litery_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language polish ]}]\n\n\n[ bomba_dupla { [ translation peanut_shell ][ language portuguese ]}]\n[ pess\xeago { [ translation peach ][ language portuguese ]}]\n[ pess\xeagos { [ translation peach ][ language portuguese ]}]\n[ pessego { [ translation peach ][ language portuguese ]}]\n[ pessegos { [ translation peach ][ language portuguese ]}]\n\n[ p\xe9rola { [ translation pearl ][ language portuguese ]}]\n[ p\xe9rolas { [ translation pearl ][ language portuguese ]}]\n[ perola { [ translation pearl ][ language portuguese ]}]\n[ perolas { [ translation pearl ][ language portuguese ]}]\n\n[ pe\xf4nia { [ translation peony ][ language portuguese ]}]\n\n[ posi\xe7\xe3o_marcada { [ translation placeholder ][ language portuguese ]}]\n[ posi\xe7ao_marcada { [ translation placeholder ][ language portuguese ]}]\n[ posicao_marcada { [ translation placeholder ][ language portuguese ]}]\n[ posic\xe3o_marcada { [ translation placeholder ][ language portuguese ]}]\n\n[ prato { [ translation plate ][ isPieceToken true ][ impliesCake true ][ language portuguese ] }] \n\n[ ameixa { [ translation plum ][ language portuguese ]}]\n[ ameixas { [ translation plum ][ language portuguese ]}]\n\n[ pipoca_cracker { [ translation popcorn_crackle ][ language portuguese ]}]\n[ pipocas_cracker { [ translation popcorn_crackle ][ language portuguese ]}]\n[ pipoca_crackling { [ translation popcorn_crackle ][ language portuguese ]}]\n[ pipocas_crackling { [ translation popcorn_crackle ][ language portuguese ]}]\n\n[ pr\xe9_fogo { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language portuguese ] }] \n[ pre_fogo { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language portuguese ] }] \n[ prefogo { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language portuguese ] }] \n\n[ tempo_subida { [ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language portuguese ] }] \n\n\n\n[ roxa { [ translation purple ][ language portuguese ]}]\n[ roxas { [ translation purple ][ language portuguese ]}]\n[ rx { [ translation purple ][ language portuguese ]}]\n\n[ arco_\xedris { [ translation rainbow ][ language portuguese ]}]\n\n[ vermelho { [ translation red ][ language portuguese ]}]\n[ vermelha { [ translation red ][ language portuguese ]}]\n[ vermelhos { [ translation red ][ language portuguese ]}]\n[ vermelhas { [ translation red ][ language portuguese ]}]\n[ vm { [ translation red ][ language portuguese ]}]\n\t\n[ rel\xe2mpagos { [ translation relampagos ][ language portuguese ]}]\n\n[ estralo { [ translation report ][ language portuguese ]}]\n[ estralos { [ translation report ][ language portuguese ]}]\n\n[ anel { [ translation ring ][ language portuguese ]}]\n[ an\xe9is { [ translation ring ][ language portuguese ]}]\n[ aneis { [ translation ring ][ language portuguese ]}]\n\n[ subida { [ translation rising ][ language portuguese ]}]\n[ subidas { [ translation rising ][ language portuguese ]}]\n\n[ flores_de_subida { [ translation rising_flowers ][ language portuguese ]}]\n\n[ roj\xe3o { [ translation rocket ][ language portuguese ]}]\n[ rojao { [ translation rocket ][ language portuguese ]}]\n\n[ multi_cor { [ translation multi_color ][ language portuguese ]}]\n[ multicor { [ translation multi_color ][ language portuguese ]}]\n[ mesma_cor { [ translation same_color ][ language portuguese ]}]\n[ mesmas_cores { [ translation same_color ][ language portuguese ]}]\n\n[ dan\xe7antes { [ translation scattering ][ language portuguese ]}]\n[ dancantes { [ translation scattering ][ language portuguese ]}]\n\n[ serpente { [ translation serpents ][ language portuguese ]}]\n[ serpentes { [ translation serpents ][ language portuguese ]}]\n[ cobra { [ translation serpents ][ language portuguese ]}]\n[ cobras { [ translation serpents ][ language portuguese ]}]\n\n[ sete_vezes { [ translation seven_times ][ language portuguese ]}]\n\t\n[ bomba_recheada { [ translation shell_of_shells ][ language portuguese ]}]\n[ bomba_em_escala { [ translation shell_of_shells ][ language portuguese ]}]\n[ bomba_barriga_de_aluguel { [ translation shell_of_shells ][ language portuguese ]}]\n\n[ tremulante { [ translation shimmering ][ language portuguese ]}]\n[ tremulantes { [ translation shimmering ][ language portuguese ]}]\n\n[ curto { [ translation short ][ language portuguese ]}]\n[ curta { [ translation short ][ language portuguese ]}]\n[ curtos { [ translation short ][ language portuguese ]}]\n[ curtas { [ translation short ][ language portuguese ]}]\n[ r\xe1pido { [ translation short ][ language portuguese ]}]\n[ r\xe1pidos { [ translation short ][ language portuguese ]}]\n[ r\xe1pida { [ translation short ][ language portuguese ]}]\n[ r\xe1pidas { [ translation short ][ language portuguese ]}]\n\n[ lan\xe7amento { [ translation shuttle ][ language portuguese ]}]\n[ lancamento { [ translation shuttle ][ language portuguese ]}]\n\n[ silencioso { [ translation silent ][ language portuguese ]}]\n[ silenciosa { [ translation silent ][ language portuguese ]}]\n[ silenciosos { [ translation silent ][ language portuguese ]}]\n[ silenciosas { [ translation silent ][ language portuguese ]}]\n\n[ prata { [ translation silver ][ language portuguese ]}]\n[ pratas { [ translation silver ][ language portuguese ]}]\n\n[ ponta_prata { [ translation silver_tip ][ language portuguese ]}]\n\t\n[ mono_disparo { [ translation single_shot ][ language [ portuguese ]][ impliesCandle true ]}]\n[ monodisparo { [ translation single_shot ][ language [ portuguese ]][ impliesCandle true ]}]\n[ tubo_individual { [ translation single_shot ][ language [ portuguese ]][ impliesCandle true ]}]\n[ foguete { [ translation single_shot ][ language [ portuguese ]][ impliesCandle true ]}]\n\n[ seis_vezes { [ translation six_times ][ language portuguese ]}]\n\n[ azul_c\xe9u { [ translation sky_blue ][ language portuguese ]}]\n[ azul_ceu { [ translation sky_blue ][ language portuguese ]}]\n\n[ placa {[ translation slice ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ placas {[ translation slice ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n\t\n[ levemente_grande {[ translation slightly_big ][ language portuguese ]}]\n[ levemente_brilhante {[ translation slightly_bright ][ language portuguese ]}]\n[ levemente_denso {[ translation slightly_dense ][ language portuguese ]}]\n[ levemente_cheio {[ translation slightly_dense ][ language portuguese ]}]\n[ levemente_cheia {[ translation slightly_dense ][ language portuguese ]}]\n[ levemente_tenuo_levemente_tenua {[ translation slightly_dim ][ language portuguese ]}]\n[ levemente_tenuos {[ translation slightly_dim ][ language portuguese ]}]\n[ levemente_tenuas {[ translation slightly_dim ][ language portuguese ]}]\n\n[ levemente_longo {[ translation slightly_long ][ language portuguese ]}]\n[ levemente_curto {[ translation slightly_short ][ language portuguese ]}]\n[ levemente_curta {[ translation slightly_short ][ language portuguese ]}]\n[ levemente_curtos {[ translation slightly_short ][ language portuguese ]}]\n[ levemente_curtas {[ translation slightly_short ][ language portuguese ]}]\n[ levemente_pequeno {[ translation slightly_small ][ language portuguese ]}]\n[ levemente_pequena {[ translation slightly_small ][ language portuguese ]}]\n[ levemente_pequenos {[ translation slightly_small ][ language portuguese ]}]\n[ levemente_pequenas {[ translation slightly_small ][ language portuguese ]}]\n\n[ levemente_disperso {[ translation slightly_sparse ][ language portuguese ]}]\n[ levemente_dispersa {[ translation slightly_sparse ][ language portuguese ]}]\n[ levemente_dispersos {[ translation slightly_sparse ][ language portuguese ]}]\n[ levemente_disperas {[ translation slightly_sparse ][ language portuguese ]}]\n[ levemente_longe {[ translation slightly_sparse ][ language portuguese ]}]\n[ levemente_longes {[ translation slightly_sparse ][ language portuguese ]}]\n\n[ levemente_grosso { [ translation slightly_thick ][ language portuguese ]}]\n[ levemente_grossa { [ translation slightly_thick ][ language portuguese ]}]\n[ levemente_grossos { [ translation slightly_thick ][ language portuguese ]}]\n[ levemente_grossas { [ translation slightly_thick ][ language portuguese ]}]\n\t\n[ levemente_fraco { [ translation slightly_thin ][ language portuguese ]}]\n[ levemente_fraca { [ translation slightly_thin ][ language portuguese ]}]\n[ levemente_fracos { [ translation slightly_thin ][ language portuguese ]}]\n[ levemente_fracas { [ translation slightly_thin ][ language portuguese ]}]\n\n[ sorriso { [ translation smiley_face ][ language portuguese ]}]\n[ carinha_feliz { [ translation smiley_face ][ language portuguese ]}]\n[ rosto_feliz { [ translation smiley_face ][ language portuguese ]}]\n\n[ sem_fuma\xe7a { [ translation smokeless ][ language portuguese ]}]\n[ sem_fumaca { [ translation smokeless ][ language portuguese ]}]\n\n[ lantejoula { [ translation spangle ][ language portuguese ]}]\n[ lantejoulas { [ translation spangle ][ language portuguese ]}]\n[ lant { [ translation spangle ][ language portuguese ]}]\n\n[ aranha { [ translation spider ][ language portuguese ]}]\n[ aranhas { [ translation spider ][ language portuguese ]}]\n\n[ roda_girat\xf3ria { [ translation spinners ][ language portuguese ]}]\n[ rodas_girat\xf3rias { [ translation spinners ][ language portuguese ]}]\n[ roda_giratoria { [ translation spinners ][ language portuguese ]}]\n[ rodas_giratorias { [ translation spinners ][ language portuguese ]}]\n\n[ pisca { [ translation strobing ][ language portuguese ]}]\n[ piscas {[ translation strobing ][ language portuguese ]}]\n\n[ girassol { [ translation sunflower ][ language portuguese ]}]\n[ gira_sol { [ translation sunflower ][ language portuguese ]}]\n\n[ cauda { [ translation tail ][ language portuguese ]}]\n[ rabo { [ translation tail ][ language portuguese ]}]\n[ caudas { [ translation tail ][ language portuguese ]}]\n[ rabos { [ translation tail ][ language portuguese ]}]\n\t\n[ dez_vezes { [ translation ten_times ][ language portuguese ]}]\n\n[ grosso { [ translation thick ][ language portuguese ]}]\n[ grossos { [ translation thick ][ language portuguese ]}]\n[ grossa { [ translation thick ][ language portuguese ]}]\n[ grossas { [ translation thick ][ language portuguese ]}]\n\t\n[ fraco { [ translation thin ][ language portuguese ]}]\n[ fracos { [ translation thin ][ language portuguese ]}]\n[ fraca { [ translation thin ][ language portuguese ]}]\n[ fracas { [ translation thin ][ language portuguese ]}]\n\n[ trinta_vezes { [ translation thirty_times ][ language portuguese ]}]\n[ tr\xeas_vezes { [ translation three_times ][ language portuguese ]}]\n[ tres_vezes { [ translation three_times ][ language portuguese ]}]\n\t\n[ rabo_de_tigre { [ translation tiger_tail ][ language portuguese ]}]\n[ cauda_de_tigre { [ translation tiger_tail ][ language portuguese ]}]\n\n[ cracker_com_rastro { [ translation time_rain ][ language portuguese ]}]\n[ crackling_com_rastro { [ translation time_rain ][ language portuguese ]}]\n\n[ tit\xe2nio { [ translation titanium ][ language portuguese ]}]\n\n[ rajada_com_tit\xe2nio { [ translation titanium_report ][ language portuguese ]}]\n[ rajadas_com_tit\xe2nio { [ translation titanium_report ][ language portuguese ]}]\n[ rajada_com_titanio { [ translation titanium_report ][ language portuguese ]}]\n[ rajadas_com_titanio { [ translation titanium_report ][ language portuguese ]}]\n\n[ tiro_com_tit\xe2nio { [ translation titanium_salute ][ language portuguese ]}]\n[ tiros_com_tit\xe2nio { [ translation titanium_salute ][ language portuguese ]}]\n[ tiro_com_titanio { [ translation titanium_salute ][ language portuguese ]}]\n[ tiros_com_titanio { [ translation titanium_salute ][ language portuguese ]}]\n\n[ para { [ translation to ][ language portuguese ]}]\n\t\n[ metade_superior { [ translation top_half ][ language portuguese ]}]\n[ parte_de_cima { [ translation top_half ][ language portuguese ]}]\n\n[ turbilh\xe3o { [ translation tourbillions ][ language portuguese ]}]\n[ turbilhao { [ translation tourbillions ][ language portuguese ]}]\n[ girat\xf3rio { [ translation tourbillions ][ language portuguese ]}]\n[ giratorio { [ translation tourbillions ][ language portuguese ]}]\n[ girat\xf3rios { [ translation tourbillions ][ language portuguese ]}]\n[ giratorios { [ translation tourbillions ][ language portuguese ]}]\n\n[ an\xe9is_triplos_internos { [ translation triple_concentric_rings ][ language portuguese ]}]\n[ aneis_triplos_internos { [ translation triple_concentric_rings ][ language portuguese ]}]\n\n[ anel_at\xf4mico { [ translation triple_cross_rings ][ language portuguese ]}]\n[ anel_atomico { [ translation triple_cross_rings ][ language portuguese ]}]\n\n[ meia_lua_tripla { [ translation triple_half_rings ][ language portuguese ]}]\n[ metade_de_an\xe9is_triplos { [ translation triple_half_rings ][ language portuguese ]}]\n\n[ anel_tripo { [ translation triple_rings ][ language portuguese ]}]\n[ an\xe9is_triplos { [ translation triple_rings ][ language portuguese ]}]\n[ aneis_triplos { [ translation triple_rings ][ language portuguese ]}]\n\n[ vinte_vezes { [ translation twenty_times ][ language portuguese ]}]\n\t\n[ centelha { [ translation twinkling ][ language portuguese ]}]\n[ centelho { [ translation twinkling ][ language portuguese ]}]\n\n[ duas_vezes { [ translation two_times ][ language portuguese ]}]\n\n[ super_r\xe1pido { [ translation ultrafast ][ language portuguese ]}]\n[ super_r\xe1pida { [ translation ultrafast ][ language portuguese ]}]\n[ super_rapido { [ translation ultrafast ][ language portuguese ]}]\n[ super_rapida { [ translation ultrafast ][ language portuguese ]}]\n\n[ sombrinha { [ translation umbrella ][ language portuguese ]}]\n[ guarda_chuva { [ translation umbrella ][ language portuguese ]}]\n[ guardachuva { [ translation umbrella ][ language portuguese ]}]\n\n[ muito_grande { [ translation very_big ][ language portuguese ]}]\n[ muito_grandes { [ translation very_big ][ language portuguese ]}]\n\n[ muito_brilhante { [ translation very_bright ][ language portuguese ]}]\n[ muito_brilhantes { [ translation very_bright ][ language portuguese ]}]\n\n[ muito_denso { [ translation very_dense ][ language portuguese ]}]\n[ muito_densa { [ translation very_dense ][ language portuguese ]}]\n[ muito_cheio { [ translation very_dense ][ language portuguese ]}]\n[ muito_cheia { [ translation very_dense ][ language portuguese ]}]\n\n[ muito_tenuo_muito_tenua { [ translation very_dim ][ language portuguese ]}]\n[ muito_tenuos { [ translation very_dim ][ language portuguese ]}]\n[ muito_tenuas { [ translation very_dim ][ language portuguese ]}]\n\n[ muito_longo { [ translation very_long ][ language portuguese ]}]\n[ muito_longa { [ translation very_long ][ language portuguese ]}]\n[ muito_longos { [ translation very_long ][ language portuguese ]}]\n[ muito_longas { [ translation very_long ][ language portuguese ]}]\n\n[ muito_curto { [ translation very_short ][ language portuguese ]}]\n[ muito_curta { [ translation very_short ][ language portuguese ]}]\n[ muito_curtos { [ translation very_short ][ language portuguese ]}]\n[ muito_curtas { [ translation very_short ][ language portuguese ]}]\n\n[ muito_pequeno { [ translation very_small ][ language portuguese ]}]\n[ muito_pequena { [ translation very_small ][ language portuguese ]}]\n[ muito_pequenos { [ translation very_small ][ language portuguese ]}]\n[ muito_pequenas { [ translation very_small ][ language portuguese ]}]\n\n[ muito_longes { [ translation very_sparse ][ language portuguese ]}]\n[ muito_disperso { [ translation very_sparse ][ language portuguese ]}]\n[ muito_dispersa { [ translation very_sparse ][ language portuguese ]}]\n[ muito_dispersos { [ translation very_sparse ][ language portuguese ]}]\n[ muito_disperas { [ translation very_sparse ][ language portuguese ]}]\n[ muito_longe { [ translation very_sparse ][ language portuguese ]}]\n\n[ muito_grosso { [ translation very_thick ][ language portuguese ]}]\n[ muito_grossa { [ translation very_thick ][ language portuguese ]}]\n[ muito_grossos { [ translation very_thick ][ language portuguese ]}]\n[ muito_grossas { [ translation very_thick ][ language portuguese ]}]\n\n[ muito_fraco { [ translation very_thin ][ language portuguese ]}]\n[ muito_fraca { [ translation very_thin ][ language portuguese ]}]\n[ muito_fracos { [ translation very_thin ][ language portuguese ]}]\n[ muito_fracas { [ translation very_thin ][ language portuguese ]}]\n\n[ roda { [ translation wheel ][ language portuguese ]}]\n[ rodas { [ translation wheel ][ language portuguese ]}]\n\n[ loop { [ translation whirls ][ language portuguese ]}]\n[ loops { [ translation whirls ][ language portuguese ]}]\n[ rodamoinho { [ translation whirls ][ language portuguese ]}]\n[ rodamoinhos { [ translation whirls ][ language portuguese ]}]\n\n[ apito { [ translation whistles ][ language portuguese ]}]\n[ apitos { [ translation whistles ][ language portuguese ]}]\n[ assobio { [ translation whistles ][ language portuguese ]}]\n[ assobios { [ translation whistles ][ language portuguese ]}]\n\n[ branco { [ translation white ][ language portuguese ]}]\n[ branca { [ translation white ][ language portuguese ]}]\n[ brancos { [ translation white ][ language portuguese ]}]\n[ brancas { [ translation white ][ language portuguese ]}]\n\n[ chor\xe3o { [ translation willow ][ language portuguese ]}]\n[ chorao { [ translation willow ][ language portuguese ]}]\n\n[ com { [ translation wi ][ language portuguese ]}]\n\n[ amarelo { [ translation yellow ][ language portuguese ]}]\n[ amarela { [ translation yellow ][ language portuguese ]}]\n[ amarelos { [ translation yellow ][ language portuguese ]}]\n[ amarelas { [ translation yellow ][ language portuguese ]}]\n\n[ acima { [ translation above ][ language portuguese ]}]\n[ coqueiro { [ translation coconut ][ language portuguese ]}]\n[ coqueiros { [ translation coconut ][ language portuguese ]}]\n[ explos\xe3o { [ translation air_burst ][ language portuguese ]}]\n[ explosao { [ translation air_burst ][ language portuguese ]}]\n[ explos\xf5es { [ translation air_burst ][ language portuguese ]}]\n[ explosoes { [ translation air_burst ][ language portuguese ]}]\n\n[ \xe1gua { [ translation aqua ][ language portuguese ]}]\n[ agua { [ translation aqua ][ language portuguese ]}]\n\n[ rajada { [ translation artillery ][ language portuguese ]}]\n[ rajadas { [ translation artillery ][ language portuguese ]}]\n\n[ brilhante { [ translation bright ][ language portuguese ]}]\n[ brilhantes { [ translation bright ][ language portuguese ]}]\n\n//[ chor\xe3o { [ translation brocade ][ language portuguese ]}] // Same as Willow.\n//[ chorao { [ translation brocade ][ language portuguese ]}] // Same as Willow.\n[ feixe { [ translation bundle ][ language portuguese ][ isPieceToken true ][ impliesCandle true ]}]\n[ ma\xe7o { [ translation bundle ][ language portuguese ][ isPieceToken true ][ impliesCandle true ]}]\n[ borboleta { [ translation butterfly ][ language portuguese ]}]\n[ borboletas { [ translation butterfly ][ language portuguese ]}]\n\n\n[ a\xe9reo { [ translation aerial ][ language [ portuguese spanish ]]}]\n[ a\xe9reos { [ translation aerial ][ language [ portuguese spanish ]]}]\n[ aereos { [ translation aerial ][ language [ portuguese spanish ]]}]\n[ a\xe9rea { [ translation aerial ][ language [ portuguese spanish ]]}]\n[ a\xe9reas { [ translation aerial ][ language [ portuguese spanish ]]}]\n[ aereas { [ translation aerial ][ language [ portuguese spanish ]]}]\n//[ aereo { [ translation a\xe9reo ]}] // Conflicts with Italian.\n\n[ esplosiones { [ translation air_burst ][ language spanish ]}]\n[ explosiones { [ translation air_burst ][ language spanish ]}]\n[ detonaci\xf3n { [ translation air_burst ][ language spanish ]}]\n[ detonacion { [ translation detonaci\xf3n ]}]\n\n[ explosi\xf3n_arriba { [ translation air_burst ][ language spanish ]}]\n[ explosion_arriba { [ translation explosi\xf3n_arriba ]}]\n[ estallido_arriba { [ translation air_burst ][ language spanish ]}]\n//fixme:removeme[ \xe1ngulo { [ translation angle ][ isPieceToken true ][ language spanish ]}]\n//fixme:removeme[ angulo { [ translation \xe1ngulo ]}]\n[ an\xeds { [ translation aniseed ][ language spanish ]}]\n[ anis { [ translation aniseed ][ language [ portuguese german ]]}] // Sorry, can\'t correct Spanish accent because is valid German.\n\n\n[ artiller\xeda { [ translation artillery ][ language spanish ]}]\n[ artilleria { [ translation artillery ][ language spanish ]}]\n[ descarga { [ translation artillery ][ language [ portuguese spanish ]]}]\n[ maceteo { [ translation artillery ][ language spanish ]}]\n[ desc { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n\n[ bengala { [ translation ground_flare ][ language [ italian spanish ]]}]\n[ bengalas { [ translation ground_flare ][ language [ italian spanish ]]}]\n[ mitad_inferior { [ translation bottom_half ][ language spanish ]}]\n\n[ metade_inferior { [ translation bottom_half ][ language portuguese ]}]\n[ parte_de_baixo { [ translation bottom_half ][ language portuguese ]}]\n\n[ buqu\xea { [ translation bouquet ][ language portuguese ]}]\n[ buqu\xeas { [ translation bouquet ][ language portuguese ]}]\n[ buque { [ translation bouquet ][ language portuguese ]}]\n[ buques { [ translation bouquet ][ language portuguese ]}]\n\n[ ramo { [ translation bouquet ][ language spanish ]}]\n[ ramos { [ translation bouquet ][ language spanish ]}]\n[ anillo_de_pajarita { [ translation bowtie_rings ][ language spanish ]}]\n[ anillos_de_pajarita { [ translation bowtie_rings ][ language spanish ]}]\n\n[ aro_con_termita { [ translation [ ghost ring ]][ language spanish ]}] // Surprisingly, this is a valid Spanish translation even though literally bees don\'t seem much like ghostness.\n[ aro_con_fantasma { [ translation [ ghost ring ]][ language spanish ]}]\n[ bomba_con_termita { [ translation [ ghost shell ]][ language spanish ]}] // Surprisingly, this is a valid Spanish translation even though literally bees don\'t seem much like ghostness.\n[ bomba_con_fantasma { [ translation [ ghost shell ]][ language spanish ]}]\n[ bomba_fantasma { [ translation [ ghost shell ]][ language spanish ]}]\n \n[ aro_de_pajarita { [ translation bowtie_rings ][ language spanish ]}]\n[ aros_de_pajarita { [ translation bowtie_rings ][ language spanish ]}]\n//fixme:removeme[ sujetalibros { [ translation bookend ][ isPieceToken true ][ language spanish ]}]\n[ haz { [ translation bundle ][ isPieceToken true ][ language spanish ][ impliesCandle true ]}]\n[ cardenal { [ translation ruby ][ language spanish ]}]\n[ punta_de_carb\xf3n {[ translation charcoal_tip ] [ language spanish ]}]\n[ punta_de_carbon {[ translation punta_de_carb\xf3n ]}]\n[ palma_de_coco {[ translation coconut ] [ language spanish ]}]\n[ palma_coconut {[ translation coconut ] [ language spanish ]}]\n[ anillos_conc\xe9ntricos {[ translation concentric_rings ] [ language spanish ]}]\n[ anillos_concentricos {[ translation anillos_conc\xe9ntricos ]}]\n[ aros_conc\xe9ntricos {[ translation concentric_rings ] [ language spanish ]}]\n[ aros_concentricos {[ translation aros_conc\xe9ntricos ]}]\n[ aro_conc\xe9ntrico {[ translation concentric_rings ] [ language spanish ]}]\n[ aro_concentrico {[ translation aro_conc\xe9ntrico ]}]\n[ n\xfacleo {[ translation core ] [ language spanish ]}]\n[ nucleo {[ translation n\xfacleo ]}]\n[ anillos_cruzados {[ translation cross_rings ][ language spanish ]}]\n[ anillo_cruzado {[ translation cross_rings ][ language spanish ]}]\n[ aros_cruzados {[ translation cross_rings ][ language spanish ]}]\n[ aro_cruzado {[ translation cross_rings ][ language spanish ]}]\n[ cruzados {[ translation cross_rings ][ language spanish ]}]\n[ corona {[ translation crown ] [ language spanish ]}]\n\n[ cilindro {[ translation cylinder ] [ language [ portuguese spanish ]]}]\n[ cilindros {[ translation cylinder ] [ language [ portuguese spanish ]]}]\n\n[ cilindrico {[ translation cylinder ] [ language [ italian spanish portuguese ]]}]\n[ cilindricos {[ translation cylinder ] [ language [ italian spanish portuguese ]]}]\n[ cil\xedndrico {[ translation cylinder ] [ language [ spanish ]]}]\n[ cil\xedndricos {[ translation cylinder ] [ language [ spanish ]]}]\n\n[ cil\xedndrica {[ translation cylinder ] [ language [ spanish ]]}]\n[ cil\xedndricas {[ translation cylinder ] [ language [ spanish ]]}]\n[ cilindricas {[ translation cylinder ] [ language [ italian spanish portuguese ]]}]\n\n[ escuro {[ translation dark ] [ language portuguese ]}]\n\n[ apagada {[ translation dim ] [ language portuguese ]}]\n[ apagado {[ translation dim ] [ language portuguese ]}]\n[ apagadas {[ translation dim ] [ language portuguese ]}]\n[ apagados {[ translation dim ] [ language portuguese ]}]\n[ ofuscado {[ translation dim ] [ language portuguese ]}]\n[ ofuscada {[ translation dim ] [ language portuguese ]}]\n[ ofusacados {[ translation dim ] [ language portuguese ]}]\n[ ofuscadas {[ translation dim ] [ language portuguese ]}]\n\n[ meia_lua_dupla {[ translation double_half_rings ] [ language portuguese ]}]\n[ metade_de_an\xe9is_duplos {[ translation double_half_rings ] [ language portuguese ]}]\n[ metade_de_aneis_duplos {[ translation metade_de_an\xe9is_duplos ]}]\n\n[ anel_duplo {[ translation double_rings ] [ language portuguese ]}]\n[ an\xe9is_duplos {[ translation double_rings ] [ language portuguese ]}]\n[ aneis_duplos {[ translation an\xe9is_duplos ]}]\n\n[ estrela_prateada {[ translation dragon_eggs ] [ language portuguese ]}]\n[ estrelas_prateadas {[ translation dragon_eggs ] [ language portuguese ]}]\n\n[ orelha {[ translation ear ] [ language portuguese ]}]\n[ orelhas {[ translation ear ] [ language portuguese ]}]\n\n\n[ folha_caindo { [ translation falling_leaves ][ language portuguese ] }]\n[ folhas_caindo { [ translation falling_leaves ][ language portuguese ] }]\n\n[ leque { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ em_leque { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ formato_leque { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ farfalha { [ translation farfalle ][ language portuguese ] }]\n[ farfalhas { [ translation farfalle ][ language portuguese ] }]\n\n\n[ oscuro {[ translation dark ] [ language spanish ]}]\n[ oscura {[ translation dark ] [ language spanish ]}]\n\n[ tenue {[ translation dim ] [ language [ spanish ]]}]\n[ tenues {[ translation dim ] [ language [ spanish ]]}]\n[ tenuas {[ translation dim ] [ language [ spanish ]]}]\n\n[ cheio {[ translation dense ] [ language portuguese ]}]\n[ cheia {[ translation dense ] [ language portuguese ]}]\n[ cheios {[ translation dense ] [ language portuguese ]}]\n[ cheias {[ translation dense ] [ language portuguese ]}]\n\n\n[ denso {[ translation dense ] [ language [ italian spanish portuguese ]]}]\n[ densa {[ translation dense ] [ language [ italian spanish portuguese maltese ]]}]\n[ densos {[ translation dense ] [ language [ spanish portuguese ]]}]\n[ densas {[ translation dense ] [ language [ spanish portuguese ]]}]\n[ medios_dobles_aros {[ translation double_half_rings ] [ language spanish ]}]\n\n[ dobles_medios_aros {[ translation double_half_rings ] [ language spanish ]}]\n\n\n[ medios_dobles_anillos {[ translation double_half_rings ] [ language spanish ]}]\n[ medios_doble_aro {[ translation double_half_rings ] [ language spanish ]}]\n[ medios_doble_anillo {[ translation double_half_rings ] [ language spanish ]}]\n[ medio_doble_aro {[ translation double_half_rings ] [ language spanish ]}]\n[ medio_doble_anillo {[ translation double_half_rings ] [ language spanish ]}]\n[ oreja { [ translation ear ][ language spanish ]}]\n[ oido { [ translation ear ][ language spanish ]}]\n//fixme:removeme[ reporte_de_craqueante {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reporte_de_cracker {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reporte_de_craker {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reporte_de_kraker {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reportes_de_craqueante {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reportes_de_cracker {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reportes_de_craker {[ translation crackle_report ] [ language spanish ]}]\n//fixme:removeme[ reportes_de_kraker {[ translation crackle_report ] [ language spanish ]}]\n[ bola_de_fuego {[ translation fireball ] [ language spanish ]}]\n[ pote_de_flash {[ translation ground_flash ] [ language spanish ]}]\n[ bandeja_de_flash {[ translation flash_tray ] [ language spanish ]}]\n[ trazo_flash {[ translation flash_tray ] [ language spanish ]}]\n[ titilante {[ translation flashing ] [ language spanish ]}]\n[ balas {[ translation comet ] [ language spanish ]}]\n\n[ intermitente {[ translation flashing ] [ language [ portuguese spanish ]]}]\n[ intermitentes {[ translation flashing ] [ language [ portuguese spanish ]]}]\n\n[ amarillo_fresco {[ translation fresh_yellow ] [ language spanish ]}]\n\n[ amarillo_suave {[ translation fresh_yellow ] [ language spanish ]}]\n[ amarillos_suaves {[ translation fresh_yellow ] [ language spanish ]}]\n\n[ fantasma {[ translation ghost ] [ language [ portuguese spanish ]]}]\n[ fantasmas {[ translation ghost ] [ language [ portuguese spanish ]]}]\n\n[ gamba {[ translation gamboge ] [ language spanish ]}]\n[ punta_de_gamba {[ translation gamboge_tip ] [ language spanish ]}]\n[ anillo_fantasma {[ translation [ ghost ring ]] [ language spanish ]}]\n[ anillos_fantasma {[ translation [ ghost ring ]] [ language spanish ]}]\n[ anillo_con_fantasma {[ translation [ ghost ring ]] [ language spanish ]}]\n[ anillo_con_termita {[ translation [ ghost ring ]] [ language spanish ]}]\n\n[ aro_fantasma {[ translation [ ghost ring ]] [ language spanish ]}]\n[ aros_fantasma {[ translation [ ghost ring ]] [ language spanish ]}]\n[ pasto_verde {[ translation grass_green ] [ language spanish ]}]\n[ verde_pasto {[ translation grass_green ] [ language spanish ]}]\n[ verde_mar {[ translation grass_green ] [ language [ portuguese spanish ]]}]\n[ bengala_de_tierra {[ translation ground_flare ] [ language spanish ]}]\n[ bengala_terrestre {[ translation ground_flare ] [ language spanish ]}]\n\n[ bengala_de_piso {[ translation ground_flare ] [ language spanish ]}]\n[ photoflash_de_tierra {[ translation ground_photoflash ] [ language spanish ]}]\n[ photoflash_de_piso {[ translation ground_photoflash ] [ language spanish ]}]\n[ estrobo_de_tierra {[ translation ground_strobe ] [ language spanish ]}]\n[ intermitente_terrestre {[ translation ground_strobe ] [ language spanish ]}]\n\n[ estrobo_de_piso {[ translation ground_strobe ] [ language spanish ]}]\n[ medio_anillo {[ translation half_ring ] [ language spanish ]}]\n[ medio_aro {[ translation half_ring ] [ language spanish ]}]\n[ medios_anillos {[ translation half_ring ] [ language spanish ]}]\n[ medios_aros {[ translation half_ring ] [ language spanish ]}]\n\n[ chorro {[ translation jet ] [ language spanish ]}]\n[ trabajo_de_lance {[ translation lancework ] [ language spanish ]}]\n[ cometa_laser {[ translation laser_comet ] [ language [ spanish portuguese ]]}]\n[ largo {[ translation long ] [ language spanish ]}]\n[ larga {[ translation long ] [ language spanish ]}]\n[ largos {[ translation long ] [ language spanish ]}]\n[ largas {[ translation long ] [ language spanish ]}]\n[ medianoche {[ translation midnight_snow ] [ language spanish ]}]\n[ media_noche {[ translation medianoche ]}]\n[ mezclado {[ translation mixed ] [ language spanish ]}]\n[ mix {[ translation mixed ] [ language spanish ]}]\n[ m\xf3viles {[ translation mobiles ] [ language spanish ]}]\n[ moviles {[ translation m\xf3viles ] }]\n[ n\xe1utico {[ translation nautical ] [ language spanish ]}]\n[ nautico {[ translation n\xe1utico ]}]\n[ n\xe1utica {[ translation nautical ] [ language spanish ]}]\n[ nautica {[ translation n\xe1utica ]}]\n[ sin_rastro {[ translation no_trail ] [ language spanish ]}]\n[ oc\xe9ano_azul {[ translation sea_blue ] [ language spanish ]}]\n[ oceano_azul {[ translation oc\xe9ano_azul ]}]\n[ azul_oc\xe9ano {[ translation sea_blue ] [ language spanish ]}]\n[ azul_oceano {[ translation sea_blue ] [ language portuguese ]}]\n[ verde_oc\xe9ano {[ translation grass_green ] [ language spanish ]}]\n//[ verde_oceano {[ translation verde_oc\xe9ano ]}] // Conflicts with Italian.\n\n\n[ oc\xe9ano_verde {[ translation grass_green ] [ language spanish ]}]\n[ oceano_verde {[ translation oc\xe9ano_verde ]}]\n[ pulpo {[ translation octopus ] [ language spanish ]}]\n[ exterior {[ translation outer ] [ language [ english spanish portuguese ]]}]\n[ melocot\xf3n {[ translation peach ] [ language spanish ]}]\n[ melocoton {[ translation melocot\xf3n ]}]\n[ melocotones {[ translation peach ] [ language spanish ]}]\n[ rosado {[ translation pink ] [ language spanish ]}]\n[ rosados {[ translation pink ] [ language spanish ]}]\n[ plato {[ translation plate ][ isPieceToken true ][ impliesCake true ] [ language spanish ]}]\n[ ciruela {[ translation plum ] [ language spanish ]}]\n[ p\xf3lipo {[ translation polyp ] [ language spanish ]}]\n[ polipos { [ translation polyp ][ language [ portuguese spanish ]] }] \n\n// [ polipo {[ translation p\xf3lipo ]}] // Conflicts with Italian.\n[ flores_crecientes {[ translation rising_flowers ] [ language spanish ]}]\n[ flores_ascendentes {[ translation rising_flowers ] [ language spanish ]}]\n[ candela_romana {[ translation roman_candle ][ impliesCandle true ] [ language [ italian spanish portuguese ]]}]\n[ candelas_romanas {[ translation roman_candle ][ impliesCandle true ] [ language [ italian spanish portuguese ]]}]\n[ candil_romana {[ translation roman_candle ][ impliesCandle true ] [ language [ spanish ]]}]\n[ rub\xed {[ translation ruby ] [ language spanish ]}]\n[ rubi {[ translation ruby ] [ language portuguese ]}]\n[ azul_marina {[ translation sea_blue ] [ language spanish ]}]\n[ azul_fuerte {[ translation sea_blue ] [ language spanish ]}]\n[ azul_oscuro {[ translation sea_blue ] [ language spanish ]}]\n\n[ azul_mar {[ translation sea_blue ] [ language [ portuguese spanish ]]}]\n[ azul_agua_marina {[ translation sea_blue ] [ language spanish ]}]\n[ verde_agua_marina {[ translation grass_green ] [ language spanish ]}]\n[ reluciente {[ translation shimmering ] [ language spanish ]}]\n[ foco {[ translation shimmering ] [ language spanish ]}]\n[ corto {[ translation short ] [ language [ italian spanish ]]}]\n[ corta {[ translation short ] [ language [ italian spanish ]]}]\n[ cortos {[ translation short ] [ language spanish ]}]\n[ cortas {[ translation short ] [ language spanish ]}]\n[ lanzamiento {[ translation shuttle ] [ language spanish ]}]\n\n\n[ cores_de_chuva {[ translation waterfall ] [ language portuguese ]}]\n\n[ candente {[ translation crackling ] [ language spanish ]}]\n[ candecente {[ translation crackling ] [ language spanish ]}]\n\n//[ candente {[ translation sizzling ] [ language spanish ]}]\n//[ candecente {[ translation sizzling ] [ language spanish ]}]\n\n[ ligeramente_brillante {[ translation slightly_bright ] [ language spanish ]}]\n[ ligeramente_denso {[ translation slightly_dense ] [ language spanish ]}]\n[ ligeramente_tenue {[ translation slightly_dim ] [ language spanish ]}]\n[ ligeramente_tenues {[ translation slightly_dim ] [ language spanish ]}]\n\n[ ligeramente_largo {[ translation slightly_long ] [ language spanish ]}]\n[ ligeramente_corto {[ translation slightly_short ] [ language spanish ]}]\n[ ligeramente_densa {[ translation slightly_dense ] [ language spanish ]}]\n[ ligeramente_larga {[ translation slightly_long ] [ language spanish ]}]\n[ ligeramente_corta {[ translation slightly_short ] [ language spanish ]}]\n\n[ ligeramente_brillantes {[ translation slightly_bright ] [ language spanish ]}]\n[ ligeramente_densos {[ translation slightly_dense ] [ language spanish ]}]\n[ ligeramente_largos {[ translation slightly_long ] [ language spanish ]}]\n[ ligeramente_cortos {[ translation slightly_short ] [ language spanish ]}]\n[ ligeramente_densas {[ translation slightly_dense ] [ language spanish ]}]\n[ ligeramente_largas {[ translation slightly_long ] [ language spanish ]}]\n[ ligeramente_cortas {[ translation slightly_short ] [ language spanish ]}]\n\n[ ligeramente_disperso {[ translation slightly_sparse ] [ language spanish ]}]\n[ ligeramente_dispersos {[ translation slightly_sparse ] [ language spanish ]}]\n[ ligeramente_dispersa {[ translation slightly_sparse ] [ language spanish ]}]\n[ ligeramente_dispersas {[ translation slightly_sparse ] [ language spanish ]}]\n[ ligeramente_grueso {[ translation slightly_thick ] [ language spanish ]}]\n[ ligeramente_gruesos {[ translation slightly_thick ] [ language spanish ]}]\n[ ligeramente_gruesa {[ translation slightly_thick ] [ language spanish ]}]\n[ ligeramente_gruesas {[ translation slightly_thick ] [ language spanish ]}]\n[ ligeramente_delgado {[ translation slightly_thin ] [ language spanish ]}]\n[ ligeramente_delgados {[ translation slightly_thin ] [ language spanish ]}]\n[ ligeramente_delgada {[ translation slightly_thin ] [ language spanish ]}]\n[ ligeramente_delgadas {[ translation slightly_thin ] [ language spanish ]}]\n[ flores_peque\xf1as {[ translation crackle_flowers ] [ language spanish ]}]\n[ flores_pequenas {[ translation flores_peque\xf1as ]}]\n[ sin_humo {[ translation smokeless ] [ language spanish ]}]\n[ diamantes {[ translation spangle ] [ language spanish ]}]\n[ con_diamantes {[ translation spangle ] [ language spanish ]}]\n[ diamantina { [ translation spangle ][ language spanish ]}]\n[ disperso { [ translation sparse ][ language [ portuguese spanish ]]}]\n[ dispersa { [ translation sparse ][ language [ portuguese spanish ]]}]\n[ dispersos { [ translation sparse ][ language [ portuguese spanish ]]}]\n[ dispersas { [ translation sparse ][ language [ portuguese spanish ]]}]\n[ ara\xf1a { [ translation spider ][ language spanish ]}]\n\n[ espiga { [ translation spike ][ language [ portuguese spanish ]]}]\n[ espigas { [ translation spike ][ language [ portuguese spanish ]]}]\n\n[ arana { [ translation ara\xf1a ]}]\n[ ara\xf1as { [ translation spider ][ language spanish ]}]\n[ aranas { [ translation ara\xf1as ]}]\n[ vitral { [ translation stained_glass ][ language [ portuguese spanish ]]}]\n[ grueso { [ translation thick ][ language spanish ]}]\n[ gruesa { [ translation thick ][ language spanish ]}]\n[ gruesos { [ translation thick ][ language spanish ]}]\n[ gruesas { [ translation thick ][ language spanish ]}]\n[ delgado { [ translation thin ][ language spanish ]}]\n[ delgada { [ translation thin ][ language spanish ]}]\n[ delgados { [ translation thin ][ language spanish ]}]\n[ delgadas { [ translation thin ][ language spanish ]}]\n[ treinta_veces { [ translation thirty_times ][ language spanish ]}]\n[ treinta_tiempos { [ translation thirty_times ][ language spanish ]}]\n[ cola_de_tigre { [ translation tiger_tail ][ language spanish ]}]\n[ relampago { [ translation time_rain ][ language spanish ]}]\n[ reporte_de_titanio { [ translation titanium_report ][ language spanish ]}]\n[ trueno_de_titanio { [ translation titanium_salute ][ language spanish ]}]\n[ saludo_de_titanio { [ translation titanium_salute ][ language spanish ]}]\n[ reportes_de_titanio { [ translation titanium_report ][ language spanish ]}]\n[ saludos_de_titanio { [ translation titanium_salute ][ language spanish ]}]\n[ truenos_de_titanio { [ translation titanium_salute ][ language spanish ]}]\n[ mitad_superior { [ translation top_half ][ language spanish ]}]\n[ rastro { [ translation trail ][ language [ portuguese spanish ]]}]\n\n[ tres_anillos_concentricos { [ translation triple_concentric_rings ][ language spanish ]}]\n[ tres_aros_concentricos { [ translation triple_concentric_rings ][ language spanish ]}]\n[ triple_anillos_concentricos { [ translation triple_concentric_rings ][ language spanish ]}]\n[ anillos_at\xf3micos { [ translation triple_cross_rings ][ language spanish ]}]\n[ anillos_atomicos { [ translation anillos_at\xf3micos ]}]\n[ triple_aro { [ translation triple_rings ][ language spanish ]}]\n[ triple_anillo { [ translation triple_rings ][ language spanish ]}]\n[ aro_triple { [ translation triple_rings ][ language spanish ]}]\n[ anillo_triple { [ translation triple_rings ][ language spanish ]}]\n\n[ triples_aros { [ translation triple_rings ][ language spanish ]}]\n[ triples_anillos { [ translation triple_rings ][ language spanish ]}]\n\n[ medios_triples_aros {[ translation triple_half_rings ] [ language spanish ]}]\n[ medios_triples_anillos {[ translation triple_half_rings ] [ language spanish ]}]\n[ medios_triple_aro {[ translation triple_half_rings ] [ language spanish ]}]\n[ medios_triple_anillo {[ translation double_half_rings ] [ language spanish ]}]\n[ medio_triple_aro {[ translation double_half_rings ] [ language spanish ]}]\n[ medio_triple_anillo {[ translation triple_half_rings ] [ language spanish ]}]\n[ turquesa {[ translation turquoise ] [ language [ portuguese spanish ]]}]\n[ veinte_veces {[ translation twenty_times ] [ language spanish ]}]\n[ veinte_tiempos {[ translation twenty_times ] [ language spanish ]}]\n[ brillo_crep\xfasculo {[ translation twilight_glitter ] [ language spanish ]}]\n[ brillo_crepusculo {[ translation brillo_crep\xfasculo ]}]\n[ centelleo {[ translation twinkling ] [ language spanish ]}]\n[ ultrarr\xe1pido {[ translation ultrafast ] [ language spanish ]}]\n[ ultrarrapido {[ translation ultrarr\xe1pido ] }]\n[ ultrar\xe1pido {[ translation ultrafast ] [ language spanish ]}]\n[ ultrarapido {[ translation ultrar\xe1pido ] }]\n[ paraguas {[ translation umbrella ] [ language spanish ]}]\n[ sombrilla {[ translation umbrella ] [ language spanish ]}]\n\n[ ultra_r\xe1pido {[ translation ultrafast ] [ language spanish ]}]\n//[ ultra_rapido {[ translation ultra_r\xe1pido ] }] // conflicts with Italian\n\n[ muy_brillante {[ translation very_bright ] [ language spanish ]}]\n[ muy_denso {[ translation very_dense ] [ language spanish ]}]\n\n[ muy_t\xe9nue {[ translation very_dim ] [ language spanish ]}]\n[ muy_tenue {[ translation muy_t\xe9nue ]}]\n[ muy_tenua {[ translation very_dim ] [ language spanish ]}]\n[ muy_tenues {[ translation very_dim ] [ language spanish ]}]\n[ muy_tenuas {[ translation very_dim ] [ language spanish ]}]\n\n\n\n[ muy_largo {[ translation very_long ] [ language spanish ]}]\n[ muy_corto {[ translation very_short ] [ language spanish ]}]\n[ muy_disperso {[ translation very_sparse ] [ language spanish ]}]\n[ muy_grueso {[ translation very_thick ] [ language spanish ]}]\n[ muy_delgado {[ translation very_thin ] [ language spanish ]}]\n[ muy_densa {[ translation very_dense ] [ language spanish ]}]\n[ muy_larga {[ translation very_long ] [ language spanish ]}]\n[ muy_corta {[ translation very_short ] [ language spanish ]}]\n[ muy_dispersa {[ translation very_sparse ] [ language spanish ]}]\n[ muy_gruesa {[ translation very_thick ] [ language spanish ]}]\n[ muy_delgada {[ translation very_thin ] [ language spanish ]}]\n[ muy_brillantes {[ translation very_bright ] [ language spanish ]}]\n[ muy_densos {[ translation very_dense ] [ language spanish ]}]\n[ muy_largos {[ translation very_long ] [ language spanish ]}]\n[ muy_cortos {[ translation very_short ] [ language spanish ]}]\n[ muy_dispersos {[ translation very_sparse ] [ language spanish ]}]\n[ muy_gruesos {[ translation very_thick ] [ language spanish ]}]\n[ muy_delgados {[ translation very_thin ] [ language spanish ]}]\n[ muy_densas {[ translation very_dense ] [ language spanish ]}]\n[ muy_largas {[ translation very_long ] [ language spanish ]}]\n[ muy_cortas {[ translation very_short ] [ language spanish ]}]\n[ muy_dispersas {[ translation very_sparse ] [ language spanish ]}]\n[ muy_gruesas {[ translation very_thick ] [ language spanish ]}]\n[ muy_delgadas {[ translation very_thin ] [ language spanish ]}]\n[ violeta {[ translation violet ] [ language [ portuguese spanish ]]}]\n[ violetas {[ translation violet ] [ language [ portuguese spanish ]]}]\n[ ola {[ translation wave ] [ language spanish ]}]\n[ olas {[ translation wave ] [ language spanish ]}]\n//fixme:ageout[ limpiar {[ translation wipe ][ isPieceToken true ] [ impliesCake true ][ language spanish ]}]\n\n[ giro { [ translation whirls ][ language spanish ]}]\n[ corbatin { [ translation bowtie ][ language spanish ]}]\n[ pajarita { [ translation bowtie ][ language spanish ]}]\n\n[ mariposa { [ translation butterfly ][ language spanish ]}]\n[ vela { [ translation candle ][ isPieceToken true ][ language spanish ][ impliesCandle true ]}]\n[ mono_tiro { [ translation single_shot ][ language [ portuguese spanish ]][ impliesCandle true ]}]\n[ monotiro { [ translation mono_tiro ]}]\n[ monotiros { [ translation mono_tiro ]}]\n[ solo_tiro { [ translation mono_tiro ]}]\n[ solo_disparo { [ translation mono_tiro ]}]\n[ dalia { [ translation dahlia ][ language [ portuguese spanish polish ]]}]\n[ dalias { [ translation dahlia ][ language [ portuguese spanish ]]}]\n[ dhalia { [ translation dahlia ][ language [ portuguese ]]}]\n[ dhalias { [ translation dahlia ][ language [ portuguese ]]}]\n[ diadema { [ translation diadem ][ language [ italian spanish ]]}]\n[ diademas { [ translation diadem ][ language [ italian spanish ]]}]\n[ doble_aro { [ translation double_rings ][ language spanish ]}]\n[ doble_anillo { [ translation double_rings ][ language spanish ]}]\n[ dobles_aros { [ translation double_rings ][ language spanish ]}]\n[ dobles_anillos { [ translation double_rings ][ language spanish ]}]\n[ anillo { [ translation ring ][ language spanish ]}]\n[ anillos { [ translation ring ][ language spanish ]}]\n[ huevos_del_dragon { [ translation dragon_eggs ][ language spanish ]}]\n[ tormenta { [ translation time_rain ][ language spanish ]}]\n[ lluvia { [ translation glittering ][ language spanish ]}]\n[ abanico { [ translation fan ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ mitad_lity_mitad { [ translation half_and_half ][ language spanish ]}]\n[ mitad_mitad { [ translation half_and_half ][ language spanish ]}]\n\n[ mitades { [ translation half_and_half ][ language spanish ]}]\n[ carcasa_doble { [ translation peanut_shell ][ language spanish ]}]\n[ dispersi\xf3n { [ translation scattering ][ language spanish ]}]\n[ dispersion { [ translation dispersi\xf3n ]}] // Misspelling.\n[ serpentina { [ translation serpents ][ language [ portuguese spanish ]]}]\n[ serpentinas { [ translation serpents ][ language [ portuguese spanish ]]}]\n\n[ cohetes_el\xe9ctricos { [ translation serpents ][ language spanish ]}]\n[ cohetes_electricos { [ translation cohetes_el\xe9ctricos ]}]\n\n[ remolinos { [ translation remolino ]}]\n[ remolino { [ translation whirls ][ language spanish ]}]\n[ silencio { [ translation silent ][ language spanish ]}]\n[ sin_ruido { [ translation silent ][ language spanish ]}]\n[ sin_sonido { [ translation silent ][ language spanish ]}]\n[ peque\xf1a { [ translation small ][ language spanish ]}]\n[ pequena { [ translation small ][ language [ portuguese spanish ]]}]\n[ peque\xf1as { [ translation small ][ language spanish ]}]\n[ pequenas { [ translation small ][ language [ portuguese spanish ]]}]\n[ grande { [ translation big ][ language [ italian spanish portuguese ]]}]\n[ grandes { [ translation big ][ language [ spanish portuguese ]]}]\n[ muy_peque\xf1a { [ translation very_small ][ language spanish ]}]\n[ muy_grande { [ translation very_big ][ language spanish ]}]\n[ muy_peque\xf1as { [ translation very_small ][ language spanish ]}]\n[ muy_grandes { [ translation very_big ][ language spanish ]}]\n[ ligeramente_peque\xf1a { [ translation slightly_small ][ language spanish ]}]\n[ ligeramente_grande { [ translation slightly_big ][ language spanish ]}]\n[ ligeramente_peque\xf1as { [ translation slightly_small ][ language spanish ]}]\n[ ligeramente_grandes { [ translation slightly_big ][ language spanish ]}]\n[ pote_de_estrobo { [ translation ground_strobe ][ language spanish ]}]\n[ pote_de_estrober { [ translation ground_strobe ][ language spanish ]}]\n[ cola { [ translation tail ][ language spanish ]}]\n[ colas { [ translation tail ][ language spanish ]}]\n[ traza { [ translation tail ][ language spanish ]}]\n[ cascada { [ translation waterfall ][ language spanish ]}]\n[ casc { [ translation waterfall ][ language spanish ]}]\n[ casc_de_cola { [ translation waterfall ][ language spanish ]}]\n[ casc_de_colas { [ translation waterfall ][ language spanish ]}]\n[ sauce { [ translation willow ][ language spanish ]}]\n[ sause { [ translation sauce ]}] // Misspelling.\n[ amarillo { [ translation yellow ][ language spanish ]}]\n[ am { [ translation yellow ][ language [ portuguese spanish ]]}]\n[ amb { [ translation orange ][ language spanish ]}]\n[ az { [ translation blue ][ language [ portuguese spanish ]]}]\n[ vi { [ translation violet ][ language spanish ]}]\n[ torp { [ translation nautical ][ language spanish ]}]\n[ torpedo { [ translation nautical ][ language spanish ]}]\n[ torpedos { [ translation nautical ][ language spanish ]}]\n[ fcs { [ translation fuchsia ][ language spanish ]}]\n[ ka { [ translation kamuro ][ language spanish ]}]\n[ int { [ translation flashing ][ language [ portuguese spanish ]]}]\n[ bl { [ translation white ][ language spanish ]}]\n[ li { [ translation lemon ][ language spanish ]}]\n[ la { [ translation lavender ][ language spanish ]}]\n[ lm { [ translation spangle ][ language spanish ]}]\n[ sa { [ translation gold ][ language spanish ]}]\n[ cy { [ translation cyan ][ language spanish ]}]\n[ cmz { [ translation variegated ][ language spanish ]}]\n[ lb { [ translation silver ][ language spanish ]}]\n[ fb { [ translation white ][ language spanish ]}]\n[ mag { [ translation magenta ][ language spanish ]}]\n[ na { [ translation orange ][ language spanish ]}]\n[ pur { [ translation purple ][ language spanish ]}]\n[ p\xfar { [ translation purple ][ language spanish ]}]\n[ varios {[ translation variegated ][ language english ]}]\n//risky[ tr { [ translation salute ][ language spanish ]}]\n[ llama { [ translation ground_flare ][ language spanish ]}]\n[ chispas { [ translation spangle ][ language spanish ]}]\n[ sakura { [ translation crackle_flowers ][ language [ spanish english ]]}]\n[ margarita {[ translation sunflower ][ language spanish ]}]\n[ coh {[ translation whirls ] [ language spanish ]}] \n[ fugaces { [ translation scattering ][ language spanish ]}]\n[ mosaico { [ translation crossette ][ language spanish ]}]\n[ mosaicos { [ translation crossette ][ language spanish ]}]\n[ rodeta { [ translation whirls ][ language spanish ]}]\n[ rodetas { [ translation whirls ][ language spanish ]}]\n[ l\xe1grimas { [ translation horsetail ][ language spanish ]}]\n[ lagrimas { [ translation l\xe1grimas ]}]\n[ culebrina { [ translation serpents ][ language spanish ]}]\n[ culebrinas { [ translation serpents ][ language spanish ]}]\n[ oscilantes { [ translation falling_leaves ][ language spanish ]}]\n[ cartetas { [ translation falling_leaves ][ language spanish ]}]\n\n\n[ kalidoscopio {[ translation stained_glass ][ language spanish ]}]\n[ kalidoscopios {[ translation stained_glass ][ language spanish ]}]\n[ kalidoscope {[ translation stained_glass ][ language spanish ]}]\n[ studatta {[ translation stutata ][ language spanish ]}]\n[ bat { [ translation cake ][ isPieceToken true ][ language [ portuguese spanish ]][ impliesCake true ]}]\n[ fest { [ translation cake ][ isPieceToken true ][ language [ portuguese spanish ]][ impliesCake true ]}]\n[ festival { [ translation cake ][ isPieceToken true ][ language [ portuguese spanish ]][ impliesCake true ]}]\n\n\n\n[ amarilla { [ translation yellow ][ language spanish ]}]\n[ silbato { [ translation whistles ][ language spanish ]}]\n[ silbatos { [ translation whistles ][ language spanish ]}]\n[ silvatos { [ translation silbatos ]}]\n[ silvato { [ translation silbato ]}]\n[ color_de_agua { [ translation aqua ][ language spanish ]}]\n\n[ color_pastel { [ translation pastel_colors ][ language spanish ]}]\n[ colores_pastel { [ translation pastel_colors ][ language spanish ]}]\n\n\n[ skyblue { [ translation sky_blue ][ language english ]}]\n[ cielo_azul { [ translation sky_blue ][ language spanish ]}]\n[ azul_cielo { [ translation sky_blue ][ language spanish ]}]\n[ amarillo_pollito { [ translation lemon ][ language spanish ]}]\n[ cereza { [ translation ruby ][ language spanish ]}]\n[ agua_marina { [ translation aqua ][ language spanish ]}]\n[ aguamarina { [ translation aqua ][ language spanish ]}]\n[ fucsia { [ translation fuchsia ][ language [ spanish french italian portuguese dutch ]]}]\n[ \xedndigo { [ translation indigo ][ language [ portuguese spanish ]]}] // But don\'t add accent to English!\n[ lavanda { [ translation lavender ][ language [ italian spanish portuguese maltese ]]}]\n[ lim\xf3n { [ translation lemon ][ language spanish ]}]\n[ limon { [ translation lim\xf3n ]}]\n[ lima { [ translation lime ][ language [ portuguese spanish ]]}]\n\n[ coliflor { [ translation octopus ][ language spanish ]}]\n[ p\xe9talos { [ translation octopus ][ language spanish ]}]\n[ p\xe9talo { [ translation octopus ][ language spanish ]}]\n[ petalos { [ translation p\xe9talos ]}]\n[ petalo { [ translation p\xe9talo ]}]\n\n\n[ verde_claro { [ translation lime ][ language [ portuguese spanish ]]}]\n\n\n[ arco_iris { [ translation rainbow ][ language [ portuguese spanish ]]}]\n[ arco { [ translation rainbow ][ language spanish ]}]\n[ arco\xedris { [ translation rainbow ][ language spanish ]}]\n[ mismo_color { [ translation same_color ][ language spanish ]}]\n[ mismos_colores { [ translation same_color ][ language spanish ]}]\n[ el_mismo_color { [ translation same_color ][ language spanish ]}]\n[ zafiro { [ translation blue ][ language spanish ]}]\n[ peon\xeda { [ translation peony ][ language spanish ]}]\n//[ peonia { [ translation peon\xeda ]}] // Conflicts with Italian.\n[ peon\xedas { [ translation peon\xeda ]}]\n[ peonias { [ translation peon\xeda ]}]\n[ proyector_de_flama { [ translation flame_projector ][ language spanish ]}]\n[ proyector_de_llamarada { [ translation flame_projector ][ language spanish ]}]\n[ carcasa_de_carcasas { [ translation shell_of_shells ][ language spanish ]}]\n\n[ coronas_en_escala { [ translation shell_of_shells ][ language spanish ]}]\n[ at\xf3nicas { [ translation shell_of_shells ][ language spanish ]}]\n[ atonicas { [ translation at\xf3nicas ]}]\n[ carcasas_de_repeticiones { [ translation shell_of_shells ][ language spanish ]}]\n\n[ carcasa_fantasma { [ translation [ ghost shell ]][ language spanish ]}]\n[ tiro {[ translation shot ][ language [ portuguese spanish ]][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ]}] // Also means salute in Portuguese. Too bad for Portuguese.\n[ disp {[ translation shot ][ language [ portuguese spanish ]][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ]}]\n[ tubo {[ translation shot ][ language [ portuguese spanish ]][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ]}]\n[ tubos { [ translation tubo ]}]\n[ disparo {[ translation shot ][ language [ portuguese spanish ]][ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ]}]\n[ disparos { [ translation disparo ]}]\n[ tiros { [ translation tiro ]}] // Also means salute in Portuguese. Too bad for Portuguese.\n[ disparons { [ translation disp ]}] // Misspelling.\n[ en_forma_de_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_z { [ translation z_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ en_forma_de_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ en_forma_de_cruz { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_x { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_cruz { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ en_forma_de_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_c { [ translation c_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ en_forma_de_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_w { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n\n[ gp { [ translation w_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n[ fd { [ translation x_shape ][ isPieceToken true ][ impliesCake true ][ language portuguese ]}]\n\n[ en_forma_de_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ forma_de_v { [ translation v_shape ][ isPieceToken true ][ impliesCake true ][ language spanish ]}]\n[ creciente { [ translation rising ][ language spanish ]}]\n[ crecientes { [ translation rising ][ language spanish ]}]\n[ crisantemo { [ translation chrysanthemum ][ language [ italian spanish portuguese ]]}]\n[ cris { [ translation chrysanthemum ][ language [ portuguese spanish ]]}]\n[ crys { [ translation chrysanthemum ][ language [ english spanish portuguese ]]}]\n[ chupacabra { [ translation whirls ][ reformulation true ] [ sameAsLanguages [ italian polish french spanish dutch german portuguese ]][ notes "An aerial shell that breaks into whirl inserts, or more generally an aerial shell that breaks into all kinds of craziness."]}] // FIXME: implement directly as ball shell of whirls; absorb into VDL English lexicon.\n[ chupacabras { [ translation chupacabra ]}]\n[ bater\xeda { [ translation cake ][ isPieceToken true ][ language [ polish spanish ]][ impliesCake true ]}]\n//[ bateria { [ translation bater\xeda ]}] Conflicts with Polish\n//[ torta { [ translation bater\xeda ]}] // Conflicts with Italian.\n[ pastel { [ translation bater\xeda ]}] // Conflicts with Portuguese for pastel_colors. Too bad for Portuguese.\n[ esfera { [ translation shell ][ language spanish ]}]\n[ fantasma_que_corre { [ translation sweeper_ghost ][ language [ portuguese spanish ]]}]\n\n[ esferas { [ translation esfera ]}]\n[ de_cambio { [ translation to ][ language spanish ]}] // azul de_cambio roja.\n[ a_cambio { [ translation to ][ language spanish ]}] // azul a_cambio roja.\n[ cambio { [ translation to ][ language spanish ]}] // azul cambio roja.\n[ cambios { [ translation to ][ language spanish ]}] // azul cambio roja.\n[ punta_dorada { [ translation gold_tip ][ language spanish ]}]\n[ dorada { [ translation gold ][ language spanish ]}]\n[ dorado { [ translation gold ][ language spanish ][ bestNominalColorTranslation true ]}]\n[ chispero { [ translation fountain ][ language spanish ]}]\n[ chispa { [ translation spangle ][ language spanish ]}]\n[ microchispa { [ translation spangle ][ language spanish ]}]\n\n[ r\xe1faga { [ translation mine ][ language spanish ]}] // mine or gerb?\n[ rafaga { [ translation r\xe1faga ]}]\n[ incendio { [ translation ground_flare ][ language spanish ]}]\n[ candela { [ translation candle ][ isPieceToken true ][ language [ italian spanish portuguese ]][ impliesCandle true ]}]\n[ candelas { [ translation candle ][ isPieceToken true ][ language [ italian spanish portuguese ]][ impliesCandle true ]}]\n\n[ candelita { [ translation candle ][ isPieceToken true ][ language [ italian spanish ]][ impliesCandle true ]}]\n[ candelitas { [ translation candle ][ isPieceToken true ][ language [ italian spanish ]][ impliesCandle true ]}]\n\n[ candil { [ translation candle ][ isPieceToken true ][ language [ spanish ]][ impliesCandle true ]}]\n[ candiles { [ translation candil ]}]\n[ lucero { [ translation pearl ][ language spanish ]}]\n[ serpiente { [ translation serpents ][ language spanish ]}]\n[ gusano { [ translation serpents ][ language spanish ]}]\n[ gosano { [ translation gusano ]}] // Misspelling.\n[ croset { [ translation crossette ]}] // Misspelling.\n[ sin_cola { [ translation pearl ][ language spanish ]}]\n[ plateada { [ translation silver ][ language spanish ]}]\n[ plateano { [ translation silver ][ language spanish ]}]\n[ plateado { [ translation silver ][ language spanish ][ bestNominalColorTranslation true ]}]\n[ platiado { [ translation plateado ]}] // Misspelling.\n[ carcaza { [ translation carcasa ]}] // Misspelling.\n[ espoleteados { [ translation espoleteado ]}]\n[ espoleteadas { [ translation espoleteada ]}]\n[ espoletiado { [ translation espoleteado ]}] // Misspelling.\n[ espoletiada { [ translation espoleteada ]}] // Misspelling.\n[ espoletiados { [ translation espoleteado ]}] // Misspelling.\n[ espoletiadas { [ translation espoleteada ]}] // Misspelling.\n[ lentejuela { [ translation glittering ][ language spanish ]}]\n[ lentejuelo { [ translation glittering ][ language spanish ]}]\n[ lentejuelas { [ translation glittering ][ language spanish ]}]\n[ lentejuelos { [ translation glittering ][ language spanish ]}]\n[ elevaci\xf3n { [ translation rising ][ language spanish ]}]\n[ elevacion { [ translation elevaci\xf3n ]}]\n[ destello { [ translation crackling ][ language spanish ]}]\n[ destella { [ translation crackling ][ language spanish ]}]\n[ ramillete { [ translation shell_of_shells ][ reformulation true ][ sameAsLanguages [ spanish dutch french german portuguese ]]}] // Some day implement sim and incorporate as defined VDL term.\n[ barril { [ translation barrel ][ language [ portuguese spanish ]]}]\n[ barrel { [ translation triple_ring ][ reformulation true ][ notes "A break pattern of 5 or 6 rings that make a barrel shape in the sky."]}] // Some day, implement as six-rings.\n[ de_termita { [ translation [ ghost shell ]][ language spanish ]}]\n\n// Italian.\n[ blu { [ translation blue ][ language [ italian maltese ]]}]\n[ lila { [ translation lilac ][ language [ spanish german french dutch ]]}]\n[ lilas {[ translation lilac ][ language french ]}]\n[ lilanes { [ translation lilac ][ language german ]}]\n\n\n[ cc {[ translation bombette ][ language portuguese ]}]\n[ bombette {[ translation shell ][ reformulation true ][ sameAsLanguages [ polish dutch french german ]][ notes "A small shell usually lifted by a mine, sometimes in a group of several; example: \'Red Peony Bombette w/ Blue Bouquet\'."]}]\n[ bombettes {[ translation bombette ][ language [ english french ]]}]\n//fixme:removeme[ bookend {[ isPieceToken true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern blt ] [ oddRowFiringPattern blt ] [ oddRowHoist false ]}]\n[ bouquet {[ translation mine ][ reformulation true ][ sameAsLanguages [ french german portuguese ]][ notes "Another term for \'mine\'; used for mine stars projected along with aerial shells or bombettes from the same tube, as in, \'Red Peony Bombettes w/ Blue Bouquet\'."]}]\n[ girandola {[ translation [ whirls ]][ reformulation true ][ sameAsLanguages [ spanish dutch german ]][ notes "Wheel that spins and flies up into the air."]}] // Stand-in simulation.\n[ box {[ translation finale_box ]}]\n[ brl {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern brl ] [ oddRowFiringPattern brl ] [ oddRowHoist false ]}]\n[ brr {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern brr ] [ oddRowFiringPattern brr ] [ oddRowHoist false ]}]\n[ brt {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern brt ] [ oddRowFiringPattern brt ] [ oddRowHoist false ]}]\n[ c_shape {[ isPieceToken true ] [ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern cto ] [ oddRowFiringPattern cto ] [ oddRowHoist false ][ notes "A firing pattern in which every row of a cake is center-to-outside."]}]\n[ cake {[ isPieceToken true ] [ notInBouquet true ] [ notes "A multi-shot effect constructed of multiple tubes glued together on a base."] [ impliesCake true ][ subtype cake ]}]\n[ move_to {[ isPieceToken true ] [ notes "An effect that extends a prior effect (often a Move-In-Black effect) to create a continuous sweep such as for a moving head light fixture or flamer."] [ impliesMoveTo true ]}]\n[ moveto {[ translation move_to ]}]\n[ nonphysical {[ isPieceToken true ] [ notes "A part without a physical representation, like a \'Move-In-Black\' effect or safety channel or \'With Gobo\' modifier of an effect."]}]\n[ non_physical {[ translation nonphysical ]}]\n[ modifier {[ isPieceToken true ] [ notes "A part that modifies other effects, like a safety channel or \'With Gobo\'."]}]\n[ dmxstrobing5hz {[ isPieceToken true ] [ notes "Any DMX effects occurring during this effect\'s time range will strobe at this frequency."]}]\n[ dmxstrobing10hz {[ isPieceToken true ] [ notes "Any DMX effects occurring during this effect\'s time range will strobe at this frequency."]}]\n[ dmxstrobing20hz {[ isPieceToken true ] [ notes "Any DMX effects occurring during this effect\'s time range will strobe at this frequency."]}]\n[ slice {[ isPieceToken true ] [ notInBouquet true ] [ sameAsLanguages [ german ]][ impliesCake true ][ subtype cake ][ notes "A cake with a single row of tubes."]}]\n[ plate {[ isPieceToken true ] [ notInBouquet true ] [ impliesCake true ][ subtype cake ][ notes "A collection of effects glued onto a board, like a cake."]}]\n[ candle {[ isPieceToken true ] [ notInBouquet true ] [ impliesCandle true ][ notes "An effect that is pre-packaged in a cardboard or plastic tube."]}] // No subtype because subtype describes the effect, not the packaging.\n[ chain {[ isPieceToken true ] [ impliesChain true ] [ isSpecialDimensionalProperty true ][ notes "A group of shells that are connected in a sequence by fuses, and which are ignited by a single ematch."]}]\n[ chain_of {[ translation chain ]}]\n[ chain_wi {[ translation chain ]}]\n\n[ charcoal_tip {\n [ loose {\n [ star {\n [ impliesTip true ]\n [ tipTokens [charcoal] ]\n }]\n }]\n}]\n[ gamboge_tip {\n [ loose {\n [ star {\n [ impliesTip true ]\n [ tipTokens [gamboge] ]\n }]\n }]\n}]\n[ gold_tip {\n [ loose {\n [ star {\n [ impliesTip true ]\n [ tipTokens [gold] ]\n }]\n }]\n}]\n[ silver_tip {\n [ loose {\n [ star {\n [ impliesTip true ]\n [ tipTokens [silver] ]\n }]\n }]\n}]\n[ charcoalbase {\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ sparkTrail {\n [ tuningContext charcoalBaseTrail ]\n }]\n [ spark {\n [ tuningContext charcoalBaseSpark ]\n }]\n }]\n [ glitterBaseTrail {\n [ emitSizeMm 1.0 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 2\n 5.1 1.875\n 7.6 2\n 15.1 1.57143\n ]]\n ]]\n }]\n [ spark {\n [ color0 :000000 ]\n [ color1 :000000 ]\n }]\n}]\n\n[ charcoalwillowbase {\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ sparkTrail {\n [ tuningContext charcoalWillowBaseTrail ]\n }]\n }]\n [ charcoalWillowBaseTrail {\n }]\n [ spark {\n [ sparkSizeKappa 1.0 ]\n [ intensityCurve gaussian3Down ]\n [ intensityCurveMinY 10 ]\n [ startTemp 0.666666 ]\n [ endTemp 0.625 ]\n }]\n}]\n\n[ charcoal {\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ star {\n [ cancelsImpliedTip true ]\n [ impliesTrails [ charcoalTrail ] ] \n }]\n [ tip {\n [ tuningContext charcoalTip ]\n }]\n [ sparkTrail {\n [ tuningContext charcoalTrail ]\n }]\n [ spark {\n [ tuningContext charcoalSpark ]\n }]\n [ glitteringTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 1.4\n 5.1 1.333333\n 7.6 1.28571\n 15.1 1.111111\n ]]\n [ emitDuration [\n 3.0 5.0\n 5.1 1.0\n 7.6 1.0\n 15.1 1.0\n ]]\n ]]\n [ replaceWithTokens [ charcoal gold ] ]\n }]\n [ glitterBaseTrail {\n [ defaultTrailColor charcoal ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.7\n 5.1 0.8\n 7.6 0.9\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 5.0\n 5.1 1.0\n 7.6 1.0\n 15.1 1.0\n ]]\n ]]\n }]\n }]\n [ glitteringTrail {\n [ emitWindFriction 100 ]\n [ emitWindFrictionKappa 0.15 ]\n [ emitRateAnimation bumpUpDown ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.9\n 5.1 1.6\n 7.6 2.2\n 15.1 2.95\n ]]\n [ emitDurationKappa [\n 3.0 0.8\n 5.1 0.8\n 7.6 0.5\n 15.1 0.5\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.25\n 7.6 1.5\n 15.1 2.0\n ]]\n [ emitRate [\n 3.0 0.142857\n 5.1 0.125\n 7.6 0.1\n 15.1 0.0714286\n ]]\n ]]\n }]\n [ glitterBaseTrail {\n [ emitRateAnimation bumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ emitVelTaper 0.3 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.8\n 5.1 1.4\n 7.6 2.0\n 15.1 2.75\n ]]\n [ emitWindFriction [\n 3.0 150\n 5.1 150\n 7.6 150\n 15.1 100\n ]]\n [ emitWindFrictionKappa [\n 3.0 0.3\n 5.1 0.3\n 7.6 0.3\n 15.1 0.15\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 1.25\n 7.6 1.5\n 15.1 2.0\n ]]\n [ emitRate [\n 3.0 5.71429\n 5.1 6.25\n 7.6 6.0\n 15.1 5.71429\n ]]\n ]]\n }]\n [ spark {\n [ color0 :000000 ]\n [ color1 :000000 ]\n }]\n [ glitterSpark {\n [ startTemp 0 ]\n [ endTemp 0 ]\n [ sparkSizeKappa 0.833333 ]\n [ intensityCurve glitteringTrail ]\n [ intensityCurveLoopDuration 1.5 ]\n }]\n [ glitterBaseSpark {\n [ sparkSizeKappa 0.5 ]\n [ sparkIntensity 0.769231 ]\n [ intensityCurve one ]\n [ startTemp 0.7142861 ]\n [ endTemp 1.125 ]\n }]\n}]\n[ chry {[ translation chrysanthemum ]}] // Misspelling.\n[ chrys {[ translation chrysanthemum ][ language english ]}]\n[ chrysantemun {[ translation chrysanthemum ][ language spanish ]}]\n[ chrisantemun {[ translation chrysanthemum ][ language spanish ]}]\n[ chrisantemum {[ translation chrysanthemum ][ language spanish ]}]\n[ daisy {[ translation sunflower ][ language english ]}]\n\n[ silberkomet {[ translation [ silver comet ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype comet ]}]\n[ goldkomet {[ translation [ gold comet ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype comet ]}]\n[ rotglitter {[ translation [ red glittering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ wei\xdfglitter {[ translation [ white glittering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ weissglitter {[ translation wei\xdfglitter ]}]\n[ starklichtkomet {[ translation [ bright comet ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype comet ]}]\n[ silberschweif {[ translation [ silver ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ goldschweif {[ translation [ gold ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ goldcrackling {[ translation [ gold crackling ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ brokatschweif {[ translation [ glittering gold ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ blinksterne {[ translation [ strobing ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ schweifaustieg {[ translation [ with rising tail ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ silberweiden {[ translation [ silver willow ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype willow ]}]\n[ glitterkometen {[ translation [ glittering comet ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype comet ]}]\n[ goldweiden {[ translation [ gold willow ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype willow ]}]\n[ silberwirbel {[ translation [ silver whirls ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ glitterschweife {[ translation [ glittering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ rotflimmer {[ translation [ red shimmering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ blinkwasserfall {[ translation [ strobing horsetail ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype other ]}]\n[ gelbflimmer {[ translation [ yellow shimmering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ gr\xfcnflimmer {[ translation [ green shimmering ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n[ grunflimmer {[ translation gr\xfcnflimmer ]}]\n[ schweifcomet {[ translation [ gold comet ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]][ subtype comet ]}]\n[ blinkzentrum {[ translation [ with strobing pistil ]][ reformulation true ][ isNonVdlTerm true ][ isVdlExpansion true ][ sameAsLanguages [ german ]]}]\n\n\n[ diadem {[ translation chrysanthemum ][ sameAsLanguages [ german portuguese polish ]][ reformulation true ][ impliedNominalColor gold ][ subtype diadem ]}]\n//fixme:removeme[ sunflower {[ translation dandelion ][ reformulation true ][ subtype other ][ impliedNominalColor yellow ]}] // FIXME: fix this, not the same thing (but keep impliedNominalColor).\n[ chrysanthemum {\n [ subtype chrysanthemum ]\n [ impliedNominalColor gold ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n }]\n }]\n}]\n[ color {[ translation [ multi_color ]][ language english ]}]\n[ colorful {[ translation [ multi_color ]][ language english ]}]\n[ comets {[ translation [ comet ]]}]\n[ laser_comet {[ translation [ ultrafast comet ]][ reformulation true ][ notes "An ultra-fast comet that expires on its way up; used indoors or in close proximity shows."]}]\n[ laser_comets {[ translation laser_comet ][ language english ]}]\n[ tracer_comet {[ translation laser_comet ][ language english ]}]\n[ tracer_comets {[ translation laser_comet ][ language english ]}]\n[ ground {\n [ launch {\n [ launchType groundLaunch ]\n }]\n}]\n[ mine {\n [ subtype mine ]\n [ launch {\n [ launchType mineLaunch ]\n }]\n [ looseyGooseyShell {\n [ breakTuningContextTokens [ mine ] ]\n }]\n [ loose {\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n [ break {\n [ tuningContext mineBreak ]\n }]\n [ crossetteFragmentStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 1.6 0.624\n 2.5 1.246\n 4.9 1.382\n ]]\n ]]\n }]\n [ crossetteStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 2.4 1.0\n 3.8 1.0\n 7.6 5.53947\n ]]\n ]]\n }]\n }]\n [ star {\n [ particleSizeCurveTable [\n [ durationKappa [\n 2.5 0.1166666\n 7.5 0.4666666\n ]]\n ]]\n }]\n [ sparkTrail {\n [ emitDuration 2.0 ]\n }]\n}]\n[ rising {\n [ looseyGooseyShot {\n [ impliesRisingCategoryConditionally true ]\n }]\n [ loose {\n [ crossetteFragmentStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 12.4 0.440224\n 33.0 0.565283\n 49.5 0.688344\n 99.1 0.807404\n ]]\n ]]\n }]\n }]\n\n [ launch {\n [ launchType risingLaunch ]\n }]\n [ impliesSubsidiaryRisingEffectConditionally true ]\n [ star {\n [ windFrictionKappa 0.0 ]\n [ particleSizeCurveTable [\n [ durationKappa [\n 2.5 0.1481708073394496\n 5.0 0.23554861914414726\n 7.5 0.60\n ]]\n [ windFriction [\n 3.1750 0.180804 // 0.5" shell rising phase\n 4.7625 0.197308 // 0.75"\n 6.3500 0.217445 // 1.0"\n 7.9375 0.244626 // 1.25"\n 9.5250 0.277060 // 1.5"\n 11.1125 0.31484 // 1.75"\n\n 12.7000 0.403226 // 2.0"\n 15.875 0.476190 // 2.5"\n 19.05 0.582353 // 3.0"\n\n 25.40 0.687500 // 4.0"\n 31.75 0.687500 // 5.0"\n 38.10 0.916667 // 6.0"\n\n 50.80 1.0 // 8.0"\n 63.50 1.0 // 10.0"\n 76.20 1.0 // 12.0"\n 101.60 1.0 // 16.0"\n 152.40 1.0 // 24.0"\n ]]\n ]]\n }]\n [ crossetteTransitionBreak {\n [ particleSizeCurveTable [\n [ breakWidth [\n 19.1 0.469512\n 50.8 0.522843\n 76.2 0.664975\n 152.4 0.944162\n ]]\n ]]\n }]\n [ whistleStar {\n [ motionType smallWhistle ]\n }]\n}]\n[ shell_of_shells {\n [ subtype other ]\n [ impliesShellOfShells true ]\n [ looseyGooseyShell {\n [ definesFinalPetalShape true ]\n [ breakTuningContextTokens [ shell_of_shells ] ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellOfShellsBreak ]\n }]\n }]\n [ star {\n [ durationKappa 2.35948 ]\n }]\n}]\n\n[ smoke_trail {}]\n[ flame_trail {}]\n[ smoke_puff {}]\n[ flame_puff {}]\n[ light_beam {}]\n[ shell {\n [ subtype shell ]\n [ looseyGooseyShell {\n [ definesFinalPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ launch {\n [ launchType shellLaunch ]\n }]\n}]\n[ comet {\n [ subtype comet ]\n [ notes "A comet is a rising effect of burning composition, in contrast to a shell that contains composition or stars dispersed in an aerial break. Comets can have trails of sparks or can be bright flames without trails of sparks (also called \'meteor\' or \'pearl\'), but unless specified otherwise, a comet is assumed to have a big, bushy trail of sparks. The term \'Comet Shell\' means a shell whose stars have big, bushy trails of sparks."]\n [ looseyGooseyShot {\n [ impliesRisingCategoryConditionally true ]\n }]\n [ isTrailAdjustment true ]\n [ definesDefaultPistilShape true ]\n [ smokeEmitRateAdjustment 2.0 ]\n [ launch {\n [ launchType risingLaunch ]\n }]\n [ loose {\n [ star {\n [ impliesTrailsIfNoColorsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n }]\n [ shellBreak {\n [ breakNumChildren 0.5 ]\n [ starSizeMm 1.5 ]\n [ breakWidth 1.4047498755186723 ]\n }]\n [ sparkTrail {\n [ emitRate 2.0 ]\n [ emitDuration 2.0 ]\n }]\n [ charcoalTrail {\n [ emitRate 5.0 ]\n [ emitDuration 2.0 ]\n }]\n [ activeTrail {\n [ emitRate 2.0 ]\n [ emitDuration 2.0 ]\n }]\n [ smoke_trail {\n [ emitRate 3.0 ]\n }]\n [ risingLaunch {\n [ particleSizeCurveTable [\n [ defaultLaunchApexFactor [\n 25.0 1.104\n 50.0 1.111\n ]]\n ]]\n }]\n}]\n[ mortar_spark {\n [ isColor true ]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchDuration 0.0025 ]\n [ defaultLaunchHeight 0.666666666 ]\n }]\n [ loose {\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n }]\n [ sparkTrail {\n [ tuningContext charcoalTrail ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ windFriction 0.0 ]\n [ durationKappa 2.0 ]\n }]\n [ charcoalTrail {\n [ emitAngleDegreesSigma 0.5 ]\n [ emitDuration 0.12 ]\n [ emitDurationKappa 6.0 ]\n [ emitWindFriction 2.0 ]\n [ emitWindFrictionKappa 0.833333 ]\n [ emitSpeed 5 ]\n [ emitSpeedKappa 1.0 ]\n [ emitInheritVelocity 0.0 ]\n [ emitRate 10.0 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitVelTaper 10.0 ]\n [ emitSizeMm 0.1 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n [ sparkIntensity 7.69231 ]\n }]\n}]\n[ mortar_flame {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchDuration 0.0025 ]\n [ defaultLaunchHeight 0.333333333 ]\n }]\n [ loose {\n [ star {\n }]\n [ sparkTrail {\n [ tuningContext charcoalTrail ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.0 ]\n [ windFriction 0.0 ]\n }]\n [ looseyGooseyFountainTrail {\n [ defaultHeight 0.5 ]\n }]\n [ looseyGooseyFlameTrail {\n [ defaultHeight 1.42 ]\n }]\n [ charcoalTrail {\n [ emitStyle fountain ]\n [ emitAngleDegreesSigma 2.0 ]\n [ emitDuration 0.12 ]\n [ emitDurationKappa 6.0 ]\n [ emitWindFriction 2.0 ]\n [ emitWindFrictionKappa 0.833333 ]\n [ emitSpeed 10 ]\n [ emitSpeedKappa 1.5 ]\n [ emitInheritVelocity 0.0 ]\n [ emitRate 10.0 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitVelTaper 10.0 ]\n [ emitSizeMm 0.3 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n [ sparkIntensity 7.69231 ]\n }]\n [ smoke_trail {\n [ emitStyle fountain ]\n [ emitAngleDegreesSigma 20.0 ]\n [ emitWindFriction 2.666666 ]\n [ emitWindFrictionKappa 100 ]\n [ emitSpeed 60 ]\n [ emitSpeedKappa 8.0 ]\n [ emitRate 1.6 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitVelTaper 10.0 ]\n [ emitApexFactor 2.0 ]\n }]\n [ smoke_puff {\n [ smokePuffDensity 1.25 ]\n [ smokePuffStartSize 5.0 ]\n [ smokePuffEndSize 5.0 ]\n }]\n [ flame_trail {\n [ emitStyle fountain ]\n [ emitAngleDegreesSigma 2.5 ]\n [ emitDuration 0.51 ]\n [ emitDurationKappa 0.166666666 ]\n [ emitWindFriction 1.6 ]\n [ emitWindFrictionKappa 6.666666666 ]\n [ emitSpeed 0.774 ]\n [ emitSpeedKappa 2.666666666 ]\n [ emitRate 0.571429 ]\n }]\n [ flame_puff {\n [ flamePuffStartSize 2.0 ]\n [ flamePuffEndSize 1.0 ]\n }]\n}]\n[ core {[ translation pistil ][ reformulation true ][ sameAsLanguages [ german ]] }]\n[ crackle {[ translation crackling ]}]\n\n[ prime_burn {\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ star {\n [ tuningContext primeBurnStar ]\n }]\n [ primeBurnStar {\n [ impliesTip true ]\n [ cancelsImpliedSmokeTrail true ]\n [ tipTokens [ prime_burn ]]\n [ impliesTrails [ primeBurnTrail ]]\n }]\n [ tip {\n [ tuningContext primeBurnTip ]\n }]\n [ spark {\n [ tuningContext primeBurnSpark ]\n }]\n [ sparkTrail {\n [ tuningContext primeBurnTrail ]\n }]\n }]\n [ primeBurnStar {\n [ particleSizeCurveTable [\n [ durationKappa [\n 3.0 0.555\n 5.1 0.366\n 7.6 0.15\n 15.1 0.15\n ]]\n ]]\n }]\n}]\n\n[ chase_crackle {[ translation chase_crackling ]} ]\n[ intense_crackle {[ translation intense_crackling ]} ]\n[ sizzle_crackle {[ translation sizzle_crackling ]} ]\n[ crackle_flowers {[ translation tight_crackling ][ reformulation true ]} ]\n\n[ tight_crackle {[ translation tight_crackling ]} ]\n[ tight_crackle_puff {[ translation tight_crackling_puff ]}]\n[ tight_crackle_flower {[ translation tight_crackling_flower ]}]\n\n[ popcorn_crackle {[ translation popcorn_crackling ][reformulation true]}] // fixme: is reformulation }]\n[ popcorn_crackle_puff {[ translation popcorn_crackling_puff ]}]\n[ popcorn_crackle_flower {[ translation popcorn_crackling_flower ]}]\n\n[ popcorn_crackling_flower {\n [ loose {\n [ break {\n [ tuningContext crackleFlowerBreak ]\n }]\n [ crackleFlowerBreak {\n [ sound2Tokens [ 0.0 dly crackling ] ]\n }]\n [ star {\n [ tuningContext crackleFlowerStar ]\n }]\n [ crackleFlowerStar {\n [ impliesTrails [ crackleFlowerTrail ]]\n [ cancelsImpliedSmokeTrail true ]\n [ cancelsImpliedTip true ]\n [ defaultDuration 0.02 ]\n [ staticPhaseDuration 0.02 ]\n }]\n [ sparkTrail {\n [ tuningContext crackleFlowerTrail ]\n }]\n [ crackleFlowerTrail {\n [ defaultTrailColor gold ]\n }]\n }]\n [ crackleFlowerStar {\n [ durationKappa 0.15 ]\n [ windFrictionKappa 0.12 ]\n [ particleSizeCurveTable [\n [ windFriction [\n 3.0 25.0\n 5.1 22.5\n 7.6 18.6\n 15.1 10.9\n ]]\n ]]\n }]\n [ crackleFlowerBreak {\n [ breakSmokeDensity 0.3 ]\n [ breakSmokeSize 0.3 ]\n [ breakFlashSparkIntensity 0 ]\n [ breakFlashSparkColor :000000 ]\n }]\n [ crackleFlowerTrail {\n [ emitDuration 0.25 ]\n [ emitDurationKappa 0.2 ]\n [ emitSpeedKappa 0.9 ]\n [ emitRate 2500.0 ]\n [ emitRateAnimation One ]\n [ emitRateCurveMaxX 2.5 ]\n [ emitVelTaper 1.0 ]\n [ emitWindFriction 100 ]\n [ emitWindFrictionKappa 0.15 ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 1.0\n 5.1 1.1\n 7.6 1.4\n 15.1 1.8\n ]]\n [ emitSpeed [\n 3.0 11\n 5.1 14\n 7.6 19\n 15.1 26\n ]]\n ]]\n }]\n [ goldSpark {\n [ intensityCurve gaussian3Down ]\n }]\n}]\n[ popcorn_crackling_puff {\n [ loose {\n [ star {\n [ becomeBreakTokens [ popcorn_crackling_flower ] ]\n }]\n }]\n}]\n[ popcorn_crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ shellBreak {\n [ defaultStarTransitionPhrase [ prime_burn ] ]\n }]\n [ mineBreak {\n [ defaultStarTransitionPhrase [ prime_burn ] ]\n }]\n [ star {\n [ tuningContext popcornCrackleStar ]\n }]\n [ popcornCrackleStar {\n [ becomeBreakTokens [ popcorn_crackling_flower ] ]\n }]\n }]\n [ shellBreak {\n [ breakFlashSparkIntensity 1.0 ]\n [ breakWindFrictionKappa 0.2 ]\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 1.5\n 50.8 1.51\n 76.2 1.51\n 152.4 1.5\n ]]\n ]]\n }]\n}]\n\n\n[ tight_crackling_flower {\n [ loose {\n [ break {\n [ tuningContext crackleFlowerBreak ]\n }]\n [ crackleFlowerBreak {\n [ sound2Tokens [ 0.0 dly crackling ] ]\n }]\n [ star {\n [ tuningContext crackleFlowerStar ]\n }]\n [ crackleFlowerStar {\n [ impliesTrails [ crackleFlowerTrail ]]\n [ cancelsImpliedSmokeTrail true ]\n [ cancelsImpliedTip true ]\n [ defaultDuration 0.02 ]\n }]\n [ sparkTrail {\n [ tuningContext crackleFlowerTrail ]\n }]\n [ crackleFlowerTrail {\n [ defaultTrailColor charcoal ]\n }]\n }]\n [ crackleFlowerStar {\n [ durationKappa 0.15 ]\n [ windFrictionKappa 0.12 ]\n [ particleSizeCurveTable [\n [ windFriction [\n 3.0 25.0\n 5.1 22.5\n 7.6 18.6\n 15.1 10.9\n ]]\n ]]\n }]\n [ crackleFlowerBreak {\n [ breakSmokeDensity 0.3 ]\n [ breakSmokeSize 0.3 ]\n [ breakFlashSparkColor :ffcc4c ]\n }]\n [ crackleFlowerTrail {\n [ emitDuration 0.25 ]\n [ emitDurationKappa 0.2 ]\n [ emitSpeed 20.0 ]\n [ emitSpeedKappa 1.75 ]\n [ emitRate 5000.0 ]\n [ emitRateAnimation One ]\n [ emitRateCurveMaxX 2.5 ]\n [ emitVelTaper 1.0 ]\n [ emitWindFriction 1000 ]\n [ emitWindFrictionKappa 0.1 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.30 ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.5\n 7.6 0.5\n 15.1 0.7\n ]]\n ]]\n }]\n [ charcoalSpark {\n [ startTemp 1.333334 ]\n [ intensityCurve gaussian3Down ]\n [ particleSizeCurveTable [\n [ sparkSizeKappa [\n 0.5 0.5\n 0.7 0.3\n ]]\n ]]\n }]\n}]\n[ tight_crackling_puff {\n [ loose {\n [ star {\n [ becomeBreakTokens [ tight_crackling_flower ] ]\n }]\n }]\n}]\n[ tight_crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ shellBreak {\n [ defaultStarTransitionPhrase [ prime_burn ] ]\n }]\n [ mineBreak {\n [ defaultStarTransitionPhrase [ prime_burn ] ]\n }]\n [ star {\n [ tuningContext tightCrackleStar ]\n }]\n [ tightCrackleStar {\n [ becomeBreakTokens [ tight_crackling_flower ] ]\n }]\n }]\n [ shellBreak {\n [ breakFlashSparkIntensity 1.0 ]\n [ breakWindFrictionKappa 0.2 ]\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 1.5\n 50.8 1.51\n 76.2 1.51\n 152.4 1.5\n ]]\n ]]\n }]\n}]\n\n[ chase_crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n [ loose {\n [ risingLaunch {\n [ sound2Tokens [ crackling ] ]\n }]\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ shellBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ mineBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ star {\n [ tuningContext chaseCrackleStar ]\n }]\n [ sparkTrail {\n [ tuningContext cracklingTrail ]\n }]\n [ spark {\n [ tuningContext chaseCracklingSpark ]\n }]\n [ chaseCrackleStar {\n [ impliesTrails [ cracklingTrail charcoalBaseTrail ]]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.13\n 5.1 1.73\n 7.6 3.0\n 15.1 5.5\n ]]\n ]]\n }]\n [ cracklingTrail {\n [ replaceWithTokens [ gold chase_crackling ] ]\n }]\n [ charcoalBaseTrail {\n [ replaceWithTokens [ charcoalbase chase_crackling ] ]\n }]\n }]\n [ shellBreak {\n [ breakNumChildren 0.5 ]\n }]\n [ chaseCrackleStar {\n [ durationKappa 0.15 ]\n }]\n [ cracklingTrail {\n [ emitRateAnimation BumpUp ]\n [ emitVelTaper 1.0 ]\n [ emitDurationKappa 0.5 ]\n [ emitSpeedKappa 1.5 ]\n [ emitWindFriction 75.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.7\n 5.1 0.9\n 7.6 1.2\n 15.1 1.3\n ]]\n [ emitSpeed [\n 3.0 5\n 5.1 6\n 7.6 6\n 15.1 6\n ]]\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.6\n 7.6 0.8\n 15.1 1.1\n ]]\n [ emitRate [\n 3.0 60\n 5.1 75\n 7.6 85\n 15.1 100\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitRateAnimation BumpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ emitVelTaper 3.0 ]\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ emitDurationKappa 1.0 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 1.4\n 5.1 1.5\n 7.6 1.71429\n 15.1 1.625\n ]]\n [ emitRate [\n 3.0 10.7143\n 5.1 8.66667\n 7.6 5\n 15.1 4.54545\n ]]\n [ emitSpeed [\n 3.0 0.5\n 5.1 0.333333\n 7.6 0.5\n 15.1 0.5\n ]]\n [ emitSizeMm [\n 3.0 2.5\n 5.1 2.8\n 7.6 3\n 15.1 3\n ]]\n ]]\n }]\n [ charcoalBaseSpark {\n [ sparkSizeKappa 0.833333 ]\n [ startTemp 0.642857 ]\n [ endTemp 1.125 ]\n [ sparkIntensity 0.769231 ]\n [ intensityCurve gaussian3Down ]\n }]\n [ chaseCracklingSpark {\n [ sparkSizeKappa 0.5 ]\n [ startTemp 4500 ]\n [ endTemp 4000 ]\n [ intensityCurve "H4sIAAAAAAAAAxPy4VJhAIIdcqx2IGxsvBmMZ82UtAfhs2d87BkYGuyFwKogoAEsApQFqbKD8UEyAEuQ5apOAAAA" ]\n }]\n}]\n\n[ sizzle_crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ risingLaunch {\n [ sound2Tokens [ crackling ] ]\n }]\n [ shellBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ mineBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ star {\n [ tuningContext sizzleCrackleStar ]\n }]\n [ sparkTrail {\n [ tuningContext cracklingTrail ]\n }]\n [ spark {\n [ tuningContext sizzleCracklingSpark ]\n }]\n [ sizzleCrackleStar {\n [ impliesTrails [ cracklingTrail charcoalBaseTrail ]]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.13\n 5.1 1.73\n 7.6 3.0\n 15.1 5.5\n 151.0 55.0\n ]]\n ]]\n }]\n [ cracklingTrail {\n [ replaceWithTokens [ gold sizzle_crackling ] ]\n }]\n [ charcoalBaseTrail {\n [ replaceWithTokens [ charcoalbase sizzle_crackling ] ]\n }]\n }]\n [ shellBreak {\n [ breakNumChildren 0.5 ]\n }]\n [ sizzleCrackleStar {\n [ durationKappa 0.15 ]\n }]\n [ cracklingTrail {\n [ emitRateAnimation BumpUp ]\n [ emitVelTaper 1.0 ]\n [ emitDurationKappa 0.5 ]\n [ emitSpeedKappa 1.5 ]\n [ emitWindFriction 100.0 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ emitRate 200 ]\n [ emitDiscDiameter 0.25 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.4\n 5.1 0.5\n 7.6 0.7\n 15.1 0.9\n ]]\n [ emitSpeed [\n 3.0 6\n 5.1 7\n 7.6 8\n 15.1 10\n ]]\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.7\n 7.6 0.8\n 15.1 1.1\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitRateAnimation BumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ emitVelTaper 3.0 ]\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 1.4\n 5.1 1.666666\n 7.6 2.0\n 15.1 2.25\n ]]\n [ emitDurationKappa [\n 3.0 1.0\n 5.1 2.0\n 7.6 2.0\n 15.1 2.0\n ]]\n [ emitRate [\n 3.0 5.71429\n 5.1 5.66667\n 7.6 4.5\n 15.1 5.0\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 0.833333\n 7.6 0.75\n 15.1 0.666666\n ]]\n [ emitSizeMm [\n 3.0 0.9\n 5.1 1.0\n 7.6 1.1\n 15.1 1.2\n ]]\n ]]\n }]\n [ charcoalBaseSpark {\n [ sparkSizeKappa 1.666666 ]\n [ startTemp 0.857143 ]\n [ endTemp 1.25 ]\n [ sparkIntensity 0.769231 ]\n [ intensityCurve gaussian3Down ]\n }]\n [ spark {\n [ sparkSizeKappa 0.833333 ]\n [ startTemp 1.0 ]\n [ endTemp 1.0 ]\n [ intensityCurve gaussian3Down ]\n }]\n}]\n\n[ crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n\n [ sameAsLanguages [ german italian portuguese ]]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ risingLaunch {\n [ sound2Tokens [ crackling ] ]\n }]\n [ shellBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ mineBreak {\n [ sound2Tokens [ crackling ] ]\n }]\n [ pistilBreak {\n [ starTokens [ tight_crackle ] ]\n }]\n [ star {\n [ impliesTrails [ cracklingTrail goldTrail charcoalBaseTrail ]]\n }]\n [ sparkTrail {\n [ tuningContext cracklingTrail ]\n }]\n }]\n [ cracklingTrail {\n [ emitDurationKappa 0.25 ]\n [ emitWindFriction 50 ]\n [ emitSpeedKappa 0.25 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.35\n 5.1 0.45\n 7.6 0.5\n 15.1 0.7\n ]]\n [ emitRate [\n 3.0 125\n 5.1 135\n 7.6 135\n 15.1 135\n ]]\n [ emitSpeed [\n 3.0 4\n 5.1 5\n 7.6 6\n 15.1 6\n ]]\n [ emitSizeMm [\n 3.0 0.7\n 5.1 0.8\n 7.6 0.9\n 15.1 1.0\n ]]\n ]]\n }]\n [ spark {\n [ intensityCurve cracklingTrail ]\n [ intensityCurveLoopDuration 4.0 ]\n [ sparkIntensity 1.0 ]\n [ sparkSizeKappa 1.333333 ]\n }]\n [ sound {\n [ soundName crackle ]\n [ defaultSoundDelay 0.25 ]\n [ particleSizeCurveTable [\n [ defaultSoundDuration [\n 19.1 0.6\n 50.8 1.02\n 76.2 1.53\n 152.4 3.51\n ]]\n ]]\n }]\n}]\n\n[ intense_crackling {\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n [ loose {\n [ risingLaunch {\n [ sound2Tokens [ crackle ] ]\n }]\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ shellBreak {\n [ particleSizeCurveTable [\n [ sound2Tokens [\n 19.1 [ 0.1 dly crackle ]\n 50.8 [ 0.2 dly crackle ]\n 76.2 [ 0.2 dly crackle ]\n 152.4 [ 0.3 dly crackle ]\n ]]\n ]]\n }]\n [ mineBreak {\n [ sound2Tokens [ crackle ] ]\n }]\n [ star {\n [ impliesTrails [ cracklingTrail charcoalBaseTrail ]]\n }]\n [ sparkTrail {\n [ tuningContext cracklingTrail ]\n }]\n }]\n [ cracklingTrail {\n [ emitRateAnimation BumpUpDown ]\n [ emitVelTaper 0.3 ]\n [ emitDurationKappa 0.15 ]\n [ emitSpeedKappa 0.3 ]\n [ emitWindFriction 50.0 ]\n [ emitWindFrictionKappa 0.25 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.3 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 0.3\n 5.1 0.5\n 7.6 0.6\n 15.1 1.0\n ]]\n [ emitRate [\n 3.0 20\n 5.1 15\n 7.6 13\n 15.1 12\n ]]\n [ emitSpeed [\n 3.0 2\n 5.1 3\n 7.6 3.5\n 15.1 4.0\n ]]\n [ emitSizeMm [\n 3.0 1.5\n 5.1 1.6\n 7.6 1.7\n 15.1 2.0\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitRateAnimation BumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ emitVelTaper 3.0 ]\n [ emitDurationKappa 2.0 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 1.2\n 5.1 1.666666\n 7.6 2.14286\n 15.1 2.25\n ]]\n [ emitRate [\n 3.0 2.85714\n 5.1 2.66667\n 7.6 2.0\n 15.1 1.81818\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 0.833333\n 7.6 0.75\n 15.1 0.666666\n ]]\n [ emitSizeMm [\n 3.0 0.9\n 5.1 1.0\n 7.6 1.1\n 15.1 1.2\n ]]\n ]]\n }]\n [ spark {\n [ startTemp 1.11111 ]\n [ endTemp 1.1875 ]\n [ intensityCurve cracklingTrail ]\n [ intensityCurveLoopDuration 4.0 ]\n }]\n [ charcoalBaseSpark {\n [ startTemp 0.857143 ]\n [ endTemp 1.25 ]\n [ sparkIntensity 0.769231 ]\n [ sparkSizeKappa 3.333333333 ]\n [ intensityCurve gaussian3Down ]\n [ intensityCurveLoopDuration 0.0 ]\n }]\n}]\n\n[ timerain {[ translation time_rain ][ language english ]}]\n[ dragon_egg {[ translation dragon_eggs ]}]\n[ dragons_egg {[ translation dragon_eggs ]}]\n[ dragons_eggs {[ translation dragon_eggs ]}]\n[ dragon_eggs {[ translation crackling ][ reformulation true ]}]\n\n\n[ timeraincharcoalcrackle {\n [ loose {\n [ sparkTrail {\n [ tuningContext timeRainCharcoalCrackleTrail ]\n }]\n [ timeRainCharcoalCrackleTrail {\n [ defaultTrailColor charcoal ]\n }]\n }]\n [ timeRainCharcoalCrackleTrail {\n [ emitWindFriction 75 ]\n [ emitWindFrictionKappa 0.25 ]\n [ emitInheritVelocity 0 ]\n [ emitVelTaper 0.5 ]\n [ emitSpeedKappa 0.85 ]\n [ emitDurationKappa 0.5 ]\n [ emitRateAnimation "H4sIAAAAAAAAAxO6x8S1hpEBCM6e8bHVjOG3Y2sUtTvubW5n3ulo55SQatd/qNQuX6jZ7uyZHrtvGnPsZKOW2G2au97ObdtmO6HmA3bLZh+xO//9sl1A73U7ruuP7X7VvbLzePgLKMdg//w3p734TT77gF5xe4EISfvGqcr2IY9VgWJ69sUZhkAxS/uLStb2kyVcgOKu9iuOedtrxvjb7ykJtk8SiLBnYEiwl41KsRdZl25/3z/X/s/KQnshiHOhwH7WTEkwBrFBGOgNMIbxGRgaoHhg+AB/L5QyYQEAAA==" ]\n [ emitRateCurveMinY 0 ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.7\n 7.6 0.8\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 0.4\n 5.1 0.6\n 7.6 0.8\n 15.1 1.0\n ]]\n [ emitSpeed [\n 3.0 6\n 5.1 8\n 7.6 12\n 15.1 20\n ]]\n [ emitRate [\n 3.0 60\n 5.1 65\n 7.6 75\n 15.1 100\n ]]\n ]]\n }]\n [ charcoalSpark {\n [ startTemp 1.333333 ]\n [ endTemp 1.2 ]\n [ sparkSizeKappa 0.45 ]\n [ intensityCurve one ]\n }]\n}]\n[ timeraincrackle {\n [ loose {\n [ sparkTrail {\n [ tuningContext timeRainCrackleTrail ]\n }]\n [ timeRainCrackleTrail {\n }]\n }]\n [ timeRainCrackleTrail {\n [ emitWindFriction 75 ]\n [ emitWindFrictionKappa 0.25 ]\n [ emitInheritVelocity 0 ]\n [ emitVelTaper 0.3 ]\n [ emitSpeedKappa 0.85 ]\n [ emitRateAnimation "H4sIAAAAAAAAAxO6x8S1hpEBCM6e8bHVjOG3Y2sUtTvubW5n3ulo55SQatd/qNQuX6jZ7uyZHrtvGnPsZKOW2G2au97ObdtmO6HmA3bLZh+xO//9sl1A73U7ruuP7X7VvbLzePgLKMdg//w3p734TT77gF5xe4EISfvGqcr2IY9VgWJ69sUZhkAxS/uLStb2kyVcgOKu9iuOedtrxvjb7ykJtk8SiLBnYEiwl41KsRdZl25/3z/X/s/KQnshiHOhwH7WTEkwBrFBGOgNMIbxGRgaoHhg+AB/L5QyYQEAAA==" ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.7\n 7.6 0.8\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 0.4\n 5.1 0.6\n 7.6 0.8\n 15.1 1.0\n ]]\n [ emitSpeed [\n 3.0 6\n 5.1 8\n 7.6 12\n 15.1 20\n ]]\n [ emitRate [\n 3.0 60\n 5.1 65\n 7.6 75\n 15.1 100\n ]]\n ]]\n }]\n [ goldSpark {\n [ sparkSizeKappa 0.9 ]\n [ startTemp 5000 ]\n [ endTemp 4500 ]\n }]\n}]\n[ time_rain {\n [ isTrailExtra true ]\n [ sameAsLanguages [ german italian ]]\n [ loose {\n [ risingLaunch {\n [ sound2Tokens [ crackle ] ]\n }]\n [ shellBreak {\n [ particleSizeCurveTable [\n [ sound2Tokens [\n 19.1 [ 0.3 dly 1.38 s crackle ]\n 50.8 [ 0.5 dly 2.50 s crackle ]\n 76.2 [ 0.5 dly 4.00 s crackle ]\n 152.4 [ 0.5 dly 5.50 s crackle ]\n ]]\n ]]\n }]\n [ mineBreak {\n [ sound2Tokens [ crackle ] ]\n }]\n [ star {\n [ tuningContext timeRainStar ]\n }]\n [ timeRainStar {\n [ impliesTrails [ goldTrail charcoalBaseTrail timeRainCrackleTrail timeRainCharcoalCrackleTrail ]]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.13\n 5.1 2\n 7.6 3.5\n 15.1 5\n ]]\n ]]\n }]\n [ timeRainCharcoalCrackleTrail {\n [ replaceWithTokens [ timeraincharcoalcrackle ]]\n }]\n [ timeRainCrackleTrail {\n [ replaceWithTokens [ timeraincrackle ]]\n }]\n }]\n [ shellBreak {\n [ particleSizeCurveTable [\n [ breakRaggedness [\n 3.0 6.66667\n 5.1 3.26667\n 7.6 1.0\n 15.1 1.0\n 152.4 1.0\n ]]\n [ breakNumChildren [\n 19.1 0.266667\n 50.8 0.480769\n 76.2 0.29703\n 152.4 0.5\n ]]\n ]]\n }]\n [ timeRainStar {\n [ particleSizeCurveTable [\n [ durationKappa [\n 3.0 0.555\n 5.1 0.366\n 7.6 0.15\n 15.1 0.15\n ]]\n [ windFriction [\n 3.0 25\n 5.1 19\n 7.6 12\n 15.1 9\n ]]\n\n ]]\n }]\n [ goldTrail {\n [ emitWindFriction 150 ]\n [ emitWindFrictionKappa 0.3 ]\n [ emitRateAnimation "H4sIAAAAAAAAAxOS4eJhAIJZM2faMTA02AvxgEgQD4QBbUGe1R4AAAA=" ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.4\n 5.1 0.5\n 7.6 0.6\n 15.1 0.8\n ]]\n [ emitDuration [\n 3.0 0.3\n 5.1 0.4\n 7.6 0.5\n 15.1 0.6\n ]]\n [ emitRate [\n 3.0 60\n 5.1 70\n 7.6 85\n 15.1 100\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ emitRateAnimation gaussian3Down ]\n [ emitRateCurveMinY 10 ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.7\n 7.6 0.8\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 2.4\n 5.1 2.66667\n 7.6 2.57143\n 15.1 2.5\n ]]\n [ emitRate [\n 3.0 1.42857\n 5.1 1.466671\n 7.6 1.25\n 15.1 1.36364\n ]]\n ]]\n }]\n [ charcoalBaseSpark {\n [ sparkIntensity 0.769231 ]\n [ startTemp 1.14286 ]\n [ endTemp 1.5 ]\n }]\n}]\n\n[ nautical {[ translation shell ][ reformulation true ][ subtype other ][ video "https://www.youtube.com/watch?v=8gWw47ZcJWU"][ notes "Also called \'aquatic\' or \'water_shell\'; a shell that breaks after landing and floating in the water, or a cake whose shots are nautical."]}] // FIXME:implement\n[ aquatic {[ translation nautical ][ language english ]}]\n[ water_shell {[ translation nautical ][ language english ]}]\n[ water {[ translation nautical ][ language [ dutch english ]]}]\n//[ kaleidoscope {[ translation stained_glass ][ reformulation true ][ subtype other ][ sameAsLanguages [ italian ]][ notes "A shell that breaks into clusters of stars."]}]\n[ small_flowers {[ translation crackle_flowers ][ language english ]}]\n[ midnight_snow {[ translation [ silver chrysanthemum ]][ reformulation true ][ impliedNominalColor silver ][ subtype other ][ sameAsLanguages [ german ]][ video "https://www.youtube.com/watch?v=ECrREnmIzEM"][ notes "A silver chrysanthemum with long lasting, twinkling trails."]}]\n[ lilac {[ translation [ silver chrysanthemum ]][ reformulation true ][ impliedNominalColor violet ][ sameAsLanguages [ portuguese ]][ subtype other ]}]\n[ saturn {[ translation [ silver chrysanthemum ]][ reformulation true ][ subtype other ][ sameAsLanguages [ german polish dutch ]]}]\n\n[ octupus {[ translation octopus ][ language portuguese ]}]\n\n[ static {\n [ loose {\n [ star {\n [ motionType static ]\n }]\n }]\n}]\n\n[ crackling_flowers {[ translation crackle_flowers ][ language english ]}]\n[ crn {[ translation [ cto ]]}]\n[ cto {[ isPieceToken true ] [ nonLocalized true ][ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern cto ] [ oddRowFiringPattern cto ] [ oddRowHoist false ]}]\n[ cycas {\n [ subtype other ]\n [ sameAsLanguages [ spanish french german italian portuguese dutch ]]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n [ tipTokens [ bright ]]\n [ requiresTransition true ]\n [ transitionFromDefault [ thick gold ]]\n [ defaultDuration 1.2 ]\n }]\n }]\n\n [ shellBreak {\n [ breakWidth 1.14509 ]\n [ breakNumChildren 0.3 ]\n [ defaultStarDurationScale 1.0 ]\n }]\n}]\n[ dahlia {\n [ subtype dahlia ]\n [ notes "A shell type with large, bright stars with no trails."]\n [ sameAsLanguages [ french italian dutch ]]\n [ impliedNominalColor gold ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n \n [ shellBreak {\n [ starSizeMm 2.0 ]\n\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 0.333333\n 50.8 0.346154\n 76.2 0.19802\n 152.4 0.185185\n ]]\n [ defaultStarDurationScale [\n 25.4 1.0\n 76.2 0.7\n ]]\n ]]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTip true ]\n [ tipTokens [ bright ]]\n }]\n }]\n}]\n[ polyp {\n [ subtype polyp ]\n [ sameAsLanguages [ french german dutch ]]\n [ impliedNominalColor gold ]\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ breakNumChildren 0.3 ]\n [ defaultStarDurationScale 0.7 ]\n [ starSizeMm 1.5 ]\n [ breakWidth 1.0276514129834253 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n [ passiveTrailTokens [ slightly_thick slightly_fat ]]\n [ charcoalTrailTokens [ slightly_thick slightly_fat ]]\n }]\n }]\n}]\n[ lily {\n [ subtype dahlia ]\n [ notes "A dahlia-like shell type with large, bright white stars with no trails."]\n [ sameAsLanguages [ french italian spanish portuguese dutch ]]\n [ impliedNominalColor white ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n \n [ shellBreak {\n [ breakNumChildren 0.3 ]\n [ defaultStarDurationScale 0.8 ]\n [ starSizeMm 2.0 ]\n [ breakWidth 0.8 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTip true ]\n [ tipTokens [ bright ]]\n [ defaultDuration 0.8 ]\n }]\n }]\n}]\n[ sunflower {\n [ subtype other ]\n [ impliedNominalColor gold ]\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ risingTailTokens [ silver ]]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n [ passiveTrailTokens [ slightly_long ]]\n [ charcoalTrailTokens [ slightly_long ]]\n }]\n }]\n}]\n[ dandelion {\n [ subtype other ]\n [ sameAsLanguages [ german italian polish dutch ]]\n [ impliedNominalColor white ]\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ risingTailTokens [ silver ]]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n [ passiveTrailTokens [ slightly_long ]]\n [ charcoalTrailTokens [ slightly_long ]]\n }]\n }]\n}]\n[ dark {\n [ isColor true ][ isTipColor true ]\n [ notes "A \'dark\' star does not give off light and is thus invisible, like ghost stars before they light up; \'Black\' is a reasonable synonym. \'Dim\' is not."]\n [ sameAsLanguages [ italian portuguese ]]\n [ loose {\n [ star {\n [ cancelsImpliedTip true ]\n [ cancelsImpliedSmokeTrail true ]\n }]\n [ crackleFlowerStar {\n [ cancelsImpliedTip true ]\n [ cancelsImpliedSmokeTrail true ]\n }]\n }]\n}]\n[ eight_times {[ numTimes 8 ][ notes "A count of subshells or salutes."]}]\n\n[ crossetteleaf {\n [ loose {\n [ break {\n [ tuningContext crossetteTransitionBreak ]\n }]\n [ crossetteTransitionBreak {\n [ starSizeMm 0.65 ]\n [ particleSizeCurveTable [\n [ starSizeMm [\n 0 0\n 10000 10000\n ]]\n ]]\n }]\n [ star {\n [ tuningContext crossetteFragmentStar ]\n }]\n [ crossetteFragmentStar {\n [ impliesTipIfNoTrail true ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.9 0.5\n 6.6 0.92\n 9.9 1.47\n 19.6 1.999\n ]]\n ]]\n }]\n }]\n [ crossetteTransitionBreak {\n [ breakNumChildren 4 ]\n [ breakInheritVelocity 0.2 ]\n [ breakInheritVelocityKappa 0.6 ]\n [ breakWidthKappa 0.035 ]\n [ particleSizeCurveTable [\n [ breakWidth [\n 6.0 12.9\n 10.2 20.7\n 15.2 30.5\n 30.2 39.4\n ]]\n ]]\n }]\n}]\n\n[ crossettebase {\n [ loose {\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n}]\n\n[ crossette {\n [ subtype crossette ]\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n [ sameAsLanguages [ french english portuguese dutch ]]\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ breakTuningContextTokens [ crossette ] ]\n }]\n\n [ loose {\n [ risingLaunch {\n [ duplicateStarTransitionPhase [ crossettebase ] ]\n }]\n [ break {\n [ tuningContext crossetteShellBreak ]\n [ duplicateStarTransitionPhase [ crossettebase ] ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n [ tuningContext crossetteStar ]\n }]\n [ crossetteStar {\n [ impliesTipIfNoTrail true ]\n [ becomeBreakTokens [ crossetteleaf ] ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 6.0 1.43\n 10.2 2.63\n 15.2 4.20\n 30.2 5.712\n ]]\n ]]\n }]\n\n }]\n\n [ mineLaunch {\n [ particleSizeCurveTable [\n [ defaultLaunchDurationScale [\n 19.1 1.34\n 76.2 1.8971\n 152.4 2.1405\n ]]\n ]]\n }]\n\n [ shellBreak {\n [ breakNumChildren 0.3 ]\n [ starSizeMm 2.0 ]\n }]\n\n [ mineBreak {\n [ breakNumChildren 0.3 ]\n }]\n}]\n\n[ scattering {[ translation shuttle ] [reformulation true]}] // fixme: is reformulation [ language english ]}]\n\n[ shuttleleaf {\n [ loose {\n [ break {\n [ tuningContext crossetteTransitionBreak ]\n }]\n [ crossetteTransitionBreak {\n [ particleSizeCurveTable [\n [ starSizeMm [\n 0 0\n 10000 10000\n ]]\n ]]\n }]\n [ star {\n [ tuningContext crossetteFragmentStar ]\n }]\n [ crossetteFragmentStar {\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 0.5\n 5.1 0.92\n 7.6 1.47\n 15.1 1.999\n ]]\n ]]\n }]\n }]\n [ crossetteTransitionBreak {\n [ breakInheritVelocity 0 ]\n [ breakNumChildren 2 ]\n [ particleSizeCurveTable [\n [ breakWidth [\n 3.0 12.9\n 5.1 20.7\n 7.6 30.5\n 15.1 39.4\n ]]\n ]]\n }]\n}]\n\n[ shuttle {\n [ subtype other ]\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n [ sameAsLanguages [ polish dutch ]]\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext crossetteShellBreak ]\n [ defaultStarTransitionPhrase [ dark ] ]\n }]\n [ star {\n [ tuningContext crossetteStar ]\n }]\n [ crossetteStar {\n [ becomeBreakTokens [ shuttleleaf ] ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 0.93\n 5.1 1.71\n 7.6 2.73\n 15.1 3.712\n ]]\n ]]\n }]\n\n }]\n\n [ shellBreak {\n [ breakNumChildren 0.3 ]\n }]\n\n [ mineBreak {\n [ breakNumChildren 0.3 ]\n }]\n}]\n\n\n[ split {\n [ loose {\n [ star {\n [ endOfLifeBreakType splitStarBreak ]\n [ requiresTransition true ]\n [ transitionFromDefault [ dark ]]\n }]\n [ break {\n [ tuningContext splitStarBreak ]\n }]\n }]\n [ splitStarBreak {\n }]\n}]\n\n[ fallingleaf {\n [ loose {\n [ break {\n [ tuningContext fallingLeavesTransitionBreak ]\n }]\n [ fallingLeavesTransitionBreak {\n [ particleSizeCurveTable [\n [ starSizeMm [\n 0 0\n 10000 10000\n ]]\n ]]\n }]\n [ star {\n [ tuningContext fallingLeavesFragmentStar ]\n }]\n [ fallingLeavesFragmentStar {\n [ impliesTipIfNoTrail true ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1\n 5.1 1.5\n 7.6 2\n 15.1 3\n ]]\n [ tipCaliberMm [\n 3.0 1.5\n 5.1 3\n 7.6 6\n 15.1 8\n ]]\n ]]\n }]\n }]\n [ fallingLeavesTransitionBreak {\n [ breakRaggedness 0 ]\n [ breakNumChildren 1 ]\n [ breakInheritVelocityKappa 0 ]\n [ breakSmokeDensity 0 ]\n [ breakSmokeSize 0 ]\n [ breakFlashSparkIntensity 0 ]\n [ worldFlashDuration 0 ]\n [ worldFlashIntensity 0 ]\n [ breakFlashSparkColor :000000 ]\n [ breakWidthKappa 0.35 ]\n [ particleSizeCurveTable [\n [ breakWidth [\n 3.0 1\n 5.1 2\n 7.6 3\n 15.1 3.5\n ]]\n ]]\n }]\n [ fallingLeavesFragmentStar {\n [ windFriction 25 ]\n [ windFrictionKappa 0.35 ]\n [ durationKappa 0.35 ]\n }]\n [ tip {\n [ intensityCurve "H4sIAAAAAAAAChOS4eJhAIKzZ3zsGRga7IV4QCQEMzAAALmaCz8eAAAA" ]\n }]\n [ smoke_trail {\n [ emitRateAnimation "H4sIAAAAAAAAChOS4eJhAIKzZ3zsGRga7IV4QCQEMzAAALmaCz8eAAAA" ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 0.176056\n 5.1 0.199317\n 7.6 0.200481\n 15.1 0.2\n ]]\n ]]\n }]\n}]\n\n[ falling_leaves {\n [ notes "An aerial shell with light weight stars that fall slowly and irregularly, like leaves falling from a tree."]\n [ subtype falling_leaves ]\n [ ifRisingIsFlower true ]\n [ sameAsLanguages [ german ]]\n \n [ looseyGooseyShell {\n [ breakTuningContextTokens [ falling_leaves ] ]\n [ definesDefaultPetalShape true ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext fallingLeavesShellBreak ]\n }]\n [ star {\n [ tuningContext fallingLeavesStar ]\n }]\n [ fallingLeavesStar {\n [ endOfLifeBreakTokens [ fallingleaf ] ]\n [ impliesTipIfNoTrail true ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 3\n 5.1 4.5\n 7.6 6\n 15.1 9\n ]]\n [ endOfLifeBreakDuration [\n 3.0 1\n 5.1 1.5\n 7.6 2\n 15.1 3\n ]]\n [ tipCaliberMm [\n 3.0 1.5\n 5.1 3\n 7.6 6\n 15.1 8\n ]]\n ]]\n }]\n }]\n [ fallingLeavesShellBreak {\n [ breakWidthKappa 0.1 ]\n [ worldFlashIntensity 0 ]\n [ particleSizeCurveTable [\n [ breakWidth [\n 19.1 4\n 50.8 6\n 76.2 10\n 152.4 15\n ]]\n [ breakNumChildren [\n 19.1 50\n 50.8 60\n 76.2 75\n 152.4 125\n ]]\n [ breakRaggedness [\n 19.1 0.2\n 50.8 0.2\n 76.2 0.15\n 152.4 0.15\n ]]\n [ breakFlashSparkIntensity [\n 19.1 2\n 50.8 10\n 76.2 10\n 152.4 50\n ]]\n ]]\n }]\n [ fallingLeavesStar {\n [ windFriction 25 ]\n [ windFrictionKappa 0.35 ]\n [ durationKappa 0.9 ]\n }]\n [ tip {\n [ intensityCurve "H4sIAAAAAAAAAxOS4eJhAIJZM2faMTA02AuBeSAWCAMAa72C0x4AAAA=" ]\n }]\n [ smoke_trail {\n [ emitRateAnimation "H4sIAAAAAAAAAxOS4eJhAIJZM2faMTA02AuBeSAWCAMAa72C0x4AAAA=" ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 0.176056\n 5.1 0.199317\n 7.6 0.200481\n 15.1 0.2\n ]]\n ]]\n }]\n [ sound {\n [ secondaryType soft ]\n }]\n\n}]\n[ cerrada {[ translation fermata ][ language spanish ]}]\n\n[ fan {[ isPieceToken true ][ isShotProxy true ] [ allAtOnce true ][ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnt ] [ oddRowFiringPattern fnt ] [ oddRowHoist false ]}]\n[ butterflies {[ translation farfalle ][ language english ]}]\n[ farfalla {[ translation farfalle ][ language [ english spanish french italian ]]}]\n[ farfallas {[ translation farfalle ][ language [ english spanish french italian dutch ]]}]\n[ farfalles {[ translation farfalle ][ language [ english spanish french italian dutch ]]}]\n[ farfalle {\n [ subtype other ]\n [ video "https://www.youtube.com/watch?v=MsPlKc2aZa8"]\n [ notes "A cylinder shell with a ring or double ring break pattern of gerb-like inserts."]\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n [ sameAsLanguages [ french spanish german italian polish ]]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ defaultBreakShape ring ]\n [ breakWidth 0.8506708948824343 ]\n [ breakNumChildren 0.1875 ]\n }]\n [ mineBreak {\n [ breakNumChildren 0.25 ]\n }]\n [ sparkTrail {\n [ emitRateAnimation EmitCurveFarfalle ]\n [ emitDiscRadius 0.0 ]\n [ emitWindFriction 2.5 ]\n [ emitDuration 0.75 ]\n [ emitRate 7.0 ]\n [ emitSpeed 20.0 ]\n }]\n [ charcoalTrail {\n [ emitRateAnimation EmitCurveFarfalle ]\n [ emitDiscRadius 0.0 ]\n [ emitWindFriction 2.5 ]\n [ emitDuration 0.75 ]\n [ emitRate 7.0 ]\n [ emitSpeed 20.0 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n }]\n }]\n [ star {\n [ windFriction 0.75 ]\n }]\n}]\n\n[ feet {[ translation [ ft ]]}]\n\n//fixme:removeme[ finale {[ isPieceToken true ] [ impliesChain true ][ sameAsLanguages [ english ]]}]\n\n// Considered removing because "final" can mean a single salute in other languages, and it is too close, but kept because known to be in English. So demoted it from VDL to English.\n[ finale { [ translation chain ][ isPieceToken true ][ language english ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ flight { [ translation chain ][ isPieceToken true ][ language english ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ flt { [ translation chain ][ isPieceToken true ][ language english ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n[ finale_chain { [ translation chain ][ isPieceToken true ][ language english ][ isSpecialDimensionalProperty true ][ impliesChain true ]}] // Also update descriptionLooksLikeAChain()\n\n//fixme:removeme[ finale_box {[ translation cake ][ isPieceToken true ][ impliesCake true ][ language english ]}]\n[ finale_box {[ translation cake ]}] // Must be autocorrection so as not to leave it in description where descriptionLooksLikeAChain() could misinterpret it as a chain.\n[ five_times {[ numTimes 5 ][ notes "A count of subshells or salutes."]}]\n[ flashing {\n [ isTipExtra true ]\n [ notes "Stars that exhibit intermittent brief, very bright flashes are \'flashing\'; this term applies to the tip of a star, NOT to its trail of sparks (trail of sparks would be \'glittering\'); compare to \'stobing\' or \'twinkling\' or \'shimmering\'."]\n [ video "https://www.youtube.com/watch?v=O3W5iE7LWgs"]\n [ loose {\n [ star {\n [ impliesTip true ]\n [ defaultTipColor silver ]\n }]\n }]\n [ tip {\n [ intensityCurve flashing ]\n [ intensityCurveLoopDuration 4.0 ]\n }]\n}]\n\n[ flare { [ translation ground_flare ][ language [ english ]]}]\n\n[ fnl {[ isPieceToken true ] [ nonLocalized true ][ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnl ] [ oddRowFiringPattern fnl ] [ oddRowHoist false ]}]\n[ fnr {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnr ] [ oddRowFiringPattern fnr ] [ oddRowHoist false ]}]\n[ fnt {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnt ] [ oddRowFiringPattern fnt ] [ oddRowHoist false ]}]\n[ fnw {[ translation fnr ]}]\n[ foot {[ translation ft ]}]\n\n[ no_mortar_flare {\n [ shellLaunch {\n [ launchPointLightIntensity 0.0 ]\n }]\n [ mineLaunch {\n [ launchPointLightIntensity 0.0 ]\n }]\n [ risingLaunch {\n [ launchPointLightIntensity 0.0 ]\n }]\n}]\n\n[ fountain {\n [ subtype ground ]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ loose {\n [ star {\n [ impliesFountain true ]\n [ smokeTrailTokens [ very_thin ]]\n }]\n [ sparkTrail {\n [ tuningContext fountainTrail ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ windFriction 2.003847386983007 ]\n [ windFrictionKappa 0.0 ]\n [ durationKappa 0.2 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n }]\n [ fountainTrail {\n [ emitApexFactor 4.0 ]\n }]\n}]\n[flamefountain {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [isNonVdlTerm true]\n\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n //[ defaultLaunchHeight 0.333333333 ]\n }]\n [ loose {\n [ star {\n [ impliesFlameTrail true ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ sparkTrail {\n [ emitRate 40.0 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitDuration 0.420346 ]\n [ emitDurationKappa 1.8 ]\n [ emitSpeed 21.5331 ]\n [ emitSpeedKappa 0.5 ]\n [ emitStyle fountain ]\n [ emitVelTaper 10.0 ]\n [ emitDiscRadius 0 ]\n [ emitAngleDegreesSigma 0.2 ]\n [ emitWindFriction 1.25 ]\n [ emitWindFrictionKappa 0.125 ]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.2 ]\n [ windFriction 14.2857 ]\n [ windFrictionKappa 0 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n }]\n}]\n\n[ gerb {\n [ sameAsLanguages [ spanish italian portuguese ]]\n [ subtype ground ]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchDuration 0.05 ]\n }]\n\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ loose {\n [ star {\n [ impliesFountain true ]\n [ smokeTrailTokens [ very_thin ]]\n }]\n [ sparkTrail {\n [ tuningContext fountainTrail ]\n }]\n }]\n\n [ star {\n [ motionType static ]\n [ windFriction 2.003847386983007 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n }]\n [ fountainTrail {\n [ emitApexFactor 1.0 ]\n }]\n}]\n\n[ trail {}]\n[ tip {}]\n\n[ jet {\n [ sameAsLanguages [ french spanish german italian portuguese dutch ]]\n [ subtype ground ]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchDuration 0.01 ]\n }]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ loose {\n [ star {\n [ impliesFountain true ]\n }]\n [ sparkTrail {\n [ tuningContext fountainTrail ]\n }]\n }]\n\n [ star {\n [ motionType static ]\n [ windFriction 2.003847386983007 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n }]\n [ fountainTrail {\n [ emitRate 3.0 ]\n [ emitApexFactor 0.8 ]\n }]\n}]\n\n[ flame {[ translation flame_projector ]}]\n[ flame_projector {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ isNonVdlTerm true ]\n\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n //[ defaultLaunchHeight 0.333333333 ]\n }]\n [ loose {\n [ star {\n [ impliesFlameTrail true ]\n [ smokeTrailTokens [ very_thin ]]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.2 ]\n [ windFriction 14.2857 ]\n [ windFrictionKappa 0.0 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n }]\n}]\n[ cremora_fireball {[ translation fireball ][ language english ]}]\n[ fireball {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n\n [ subtype sfx ]\n [ sameAsLanguages [ portuguese ]]\n\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchDuration 0.02 ]\n [ defaultLaunchHeight 1.2096 ]\n }]\n\n [ loose {\n [ star {\n [ motionType static ]\n [ impliesFlameTrail true ]\n [ smokeTrailTokens [ very_thin ]]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ durationKappa 0.2 ]\n [ windFriction 10.0192 ]\n [ windFrictionKappa 0.0 ]\n }]\n\n [ flame_trail {\n [ emitWindFriction 0.5 ]\n [ emitAngleDegreesSigma 4.0 ]\n [ emitDurationKappa 0.6 ]\n [ emitRate 0.228571 ]\n [ emitVelTaper 1.0 ]\n [ emitApexFactor 2.8]\n }]\n [ flame_puff {\n [ flamePuffStartSize 2.0 ]\n [ flamePuffEndSize 15.0 ]\n [ flamePuffSizeCurve fireballFlameSize ]\n [ flamePuffTempCurve fireballFlameTemp ]\n [ flamePuffAlphaCurve fireballFlameAlpha ]\n }]\n}]\n\n[ ground_whistle {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ loose {\n [ groundLaunch {\n [ sound2Tokens [ whistle ] ]\n }]\n }]\n\n [ sameAsLanguages [ spanish italian portuguese ]]\n [ notes "A fountain with sparks that burn out on the way up."]\n [ subtype ground ]\n\n [ launch {\n [ launchType groundLaunch ]\n }]\n\n [ fountainTrail {\n [ emitDuration 0.5 ]\n }]\n\n [ ground {\n [ launchDurationScale 0.9 ]\n [ defaultLaunchDuration 0.05 ]\n [ effectHeight 0.16667 ]\n }]\n}]\n\n[ jets { [ translation jet ] [ language [ english french spanish portuguese ]] }]\n[ flamepot { [ translation ground_flare ] [ language english ] }]\n[ flame_pot { [ translation ground_flare ] [ language english ] }]\n[ flash_pot { [ translation ground_flash ] [ language english ] }]\n[ flashpot { [ translation ground_flash ] [ language english ] }]\n[ photoflash_pot { [ translation ground_photoflash ] [ language english ] }]\n[ photoflashpot { [ translation ground_photoflash ] [ language english ] }]\n[ lancework { [ translation ground_strobe ] [ reformulation true ] [ notes "A pattern of fountains/gerbs in a lattice displaying a word or image. This is the full lattice, not an individual lances."] }] // Stand-in.\n\n[ fall { [ translation waterfall_lance ] [ language english ] }]\n[ falls { [ translation waterfall_lance ] [ language english ] }]\n[ ground_fall { [ translation waterfall_lance ] [ language english ] }]\n[ ground_falls { [ translation waterfall_lance ] [ language english ] }]\n[ ground_waterfall { [ translation waterfall_lance ] [ language english ] }]\n[ ground_waterfalls { [ translation waterfall_lance ] [ language english ] }]\n[ waterfall_lances { [ translation waterfall_lance ] [ language english ] }]\n[ waterfall_lance { [ translation fountain ] [ reformulation true ] [ notes "A fountain-like device mounted upside down to produce a falling shower of sparks."] }] // Stand-in.\n\n[ wheel { [ translation ground_strobe ] [ reformulation true ] }] // Stand-in.\n[ ground_flare {\n [ subtype ground ]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ loose {\n [ star {\n [ impliesFountain true ]\n [ cancelsImpliedSmokeTrail true ]\n }]\n [ sparkTrail {\n [ tuningContext fountainTrail ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 0.166666 ]\n [ launchAngleDegreesSigma 0.0 ]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.2 ]\n }]\n [ spark {\n [ intensityCurve starSparkRadiusAndBlurScale1 ]\n [ sparkSizeKappa 0.25 ]\n [ startTemp 0 ]\n [ endTemp 0 ]\n }]\n [ fountainTrail {\n [ emitSizeMm 5.0 ]\n [ emitDuration 0.05 ]\n [ emitApexFactor 0.4 ]\n [ emitAngleDegreesSigma 0.1 ]\n }]\n}]\n\n[ ground_strobe {[ translation strobe_pot ] [reformulation true]}] // fixme: is reformulation [ language english ]}]\n[ strobe_pot {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 0.0 ]\n }]\n [ loose {\n [ star {\n [ cancelsImpliedPassiveTrail true ]\n [ impliesTip true ]\n }]\n [ tip {\n [ tuningContext strobePotTip ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n }]\n [ smoke_trail {\n [ emitDuration 2.0 ]\n [ emitSpeed 20 ]\n [ emitRate 0.2 ]\n [ emitRateAnimation one ]\n [ emitStyle uniform ]\n }]\n [ smoke_puff {\n [ smokePuffStartSize 6.25 ]\n [ smokePuffEndSize 12.5 ]\n }]\n}]\n\n[ spotlight {\n [ overrideEffectCategory light ]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 2.0 ]\n [ launchAngleDegreesSigma 0.0 ]\n }]\n [ loose {\n [ star {\n [ cancelsImpliedPassiveTrail true ]\n [ cancelsImpliedSmokeTrail true ]\n [ impliesLightBeam true ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.0 ]\n }]\n [ light_beam {\n [ angleSpread0 5.0 ]\n }]\n}]\n[ par_light {\n [ overrideEffectCategory light ]\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 2.0 ]\n [ launchAngleDegreesSigma 0.0 ]\n }]\n [ loose {\n [ star {\n [ cancelsImpliedPassiveTrail true ]\n [ cancelsImpliedSmokeTrail true ]\n [ impliesLightBeam true ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.0 ]\n }]\n [ light_beam {\n [ angleSpread0 50.0 ]\n }]\n}]\n[ point_light {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 0.0 ]\n }]\n [ loose {\n [ star {\n [ cancelsImpliedPassiveTrail true ]\n [ cancelsImpliedSmokeTrail true ]\n [ impliesTip true ]\n }]\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ star {\n [ motionType static ]\n [ durationKappa 0.0 ]\n }]\n [ tip {\n [ intensityCurve one ]\n }]\n}]\n\n[ smokeless {\n [ loose {\n [ star {\n [ cancelsImpliedSmokeTrail true ]\n }]\n }]\n}]\n\n[ microstars {\n [ loose {\n [ sparkTrail {\n [ tuningContext microstarsTrail ]\n }]\n }]\n [ spark {\n [ startTemp 0.666666 ]\n [ endTemp 0.75 ]\n [ intensityCurve glitteringTrail ]\n [ intensityCurveLoopDuration 4 ]\n [ sparkSizeKappa 1.333333 ]\n }]\n}]\n\n\n[ strobing {\n [ willowBreak {\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 23\n 50.8 26\n 76.2 50\n 152.4 81\n ]]\n ]]\n }]\n [ loose {\n [ star {\n [ impliesTip true ]\n [ defaultTipColor silver ]\n }]\n [ willowStar {\n [ cancelsColorTip true ]\n [ impliesTrails [ charcoalWillowBaseTrail microstarsTrail ] ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 0.663534\n 5.1 0.867119\n 7.6 0.666666\n 15.1 0.727272\n ]]\n ]]\n }]\n [ charcoalWillowBaseTrail {\n [ replaceWithTokens [ charcoalwillowbase ] ]\n }]\n [ microstarsTrail {\n [ canUseTipColors true ]\n [ replaceWithTokens [ microstars ] ]\n }]\n }]\n [ tip {\n [ intensityCurve strobing ]\n [ intensityCurveLoopDuration 4.0 ]\n }]\n [ fountainTrail {\n [ emitRateAnimation EmitCurveGroundStrobe ]\n }]\n}]\n\n[ photoflash {\n [ looseyGooseyShot {\n [ impliesSalute true ]\n }]\n\n [ sameAsLanguages [ spanish portuguese ]]\n [ notes "A brightly burning aerial flash, slightly slower and burnier than a salute, and quiet."]\n\n [ loose {\n [ shellBreak {\n [ soundTokens [ ] ]\n }]\n }]\n [ shellBreak {\n [ breakNumChildren 0 ]\n [ breakFlashSparkIntensity 100.0 ]\n }]\n}]\n\n[ ground_photoflash { [ translation ground_flash ] [ reformulation true ] [ notes "A single, bright, burning flash on the ground, like ground_flash but brighter and slightly slower and more \'burning\'."] }]\n[ maroon { [ translation ground_flash ] [ language english ] }]\n[ ground_flash {\n [ looseyGooseyShot {\n [ impliesFountain true ]\n }]\n [ launch {\n [ launchType groundLaunch ]\n }]\n [ groundLaunch {\n [ defaultLaunchHeight 0.0 ]\n [ defaultLaunchDuration 0.0025 ]\n }]\n [ loose {\n [ star {\n [ cancelsImpliedPassiveTrail true ]\n [ impliesTip true ]\n [ defaultTipColor silver ]\n }]\n [ groundLaunch {\n [ soundTokens [ mortar ] ]\n }]\n }]\n [ star {\n [ motionType static ]\n }]\n [ tip {\n [ sparkIntensity 17.5 ]\n [ startTemp 3000 ]\n [ endTemp 3000 ]\n [ intensityCurve one ]\n }]\n [ smoke_trail {\n [ emitDuration 0.25 ]\n [ emitSpeed 10.0 ]\n [ emitRate 0.8 ]\n [ emitRateAnimation one ]\n [ emitStyle uniform ]\n }]\n [ smoke_puff {\n [ smokePuffStartSize 6.25 ]\n [ smokePuffEndSize 6.25 ]\n [ smokePuffDensity 3.5 ]\n }]\n}]\n[ flash_tray {\n [ looseyGooseyShot {\n [ impliesSalute true ]\n }]\n [ sameAsLanguages [ german ]]\n [ notes "An open container of flash powder that makes a soft explosion with lots of sparks that is not very loud."]\n [ overrideEffectCategory ground ]\n [ loose {\n [ groundLaunch {\n [ soundTokens [] ]\n }]\n }]\n [ reportCrackle {\n [ emitSpeed 6 ]\n [ emitDuration 0.9 ]\n [ emitRate 200 ]\n [ particleSizeCurveTable [\n [ starSizeMm [\n 1.6 0.1\n 160.0 10.0 // 6.25%\n 16000.0 1000.0 // scale both previous values by 100\n ]]\n ]]\n }]\n [ shell {\n [ effectHeight 0.001 ]\n [ launchDurationScale 0.05 ]\n }]\n [ shellBreak {\n [ effectHeight 0.001 ]\n [ launchDurationScale 0.05 ]\n }]\n}]\n[ flashtray {[ translation flash_tray ][ language english ]}]\n[ air_burst {[ translation flash_tray ][ reformulation true ][ notes "An stationary detonation of flash composition affixed to structure or hanging from the ceiling."]}]\n[ airburst {[ translation air_burst ][ language [ english german ]]}]\n\n[ burst {\n [ sound {\n [ soundName burst ]\n }]\n}]\n\n\n[ four_times {[ numTimes 4 ][ notes "A count of subshells or salutes."]}]\n[ ft {[ isPieceToken true ][ nonLocalized true ][ isPartToken true ] [ heightMeters 0.3048 ] [ isSpecialDimensionalProperty true ]}]\n\n[ ghost {\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ sameAsLanguages [ german ]]\n [ ifRisingIsFlower true ]\n [ subtype other ]\n \n [ shellBreak {\n [ breakGhostArgument 1.0 ]\n [ defaultStarDurationScale 1.25 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTip true ]\n [ requiresTransition true ]\n [ transitionFromDefault [ dark ]]\n }]\n }]\n [ star {\n [ duration 1.25 ]\n }]\n}]\n\n[ sweeper {[ translation sweeper_ghost ]}]\n[ sweeper_ghost {\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ sameAsLanguages [ polish dutch ]]\n [ ifRisingIsFlower true ]\n [ subtype other ]\n \n [ shellBreak {\n [ breakGhostArgument -1.0 ]\n [ defaultStarDurationScale 1.5 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTip true ]\n [ requiresTransition true ]\n [ transitionFromDefault [ dark ]]\n }]\n }]\n [ star {\n [ duration 1.5 ]\n }]\n}]\n\n[ glitterbase {\n [ loose {\n [ sparkTrail {\n [ tuningContext glitterBaseTrail ]\n }]\n [ spark {\n [ tuningContext glitterBaseSpark ]\n }]\n [ glitterBaseTrail {\n [ emitSizeMm 1.0 ]\n }]\n }]\n [ glitterBaseTrail {\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 35\n 5.1 40\n 7.6 50\n 15.1 70\n ]]\n ]]\n }]\n}]\n\n[ glittering {\n [ isTrailExtra true ]\n [ loose {\n [ star {\n [ impliesTrails [ glitteringTrail glitterBaseTrail ]]\n [ cancelsTrails [ goldTrail charcoalBaseTrail silverTrail charcoalTrail ]]\n }]\n [ sparkTrail {\n [ tuningContext glitteringTrail ]\n }]\n [ spark {\n [ tuningContext glitterSpark ]\n }]\n [ glitteringTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.5\n 5.1 0.6\n 7.6 0.7\n 15.1 0.9\n ]]\n ]]\n }]\n [ glitterBaseTrail {\n [ replaceWithTokens [ glitterbase ] ]\n }]\n }]\n [ glitteringTrail {\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 35\n 5.1 40\n 7.6 50\n 15.1 70\n ]]\n ]]\n }]\n}]\n\n[ twinkle {[ translation [ twinkling ]]}]\n[ twinkling {\n [ isTipExtra true ]\n [ loose {\n [ star {\n [ impliesTip true ]\n [ defaultTipColor silver ]\n }]\n }]\n [ tip {\n [ intensityCurve twinkling ]\n [ intensityCurveLoopDuration 4.0 ]\n }]\n}]\n\n[ heading {[ translation shell ]}] // Payload of a rocket.\n[ helix {\n [ sparkTrail {\n [ emitStyle helix ]\n }]\n [ charcoalTrail {\n [ emitStyle helix ]\n }]\n [ activeTrail {\n [ emitStyle helix ]\n }]\n}]\n[ waterfall {\n [ notes "Like horsetail but wider canopy; does not break earlier than apex."]\n [ translation [ horsetail ]]\n [ reformulation true ]\n [ subtype other ]\n}]\n[ horse_tail {[ translation [ horsetail ]]}]\n[ horsetail {\n [ subtype other ]\n [ ifRisingIsFlower true ]\n [ moreLikelyHasTrailThanTip true ]\n \n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ breakTuningContextTokens [ horsetail ] ]\n }]\n\n [ loose {\n [ star {\n [ tuningContext horseTailStar ]\n }]\n [ break {\n [ tuningContext horseTailBreak ]\n }]\n [ horseTailBreak {\n [ soundTokens [ soft burst ] ]\n }]\n [ horseTailStar {\n [ impliesTrailsIfNoColorsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 2.5\n 5.1 3.0\n 7.6 4.5\n 15.1 8.0\n ]]\n ]]\n }]\n }]\n [ horseTailBreak {\n [ worldFlashIntensity 0 ]\n [ breakWidthKappa 0.1 ]\n [ particleSizeCurveTable [\n [ breakWidth [\n 19.1 4\n 50.8 6\n 76.2 10\n 152.4 15\n ]]\n [ breakNumChildren [\n 19.1 35\n 50.8 40\n 76.2 45\n 152.4 65\n ]]\n [ breakFlashSparkIntensity [\n 25.4 2\n 50.8 10\n 76.2 10\n 152.4 50\n ]]\n ]]\n }]\n [ horseTailStar {\n [ windFrictionKappa 0.25]\n [ particleSizeCurveTable [\n [ windFriction [\n 3.0 25\n 5.1 22.5\n 7.6 18.6\n 15.1 10.9\n ]]\n ]]\n }]\n [ sparkTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ emitRateAnimation bumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 2.5\n 5.1 2.5\n 7.6 3.21429\n 15.1 3.75\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 0.666666\n 7.6 0.75\n 15.1 0.666666\n ]]\n [ emitRate [\n 3.0 0.428571\n 5.1 0.4\n 7.6 0.5\n 15.1 0.454545\n ]]\n [ emitSizeMm [\n 3.0 0.6\n 5.1 0.666666\n 7.6 0.714286\n 15.1 0.625\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ emitRateAnimation bumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 3.2\n 5.1 3.333333\n 7.6 4.14286\n 15.1 5.0\n ]]\n [ emitSpeed [\n 3.0 1.0\n 5.1 0.666666\n 7.6 0.75\n 15.1 0.666666\n ]]\n [ emitRate [\n 3.0 0.428571\n 5.1 0.4\n 7.6 0.5\n 15.1 0.454545\n ]]\n [ emitSizeMm [\n 3.0 0.6\n 5.1 0.8\n 7.6 1.0\n 15.1 1.0\n ]]\n ]]\n }]\n [ smoke_trail {\n [ emitRateAnimation bumpUpDown ]\n [ emitRateCurveMinY 6.5 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 0.176056\n 5.1 0.199317\n 7.6 0.200481\n 15.1 0.2\n ]]\n ]]\n }]\n [ sound {\n [ secondaryType soft ]\n }]\n}]\n[ in {[ isPieceToken true ][ isSpecialDimensionalProperty true ][ isNonVdlTerm true ] [ isPartToken true ] [ caliberMeters 0.0254 ]}]\n[ inch {[ translation [ in ]]}]\n[ layer {[ translation [ above ]]}]\n[ lightning {[ translation [ ultrafast ]]}]\n[ m {[ isPieceToken true ][ isNonVdlTerm true ][ isPartToken true ] [ heightMeters 1.0 ] [ metric true ] [ isSpecialDimensionalProperty true ]}]\n\n[ meteor {[ translation pearl ][ reformulation true ][ sameAsLanguages [ dutch ]]}]\n\n[ metr\xf3w {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ metry {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ metre {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ metres {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ meter {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ meters {[ translation [ m ]][ isNonVdlTerm true ]}]\n[ mm {[ isPieceToken true ] [ isSpecialDimensionalProperty true ][ isPartToken true ] [ caliberMeters 0.001 ][ isNonVdlTerm true ]}]\n[ mines {[ translation [ mine ]]}]\n[ mixed {[ impliesNotPolyColor true ][ notes "Mixed means that all the specified colors apply to each shell or shot, as opposed to one color per shell or shot. EXAMPLE: Each subshell of a \'Red & White & Blue Mixed Shell-Of-Shells\' has all three colors; whereas each subshell of \'Red & White & Blue Mixed Shell-Of-Shells\' has one color."]}] \n[ multicolor {[ translation multi_color ][ language [ english spanish portuguese ]][ bestNominalColorTranslation true ][ notes "Multi-color means each shell or shot has one single homogeneous color, in contrast to \'variegated\' which means each shell or shot has multiple colors. Example: Subshells of \'Multi-Color Shell-Of-Shells\' are each of a single color, whereas each subshell of a \'Variegated Shell-Of-Shells\' has multiple colors."]}]\n\n// FIXME: add new_color and the colors it refers to.\n[ nine_times {[ numTimes 9 ][ notes "A count of subshells or salutes."]}]\n[ notip {[ translation [ dark ]]}]\n[ no_tip {[ translation [ dark ]][ notes "Cancels the star head or tip flame in a description that otherwise would have stars with flame envelopes. EXAMPLE A \'No-Tip Chrysanthemum\' has stars that leave trails of sparks but that do not have a bright flame around star."] }]\n[ notrail {[ translation [ no_trail ]]}]\n[ noinheritvelocity {\n [ shellBreak { [ breakInheritVelocity 0.0 ] }]\n}]\n[ no_trail {\n [ loose {\n [ star {\n [ cancelsTrails [ goldTrail charcoalBaseTrail silverTrail charcoalTrail ] ]\n }]\n }]\n}]\n[ one_time {[ numTimes 1 ][ notes "A count of subshells or salutes."]}]\n[ one_times {[ translation [ one_time ]]}]\n[ otc {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern otc ] [ oddRowFiringPattern otc ] [ oddRowHoist false ]}]\n[ outer {\n [ looseyGooseyShell {[ definesFinalPetalShape true ]}]\n [ loose {\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ shellBreak {\n [ breakWidth 1.2 ]\n }]\n}] \n[ coconut {[ translation coco ][ reformulation true ][ sameAsLanguages [ italian portuguese ]][ notes "A palm shell that has a few white stars to represent the coconuts of the tree."]}]\n[ coco {\n [ subtype coco ]\n [ sameAsLanguages [ portuguese ]]\n [ notes "A star type that leaves bright and thick but short-lasting trails; or an aerial shells of such stars."] \n [ impliedNominalColor gold ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ]]\n [ passiveTrailTokens [ slightly_thick very_bright ]]\n [ charcoalTrailTokens [ slightly_thick very_bright ]]\n [ tipTokens [ bright ]]\n [ defaultDuration 1.2 ]\n }]\n }]\n [ star {\n [ durationKappa 0.25 ]\n }]\n\n [ shellBreak {\n [ breakWidth 1.1450925546334716 ]\n [ breakNumChildren 0.3 ]\n }] \n}]\n\n[ palms {[ translation palm ]}]\n[ palm {\n [ subtype palm ]\n [ impliedNominalColor gold ]\n [ sameAsLanguages [ dutch ]]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n }]\n [ shellBreak {\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 0.222222\n 50.8 0.230769\n 76.2 0.148515\n 152.4 0.185185\n ]]\n ]]\n }]\n [ goldTrail {\n [ emitWindFriction 80 ]\n [ particleSizeCurveTable [\n [ emitDuration [\n 3.0 1.5\n 5.1 1.8\n 7.6 2.1\n 15.1 2.4\n ]]\n [ emitSpeed [\n 3.0 2\n 5.1 2.5\n 7.6 3\n 15.1 5\n ]]\n [ emitRate [\n 3.0 105\n 5.1 112.5\n 7.6 150\n 15.1 165\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitWindFriction 0.8 ]\n [ emitDuration 3.0 ]\n [ emitRate 1.5 ]\n [ particleSizeCurveTable [\n [ emitSpeed [\n 3.0 2\n 5.1 1.666667\n 7.6 1.5\n 15.1 1.66667\n ]]\n ]]\n }]\n}]\n[ wave {\n [ video "https://youtu.be/2CNCKfuRTyc"]\n [ subtype wave ]\n [ impliedNominalColor gold ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ ifRisingIsFlower true ]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ passiveTrailTokens [ slightly_thick ]]\n [ charcoalTrailTokens [ slightly_thick ]]\n }]\n }]\n}]\n\n[ peacock {[ translation [ x_shape ]]}]\n[ peanut {\n [ isShotToken true ]\n [ sameAsLanguages [ german ]]\n [ subtype other ]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ breakTuningContextTokens [ peanut ] ]\n }]\n [ loose {\n [ break {\n [ tuningContext peanutBreak ]\n }]\n }]\n}]\n[ peanut_shell {[ translation peanut ] [reformulation true]}] // fixme: is reformulation }]\n[ pearl {\n [ looseyGooseyShot {\n [ impliesRisingCategoryConditionally true ]\n }]\n\n [ loose {\n [ star {\n [ impliesTip true ]\n }]\n }]\n [ launch {\n [ launchType risingLaunch ]\n }]\n}]\n[ pearls {[ translation pearl ][ language english ]}]\n\n[ l5 {[ launch {[ angleOffset -5 ]}] [ nonLocalized true ]}]\n[ l10 {[ launch {[ angleOffset -10 ]}] [ nonLocalized true ]}]\n[ l15 {[ launch {[ angleOffset -15 ]}] [ nonLocalized true ]}]\n[ l20 {[ launch {[ angleOffset -20 ]}] [ nonLocalized true ]}]\n[ l25 {[ launch {[ angleOffset -25 ]}] [ nonLocalized true ]}]\n[ l30 {[ launch {[ angleOffset -30 ]}] [ nonLocalized true ]}]\n[ l35 {[ launch {[ angleOffset -35 ]}] [ nonLocalized true ]}]\n[ l40 {[ launch {[ angleOffset -40 ]}] [ nonLocalized true ]}]\n[ l45 {[ launch {[ angleOffset -45 ]}] [ nonLocalized true ]}]\n[ l50 {[ launch {[ angleOffset -50 ]}] [ nonLocalized true ]}]\n[ l55 {[ launch {[ angleOffset -55 ]}] [ nonLocalized true ]}]\n[ l60 {[ launch {[ angleOffset -60 ]}] [ nonLocalized true ]}]\n[ l65 {[ launch {[ angleOffset -65 ]}] [ nonLocalized true ]}]\n[ l70 {[ launch {[ angleOffset -70 ]}] [ nonLocalized true ]}]\n[ l75 {[ launch {[ angleOffset -75 ]}] [ nonLocalized true ]}]\n[ l80 {[ launch {[ angleOffset -80 ]}] [ nonLocalized true ]}]\n[ l85 {[ launch {[ angleOffset -85 ]}] [ nonLocalized true ]}]\n[ l90 {[ launch {[ angleOffset -90 ]}] [ nonLocalized true ]}]\n[ l95 {[ launch {[ angleOffset -95 ]}] [ nonLocalized true ]}]\n[ l100 {[ launch {[ angleOffset -100 ]}] [ nonLocalized true ]}]\n[ l105 {[ launch {[ angleOffset -105 ]}] [ nonLocalized true ]}]\n[ l110 {[ launch {[ angleOffset -110 ]}] [ nonLocalized true ]}]\n[ l115 {[ launch {[ angleOffset -115 ]}] [ nonLocalized true ]}]\n[ l120 {[ launch {[ angleOffset -120 ]}] [ nonLocalized true ]}]\n[ l125 {[ launch {[ angleOffset -125 ]}] [ nonLocalized true ]}]\n[ l130 {[ launch {[ angleOffset -130 ]}] [ nonLocalized true ]}]\n[ l135 {[ launch {[ angleOffset -135 ]}] [ nonLocalized true ]}]\n[ l140 {[ launch {[ angleOffset -140 ]}] [ nonLocalized true ]}]\n[ l145 {[ launch {[ angleOffset -145 ]}] [ nonLocalized true ]}]\n[ l150 {[ launch {[ angleOffset -150 ]}] [ nonLocalized true ]}]\n[ l155 {[ launch {[ angleOffset -155 ]}] [ nonLocalized true ]}]\n[ l160 {[ launch {[ angleOffset -160 ]}] [ nonLocalized true ]}]\n[ l165 {[ launch {[ angleOffset -165 ]}] [ nonLocalized true ]}]\n[ l170 {[ launch {[ angleOffset -170 ]}] [ nonLocalized true ]}]\n[ l175 {[ launch {[ angleOffset -175 ]}] [ nonLocalized true ]}]\n[ l180 {[ launch {[ angleOffset -180 ]}] [ nonLocalized true ]}]\n\n[ r5 {[ launch {[ angleOffset 5 ]}] [ nonLocalized true ]}]\n[ r10 {[ launch {[ angleOffset 10 ]}] [ nonLocalized true ]}]\n[ r15 {[ launch {[ angleOffset 15 ]}] [ nonLocalized true ]}]\n[ r20 {[ launch {[ angleOffset 20 ]}] [ nonLocalized true ]}]\n[ r25 {[ launch {[ angleOffset 25 ]}] [ nonLocalized true ]}]\n[ r30 {[ launch {[ angleOffset 30 ]}] [ nonLocalized true ]}]\n[ r35 {[ launch {[ angleOffset 35 ]}] [ nonLocalized true ]}]\n[ r40 {[ launch {[ angleOffset 40 ]}] [ nonLocalized true ]}]\n[ r45 {[ launch {[ angleOffset 45 ]}] [ nonLocalized true ]}]\n[ r50 {[ launch {[ angleOffset 50 ]}] [ nonLocalized true ]}]\n[ r55 {[ launch {[ angleOffset 55 ]}] [ nonLocalized true ]}]\n[ r60 {[ launch {[ angleOffset 60 ]}] [ nonLocalized true ]}]\n[ r65 {[ launch {[ angleOffset 65 ]}] [ nonLocalized true ]}]\n[ r70 {[ launch {[ angleOffset 70 ]}] [ nonLocalized true ]}]\n[ r75 {[ launch {[ angleOffset 75 ]}] [ nonLocalized true ]}]\n[ r80 {[ launch {[ angleOffset 80 ]}] [ nonLocalized true ]}]\n[ r85 {[ launch {[ angleOffset 85 ]}] [ nonLocalized true ]}]\n[ r90 {[ launch {[ angleOffset 90 ]}] [ nonLocalized true ]}]\n[ r95 {[ launch {[ angleOffset 95 ]}] [ nonLocalized true ]}]\n[ r100 {[ launch {[ angleOffset 100 ]}] [ nonLocalized true ]}]\n[ r105 {[ launch {[ angleOffset 105 ]}] [ nonLocalized true ]}]\n\n[ r110 {[ launch {[ angleOffset 110 ]}] [ nonLocalized true ]}]\n[ r115 {[ launch {[ angleOffset 115 ]}] [ nonLocalized true ]}]\n[ r120 {[ launch {[ angleOffset 120 ]}] [ nonLocalized true ]}]\n[ r125 {[ launch {[ angleOffset 125 ]}] [ nonLocalized true ]}]\n[ r130 {[ launch {[ angleOffset 130 ]}] [ nonLocalized true ]}]\n[ r135 {[ launch {[ angleOffset 135 ]}] [ nonLocalized true ]}]\n[ r140 {[ launch {[ angleOffset 140 ]}] [ nonLocalized true ]}]\n[ r145 {[ launch {[ angleOffset 145 ]}] [ nonLocalized true ]}]\n[ r150 {[ launch {[ angleOffset 150 ]}] [ nonLocalized true ]}]\n[ r155 {[ launch {[ angleOffset 155 ]}] [ nonLocalized true ]}]\n[ r160 {[ launch {[ angleOffset 160 ]}] [ nonLocalized true ]}]\n[ r165 {[ launch {[ angleOffset 165 ]}] [ nonLocalized true ]}]\n[ r170 {[ launch {[ angleOffset 170 ]}] [ nonLocalized true ]}] \n[ r175 {[ launch {[ angleOffset 175 ]}] [ nonLocalized true ]}]\n[ r180 {[ launch {[ angleOffset 180 ]}] [ nonLocalized true ]}]\n\n[ peony {\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ sameAsLanguages [ german portuguese dutch ]]\n [ ifRisingIsFlower true ]\n [ subtype peony ]\n}]\n[ pft {[ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language english ]}]\n[ pist {[ translation pistil ][ language english ]}]\n[ pistill {[ translation pistil ][ language english ]}]\n[ center {[ translation core ][ language english ]}]\n[ pistil {\n [ looseyGooseyShell {\n [ definesFinalPetalShape true ]\n [ breakTuningContextTokens [ pistil ] ]\n }]\n [ loose {\n [ break {\n [ tuningContext pistilBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ sameAsLanguages [ french italian ]]\n}]\n//fixme:removeme[ popcorn_crackle {[ translation [ aerial crackle_report ]][ sameAsLanguages [ german ]][ reformulation true ]}]\n[ prefire {[ isPieceToken true ] [ isPartToken true ] [ prefireSeconds 1.0 ] [ isSpecialDimensionalProperty true ][ sameAsLanguages [ german polish ]]}]\n[ dly {[ isPieceToken true ][ nonLocalized true ] [ delayBeforeSimulationSeconds 1.0 ] [ isUnspecialDimensionalProperty true ]}]\n[ pre_fire {[ translation prefire ] [ isPartToken true ] [ isSpecialDimensionalProperty true ][ isPieceToken true ][ language english ]}]\n\n\n//fixme:removeme[ r_shape {[ translation [ x_shape ]]}]\n[ report {\n [ impliesReport true ]\n [ loose {\n [ star {\n [ impliesReport true ]\n [ becomeBreakTokens [ report ] ]\n }]\n [ break {\n [ tuningContext reportBreak ]\n }]\n }]\n [ reportBreak {\n }]\n [ sound {\n [ soundName report ]\n }]\n}]\n[ reports {[ translation report ]}]\n[ titanium_reports {[ translation titanium_report ]}]\n[ titanium_salutes {[ translation titanium_salute ]}]\n[ salutes {[ translation salute ]}]\n[ salute {\n [ subtype other ]\n [ saluteConvertsTo report ]\n [ sameAsLanguages [ german ]]\n [ looseyGooseyShot {\n [ impliesSalute true ]\n }]\n [ looseyGooseyShell {\n [ breakTuningContextTokens [ salute ] ]\n }]\n [ loose {\n [ break {\n [ tuningContext saluteBreak ]\n }]\n }]\n [ saluteBreak {\n }]\n}]\n\n[ atomic_ring {[ translation triple_cross_rings ][ language english ]}]\n[ atomic_rings {[ translation triple_cross_rings ][ language english ]}]\n[ bowtie_ring {[ translation bowtie_rings ][ language english ]}]\n[ concentric_ring {[ translation concentric_rings ][ language english ]}]\n[ cross_ring {[ translation cross_rings ][ language english ]}]\n[ double_half_ring {[ translation double_half_rings ][ language english ]}]\n[ double_ring {[ translation double_rings ][ language english ]}]\n[ triple_cross_ring {[ translation triple_cross_rings ][ language english ]}]\n[ triple_half_ring {[ translation triple_half_rings ][ language english ]}]\n[ triple_ring {[ translation triple_rings ][ language english ]}]\n\n\n\n[ ring {\n [ sameAsLanguages [ german ]]\n [ subtype ring ]\n [ looseyGooseyShell {[definesFinalPetalShape true]}]\n [ loose {\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ ifRisingIsFlower true ]\n [ shellBreak {\n [ breakShape ring ]\n [ particleSizeCurveTable [\n [ breakNumChildren [\n 19.1 0.266667\n 50.8 0.288462\n 76.2 0.148515\n 152.4 0.166667\n ]]\n [ breakRaggedness [\n 19.1 0.5\n 50.8 1.0\n 76.2 1.0\n 152.4 1.0\n ]]\n ]]\n }]\n}]\n\n[ concentric_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape concentricRings ] [ shellBreak {[ breakShape concentricRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.0 ] }] [ notes "A smaller ring inside a larger ring, like a bullseye."]}]\n[ cross_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape crossRings ] [ shellBreak {[ breakShape crossRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.0 ] }] [ notes "A break shape of two orthogonal rings, like longtitude and latitude circles on a globe."]}]\n[ double_half_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape doubleHalfRings ] [ shellBreak {[ breakShape doubleHalfRings ] [ breakWidth 1.2 ] [ breakNumChildren 0.5 ] }] [ notes "Two half-rings side-by-side, like the sides of a bridge."]}]\n[ bowtie_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape bowTieRings ] [ shellBreak {[ breakShape bowTieRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.0 ] }] [ notes "Two parallel rings cast apart in the break in opposing outward directions."]}]\n[ double_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape doubleRings ] [ shellBreak {[ breakShape doubleRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.5 ] }] [ notes "Two rings in a stack, like slices of the same cylinder."]}]\n[ triple_concentric_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape tripleConcentricRings ] [ shellBreak {[ breakShape tripleConcentricRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.5 ] }] [ notes "Smaller rings inside larger rings, like a bullseye."]}]\n[ triple_cross_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape tripleCrossRings ] [ shellBreak {[ breakShape tripleCrossRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.5 ] }] [ notes "Three rings of different orientations, like the symbol of an atom."]}]\n[ triple_half_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape tripleHalfRings ] [ shellBreak {[ breakShape tripleHalfRings ] [ breakWidth 1.2 ] [ breakNumChildren 0.5 ] }] [ notes "Three half-rings side-by-side."]}]\n[ triple_rings {[subtype ring ] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape tripleRings ] [ shellBreak {[ breakShape tripleRings ] [ breakWidth 1.2 ] [ breakNumChildren 1.0 ] }] [ notes "Three rings in a stack, like slices of the same cylinder."]}]\n[ smiley_face {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ ifRisingIsFlower true ] [ breakShape smiley ] [ shellBreak {[ breakShape smiley ] [ breakWidth 1.2 ] [ breakNumChildren 1.0 ] }] }]\n[ bowtie {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ breakShape bowTie ] [ shellBreak { [ breakShape bowTie ] }] [ notes "A break pattern with stars cast out conically in opposite directions, like a necktie or whiskers."]}]\n[ ear {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ breakShape ear ] [ shellBreak { [ breakShape ear ] }] [ sameAsLanguages [ german ]] }]\n[ half_and_half {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ breakShape halfAndHalf ] [ shellBreak { [ breakShape halfAndHalf ] }] [ notes "A break pattern consisting of two half-spheres of stars."] [ sameAsLanguages [ german ]] }]\n[ bottom_half {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ breakShape bottomHalf ] [ shellBreak { [ breakShape bottomHalf ] }] [ notes "The bottom half of a break pattern of stars, referenced independently of the top half so that its characteristics (e.g., color) can be described."] }]\n[ top_half {[subtype other] [looseyGooseyShell {[definesFinalPetalShape true]}] [loose {[break {[tuningContext shellBreak]}] [star {[impliesTipIfNoTrail true]}]}] [ breakShape topHalf ] [ shellBreak { [ breakShape topHalf ] }] [ notes "The top half of a break pattern of stars, referenced independently of the top half so that its characteristics (e.g., color) can be described."]}]\n\n[ stained_glass {[ subtype other ][ sameAsLanguages [ german ]][ translation [ red green blue yellow pink orange cyan octopus ]][ reformulation true ][ notes "A shell that breaks into different colored clusters of stars."] }]\n//[ cube {[ subtype other ][ looseyGooseyShell {[ definesFinalPetalShape true ]}] [ breakShape cube ] [ shellBreak { [ breakShape cube ] }] }]\n[ bow_tie {[ translation bowtie ]}]\n[ butterfly {[ translation bowtie ][ reformulation true ][ subtype other ][ notes "A bowtie break pattern of stars, plus two antennea stars. This is NOT farfalle."]}]\n\n[ maltese_ring {\n [ subtype ring ]\n [ looseyGooseyShell {\n [ definesFinalPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }] \n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ ifRisingIsFlower true ]\n [ breakShape malteseRing ]\n [ shellBreak {\n [ breakShape malteseRing ]\n [ breakNumChildren 1.5 ]\n }]\n}]\n\n[ heart_shape {\n [ subtype other ]\n [ looseyGooseyShell {\n [ definesFinalPetalShape true ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }] \n [ star {\n [ impliesTipIfNoTrail true ]\n [ defaultTipColor red ]\n }]\n }]\n [ ifRisingIsFlower true ]\n [ breakShape heart ]\n [ shellBreak {\n [ breakShape heart ]\n [ breakWidth 1.2 ]\n [ breakNumChildren 1.0 ]\n }]\n}]\n\n\n[ octopus {\n [ subtype other ]\n [ sameAsLanguages [ german dutch italian ]]\n [ looseyGooseyShell {[ definesFinalPetalShape true ]}]\n [ moreLikelyHasTrailThanTip true ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }] \n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ shellBreak {\n [ breakShape stainedGlass ]\n }]\n}]\n[ kaleidoscope {[ translation stained_glass ][ language english ]}]\n\n[ crown {\n [ notes "A spherical break pattern, and an indication that the stars live just long enough to see a descernable arc in their trajectories before they expire."]\n [ subtype other ]\n [ looseyGooseyShell {[ definesFinalPetalShape true ]}]\n [ sameAsLanguages [ english italian portuguese ]]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }] \n [ star {\n [ defaultDuration 1.5 ]\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ shellBreak {\n [ defaultStarDurationScale 1.5 ]\n }]\n [ mineBreak {\n [ breakChildDuration 1.5 ]\n }]\n}]\n\n[ italian {[ translation cylinder ][ language english ]}]\n[ cannister {[ translation cylinder ][ language english ]}]\n[ cylinder {[ impliesCylinder true ] [ isShotToken true ][ notes "A type of a shell shape, in contrast to a ball shell."]}]\n[ half_ring {\n [ subtype ring ]\n [ looseyGooseyShell {[ definesFinalPetalShape true ]}]\n [ ifRisingIsFlower true ]\n [ breakShape halfRing ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }] \n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n [ shellBreak {\n [ breakShape halfRing ]\n [ breakNumChildren 0.25 ]\n [ breakWidth 1.2 ]\n }]\n}]\n\n\n[ rising_flowers {\n [ impliesRisingFlowers true ]\n [ sameAsLanguages [ german ]]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ subshellScaleFactor 0.5 ]\n [ defaultNumTimes 3 ]\n }]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n }]\n }]\n}]\n[ row {[ impliesRemainingTokensAreRowDescriptionAndNotToBeTranslated true ][ nonLocalized true ] [ impliesSomethingAboutRemainingTokens true ] [ isPieceToken true ] [ isRow true ] [ isSpecialDimensionalProperty true ]}]\n[ rows {[ translation row ] [ impliesSomethingAboutRemainingTokens true ]}] // Example: In "(7 Rows, Z-Shape, Row 1,3,5 (a), Row 2,4,6 (b), Row 7 (+++/abababa/FNT))", "Rows" translates to "Row" but doesn\'t stop translation since the "Row" itself results from translation. The next "Row" after "Z-Shape" stops translation.\n[ rwb {[ translation [ red & white & blue ]]}]\n[ s {[ isPieceTokenIfFollowsNumber true ][ isNonVdlTerm true ][ isPartToken true ] [ isSeconds true ] [ isSpecialDimensionalProperty true ] }]\n[ happy_stars {[ translation go_getter ][ language english ]}]\n[ happy_star {[ translation go_getter ][ language english ]}]\n[ moving_star {[ translation moving ][ language english ]}]\n[ moving_stars {[ translation moving ][ language english ]}]\n[ swimming_star {[ translation swimming ][ language english ]}]\n[ swimming_stars {[ translation swimming ][ language english ]}]\n[ swinging_star {[ translation swinging ][ language english ]}]\n[ swinging_stars {[ translation swinging ][ language english ]}]\n[ dancing_star {[ translation dancing ][ language english ]}]\n[ dancing_stars {[ translation dancing ][ language english ]}]\n[ scrambling_star {[ translation scrambling ][ language english ]}]\n[ scrambling_stars {[ translation scrambling ][ language english ]}]\n[ jetting_star {[ translation jetting ][ language english ]}]\n[ jetting_stars {[ translation jetting ][ language english ]}]\n\n[ mouvante {[ translation go_getter ][ language french ]}] //fixme: is NOT a reformulation[ reformulation true ][ language french ]}]\n[ moving {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n[ swimming {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n[ swinging {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n[ dancing {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n[ scrambling {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n[ jetting {[ translation go_getter ][ reformulation true ]}] // fixme: is reformulation [ language english ]}]\n\n[ bee {[ translation bees ][ language english ]}]\n[ bees {\n [ subtype other ]\n [ notes "An aerial effect with lightweight inserts or fuse sections in the payload, which scatter tortuously."]\n\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n\n [ ifRisingIsFlower false ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n }]\n [ star {\n [ motionType serpent ]\n }]\n\n [ shellBreak {\n [ breakWidth 0.6 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ breakSoundSecondaryType soft ]\n }]\n\n [ mineBreak {\n [ breakWidth 1.0 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n }]\n\n [ sparkTrail {\n [ emitDuration 0.1 ]\n [ emitRate 4.0 ]\n [ emitSpeed 5.0 ]\n [ emitInheritVelocity 0.1 ]\n }]\n\n [ charcoalTrail {\n [ emitDuration 0.1 ]\n [ emitRate 4.0 ]\n [ emitSpeed 5.0 ]\n [ emitInheritVelocity 0.1 ]\n }]\n}]\n\n[ revolving_dragons { [ translation serpents ]}]\n[ serpents {\n [ subtype other ]\n [ notes "Rocket-like inserts that scatter somewhat tortuously. The path is straighter and longer flying fish or bees; or a shell containing serpents inserts, if another type of effect is not indicated."]\n\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n [ sameAsLanguages [ german polish ]]\n [ ifRisingIsFlower false ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ passiveTrailTokens [ serpents ]]\n [ charcoalTrailTokens [ serpents ]]\n }]\n [ risingLaunch {\n [ sound2Tokens [ whistle ] ]\n }]\n }]\n [ star {\n [ motionType serpent ]\n [ durationKappa 4.0 ]\n }]\n\n [ shellBreak {\n [ breakWidth 0.5 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ breakSound2Type whistleGroup ]\n }]\n\n [ mineBreak {\n [ breakWidth 1.0 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ effectHeight 0.5 ]\n [ breakSound2Type whistleGroup ]\n }]\n\n [ risingLaunch {\n [ defaultLaunchApexFactor 0.9 ]\n }]\n\n [ sparkTrail {\n [ emitDuration 0.3 ]\n [ emitInheritVelocity 0.1 ]\n }]\n\n [ charcoalTrail {\n [ emitDuration 0.3 ]\n [ emitInheritVelocity 0.1 ]\n }]\n}]\n[ serpent {[ translation serpents ][ language english ]}] // Normative plural.\n[ whistle {[ translation whistles ][ language english ]}] // Normative plural.\n[ whistling {[ translation whistles ][ language english ]}] // Normative plural.\n[ screamer {[ translation whistles ][ language english ]}] // Normative plural.\n[ screamers {[ translation whistles ][ language english ]}] // Normative plural.\n[ fish {[ translation flying_fish ][ language english ]}]\n[ gogetter {[ translation go_getter ][ language english ]}]\n[ go_getters {[ translation go_getter ][ language english ]}]\n[ gogetters {[ translation go_getter ][ language english ]}]\n\n[ fuse {\n [ loose {\n [ star {\n [ impliesTrails [ fuseTrail ] ]\n [ cancelsTrails [ ] ]\n }]\n [ sparkTrail {\n [ tuningContext fuseTrail ]\n }]\n }]\n [ fuseTrail {\n [ emitSizeMm 1.0 ]\n [ emitRate 21.9 ]\n [ emitWindFriction 42.9 ]\n [ emitDuration 0.52 ]\n [ emitRateAnimation EmitCurveLinear ]\n [ emitSpeed 0.3 ]\n [ emitInheritVelocity 0.0 ]\n }]\n [ spark {\n [ startTemp 0.0 ]\n [ endTemp 0.0 ]\n [ sparkIntensity 0.027 ]\n }]\n\n}]\n[ linear {\n [ sparkTrail {\n [ emitRateAnimation EmitCurveLinear ]\n }]\n [ charcoalTrail {\n [ emitRateAnimation EmitCurveLinear ]\n }]\n}]\n\n[ flying_fish {\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ breakWidth 0.7579626182572615 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ breakSoundSecondaryType soft ]\n }]\n\n [ mineBreak {\n }]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ passiveTrailTokens [ very_short slightly_thick fat ]]\n [ charcoalTrailTokens [ very_short slightly_thick fat ]]\n [ defaultDuration 0.5 ]\n }]\n }]\n [ star {\n [ durationKappa 4.0 ]\n [ motionType serpent ]\n }]\n}]\n\n[ go_getter {\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ breakWidth 0.7579626182572615 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ breakSoundSecondaryType soft ]\n }]\n\n [ mineBreak {\n }]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTipIfNoTrail true ]\n [ passiveTrailTokens [ very_short slightly_thick fat ]]\n [ charcoalTrailTokens [ very_short slightly_thick fat ]]\n [ defaultDuration 0.5 ]\n }]\n }]\n [ star {\n [ durationKappa 4.0 ]\n [ motionType meteor ]\n }]\n}]\n\n\n[ whistles {\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n\n [ ifRisingIsFlower true ]\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ breakWidth 0.5230345781466114 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ breakSound2Type whistleGroup ]\n }]\n\n [ mineBreak {\n [ breakWidth 0.5 ]\n [ breakNumChildren 0.33 ]\n [ breakReorientGravity true ]\n [ effectHeight 0.5 ]\n [ breakSound2Type whistleGroup ]\n }]\n\n [ risingLaunch {\n [ defaultLaunchApexFactor 0.9 ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n [ sound2Tokens [ whistleGroup ] ]\n }]\n [ star {\n [ tuningContext whistleStar ]\n }]\n [ whistleStar {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ defaultDuration 1.25055519268452 ]\n }]\n [ risingLaunch {\n [ sound2Tokens [ whistle ] ]\n }]\n }]\n [ sparkTrail {\n [ emitDuration 0.2 ]\n [ emitSpeed 5.0 ]\n [ emitRate 2.0 ]\n }]\n [ charcoalTrail {\n [ emitDuration 0.2 ]\n [ emitSpeed 5.0 ]\n [ emitRate 2.0 ]\n }]\n}]\n\n[ whirls {\n [ subtype other ]\n\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ rising {\n [ effectHeight 0.5 ]\n }]\n\n [ shellBreak {\n [ breakWidth 0.8506708948824343 ]\n [ breakNumChildren 0.125 ]\n [ defaultBreakShape ring ]\n [ starTokens [ slightly_thin thin skinny skinny farfalle ] ]\n }]\n\n [ mineBreak {\n [ breakNumChildren 0.25 ]\n [ mineForceScaleBreakWidth 2.27551 ]\n }]\n\n [ sparkTrail {\n [ emitRateAnimation EmitCurveFarfalle ]\n [ emitDuration 0.75 ]\n [ emitRate 2.5 ]\n [ emitSpeed 5.0 ]\n }]\n\n [ charcoalTrail {\n [ emitRateAnimation EmitCurveFarfalle ]\n [ emitDuration 0.75 ]\n [ emitRate 2.5 ]\n [ emitSpeed 5.0 ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ tipTokens [ very_dim ]]\n }]\n }]\n [ star {\n [ motionType whirl ]\n [ windFriction 0.75 ]\n }]\n}]\n[ whirl {[ translation whirls ][ language english ]}] // Normative plural.\n[ whirlwind {[ translation whirls ][ language english ]}]\n[ whirlwinds {[ translation whirls ][ language english ]}]\n[ seven_times {[ numTimes 7 ][ notes "A count of subshells or salutes."]}]\n[ shimmering {\n [ isTipExtra true ]\n [ loose {\n [ star {\n [ impliesTip true ]\n [ defaultTipColor silver ]\n }]\n }]\n [ tip {\n [ intensityCurve shimmering ]\n [ intensityCurveLoopDuration 4.0 ]\n }]\n}]\n[ shimmer {[ translation [ shimmering ]]}]\n[ short_duration {[ isPieceToken true ][ isNonVdlTerm true ] [ continuousDuration 1.0 ]}] // Short_duration is an internal, non-publicized adjective used to set the default duration of jets to be less than fountains. There\'s no Long_duration because hasn\'t been needed.\n[ dur {[ isShotDuration true ][ isNonVdlTerm true ] [ isUnspecialDimensionalProperty true ]}] // See [ unspecialDimensionalProperty ].\n[ lft {[ isShotLiftDelay true ][ isNonVdlTerm true ] [ isUnspecialDimensionalProperty true ]}] // See [ unspecialDimensionalProperty ].\n[ htm {[ isShotHeight true ][ isNonVdlTerm true ] [ isUnspecialDimensionalProperty true ]}] // See [ unspecialDimensionalProperty ].\n[ cds {[ isChainDelaySeconds true ][ isNonVdlTerm true ] [ isUnspecialDimensionalProperty true ]}] // See [ unspecialDimensionalProperty ].\n[ shot {[ isPieceToken true ] [ isShot true ] [ isSpecialDimensionalProperty true ]}]\n[ shots {[ translation [ shot ]]}]\n[ st {[ translation shot ]}]\n\n[ silent {\n [ loose {\n [ launch {\n [ soundTokens [] ]\n [ sound2Tokens [] ]\n }]\n [ break {\n [ soundTokens [] ]\n [ sound2Tokens [] ]\n }]\n }]\n}]\n\n[ six_times {[ numTimes 6 ][ notes "A count of subshells or salutes."]}]\n[ smiley {[ translation smiley_face ]}]\n[ smiling_face {[ translation smiley_face ][ language [ english german ]]}]\n[ heart {[ translation [ heart_shape ] ][ language english ]}]\n[ spider {[ translation kamuro ][ reformulation true ][ subtype other ][ notes "Like a kamuro but fewer and longer lasting stars with long, thin trails of sparks."]}]\n[ no_smoke { [ translation smokeless ]}]\n[ low_smoke { [ translation clean_smoke ]}]\n[ sos {[ translation [ shell_of_shells ]]}]\n[ spike {[ translation [ very_sparse chrysanthemum ]][ sameAsLanguages [ german dutch italian ]][ subtype other ][ video "https://vimeo.com/166161740"][ notes "Number of arms always 18 (6 stars in 3 flats)"][ reformulation true ]}] // From Ales.\n[ fermata {[ translation [ shell_of_shells ]][ subtype other ][ video "https://vimeo.com/203246205"][ notes "8 subshells, preferably spikes, one by one"][ reformulation true ][ sameAsLanguages [ polish portuguese dutch french spanish german italian ]]}] // From Ales.\n[ stutata {[ translation [ shell_of_shells ]][ subtype other ][ video "https://vimeo.com/203245981 http://www.youtube.com/watch?v=r4tuzB5bKgc&authuser=0"][ notes "8 or 14 subshells, preferably spikes, simultaneous"][ reformulation true ][ sameAsLanguages [ french spanish dutch german portuguese italian polish ]]}] // From Ales.\n[ relampagos {[ translation [ strobing waterfall ]][ subtype other ][ video "https://www.youtube.com/watch?feature=player_embedded&v=j9QYVs-gwXg"][ reformulation true ][ sameAsLanguages [ french portuguese dutch spanish german italian polish ]]}] // From Dirk.\n\n[ spangle {[ translation [ glittering thick trail ]][ sameAsLanguages [ dutch ]][ reformulation true ][ video "https://www.youtube.com/watch?v=6FMN6hikQnM, https://www.youtube.com/watch?v=hOYr6C1J_D8, https://www.youtube.com/watch?v=6PkxiidB-0M"][ notes "A crackle effect consisting of sparse, large, bright flashes in the trail hanging in the air, not clusters of tiny sparks."]}]\n[ tremalon {[ translation spangle ][ reformulation true ][ isTrailExtra true ][ sameAsLanguages [ spanish dutch portuguese french german italian polish ]][ video "https://www.youtube.com/watch?v=Zw7tQ1vWNxg"][ notes "A crackle effect consisting of a thick, dense trail of flashing sparks."]}] // FIXME: implement differently\n[ twilight_glitter {[ translation glitter ][ reformulation true ]}]\n[ stl {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ straightUp true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern stl ] [ oddRowFiringPattern stl ] [ oddRowHoist false ]}]\n[ str {[ isPieceToken true ][ isShotProxy true ][ nonLocalized true ] [ isFiringPattern true ] [ straightUp true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern str ] [ oddRowFiringPattern str ] [ oddRowHoist false ]}]\n[ strobe {[ translation strobing ]}]\n[ strobepot {[ translation strobe_pot ][ language english ]}]\n[ stt {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ straightUp true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern stt ] [ oddRowFiringPattern stt ] [ oddRowHoist false ]}]\n[ stw {[ translation str ][ nonLocalized true ]}]\n\n[ badcolor {\n [ isColor true ]\n [ isTrailColor true ]\n [ isNonVdlTerm true ]\n [ loose {\n [ star {\n [ impliesTrails [ badcolorTrail ] ]\n }]\n [ sparkTrail {\n [ tuningContext badcolorTrail ]\n [ defaultTrailColor badcolor ]\n }]\n [ spark {\n [ tuningContext badcolorSpark ]\n }]\n }]\n [ badcolorTrail {\n [ emitRate 5000 ]\n [ emitSizeMm 1.0 ]\n [ emitDuration 4.0 ]\n [ emitSpeed 4.0 ]\n }]\n [ spark {\n [ color0 :ff00ff ]\n [ color1 :ff00ff ]\n }]\n}]\n\n[ scriptrgb {\n [ isColor true ]\n [ isTipColor true ]\n [ loose {\n [ tip {\n [ overrideSizeMm 10.0 ]\n }]\n }]\n}]\n[ aqua {[tip {[color0 :3380cc]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ french portuguese spanish german ]][ notes "A bluish-greenish color, equal parts green and blue, like Caribean Sea."]}]\n[ blue {[tip {[color0 :4d66ff]}] [ isColor true ][ isTipColor true ][ notes "A slightly unsaturated pure blue color, closest to a sapphire blue."]}]\n[ sky_blue {[tip {[color0 :3380cc]}] [ isColor true ][ isTipColor true ][ notes "The color of the sky at noon; like cyan but slightly darker and more bluish and less saturated."]}]\n[ ocean_blue {[ translation sea_blue ][ language english ]}]\n//[ canary_yellow {[ isColor true ][ isTipColor true ]}]\n[ canary_yellow {[ translation lemon ][ language english ]}]\n//[ cardinal {[ isColor true ][ isTipColor true ][ sameAsLanguages [ french german ]][ notes "A slightly unsaturated, red color."]}]\n[ cardinal {[ translation ruby ][ language [ french german english ]]}]\n[ cherry {[ translation ruby ][ language [ english german ]]}]\n//[ cherry {[ isColor true ][ isTipColor true ][ sameAsLanguages [ german ]]}]\n[ cyan {[tip {[color0 :52a3cc]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ spanish german ]][ notes "A whitish-bluish-greenish color, equal parts green and blue, like Aqua but more washed out."]}]\n//resurrected[ cyan {[ translation aqua ][ language [ english spanish german ]]}]\n[ fresh_yellow {[tip {[color0 :b39959]}] [ isColor true ][ isTipColor true ][ notes "A pastel, unsaturated yellow color."]}]\n[ fuchsia {[tip {[color0 :d959e6]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ german ]][ notes "A white-pink color."]}]\n//[ fuchsia {[ translation violet ][ language [ english german ]]}]\n[ gamboge {\n [ isColor true ]\n [ isTrailColor true ]\n [ sameAsLanguages [ french german portuguese ]]\n [ loose {\n [ star {\n [ impliesTrails [ gambogeTrail ] ]\n }]\n [ sparkTrail {\n [ tuningContext gambogeTrail ]\n [ defaultTrailColor gamboge ]\n }]\n [ spark {\n [ tuningContext gambogeSpark ]\n }]\n }]\n [ gambogeTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.7\n 5.1 0.8\n 7.6 1.0\n 15.1 1.1\n ]]\n [ emitRate [\n 3.0 100\n 5.1 100\n 7.6 110\n 15.1 125\n ]]\n ]]\n }]\n [ tip {\n [ color0 :ff9959 ]\n [ color1 :ff9959 ]\n [ startTemp 0 ]\n [ endTemp 0 ]\n }]\n [ spark {\n [ color0 :ff9959 ]\n [ color1 :ff9959 ]\n [ startTemp 0 ]\n [ endTemp 0 ]\n }]\n}]\n[ golden {[ translation gold ][ language english ]}]\n[ gold {\n [ sameAsLanguages [ german ]]\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ star {\n [ impliesTrails [ goldTrail charcoalBaseTrail ] ]\n }]\n [ sparkTrail {\n [ tuningContext goldTrail ]\n }]\n [ spark {\n [ tuningContext goldSpark ]\n }]\n [ charcoalBaseTrail {\n [ replaceWithTokens [] ]\n }]\n }]\n [ goldTrail {\n }]\n [ tip {\n [ color0 :ffe566 ]\n [ color1 :ffcc4c ]\n }]\n [ spark {\n [ color0 :ffe566 ]\n [ color1 :ffcc4c ]\n }]\n [ glitterBaseSpark {\n [ color0 :000000 ]\n [ color1 :000000 ]\n }]\n [ glitterBaseTrail {\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 2\n 5.1 1.875\n 7.6 2\n 15.1 1.57143\n ]]\n ]]\n }]\n}]\n[ grass_green {[tip {[color0 :40b30d]}] [ isColor true ][ isTipColor true ][ notes "A dark, organic-looking green color."]}]\n[ green {[tip {[color0 :26b31c]}] [ isColor true ][ isTipColor true ][ notes "A saturated, pure green color."]}]\n[ indigo {[tip {[color0 :8040ff]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ french dutch german portuguese ]][ notes "A rich, deep, reddish blue color."]}]\n[ lavender {[tip {[color0 :a140ff]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ german ]][ notes "A washed-out, whitish blue color."]}]\n[ lemon {[tip {[color0 :bf990d]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ german ]][ notes "An orangish yellow color."]}]\n[ lime {[tip {[color0 :59b31c]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ italian ]][ notes "A bright, yellowish green color."]}]\n[ lycopodium {[ translation lime ][ language [ english spanish german ]]}]\n//[ lycopodium {[ isColor true ][ isTipColor true ][ sameAsLanguages [ spanish german ]]}]\n//ressurected[ magenta {[ translation violet ][ language [ english spanish french german italian ]]}]\n[ magenta {[tip {[color0 :cc1aff]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ english dutch spanish french german italian portuguese polish ]][ notes "Like violet, but more blue."]}]\n[ magentas {[ translation magenta ][ language [ spanish portuguese ]]}]\n//[ multi_color {[ isColor true ][ isTipColor true ] [ polyColors [ red yellow green orange purple ]]}]\n[ multi_color {\n [ notes "Applies only to an effect with multiple shots or shells; means the shots or shells have different colors, unlike \'variegated\' which means the stars in the same shot or shell have different colors."]\n [ multipleTipColors [ red yellow green orange purple ]]\n}]\n[ pastel_colors {\n [ notes "Like multi-color, applies only to an effect with multiple shots or shells; means the shots or shells have different colors, unlike \'variegated\' which means the stars in the same shot or shell have different colors."]\n [ multipleTipColors [ aqua fresh_yellow lime orange lavender ]]\n}]\n[ pastel_color {[ translation pastel_colors ]}]\n[ pastels {[ translation pastel_colors ][ language english ]}]\n[ ocean_green {[ translation grass_green ][ language english ]}]\n[ orange {[tip {[color0 :e6661a]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ french german ]][ notes "The color of the sun."]}]\n[ peach {[tip {[color0 :cc801a]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ german dutch ]][ notes "An unsaturated, tannish pink color, the color of the fruit."]}]\n[ ruby {[tip {[color0 :f21a4d]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ portuguese ]][ notes "An slightly bluish, deep red color."]}]\n[ plum {[tip {[color0 :b31a80]}] [ isColor true ][ isTipColor true ][ notes "A bluish, slightly more saturated pink color."]}]\n[ pink {[tip {[color0 :d959bf]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ german portuguese ]][ notes "A washed-out magenta color."]}]\n[ purple {[tip {[color0 :bf40ff]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ polish english ]][ notes "A deep blue-red color of equal parts blue and red."]}]\n[ purpel {[ translation purple ]}]\n//[ rainbow {[ isColor true ][ isTipColor true ] [ polyColors [ red orange yellow green blue indigo violet ]]}]\n[ rainbow {\n [ notes "Like multi_color, applies only to an effect with multiple shots or shells; means the shots or shells each has one color of the rainbow; unlike \'variegated\' which means the stars in the same shot have different colors."]\n [ multipleTipColors [ red orange yellow green blue indigo violet ]]\n}]\n[ red {[tip {[color0 :f21919]}] [ isColor true ][ isTipColor true ][ notes "A rich, cardinal red color with only a hint of blue."]}]\n[ same_color {[ isColor true ][ isTipColor true ] [ isNonVdlTerm true ][ isSameColor true ][ notes "A term in an effect description that back to the color at an earlier stage of the star, such as \'Variegated Shell To Same Color Crossette\' which means each crossette split star is the same color as its parent."]}]\n[ sapphire {[ translation blue ][ language english ]}]\n//[ sapphire {[ isColor true ][ isTipColor true ]}]\n[ sea_blue {[tip {[color0 :4080ff]}] [ isColor true ][ isTipColor true ][ notes "A rich, dark, slightly unsaturated navy blue."]}]\n//[ sea_green {[ isColor true ][ isTipColor true ]}]\n[ sea_green {[ translation grass_green ][ language english ]}]\n[ silver {\n [ sameAsLanguages [ italian english ]]\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ star {\n [ impliesTrails [ silverTrail ] ]\n }]\n [ sparkTrail {\n [ tuningContext silverTrail ]\n [ defaultTrailColor silver ]\n }]\n [ spark {\n [ tuningContext silverSpark ]\n }]\n [ glitteringTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 1.4\n 5.1 1.33333\n 7.6 1.42857\n 15.1 1.22222\n ]]\n ]]\n }]\n [ glitterBaseTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.7\n 5.1 0.8\n 7.6 1.0\n 15.1 1.1\n ]]\n ]]\n }]\n }]\n [ silverTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.7\n 5.1 0.8\n 7.6 1.0\n 15.1 1.1\n ]]\n [ emitRate [\n 3.0 100\n 5.1 100\n 7.6 110\n 15.1 125\n ]]\n ]]\n }]\n [ glitterSpark {\n [ startTemp 0 ]\n [ endTemp 1.125 ]\n }]\n [ glitterBaseSpark {\n [ startTemp 0 ]\n [ endTemp 2.25 ]\n [ sparkIntensity 0.769231 ]\n [ intensityCurve linearDown ]\n }]\n [ tip {\n [ color0 :bfbfff ]\n [ color1 :66597f ]\n }]\n [ spark {\n [ color0 :bfbfff ]\n [ color1 :66597f ]\n }]\n}]\n[ tipped {[ translation tip ]}]\n[ turquoise {[tip {[color0 :29a3cc]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ english french ]]}]\n//resurrected[ turquoise {[ translation aqua ][ language [ english french ]]}]\n[ variegated {\n [ notes "\'Variegated\' means the stars within the effect have different colors; unlike \'multi-color\', which means each shot or shell is a homogeneous color that is different from the others."]\n [ multipleTipColors [ red yellow green orange purple ]]\n}]\n[ violet {[tip {[color0 :cc66ff]}] [ isColor true ][ isTipColor true ][ sameAsLanguages [ dutch ]][ notes "A bright, pinkish magenta color."]}]\n[ white {[tip {[color0 :bfbfd9]}] [ isColor true ][ isTipColor true ][ notes "A white tip color for a star (same as silver_tip)."]}]\n[ yellow {[tip {[color0 :ccb30d]}] [ isColor true ][ isTipColor true ][ notes "A bright but fully saturated yellow color."]}]\n\n\n[ tl {[ translation tail ][ language english ]}] // [ polite ][ translate ][ bomba ][ carcasa ][ tl ][ tail ] It is polite to add [ language english ] because that prevents the translation from applying to the original description; and that just makes the original description less recognizable to the user; so should try to make minimum changes to original description (capitalization, removing dimensional properties, positioning \'cake\' and \'chain\', correcting accents, substituting preferred terms like carcasa for bomba; but there\'s nothing wrong with tl.\n[ ten_times {[ numTimes 10 ][ notes "A count of subshells or salutes."]}]\n[ thirty_times {[ numTimes 30 ][ notes "A count of subshells or salutes."]}]\n[ thousand_flowers {[ translation shell_of_shells ][ language english ]}]\n[ mille_fleurs {[ translation shell_of_shells ][ language french ]}]\n[ three_times {[ numTimes 3 ][ notes "A count of subshells or salutes."]}]\n// FIXME: add tigertail color and thick adjustment\n[ tiger_tail {\n [ looseyGooseyShot {\n [ impliesRisingCategoryConditionally true ]\n }]\n [ sameAsLanguages [ german italian dutch ]]\n [ loose {\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n }]\n [ sparkTrail {\n //[ emitStyle helix ]\n [ emitSpeed 2.5 ]\n }]\n [ charcoalTrail {\n //[ emitStyle helix ]\n [ emitSpeed 2.5 ]\n }]\n}]\n[ tigertail {[ translation [ tiger_tail ]]}]\n\n[ titanium_report_flower {\n [ loose {\n [ break {\n [ tuningContext crackleFlowerBreak ]\n }]\n [ crackleFlowerBreak {\n [ soundTokens [ report ] ]\n }]\n [ star {\n [ tuningContext crackleFlowerStar ]\n }]\n [ crackleFlowerStar {\n [ impliesTrails [ crackleFlowerTrail ]]\n [ cancelsImpliedSmokeTrail true ]\n [ cancelsImpliedTip true ]\n [ defaultDuration 0.02 ]\n [ staticPhaseDuration 0.02 ]\n }]\n [ sparkTrail {\n [ tuningContext crackleFlowerTrail ]\n }]\n [ crackleFlowerTrail {\n [ defaultTrailColor silver ]\n }]\n }]\n [ crackleFlowerBreak {\n [ breakFlashSparkColor :bfbfd8 ]\n }]\n [ crackleFlowerTrail {\n [ emitRate 200.0 ]\n [ emitSpeed 200.0 ]\n [ emitWindFriction 1000.0 ]\n }]\n}]\n[ titanium_report {\n [ impliesReport true ]\n [ sameAsLanguages [ dutch ]]\n [ loose {\n [ star {\n [ tuningContext titaniumReportStar ]\n }]\n [ titaniumReportStar {\n [ impliesReport true ]\n [ becomeBreakTokens [ titanium_report_flower ] ]\n }]\n }]\n}]\n\n[ titanium_salute {\n [ sameAsLanguages [ dutch ]]\n [ saluteConvertsTo titanium_report ]\n [ looseyGooseyShot {\n [ impliesSalute true ]\n }]\n [ looseyGooseyShell {\n [ breakTuningContextTokens [ titanium_salute ] ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext titaniumSaluteBreak ]\n }]\n [ titaniumSaluteBreak {\n [ soundTokens [ report ] ]\n }]\n [ star {\n [ tuningContext titaniumSaluteStar ]\n }]\n [ titaniumSaluteStar {\n [ impliesTrails [ titaniumSaluteTrail ]]\n [ cancelsImpliedSmokeTrail true ]\n [ cancelsImpliedTip true ]\n [ defaultDuration 0.02 ]\n }]\n [ sparkTrail {\n [ tuningContext titaniumSaluteTrail ]\n }]\n [ titaniumSaluteTrail {\n [ defaultTrailColor silver ]\n }]\n }]\n [ titaniumSaluteStar {\n [ durationKappa 0.15 ]\n [ windFriction 18.6 ]\n [ windFrictionKappa 0.12 ]\n }]\n [ titaniumSaluteBreak {\n [ breakFlashSparkColor :bfbfd8 ]\n [ worldFlashIntensity 1.5 ]\n [ worldFlashDuration 0.042 ]\n [ breakNumChildren 1 ]\n [ breakWidth 0 ]\n [ breakRaggedness 0 ]\n [ breakInheritVelocityKappa 0 ]\n [ particleSizeCurveTable [\n [ breakFlashSparkIntensity [\n 19.1 50\n 50.8 250\n 76.2 2000\n 152.4 2500\n ]]\n ]]\n }]\n [ titaniumSaluteTrail {\n [ emitDuration 0.5 ]\n [ emitDurationKappa 0.6 ]\n [ emitSpeedKappa 0.5 ]\n [ emitRateAnimation one ]\n [ emitRateCurveMaxX 2.5 ]\n [ emitVelTaper 1.0 ]\n [ emitWindFriction 250 ]\n [ emitWindFrictionKappa 0.1 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.30 ]\n [ particleSizeCurveTable [\n [ emitSpeed [\n 3.0 50\n 5.1 100\n 7.6 155\n 15.1 200\n ]]\n [ emitRate [\n 3.0 5000\n 5.1 20000\n 7.6 55000\n 15.1 75000\n ]]\n\n [ emitSizeMm [\n 3.0 1.5\n 5.1 2.0\n 7.6 2.5\n 15.1 3.0\n ]]\n ]]\n }]\n [ spark {\n [ sparkSizeKappa 0.25 ]\n [ intensityCurve gaussian3Down ]\n }]\n}]\n\n[ to {[ isTo true ][ notes "The preposition that separates phases of a transition, such as \'Red To Blue To Green Peony\'."]}]\n[ rocket {[ translation shell ][ reformulation true ]}]\n[ placeholder {[ translation [ variegated peony ]][ reformulation true ][ notes "Placeholder is a default or stand-in effect description for empty cues that you intend to replace later."] }]\n\n[ spinners {\n [ subtype other ]\n [ sameAsLanguages [ english italian ]]\n\n [ looseyGooseyShot {\n [ impliesAerialAmbiguous true ]\n }]\n\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n\n [ shellBreak {\n [ breakWidth 0.48525017427385897 ]\n [ breakNumChildren 0.125 ]\n }]\n\n [ mineBreak {\n [ breakWidth 2.0 ]\n [ breakNumChildren 0.25 ]\n }]\n\n [ sparkTrail {\n [ emitRateAnimation EmitCurveSpinner ]\n [ emitDuration 0.75 ]\n [ emitRate 4.0 ]\n [ emitSpeed 10.0 ]\n [ emitInheritVelocity 0.0 ]\n }]\n\n [ charcoalTrail {\n [ emitRateAnimation EmitCurveSpinner ]\n [ emitDuration 0.75 ]\n [ emitRate 4.0 ]\n [ emitSpeed 10.0 ]\n [ emitInheritVelocity 0.0 ]\n }]\n\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n [ tipTokens [ very_dim ]]\n }]\n }]\n [ star {\n [ motionType spinner ]\n [ windFriction 0.75 ]\n }]\n}]\n\n[ spinner {[ translation spinners ][ language [ english german ]]}]\n[ tourbillions {[ translation whirls ][ sameAsLanguages [ italian dutch ]][ reformulation true ][ subtype other ]}] // Normative plural. FIXME: implement differently\n[ tourbillion {[ translation tourbillions ][ language [ english german ]]}]\n\n[ rabioscas {[ translation tourbillions ][ language [ portuguese ]]}]\n[ arestas {[ translation [ yellow trail ]][ language [ portuguese ]]}]\n\n[ dalhia {[ translation dahlia ]}]\n[ tail {\n [ impliesSubsidiaryRisingEffectConditionally true ]\n [ moreLikelyHasTrailThanTip true ]\n [ looseyGooseyShot {\n [ impliesRisingCategoryConditionally true ]\n }]\n [ loose {\n [ star {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n }]\n}]\n\n[ tri {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern tri ] [ oddRowFiringPattern tri ] [ oddRowHoist false ]}]\n[ trx {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern trx ] [ oddRowFiringPattern trx ] [ oddRowHoist false ]}]\n[ twenty_times {[ numTimes 20 ][ notes "A count of subshells or salutes."]}]\n[ two_times {[ numTimes 2 ][ notes "A count of subshells or salutes."]}]\n[ umbrella {[ translation [ very_small dahlia ]][ reformulation true ][ subtype other ]}]\n[ v_shape {[ isPieceToken true ] [ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern vss ] [ oddRowFiringPattern vss ] [ oddRowHoist false ][ notes "A firing pattern in which all rows fire in a V-pattern with tubes angling left and right."]}]\n[ varg {[ translation variegated ][ language english ]}]\n\n[ var {[ translation variegated ]}]\n[ vari {[ translation variegated ]}]\n[ varig {[ translation variegated ]}]\n[ varigated {[ translation variegated ]}]\n[ vareigated {[ translation variegated ]}]\n[ variagated {[ translation variegated ]}]\n[ veriegated {[ translation variegated ]}]\n[ vergated {[ translation variegated ]}]\n\n[ slightly_big {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 1.25 ] }]\n [ mineBreak { [ breakWidth 1.25 ] }]\n}]\n[ big {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 1.5 ] }]\n [ mineBreak { [ breakWidth 1.5 ] }]\n}]\n[ very_big {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 2.0 ] }]\n [ mineBreak { [ breakWidth 2.0 ] }]\n}]\n\n[ slightly_dense {\n [ isAdjective true ]\n [ shellBreak { [ breakNumChildren 1.5 ] }]\n [ mineBreak { [ breakNumChildren 1.5 ] }]\n}]\n[ dense {\n [ isAdjective true ]\n [ sameAsLanguages [ french italian ]]\n [ shellBreak { [ breakNumChildren 2.0 ] }]\n [ mineBreak { [ breakNumChildren 2.0 ] }]\n}]\n[ very_dense {\n [ isAdjective true ]\n [ notes "Having very many stars."]\n [ shellBreak { [ breakNumChildren 4.0 ] }]\n [ mineBreak { [ breakNumChildren 4.0 ] }]\n}]\n\n[ slightly_droopy {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ fountainTrail {\n [ emitDuration 1.5 ]\n }]\n}]\n[ droopy {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ fountainTrail {\n [ emitDuration 2.0 ]\n }]\n}]\n[ very_droopy {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ fountainTrail {\n [ emitDuration 3.0 ]\n }]\n}]\n\n\n[ even_length {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starDurationKappaAdjustment 0.5 ]\n}]\n[ slightly_even_length {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starDurationKappaAdjustment 0.666 ]\n}]\n[ very_even_length {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starDurationKappaAdjustment 0.25 ]\n}]\n\n[ even_size {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ isTipExtra true ]\n [ tipSizeKappaAdjustment 0.5 ]\n [ sparkTip { [ sparkSizeKappa 0.5 ] }]\n}]\n[ very_even_size {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ isTipExtra true ]\n [ tipSizeKappaAdjustment 0.25 ]\n [ sparkTip { [ sparkSizeKappa 0.25 ] }]\n}]\n\n[ slightly_even_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 0.666 ] }]\n [ mineBreak { [ breakWidthKappa 0.666 ] }]\n [ sparkTrail { [ emitSpeedKappa 0.666 ] }]\n [ charcoalTrail { [ emitSpeedKappa 0.666 ] }]\n [ activeTrail { [ emitSpeedKappa 0.666 ] }]\n}]\n[ even_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 0.5 ] }]\n [ mineBreak { [ breakWidthKappa 0.5 ] }]\n [ sparkTrail { [ emitSpeedKappa 0.5 ] }]\n [ charcoalTrail { [ emitSpeedKappa 0.5 ] }]\n [ activeTrail { [ emitSpeedKappa 0.5 ] }]\n}]\n[ very_even_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 0.25 ] }]\n [ mineBreak { [ breakWidthKappa 0.25 ] }]\n [ sparkTrail { [ emitSpeedKappa 0.25 ] }]\n [ charcoalTrail { [ emitSpeedKappa 0.25 ] }]\n [ activeTrail { [ emitSpeedKappa 0.25 ] }]\n}]\n\n[ slightly_varied_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 1.5 ] }]\n [ mineBreak { [ breakWidthKappa 1.5 ] }]\n}]\n[ varied_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 2.0 ] }]\n [ mineBreak { [ breakWidthKappa 2.0 ] }]\n}]\n[ very_varied_speed {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidthKappa 4.0 ] }]\n [ mineBreak { [ breakWidthKappa 4.0 ] }]\n}]\n\n[ slightly_even_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 0.666 ]\n [ windFrictionKappa 0.666666 ]\n [ sparkTrail { [ emitWindFrictionKappa 0.666666 ] }]\n [ charcoalTrail { [ emitWindFrictionKappa 0.666666 ] }]\n [ activeTrail { [ emitWindFrictionKappa 0.666666 ] }]\n}]\n[ even_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 0.5 ]\n [ windFrictionKappa 0.5 ]\n [ sparkTrail { [ emitWindFrictionKappa 0.5 ] }]\n [ charcoalTrail { [ emitWindFrictionKappa 0.5 ] }]\n [ activeTrail { [ emitWindFrictionKappa 0.5 ] }]\n}]\n[ very_even_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 0.25 ]\n [ windFrictionKappa 0.25 ]\n [ sparkTrail { [ emitWindFrictionKappa 0.25 ] }]\n [ charcoalTrail { [ emitWindFrictionKappa 0.25 ] }]\n [ activeTrail { [ emitWindFrictionKappa 0.25 ] }]\n}]\n\n[ slightly_varied_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 1.5 ]\n [ windFrictionKappa 1.5 ]\n}]\n[ varied_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 2.0 ]\n [ windFrictionKappa 2.0 ]\n}]\n[ very_varied_weight {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ starWindFrictionKappaAdjustment 4.0 ]\n [ windFrictionKappa 4.0 ]\n}]\n\n[ slightly_dim {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 0.6666 ] }]\n [ spark { [ sparkIntensity 0.6666 ] }]\n [ tip { [ sparkIntensity 0.6666 ] }]\n}]\n[ dim {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 0.5 ] }]\n [ spark { [ sparkIntensity 0.5 ] }]\n [ tip { [ sparkIntensity 0.5 ] }]\n}]\n[ very_dim {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 0.25 ] }]\n [ spark { [ sparkIntensity 0.25 ] }]\n [ tip { [ sparkIntensity 0.25 ] }]\n}]\n\n[ slightly_bright {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 1.5 ] }]\n [ spark { [ sparkIntensity 1.5 ] }]\n [ tip { [ sparkIntensity 1.5 ] }]\n}]\n[ bright {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 2.0 ] }]\n [ spark { [ sparkIntensity 2.0 ] }]\n [ tip { [ sparkIntensity 2.0 ] }]\n}]\n[ very_bright {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ tokenDoesNotApplyToTrailsIfTipIsPresent true ]\n }]\n }]\n [ light_beam { [ lightBeamIntensity 4.0 ] }]\n [ spark { [ sparkIntensity 4.0 ] }]\n [ tip { [ sparkIntensity 4.0 ] }]\n}]\n\n[ slightly_narrow {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 0.666666 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 0.75 ]\n}]\n[ narrow {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 0.4 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 0.5 ]\n}]\n[ very_narrow {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 0.1 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 0.25 ]\n}]\n\n[ slightly_wide {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 1.5 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 5.0 ]\n}]\n[ wide {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 2.0 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 10.0 ]\n}]\n[ very_wide {\n [ isAdjective true ]\n [ light_beam { [ angleSpread0 3.0 ] }]\n [ isNonVdlTerm true ]\n [ fountainConeAngleAdjustment 20.0 ]\n}]\n\n\n[ slightly_skinny {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 0.666666 ]}]\n [ charcoalTrail {[ emitSpeed 0.666666 ]}]\n [ activeTrail {[ emitSpeed 0.666666 ]}]\n [ smokeTrail {[ emitSpeed 0.666666 ]}]\n}]\n[ skinny {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 0.5 ]}]\n [ charcoalTrail {[ emitSpeed 0.5 ]}]\n [ activeTrail {[ emitSpeed 0.5 ]}]\n [ smokeTrail {[ emitSpeed 0.5 ]}]\n}]\n[ very_skinny {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 0.125 ]}]\n [ charcoalTrail {[ emitSpeed 0.125 ]}]\n [ activeTrail {[ emitSpeed 0.125 ]}]\n [ smokeTrail {[ emitSpeed 0.125 ]}]\n}]\n\n[ slightly_fat {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 2.0 ]}]\n [ charcoalTrail {[ emitSpeed 2.0 ]}]\n [ activeTrail {[ emitSpeed 2.0 ]}]\n [ smokeTrail {[ emitSpeed 2.0 ]}]\n}]\n[ fat {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 4.0 ]}]\n [ charcoalTrail {[ emitSpeed 4.0 ]}]\n [ activeTrail {[ emitSpeed 4.0 ]}]\n [ smokeTrail {[ emitSpeed 4.0 ]}]\n}]\n[ very_fat {\n [ isAdjective true ]\n [ sparkTrail {[ emitSpeed 8.0 ]}]\n [ charcoalTrail {[ emitSpeed 8.0 ]}]\n [ activeTrail {[ emitSpeed 8.0 ]}]\n [ smokeTrail {[ emitSpeed 8.0 ]}]\n}]\n\n\n[ slightly_light {\n [ isAdjective true ]\n [ star {[ windFriction 1.5 ]}]\n [ sparkTrail {[ emitWindFriction 1.5 ]}]\n [ charcoalTrail {[ emitWindFriction 1.5 ]}]\n [ activeTrail {[ emitWindFriction 1.5 ]}]\n [ smokeTrail {[ emitWindFriction 1.5 ]}]\n [ shellBreak {[ breakWidth 0.75 ]}]\n}]\n[ light {\n [ isAdjective true ]\n [ star {[ windFriction 2.0 ]}]\n [ sparkTrail {[ emitWindFriction 2.0 ]}]\n [ charcoalTrail {[ emitWindFriction 2.0 ]}]\n [ activeTrail {[ emitWindFriction 2.0 ]}]\n [ smokeTrail {[ emitWindFriction 2.0 ]}]\n [ shellBreak {[ breakWidth 0.5 ]}]\n}]\n[ very_light {\n [ isAdjective true ]\n [ star {[ windFriction 4.0 ]}]\n [ sparkTrail {[ emitWindFriction 4.0 ]}]\n [ charcoalTrail {[ emitWindFriction 4.0 ]}]\n [ activeTrail {[ emitWindFriction 4.0 ]}]\n [ smokeTrail {[ emitWindFriction 4.0 ]}]\n [ shellBreak {[ breakWidth 0.25 ]}]\n}]\n\n[ slightly_heavy {\n [ isAdjective true ]\n [ star {[ windFriction 0.666 ]}]\n [ sparkTrail {[ emitWindFriction 0.666 ]}]\n [ charcoalTrail {[ emitWindFriction 0.666 ]}]\n [ activeTrail {[ emitWindFriction 0.666 ]}]\n [ smokeTrail {[ emitWindFriction 0.666 ]}]\n [ shellBreak {[ breakWidth 1.25 ]}]\n}]\n[ heavy {\n [ isAdjective true ]\n [ star {[ windFriction 0.5 ]}]\n [ sparkTrail {[ emitWindFriction 0.5 ]}]\n [ charcoalTrail {[ emitWindFriction 0.5 ]}]\n [ activeTrail {[ emitWindFriction 0.5 ]}]\n [ smokeTrail {[ emitWindFriction 0.5 ]}]\n [ shellBreak {[ breakWidth 1.5 ]}]\n}]\n[ very_heavy {\n [ isAdjective true ]\n [ star {[ windFriction 0.25 ]}]\n [ sparkTrail {[ emitWindFriction 0.25 ]}]\n [ charcoalTrail {[ emitWindFriction 0.25 ]}]\n [ activeTrail {[ emitWindFriction 0.25 ]}]\n [ smokeTrail {[ emitWindFriction 0.25 ]}]\n [ shellBreak {[ breakWidth 2.0 ]}]\n}]\n\n\n[ slightly_short {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ defaultDuration 0.8 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail {[ emitDuration 0.833333 ]}]\n [ charcoalTrail {[ emitDuration 0.833333 ]}]\n [ activeTrail {[ emitDuration 0.833333 ]}]\n [ smokeTrail {[ emitDuration 0.833333 ]}]\n}]\n[ short {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ defaultDuration 0.666666 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail {[ emitDuration 0.666666 ]}]\n [ charcoalTrail {[ emitDuration 0.666666 ]}]\n [ activeTrail {[ emitDuration 0.666666 ]}]\n [ smokeTrail {[ emitDuration 0.666666 ]}]\n}]\n[ very_short {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ defaultDuration 0.5 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail {[ emitDuration 0.5 ]}]\n [ charcoalTrail {[ emitDuration 0.5 ]}]\n [ activeTrail {[ emitDuration 0.5 ]}]\n [ smokeTrail {[ emitDuration 0.5 ]}]\n}]\n\n[ slightly_short_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [slightly_short]]\n }]\n }]\n}]\n[ short_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [short]]\n }]\n }]\n}]\n[ very_short_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [very_short]]\n }]\n }]\n}]\n\n[ slightly_long {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ defaultDuration 1.5 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail { [ emitDuration 1.5 ] }]\n [ charcoalTrail { [ emitDuration 1.5 ] }]\n [ activeTrail { [ emitDuration 1.5 ] }]\n [ smokeTrail { [ emitDuration 1.5 ] }]\n}]\n[ long {\n [ isAdjective true ]\n [ sameAsLanguages [ french ]]\n [ loose {\n [ star {\n [ defaultDuration 2.0 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail { [ emitDuration 2.0 ] }]\n [ charcoalTrail { [ emitDuration 2.0 ] }]\n [ activeTrail { [ emitDuration 2.0 ] }]\n [ smokeTrail { [ emitDuration 2.0 ] }]\n}]\n[ very_long {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ defaultDuration 3.0 ]\n [ sparkTrailTokens []]\n }]\n }]\n [ sparkTrail { [ emitDuration 4.0 ] }]\n [ charcoalTrail { [ emitDuration 4.0 ] }]\n [ activeTrail { [ emitDuration 4.0 ] }]\n [ smokeTrail { [ emitDuration 4.0 ] }]\n}]\n\n[ slightly_long_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [slightly_long]]\n }]\n }]\n}]\n[ long_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [long]]\n }]\n }]\n}]\n[ very_long_trail {\n [ isAdjective true ]\n [ loose {\n [ star {\n [ sparkTrailTokens [very_long]]\n }]\n }]\n}]\n\n[ slightly_thin {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 0.666666 ] }]\n [ charcoalTrail { [ emitRate 0.666666 ] }]\n [ activeTrail { [ emitRate 0.666666 ] }]\n [ smokeTrail { [ emitRate 0.666666 ] }]\n}]\n[ thin {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 0.5 ] }]\n [ charcoalTrail { [ emitRate 0.5 ] }]\n [ activeTrail { [ emitRate 0.5 ] }]\n [ smokeTrail { [ emitRate 0.5 ] }]\n}]\n[ very_thin {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 0.25 ] }]\n [ charcoalTrail { [ emitRate 0.25 ] }]\n [ activeTrail { [ emitRate 0.25 ] }]\n [ smokeTrail { [ emitRate 0.25 ] }]\n}]\n\n[ slightly_thick {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 2.0 ] }]\n [ charcoalTrail { [ emitRate 2.0 ] }]\n [ activeTrail { [ emitRate 2.0 ] }]\n [ smokeTrail { [ emitRate 2.0 ] }]\n}]\n[ thick {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 4.0 ] }]\n [ charcoalTrail { [ emitRate 4.0 ] }]\n [ activeTrail { [ emitRate 4.0 ] }]\n [ smokeTrail { [ emitRate 4.0 ] }]\n}]\n[ very_thick {\n [ isAdjective true ]\n [ isTrailExtra true ]\n [ sparkTrail { [ emitRate 8.0 ] }]\n [ charcoalTrail { [ emitRate 8.0 ] }]\n [ activeTrail { [ emitRate 8.0 ] }]\n [ smokeTrail { [ emitRate 8.0 ] }]\n}]\n\n\n[ ragged {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 4.0 ] }]\n [ mineBreak { [ breakRaggedness 4.0 ] }]\n}]\n[ slightly_ragged {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 2.0 ] }]\n [ mineBreak { [ breakRaggedness 2.0 ] }]\n}]\n[ very_ragged {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 7.0 ] }]\n [ mineBreak { [ breakRaggedness 7.0 ] }]\n}]\n\n\n[ uniform {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 0.333 ] }]\n [ mineBreak { [ breakRaggedness 0.333 ] }]\n}]\n[ slightly_uniform {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 0.666 ] }]\n [ mineBreak { [ breakRaggedness 0.666 ] }]\n}]\n[ very_uniform {\n [ isAdjective true ]\n [ shellBreak { [ breakRaggedness 0 ] }]\n [ mineBreak { [ breakRaggedness 0 ] }]\n}]\n\n\n\n\n[ slow {\n [ isAdjective true ]\n [ strobePotTip {\n [ intensityCurve "H4sIAAAAAAAAAxPS4RJhAIK0tGd2QMr+7BkeewaGBnshkXwhZisQBvFgbADYBHB5LgAAAA==" ]\n [ intensityCurveLoopDuration 2.0 ]\n }]\n}]\n\n[ small {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 0.80 ] }]\n [ mineBreak { [ breakWidth 0.35 ] }]\n}]\n[ slightly_small {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 0.9 ] }]\n [ mineBreak { [ breakWidth 0.6 ] }]\n}]\n[ very_small {\n [ isAdjective true ]\n [ shellBreak { [ breakWidth 0.5 ] }]\n [ mineBreak { [ breakWidth 0.2 ] }]\n}]\n\n[ sparse {\n [ isAdjective true ]\n [ sameAsLanguages [ english italian ]]\n [ shellBreak { [ breakNumChildren 0.66 ] }]\n [ mineBreak { [ breakNumChildren 0.66 ] }]\n}]\n[ slightly_sparse {\n [ isAdjective true ]\n [ shellBreak { [ breakNumChildren 0.8 ] }]\n [ mineBreak { [ breakNumChildren 0.8 ] }]\n}]\n[ very_sparse {\n [ isAdjective true ]\n [ isAdjective true ]\n [ shellBreak { [ breakNumChildren 0.5 ] }]\n [ mineBreak { [ breakNumChildren 0.5 ] }]\n}]\n\n[ quick {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.6 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.6 ]\n }]\n [ shellBreak { [ breakWidth 2.0 ] [ defaultStarDurationScale 0.3 ] } ]\n}]\n[ slightly_quick {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.8 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.8 ]\n }]\n [ shellBreak { [ breakWidth 1.5 ] [ defaultStarDurationScale 0.6 ] } ]\n}]\n[ very_quick {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.45 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.45 ]\n }]\n [ shellBreak { [ breakWidth 3.0 ] [ defaultStarDurationScale 0.15 ] } ]\n}]\n\n[ fast {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.6 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.6 ]\n }]\n [ shellBreak { [ breakWidth 1.5 ] } ]\n}]\n[ slightly_fast {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.8 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.8 ]\n }]\n [ shellBreak { [ breakWidth 1.2 ] } ]\n}]\n[ very_fast {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak { [ breakWidth 2.0 ] } ]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.45 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.45 ]\n }]\n}]\n[ ultra_fast {\n [ translation ultrafast ]\n}]\n[ ultrafast {\n [ isAdjective true ]\n [ isNonVdlTerm true ]\n [ shellBreak {\n [ breakWidth 3.0 ]\n }]\n [ risingLaunch {\n [ defaultLaunchDurationScale 0.3 ]\n }]\n [ groundLaunch {\n [ defaultLaunchDurationScale 0.3 ]\n }]\n}]\n\n\n[ vss {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern vss ] [ oddRowFiringPattern vss ] [ oddRowHoist false ]}]\n[ vst {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ allAtOnce true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern vst ] [ oddRowFiringPattern vst ] [ oddRowHoist false ]}]\n[ trs {[ isPieceToken true ][ nonLocalized true ] [ isFiringPattern true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern trs ] [ oddRowFiringPattern trs ] [ oddRowHoist false ]}]\n[ w_shape {[ isPieceToken true ] [ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern trs ] [ oddRowFiringPattern trs ] [ oddRowHoist false ][ notes "A firing pattern in which all rows fire in a trident pattern with tubes angling left, up, and right."]}]\n[ wi {[ isWith true ][ notes "The preposition that separates parts of an effect description, as in \'Peony With Pistil\' or \'Peony With Tail\'"]}]\n\n[ brocadebase {\n [ isColor true ]\n [ isTrailColor true ]\n [ loose {\n [ sparkTrail {\n [ tuningContext brocadeBaseTrail ]\n }]\n [ spark {\n [ tuningContext brocadeBaseSpark ]\n }]\n [ brocadeBaseTrail {\n [ emitSizeMm 1.0 ]\n [ defaultTrailColor charcoal ]\n }]\n }]\n}]\n\n[ brocade {\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ sameAsLanguages [ italian dutch ]]\n [ notes "A shell type with long lasting stars that have gossamer, glittery, not very bright gold trails of sparks and no tips; or stars exhibiting these characters, as in \'Brocade Mine\'."]\n [ impliedNominalColor gold ]\n [ subtype brocade ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ star {\n [ impliesTrails [ brocadeTrail brocadeBaseTrail ]]\n [ cancelsTrails [ goldTrail charcoalBaseTrail silverTrail charcoalTrail ]]\n }]\n [ sparkTrail {\n [ tuningContext brocadeTrail ]\n }]\n [ spark {\n [ tuningContext brocadeSpark ]\n }]\n [ brocadeTrail {\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 0.3\n 5.1 0.4\n 7.6 0.5\n 15.1 0.6\n ]]\n ]]\n }]\n [ brocadeBaseTrail {\n [ replaceWithTokens [ brocadebase ] ]\n }]\n }]\n}]\n[ brocade_kamuro {[ translation brocade ][ reformulation true ]}]\n[ nishiki_kamuro {[ translation kamuro ][ language english ]}]\n[ kamuru {[ translation kamuro ]}] // Misspelling.\n[ tulip {[ translation [ ring wi white pistil ]][ reformulation true ][ sameAsLanguages [ english portuguese french german spanish ]][ notes "Ring with pistil shell."]}]\n[ kamuro {[ translation brocade ][ reformulation true ]}]\n\n\n[ laceprimeburn {\n [ loose {\n [ star {\n [ tuningContext primeBurnStar ]\n }]\n [ primeBurnStar {\n [ impliesTrails [ primeBurnTrail ]]\n [ cancelsDefaultTipColor true ]\n }]\n [ sparkTrail {\n [ tuningContext primeBurnTrail ]\n }]\n [ primeBurnTrail {\n [ replaceWithTokens [ lace prime_burn ] ]\n }]\n }]\n [ primeBurnStar {\n [ windFrictionKappa 0.12 ]\n [ particleSizeCurveTable [\n [ windFriction [\n 3.0 45.0\n 5.1 40.0\n 7.6 30.0\n 15.1 20.0\n ]]\n [ durationKappa [\n 3.0 0.4\n 5.1 0.35\n 7.6 0.30\n 15.1 0.2\n ]]\n ]]\n }]\n}]\n\n[ lace {\n [ looseyGooseyShell {[ definesDefaultPetalShape true ]} ]\n [ loose {\n [ break {\n [ tuningContext shellBreak ]\n }]\n [ shellBreak {\n [ defaultStarTransitionPhrase [ laceprimeburn ] ]\n }]\n [ star {\n [ tuningContext laceStar ]\n }]\n [ laceStar {\n [ impliesTipIfNoTrail true ]\n [ impliesTrails [ laceCrackleTrail ]]\n [ cancelsImpliedSmokeTrail true ]\n [ staticPhaseDuration 0.2 ]\n [ particleSizeCurveTable [\n [ defaultDuration [\n 3.0 1.0\n 5.1 1.2\n 7.6 1.6\n 15.1 2.3\n ]]\n [ tipCaliberMm [\n 3.0 8\n 5.1 10\n 7.6 12\n 15.1 15\n 1000 1000\n ]]\n ]]\n }]\n [ sparkTrail {\n [ tuningContext laceCrackleTrail ]\n }]\n }]\n [ shellBreak {\n [ breakNumChildren 2.0 ]\n }]\n [ laceStar {\n [ durationKappa 0.25 ]\n [ particleSizeCurveTable [\n [ windFriction [\n 3.0 45.0\n 5.1 22.5\n 7.6 22.5\n 15.1 22.5\n ]]\n ]]\n }] \n [ laceCrackleTrail {\n [ emitDurationKappa 0.5 ]\n [ emitSpeed 2.5 ]\n [ emitSpeedKappa 0.8 ]\n [ emitRate 20.0 ]\n [ emitRateAnimation gaussian6Up ]\n [ emitVelTaper 1.0 ]\n [ emitWindFriction 100 ]\n [ emitWindFrictionKappa 0.6 ]\n [ emitInheritVelocity 0.05 ]\n [ emitInheritVelocityKappa 0.30 ]\n [ particleSizeCurveTable [\n [ emitSizeMm [\n 3.0 1.1\n 5.1 1.2\n 7.6 1.4\n 15.1 1.6\n ]]\n [ emitDuration [\n 3.0 1.1\n 5.1 1.2\n 7.6 1.4\n 15.1 1.6\n ]]\n ]]\n }]\n [ charcoalSpark {\n [ startTemp 1.333333 ]\n [ endTemp 1.2 ]\n }]\n [ primeBurnTrail {\n [ particleSizeCurveTable [\n [ emitRateCurveMaxX [\n 3.0 0.8\n 5.1 1.0\n 7.6 1.333333\n 15.1 2.0\n ]]\n ]]\n }]\n [ tip {\n [ sparkSizeKappa 1.666666 ]\n }]\n}]\n\n[ willow {\n [ subtype willow ]\n [ impliedNominalColor gold ]\n [ ifRisingIsFlower true ]\n [ sameAsLanguages [ dutch ]]\n [ looseyGooseyShell {\n [ definesDefaultPetalShape true ]\n [ breakTuningContextTokens [ willow ] ]\n }]\n\n [ loose {\n [ star {\n [ tuningContext willowStar ]\n }]\n [ willowStar {\n [ impliesTrailsIfNoTrailsArePresent [ goldTrail charcoalBaseTrail ] ]\n }]\n [ break {\n [ tuningContext willowBreak ]\n }]\n [ microstarsTrail {\n [ replaceWithTokens [] ]\n }]\n }]\n [ sparkTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 1.0\n 5.1 1.0\n 7.6 1.0\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 1.72\n 5.1 1.66666\n 7.6 1.71429\n 15.1 1.75\n ]]\n ]]\n }]\n [ charcoalBaseTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 1.0\n 5.1 1.0\n 7.6 1.0\n 15.1 1.0\n ]]\n [ emitDuration [\n 3.0 1.72\n 5.1 1.66666\n 7.6 1.71429\n 15.1 1.75\n ]]\n ]]\n }]\n [ charcoalTrail {\n [ emitWindFriction 1.5 ]\n [ emitWindFrictionKappa 0.5 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 0.8\n 5.1 0.85\n 7.6 0.9\n 15.1 1.1\n ]]\n [ emitDuration [\n 3.0 1.5\n 5.1 1.5\n 7.6 1.33333\n 15.1 1.52778\n ]]\n [ emitDurationKappa [\n 3.0 0.5\n 5.1 1.0\n 15.1 1.0\n ]]\n ]]\n }]\n [ charcoalWillowBaseTrail {\n [ emitWindFriction 150.0 ]\n [ emitWindFrictionKappa 0.3 ]\n [ emitRateAnimation BumpDown ]\n [ emitRateCurveMinY 15.0 ]\n [ emitDurationKappa 0.5 ]\n [ particleSizeCurveTable [\n [ emitRate [\n 3.0 350\n 5.1 375\n 7.6 400\n 15.1 500\n 76.2 800\n ]]\n [ emitDuration [\n 3.0 0.7\n 5.1 1.2\n 7.6 1.5\n 15.1 2.0\n ]]\n ]]\n }]\n [ tip {\n [ sparkIntensity 0.2 ]\n }]\n [ charcoalSpark {\n [ sparkSizeKappa 0.5 ]\n [ intensityCurveMinY 10 ]\n }]\n}]\n\n\n\n//fixme:ageout[ wipe {[ isPieceToken true ] [ impliesCake true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnr ] [ oddRowFiringPattern fnr ] [ oddRowHoist false ]}]\n[ with {[ translation [ wi ]]}]\n//fixme:removeme[ x_shape {[ isPieceToken true ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern cto ] [ oddRowFiringPattern otc ] [ oddRowHoist false ]}]\n[ x_shape {[ isPieceToken true ] [ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern cto ] [ oddRowFiringPattern otc ] [ oddRowHoist false ][ notes "A firing pattern in which alternating rows of a cake from outside-to-inside and inside-to-outside, making an \'X\'."]}]\n[ xette {[ translation crossette ][ language english ]}]\n[ xettes {[ translation crossette ][ language english ]}]\n[ cruz {[ translation crossette ][ language [ portuguese ]]}]\n[ crossete {[ translation crossette ][ language [ portuguese ]]}]\n[ crossetes {[ translation crossette ][ language [ portuguese ]]}]\n[ crossettes {[ translation crossette ][ language [ english french portuguese ]]}]\n[ z_shape {[ isPieceToken true ][ isShotProxy true ] [ impliesCake true ][ subtype cake ] [ impliesRowFiringPatterns true ] [ evenRowFiringPattern fnr ] [ oddRowFiringPattern fnl ] [ oddRowHoist false ][ notes "A firing pattern in which alternating rows of a cake from left-to-right and right-to-left, making an \'Z\'."]}]\n[ zipper {[ translation z_shape ]}]\n//???[ other {[ translation [ ]][ reformulation true ]}] // "other" is considered a VDL term because it is a subtype. Things translate to it, which means it has to have an entry to be recognized as a VDL term.\n[ all_fire {[ translation [ ]][ isNonVdlTerm true ]}]\n\n[ test_foo_050_bar_075 { [ foo 0.50 ] [ bar 0.75 ] }]\n[ test_foo_300_bar_600 { [ foo 3.00 ] [ bar 6.00 ] }]\n[ test_submap_foo_350_bar_375_ccc_500 { [ outside 2.5 ] [ submap {[ foo 3.50 ] [ bar 3.75 ] [ ccc 5.00 ]}] }]\n[ test_submap_foo_200_bar_300_ddd_600 { [ outside 3.5 ] [ submap {[ foo 2.00 ] [ bar 3.00 ] [ ddd 6.00 ]}] }]\n[ test_abc5 { [ a 5 ] [ b 5 ] [ c 5 ] }]\n[ test_acd9 { [ a 9 ] [ c 9 ] [ d 9 ] }]\n\n[ test_a {\n [ a 1.5 ]\n [ b 2.5 ]\n [ particleSizeCurveTable [\n [ a [\n 1.0 3.5\n ]]\n [ aa [\n 13.0 4.5\n ]]\n ]]\n}]\n\n[ test_b {\n [ a 5.5 ]\n [ b 6.5 ]\n [ particleSizeCurveTable [\n [ a [\n 15.0 7.5\n ]]\n [ aa [\n 23.0 8.5\n ]]\n ]]\n}]\n\n\n\n\n\n[ SYSTEM_PROPERTIES {\n [ breakSmokeEndSizeToStartSizeRatioDefault 2.0 ]\n [ breakSmokePuffSizeAnimationDefault smokeSize1 ]\n [ breakSmokeSpeedToParticleSizeRatioDefault 50 ]\n [ breakSmokeWindFrictionDefault 0.05 ]\n [ breakSmokeDensityDefault 20.0 ]\n [ breakSmokeNumChildrenDefault 2 ]\n [ breakSmokeDurationKappaDefault 0.2 ] \n [ cakeFanFullSpreadDegreesDefault 60.0 ]\n [ cakeOrCandleNumShotsDefault 10 ] // If you just write "Red Peony Cake", how many shots should it have by default?\n [ continuousShotDurationDefault 25.0 ]\n [ particleSizeDurationCurveTable [ // These tables all contain X-Y pairs of values. X is the size in meters// Y is the function value for that size. The function will interpolate in between.\n 0.0025 0.5\n 0.0075 1.5 // Two zeros, not one, because index is the star size, not the shell size.\n 0.0200 4.8 // Stars of 12" shell [ softball ].\n ] ]\n [ particleSizeWindFrictionCurveTable [ \n // (emitted entities are not physically defined particles so they don\'t use this table)\n // 0.0015 0.03 // See [ sparkSize ][ softball ].\n 0.0016 0.02\n 0.0020 0.04 // See [ fountainParticleSizeDefault ] --\x3e 2% @ 100fps --\x3e 0.5s to stop (think about sparks in muzzle flash that leave with same velocity as the shell but only to 10\' up)\n 0.0024 0.02\n 0.0035 0.02 // See [ shellSizeStarSizeScaleCurveTable ]. A 1" shell * 0.1 = 0.0025m, a [ minimumSizeStar ]*, just barely larger than a fountain particle and 2.5X a spark.\n 0.0075 0.015\n 0.0125 0.01 // This is a 1/2" star.\n 0.0200 0.007 // From 12" shell.\n 0.0254 0.007 // This is a 1" star\n 0.0300 0.007 // A star from a 12" shell.\n 0.0500 0.0055 // At 2" or greater, this is probably a shell itself.\n 0.0750 0.005 // At 3", this is a medium size shell.\n 0.2000 0.004 // At 8", this is a big shell.\n ] ]\n [ particleSizeSmokeStartSizeCurveTable [ \n 0.0025 0.04 // 1" shell\'s stars have same smoke size as that of 3" shells. [ fountainParticleSizeDefault ]. They can\'t leave much smoke because there are so many of them.\n 0.0075 0.08 // 3" shell\'s stars. All bigger shells use the same absolute start size, not proportional to particle size.\n ] ]\n [ particleSizeSmokeEmitRateCurveTable [ \n 0.00254 100.0 // 1" shell stars\n 0.00762 250.0 // 3" shell stars\n ] ]\n [ shellSizeAttachedRisingEffectParticleSizeScaleCurveTable [ \n 0.0254 0.5\n ] ]\n [ particleSizeBreakSmokeDurationCurveTable [ \n 0.0 12.0\n ] ] \n [ particleSizeBreakSmokeStartSizeToParticleSizeRatioCurveTable [ \n 0.0075 54.0\n 0.025 24.0\n 0.075 6.0\n ] ] \n [ chainLengthDefault 10 ] // If you just write "Red Peony Chain", how many shots should it have by default?\n [ chainDelayBetweenShotsDefault 0.05 ]\n [ subtypeTranslations { // [ translation ]\n [ brocade {[ spanish Brocado ]\n [ english Brocade ]\n [ maltese Sfiera ]\n [ italian Brocade ]\n [ dutch Brokade ]\n [ portuguese Brocado ]\n [ russian \u041f\u0430\u0440\u0447\u0430]\n [ german Brokat ]\n [ polish Brokat ]\n [ french #<"Filet D\'Or">]}]\n [ cake {[ spanish Bater\xeda ]\n [ english Cake ]\n [ maltese Kaxxa ]\n [ dutch Batterij ]\n [ polish Bateria ]\n [ german Batterie ]\n [ portuguese Torta ]\n [ italian Batteria ]\n [ russian #<"\u0411\u0430\u0442\u0430\u0440\u0435\u044f \u0421\u0430\u043b\u044e\u0442\u043e\u0432">]\n [ french Compact ]}]\n [ chrysanthemum {[ spanish Crisantemo ]\n [ english Chrysanthemum ]\n [ maltese Chrysanthemum ]\n [ dutch Chrysanthemum ]\n [ russian \u0425\u0440\u0438\u0437\u0430\u043d\u0442\u0435\u043c\u0430]\n [ polish Chryzantema ]\n [ portuguese Cris\xe2ntemo ]\n [ german Chrysantheme ]\n [ italian Crisantemo ]\n [ french Chrysanth\xe8me ]}]\n [ comet {[ spanish Cometa ]\n [ english Comet ]\n [ maltese Fjamma ]\n [ polish Kometa ]\n [ dutch Komeet ]\n [ italian Cometa ]\n [ portuguese Cometa ]\n [ russian \u041a\u043e\u043c\u0435\u0442\u0430]\n [ german Kometen ]\n [ french Com\xe8te ]}]\n [ crossette {[ spanish Crosete ]\n [ english Crossette ]\n [ maltese Kru\u010b\u010betta ]\n [ dutch Krossetten ]\n [ polish Kroseta ]\n [ portuguese Crossete ]\n [ italian Crocetta ]\n [ russian \u041a\u0440\u0435\u0441\u0442]\n [ german Krossettes ]\n [ french Mosa\xefque ]}]\n [ dahlia {[ spanish Dalia ]\n [ english Dahlia ]\n [ maltese Dahlia ]\n [ italian Dahlia ]\n [ dutch Dahlia ]\n [ polish Dalia ]\n [ portuguese Dalia ]\n [ russian \u0413\u0435\u043e\u0440\u0433\u0438\u043d]\n [ german Dahlien ]\n [ french Dahlia ]}]\n [ diadem {[ spanish Diadema ]\n [ english Diadem ]\n [ maltese Dijadema ]\n [ dutch Diadeem ]\n [ polish Diademem ]\n [ italian Diadema ]\n [ portuguese Diadem ]\n [ german Diadem ]\n [ russian \u0414\u0438\u0430\u0434\u0435\u043c\u0430]\n [ french Diad\xe8me ]}]\n [ falling_leaves {[ spanish #<"Hojas Callendo">]\n [ english #<"Falling Leaves">]\n [ maltese #<"Weraq Li Jaqg\u0127u">]\n [ dutch #<"Vallende Bladeren">]\n [ italian #<"Foglie Cadenti">]\n [ polish #<"Opadaj\u0105ce Li\u015bcie">]\n [ portuguese #<"Folha Caindo">]\n [ russian #<"\u041f\u0430\u0434\u0430\u044e\u0449\u0438\u0435 \u041b\u0438\u0441\u0442\u044c\u044f">]\n [ german #<"Bl\xe4ttertanz">]\n [ french #<"Feuilles Mortes">]}]\n [ ground {[ spanish Suelo ]\n [ english Ground ]\n [ maltese #<"Ta\' L-Art">]\n [ dutch Grond ]\n [ polish Ziemia ]\n [ portuguese #<"Efeitos Est\xe1ticos">] //Ch\xe3o ]\n [ italian #<"A Terra">]\n [ russian \u041d\u0430\u0437\u0435\u043c\u043d\u044b\u0439] // \u043d\u0430\u0437\u0435\u043c\u043d\u044b\u0439, \u043d\u0430_\u0437\u0435\u043c\u043b\u0435 \n [ german Boden ]\n [ french Sol ]}]\n [ kamuro {[ spanish Kamuro ]\n [ english Kamuro ]\n [ maltese Kamuro ]\n [ dutch Kamuro ]\n [ italian Kamuro ]\n [ polish Kamuro ]\n [ portuguese Kamurro ]\n [ german \u041aamuro ]\n [ russian K\u0430\u043c\u0443\u0440\u043e]\n [ french Kamuro ]}]\n [ mine {[ spanish Mina ]\n [ english Mine ]\n [ maltese Sbroff ]\n [ dutch Mijn ]\n [ polish Mina ]\n [ italian Sbruffo ]\n [ german Feuertopf ]\n [ portuguese Vaso ]\n [ russian \u041c\u0438\u043d\u0430]\n [ french P\xe0f ]}]\n [ other {[ spanish Otro ]\n [ portuguese Outro ]\n [ maltese O\u0127rajn ]\n [ german Andere ]\n [ dutch Ander ]\n [ polish Inny ]\n [ italian Altro ] // Or: altra, altri, altre\n [ english Other ]\n [ russian \u0434\u0440\u0443\u0433\u043e\u0439]\n [ french Autre ]}]\n [ palm {[ spanish Palmera ]\n [ english Palm ]\n [ maltese Palma ]\n [ dutch Palm ]\n [ german Palme ]\n [ polish palm\u0105]\n [ portuguese Palmeira ]\n [ italian Palma ]\n [ russian \u041f\u0430\u043b\u044c\u043c\u0430]\n [ french Palme ]}]\n [ peony {[ spanish Peon\xeda ]\n [ english Peony ]\n [ maltese Ballun ]\n [ dutch Peony ]\n [ polish Piwonia ]\n [ italian Peonia ]\n [ portuguese Pe\xf4nia ]\n [ russian \u041f\u0438\u043e\u043d]\n [ german Peony ]\n [ french Pivoine ]}]\n [ rack {[ english Rack ]\n [ portuguese Grade ]\n [ maltese #<"Armatura Tal-Kanni">]\n [ dutch Rek ]\n [ polish skrzynka ] // Also: ramka, stela\u017c\n [ spanish #<"Bater\xeda de Morteros">]\n [ italian #<"Rastrelliera di Mortai">] // Or: rastrelliera_di_mortai, rastrelliera, rastrelliere\n [ french #<"Batterie de Mortiers">]}]\n [ ring {[ spanish Aro ]\n [ english Ring ]\n [ dutch Ringen ]\n [ maltese \u010airku ]\n [ german Ring ]\n [ portuguese An\xe9is ]\n [ polish Okr\u0105g ]\n [ italian Anello ]\n [ russian \u041a\u043e\u043b\u044c\u0446\u043e]\n [ french Anneau ]}]\n [ sfx {[ spanish SFX ]\n [ english SFX ]\n [ maltese SFX ]\n [ dutch SFX ]\n [ polish SFX ]\n [ portuguese #<"Efeitos Especiais">]\n [ italian SFX ]\n [ russian SFX ]\n [ german SFX ]\n [ french SFX ]}]\n [ wave {[ spanish Onda ]\n [ english Wave ]\n [ maltese Mew\u0121a ]\n [ dutch Golf ]\n [ german Schweifstern ]\n [ polish Fala ]\n [ italian Onda ]\n [ portuguese Onda ]\n [ russian \u0412\u043e\u043b\u043d\u0430]\n [ french Vague ]}]\n [ willow {[ spanish Sauce ]\n [ polish Wierzba ]\n [ english Willow ]\n [ maltese Willow ]\n [ dutch Willow ]\n [ portuguese Chor\xe3o ]\n [ italian Salice ]\n [ german Willow ]\n [ russian \u0418\u0432\u0430]\n [ french Saule ]}]\n// [ flame {[ spanish Flama ]\n// [ english Flame ]\n// [ french Flamme ]}]\n }]\n [ inclusionNumStarsAdjustmentDefault 0.25 ] // Density of [ mixIn ][ inclusion ] stars, as in: "Red Peony w/ Blue", in proportion to standard number of stars for the effectCaliber.\n [ insidePetalBreakSpeedScaleDefault 0.5 ]\n [ instantaneousShotDurationDefault 1.0 ] // Default separation between shots in single row cake with no duration specified.\n [ maxShotsPerRowIfUnspecified 12 ] // A cake of this many or fewer tubes will have a single row unless the number of rows is specified.\n [ smokeEndSizeToStartSizeRatioDefault 10.0 ]\n [ namedCurves [\n [ one [ 0.0 1.0 ] [ 1.0 1.0 ] ]\n [ zero [ 0.0 0.0 ] [ 1.0 0.0 ] ]\n [ linearUp [ 0.0 0.0 ] [ 1.0 1.0 ] ]\n [ linearDown [ 0.0 1.0 ] [ 1.0 0.0 ] ]\n [ linearUpDown [ 0.0 0.0 ] [ 0.5 1.0 ] [ 1.0 0.0 ] ]\n [ exploFlameTemp [ 0.0 4200.0 ] [ 1.0 2200.0 ] ]\n [ exploFlameSize [ 0.0 0.0 ] [ 0.5 1.0 ] [ 1.0 0.2 ] ]\n [ exploFlameAlpha [ 0.0 0.0 ] [ 0.2 0.6 ] [ 0.5 0.8 ] [ 1.0 0.0 ] ]\n [ fireballFlameTemp [ 0.0 1500.0 ] [ 0.5 3700.0 ] [ 0.75 1100.0 ] [ 1.0 0.0 ] ]\n [ fireballFlameSize [ 0.0 0.1 ] [ 0.4 0.10 ] [ 1.0 1.0 ] ]\n [ fireballFlameAlpha [ 0.0 0.5 ] [ 0.2 0.6 ] [ 0.5 0.9 ] [ 1.0 0.0 ] ]\n [ smokeSize1 [ 0.0 0.0 ] [ 0.4 0.1 ] [ 1.0 1.0 ] ]\n [ starSparkRadiusAndBlurScale1 [ 0 0 ] [ 0.60 1.0 ] [ 1.0 0.0 ] ]\n\n[ microstarsTrail\n [0 0] [0.2 0] [0.35 1] [0.9 1] [1 0]\n]\n\n[ brocadeTrail\n [ 0 0.200 ] [ 0.016 1.000 ] [ 0.025 1.000 ] [ 0.042 0.200 ] [ 0.071 0.200 ] [ 0.083 1.000 ] [ 0.104 1.000 ] [ 0.122 0.200 ] [ 0.140 0.200 ] [ 0.146 1.000 ] [ 0.179 1.000 ] [ 0.189 0.200 ] [ 0.224 0.200 ] [ 0.240 1.000 ] [ 0.256 1.000 ] [ 0.275 0.200 ] [ 0.305 0.200 ] [ 0.321 1.000 ] [ 0.343 1.000 ] [ 0.351 0.200 ] [ 0.376 0.200 ] [ 0.384 1.000 ] [ 0.414 1.000 ] [ 0.421 0.200 ] [ 0.445 0.200 ] [ 0.458 1.000 ] [ 0.490 1.000 ] [ 0.502 0.200 ] [ 0.539 0.200 ] [ 0.558 1.000 ] [ 0.592 1.000 ] [ 0.599 0.200 ] [ 0.639 0.200 ] [ 0.648 1.000 ] [ 0.683 1.000 ] [ 0.693 0.200 ] [ 0.724 0.200 ] [ 0.731 1.000 ] [ 0.766 1.000 ] [ 0.773 0.200 ] [ 0.796 0.200 ] [ 0.810 1.000 ] [ 0.826 1.000 ] [ 0.844 0.200 ] [ 0.875 0.200 ] [ 0.892 1.000 ] [ 0.905 1.000 ] [ 0.927 0.200 ] [ 0.944 0.200 ]\n]\n[ cracklingTrail\n [ 0 0.000 ] [ 0.003 1.000 ] [ 0.018 1.000 ] [ 0.020 0.000 ] [ 0.098 0.000 ] [ 0.101 1.000 ] [ 0.116 1.000 ] [ 0.121 0.000 ] [ 0.210 0.000 ] [ 0.214 1.000 ] [ 0.228 1.000 ] [ 0.235 0.000 ] [ 0.335 0.000 ] [ 0.339 1.000 ] [ 0.349 1.000 ] [ 0.357 0.000 ] [ 0.425 0.000 ] [ 0.431 1.000 ] [ 0.448 1.000 ] [ 0.454 0.000 ] [ 0.503 0.000 ] [ 0.509 1.000 ] [ 0.515 1.000 ] [ 0.517 0.000 ] [ 0.597 0.000 ] [ 0.604 1.000 ] [ 0.619 1.000 ] [ 0.623 0.000 ] [ 0.735 0.000 ] [ 0.740 1.000 ] [ 0.758 1.000 ] [ 0.763 0.000 ] [ 0.890 0.000 ] [ 0.893 1.000 ] [ 0.905 1.000 ] [ 0.905 0.000 ] [ 0.973 0.000 ]\n]\n[ glitteringTrail\n [ 0 0.000 ] [ 0.004 1.000 ] [ 0.019 1.000 ] [ 0.029 0.000 ] [ 0.071 0.000 ] [ 0.077 1.000 ] [ 0.093 1.000 ] [ 0.095 0.000 ] [ 0.121 0.000 ] [ 0.125 1.000 ] [ 0.136 1.000 ] [ 0.139 0.000 ] [ 0.168 0.000 ] [ 0.172 1.000 ] [ 0.185 1.000 ] [ 0.188 0.000 ] [ 0.224 0.000 ] [ 0.228 1.000 ] [ 0.244 1.000 ] [ 0.249 0.000 ] [ 0.271 0.000 ] [ 0.277 1.000 ] [ 0.291 1.000 ] [ 0.297 0.000 ] [ 0.336 0.000 ] [ 0.340 1.000 ] [ 0.354 1.000 ] [ 0.359 0.000 ] [ 0.411 0.000 ] [ 0.417 1.000 ] [ 0.425 1.000 ] [ 0.434 0.000 ] [ 0.472 0.000 ] [ 0.478 1.000 ] [ 0.499 1.000 ] [ 0.501 0.000 ] [ 0.506 0.000 ] [ 0.510 1.000 ] [ 0.526 1.000 ] [ 0.531 0.000 ] [ 0.562 0.000 ] [ 0.568 1.000 ] [ 0.585 1.000 ] [ 0.595 0.000 ] [ 0.640 0.000 ] [ 0.644 1.000 ] [ 0.654 1.000 ] [ 0.658 0.000 ] [ 0.680 0.000 ] [ 0.685 1.000 ] [ 0.698 1.000 ] [ 0.703 0.000 ] [ 0.714 0.000 ] [ 0.719 1.000 ] [ 0.734 1.000 ] [ 0.738 0.000 ] [ 0.765 0.000 ] [ 0.767 1.000 ] [ 0.773 1.000 ] [ 0.779 0.000 ] [ 0.817 0.000 ] [ 0.822 1.000 ] [ 0.833 1.000 ] [ 0.838 0.000 ] [ 0.882 0.000 ] [ 0.888 1.000 ] [ 0.901 1.000 ] [ 0.905 0.000 ] [ 0.941 0.000 ]\n]\n[ twinklingTrail\n [0 0.000] [0.007 1.000] [0.034 1.000] [0.037 0.000] [0.070 0.000] [0.074 1.000] [0.113 1.000] [0.116 0.000] [0.145 0.000] [0.152 1.000] [0.167 1.000] [0.173 0.000] [0.208 0.000] [0.213 1.000] [0.237 1.000] [0.244 0.000] [0.272 0.000] [0.276 1.000] [0.300 1.000] [0.307 0.000] [0.352 0.000] [0.358 1.000] [0.397 1.000] [0.402 0.000] [0.451 0.000] [0.454 1.000] [0.490 1.000] [0.495 0.000] [0.535 0.000] [0.540 1.000] [0.564 1.000] [0.570 0.000] [0.594 0.000] [0.597 1.000] [0.625 1.000] [0.630 0.000] [0.653 0.000] [0.658 1.000] [0.665 1.000] [0.672 0.000] [0.701 0.000] [0.706 1.000] [0.725 1.000] [0.730 0.000] [0.757 0.000] [0.764 1.000] [0.791 1.000] [0.797 0.000] [0.826 0.000] [0.826 1.000] [0.851 1.000] [0.856 0.000] [0.872 0.000] [0.877 1.000] [0.898 1.000] [0.904 0.000] [0.928 0.000] [0.937 1.000] [0.959 1.000] [0.964 0.000] [0.992 0.000]\n]\n\n\n[ strobing\n [ 0 0.000 ] [ 0.001 1.000 ] [ 0.020 1.000 ] [ 0.021 0.000 ] [ 0.053 0.000 ] [ 0.054 1.000 ] [ 0.060 1.000 ] [ 0.061 0.000 ] [ 0.081 0.000 ] [ 0.082 1.000 ] [ 0.091 1.000 ] [ 0.092 0.000 ] [ 0.111 0.000 ] [ 0.112 1.000 ] [ 0.125 1.000 ] [ 0.126 0.000 ] [ 0.145 0.000 ] [ 0.146 1.000 ] [ 0.156 1.000 ] [ 0.157 0.000 ] [ 0.173 0.000 ] [ 0.174 1.000 ] [ 0.187 1.000 ] [ 0.188 0.000 ] [ 0.215 0.000 ] [ 0.216 1.000 ] [ 0.221 1.000 ] [ 0.222 0.000 ] [ 0.252 0.000 ] [ 0.253 1.000 ] [ 0.267 1.000 ] [ 0.268 0.000 ] [ 0.280 0.000 ] [ 0.281 1.000 ] [ 0.295 1.000 ] [ 0.296 0.000 ] [ 0.319 0.000 ] [ 0.320 1.000 ] [ 0.339 1.000 ] [ 0.340 0.000 ] [ 0.364 0.000 ] [ 0.365 1.000 ] [ 0.376 1.000 ] [ 0.377 0.000 ] [ 0.413 0.000 ] [ 0.414 1.000 ] [ 0.432 1.000 ] [ 0.433 0.000 ] [ 0.465 0.000 ] [ 0.466 1.000 ] [ 0.485 1.000 ] [ 0.486 0.000 ] [ 0.495 0.000 ] [ 0.496 1.000 ] [ 0.498 1.000 ] [ 0.499 0.000 ] [ 0.532 0.000 ] [ 0.533 1.000 ] [ 0.541 1.000 ] [ 0.542 0.000 ] [ 0.577 0.000 ] [ 0.578 1.000 ] [ 0.593 1.000 ] [ 0.594 0.000 ] [ 0.626 0.000 ] [ 0.627 1.000 ] [ 0.640 1.000 ] [ 0.641 0.000 ] [ 0.665 0.000 ] [ 0.666 1.000 ] [ 0.682 1.000 ] [ 0.683 0.000 ] [ 0.705 0.000 ] [ 0.706 1.000 ] [ 0.717 1.000 ] [ 0.718 0.000 ] [ 0.753 0.000 ] [ 0.754 1.000 ] [ 0.769 1.000 ] [ 0.770 0.000 ] [ 0.801 0.000 ] [ 0.802 1.000 ] [ 0.818 1.000 ] [ 0.819 0.000 ] [ 0.831 0.000 ] [ 0.832 1.000 ] [ 0.848 1.000 ] [ 0.849 0.000 ] [ 0.874 0.000 ] [ 0.875 1.000 ] [ 0.888 1.000 ] [ 0.889 0.000 ] [ 0.927 0.000 ] [ 0.928 1.000 ] [ 0.945 1.000 ] [ 0.946 0.000 ] [ 0.978 0.000 ]\n]\n[ flashing\n [ 0 0.000 ] [ 0.004 1.000 ] [ 0.015 1.000 ] [ 0.020 0.000 ] [ 0.085 0.000 ] [ 0.089 1.000 ] [ 0.100 1.000 ] [ 0.106 0.000 ] [ 0.149 0.000 ] [ 0.153 1.000 ] [ 0.158 1.000 ] [ 0.163 0.000 ] [ 0.230 0.000 ] [ 0.236 1.000 ] [ 0.253 1.000 ] [ 0.261 0.000 ] [ 0.315 0.000 ] [ 0.322 1.000 ] [ 0.333 1.000 ] [ 0.336 0.000 ] [ 0.404 0.000 ] [ 0.409 1.000 ] [ 0.420 1.000 ] [ 0.428 0.000 ] [ 0.459 0.000 ] [ 0.463 1.000 ] [ 0.475 1.000 ] [ 0.483 0.000 ] [ 0.523 0.000 ] [ 0.527 1.000 ] [ 0.541 1.000 ] [ 0.548 0.000 ] [ 0.631 0.000 ] [ 0.634 1.000 ] [ 0.646 1.000 ] [ 0.652 0.000 ] [ 0.686 0.000 ] [ 0.694 1.000 ] [ 0.703 1.000 ] [ 0.710 0.000 ] [ 0.777 0.000 ] [ 0.782 1.000 ] [ 0.794 1.000 ] [ 0.798 0.000 ] [ 0.900 0.000 ] [ 0.904 1.000 ] [ 0.917 1.000 ] [ 0.919 0.000 ] [ 0.956 0.000 ]\n]\n[ twinkling\n [ 0 0.000 ] [ 0.010 1.000 ] [ 0.048 1.000 ] [ 0.060 0.000 ] [ 0.085 0.000 ] [ 0.093 1.000 ] [ 0.140 1.000 ] [ 0.153 0.000 ] [ 0.183 0.000 ] [ 0.204 1.000 ] [ 0.271 1.000 ] [ 0.288 0.000 ] [ 0.310 0.000 ] [ 0.322 1.000 ] [ 0.349 1.000 ] [ 0.369 0.000 ] [ 0.406 0.000 ] [ 0.413 1.000 ] [ 0.481 1.000 ] [ 0.493 0.000 ] [ 0.512 0.000 ] [ 0.523 1.000 ] [ 0.556 1.000 ] [ 0.571 0.000 ] [ 0.604 0.000 ] [ 0.612 1.000 ] [ 0.660 1.000 ] [ 0.665 0.000 ] [ 0.705 0.000 ] [ 0.726 1.000 ] [ 0.785 1.000 ] [ 0.806 0.000 ] [ 0.837 0.000 ] [ 0.845 1.000 ] [ 0.893 1.000 ] [ 0.901 0.000 ] [ 0.923 0.000 ]\n]\n[ shimmering\n [ 0 0.000 ] [ 0.001 1.000 ] [ 0.011 1.000 ] [ 0.012 0.000 ] [ 0.032 0.000 ] [ 0.033 1.000 ] [ 0.037 1.000 ] [ 0.037 0.000 ] [ 0.040 0.000 ] [ 0.042 1.000 ] [ 0.054 1.000 ] [ 0.054 0.000 ] [ 0.064 0.000 ] [ 0.065 1.000 ] [ 0.081 1.000 ] [ 0.082 0.000 ] [ 0.099 0.000 ] [ 0.100 1.000 ] [ 0.113 1.000 ] [ 0.114 0.000 ] [ 0.127 0.000 ] [ 0.128 1.000 ] [ 0.135 1.000 ] [ 0.136 0.000 ] [ 0.151 0.000 ] [ 0.153 1.000 ] [ 0.170 1.000 ] [ 0.171 0.000 ] [ 0.184 0.000 ] [ 0.185 1.000 ] [ 0.212 1.000 ] [ 0.213 0.000 ] [ 0.223 0.000 ] [ 0.225 1.000 ] [ 0.240 1.000 ] [ 0.242 0.000 ] [ 0.259 0.000 ] [ 0.260 1.000 ] [ 0.270 1.000 ] [ 0.272 0.000 ] [ 0.283 0.000 ] [ 0.285 1.000 ] [ 0.293 1.000 ] [ 0.295 0.000 ] [ 0.315 0.000 ] [ 0.316 1.000 ] [ 0.325 1.000 ] [ 0.326 0.000 ] [ 0.335 0.000 ] [ 0.335 1.000 ] [ 0.345 1.000 ] [ 0.346 0.000 ] [ 0.360 0.000 ] [ 0.361 1.000 ] [ 0.375 1.000 ] [ 0.376 0.000 ] [ 0.395 0.000 ] [ 0.396 1.000 ] [ 0.402 1.000 ] [ 0.403 0.000 ] [ 0.416 0.000 ] [ 0.417 1.000 ] [ 0.432 1.000 ] [ 0.433 0.000 ] [ 0.451 0.000 ] [ 0.452 1.000 ] [ 0.467 1.000 ] [ 0.469 0.000 ] [ 0.484 0.000 ] [ 0.484 1.000 ] [ 0.500 1.000 ] [ 0.502 0.000 ] [ 0.509 0.000 ] [ 0.510 1.000 ] [ 0.531 1.000 ] [ 0.532 0.000 ] [ 0.541 0.000 ] [ 0.543 1.000 ] [ 0.551 1.000 ] [ 0.552 0.000 ] [ 0.568 0.000 ] [ 0.568 1.000 ] [ 0.572 1.000 ] [ 0.573 0.000 ] [ 0.587 0.000 ] [ 0.588 1.000 ] [ 0.594 1.000 ] [ 0.596 0.000 ] [ 0.609 0.000 ] [ 0.610 1.000 ] [ 0.619 1.000 ] [ 0.619 0.000 ] [ 0.636 0.000 ] [ 0.637 1.000 ] [ 0.653 1.000 ] [ 0.654 0.000 ] [ 0.673 0.000 ] [ 0.675 1.000 ] [ 0.692 1.000 ] [ 0.693 0.000 ] [ 0.703 0.000 ] [ 0.704 1.000 ] [ 0.718 1.000 ] [ 0.719 0.000 ] [ 0.731 0.000 ] [ 0.732 1.000 ] [ 0.745 1.000 ] [ 0.747 0.000 ] [ 0.762 0.000 ] [ 0.763 1.000 ] [ 0.782 1.000 ] [ 0.783 0.000 ] [ 0.801 0.000 ] [ 0.802 1.000 ] [ 0.814 1.000 ] [ 0.816 0.000 ] [ 0.826 0.000 ] [ 0.828 1.000 ] [ 0.843 1.000 ] [ 0.844 0.000 ] [ 0.860 0.000 ] [ 0.861 1.000 ] [ 0.880 1.000 ] [ 0.881 0.000 ] [ 0.898 0.000 ] [ 0.899 1.000 ] [ 0.912 1.000 ] [ 0.914 0.000 ] [ 0.927 0.000 ] [ 0.928 1.000 ] [ 0.939 1.000 ] [ 0.940 0.000 ] [ 0.956 0.000 ] [ 0.957 1.000 ] [ 0.974 1.000 ] [ 0.975 0.000 ] [ 0.989 0.000 ]\n]\n\n ] ]\n [ peanutBreakTimeSeparationDefault 0.07 ]\n [ pistilNumStarsScaleDefault 0.5 ]\n [ pistilDurationScaleDefault 1.0 ]\n [ pistilParticleSizeToStarSizeRatioDefault 1.0 ] // Relative size of pistil stars to petal stars.\n [ risingFlowersNumTimesDefault 3 ] // Default number of rising flowers if not specified explicitly, e.g., "w/ Three-Times Red Rising Flowers".\n [ rowDurationDefault 5.0 ] \n [ smokeEmitRateAnimationDefault EmitCurveTaper1 ]\n [ smokePuffSizeAnimationDefault smokeSize1 ]\n [ starSpeedKappaDefault 0.0117 ]\n [ subShellDurationScaleDefault 1.75 ]\n [ subShellOnPetalBreakSpeedScaleDefault 0.7 ]\n [ subShellParticleSizeToParentSizeRatioDefault 0.4 ] // Relative size of subshell to shell-of-shells parent shell.\n [ tailPhraseDefault [ gold ] ] // What you get if you just type "w/ tail".\n [ shellTipAnimationDefault one ]\n [ tipAnimationDefault starSparkRadiusAndBlurScale1 ]\n [ tipSizeKappaDefault 0.025 ] // Not zero because then you couldn\'t adjust it.\n [ tipSparkMinScreenWidthDefault 1.0 ]\n\n [ tuningContextParentMap {\n [ shellLaunch launch ]\n [ risingLaunch launch ]\n [ mineLaunch launch ]\n [ groundLaunch launch ]\n\n [ shellBreak break ]\n [ mineBreak break ]\n [ pistilBreak shellBreak ]\n [ crackleFlowerBreak break ]\n [ willowBreak shellBreak ]\n [ horseTailBreak shellBreak ]\n [ fallingLeavesShellBreak shellBreak ]\n [ fallingLeavesTransitionBreak break ]\n [ crossetteShellBreak shellBreak ]\n [ crossetteTransitionBreak break ]\n [ splitStarBreak break ]\n [ titaniumSaluteBreak shellBreak ]\n [ titaniumReportBreak break ]\n [ reportBreak break ]\n [ saluteBreak reportBreak ]\n [ peanutBreak shellBreak ]\n [ shellOfShellsBreak shellBreak ]\n\n [ brocadeStar star ]\n [ willowStar star ]\n [ timeRainStar star ]\n [ sizzleCrackleStar star ]\n [ chaseCrackleStar star ]\n [ laceStar star ]\n [ primeBurnStar star ]\n [ horseTailStar star ]\n [ fallingLeavesStar star ]\n [ fallingLeavesFragmentStar star ]\n [ crossetteStar star ]\n [ crossetteFragmentStar star ]\n [ titaniumSaluteStar star ]\n [ titaniumReportStar star ]\n [ popcornCrackleStar star ]\n [ tightCrackleStar star ]\n [ whistleStar star ]\n\n [ sparkTrail trail ]\n\n [ fuseTrail sparkTrail ]\n [ goldTrail sparkTrail ]\n [ silverTrail sparkTrail ]\n [ gambogeTrail sparkTrail ]\n [ charcoalBaseTrail sparkTrail ]\n [ charcoalTrail sparkTrail ]\n [ glitterBaseTrail sparkTrail ]\n [ glitteringTrail sparkTrail ]\n [ shimmeringTrail sparkTrail ]\n [ twinklingTrail sparkTrail ]\n [ brocadeBaseTrail sparkTrail ]\n [ brocadeTrail sparkTrail ]\n [ fountainTrail sparkTrail ]\n [ badcolorTrail sparkTrail ]\n\n [ microstarsTrail sparkTrail ]\n [ primeBurnTrail sparkTrail ]\n [ cracklingTrail sparkTrail ]\n [ crackleFlowerTrail sparkTrail ]\n [ laceCrackleTrail sparkTrail ]\n [ titaniumSaluteTrail sparkTrail ]\n\n [ charcoalWillowBaseTrail charcoalTrail ]\n\n [ timeRainCrackleTrail sparkTrail ]\n [ timeRainCharcoalCrackleTrail charcoalTrail ]\n\n [ charcoalTip tip ]\n [ primeBurnTip tip ]\n [ strobePotTip tip ]\n\n [ spark tip ]\n [ light_beam spark ] // for colors\n\n [ goldSpark spark ]\n [ silverSpark spark ]\n [ charcoalSpark spark ]\n [ gambogeSpark spark ]\n [ badcolorSpark spark ]\n\n [ glitterSpark spark ]\n [ glitterBaseSpark spark ]\n\n [ brocadeSpark spark ]\n [ brocadeBaseSpark spark ]\n\n [ shimmeringSpark spark ]\n [ twinklingSpark spark ]\n\n [ chaseCracklingSpark spark ]\n\n [ charcoalBaseSpark spark ]\n [ sizzleCracklingSpark spark ]\n [ crackleFlowerStar spark ]\n [ primeBurnSpark spark ]\n }]\n\n [ tuningContextNoParentMap {\n [ looseyGooseyShell true ]\n [ looseyGooseyFlameTrail true ]\n [ looseyGooseyFountainTrail true ]\n\n [ launch true ]\n [ effect true ]\n [ shot true ]\n [ star true ]\n [ tip true ]\n [ smoke_puff true ]\n [ flame_puff true ]\n [ break true ]\n [ trail true ]\n [ smoke_trail true ]\n [ flame_trail true ]\n [ sound true ]\n }]\n\n} ]\n\n}\n\n';function zr(e,n){return"caliber"==n?e.dimensions.mm:e.paramValues[n]}var Hr=new Map([[45,80],[90,160],[180,320],[360,640],[540,960],[720,1280],[801,1424],[1080,1920],[2160,3840],[4320,7680],[8640,15360]]);function Yr(e){var n=Object(Ce.a)().t,t=Object(Ie.d)(Qr).applyCurlyParamChange;var a=zr(e.node,e.fieldName);return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsxs)("select",{onChange:function(n){t(0,e.node.nodeId,e.fieldName,n.target.value)},value:a,children:[!1,Object(K.jsx)("option",{value:"USYM:ground",children:n("Ground")}),Object(K.jsx)("option",{value:"USYM:mine",children:n("Mine")}),Object(K.jsx)("option",{value:"USYM:rising",children:n("Comet")}),Object(K.jsx)("option",{value:"USYM:shell",children:n("Shell")})]})})]})}function Wr(e){var n=Object(Ce.a)().t,t=Object(Ie.d)(Qr).applyCurlyParamChange;var a=zr(e.node,e.fieldName);return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsxs)(Qo,{onChange:function(n){t(0,e.node.nodeId,e.fieldName,n.target.value)},value:a,children:[Object(K.jsx)("option",{value:"USYM:ballistic",children:n("Normal")}),Object(K.jsx)("option",{value:"USYM:meteor",children:n("Meteor")}),Object(K.jsx)("option",{value:"USYM:serpent",children:n("Serpent")}),Object(K.jsx)("option",{value:"USYM:spinner",children:n("Spinner")}),Object(K.jsx)("option",{value:"USYM:whirl",children:n("Whirl")}),Object(K.jsx)("option",{value:"USYM:whistle",children:n("Whistle")}),Object(K.jsx)("option",{value:"USYM:swimming",children:n("Swimming")}),Object(K.jsx)("option",{value:"USYM:static",children:n("Static")}),Object(K.jsx)("option",{value:"USYM:smallSerpent",children:n("LowCaliberSerpent")}),Object(K.jsx)("option",{value:"USYM:smallWhistle",children:n("LowCaliberWhistle")})]})})]})}function Kr(e){var n=Object(Ce.a)().t,t=Object(Ie.d)(Qr).applyCurlyParamChange;var a=zr(e.node,e.fieldName);return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsxs)("select",{onChange:function(n){t(0,e.node.nodeId,e.fieldName,n.target.value)},value:a,children:[Object(K.jsx)("option",{value:"USYM:uniform",children:n("Uniform")}),Object(K.jsx)("option",{value:"USYM:turbulent",children:n("Turbulent")}),Object(K.jsx)("option",{value:"USYM:helix",children:n("TigerTail")}),Object(K.jsx)("option",{value:"USYM:fountain",children:n("Fountain")})]})})]})}function Jr(e){var n=Object(Ce.a)().t,t=Object(Ie.d)(Qr).applyCurlyParamChange;var a=zr(e.node,e.fieldName);return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsxs)("select",{onChange:function(n){t(0,e.node.nodeId,e.fieldName,n.target.value)},value:a,children:[void 0===a&&Object(K.jsx)("option",{value:"undefined",children:n("Undefined")}),Object(K.jsx)("option",{value:"USYM:break",children:n("Break")}),Object(K.jsx)("option",{value:"USYM:report",children:n("Report")}),Object(K.jsx)("option",{value:"USYM:mortar",children:n("Launch")}),Object(K.jsx)("option",{value:"USYM:whistle",children:n("Whistle")}),Object(K.jsx)("option",{value:"USYM:crackle",children:n("Crackle")}),Object(K.jsx)("option",{value:"USYM:beraq",children:n("Beraq")}),Object(K.jsx)("option",{value:"USYM:gerb",children:n("Gerb")}),Object(K.jsx)("option",{value:"USYM:fountain",children:n("Fountain")}),Object(K.jsx)("option",{value:"USYM:jet",children:n("Jet")}),Object(K.jsx)("option",{value:"USYM:hummer",children:n("Hummer")}),Object(K.jsx)("option",{value:"USYM:screamer",children:n("Screamer")}),Object(K.jsx)("option",{value:"USYM:whirl",children:n("Whirl")}),Object(K.jsx)("option",{value:"USYM:fizzle",children:n("Fizzle")}),Object(K.jsx)("option",{value:"USYM:squeak",children:n("Squeak")}),Object(K.jsx)("option",{value:"USYM:helicopter",children:n("Helicopter")}),Object(K.jsx)("option",{value:"USYM:hummerGroup",children:n("HummerGroup")}),Object(K.jsx)("option",{value:"USYM:whirlGroup",children:n("WhirlGroup")}),Object(K.jsx)("option",{value:"USYM:whistleGroup",children:n("WhistleGroup")}),Object(K.jsx)("option",{value:"USYM:screamerGroup",children:n("ScreamerGroup")}),Object(K.jsx)("option",{value:"USYM:crackleBurst",children:n("CrackleBurst")})]})})]})}function Vr(e){var n=Object(Ce.a)().t,t=Object(Ie.d)(Qr).applyCurlyParamChange;var a=zr(e.node,e.fieldName);return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsxs)("select",{onChange:function(n){t(0,e.node.nodeId,e.fieldName,n.target.value)},value:a,children:[Object(K.jsx)("option",{value:"USYM:default",children:n("Default")}),Object(K.jsx)("option",{value:"USYM:silent",children:n("Silent")}),Object(K.jsx)("option",{value:"USYM:soft",children:n("Soft")}),Object(K.jsx)("option",{value:"USYM:pipe",children:n("Pipe")}),Object(K.jsx)("option",{value:"USYM:cardboard",children:n("Cardboard")}),Object(K.jsx)("option",{value:"USYM:lowpitch",children:n("LowPitch")})]})})]})}function qr(e){var n=Object(u.useState)(void 0),t=Object(h.a)(n,2),a=t[0],i=t[1],r=Object(u.useState)(""),o=Object(h.a)(r,2),s=o[0],l=o[1];Object(u.useEffect)((function(){void 0!==a&&i(void 0)}),[e.value]);var A=null!==a&&void 0!==a?a:e.value;var g=Object(u.useMemo)((function(){return e.validateText(A)}),[A])?"Valid":"NotValid";return Object(K.jsx)("textarea",{className:g,value:A,onFocus:function(n){l(e.value)},onBlur:function(n){e.onChange&&e.onChange(A)},onKeyDown:function(n){"Enter"==n.key&&(n.stopPropagation(),e.onChange(a),i(void 0)),"Escape"==n.key&&(n.stopPropagation(),e.onChange(s),i(void 0))},onChange:function(n){i(n.target.value),e.validateText(n.target.value)&&e.onChange(n.target.value)}})}function Xr(e){var n=Object(Ce.a)().t,t=Object(Ie.e)(Qr).vdlEffectCompiler,a=Object(u.useState)(!1),i=Object(h.a)(a,2),r=i[0],o=i[1],s=Object(u.useRef)(null),l=Object(Ie.d)(Qr).applyCurlyParamChange,A="custom",g=Ge(Te.a.CurveSpec,e.node.paramValues[e.fieldName]),c=t.makeCurveSpecUseCurveVertexes(e.node.paramValues[e.fieldName]),d=Ge(Te.a.CurveSpec,c),p=314,f=156;function I(e,n){var t=n*f;return"".concat(e*p,",").concat(t)}var C,E,m=d.getX1MinusOne()+1-d.getX0(),B=d.getY1MinusOne()+1-d.getY0();function Q(e,n){return I(d.getX0()+e*m,d.getY0()+n*B)}g.hasStandardCurve()&&(A=g.getStandardCurve());for(var y=d.getCurveVertexes().getXCoordsList(),b=d.getCurveVertexes().getYCoordsList(),_=[],k="",w=0,F=0;F=t)break;p=Math.max(h.pos,p),f=Math.max(u,f);var I=h.pos/l,C=u/s;Number.isFinite(I)?(g+="".concat(Pe(C*o,1),",").concat(Pe((1-I)*o,1)," "),d=I):g+="".concat(Pe(C*o,1),",").concat(Pe((1-d)*o,1)," "),c=C}return Object(K.jsxs)("g",{className:n,children:[Object(K.jsx)("polyline",{points:g}),Object(K.jsx)("circle",{cx:c*o,cy:(1-d)*o})]},e)}var g,c=Object(u.useMemo)((function(){for(var n=A("primary","CurveLine",e.duration,e.height,e.windFriction),t=[],a=0;a<3;a++)for(var i=e.height+e.height*e.heightKappa/100*(2*a/2-1),r=0;r<3;r++)for(var o=e.windFriction+e.windFriction*e.windFrictionKappa/100*(2*r/2-1),s=0;s<3;s++){var l=e.duration+e.duration*e.durationKappa/100*(2*s/2-1);t.push(A(t.length,"SecondaryCurveLine",l,i,o))}return{primary_curve:n,extra_curves:t}}),[s,l,e.duration,e.durationKappa,e.height,e.heightKappa,e.windFriction,e.windFrictionKappa]),d=c.primary_curve,p=c.extra_curves;function f(e){i(!a)}var I,C=function(e){e=Pe(e,6);var n=Object(he.sprintf)("%.3g",e);return l>100&&(n=Object(he.sprintf)("%.1f",e)),1==n.length&&(n+=".0"),n},E=[],m=[],B=I=l<=300?25:50;do{E.push(B/l),B+=I}while(B100&&(n=Object(he.sprintf)("%.1f",Pe(e,6))),1==n.length&&(n+=".0"),n}));return g=Object(K.jsxs)("svg",{className:"GridSvg",viewBox:"0 0 ".concat(310," ").concat(280),xmlns:"http://www.w3.org/2000/svg",children:[Object(K.jsx)("defs",{}),Object(K.jsxs)("g",{transform:"translate(".concat(30," ").concat(0,")"),children:[Object(K.jsx)("polyline",{className:"AxisLine",points:"".concat(-5,",").concat(o," ").concat(o,",").concat(o)}),Object(K.jsx)("polyline",{className:"AxisLine",points:"0,0 0,".concat(285)}),Object(K.jsx)("polyline",{className:"TickLine",points:"".concat(-5,",",.5," 0,",.5)}),Object(K.jsx)("polyline",{className:"TickLine",points:"".concat(-5,",").concat(70.5," 0,").concat(70.5)}),Object(K.jsx)("polyline",{className:"TickLine",points:"".concat(-5,",").concat(140.5," 0,").concat(140.5)}),Object(K.jsx)("polyline",{className:"TickLine",points:"".concat(-5,",").concat(210.5," 0,").concat(210.5)}),Object(K.jsx)("text",{className:"AxisLabel",textAnchor:"end",x:-7,y:3.5,children:C(l)}),Object(K.jsx)("text",{className:"AxisLabel",textAnchor:"end",x:-7,y:73.5,children:C(.75*l)}),Object(K.jsx)("text",{className:"AxisLabel",textAnchor:"end",x:-7,y:143.5,children:C(.5*l)}),Object(K.jsx)("text",{className:"AxisLabel",textAnchor:"end",x:-7,y:213.5,children:C(.25*l)}),d,p]})]}),Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)("div",{className:"NodeParamLabel".concat(a?" IsExpanded":""),onClick:f,children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),e.label]}),Object(K.jsx)("div",{className:"NodeParamValue".concat(a?" IsExpanded":""),onClick:f,children:Object(K.jsx)("div",{className:"ExpandedUnderlay"})}),a&&Object(K.jsx)(K.Fragment,{children:Object(K.jsxs)("div",{className:"PulloutDrawer IsExpanded",children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),Object(K.jsx)("div",{className:"CurvePlotHolder",children:Object(K.jsx)("div",{className:"CurvePlot",children:g})})]})})]})}function to(e){return e.hasCustomBreakPattern()&&2==e.getCustomBreakPattern().getGridParamsList().length}function ao(e){return e.hasCustomBreakPattern()&&!to(e)}function io(e){var n=Object(Ce.a)().t,t=Object(u.useState)(0),a=Object(h.a)(t,2),i=a[0],r=a[1],o=Object(Ie.d)(Qr).applyCurlyParamChange,s=function(e,n){if(null==e.children)return[];for(var t=[],a=0;null!==(i=a<(null===(r=e.children)||void 0===r?void 0:r.length))&&void 0!==i&&i;a++){var i,r;e.children[a].nodeTag==n&&t.push(e.children[a])}return t}(e.node,"star");console.log("asdsf",{props:e,starNodes:s});var l,A=s.map((function(e){var n=Oe(e),t={};return n.length>0&&(t.color=n[0]),t}));try{l=Ge(Te.a.BreakPattern,e.node.paramValues[e.fieldName])}catch(k){}var g=l||new Te.a.BreakPattern;g!=l&&((g=new Te.a.BreakPattern).setCustomBreakPattern(new Te.a.CustomBreakPattern),g.getCustomBreakPattern().setGridParamsList([18,18]));var c=g.getCustomBreakPattern();for(var d=Math.round(c.getGridParamsList()[0]),p=[],f=0;f1||i.getY()>1)t.splice(a,1),a--;else{var r=Math.round((i.getX()+1)/2*(d-1)),o=Math.round((1-i.getY())/2*(d-1));void 0===p[o][r]?p[o][r]=n:(t.splice(a,1),a--)}}}));for(var B=[],b=function(e){for(var n=[],t=function(t){var a=p[e][t];var r=["GridCell"];void 0===a&&r.push("Empty");var o=Object(K.jsx)("div",{className:r.join(" "),onContextMenu:function(e){e.preventDefault()},onMouseDown:function(n){1==n.buttons&&(E(t,e),m(t,e,i)),2==n.buttons&&E(t,e)},onMouseMove:function(n){1==n.buttons&&(E(t,e),m(t,e,i)),2==n.buttons&&E(t,e)},children:void 0!==a&&Object(K.jsx)("div",{className:"ChildLetter",children:Object(K.jsx)("div",{className:"Custom2dStarDot",style:A[a],children:Object(K.jsx)(y.a,{icon:Q.j})})})},"k".concat(e).concat(t));n.push(o)},a=0;a=3){if("number"!=typeof u[2])return;c.setZ(u[2])}if(u.length>=4){if("number"!=typeof u[3])return;c.setW(u[3])}A.addPoints(c)}}catch(f){g.e(f)}finally{g.f()}t.getCustomBreakPattern().addChildPatterns(A)}}catch(f){r.e(f)}finally{r.f()}var d='"'+Le(t)+'"';l(0,e.node.nodeId,e.fieldName,d)}},validateText:p})})]})]})}function oo(e){Object(Ce.a)().t;var n=Object(Ie.d)(Qr).applyCurlyParamChange,t=zr(e.node,e.fieldName);function a(){n(0,e.node.nodeId,e.fieldName,!t)}return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("div",{className:"NodeParamLabel",children:e.label}),Object(K.jsx)("div",{className:"NodeParamValue",children:Object(K.jsx)("div",{className:"CheckboxHolder",onClick:a,children:Object(K.jsx)("input",{type:"checkbox",checked:t,onChange:a})})})]})}function so(e){var n,t,a=Object(Ie.d)(Qr).applyCurlyParamChange,i=Object(u.useState)(void 0),r=Object(h.a)(i,2),o=(r[0],r[1]),s=e.isExpanded,l=e.setIsExpanded;if(void 0===e.isExpanded){var A=Object(u.useState)(!1),g=Object(h.a)(A,2);s=g[0],l=g[1]}var d=c.a.useRef(null),p=zr(e.node,e.fieldName).replace(/USYM:/g,"").replace(":",""),f=Ra.a.hex.hsv(p);function I(n){var t=n.replace(/[:#]/g,"");3==(t=t.replace(/[^0-9a-fA-F]/g,"")).length&&(t="".concat(t[0]).concat(t[0]).concat(t[1]).concat(t[1]).concat(t[2]).concat(t[2]));var i=":"+(t+"000000").substring(0,6).toLowerCase();a(0,e.node.nodeId,e.fieldName,i)}return c.a.useLayoutEffect((function(){var e=d.current;if(null!=e){e.width=32,e.height=32;for(var n=e.getContext("2d"),t=n.createImageData(e.width,e.height),a=0;ap.length&&(p=d);var f={onKeyDown:function(e){"Enter"==e.key&&(e.stopPropagation(),e.target.blur(),c(r),o(null)),"Escape"==e.key&&(e.stopPropagation(),e.target.blur(),c(A),o(null))},onBlur:function(e){c(r||t),o(null)},onFocus:function(n){o(t),g(t),n.target.select(),e.onFocus&&e.onFocus()}};return Object(K.jsxs)(lo,{className:"EditableTextParamSizer",children:[Object(K.jsx)("span",{className:"SizerText",children:p}),Object(K.jsx)("input",Object(de.a)({value:d,onChange:function(e){o(e.target.value),c(e.target.value)}},f))]})}function go(e){var n,t,a,i,r=Object(Ie.d)(Qr).applyCurlyParamChange,o=Object(u.useState)(void 0),s=Object(h.a)(o,2),l=s[0],A=s[1],g=Object(u.useState)(!1),c=Object(h.a)(g,2),d=c[0],p=c[1],f=null!==(n=e.value)&&void 0!==n?n:zr(e.node,e.fieldName),I=null!==(t=e.widgetScale)&&void 0!==t?t:1,C=Pe(f*I,e.roundToPlaces);function E(n,t){if(Number.isFinite(n)){var a=Pe(n,e.roundToPlaces)/I;null!=e.onChange?e.onChange(a,t):null!=e.node?r(0,e.node.nodeId,e.fieldName,a):console.log("FloatParamGridRows: no change listener")}}var m=1e3;var B=((null!==l&&void 0!==l?l:C)-e.sliderMin)/(e.sliderMax-e.sliderMin),Q="".concat(C).concat(null!==(a=e.unit)&&void 0!==a?a:""),y=null==e.sliderMax?e.sliderMax:Object(he.sprintf)("%.0".concat(e.roundToPlaces,"f"),e.sliderMax)+(null!==(i=e.unit)&&void 0!==i?i:"");return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)("div",{className:"NodeParamLabel".concat(d?" IsExpanded":""),onClick:function(){return p(!d)},children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),e.label]}),Object(K.jsxs)("div",{className:"NodeParamValue".concat(d?" IsExpanded":""),children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),Object(K.jsx)(Ao,{value:Q,onFocus:function(){return p(!0)},applyChange:function(e){var n=Number.parseFloat(e);Number.isFinite(n)&&E(n,!0)},sizerText:y})]}),d&&Object(K.jsxs)("div",{className:"PulloutDrawer IsExpanded",children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),null!=e.sliderMin&&null!=e.sliderMax&&Object(K.jsx)("input",{className:"FloatParamSlider",type:"range",min:0,max:m,value:B*m,onMouseDown:function(e){},onMouseUp:function(n){var t,a,i,r=n.target.value/m,o=e.sliderMin+(e.sliderMax-e.sliderMin)*r;o=Math.max(o,null!==(t=e.sliderMin)&&void 0!==t?t:1e-20),E(Pe(o=Math.min(o,null!==(a=e.sliderMax)&&void 0!==a?a:1e20),null!==(i=e.sliderRoundToPlaces)&&void 0!==i?i:e.roundToPlaces),!0),A(void 0)},onChange:function(n){var t,a,i,r=n.target.value/m,o=e.sliderMin+(e.sliderMax-e.sliderMin)*r;o=Math.max(o,null!==(t=e.sliderMin)&&void 0!==t?t:-1e20);var s=Pe(o=Math.min(o,null!==(a=e.sliderMax)&&void 0!==a?a:1e20),null!==(i=e.sliderRoundToPlaces)&&void 0!==i?i:e.roundToPlaces);E(s,!1),A(s)}})]})]})}function uo(e){var n,t,a=Object(Ie.d)(Qr).applyCurlyParamChange,i=Object(u.useState)(void 0),r=Object(h.a)(i,2),o=r[0],s=r[1],l=Object(u.useState)(void 0),A=Object(h.a)(l,2),g=A[0],c=A[1],d=zr(e.node,e.fieldName),p=zr(e.node,"".concat(e.fieldName,"Kappa")),f=null!==(n=e.widgetScale)&&void 0!==n?n:1,I=Pe(d*f,e.roundToPlaces),C=Pe(p,1);function E(n,t){if(Number.isFinite(n)){var i=Pe(n,e.roundToPlaces)/f;a(0,e.node.nodeId,e.fieldName,i)}}function m(n,t){if(Number.isFinite(n)){var i=Pe(n,1);a(0,e.node.nodeId,"".concat(e.fieldName,"Kappa"),i)}}var B=1e3;var Q,y=void 0!==o,b="".concat(I).concat(null!==(t=e.unit)&&void 0!==t?t:""),_="".concat(C,"%");return"kappa"===o?(null!==g&&void 0!==g?g:C,Q=C/100):Q=((null!==g&&void 0!==g?g:I)-e.sliderMin)/(e.sliderMax-e.sliderMin),Object(K.jsxs)(K.Fragment,{children:[Object(K.jsxs)("div",{className:"NodeParamLabel".concat(y?" IsExpanded":""),onClick:function(e){s(void 0!==o?void 0:"value")},children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),e.label]}),Object(K.jsxs)("div",{className:"NodeParamValue".concat(y?" IsExpanded":""),children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),Object(K.jsxs)("div",{className:"DistributionValueKappaArranger",children:[Object(K.jsx)(Ao,{value:b,onFocus:function(){return s("value")},applyChange:function(e){var n=Number.parseFloat(e);Number.isFinite(n)&&E(n)}}),"\xb1",Object(K.jsx)(Ao,{value:_,onFocus:function(){return s("kappa")},applyChange:function(e){var n=Number.parseFloat(e);Number.isFinite(n)&&m(n)}})]})]}),y&&Object(K.jsxs)("div",{className:"PulloutDrawer IsExpanded",children:[Object(K.jsx)("div",{className:"ExpandedUnderlay"}),null!=e.sliderMin&&null!=e.sliderMax&&Object(K.jsx)("input",{className:"FloatParamSlider",type:"range",min:0,max:B,value:Q*B,onMouseUp:function(n){"kappa"===o?function(e){var n=e.target.value/B*100;m(Pe(n=Math.min(Math.max(n,0),100),1)),c(void 0)}(n):function(n){var t,a,i,r=n.target.value/B,o=e.sliderMin+(e.sliderMax-e.sliderMin)*r;o=Math.max(o,null!==(t=e.sliderMin)&&void 0!==t?t:-1e20),E(Pe(o=Math.min(o,null!==(a=e.sliderMax)&&void 0!==a?a:1e20),null!==(i=e.sliderRoundToPlaces)&&void 0!==i?i:e.roundToPlaces)),c(void 0)}(n)},onChange:function(n){"kappa"===o?function(e){var n=e.target.value/B*100,t=Pe(n=Math.min(Math.max(n,0),100),1);m(t),c(t)}(n):function(n){var t,a,i,r=n.target.value/B,o=e.sliderMin+(e.sliderMax-e.sliderMin)*r;o=Math.max(o,null!==(t=e.sliderMin)&&void 0!==t?t:-1e20);var s=Pe(o=Math.min(o,null!==(a=e.sliderMax)&&void 0!==a?a:1e20),null!==(i=e.sliderRoundToPlaces)&&void 0!==i?i:e.roundToPlaces);E(s),c(s)}(n)}})]})]})}function co(e){var n=Object(u.useState)(!1),t=Object(h.a)(n,2),a=t[0],i=t[1];if(null==e.node)return Object(K.jsx)("div",{className:"NodeParamsGrid"},0);if("tip"==e.node.nodeTag.toLowerCase()||"spark"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(uo,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(so,{node:e.node,fieldName:"startColor",label:"color-start",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(so,{node:e.node,fieldName:"endColor",label:"color-end",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(go,{node:e.node,fieldName:"startTemp",label:"temperature-start",unit:"K",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"endTemp",label:"temperature-end",unit:"K",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"intensity",label:"intensity",unit:"%",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"intensityCurve2",label:"intensity-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"intensityCurveLoopDuration",label:"intensity-curve-loop-duration",unit:"s",sliderMin:0,sliderMax:10,roundToPlaces:1})]},e.node.nodeId);if("light beam"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(so,{node:e.node,fieldName:"startColor",label:"color-start",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(so,{node:e.node,fieldName:"endColor",label:"color-end",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(go,{node:e.node,fieldName:"intensity",label:"intensity",unit:"%",sliderMin:0,sliderMax:10,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"intensityCurve2",label:"intensity-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"startAngleSpread",label:"angle-spread-start",unit:"\xb0",sliderMin:0,sliderMax:180,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"endAngleSpread",label:"angle-spread-end",unit:"\xb0",sliderMin:0,sliderMax:180,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"diameter",label:"diameter",unit:"m",sliderMin:0,sliderMax:500,roundToPlaces:3}),Object(K.jsx)(go,{node:e.node,fieldName:"coneHeight",label:"height",unit:"m",sliderMin:0,sliderMax:500,roundToPlaces:1})]},e.node.nodeId);if("smoke puff"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"startSize",label:"size-start",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"endSize",label:"size-end",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"sizeCurve2",label:"size-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"smokeDensity",label:"smoke-density",sliderMin:0,sliderMax:500,roundToPlaces:1})]},e.node.nodeId);if("flame puff"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"startSize",label:"size-start",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"endSize",label:"size-end",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"sizeCurve2",label:"size-curve"}),Object(K.jsx)(Xr,{node:e.node,fieldName:"tempCurve2",label:"temperature-curve"}),Object(K.jsx)(Xr,{node:e.node,fieldName:"alphaCurve2",label:"alpha-curve"})]},e.node.nodeId);if("smoke trail"==e.node.nodeTag.toLowerCase()&&null!=e.node.children&&null!=e.node.children[0]){var r=e.node.children[0];return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"trail caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitDuration",label:"trail particle-duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitWindFriction",label:"trail particle-wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitSpeed",label:"trail emit-speed",sliderMin:0,sliderMax:300,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitInheritVelocity",label:"trail emit-inherit-velocity",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"emitRate",label:"trail emit-rate",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"emitRateCurve2",label:"trail emit-rate-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitSpeedTaper",label:"trail emit-speed-taper",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"emitDiscDiameter",label:"trail emit-disc-diameter",unit:"mm",sliderMin:0,sliderMax:1e3,roundToPlaces:1}),Object(K.jsx)(Kr,{node:e.node,fieldName:"emitStyle",label:"trail emit-style"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitArg0",label:"trail emit-arg-0",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)("div",{className:"NodeParamLabel",children:"--"}),Object(K.jsx)("div",{className:"NodeParamValue"}),Object(K.jsx)(go,{node:r,fieldName:"caliber",label:"smoke puff caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(go,{node:r,fieldName:"startSize",label:"smoke puff size-start",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:r,fieldName:"endSize",label:"smoke puff size-end",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:r,fieldName:"sizeCurve2",label:"smoke puff size-curve"}),Object(K.jsx)(go,{node:r,fieldName:"smokeDensity",label:"smoke puff smoke-density",sliderMin:0,sliderMax:500,roundToPlaces:1})]},e.node.nodeId)}if("flame trail"==e.node.nodeTag.toLowerCase()&&null!=e.node.children&&null!=e.node.children[0]){var o=e.node.children[0];return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"trail caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitDuration",label:"trail particle-duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitWindFriction",label:"trail particle-wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitSpeed",label:"trail emit-speed",sliderMin:0,sliderMax:300,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitInheritVelocity",label:"trail emit-inherit-velocity",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"emitRate",label:"trail emit-rate",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"emitRateCurve2",label:"trail emit-rate-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitSpeedTaper",label:"trail emit-speed-taper",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"emitDiscDiameter",label:"trail emit-disc-diameter",unit:"mm",sliderMin:0,sliderMax:1e3,roundToPlaces:1}),Object(K.jsx)(Kr,{node:e.node,fieldName:"emitStyle",label:"trail emit-style"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitArg0",label:"trail emit-arg-0",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)("div",{className:"NodeParamLabel",children:"--"}),Object(K.jsx)("div",{className:"NodeParamValue"}),Object(K.jsx)(go,{node:o,fieldName:"caliber",label:"flame puff caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(go,{node:o,fieldName:"startSize",label:"flame puff size-start",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:o,fieldName:"endSize",label:"flame puff size-end",unit:"mm",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:o,fieldName:"sizeCurve2",label:"flame puff size-curve"}),Object(K.jsx)(Xr,{node:o,fieldName:"tempCurve2",label:"flame puff temperature-curve"}),Object(K.jsx)(Xr,{node:o,fieldName:"alphaCurve2",label:"flame puff alpha-curve"})]},e.node.nodeId)}if("trail"==e.node.nodeTag.toLowerCase()&&null!=e.node.children&&null!=e.node.children[0]){var s=e.node.children[0];return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"trail caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitDuration",label:"trail particle-duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitWindFriction",label:"trail particle-wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitSpeed",label:"trail emit-speed",sliderMin:0,sliderMax:300,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitInheritVelocity",label:"trail emit-inherit-velocity",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"emitRate",label:"trail emit-rate",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"emitRateCurve2",label:"trail emit-rate-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitSpeedTaper",label:"trail emit-speed-taper",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"emitDiscDiameter",label:"trail emit-disc-diameter",unit:"mm",sliderMin:0,sliderMax:1e3,roundToPlaces:1}),Object(K.jsx)(Kr,{node:e.node,fieldName:"emitStyle",label:"trail emit-style"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitArg0",label:"trail emit-arg-0",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)("div",{className:"NodeParamLabel",children:"--"}),Object(K.jsx)("div",{className:"NodeParamValue"}),Object(K.jsx)(uo,{node:s,fieldName:"caliber",label:"spark caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(so,{node:s,fieldName:"startColor",label:"spark color-start",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(so,{node:s,fieldName:"endColor",label:"spark color-end",isExpanded:a,setIsExpanded:i}),Object(K.jsx)(go,{node:s,fieldName:"startTemp",label:"spark temperature-start",unit:"K",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:s,fieldName:"endTemp",label:"spark temperature-end",unit:"K",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(go,{node:s,fieldName:"intensity",label:"spark intensity",unit:"%",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(Xr,{node:s,fieldName:"intensityCurve2",label:"spark intensity-curve"}),Object(K.jsx)(go,{node:s,fieldName:"intensityCurveLoopDuration",label:"spark intensity-curve-loop-duration",unit:"s",sliderMin:0,sliderMax:10,roundToPlaces:1})]},e.node.nodeId)}if(e.node.nodeTag.toLowerCase().endsWith("trail"))return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitDuration",label:"particle-duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitWindFriction",label:"particle-wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitSpeed",label:"emit-speed",sliderMin:0,sliderMax:300,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"emitInheritVelocity",label:"emit-inherit-velocity",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"emitRate",label:"emit-rate",sliderMin:0,sliderMax:5e3,roundToPlaces:1}),Object(K.jsx)(Xr,{node:e.node,fieldName:"emitRateCurve2",label:"emit-rate-curve"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitSpeedTaper",label:"emit-speed-taper",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"emitDiscDiameter",label:"emit-disc-diameter",unit:"mm",sliderMin:0,sliderMax:1e3,roundToPlaces:1}),Object(K.jsx)(Kr,{node:e.node,fieldName:"emitStyle",label:"emit-style"}),Object(K.jsx)(go,{node:e.node,fieldName:"emitArg0",label:"emit-arg-0",sliderMin:0,sliderMax:100,roundToPlaces:1})]},e.node.nodeId);if("phase"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"duration",label:"duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:3}),Object(K.jsx)(uo,{node:e.node,fieldName:"windFriction",label:"wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(Wr,{node:e.node,fieldName:"motionType",label:"motion-type"})]},e.node.nodeId);if("break"==e.node.nodeTag.toLowerCase())return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(uo,{node:e.node,fieldName:"prefire",label:"break-time",unit:"s",sliderMin:0,sliderMax:10,roundToPlaces:3}),Object(K.jsx)(uo,{node:e.node,fieldName:"width",label:"width",unit:"m",sliderMin:0,sliderMax:300,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"duration",label:"duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"windFriction",label:"wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"breakRaggedness",label:"break-raggedness",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"inheritVelocity",label:"inherit-velocity",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"randomGroupId",label:"random-group-id",sliderMin:0,sliderMax:100,roundToPlaces:0}),Object(K.jsx)(go,{node:e.node,fieldName:"starCount",label:"star-count",sliderMin:0,sliderMax:500,roundToPlaces:0}),Object(K.jsx)(ro,{node:e.node,fieldName:"breakPattern",label:"break-pattern"}),Object(K.jsx)(go,{node:e.node,fieldName:"heading",label:"heading",sliderMin:-180,sliderMax:180,unit:"\xb0",roundToPlaces:0}),Object(K.jsx)(go,{node:e.node,fieldName:"pitch",label:"pitch",sliderMin:-180,sliderMax:180,unit:"\xb0",roundToPlaces:0}),Object(K.jsx)(go,{node:e.node,fieldName:"roll",label:"roll",sliderMin:-180,sliderMax:180,unit:"\xb0",roundToPlaces:0}),Object(K.jsx)(oo,{node:e.node,fieldName:"randomizeBreakOrientation",label:"randomize-break-orientation"}),Object(K.jsx)(oo,{node:e.node,fieldName:"randomizeChildGravity",label:"randomize-child-gravity"}),Object(K.jsx)(go,{node:e.node,fieldName:"ghostArg",label:"ghost-arg",sliderMin:0,sliderMax:100,roundToPlaces:0}),Object(K.jsx)(go,{node:e.node,fieldName:"breakSmokeDensity",label:"break-smoke-density",sliderMin:0,sliderMax:5,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"breakSmokeSize",label:"break-smoke-size",sliderMin:0,sliderMax:5,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"worldFlashDuration",label:"break-flash-duration",unit:"s",sliderMin:0,sliderMax:1,roundToPlaces:3}),Object(K.jsx)(so,{node:e.node,fieldName:"breakFlashSparkColor",label:"break-flash-spark-color"}),Object(K.jsx)(go,{node:e.node,fieldName:"breakFlashSparkIntensity",label:"break-flash-spark-intensity",sliderMin:0,sliderMax:1,roundToPlaces:3}),Object(K.jsx)(go,{node:e.node,fieldName:"worldFlashIntensity",label:"world-flash-intensity",sliderMin:0,sliderMax:5,roundToPlaces:1})]},e.node.nodeId);if("launch"==e.node.nodeTag.toLowerCase()){var l={height:e.node.paramValues.height,heightKappa:e.node.paramValues.heightKappa,duration:e.node.paramValues.duration,durationKappa:e.node.paramValues.durationKappa,windFriction:e.node.paramValues.windFriction,windFrictionKappa:e.node.paramValues.windFrictionKappa};return Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(Yr,{node:e.node,fieldName:"shotCategory",label:"shot-category"}),Object(K.jsx)(no,Object(de.a)({label:"trajectory-graph"},l)),Object(K.jsx)(uo,{node:e.node,fieldName:"height",label:"height",unit:"m",sliderMin:0,sliderMax:300,roundToPlaces:1}),Object(K.jsx)(uo,{node:e.node,fieldName:"duration",label:"duration",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(uo,{node:e.node,fieldName:"windFriction",label:"wind-friction",unit:"%",sliderMin:0,sliderMax:100,roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"angleOffset",label:"angle-offset",sliderMin:-90,sliderMax:90,unit:"\xb0",roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"angleSpread",label:"angle-spread",sliderMin:0,sliderMax:180,unit:"\xb0",roundToPlaces:1}),Object(K.jsx)(go,{node:e.node,fieldName:"randomGroupId",label:"random-group-id",sliderMin:0,sliderMax:100,roundToPlaces:0})]},e.node.nodeId)}return"sound"==e.node.nodeTag.toLowerCase()?Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"caliber",label:"caliber",unit:"mm",sliderMin:0,sliderMax:500,roundToPlaces:1}),Object(K.jsx)(Jr,{node:e.node,fieldName:"soundType",label:"sound-type"}),Object(K.jsx)(Vr,{node:e.node,fieldName:"secondaryType",label:"sound-secondary-type"}),Object(K.jsx)(go,{node:e.node,fieldName:"delay",label:"delay",unit:"s",sliderMin:0,sliderMax:10,roundToPlaces:3}),Object(K.jsx)(go,{node:e.node,fieldName:"duration",label:"duration",unit:"s",sliderMin:0,sliderMax:10,roundToPlaces:3})]},e.node.nodeId):"effect"==e.node.nodeTag.toLowerCase()?Object(K.jsxs)("div",{className:"NodeParamsGrid",children:[Object(K.jsx)(go,{node:e.node,fieldName:"delayBeforeSimulation",label:"delay-before-simulation",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2}),Object(K.jsx)(go,{node:e.node,fieldName:"prefire",label:"prefire",unit:"s",sliderMin:0,sliderMax:30,roundToPlaces:2})]},e.node.nodeId):Object(K.jsx)("div",{className:"NodeParamsGrid"},e.node.nodeId)}var po=g.d.div.withConfig({displayName:"EffectEditor__EffectEditorContainerDiv",componentId:"sc-1r2ulur-1"})(["background-color:",';height:100%;overflow-y:clip;.DisplayNone{display:none;}.EffectEditorDiv{font-family:"Segoe UI";height:100%;background-color:',';display:grid;grid-template-columns:max-content auto max-content;grid-template-rows:auto max-content;grid-template-areas:"simview simview simview" "panel panel panel";.TreeViewGridCell{grid-area:simview-start / 1 / simview-end / 2;}.NodeEditPanelGridCell{grid-area:simview-start / 3 / simview-end / 4;}.AsyncTasksListGridCell{grid-area:simview;position:relative;}.FireworksSimulationView{grid-area:simview;}.BottomPanelsGridCell{grid-area:panel;}&.HalfLaptop1080{max-width:766px;max-height:796px;}&.Canvas1080p{max-width:1280px;max-height:832px;}&.Iphone12ProVertical{max-width:390px;max-height:844px;}&.Iphone12ProHorizontal{max-width:844px;max-height:390px;}&.IpadAirVertical{max-width:820px;max-height:1180px;}&.IpadAirHorizontal{max-width:1180px;max-height:820px;}&.IpadMiniVertical{max-width:768px;max-height:1024px;}&.IpadMiniHorizontal{max-width:1024px;max-height:768px;}}.EffectEditorDiv.RunMode_native{grid-template-rows:max-content auto;grid-template-areas:"panel panel panel" "simview simview simview";.EffectFieldsPanel{margin:8px 8px 0 8px;}}.AsyncTasksListGridCell{pointer-events:none;}.TreeViewGridCell,.NodeEditPanelGridCell{z-index:1;}.AsyncTasksListWidget{position:absolute;bottom:16px;left:16px;color:white;z-index:1;}.TreeViewGridCell{padding:8px 0 0 8px;overflow:hidden auto;}.NodeEditPanelGridCell{min-width:332px;padding:8px 8px 0 8px;background-color:',";overflow:hidden auto;}.NodeLineHolder{background-color:",";}.NodeParamsGrid,.GlobalParamsGrid{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto;font-size:13px;line-height:18px;.NodeParamLabel{white-space:pre;z-index:1;position:relative;cursor:pointer;color:",";user-select:none;display:inline-block;padding-right:4px;&:not(.IsExpanded):hover{background-color:",";}}.NodeParamValue{color:",";position:relative;.EditableTextParamSizer{display:block;padding:0 4px;input{padding:0 4px;}}}.PulloutDrawer{position:relative;grid-column:span 2;.FloatParamSlider{width:100%;position:relative;top:-2px;}margin-bottom:4px;}.NodeParamLabel > .LabelText{}.ExpandedUnderlay{position:absolute;top:0;bottom:0;z-index:-1;}.NodeParamLabel > .ExpandedUnderlay{left:-4px;right:0;}.NodeParamValue > .ExpandedUnderlay{left:0;right:-4px;}.PulloutDrawer > .ExpandedUnderlay{left:-4px;right:-4px;}.IsExpanded > .ExpandedUnderlay{background-color:",";}.DistributionValueKappaArranger{display:flex;}.CurvePlotHolder{}.CurveTextHolder{margin-top:4px;padding-left:1px;}.JsonTextHolder{margin-top:4px;padding-left:1px;}.CurvePlot{svg{display:inline-block;width:316px;height:158px;}}input,select{color:",";font-weight:",";background:unset;border:0;outline:none;&:not(:focus){cursor:pointer;}&:hover,&:focus{background-color:",';}}input[type="range"]{-webkit-appearance:none;padding:6px 0 4px;position:relative;height:12px;}input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;background-color:',';height:5px;width:5px;border-radius:4px;cursor:pointer;position:relative;top:-2px;}input[type="range"]::-webkit-slider-runnable-track{background-color:',";border:none;height:1px;}textarea{width:100%;overflow:hidden;padding:4px;height:64px;min-height:64px;font-size:14px;background-color:",";&.NotValid{background-color:",";}color:",";border:none;outline:1px solid ",";&:focus-visible{outline:1px solid ",";}&.NotValid:focus-visible{outline:1px solid ",";}&:disabled{cursor:default;background-color:",";color:",";}}.CheckboxHolder{input{position:relative;top:2px;right:-3px;}&:focus{background-color:",';}}.ColorSwatch{display:inline-block;width:8px;height:8px;border:1px solid black;border-radius:4px;position:absolute;top:6px;left:-6px;z-index:1;}.SatValCanvasHolder{position:relative;}.SatValCanvas{position:relative;width:100%;height:96px;}.SatValCircleHolder{position:absolute;z-index:1;pointer-events:none;}.SatValCircle{border:2px solid white;border-radius:50%;width:15px;height:15px;position:relative;left:-7.5px;top:-7.5px;}.HueSlider{width:100%;}input[type="range"].HueSlider::-webkit-slider-thumb{background:white;border:1px solid black;border-radius:50%;width:8px;height:8px;top:-3px;}input[type="range"].HueSlider::-webkit-slider-runnable-track{background:linear-gradient(to right,hsl(0,100%,50%),hsl(60,100%,50%),hsl(120,100%,50%),hsl(180,100%,50%),hsl(240,100%,50%),hsl(300,100%,50%),hsl(360,100%,50%));height:2px;}}.Custom2dBreakPatternGridRows .EditableTextParamSizer{min-width:112px;}.GridRow{user-select:none;line-height:0;white-space:nowrap;border-right:1px solid #aaa;}.GridCell{width:10px;height:10px;display:inline-block;border-top:1px solid #aaa;border-left:1px solid #aaa;position:relative;.ChildLetter{position:absolute;width:8px;height:8px;padding-top:4px;padding-left:1.5px;font-size:9px;color:',";}.HoverChild{display:none;}}.GridCell:hover .HoverChild{display:unset;}.GridRow:last-child{border-bottom:1px solid #aaa;}.GridHolder{display:flex;flex-direction:column;align-items:flex-start;}.Custom2dStarDot{display:inline-block;width:8.5px;position:relative;color:",';top:-3px;left:-0.5px;font-size:7px;}#ConfigPanel{position:absolute;padding:8px;background:white;font-size:11px;border:1px solid black;z-index:100;bottom:0;right:0;button{font-size:11px;height:unset;}input[type="checkbox"]{position:relative;top:3px;margin-left:2px;}.Fmt3Dict{font-size:11px;min-width:400px;height:16px;overflow:hidden;flex-grow:1;}}.VdlButtonsHolder{padding:8px 0 0 8px;button{margin:0 8px 8px 0;}}.MagnifierPanelHolder{display:inline-block;padding:8px 0 0 8px;}.GlobalParamsPanelHolder{display:inline-block;padding:8px 0 0 8px;}.MagnifierPanelDiv{z-index:90;font-size:9px;.PixelsWrapper{position:relative;background:black;canvas{image-rendering:pixelated;width:100%;height:100%;}}.Pixel{position:absolute;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;overflow:hidden;padding:0;.ElementText{position:relative;left:-1px;line-height:8px;color:white;opacity:0.5;font-family:Courier New;text-shadow:0px 0px 4px black,0px 0px 4px black,0px 0px 4px black,0px 0px 4px black,0px 0px 4px black,0px 0px 4px black,0px 0px 4px black,0px 0px 4px black;}}}.GridSvg{stroke-width:1;fill:none;.AxisLabel{fill:',";font-family:Arial;font-size:70%;}.AxisLine{stroke:",";}.PurpleThinSolid{stroke-width:0.5;stroke:",";}.GrayThinSolid{stroke-width:0.25;stroke:",";}.GrayDotsH,.GrayDotsV{stroke-width:0.5;stroke:",";stroke-dasharray:1 4;}.GrayDotsH{stroke-dashoffset:1.5;}.GrayDotsV{stroke-dashoffset:0.5;}.TickLine{stroke:",";}.CurveLine,.SecondaryCurveLine{stroke:",";stroke-linecap:round;circle{fill:",";}}.CurveLine{stroke-width:2;circle{r:1.5;}}.SecondaryCurveLine{stroke-width:0.6;opacity:0.3;circle{stroke-width:1;r:1;}}}"],(function(e){return yr[e.theme.effectEditorThemeName].containerBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].backgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].uiOverlayBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].uiOverlayBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamLabelColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeHoverBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamExpandedBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueFontWeight}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeHoverBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamSliderBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputInvalidBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputBorderColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputFocusBorderColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputFocusInvalidBorderColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].treeNodeHoverBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeDotColor}),(function(e){return yr[e.theme.effectEditorThemeName].graphAxisLabelFill}),(function(e){return yr[e.theme.effectEditorThemeName].graphAxisStroke}),(function(e){return yr[e.theme.effectEditorThemeName].graphPurpleStroke}),(function(e){return yr[e.theme.effectEditorThemeName].graphGrayStroke}),(function(e){return yr[e.theme.effectEditorThemeName].graphGrayStroke}),(function(e){return yr[e.theme.effectEditorThemeName].graphAxisStroke}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueColor}),(function(e){return yr[e.theme.effectEditorThemeName].nodeParamValueColor})),fo=g.d.div.withConfig({displayName:"EffectEditor__EffectFieldsPanelDiv",componentId:"sc-1r2ulur-2"})(["padding:8px;background-color:",";color:",';.Label{padding-right:8px;white-space:nowrap;font-size:13px;&.Vdl{padding-left:8px;}min-width:50px;}input[type="text"]{overflow:hidden;flex-grow:1;padding:8px 4px;height:32px;min-height:32px;font-size:14px;background-color:',";color:",";border:none;outline:none;&:focus-visible{outline:1px solid ",";}&:disabled{cursor:default;background-color:",";color:",";}}textarea{resize:vertical;overflow:hidden;flex-grow:1;padding:8px 4px;height:32px;min-height:32px;font-size:14px;background-color:",";color:",";border:none;outline:none;&:focus-visible{outline:1px solid ",";}&:disabled{cursor:default;background-color:",";color:",";}}"],(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputFocusBorderColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputTextColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelInputFocusBorderColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputBackgroundColor}),(function(e){return yr[e.theme.effectEditorThemeName].effectFieldsPanelOutputTextColor})),ho=g.d.div.withConfig({displayName:"EffectEditor__SaveCloseButtonDiv",componentId:"sc-1r2ulur-3"})(["color:white;border:4px solid white;border-radius:16px;width:28px;height:28px;cursor:pointer;text-align:center;box-shadow:0 0 6px black;margin-left:4px;position:relative;font-size:13px;> svg{position:relative;top:1px;}"]),Io=Object(g.d)(ho).withConfig({displayName:"EffectEditor___StyledSaveCloseButtonDiv2",componentId:"sc-1r2ulur-4"})(["background:#EA3237;&:active{background:#bc1318;}"]),Co=Object(g.d)(ho).withConfig({displayName:"EffectEditor___StyledSaveCloseButtonDiv",componentId:"sc-1r2ulur-5"})(["background:#8BBF56;&:active{background:#659137;}"]);function Eo(){var e=Object(Ie.d)(Qr).setConfigPanelValue,n=Object(Ie.e)(Qr),t=n.configPanelData,a=n.effectFormat2Text,i=n.effectFormat3Text,r=n.effectFormatDisneyText;return Object(K.jsxs)("div",{id:"ConfigPanel",children:[Object(K.jsxs)(ko,{children:[Object(K.jsxs)(wo,{children:[Object(K.jsx)("span",{className:"Label",children:"Theme:"}),Object(K.jsxs)("select",{value:t.themeName,onChange:function(n){return e("themeName",n.target.value)},children:[Object(K.jsx)("option",{value:"light",children:"light"}),Object(K.jsx)("option",{value:"dark",children:"dark"})]})]}),Object(K.jsxs)(Fo,{children:[Object(K.jsx)("span",{className:"Label",children:"Run Mode:"}),Object(K.jsxs)("select",{value:t.runMode,onChange:function(n){return e("runMode",n.target.value)},children:[Object(K.jsx)("option",{value:"native",children:"native"}),Object(K.jsx)("option",{value:"web",children:"web"})]})]}),Object(K.jsxs)(vo,{children:[Object(K.jsx)("span",{className:"Label",children:"Size Restriction:"}),Object(K.jsxs)("select",{value:t.sizeRestriction,onChange:function(n){return e("sizeRestriction",n.target.value)},children:[Object(K.jsx)("option",{value:"HalfLaptop1080",children:"HalfLaptop1080"}),Object(K.jsx)("option",{value:"Canvas1080p",children:"Canvas1080p"}),Object(K.jsx)("option",{value:"Iphone12ProVertical",children:"Iphone12ProVertical"}),Object(K.jsx)("option",{value:"Iphone12ProHorizontal",children:"Iphone12ProHorizontal"}),Object(K.jsx)("option",{value:"IpadAirVertical",children:"IpadAirVertical"}),Object(K.jsx)("option",{value:"IpadAirHorizontal",children:"IpadAirHorizontal"}),Object(K.jsx)("option",{value:"IpadMiniVertical",children:"IpadMiniVertical"}),Object(K.jsx)("option",{value:"IpadMiniHorizontal",children:"IpadMiniHorizontal"}),Object(K.jsx)("option",{value:"none",children:"none"})]})]})]}),Object(K.jsxs)(Do,{children:[Object(K.jsxs)(So,{children:[Object(K.jsx)("span",{className:"Label",children:"Tree rewriting:"}),Object(K.jsxs)("select",{value:t.treeRewriting,onChange:function(n){return e("treeRewriting",n.target.value)},children:[Object(K.jsx)("option",{value:"none",children:"none"}),Object(K.jsx)("option",{value:"v1",children:"v1"}),Object(K.jsx)("option",{value:"v2",children:"v2"})]})]}),Object(K.jsxs)("div",{children:[Object(K.jsx)("span",{className:"Label",children:"fmt3 dict:"}),Object(K.jsx)(xo,{children:Object(K.jsx)("textarea",{className:"Fmt3Dict",value:t.fmt3DictText,onChange:function(n){return e("fmt3DictText",n.target.value)}})})]}),Object(K.jsxs)(jo,{children:[Object(K.jsx)("span",{className:"Label",children:"fmt2 length:"}),Object(K.jsx)(To,{type:"text",readOnly:!0,value:a.length})]}),Object(K.jsxs)(Ro,{children:[Object(K.jsx)("span",{className:"Label",children:"fmt3 length:"}),Object(K.jsx)(Mo,{type:"text",readOnly:!0,value:i.length})]}),Object(K.jsxs)(No,{children:[Object(K.jsx)("span",{className:"Label",children:"fmtDisney length:"}),Object(K.jsx)(Po,{type:"text",readOnly:!0,value:r.length})]})]}),Object(K.jsx)(Oo,{children:Object(K.jsx)("div",{children:Object(K.jsxs)(Go,{children:[Object(K.jsx)("span",{className:"Label",children:"Render Size:"}),Object(K.jsx)("select",{value:t.renderSize,onChange:function(n){if("auto"==n.target.value)e("renderSize","auto");else{var t=Number.parseInt(n.target.value);e("renderSize",t)}},children:Array.from(Hr.entries()).map((function(e){var n=Object(h.a)(e,2),t=n[0];n[1];return Object(K.jsxs)("option",{value:t,children:[t,"p ",2160==t?"(4K)":"",4320==t?"(8K)":"",8640==t?"(16K)":""]},t)}))})]})})}),Object(K.jsx)(ir,{})]})}function mo(){var e=Object(Ce.a)().t,n=Object(Ie.d)(Qr),t=n.onKeyDownColumnField,a=n.onChangeColumnField,i=n.onFocusColumnField,r=n.onBlurColumnField,o=Object(Ie.e)(Qr),s=o.inputDescriptionText,l=o.topOutputText,A=o.showId;return Object(K.jsxs)(fo,{className:"EffectFieldsPanel",children:[Object(K.jsxs)(Lo,{children:[Object(K.jsx)("div",{className:"Label",children:e("Input")}),Object(K.jsx)("input",{type:"text",value:s,onKeyDownCapture:function(e){return t("inputDescription",e)},onChange:function(e){return a("inputDescription",e)},onFocus:function(e){return i("inputDescription",e)},onBlur:function(e){return r("inputDescription",e)}}),Object(K.jsx)(Co,{onClick:function(){null!=A&&v.a.invokeApi("effectEditorSaveAndClose",{showId:A},(function(e,n){if(n)throw n}))},children:Object(K.jsx)(y.a,{icon:Q.i})}),Object(K.jsx)(Io,{onClick:function(){null!=A&&v.a.invokeApi("effectEditorCancelAndClose",{showId:A},(function(e,n){if(n)throw n}))},children:Object(K.jsx)(y.a,{icon:Q.p})})]}),Object(K.jsxs)(Uo,{children:[Object(K.jsx)("div",{className:"Label",children:e("Output")}),Object(K.jsx)("input",{type:"text",value:l,disabled:!0})]})]})}function Bo(e){var n,t=Object(u.useContext)(g.a),a=Object(Ie.d)(Qr),i=a.initializeFromShowId,r=a.initializeFromPartFields,o=a.onUndo,s=a.onRedo,l=a.onNewClipboardText,A=(a.setConfigPanelValue,a.onChangeColumnField),c=Object(Ie.e)(Qr),d=c.nodeVdlInfos,p=c.selectedNodeId,C=c.configPanelData,E=c.effectRootNode,m=c.simulationVdl,B=c.vdlEffectCompiler,Q=Object(u.useState)(!1),y=Object(h.a)(Q,2),b=y[0],_=y[1],k=(Object(Ie.e)(Ma.a).tasks,Object(u.useState)(0)),w=Object(h.a)(k,2),F=w[0],v=w[1];t.effectEditorThemeName=C.themeName,Object(u.useEffect)((function(){console.log("effect editor initialize"),document.title="Effect Editor",null!=e.showId?i(e.showId,Lr.a,Ur):null!=e.partFields?r(e.partFields,Lr.a,Ur):(r({inputDescription:"red peony"},Lr.a,Ur),_(!0))}),[e.showId,e.partFields,Lr.a,Ur]),Object(u.useEffect)((function(){var e=void 0,n=setInterval((function(){(function(){return He.apply(this,arguments)})().then((function(n){n!=e&&l(e=n)}))}),500);return function(){clearInterval(n)}}),[]);var D=C.renderSize,S=Hr.get(D),x=ja.c.fromValues(S,D),j=null===d||void 0===d||null===(n=d.nodesById)||void 0===n?void 0:n.get(p),T="native"==C.runMode,R=function(e){var n=e.text;return Object(K.jsx)(W.a,{onClick:function(){A("inputDescription",{target:{value:n}})},children:n})},M="\n red peanut\n crossette\n shuttle\n shimmering\n twinkling\n glittering\n ".split(/\n+/g).map((function(e){return e.trim()})).filter((function(e){return 0!=e.length})),N='0.75" 2" 3"'.split(/\s+/g).map((function(e){return e.trim()})).filter((function(e){return 0!=e.length}));return Object(K.jsxs)(po,{tabIndex:0,onKeyDownCapture:function(e){90!=e.keyCode||!e.ctrlKey||e.altKey||e.metaKey||(e.stopPropagation(),e.preventDefault(),e.shiftKey?s():o()),112!=e.keyCode||!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey||(e.stopPropagation(),e.preventDefault(),_(!b)),b&&27==e.keyCode&&(e.stopPropagation(),e.preventDefault(),_(!b))},children:[b&&Object(K.jsx)(Eo,{}),Object(K.jsxs)("div",{className:"EffectEditorDiv ".concat(C.sizeRestriction," RunMode_").concat(C.runMode),children:[!T&&Object(K.jsx)(rr,{vdlEffectCompiler:B,vdl:m,renderSize:x,onMagRegionFloatsChanged:function(){!function(){var e=Object(I.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:v(F+1);case 1:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}}),Object(K.jsx)("div",{className:"TreeViewGridCell",children:Object(K.jsx)(xr,{effectRootNode:E})}),Object(K.jsx)("div",{className:"NodeEditPanelGridCell",children:Object(K.jsx)(co,{node:j})}),Object(K.jsx)("div",{className:"AsyncTasksListGridCell",children:Object(K.jsx)(Pa,{})}),Object(K.jsxs)("div",{className:"BottomPanelsGridCell",children:[Object(K.jsx)(mo,{}),!T&&Object(K.jsx)(er,{})]})]}),!T&&Object(K.jsxs)(K.Fragment,{children:[N.map((function(e,n){return Object(K.jsx)("div",{className:"VdlButtonsHolder",children:M.map((function(n,t){return Object(K.jsx)(R,{text:"".concat(e," ").concat(n)},t)}))},n)})),Object(K.jsxs)(zo,{children:[Object(K.jsx)("div",{className:"MagnifierPanelHolder",children:Object(K.jsx)(ar,{})}),Object(K.jsx)("div",{className:"GlobalParamsPanelHolder",children:Object(K.jsx)(nr,{})})]})]})]})}var Qo=Object(g.d)("select").withConfig({displayName:"EffectEditor___StyledSelect",componentId:"sc-1r2ulur-6"})(["max-width:100px;"]),yo=Object(g.d)("select").withConfig({displayName:"EffectEditor___StyledSelect2",componentId:"sc-1r2ulur-7"})(["max-width:96px"]),bo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv",componentId:"sc-1r2ulur-8"})(["grid-column:span 2;"]),_o=Object(g.d)("select").withConfig({displayName:"EffectEditor___StyledSelect3",componentId:"sc-1r2ulur-9"})(["max-width:112px"]),ko=(Object(g.d)("input").withConfig({displayName:"EffectEditor___StyledInput",componentId:"sc-1r2ulur-10"})(["width:200px;margin-left:8px;"]),Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv2",componentId:"sc-1r2ulur-11"})(["background:#00008822;padding:8px;"])),wo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv3",componentId:"sc-1r2ulur-12"})(["display:inline-block"]),Fo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv4",componentId:"sc-1r2ulur-13"})(["display:inline-block;margin-left:8px;"]),vo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv5",componentId:"sc-1r2ulur-14"})(["display:inline-block;margin-left:8px;"]),Do=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv6",componentId:"sc-1r2ulur-15"})(["background:#00008822;padding:8px;margin-top:8px;"]),So=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv7",componentId:"sc-1r2ulur-16"})(["display:inline-block"]),xo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv8",componentId:"sc-1r2ulur-17"})(["display:inline-flex"]),jo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv9",componentId:"sc-1r2ulur-18"})(["display:inline-block"]),To=Object(g.d)("input").withConfig({displayName:"EffectEditor___StyledInput2",componentId:"sc-1r2ulur-19"})(["background:#ccc;border:1px solid black"]),Ro=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv10",componentId:"sc-1r2ulur-20"})(["display:inline-block"]),Mo=Object(g.d)("input").withConfig({displayName:"EffectEditor___StyledInput3",componentId:"sc-1r2ulur-21"})(["background:#ccc;border:1px solid black"]),No=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv11",componentId:"sc-1r2ulur-22"})(["display:inline-block"]),Po=Object(g.d)("input").withConfig({displayName:"EffectEditor___StyledInput4",componentId:"sc-1r2ulur-23"})(["background:#ccc;border:1px solid black"]),Oo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv12",componentId:"sc-1r2ulur-24"})(["background:#00008822;padding:8px;margin-top:8px;"]),Go=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv13",componentId:"sc-1r2ulur-25"})(["display:inline-block"]),Lo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv14",componentId:"sc-1r2ulur-26"})(["display:flex;align-items:baseline;margin-bottom:8px;"]),Uo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv15",componentId:"sc-1r2ulur-27"})(["display:flex;align-items:baseline;"]),zo=Object(g.d)("div").withConfig({displayName:"EffectEditor___StyledDiv16",componentId:"sc-1r2ulur-28"})(["display:inline-flex;"]),Ho=t(278),Yo=g.d.div.withConfig({displayName:"EmailAddressNeedsVerificationPage__EmailAddressNeedsVerificationCardDiv",componentId:"sc-158cpa3-0"})(["width:600px;height:450px;padding:1em;h2{font-size:1.5rem;margin-top:1em;margin-bottom:1em;}h3{font-size:1.2rem;text-align:center;}.pleaseVerifyBox{padding:1em;background:#bdf;border:1px solid #68f;p{margin:1em 3em;font-size:0.9em;text-align:center;}}.instructionsBox{margin-top:1em;font-size:0.8em;li{margin-bottom:1em;}}.emailAddress{color:blue;}span.emailAddress{color:blue;font-weight:bold;display:inline-block;}"]);function Wo(e){var n=Object(Ce.a)().t,t=Object(m.a)(S.n,{pollInterval:1e3,variables:{email:e.emailAddress}}).data;return Object(u.useEffect)((function(){if(t&&t.getEmailAddressHasBeenVerified){var e=function(){var e=Object(I.a)(f.a.mark((function e(){var n,t,a;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.getBrowserWindowCreateParams();case 2:return n=e.sent,t={url:"https://api.finale3d.com/v1/loginUser",method:"POST",headers:{"Content-Type":"application/json;charset=UTF-8"},data:{email_address:n.email,password:n.password}},e.next=6,Rt()(t);case 6:a=e.sent,console.log(JSON.stringify(["result",a])),v.a.closeBrowserWindowWithResult({emailAddressHasBeenVerified:!0});case 9:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}}),[t]),Object(K.jsxs)(Yo,{children:[Object(K.jsx)("h2",{children:n("PLEASE CHECK YOUR EMAIL")}),Object(K.jsxs)("div",{className:"pleaseVerifyBox",children:[Object(K.jsx)("h3",{className:"emailAddress",children:e.emailAddress}),Object(K.jsx)("p",{children:n("Check for an email from finale3d.com to complete setup.")}),Object(K.jsx)("p",{children:Object(K.jsx)(b.a,{size:"small"})}),Object(K.jsx)("h3",{children:n("Waiting for you to verify your email")+"..."})]}),Object(K.jsxs)("div",{className:"instructionsBox",children:[Object(K.jsxs)("p",{children:[n("If you have not received the verification email"),":"]}),Object(K.jsxs)("ol",{children:[Object(K.jsxs)("li",{children:[n("Verify that")," ",Object(K.jsx)("span",{className:"emailAddress",children:e.emailAddress})," ",n("is correct.")]}),Object(K.jsx)("li",{children:n("Check your spam folder for an email from finale3d.com.")}),Object(K.jsx)("li",{children:n("Wait a few minutes.")})]})]})]})}function Ko(){var e=Object(u.useState)(void 0),n=Object(h.a)(e,2),t=n[0],a=n[1];return Object(u.useEffect)((function(){var e=function(){var e=Object(I.a)(f.a.mark((function e(){var n;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!v.a.isRunningInFinale3d()){e.next=7;break}return e.next=3,v.a.getBrowserWindowCreateParams();case 3:n=e.sent,a(n.email),e.next=8;break;case 7:a("New_Email_1234@gmail.com");case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();e()}),[]),document.body.classList.add("FinaleDialog"),t?Object(K.jsx)(Wo,{emailAddress:t}):Object(K.jsx)(K.Fragment,{})}function Jo(e){return Object(K.jsx)("div",{children:"EmailServicePage"})}var Vo="data:image/png;base64,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",qo=g.d.div.withConfig({displayName:"LoginForm__LoginPageDiv",componentId:"sc-3qh2d1-0"})(["padding:2em;.LoginForm{margin-bottom:32px;max-width:320px;h2{margin-bottom:1em;}.form-label{color:#bbb;}::-webkit-input-placeholder{color:#bbb;}button{margin-top:16px;}}"]);function Xo(e){var n,t,a=Object(Ce.a)().t,i=Object(u.useState)(void 0),r=Object(h.a)(i,2),o=r[0],s=r[1],l=Object(u.useState)(""),A=Object(h.a)(l,2),g=A[0],c=A[1],d=Object(u.useState)(""),p=Object(h.a)(d,2),f=p[0],I=p[1],C=Object(u.useState)(!1),E=Object(h.a)(C,2),m=E[0],B=E[1];if(m)n=Object(K.jsxs)(W.a,{variant:"primary",disabled:!0,children:[Object(K.jsx)(Zo,{size:"small"}),a("Logging in")]});else{n=Object(K.jsx)(W.a,{variant:"primary",onClick:function(){s(null),B(!0),void 0!==e.attemptLogin&&e.attemptLogin(g,f).catch((function(e){console.log(e),setTimeout((function(){B(!1),s(e.toString())}),1e3)}))},children:"Login"})}return o&&(t=Object(K.jsx)(Kt.a,{variant:"danger",children:o})),Object(K.jsxs)(qo,{children:[Object(K.jsxs)("form",{className:"LoginForm",children:[Object(K.jsx)("h2",{children:"Login"}),Object(K.jsxs)("div",{children:[Object(K.jsx)("label",{children:"email address"}),Object(K.jsx)($o,{type:"email",placeholder:"email address",onChange:function(e){return c(e.target.value)},value:g})]}),Object(K.jsxs)(es,{children:[Object(K.jsx)("label",{children:"password"}),Object(K.jsx)(ns,{type:"password",placeholder:"password",onChange:function(e){return I(e.target.value)},value:f})]}),n]}),t]})}var Zo=Object(g.d)(b.a).withConfig({displayName:"LoginForm___StyledSpinner",componentId:"sc-3qh2d1-1"})(["margin-right:8px"]),$o=Object(g.d)("input").withConfig({displayName:"LoginForm___StyledInput",componentId:"sc-3qh2d1-2"})(["display:block;width:100%;padding:6px 12px;"]),es=Object(g.d)("div").withConfig({displayName:"LoginForm___StyledDiv",componentId:"sc-3qh2d1-3"})(["margin-top:12px"]),ns=Object(g.d)("input").withConfig({displayName:"LoginForm___StyledInput2",componentId:"sc-3qh2d1-4"})(["display:block;width:100%;padding:6px 12px;"]);function ts(e){var n=Object(te.a)(),t=e.location||"/";Object(u.useEffect)((function(){document.title="LoginPage"}));var a=Object(u.useState)(!1),i=Object(h.a)(a,2),r=i[0],o=i[1];if(r)return Object(K.jsx)(w.a,{to:t});return Object(K.jsx)(Xo,{attemptLogin:function(e,t){return n.mutate({mutation:S.c,variables:{email:e,password:t}}).then((function(e){var t=e.data.auth_token;return n.mutate({mutation:S.w,variables:{auth_token:t}})})).then((function(){setTimeout((function(){return o(!0)}))}))}})}var as=g.d.div.withConfig({displayName:"PromosPage__CreateAccountCardDiv",componentId:"sc-1ytq7ck-0"})(["h2{margin-top:1em;margin-bottom:1em;}button{display:inline-block;background-color:#5897d9;padding:0 1rem;margin-top:1em;border:0px;font-weight:bold;font-size:1.2rem;&:hover{background-color:#4c83be;}&:disabled{background-color:#888;}}.buttonHolder{text-align:right;}.alert{margin-top:1em;}"]);function is(){var e,n,t=Object(Ce.a)().t,a=Object(u.useState)(""),i=Object(h.a)(a,2),r=i[0],o=i[1],s=Object(u.useState)(""),l=Object(h.a)(s,2),A=l[0],g=l[1],c=Object(B.a)(S.d),d=Object(h.a)(c,2),p=d[0],C=d[1],E=C.called,m=C.loading,Q=C.data,y=C.error;if(E&&m)e=Object(K.jsxs)(W.a,{variant:"primary",disabled:!0,children:[Object(K.jsx)(b.a,{size:"small"}),t("Working...")]});else{var _=function(){var e=Object(I.a)(f.a.mark((function e(){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,p({variables:{emailAddress:r,promoId:A}});case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,null,[[0,5]])})));return function(){return e.apply(this,arguments)}}(),k=""==r||""==A;e=Object(K.jsx)(W.a,{variant:"primary",onClick:_,disabled:k,children:"Activate promo"})}if(y)if(y.message.startsWith("GraphQL error: ")){var w=y.message.substring(15);n=Object(K.jsxs)(U.a,{children:[w,w.includes("email address")&&Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("br",{}),"Download Finale 3D from ",Object(K.jsx)("a",{href:"https://finale3d.com/download",children:"https://finale3d.com/download"})," to create an account."]})]})}else n=Object(K.jsx)(U.a,{children:y.message});return Q?(console.log(Q),Object(K.jsx)(as,{children:Object(K.jsxs)(U.b,{children:["Thank you,",Object(K.jsx)("br",{}),"You have activated the ",Object(K.jsx)("span",{className:"PromoId",children:Q.createPromoLicense.promo.id})," promo.",Object(K.jsx)("br",{}),"You now have a ",Object(K.jsx)("span",{className:"ProductSku",children:Q.createPromoLicense.productSku})," license which will expire on ",Object(K.jsxs)("span",{className:"EndDate",children:[Q.createPromoLicense.endDate.substr(0,10),"."]})]})})):Object(K.jsxs)(as,{children:[Object(K.jsx)("h2",{children:"Finale 3D Promo Activation"}),Object(K.jsxs)("p",{children:["You will need a Finale 3D account before you can activate your promo.",Object(K.jsx)("br",{}),"Download Finale 3D from ",Object(K.jsx)("a",{href:"https://finale3d.com/download",children:"https://finale3d.com/download"})," to create an account."]}),Object(K.jsxs)("form",{className:"ActivatePromoForm",children:[Object(K.jsxs)(os,{children:[Object(K.jsx)("label",{children:"Email address"}),Object(K.jsx)(ss,{onChange:function(e){return o(e.target.value)},value:r})]}),Object(K.jsxs)(ls,{children:[Object(K.jsx)("label",{children:"Promo code"}),Object(K.jsx)(As,{onChange:function(e){return g(e.target.value)},value:A})]}),Object(K.jsx)("div",{className:"buttonHolder",children:e})]}),n]})}function rs(){return Object(K.jsxs)(js,{children:[Object(K.jsx)("div",{className:"TopNav",children:Object(K.jsx)("div",{className:"AppIconHolder",children:Object(K.jsx)("img",{className:"FinaleLogo",src:Vo})})}),Object(K.jsx)(gs,{children:Object(K.jsx)(is,{})})]})}var os=Object(g.d)("div").withConfig({displayName:"PromosPage___StyledDiv",componentId:"sc-1ytq7ck-1"})(["margin-top:12px"]),ss=Object(g.d)("input").withConfig({displayName:"PromosPage___StyledInput",componentId:"sc-1ytq7ck-2"})(["display:block;width:100%;padding:6px 12px;"]),ls=Object(g.d)("div").withConfig({displayName:"PromosPage___StyledDiv2",componentId:"sc-1ytq7ck-3"})(["margin-top:12px"]),As=Object(g.d)("input").withConfig({displayName:"PromosPage___StyledInput2",componentId:"sc-1ytq7ck-4"})(["display:block;width:100%;padding:6px 12px;"]),gs=Object(g.d)("div").withConfig({displayName:"PromosPage___StyledDiv3",componentId:"sc-1ytq7ck-5"})(["margin:0 auto;max-width:600px;"]),us=t(558),cs=t(147),ds=g.d.div.withConfig({displayName:"RequestLogsPage__RequestLogsPageDiv",componentId:"sc-lwn87v-0"})(["margin:0 16px 32px 16px;padding-top:16px;.QueryHash{font-family:monospace;margin-right:0.5rem;}.Cell.id{width:100px;}.Cell{&.timestamp{width:240px;}&.user{width:264px;}&.success{width:100px;}&.memoryUsed{width:100px;}&.responseLength{width:100px;}&.query{width:384px;}&.duration{width:100px;}}"]);function ps(){var e=Object(te.a)(),n=Object(w.g)(),t=Object(w.h)(),a=Object(u.useMemo)((function(){return[{key:"id",name:"Request",renderFn:function(e){var n=e.row;return Object(K.jsx)(F.b,{to:"/requestLogs/".concat(n.id),children:n.id.substr(0,8)})}},{key:"timestamp",name:"Timestamp",renderFn:function(e){var n=e.row;return Object(K.jsx)(K.Fragment,{children:H()(n.timestamp,"yyyy-mm-dd' 'HH:MM:ss Z")})},sortMapFn:function(e){return e.timestamp}},{key:"user",name:"User",renderFn:function(e){var n,t=e.row;return Object(K.jsx)(K.Fragment,{children:null===(n=t.user)||void 0===n?void 0:n.email})},filterArgFn:function(e){var n;return null===(n=e.user)||void 0===n?void 0:n.email}},{key:"success",name:"Success",renderFn:function(e){var n=e.row;return null==n.success?Object(K.jsx)(K.Fragment,{}):Object(K.jsx)(y.a,{icon:n.success?On.a:Q.k})},filterArgFn:function(e){return e.success?"1":"0"}},{key:"duration",name:"Duration",renderFn:function(e){var n=e.row;return Object(K.jsx)(K.Fragment,{children:Math.floor(n.duration)})}},{key:"memoryUsed",name:"Memory",renderFn:function(e){var n=e.row;return Object(K.jsx)(K.Fragment,{children:n.memoryUsed})}},{key:"responseLength",name:"Length",renderFn:function(e){var n=e.row;return Object(K.jsx)(K.Fragment,{children:n.responseLength})}},{key:"query",name:"Query",renderFn:function(e){var n=e.row;return null==n.queryHash?Object(K.jsx)(K.Fragment,{}):Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)("span",{className:"QueryHash",children:n.queryHash.substring(0,8)})," ",Object(K.jsx)("span",{children:Y.g[n.queryHash]})]})},filterArgFn:function(e){var n=Y.g[e.queryHash];return null!=n?n:e.queryHash}}]}),[]),i=Object(u.useMemo)((function(){return[{key:"user"},{key:"success"},{key:"query"}]}),[]),r=Object(u.useMemo)((function(){return function(){var n=Object(I.a)(f.a.mark((function n(t){var a,i;return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.query({query:S.k,fetchPolicy:Y.c,variables:{di:t}});case 2:return a=n.sent,i=a.data.getAllRequestLogs.requestLogs,n.abrupt("return",{dataRows:i});case 5:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}),[e]),o=Object(u.useMemo)((function(){return{columnInfos:a,filterKeyInfos:i,fetchDataFn:r}}),[a,r,i]),s=Object(u.useMemo)((function(){return{offset:0,limit:50,order:[{key:"timestamp",reverse:!0}],filterItems:[{key:"user",fn:"is_not_null",arg:""}]}}),[]);return t.di&&(s=JSON.parse(decodeURIComponent(t.di))),Object(K.jsx)("div",{className:"RequestLogsTable",children:Object(K.jsx)(cs.a,{dataTableConfig:o,dataTableInput:s,onChange:function(e){var t="/requestLogs/".concat(encodeURIComponent(JSON.stringify(e)));n.push(t)}})})}function fs(){return Object(K.jsxs)(ds,{children:[Object(K.jsxs)(x.a,{children:[Object(K.jsx)(F.b,{to:"/",children:"corp.finale3d.com"}),Object(K.jsx)(F.b,{to:"/requestLogs",children:"requestLogs"})]}),Object(K.jsx)(ps,{})]})}var hs=t(273),Is=t(562),Cs=g.d.div.withConfig({displayName:"ConfirmationDialog__DialogHolderDiv",componentId:"sc-1us7i6d-0"})([""]),Es=g.d.div.withConfig({displayName:"ConfirmationDialog__DialogBodyDiv",componentId:"sc-1us7i6d-1"})(["margin:16px;"]),ms=g.d.div.withConfig({displayName:"ConfirmationDialog__DialogButtonsDiv",componentId:"sc-1us7i6d-2"})(["margin:16px;display:flex;justify-content:flex-end;button{margin-left:16px;}"]);function Bs(e){var n,t,a,i,r,o=null!==(n=e.returnFocusRef)&&void 0!==n?n:c.a.useRef(null);function s(){null!=e.onDismiss&&e.onDismiss()}function l(){return(l=Object(I.a)(f.a.mark((function n(){var t,a;return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:null!=e.onDismiss&&e.onDismiss(),null!=(null===(t=e.state)||void 0===t?void 0:t.onProceed)&&(null===(a=e.state)||void 0===a||a.onProceed());case 2:case"end":return n.stop()}}),n)})))).apply(this,arguments)}return Object(K.jsx)(Cs,{children:Object(K.jsxs)(jt.a,{returnFocusRef:o,isOpen:null!=e.state,onDismiss:s,"aria-labelledby":"header-id",children:[Object(K.jsx)(jt.a.Header,{id:"header-id",children:null===(t=e.state)||void 0===t?void 0:t.title}),Object(K.jsx)(Es,{className:"DialogBody",children:null===(a=e.state)||void 0===a?void 0:a.message}),Object(K.jsxs)(ms,{className:"DialogButtons",children:[Object(K.jsx)(Is.a,{variant:"primary",onClick:s,children:"Cancel"}),Object(K.jsx)(Is.a,{variant:"danger",tabIndex:1,autoFocus:!0,onClick:function(){return l.apply(this,arguments)},children:null!==(i=null===(r=e.state)||void 0===r?void 0:r.proceedButtonText)&&void 0!==i?i:"Proceed"})]})]})})}var Qs=g.d.div.withConfig({displayName:"ExpandableCard__ExpandableCardDiv",componentId:"sc-16cr14u-0"})(["border:1px solid black;font-size:14px;.TitleBar{background:#cfc;display:flex;align-items:baseline;}.BodyHolder{padding:8px;}.TitleAndExpander{padding:4px 8px;display:inline-block;cursor:pointer;.Expander{display:inline-block;min-width:10px;position:relative;&.IsExpanded{top:1px;}}.Title{display:inline-block;font-weight:bold;}}.TitleBarExtraHolder{flex-grow:1;display:inline-block;height:20px;margin-right:8px;}"]);function ys(e){var n=Object(u.useState)(!e.defaultCollapsed),t=Object(h.a)(n,2),a=t[0],i=t[1];return Object(K.jsxs)(Qs,{className:"ExpandableCard",children:[Object(K.jsxs)("div",{className:"TitleBar",children:[Object(K.jsxs)("div",{className:"TitleAndExpander",onClick:function(){i(!a)},children:[Object(K.jsxs)("div",{className:["Expander",a?"IsExpanded":"NotExpanded"].join(" "),children:[a&&Object(K.jsx)(y.a,{icon:Q.a}),!a&&Object(K.jsx)(y.a,{icon:Q.c})]}),Object(K.jsx)("div",{className:"Title",children:e.title})]}),Object(K.jsx)("div",{className:"TitleBarExtraHolder",children:e.titleBarExtra})]}),a&&Object(K.jsx)("div",{className:"BodyHolder",children:Object(K.jsx)("div",{className:"Body",children:e.children})})]})}var bs=g.d.div.withConfig({displayName:"UserPage__UserPageDiv",componentId:"sc-1tb9227-0"})(["margin:0 16px 32px 16px;.BreadCrumbTrail{margin-top:16px;}.ExpandableCard{margin-top:16px;}.UserInfo{.Label{font-weight:bold;text-align:right;padding-right:8px;&:not(:first-child){padding-left:16px;}}.email,.userId,.tags,.userTriggeredEventNames{font-family:Consolas;}}.NonEddLicensesTable{.BodyRow .Cell.id{font-family:Consolas;}.Cell.delete{max-width:80px;svg{cursor:pointer;&:hover{color:red;}}}}"]);function _s(e){var n,t,a,i,r,o=Object(u.useMemo)((function(){return[{key:"id",name:"License",renderFn:function(e){return e.row.id.substr(0,8)}},{key:"productSku",name:"Product SKU",renderFn:function(e){return e.row.productSku}},{key:"promoId",name:"Promo ID",renderFn:function(e){var n,t;return null!==(n=null===(t=e.row.promo)||void 0===t?void 0:t.id)&&void 0!==n?n:""}},{key:"startDate",name:"Start Date",renderFn:function(e){return e.row.startDate}},{key:"endDate",name:"End Date",renderFn:function(e){return e.row.endDate}},{key:"delete",name:"Delete",renderFn:function(n){var t=n.row,a=Object(te.a)(),i=Object(u.useState)(!1),r=(Object(h.a)(i,1)[0],c.a.useRef(null)),o=Object(u.useState)(null),s=Object(h.a)(o,2),l=s[0],A=s[1];return Object(K.jsxs)(K.Fragment,{children:[Object(K.jsx)(Bs,{state:l,onDismiss:function(){return A(null)}}),Object(K.jsx)("span",{ref:r,children:Object(K.jsx)(y.a,{icon:Q.q,onClick:function(){A({title:"Delete",message:"Are you sure you want to delete this License?",proceedButtonText:"Delete",onProceed:function(){var n=Object(I.a)(f.a.mark((function n(){var i;return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,a.mutate({mutation:hs.a,variables:{id:t.id},refetchQueries:[{query:S.t,variables:{id:null===(i=e.user)||void 0===i?void 0:i.id}}]});case 2:n.sent;case 3:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}()})}})})]})}}]}),[]),s=null!==(n=null===(t=e.user)||void 0===t||null===(a=t.nonEddLicenses)||void 0===a?void 0:a.length)&&void 0!==n?n:0,l=null!==(i=null===(r=e.user)||void 0===r?void 0:r.nonEddLicenses)&&void 0!==i?i:[],A=Object(u.useMemo)((function(){return function(){var e=Object(I.a)(f.a.mark((function e(n){return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{dataRows:l});case 1:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()}),[e.user]),g=Object(u.useMemo)((function(){return{columnInfos:o,fetchDataFn:A,showPaginationControls:!1}}),[o,A]),d=Object(u.useMemo)((function(){return{offset:0,limit:s}}),[]);return Object(K.jsxs)(ys,{title:"Non-EDD Licenses",children:[null==e.user&&Object(K.jsx)(b.a,{size:"small"}),null!=e.user&&Object(K.jsx)("div",{className:"NonEddLicensesTable",children:Object(K.jsx)(cs.a,{dataTableConfig:g,dataTableInput:d})})]})}function ks(){var e=Object(D.a)().match.params.userId,n=Object(m.a)(S.t,{fetchPolicy:Y.c,variables:{id:e}}),t=n.data,a=(n.error,null===t||void 0===t?void 0:t.getUserForId);return Object(K.jsx)(bs,{children:Object(K.jsxs)("div",{className:"UserPage",children:[Object(K.jsxs)(x.a,{children:[Object(K.jsx)(F.b,{to:"/",children:"corp.finale3d.com"}),Object(K.jsx)(F.b,{to:"/users",children:"user"}),Object(K.jsx)(F.b,{to:"/user/".concat(e),children:e})]}),Object(K.jsxs)(ys,{title:"User Info",children:[null==a&&Object(K.jsx)(b.a,{size:"small"}),a&&Object(K.jsx)("table",{className:"UserInfo",children:Object(K.jsxs)("tbody",{children:[Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"ID:"}),Object(K.jsx)("td",{colSpan:3,className:"UserId",children:a.id})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Email:"}),Object(K.jsx)("td",{colSpan:3,className:"Email",children:a.email})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"First Name:"}),Object(K.jsx)("td",{className:"firstName",children:a.firstName}),Object(K.jsx)("td",{className:"Label",children:"Last Name:"}),Object(K.jsx)("td",{className:"lastName",children:a.lastName})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Created At:"}),Object(K.jsx)("td",{className:"createdAt",children:a.createdAt}),Object(K.jsx)("td",{className:"Label",children:"Updated At:"}),Object(K.jsx)("td",{className:"updatedAt",children:a.updatedAt})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Last Login Client:"}),Object(K.jsx)("td",{className:"lastLoginClient",children:a.lastLoginClient}),Object(K.jsx)("td",{className:"Label",children:"Last Login Wordpress:"}),Object(K.jsx)("td",{className:"lastLoginWordpress",children:a.lastLoginWordpress})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Pyro Status Display Name:"}),Object(K.jsx)("td",{className:"pyroStatusDisplayName",children:a.pyroStatusDisplayName}),Object(K.jsx)("td",{className:"Label",children:"Pyro Points Balance:"}),Object(K.jsx)("td",{className:"pyroPointsBalance",children:a.pyroPointsBalance})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Pyro Points Earned This Year:"}),Object(K.jsx)("td",{className:"pyroPointsEarnedThisYear",children:a.pyroPointsEarnedThisYear}),Object(K.jsx)("td",{className:"Label",children:"Pyro Points Max Earned In A Year:"}),Object(K.jsx)("td",{className:"pyroPointsMaxEarnedInYear",children:a.pyroPointsMaxEarnedInYear})]}),Object(K.jsx)("tr",{children:Object(K.jsx)("td",{className:"Label",children:"\xa0"})}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"User Triggered Event Names:"}),Object(K.jsx)("td",{colSpan:3,className:"userTriggeredEventNames",children:a.userTriggeredEventNames.join(" ")})]}),Object(K.jsxs)("tr",{children:[Object(K.jsx)("td",{className:"Label",children:"Tags:"}),Object(K.jsx)("td",{colSpan:3,className:"tags",children:a.tags.join(" ")})]})]})})]}),a&&Object(K.jsx)(_s,{user:a})]})})}var ws=g.d.div.withConfig({displayName:"UsersPage__UsersPageDiv",componentId:"sc-1pn178q-0"})(["margin:0 16px 32px 16px;padding-top:16px;table{margin:1em 0;}h3{margin-top:1em;}.UsersTable{margin-top:1em;}.Cell{&.id{width:80px;}&.verified{width:80px;}&.firstName,&.lastName{width:160px;}&.createdAt,&.lastLoginWordpress,&.lastLoginClient{width:95px;}}.BodyRow .Cell.id{font-family:Consolas;}"]);function Fs(){var e=Object(te.a)(),n=Object(w.g)(),t=Object(w.h)(),a=Object(u.useMemo)((function(){return[{key:"id",name:"User",renderFn:function(e){var n=e.row;return Object(K.jsx)(F.b,{to:"/user/".concat(n.id),children:n.id.substr(0,8)})}},{key:"email",name:"Email",renderFn:function(e){var n=e.row;return Object(K.jsx)(F.b,{to:"/user/".concat(n.id),children:n.email})},sortMapFn:function(e){return e.email}},{key:"verified",name:"Verified",renderFn:function(e){var n=-1!=e.row.tags.indexOf("hasVerifiedEmail");return Object(K.jsx)(y.a,{icon:n?On.a:Q.k})},sortMapFn:function(e){return-1!=e.tags.indexOf("hasVerifiedEmail")},filterArgFn:function(e){return-1!=e.tags.indexOf("hasVerifiedEmail")?"1":"0"}},{key:"firstName",name:"First Name",renderFn:function(e){return e.row.firstName},sortMapFn:function(e){return e.firstName}},{key:"lastName",name:"Last Name",renderFn:function(e){return e.row.lastName},sortMapFn:function(e){return e.lastName}},{key:"createdAt",name:"Created",renderFn:function(e){var n=e.row;return n.createdAt&&H()(n.createdAt,"isoDate")},sortMapFn:function(e){return e.createdAt}},{key:"lastLoginWordpress",name:"Web Login",renderFn:function(e){var n=e.row;return n.lastLoginWordpress&&H()(n.lastLoginWordpress,"isoDate")},sortMapFn:function(e){return e.lastLoginWordpress}},{key:"lastLoginClient",name:"F3D Login",renderFn:function(e){var n=e.row;return n.lastLoginClient&&H()(n.lastLoginClient,"isoDate")},sortMapFn:function(e){return e.lastLoginClient}}]}),[]),i=Object(u.useMemo)((function(){return[{key:"email"},{key:"verified"},{key:"firstName"},{key:"lastName"}]}),[]),r=Object(u.useMemo)((function(){return function(){var n=Object(I.a)(f.a.mark((function n(t){var a,i;return f.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,e.query({query:S.l,fetchPolicy:Y.c,variables:{di:t}});case 2:return a=n.sent,i=a.data.getAllUsers.users,n.abrupt("return",{dataRows:i});case 5:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}),[e]),o=Object(u.useMemo)((function(){return{columnInfos:a,filterKeyInfos:i,fetchDataFn:r}}),[a,r,i]),s=Object(u.useMemo)((function(){return{offset:0,limit:50}}),[]);return t.di&&(s=JSON.parse(decodeURIComponent(t.di))),Object(K.jsx)("div",{className:"UsersTable",children:Object(K.jsx)(cs.a,{dataTableConfig:o,dataTableInput:s,onChange:function(e){var t="/users/".concat(encodeURIComponent(JSON.stringify(e)));n.push(t)}})})}function vs(){return Object(K.jsx)(ws,{children:Object(K.jsxs)("div",{className:"UsersPage",children:[Object(K.jsxs)(x.a,{children:[Object(K.jsx)(F.b,{to:"/",children:"corp.finale3d.com"}),Object(K.jsx)(F.b,{to:"/users",children:"users"})]}),Object(K.jsx)(Fs,{})]})})}function Ds(){var e=Object(D.a)(),n=Object(B.a)(S.y),t=Object(h.a)(n,2),a=t[0],i=t[1],r=i.called,o=(i.loading,i.data),s=i.error,l=Object(Ce.a)().t,A=e.match.params,g=A.emailAddress,u=A.verifyToken;return r||a({variables:{emailAddress:g,verifyToken:u}}),s?Object(K.jsx)(U.a,{children:s.message}):null==o?Object(K.jsx)(b.a,{size:"small"}):Object(K.jsxs)(U.b,{children:[l("Thank you, your email address has been verified. You can now login to the Finale 3D software or at")," ",Object(K.jsx)("a",{href:"https://finale3d.com/login/",children:"https://finale3d.com/login"})]})}function Ss(){return Object(K.jsxs)(js,{children:[Object(K.jsx)("div",{className:"TopNav",children:Object(K.jsx)("div",{className:"AppIconHolder",children:Object(K.jsx)("img",{className:"FinaleLogo",src:Vo})})}),Object(K.jsx)(xs,{children:Object(K.jsx)(Ds,{})})]})}var xs=Object(g.d)("div").withConfig({displayName:"VerifyEmailPage___StyledDiv",componentId:"sc-111docg-0"})(["margin:0 auto;max-width:600px;"]),js=g.d.div.withConfig({displayName:"App__AppShellDiv",componentId:"sc-1exs1x9-0"})(["padding:0;height:100%;.CorpPage{margin:0 16px 32px 16px;}.MainPage{padding-top:1rem;}.TopNav{background:#24292e;color:white;height:64px;padding:0;position:relative;a{color:white;&:hover{color:#bbb;}}.AppIconHolder{position:absolute;top:8px;left:16px;img.FinaleLogo{width:48px;height:48px;}}.UserIconHolder{position:absolute;top:8px;right:16px;}.UserIconHolder{text-align:right;svg{height:48px;width:48px;}}}"]),Ts=function(){function e(){Object(C.a)(this,e),this.type=void 0,this.type="backend"}return Object(E.a)(e,[{key:"init",value:function(e,n,t){}},{key:"read",value:function(e,n,t){if(console.log("read",e,n),"f3d"!=e||"translation"!=n)throw new Error("unexpencted");function a(){return(a=Object(I.a)(f.a.mark((function e(){var n,a,i,r,o,s,l,A;return f.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,v.a.invokeApi("getTranslationTable",null);case 2:for(n=e.sent,a={},i=0,r=Object.entries(n);i .CellWrapper > .Cell.rowId{color:#999;}"]),E=A.d.div.withConfig({displayName:"DataTable__EditFiltersDialogHolderDiv",componentId:"sc-1a8gt3k-1"})([".DialogBody{margin:16px;}.DialogButtons{margin:16px;display:flex;justify-content:flex-end;button{margin-left:16px;}}"]);function m(e){var n=Object(p.useState)(e.dataTableInput.filterItems||[]),t=Object(r.a)(n,2),o=t[0],s=t[1];return Object(I.jsx)(E,{children:Object(I.jsxs)(c.a,{isOpen:e.isOpen,onDismiss:e.onDismiss,"aria-labelledby":"header-id",children:[Object(I.jsx)(c.a.Header,{id:"header-id",children:"Filter"}),Object(I.jsxs)("div",{className:"DialogBody",children:[o.map((function(n,t){var r=!(-1!=["is_not_null","is_null"].indexOf(n.fn));return Object(I.jsxs)("div",{children:[Object(I.jsxs)("select",{value:n.key,onChange:function(e){var n=Object(i.a)(o);""==e.target.value?n.splice(t,1):n[t]=Object(a.a)(Object(a.a)({},n[t]),{},{key:e.target.value}),s(n)},children:[Object(I.jsx)("option",{}),(e.dataTableConfig.filterKeyInfos||[]).map((function(e,n){return Object(I.jsx)("option",{value:e.key,children:e.key},n)}))]}),Object(I.jsxs)("select",{value:n.fn,onChange:function(e){var n=Object(i.a)(o);n[t]=Object(a.a)(Object(a.a)({},n[t]),{},{fn:e.target.value}),s(n)},children:[Object(I.jsx)("option",{value:"is_not_null",children:"is_not_null"}),Object(I.jsx)("option",{value:"is_null",children:"is_null"}),Object(I.jsx)("option",{value:"==",children:"=="}),Object(I.jsx)("option",{value:"contains",children:"contains"})]}),r&&Object(I.jsx)("input",{value:n.arg,onChange:function(e){var n=Object(i.a)(o);n[t]=Object(a.a)(Object(a.a)({},n[t]),{},{arg:e.target.value}),s(n)}})]},t)})),Object(I.jsx)("div",{children:Object(I.jsxs)("select",{onChange:function(e){if(""!=e.target.value){var n=Object(i.a)(o);n.push({key:e.target.value,fn:"==",arg:""}),s(n)}},value:"",children:[Object(I.jsx)("option",{}),(e.dataTableConfig.filterKeyInfos||[]).map((function(e,n){return Object(I.jsx)("option",{value:e.key,children:e.key},n)}))]})})]}),Object(I.jsxs)("div",{className:"DialogButtons",children:[Object(I.jsx)(h.a,{className:"CancelButton",onClick:e.onDismiss,children:"Cancel"}),Object(I.jsx)(h.a,{className:"CancelButton",onClick:function(){e.fireDataTableInputChange(Object(a.a)(Object(a.a)({},e.dataTableInput),{},{offset:0,filterItems:o})),e.onDismiss&&e.onDismiss()},children:"Apply"})]})]})})}function B(e){var n=Object(p.useState)(!1),t=Object(r.a)(n,2),o=t[0],A=t[1],c=Object(p.useState)(null),h=Object(r.a)(c,2),E=h[0],B=h[1],Q=Object(p.useRef)(null),y=Object(p.useRef)(null);function b(n){e.onChange&&e.onChange(n)}function _(n){b(Object(a.a)(Object(a.a)({},e.dataTableInput),{},{order:n}))}Object(p.useEffect)((function(){function n(){return n=Object(l.a)(s.a.mark((function n(){var t,a;return s.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(e.dataTableConfig.fetchDataFn){n.next=2;break}return n.abrupt("return");case 2:return t={},y.current=t,Q.current=E||Q.current,B(null),n.next=8,e.dataTableConfig.fetchDataFn(e.dataTableInput);case 8:a=n.sent,t==y.current&&B(a);case 10:case"end":return n.stop()}}),n)}))),n.apply(this,arguments)}!function(){n.apply(this,arguments)}()}),[e.dataTableConfig.fetchDataFn,e.dataTableInput]);var k=E,w=E||Q.current;function F(){var n=e.dataTableInput.limit,t=Math.floor(e.dataTableInput.offset/n);function i(t){!function(n){b(Object(a.a)(Object(a.a)({},e.dataTableInput),{},{offset:n}))}(Math.max(0,t*n))}return Object(I.jsxs)("div",{className:"PageChooserWidget",children:[Object(I.jsx)("button",{className:"seekLeft",onClick:function(){return i(t-1)},children:Object(I.jsx)(u.a,{icon:g.b})}),Object(I.jsx)("div",{className:"PageButtonsHolder",children:Object(I.jsx)("button",{className:"curPage",onClick:function(){return i(t)},children:t+1})}),Object(I.jsx)("button",{className:"seekRight",onClick:function(){return i(t+1)},children:Object(I.jsx)(u.a,{icon:g.c})})]})}var v=[];(e.dataTableInput.filterItems||[]).map((function(e){-1!=["is_not_null","is_null"].indexOf(e.fn)?v.push("".concat(e.key," ").concat(e.fn)):v.push("".concat(e.key," ").concat(e.fn,' "').concat(e.arg,'"'))}));var D="Filter";0==v.length||(D=1==v.length?v[0]:v.map((function(e){return"(".concat(e,")")})).join(" AND "));var S=e.dataTableInput.limit;!1===e.dataTableConfig.showPaginationControls&&(S=((null===w||void 0===w?void 0:w.dataRows)||[]).length);var x=!1!==e.dataTableConfig.showPaginationControls||(e.dataTableConfig.filterKeyInfos||[]).length>0;return Object(I.jsxs)(C,{className:e.className,children:[Object(I.jsx)(m,{isOpen:o,onDismiss:function(){return A(!1)},dataTableConfig:e.dataTableConfig,dataTableInput:e.dataTableInput,fireDataTableInputChange:b}),x&&Object(I.jsxs)("div",{className:"PaginationControlsHolder Top",children:[!1!==e.dataTableConfig.showPaginationControls&&Object(I.jsx)(F,{}),(e.dataTableConfig.filterKeyInfos||[]).length>0&&Object(I.jsx)("button",{className:"FilterButton",onClick:function(){return A(!0)},children:D})]}),Object(I.jsxs)("div",{className:"RowsHolder",children:[!1!==e.dataTableConfig.showColumnHeaders&&Object(I.jsx)("div",{className:"HeaderRow",children:Object(I.jsxs)("div",{className:"CellWrapper",children:[!1!==e.dataTableConfig.showRowIdColumn&&Object(I.jsx)("div",{className:"Cell rowId",children:e.dataTableConfig.rowIdColumnName}),e.dataTableConfig.columnInfos.map((function(n,t){var a;e.dataTableInput.order&&e.dataTableInput.order[0]&&e.dataTableInput.order[0].key==n.key&&(a=e.dataTableInput.order[0].reverse);var i=["Cell",n.className||n.key];return null!=n.sortMapFn&&i.push("Sortable"),Object(I.jsxs)("div",{className:i.join(" "),onClick:function(){return function(n){if(null!=e.dataTableConfig.columnInfos[n].sortMapFn)if(e.dataTableInput.order&&e.dataTableInput.order[0]&&e.dataTableInput.order[0].key==e.dataTableConfig.columnInfos[n].key){var t=!e.dataTableInput.order[0].reverse;_([{key:e.dataTableInput.order[0].key,reverse:t}])}else _([{key:e.dataTableConfig.columnInfos[n].key,reverse:!1}])}(t)},children:[n.name||n.key,Object(I.jsx)("div",{className:"SortArrowHolder",children:void 0!==a&&Object(I.jsx)(u.a,{icon:a?g.h:g.f})})]},t)}))]})}),new Array(S).fill(0).map((function(n,t){var r=null==w?void 0:w.dataRows[t],o={className:"CellWrapper"};null!=e.dataTableConfig.onClickRow&&(o.onClick=function(){return e.dataTableConfig.onClickRow(r)},o.className="".concat(o.className," RowIsClickable")),null!=(null===r||void 0===r?void 0:r.className)&&(o.className="".concat(o.className," ").concat(r.className));var s=t+e.dataTableInput.offset;w&&void 0===w.dataRows[t]&&(s=void 0);var l=Object(I.jsxs)(I.Fragment,{children:[!1!==e.dataTableConfig.showRowIdColumn&&Object(I.jsx)("div",{className:"Cell rowId",children:"empty"!==e.dataTableConfig.showRowIdColumn&&s}),e.dataTableConfig.columnInfos.map((function(n,t){var o=n.renderFn||function(e){var t=e.row;return Object(I.jsx)(I.Fragment,{children:t[n.key]})},l=(e.dataTableConfig.filterKeyInfos||[]).some((function(e){return e.key==n.key})),A=["Cell",n.className||n.key];return l&&A.push("CellIsClickable"),Object(I.jsxs)("div",{className:A.join(" "),onClick:function(){if(l){var t=n.filterArgFn||function(e){return e[n.key]},o={key:n.key,fn:"==",arg:t(r,s)},A=Object(i.a)(e.dataTableInput.filterItems||[]);A.push(o),g=A,b(Object(a.a)(Object(a.a)({},e.dataTableInput),{},{filterItems:g}))}var g},children:[k&&r&&f.a.createElement(o,{row:r,rowId:s},null),!k&&null!=s&&0==t&&Object(I.jsx)(d.a,{size:"small"})]},t)}))]});return Object(I.jsx)("div",{className:"BodyRow",children:Object(I.jsx)("div",Object(a.a)(Object(a.a)({},o),{},{children:l}))},t)}))]}),x&&Object(I.jsx)("div",{className:"PaginationControlsHolder Bottom",children:!1!==e.dataTableConfig.showPaginationControls&&Object(I.jsx)(F,{})})]})}},149:function(e,n,t){"use strict";t.d(n,"a",(function(){return r}));var a=t(564),i=Object(a.a)("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_abcdefghijklmnopqrstuvwxyz",11);function r(){return i()}},15:function(e,n,t){"use strict";t.d(n,"a",(function(){return u}));var a,i=t(7),r=t(2),o=t.n(r),s=t(4),l=t(9),A=t(13),g=t(151);void 0===window.KLIB_event_bus_listeners_&&(window.KLIB_event_bus_listeners_=[],window.KLIB_websocket=void 0,window.KLIB_invoke_function_idx_=0,window.KLIB_invoke_function_callbacks_={});var u=function(){function e(){Object(l.a)(this,e)}return Object(A.a)(e,null,[{key:"isRunningInFinale3d",value:function(){return"undefined"!=typeof KLIB_EventBusFireEvent}},{key:"setAuthToken",value:function(e){console.log("setAuthToken ".concat(e)),a=e,localStorage.setItem("auth_token",e)}},{key:"getAuthToken",value:function(){return a||localStorage.getItem("auth_token")}},{key:"getWebSocket",value:function(){return window.KLIB_websocket||(window.KLIB_websocket=new WebSocket("ws://localhost:9002/"),window.KLIB_websocket.onopen=function(e){console.log("window.KLIB_websocket.onopen",e)}),window.KLIB_websocket}},{key:"getBrowserWindowCreateParams",value:function(){var e=Object(s.a)(o.a.mark((function e(){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.invokeApi("KLIB_GetBrowserWindowCreateParams",null);case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"closeBrowserWindowWithResult",value:function(){var e=Object(s.a)(o.a.mark((function e(n){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.invokeApi("KLIB_CloseBrowserWindow",n);case 2:case"end":return e.stop()}}),e,this)})));return function(n){return e.apply(this,arguments)}}()},{key:"recordSessionEvent",value:function(){var e=Object(s.a)(o.a.mark((function e(n){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.invokeApi("recordSessionEvent",n);case 2:case"end":return e.stop()}}),e,this)})));return function(n){return e.apply(this,arguments)}}()},{key:"recordUserEvent",value:function(){var e=Object(s.a)(o.a.mark((function e(n){return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.invokeApi("recordUserEvent",n);case 2:case"end":return e.stop()}}),e,this)})));return function(n){return e.apply(this,arguments)}}()},{key:"eventBusFireEvent",value:function(e,n){KLIB_EventBusFireEvent(e,g.a.stringify(n))}},{key:"handleEvent",value:function(e){for(var n=0;n":JSON.stringify(n);if("undefined"===typeof n)return"undefined";if(null===n)return"undefined";if("object"===typeof n){if(Array.isArray(n)){for(var t="[",a=0;a ",i+=e.stringify(n[r[o]]),i+="]";return i+="}"}if("function"===typeof n)return console.log("ignoring function value in UVAL.stringify"),JSON.stringify("#JSON-function");throw new Error("Unhandled value "+n)}}]),e}()},195:function(e,n){},20:function(e,n,t){var a=t(446),i=a,r=Function("return this")();i.exportSymbol("proto.Finale3dEffect.Break",null,r),i.exportSymbol("proto.Finale3dEffect.BreakPattern",null,r),i.exportSymbol("proto.Finale3dEffect.BreakPattern.ACase",null,r),i.exportSymbol("proto.Finale3dEffect.BreakPetal",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances.EffectInstance",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances.RenderBatches",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances.StarBatch",null,r),i.exportSymbol("proto.Finale3dEffect.CompiledEffectInstances.TrailBatch",null,r),i.exportSymbol("proto.Finale3dEffect.CurveSpec",null,r),i.exportSymbol("proto.Finale3dEffect.CurveSpec.ACase",null,r),i.exportSymbol("proto.Finale3dEffect.CurveVertexes",null,r),i.exportSymbol("proto.Finale3dEffect.CustomBreakPattern",null,r),i.exportSymbol("proto.Finale3dEffect.Dimensions",null,r),i.exportSymbol("proto.Finale3dEffect.Distribution",null,r),i.exportSymbol("proto.Finale3dEffect.Effect",null,r),i.exportSymbol("proto.Finale3dEffect.Effect.ShotInstanceSequence",null,r),i.exportSymbol("proto.Finale3dEffect.EffectCategory",null,r),i.exportSymbol("proto.Finale3dEffect.EffectInfo",null,r),i.exportSymbol("proto.Finale3dEffect.EffectInfo.VersionId",null,r),i.exportSymbol("proto.Finale3dEffect.Emitter",null,r),i.exportSymbol("proto.Finale3dEffect.Emitter.EmitStyle",null,r),i.exportSymbol("proto.Finale3dEffect.FlameVisual",null,r),i.exportSymbol("proto.Finale3dEffect.Launch",null,r),i.exportSymbol("proto.Finale3dEffect.LightBeamVisual",null,r),i.exportSymbol("proto.Finale3dEffect.MaybeFloat",null,r),i.exportSymbol("proto.Finale3dEffect.MotionType",null,r),i.exportSymbol("proto.Finale3dEffect.Point1d",null,r),i.exportSymbol("proto.Finale3dEffect.Point2d",null,r),i.exportSymbol("proto.Finale3dEffect.Point2ds",null,r),i.exportSymbol("proto.Finale3dEffect.Point3d",null,r),i.exportSymbol("proto.Finale3dEffect.Point3ds",null,r),i.exportSymbol("proto.Finale3dEffect.Point4d",null,r),i.exportSymbol("proto.Finale3dEffect.Point4ds",null,r),i.exportSymbol("proto.Finale3dEffect.PointLightVisual",null,r),i.exportSymbol("proto.Finale3dEffect.Shot",null,r),i.exportSymbol("proto.Finale3dEffect.SmokeVisual",null,r),i.exportSymbol("proto.Finale3dEffect.Sound",null,r),i.exportSymbol("proto.Finale3dEffect.Sound.SecondaryType",null,r),i.exportSymbol("proto.Finale3dEffect.Sound.SoundType",null,r),i.exportSymbol("proto.Finale3dEffect.SparkVisual",null,r),i.exportSymbol("proto.Finale3dEffect.StandardBreakPattern",null,r),i.exportSymbol("proto.Finale3dEffect.StandardBreakPattern.PatternName",null,r),i.exportSymbol("proto.Finale3dEffect.StandardCurve",null,r),i.exportSymbol("proto.Finale3dEffect.StarParticle",null,r),i.exportSymbol("proto.Finale3dEffect.StarPhase",null,r),i.exportSymbol("proto.Finale3dEffect.TrajectorySpec",null,r),i.exportSymbol("proto.Finale3dEffect.Visual",null,r),i.exportSymbol("proto.Finale3dEffect.Visual.ACase",null,r),proto.Finale3dEffect.MaybeFloat=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.MaybeFloat,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.MaybeFloat.displayName="proto.Finale3dEffect.MaybeFloat"),proto.Finale3dEffect.Point1d=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Point1d,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point1d.displayName="proto.Finale3dEffect.Point1d"),proto.Finale3dEffect.Point2d=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Point2d,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point2d.displayName="proto.Finale3dEffect.Point2d"),proto.Finale3dEffect.Point3d=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Point3d,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point3d.displayName="proto.Finale3dEffect.Point3d"),proto.Finale3dEffect.Point4d=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Point4d,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point4d.displayName="proto.Finale3dEffect.Point4d"),proto.Finale3dEffect.Point2ds=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Point2ds.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Point2ds,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point2ds.displayName="proto.Finale3dEffect.Point2ds"),proto.Finale3dEffect.Point3ds=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Point3ds.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Point3ds,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point3ds.displayName="proto.Finale3dEffect.Point3ds"),proto.Finale3dEffect.Point4ds=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Point4ds.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Point4ds,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Point4ds.displayName="proto.Finale3dEffect.Point4ds"),proto.Finale3dEffect.CurveVertexes=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.CurveVertexes.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.CurveVertexes,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CurveVertexes.displayName="proto.Finale3dEffect.CurveVertexes"),proto.Finale3dEffect.CurveSpec=function(e){a.Message.initialize(this,e,0,-1,null,proto.Finale3dEffect.CurveSpec.oneofGroups_)},i.inherits(proto.Finale3dEffect.CurveSpec,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CurveSpec.displayName="proto.Finale3dEffect.CurveSpec"),proto.Finale3dEffect.Distribution=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Distribution,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Distribution.displayName="proto.Finale3dEffect.Distribution"),proto.Finale3dEffect.Dimensions=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Dimensions,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Dimensions.displayName="proto.Finale3dEffect.Dimensions"),proto.Finale3dEffect.EffectInfo=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.EffectInfo,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.EffectInfo.displayName="proto.Finale3dEffect.EffectInfo"),proto.Finale3dEffect.Effect=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Effect.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Effect,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Effect.displayName="proto.Finale3dEffect.Effect"),proto.Finale3dEffect.Effect.ShotInstanceSequence=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Effect.ShotInstanceSequence,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Effect.ShotInstanceSequence.displayName="proto.Finale3dEffect.Effect.ShotInstanceSequence"),proto.Finale3dEffect.Shot=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Shot.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Shot,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Shot.displayName="proto.Finale3dEffect.Shot"),proto.Finale3dEffect.PointLightVisual=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.PointLightVisual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.PointLightVisual.displayName="proto.Finale3dEffect.PointLightVisual"),proto.Finale3dEffect.TrajectorySpec=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.TrajectorySpec,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.TrajectorySpec.displayName="proto.Finale3dEffect.TrajectorySpec"),proto.Finale3dEffect.Launch=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Launch.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Launch,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Launch.displayName="proto.Finale3dEffect.Launch"),proto.Finale3dEffect.Sound=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Sound,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Sound.displayName="proto.Finale3dEffect.Sound"),proto.Finale3dEffect.StarParticle=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.StarParticle.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.StarParticle,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.StarParticle.displayName="proto.Finale3dEffect.StarParticle"),proto.Finale3dEffect.StarPhase=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.StarPhase.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.StarPhase,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.StarPhase.displayName="proto.Finale3dEffect.StarPhase"),proto.Finale3dEffect.Visual=function(e){a.Message.initialize(this,e,0,-1,null,proto.Finale3dEffect.Visual.oneofGroups_)},i.inherits(proto.Finale3dEffect.Visual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Visual.displayName="proto.Finale3dEffect.Visual"),proto.Finale3dEffect.SparkVisual=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.SparkVisual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.SparkVisual.displayName="proto.Finale3dEffect.SparkVisual"),proto.Finale3dEffect.LightBeamVisual=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.LightBeamVisual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.LightBeamVisual.displayName="proto.Finale3dEffect.LightBeamVisual"),proto.Finale3dEffect.SmokeVisual=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.SmokeVisual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.SmokeVisual.displayName="proto.Finale3dEffect.SmokeVisual"),proto.Finale3dEffect.FlameVisual=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.FlameVisual,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.FlameVisual.displayName="proto.Finale3dEffect.FlameVisual"),proto.Finale3dEffect.StandardBreakPattern=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.StandardBreakPattern,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.StandardBreakPattern.displayName="proto.Finale3dEffect.StandardBreakPattern"),proto.Finale3dEffect.CustomBreakPattern=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.CustomBreakPattern.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.CustomBreakPattern,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CustomBreakPattern.displayName="proto.Finale3dEffect.CustomBreakPattern"),proto.Finale3dEffect.BreakPattern=function(e){a.Message.initialize(this,e,0,-1,null,proto.Finale3dEffect.BreakPattern.oneofGroups_)},i.inherits(proto.Finale3dEffect.BreakPattern,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.BreakPattern.displayName="proto.Finale3dEffect.BreakPattern"),proto.Finale3dEffect.Emitter=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.Emitter,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Emitter.displayName="proto.Finale3dEffect.Emitter"),proto.Finale3dEffect.Break=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.Break.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.Break,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.Break.displayName="proto.Finale3dEffect.Break"),proto.Finale3dEffect.BreakPetal=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.BreakPetal.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.BreakPetal,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.BreakPetal.displayName="proto.Finale3dEffect.BreakPetal"),proto.Finale3dEffect.CompiledEffectInstances=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.CompiledEffectInstances.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.displayName="proto.Finale3dEffect.CompiledEffectInstances"),proto.Finale3dEffect.CompiledEffectInstances.StarBatch=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances.StarBatch,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.StarBatch.displayName="proto.Finale3dEffect.CompiledEffectInstances.StarBatch"),proto.Finale3dEffect.CompiledEffectInstances.TrailBatch=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances.TrailBatch,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.displayName="proto.Finale3dEffect.CompiledEffectInstances.TrailBatch"),proto.Finale3dEffect.CompiledEffectInstances.RenderBatches=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances.RenderBatches,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.displayName="proto.Finale3dEffect.CompiledEffectInstances.RenderBatches"),proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.displayName="proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance"),proto.Finale3dEffect.CompiledEffectInstances.EffectInstance=function(e){a.Message.initialize(this,e,0,-1,proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.repeatedFields_,null)},i.inherits(proto.Finale3dEffect.CompiledEffectInstances.EffectInstance,a.Message),i.DEBUG&&!COMPILED&&(proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.displayName="proto.Finale3dEffect.CompiledEffectInstances.EffectInstance"),a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.MaybeFloat.prototype.toObject=function(e){return proto.Finale3dEffect.MaybeFloat.toObject(e,this)},proto.Finale3dEffect.MaybeFloat.toObject=function(e,n){var t={v:a.Message.getFloatingPointFieldWithDefault(n,1,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.MaybeFloat.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.MaybeFloat;return proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(1===n.getFieldNumber()){var t=n.readFloat();e.setV(t)}else n.skipField()}return e},proto.Finale3dEffect.MaybeFloat.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter=function(e,n){var t;0!==(t=e.getV())&&n.writeFloat(1,t)},proto.Finale3dEffect.MaybeFloat.prototype.getV=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.MaybeFloat.prototype.setV=function(e){return a.Message.setProto3FloatField(this,1,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point1d.prototype.toObject=function(e){return proto.Finale3dEffect.Point1d.toObject(e,this)},proto.Finale3dEffect.Point1d.toObject=function(e,n){var t={x:a.Message.getFloatingPointFieldWithDefault(n,1,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point1d.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point1d;return proto.Finale3dEffect.Point1d.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point1d.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(1===n.getFieldNumber()){var t=n.readFloat();e.setX(t)}else n.skipField()}return e},proto.Finale3dEffect.Point1d.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point1d.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point1d.serializeBinaryToWriter=function(e,n){var t;0!==(t=e.getX())&&n.writeFloat(1,t)},proto.Finale3dEffect.Point1d.prototype.getX=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Point1d.prototype.setX=function(e){return a.Message.setProto3FloatField(this,1,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point2d.prototype.toObject=function(e){return proto.Finale3dEffect.Point2d.toObject(e,this)},proto.Finale3dEffect.Point2d.toObject=function(e,n){var t={x:a.Message.getFloatingPointFieldWithDefault(n,1,0),y:a.Message.getFloatingPointFieldWithDefault(n,2,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point2d.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point2d;return proto.Finale3dEffect.Point2d.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point2d.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setX(t);break;case 2:t=n.readFloat();e.setY(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Point2d.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point2d.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point2d.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getX())&&n.writeFloat(1,t),0!==(t=e.getY())&&n.writeFloat(2,t)},proto.Finale3dEffect.Point2d.prototype.getX=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Point2d.prototype.setX=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Point2d.prototype.getY=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Point2d.prototype.setY=function(e){return a.Message.setProto3FloatField(this,2,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point3d.prototype.toObject=function(e){return proto.Finale3dEffect.Point3d.toObject(e,this)},proto.Finale3dEffect.Point3d.toObject=function(e,n){var t={x:a.Message.getFloatingPointFieldWithDefault(n,1,0),y:a.Message.getFloatingPointFieldWithDefault(n,2,0),z:a.Message.getFloatingPointFieldWithDefault(n,3,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point3d.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point3d;return proto.Finale3dEffect.Point3d.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point3d.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setX(t);break;case 2:t=n.readFloat();e.setY(t);break;case 3:t=n.readFloat();e.setZ(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Point3d.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point3d.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point3d.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getX())&&n.writeFloat(1,t),0!==(t=e.getY())&&n.writeFloat(2,t),0!==(t=e.getZ())&&n.writeFloat(3,t)},proto.Finale3dEffect.Point3d.prototype.getX=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Point3d.prototype.setX=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Point3d.prototype.getY=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Point3d.prototype.setY=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Point3d.prototype.getZ=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Point3d.prototype.setZ=function(e){return a.Message.setProto3FloatField(this,3,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point4d.prototype.toObject=function(e){return proto.Finale3dEffect.Point4d.toObject(e,this)},proto.Finale3dEffect.Point4d.toObject=function(e,n){var t={x:a.Message.getFloatingPointFieldWithDefault(n,1,0),y:a.Message.getFloatingPointFieldWithDefault(n,2,0),z:a.Message.getFloatingPointFieldWithDefault(n,3,0),w:a.Message.getFloatingPointFieldWithDefault(n,4,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point4d.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point4d;return proto.Finale3dEffect.Point4d.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point4d.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setX(t);break;case 2:t=n.readFloat();e.setY(t);break;case 3:t=n.readFloat();e.setZ(t);break;case 4:t=n.readFloat();e.setW(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Point4d.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point4d.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point4d.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getX())&&n.writeFloat(1,t),0!==(t=e.getY())&&n.writeFloat(2,t),0!==(t=e.getZ())&&n.writeFloat(3,t),0!==(t=e.getW())&&n.writeFloat(4,t)},proto.Finale3dEffect.Point4d.prototype.getX=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Point4d.prototype.setX=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Point4d.prototype.getY=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Point4d.prototype.setY=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Point4d.prototype.getZ=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Point4d.prototype.setZ=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Point4d.prototype.getW=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.Point4d.prototype.setW=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.Point2ds.repeatedFields_=[1],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point2ds.prototype.toObject=function(e){return proto.Finale3dEffect.Point2ds.toObject(e,this)},proto.Finale3dEffect.Point2ds.toObject=function(e,n){var t={pointsList:a.Message.toObjectList(n.getPointsList(),proto.Finale3dEffect.Point2d.toObject,e)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point2ds.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point2ds;return proto.Finale3dEffect.Point2ds.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point2ds.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(1===n.getFieldNumber()){var t=new proto.Finale3dEffect.Point2d;n.readMessage(t,proto.Finale3dEffect.Point2d.deserializeBinaryFromReader),e.addPoints(t)}else n.skipField()}return e},proto.Finale3dEffect.Point2ds.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point2ds.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point2ds.serializeBinaryToWriter=function(e,n){var t;(t=e.getPointsList()).length>0&&n.writeRepeatedMessage(1,t,proto.Finale3dEffect.Point2d.serializeBinaryToWriter)},proto.Finale3dEffect.Point2ds.prototype.getPointsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Point2d,1)},proto.Finale3dEffect.Point2ds.prototype.setPointsList=function(e){return a.Message.setRepeatedWrapperField(this,1,e)},proto.Finale3dEffect.Point2ds.prototype.addPoints=function(e,n){return a.Message.addToRepeatedWrapperField(this,1,e,proto.Finale3dEffect.Point2d,n)},proto.Finale3dEffect.Point2ds.prototype.clearPointsList=function(){return this.setPointsList([])},proto.Finale3dEffect.Point3ds.repeatedFields_=[1],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point3ds.prototype.toObject=function(e){return proto.Finale3dEffect.Point3ds.toObject(e,this)},proto.Finale3dEffect.Point3ds.toObject=function(e,n){var t={pointsList:a.Message.toObjectList(n.getPointsList(),proto.Finale3dEffect.Point3d.toObject,e)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point3ds.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point3ds;return proto.Finale3dEffect.Point3ds.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point3ds.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(1===n.getFieldNumber()){var t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.addPoints(t)}else n.skipField()}return e},proto.Finale3dEffect.Point3ds.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point3ds.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point3ds.serializeBinaryToWriter=function(e,n){var t;(t=e.getPointsList()).length>0&&n.writeRepeatedMessage(1,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter)},proto.Finale3dEffect.Point3ds.prototype.getPointsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Point3d,1)},proto.Finale3dEffect.Point3ds.prototype.setPointsList=function(e){return a.Message.setRepeatedWrapperField(this,1,e)},proto.Finale3dEffect.Point3ds.prototype.addPoints=function(e,n){return a.Message.addToRepeatedWrapperField(this,1,e,proto.Finale3dEffect.Point3d,n)},proto.Finale3dEffect.Point3ds.prototype.clearPointsList=function(){return this.setPointsList([])},proto.Finale3dEffect.Point4ds.repeatedFields_=[1],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Point4ds.prototype.toObject=function(e){return proto.Finale3dEffect.Point4ds.toObject(e,this)},proto.Finale3dEffect.Point4ds.toObject=function(e,n){var t={pointsList:a.Message.toObjectList(n.getPointsList(),proto.Finale3dEffect.Point4d.toObject,e)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Point4ds.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Point4ds;return proto.Finale3dEffect.Point4ds.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Point4ds.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(1===n.getFieldNumber()){var t=new proto.Finale3dEffect.Point4d;n.readMessage(t,proto.Finale3dEffect.Point4d.deserializeBinaryFromReader),e.addPoints(t)}else n.skipField()}return e},proto.Finale3dEffect.Point4ds.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Point4ds.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Point4ds.serializeBinaryToWriter=function(e,n){var t;(t=e.getPointsList()).length>0&&n.writeRepeatedMessage(1,t,proto.Finale3dEffect.Point4d.serializeBinaryToWriter)},proto.Finale3dEffect.Point4ds.prototype.getPointsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Point4d,1)},proto.Finale3dEffect.Point4ds.prototype.setPointsList=function(e){return a.Message.setRepeatedWrapperField(this,1,e)},proto.Finale3dEffect.Point4ds.prototype.addPoints=function(e,n){return a.Message.addToRepeatedWrapperField(this,1,e,proto.Finale3dEffect.Point4d,n)},proto.Finale3dEffect.Point4ds.prototype.clearPointsList=function(){return this.setPointsList([])},proto.Finale3dEffect.CurveVertexes.repeatedFields_=[1,2],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CurveVertexes.prototype.toObject=function(e){return proto.Finale3dEffect.CurveVertexes.toObject(e,this)},proto.Finale3dEffect.CurveVertexes.toObject=function(e,n){var t,i={xCoordsList:null==(t=a.Message.getRepeatedFloatingPointField(n,1))?void 0:t,yCoordsList:null==(t=a.Message.getRepeatedFloatingPointField(n,2))?void 0:t};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.CurveVertexes.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CurveVertexes;return proto.Finale3dEffect.CurveVertexes.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CurveVertexes.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readPackedFloat();e.setXCoordsList(t);break;case 2:t=n.readPackedFloat();e.setYCoordsList(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CurveVertexes.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CurveVertexes.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CurveVertexes.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getXCoordsList()).length>0&&n.writePackedFloat(1,t),(t=e.getYCoordsList()).length>0&&n.writePackedFloat(2,t)},proto.Finale3dEffect.CurveVertexes.prototype.getXCoordsList=function(){return a.Message.getRepeatedFloatingPointField(this,1)},proto.Finale3dEffect.CurveVertexes.prototype.setXCoordsList=function(e){return a.Message.setField(this,1,e||[])},proto.Finale3dEffect.CurveVertexes.prototype.addXCoords=function(e,n){return a.Message.addToRepeatedField(this,1,e,n)},proto.Finale3dEffect.CurveVertexes.prototype.clearXCoordsList=function(){return this.setXCoordsList([])},proto.Finale3dEffect.CurveVertexes.prototype.getYCoordsList=function(){return a.Message.getRepeatedFloatingPointField(this,2)},proto.Finale3dEffect.CurveVertexes.prototype.setYCoordsList=function(e){return a.Message.setField(this,2,e||[])},proto.Finale3dEffect.CurveVertexes.prototype.addYCoords=function(e,n){return a.Message.addToRepeatedField(this,2,e,n)},proto.Finale3dEffect.CurveVertexes.prototype.clearYCoordsList=function(){return this.setYCoordsList([])},proto.Finale3dEffect.CurveSpec.oneofGroups_=[[1,2]],proto.Finale3dEffect.CurveSpec.ACase={A_NOT_SET:0,STANDARD_CURVE:1,CURVE_VERTEXES:2},proto.Finale3dEffect.CurveSpec.prototype.getACase=function(){return a.Message.computeOneofCase(this,proto.Finale3dEffect.CurveSpec.oneofGroups_[0])},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CurveSpec.prototype.toObject=function(e){return proto.Finale3dEffect.CurveSpec.toObject(e,this)},proto.Finale3dEffect.CurveSpec.toObject=function(e,n){var t,i={standardCurve:a.Message.getFieldWithDefault(n,1,0),curveVertexes:(t=n.getCurveVertexes())&&proto.Finale3dEffect.CurveVertexes.toObject(e,t),x0:a.Message.getFloatingPointFieldWithDefault(n,3,0),x1MinusOne:a.Message.getFloatingPointFieldWithDefault(n,4,0),y0:a.Message.getFloatingPointFieldWithDefault(n,5,0),y1MinusOne:a.Message.getFloatingPointFieldWithDefault(n,6,0)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.CurveSpec.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CurveSpec;return proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readEnum();e.setStandardCurve(t);break;case 2:t=new proto.Finale3dEffect.CurveVertexes;n.readMessage(t,proto.Finale3dEffect.CurveVertexes.deserializeBinaryFromReader),e.setCurveVertexes(t);break;case 3:t=n.readFloat();e.setX0(t);break;case 4:t=n.readFloat();e.setX1MinusOne(t);break;case 5:t=n.readFloat();e.setY0(t);break;case 6:t=n.readFloat();e.setY1MinusOne(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CurveSpec.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter=function(e,n){var t=void 0;null!=(t=a.Message.getField(e,1))&&n.writeEnum(1,t),null!=(t=e.getCurveVertexes())&&n.writeMessage(2,t,proto.Finale3dEffect.CurveVertexes.serializeBinaryToWriter),0!==(t=e.getX0())&&n.writeFloat(3,t),0!==(t=e.getX1MinusOne())&&n.writeFloat(4,t),0!==(t=e.getY0())&&n.writeFloat(5,t),0!==(t=e.getY1MinusOne())&&n.writeFloat(6,t)},proto.Finale3dEffect.CurveSpec.prototype.getStandardCurve=function(){return a.Message.getFieldWithDefault(this,1,0)},proto.Finale3dEffect.CurveSpec.prototype.setStandardCurve=function(e){return a.Message.setOneofField(this,1,proto.Finale3dEffect.CurveSpec.oneofGroups_[0],e)},proto.Finale3dEffect.CurveSpec.prototype.clearStandardCurve=function(){return a.Message.setOneofField(this,1,proto.Finale3dEffect.CurveSpec.oneofGroups_[0],void 0)},proto.Finale3dEffect.CurveSpec.prototype.hasStandardCurve=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.CurveSpec.prototype.getCurveVertexes=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveVertexes,2)},proto.Finale3dEffect.CurveSpec.prototype.setCurveVertexes=function(e){return a.Message.setOneofWrapperField(this,2,proto.Finale3dEffect.CurveSpec.oneofGroups_[0],e)},proto.Finale3dEffect.CurveSpec.prototype.clearCurveVertexes=function(){return this.setCurveVertexes(void 0)},proto.Finale3dEffect.CurveSpec.prototype.hasCurveVertexes=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.CurveSpec.prototype.getX0=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.CurveSpec.prototype.setX0=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.CurveSpec.prototype.getX1MinusOne=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.CurveSpec.prototype.setX1MinusOne=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.CurveSpec.prototype.getY0=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.CurveSpec.prototype.setY0=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.CurveSpec.prototype.getY1MinusOne=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.CurveSpec.prototype.setY1MinusOne=function(e){return a.Message.setProto3FloatField(this,6,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Distribution.prototype.toObject=function(e){return proto.Finale3dEffect.Distribution.toObject(e,this)},proto.Finale3dEffect.Distribution.toObject=function(e,n){var t,i={minValue:a.Message.getFloatingPointFieldWithDefault(n,1,0),maxValue:a.Message.getFloatingPointFieldWithDefault(n,2,0),meanValue:a.Message.getFloatingPointFieldWithDefault(n,90,0),kappaValue:a.Message.getFloatingPointFieldWithDefault(n,91,0),curve:(t=n.getCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Distribution.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Distribution;return proto.Finale3dEffect.Distribution.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Distribution.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setMinValue(t);break;case 2:t=n.readFloat();e.setMaxValue(t);break;case 90:t=n.readFloat();e.setMeanValue(t);break;case 91:t=n.readFloat();e.setKappaValue(t);break;case 3:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Distribution.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Distribution.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Distribution.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getMinValue())&&n.writeFloat(1,t),0!==(t=e.getMaxValue())&&n.writeFloat(2,t),0!==(t=e.getMeanValue())&&n.writeFloat(90,t),0!==(t=e.getKappaValue())&&n.writeFloat(91,t),null!=(t=e.getCurve())&&n.writeMessage(3,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.Distribution.prototype.getMinValue=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Distribution.prototype.setMinValue=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Distribution.prototype.getMaxValue=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Distribution.prototype.setMaxValue=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Distribution.prototype.getMeanValue=function(){return a.Message.getFloatingPointFieldWithDefault(this,90,0)},proto.Finale3dEffect.Distribution.prototype.setMeanValue=function(e){return a.Message.setProto3FloatField(this,90,e)},proto.Finale3dEffect.Distribution.prototype.getKappaValue=function(){return a.Message.getFloatingPointFieldWithDefault(this,91,0)},proto.Finale3dEffect.Distribution.prototype.setKappaValue=function(e){return a.Message.setProto3FloatField(this,91,e)},proto.Finale3dEffect.Distribution.prototype.getCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,3)},proto.Finale3dEffect.Distribution.prototype.setCurve=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.Distribution.prototype.clearCurve=function(){return this.setCurve(void 0)},proto.Finale3dEffect.Distribution.prototype.hasCurve=function(){return null!=a.Message.getField(this,3)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Dimensions.prototype.toObject=function(e){return proto.Finale3dEffect.Dimensions.toObject(e,this)},proto.Finale3dEffect.Dimensions.toObject=function(e,n){var t={mm:a.Message.getFloatingPointFieldWithDefault(n,1,0),m:a.Message.getFloatingPointFieldWithDefault(n,2,0),s:a.Message.getFloatingPointFieldWithDefault(n,3,0),dly:a.Message.getFloatingPointFieldWithDefault(n,4,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Dimensions.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Dimensions;return proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setMm(t);break;case 2:t=n.readFloat();e.setM(t);break;case 3:t=n.readFloat();e.setS(t);break;case 4:t=n.readFloat();e.setDly(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Dimensions.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Dimensions.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Dimensions.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getMm())&&n.writeFloat(1,t),0!==(t=e.getM())&&n.writeFloat(2,t),0!==(t=e.getS())&&n.writeFloat(3,t),0!==(t=e.getDly())&&n.writeFloat(4,t)},proto.Finale3dEffect.Dimensions.prototype.getMm=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Dimensions.prototype.setMm=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Dimensions.prototype.getM=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Dimensions.prototype.setM=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Dimensions.prototype.getS=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Dimensions.prototype.setS=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Dimensions.prototype.getDly=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.Dimensions.prototype.setDly=function(e){return a.Message.setProto3FloatField(this,4,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.EffectInfo.prototype.toObject=function(e){return proto.Finale3dEffect.EffectInfo.toObject(e,this)},proto.Finale3dEffect.EffectInfo.toObject=function(e,n){var t={pieceCategory:a.Message.getFieldWithDefault(n,1,0),duration:a.Message.getFloatingPointFieldWithDefault(n,2,0),timelineDuration:a.Message.getFloatingPointFieldWithDefault(n,4,0),maxDuration:a.Message.getFloatingPointFieldWithDefault(n,5,0),maxLightEndTime:a.Message.getFloatingPointFieldWithDefault(n,12,0),height:a.Message.getFloatingPointFieldWithDefault(n,7,0),syntheticPrefire:a.Message.getFloatingPointFieldWithDefault(n,9,0),prefire:a.Message.getFloatingPointFieldWithDefault(n,6,0),delayBeforeSimulation:a.Message.getFloatingPointFieldWithDefault(n,8,0),overridePieceCategory:a.Message.getFieldWithDefault(n,10,0),versionId:a.Message.getFieldWithDefault(n,11,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.EffectInfo.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.EffectInfo;return proto.Finale3dEffect.EffectInfo.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.EffectInfo.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readEnum();e.setPieceCategory(t);break;case 2:t=n.readFloat();e.setDuration(t);break;case 4:t=n.readFloat();e.setTimelineDuration(t);break;case 5:t=n.readFloat();e.setMaxDuration(t);break;case 12:t=n.readFloat();e.setMaxLightEndTime(t);break;case 7:t=n.readFloat();e.setHeight(t);break;case 9:t=n.readFloat();e.setSyntheticPrefire(t);break;case 6:t=n.readFloat();e.setPrefire(t);break;case 8:t=n.readFloat();e.setDelayBeforeSimulation(t);break;case 10:t=n.readEnum();e.setOverridePieceCategory(t);break;case 11:t=n.readEnum();e.setVersionId(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.EffectInfo.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.EffectInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.EffectInfo.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getPieceCategory())&&n.writeEnum(1,t),0!==(t=e.getDuration())&&n.writeFloat(2,t),0!==(t=e.getTimelineDuration())&&n.writeFloat(4,t),0!==(t=e.getMaxDuration())&&n.writeFloat(5,t),0!==(t=e.getMaxLightEndTime())&&n.writeFloat(12,t),0!==(t=e.getHeight())&&n.writeFloat(7,t),0!==(t=e.getSyntheticPrefire())&&n.writeFloat(9,t),0!==(t=e.getPrefire())&&n.writeFloat(6,t),0!==(t=e.getDelayBeforeSimulation())&&n.writeFloat(8,t),0!==(t=e.getOverridePieceCategory())&&n.writeEnum(10,t),0!==(t=e.getVersionId())&&n.writeEnum(11,t)},proto.Finale3dEffect.EffectInfo.VersionId={PREHISTORY:0,PITCHBLOBMINES90DEGREES:1,SETBREAKRAGGEDNESSTOHALFOFPETALKAPPA:2,MIGRATESAMMPLEDCURVESTOPARAMETRIC:3},proto.Finale3dEffect.EffectInfo.prototype.getPieceCategory=function(){return a.Message.getFieldWithDefault(this,1,0)},proto.Finale3dEffect.EffectInfo.prototype.setPieceCategory=function(e){return a.Message.setProto3EnumField(this,1,e)},proto.Finale3dEffect.EffectInfo.prototype.getDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.EffectInfo.prototype.setDuration=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.EffectInfo.prototype.getTimelineDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.EffectInfo.prototype.setTimelineDuration=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.EffectInfo.prototype.getMaxDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.EffectInfo.prototype.setMaxDuration=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.EffectInfo.prototype.getMaxLightEndTime=function(){return a.Message.getFloatingPointFieldWithDefault(this,12,0)},proto.Finale3dEffect.EffectInfo.prototype.setMaxLightEndTime=function(e){return a.Message.setProto3FloatField(this,12,e)},proto.Finale3dEffect.EffectInfo.prototype.getHeight=function(){return a.Message.getFloatingPointFieldWithDefault(this,7,0)},proto.Finale3dEffect.EffectInfo.prototype.setHeight=function(e){return a.Message.setProto3FloatField(this,7,e)},proto.Finale3dEffect.EffectInfo.prototype.getSyntheticPrefire=function(){return a.Message.getFloatingPointFieldWithDefault(this,9,0)},proto.Finale3dEffect.EffectInfo.prototype.setSyntheticPrefire=function(e){return a.Message.setProto3FloatField(this,9,e)},proto.Finale3dEffect.EffectInfo.prototype.getPrefire=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.EffectInfo.prototype.setPrefire=function(e){return a.Message.setProto3FloatField(this,6,e)},proto.Finale3dEffect.EffectInfo.prototype.getDelayBeforeSimulation=function(){return a.Message.getFloatingPointFieldWithDefault(this,8,0)},proto.Finale3dEffect.EffectInfo.prototype.setDelayBeforeSimulation=function(e){return a.Message.setProto3FloatField(this,8,e)},proto.Finale3dEffect.EffectInfo.prototype.getOverridePieceCategory=function(){return a.Message.getFieldWithDefault(this,10,0)},proto.Finale3dEffect.EffectInfo.prototype.setOverridePieceCategory=function(e){return a.Message.setProto3EnumField(this,10,e)},proto.Finale3dEffect.EffectInfo.prototype.getVersionId=function(){return a.Message.getFieldWithDefault(this,11,0)},proto.Finale3dEffect.EffectInfo.prototype.setVersionId=function(e){return a.Message.setProto3EnumField(this,11,e)},proto.Finale3dEffect.Effect.repeatedFields_=[2,3],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Effect.prototype.toObject=function(e){return proto.Finale3dEffect.Effect.toObject(e,this)},proto.Finale3dEffect.Effect.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),info:(t=n.getInfo())&&proto.Finale3dEffect.EffectInfo.toObject(e,t),shotsList:a.Message.toObjectList(n.getShotsList(),proto.Finale3dEffect.Shot.toObject,e),shotInstanceSequencesList:a.Message.toObjectList(n.getShotInstanceSequencesList(),proto.Finale3dEffect.Effect.ShotInstanceSequence.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Effect.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Effect;return proto.Finale3dEffect.Effect.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Effect.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=new proto.Finale3dEffect.EffectInfo;n.readMessage(t,proto.Finale3dEffect.EffectInfo.deserializeBinaryFromReader),e.setInfo(t);break;case 2:t=new proto.Finale3dEffect.Shot;n.readMessage(t,proto.Finale3dEffect.Shot.deserializeBinaryFromReader),e.addShots(t);break;case 3:t=new proto.Finale3dEffect.Effect.ShotInstanceSequence;n.readMessage(t,proto.Finale3dEffect.Effect.ShotInstanceSequence.deserializeBinaryFromReader),e.addShotInstanceSequences(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Effect.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Effect.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Effect.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),null!=(t=e.getInfo())&&n.writeMessage(1,t,proto.Finale3dEffect.EffectInfo.serializeBinaryToWriter),(t=e.getShotsList()).length>0&&n.writeRepeatedMessage(2,t,proto.Finale3dEffect.Shot.serializeBinaryToWriter),(t=e.getShotInstanceSequencesList()).length>0&&n.writeRepeatedMessage(3,t,proto.Finale3dEffect.Effect.ShotInstanceSequence.serializeBinaryToWriter)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.toObject=function(e){return proto.Finale3dEffect.Effect.ShotInstanceSequence.toObject(e,this)},proto.Finale3dEffect.Effect.ShotInstanceSequence.toObject=function(e,n){var t={ignitionOffset:a.Message.getFloatingPointFieldWithDefault(n,1,0),angleOffset:a.Message.getFloatingPointFieldWithDefault(n,2,0),shotIndex:a.Message.getFieldWithDefault(n,3,0),ignitionDelta:a.Message.getFloatingPointFieldWithDefault(n,4,0),angleDelta:a.Message.getFloatingPointFieldWithDefault(n,5,0),numInstances:a.Message.getFieldWithDefault(n,6,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Effect.ShotInstanceSequence.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Effect.ShotInstanceSequence;return proto.Finale3dEffect.Effect.ShotInstanceSequence.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Effect.ShotInstanceSequence.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readFloat();e.setIgnitionOffset(t);break;case 2:t=n.readFloat();e.setAngleOffset(t);break;case 3:t=n.readInt32();e.setShotIndex(t);break;case 4:t=n.readFloat();e.setIgnitionDelta(t);break;case 5:t=n.readFloat();e.setAngleDelta(t);break;case 6:t=n.readInt32();e.setNumInstances(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Effect.ShotInstanceSequence.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Effect.ShotInstanceSequence.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getIgnitionOffset())&&n.writeFloat(1,t),0!==(t=e.getAngleOffset())&&n.writeFloat(2,t),0!==(t=e.getShotIndex())&&n.writeInt32(3,t),0!==(t=e.getIgnitionDelta())&&n.writeFloat(4,t),0!==(t=e.getAngleDelta())&&n.writeFloat(5,t),0!==(t=e.getNumInstances())&&n.writeInt32(6,t)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getIgnitionOffset=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setIgnitionOffset=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getAngleOffset=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setAngleOffset=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getShotIndex=function(){return a.Message.getFieldWithDefault(this,3,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setShotIndex=function(e){return a.Message.setProto3IntField(this,3,e)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getIgnitionDelta=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setIgnitionDelta=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getAngleDelta=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setAngleDelta=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.getNumInstances=function(){return a.Message.getFieldWithDefault(this,6,0)},proto.Finale3dEffect.Effect.ShotInstanceSequence.prototype.setNumInstances=function(e){return a.Message.setProto3IntField(this,6,e)},proto.Finale3dEffect.Effect.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Effect.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Effect.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.Effect.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.Effect.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.Effect.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.Effect.prototype.getInfo=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.EffectInfo,1)},proto.Finale3dEffect.Effect.prototype.setInfo=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.Effect.prototype.clearInfo=function(){return this.setInfo(void 0)},proto.Finale3dEffect.Effect.prototype.hasInfo=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.Effect.prototype.getShotsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Shot,2)},proto.Finale3dEffect.Effect.prototype.setShotsList=function(e){return a.Message.setRepeatedWrapperField(this,2,e)},proto.Finale3dEffect.Effect.prototype.addShots=function(e,n){return a.Message.addToRepeatedWrapperField(this,2,e,proto.Finale3dEffect.Shot,n)},proto.Finale3dEffect.Effect.prototype.clearShotsList=function(){return this.setShotsList([])},proto.Finale3dEffect.Effect.prototype.getShotInstanceSequencesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Effect.ShotInstanceSequence,3)},proto.Finale3dEffect.Effect.prototype.setShotInstanceSequencesList=function(e){return a.Message.setRepeatedWrapperField(this,3,e)},proto.Finale3dEffect.Effect.prototype.addShotInstanceSequences=function(e,n){return a.Message.addToRepeatedWrapperField(this,3,e,proto.Finale3dEffect.Effect.ShotInstanceSequence,n)},proto.Finale3dEffect.Effect.prototype.clearShotInstanceSequencesList=function(){return this.setShotInstanceSequencesList([])},proto.Finale3dEffect.Shot.repeatedFields_=[2],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Shot.prototype.toObject=function(e){return proto.Finale3dEffect.Shot.toObject(e,this)},proto.Finale3dEffect.Shot.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),launchesList:a.Message.toObjectList(n.getLaunchesList(),proto.Finale3dEffect.Launch.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Shot.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Shot;return proto.Finale3dEffect.Shot.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Shot.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 2:t=new proto.Finale3dEffect.Launch;n.readMessage(t,proto.Finale3dEffect.Launch.deserializeBinaryFromReader),e.addLaunches(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Shot.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Shot.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Shot.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),(t=e.getLaunchesList()).length>0&&n.writeRepeatedMessage(2,t,proto.Finale3dEffect.Launch.serializeBinaryToWriter)},proto.Finale3dEffect.Shot.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Shot.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Shot.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.Shot.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.Shot.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.Shot.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.Shot.prototype.getLaunchesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Launch,2)},proto.Finale3dEffect.Shot.prototype.setLaunchesList=function(e){return a.Message.setRepeatedWrapperField(this,2,e)},proto.Finale3dEffect.Shot.prototype.addLaunches=function(e,n){return a.Message.addToRepeatedWrapperField(this,2,e,proto.Finale3dEffect.Launch,n)},proto.Finale3dEffect.Shot.prototype.clearLaunchesList=function(){return this.setLaunchesList([])},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.PointLightVisual.prototype.toObject=function(e){return proto.Finale3dEffect.PointLightVisual.toObject(e,this)},proto.Finale3dEffect.PointLightVisual.toObject=function(e,n){var t,i={duration:a.Message.getFloatingPointFieldWithDefault(n,4,0),intensity:a.Message.getFloatingPointFieldWithDefault(n,1,0),intensityCurve:(t=n.getIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),color0:(t=n.getColor0())&&proto.Finale3dEffect.Point3d.toObject(e,t),deprecatedIntensityCurve:(t=n.getDeprecatedIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.PointLightVisual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.PointLightVisual;return proto.Finale3dEffect.PointLightVisual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.PointLightVisual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 4:var t=n.readFloat();e.setDuration(t);break;case 1:t=n.readFloat();e.setIntensity(t);break;case 5:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setIntensityCurve(t);break;case 3:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setColor0(t);break;case 2:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedIntensityCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.PointLightVisual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.PointLightVisual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.PointLightVisual.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getDuration())&&n.writeFloat(4,t),0!==(t=e.getIntensity())&&n.writeFloat(1,t),null!=(t=e.getIntensityCurve())&&n.writeMessage(5,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getColor0())&&n.writeMessage(3,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getDeprecatedIntensityCurve())&&n.writeMessage(2,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.PointLightVisual.prototype.getDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.PointLightVisual.prototype.setDuration=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.PointLightVisual.prototype.getIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.PointLightVisual.prototype.setIntensity=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.PointLightVisual.prototype.getIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,5)},proto.Finale3dEffect.PointLightVisual.prototype.setIntensityCurve=function(e){return a.Message.setWrapperField(this,5,e)},proto.Finale3dEffect.PointLightVisual.prototype.clearIntensityCurve=function(){return this.setIntensityCurve(void 0)},proto.Finale3dEffect.PointLightVisual.prototype.hasIntensityCurve=function(){return null!=a.Message.getField(this,5)},proto.Finale3dEffect.PointLightVisual.prototype.getColor0=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,3)},proto.Finale3dEffect.PointLightVisual.prototype.setColor0=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.PointLightVisual.prototype.clearColor0=function(){return this.setColor0(void 0)},proto.Finale3dEffect.PointLightVisual.prototype.hasColor0=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.PointLightVisual.prototype.getDeprecatedIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,2)},proto.Finale3dEffect.PointLightVisual.prototype.setDeprecatedIntensityCurve=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.PointLightVisual.prototype.clearDeprecatedIntensityCurve=function(){return this.setDeprecatedIntensityCurve(void 0)},proto.Finale3dEffect.PointLightVisual.prototype.hasDeprecatedIntensityCurve=function(){return null!=a.Message.getField(this,2)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.TrajectorySpec.prototype.toObject=function(e){return proto.Finale3dEffect.TrajectorySpec.toObject(e,this)},proto.Finale3dEffect.TrajectorySpec.toObject=function(e,n){var t,a={duration:(t=n.getDuration())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),launchSpeed:(t=n.getLaunchSpeed())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),windFriction:(t=n.getWindFriction())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),gravityFactor:(t=n.getGravityFactor())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),durationKappa:(t=n.getDurationKappa())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),launchSpeedKappa:(t=n.getLaunchSpeedKappa())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),windFrictionKappa:(t=n.getWindFrictionKappa())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),trajectoryHeight:(t=n.getTrajectoryHeight())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),apexFactor:(t=n.getApexFactor())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),apexTime:(t=n.getApexTime())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t),apexHeight:(t=n.getApexHeight())&&proto.Finale3dEffect.MaybeFloat.toObject(e,t)};return e&&(a.$jspbMessageInstance=n),a}),proto.Finale3dEffect.TrajectorySpec.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.TrajectorySpec;return proto.Finale3dEffect.TrajectorySpec.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.TrajectorySpec.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setDuration(t);break;case 2:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setLaunchSpeed(t);break;case 3:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setWindFriction(t);break;case 4:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setGravityFactor(t);break;case 21:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setDurationKappa(t);break;case 22:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setLaunchSpeedKappa(t);break;case 23:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setWindFrictionKappa(t);break;case 41:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setTrajectoryHeight(t);break;case 42:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setApexFactor(t);break;case 61:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setApexTime(t);break;case 62:t=new proto.Finale3dEffect.MaybeFloat;n.readMessage(t,proto.Finale3dEffect.MaybeFloat.deserializeBinaryFromReader),e.setApexHeight(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.TrajectorySpec.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.TrajectorySpec.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.TrajectorySpec.serializeBinaryToWriter=function(e,n){var t=void 0;null!=(t=e.getDuration())&&n.writeMessage(1,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getLaunchSpeed())&&n.writeMessage(2,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getWindFriction())&&n.writeMessage(3,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getGravityFactor())&&n.writeMessage(4,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getDurationKappa())&&n.writeMessage(21,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getLaunchSpeedKappa())&&n.writeMessage(22,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getWindFrictionKappa())&&n.writeMessage(23,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getTrajectoryHeight())&&n.writeMessage(41,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getApexFactor())&&n.writeMessage(42,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getApexTime())&&n.writeMessage(61,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter),null!=(t=e.getApexHeight())&&n.writeMessage(62,t,proto.Finale3dEffect.MaybeFloat.serializeBinaryToWriter)},proto.Finale3dEffect.TrajectorySpec.prototype.getDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,1)},proto.Finale3dEffect.TrajectorySpec.prototype.setDuration=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearDuration=function(){return this.setDuration(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasDuration=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.TrajectorySpec.prototype.getLaunchSpeed=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,2)},proto.Finale3dEffect.TrajectorySpec.prototype.setLaunchSpeed=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearLaunchSpeed=function(){return this.setLaunchSpeed(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasLaunchSpeed=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.TrajectorySpec.prototype.getWindFriction=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,3)},proto.Finale3dEffect.TrajectorySpec.prototype.setWindFriction=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearWindFriction=function(){return this.setWindFriction(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasWindFriction=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.TrajectorySpec.prototype.getGravityFactor=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,4)},proto.Finale3dEffect.TrajectorySpec.prototype.setGravityFactor=function(e){return a.Message.setWrapperField(this,4,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearGravityFactor=function(){return this.setGravityFactor(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasGravityFactor=function(){return null!=a.Message.getField(this,4)},proto.Finale3dEffect.TrajectorySpec.prototype.getDurationKappa=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,21)},proto.Finale3dEffect.TrajectorySpec.prototype.setDurationKappa=function(e){return a.Message.setWrapperField(this,21,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearDurationKappa=function(){return this.setDurationKappa(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasDurationKappa=function(){return null!=a.Message.getField(this,21)},proto.Finale3dEffect.TrajectorySpec.prototype.getLaunchSpeedKappa=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,22)},proto.Finale3dEffect.TrajectorySpec.prototype.setLaunchSpeedKappa=function(e){return a.Message.setWrapperField(this,22,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearLaunchSpeedKappa=function(){return this.setLaunchSpeedKappa(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasLaunchSpeedKappa=function(){return null!=a.Message.getField(this,22)},proto.Finale3dEffect.TrajectorySpec.prototype.getWindFrictionKappa=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,23)},proto.Finale3dEffect.TrajectorySpec.prototype.setWindFrictionKappa=function(e){return a.Message.setWrapperField(this,23,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearWindFrictionKappa=function(){return this.setWindFrictionKappa(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasWindFrictionKappa=function(){return null!=a.Message.getField(this,23)},proto.Finale3dEffect.TrajectorySpec.prototype.getTrajectoryHeight=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,41)},proto.Finale3dEffect.TrajectorySpec.prototype.setTrajectoryHeight=function(e){return a.Message.setWrapperField(this,41,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearTrajectoryHeight=function(){return this.setTrajectoryHeight(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasTrajectoryHeight=function(){return null!=a.Message.getField(this,41)},proto.Finale3dEffect.TrajectorySpec.prototype.getApexFactor=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,42)},proto.Finale3dEffect.TrajectorySpec.prototype.setApexFactor=function(e){return a.Message.setWrapperField(this,42,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearApexFactor=function(){return this.setApexFactor(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasApexFactor=function(){return null!=a.Message.getField(this,42)},proto.Finale3dEffect.TrajectorySpec.prototype.getApexTime=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,61)},proto.Finale3dEffect.TrajectorySpec.prototype.setApexTime=function(e){return a.Message.setWrapperField(this,61,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearApexTime=function(){return this.setApexTime(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasApexTime=function(){return null!=a.Message.getField(this,61)},proto.Finale3dEffect.TrajectorySpec.prototype.getApexHeight=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.MaybeFloat,62)},proto.Finale3dEffect.TrajectorySpec.prototype.setApexHeight=function(e){return a.Message.setWrapperField(this,62,e)},proto.Finale3dEffect.TrajectorySpec.prototype.clearApexHeight=function(){return this.setApexHeight(void 0)},proto.Finale3dEffect.TrajectorySpec.prototype.hasApexHeight=function(){return null!=a.Message.getField(this,62)},proto.Finale3dEffect.Launch.repeatedFields_=[9],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Launch.prototype.toObject=function(e){return proto.Finale3dEffect.Launch.toObject(e,this)},proto.Finale3dEffect.Launch.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),shotCategory:a.Message.getFieldWithDefault(n,14,0),launchHeight:(t=n.getLaunchHeight())&&proto.Finale3dEffect.Distribution.toObject(e,t),angleOffset:a.Message.getFloatingPointFieldWithDefault(n,4,0),angleSpread:a.Message.getFloatingPointFieldWithDefault(n,5,0),randomGroupId:a.Message.getFieldWithDefault(n,6,0),star:(t=n.getStar())&&proto.Finale3dEffect.StarParticle.toObject(e,t),soundsList:a.Message.toObjectList(n.getSoundsList(),proto.Finale3dEffect.Sound.toObject,e),launchPointLight:(t=n.getLaunchPointLight())&&proto.Finale3dEffect.PointLightVisual.toObject(e,t),deprecatedLaunchPointLightDuration:a.Message.getFloatingPointFieldWithDefault(n,16,0),prefire:a.Message.getFloatingPointFieldWithDefault(n,11,0),maxStarEndTime:a.Message.getFloatingPointFieldWithDefault(n,13,0),maxLightEndTime:a.Message.getFloatingPointFieldWithDefault(n,17,0),deprecatedDuration:(t=n.getDeprecatedDuration())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedWindFriction:a.Message.getFloatingPointFieldWithDefault(n,3,0),deprecatedMotionType:a.Message.getFieldWithDefault(n,7,0)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Launch.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Launch;return proto.Finale3dEffect.Launch.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Launch.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 14:t=n.readEnum();e.setShotCategory(t);break;case 1:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setLaunchHeight(t);break;case 4:t=n.readFloat();e.setAngleOffset(t);break;case 5:t=n.readFloat();e.setAngleSpread(t);break;case 6:t=n.readInt32();e.setRandomGroupId(t);break;case 8:t=new proto.Finale3dEffect.StarParticle;n.readMessage(t,proto.Finale3dEffect.StarParticle.deserializeBinaryFromReader),e.setStar(t);break;case 9:t=new proto.Finale3dEffect.Sound;n.readMessage(t,proto.Finale3dEffect.Sound.deserializeBinaryFromReader),e.addSounds(t);break;case 15:t=new proto.Finale3dEffect.PointLightVisual;n.readMessage(t,proto.Finale3dEffect.PointLightVisual.deserializeBinaryFromReader),e.setLaunchPointLight(t);break;case 16:t=n.readFloat();e.setDeprecatedLaunchPointLightDuration(t);break;case 11:t=n.readFloat();e.setPrefire(t);break;case 13:t=n.readFloat();e.setMaxStarEndTime(t);break;case 17:t=n.readFloat();e.setMaxLightEndTime(t);break;case 2:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedDuration(t);break;case 3:t=n.readFloat();e.setDeprecatedWindFriction(t);break;case 7:t=n.readEnum();e.setDeprecatedMotionType(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Launch.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Launch.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Launch.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getShotCategory())&&n.writeEnum(14,t),null!=(t=e.getLaunchHeight())&&n.writeMessage(1,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getAngleOffset())&&n.writeFloat(4,t),0!==(t=e.getAngleSpread())&&n.writeFloat(5,t),0!==(t=e.getRandomGroupId())&&n.writeInt32(6,t),null!=(t=e.getStar())&&n.writeMessage(8,t,proto.Finale3dEffect.StarParticle.serializeBinaryToWriter),(t=e.getSoundsList()).length>0&&n.writeRepeatedMessage(9,t,proto.Finale3dEffect.Sound.serializeBinaryToWriter),null!=(t=e.getLaunchPointLight())&&n.writeMessage(15,t,proto.Finale3dEffect.PointLightVisual.serializeBinaryToWriter),0!==(t=e.getDeprecatedLaunchPointLightDuration())&&n.writeFloat(16,t),0!==(t=e.getPrefire())&&n.writeFloat(11,t),0!==(t=e.getMaxStarEndTime())&&n.writeFloat(13,t),0!==(t=e.getMaxLightEndTime())&&n.writeFloat(17,t),null!=(t=e.getDeprecatedDuration())&&n.writeMessage(2,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getDeprecatedWindFriction())&&n.writeFloat(3,t),0!==(t=e.getDeprecatedMotionType())&&n.writeEnum(7,t)},proto.Finale3dEffect.Launch.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Launch.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Launch.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.Launch.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.Launch.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.Launch.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.Launch.prototype.getShotCategory=function(){return a.Message.getFieldWithDefault(this,14,0)},proto.Finale3dEffect.Launch.prototype.setShotCategory=function(e){return a.Message.setProto3EnumField(this,14,e)},proto.Finale3dEffect.Launch.prototype.getLaunchHeight=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,1)},proto.Finale3dEffect.Launch.prototype.setLaunchHeight=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.Launch.prototype.clearLaunchHeight=function(){return this.setLaunchHeight(void 0)},proto.Finale3dEffect.Launch.prototype.hasLaunchHeight=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.Launch.prototype.getAngleOffset=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.Launch.prototype.setAngleOffset=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.Launch.prototype.getAngleSpread=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.Launch.prototype.setAngleSpread=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.Launch.prototype.getRandomGroupId=function(){return a.Message.getFieldWithDefault(this,6,0)},proto.Finale3dEffect.Launch.prototype.setRandomGroupId=function(e){return a.Message.setProto3IntField(this,6,e)},proto.Finale3dEffect.Launch.prototype.getStar=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.StarParticle,8)},proto.Finale3dEffect.Launch.prototype.setStar=function(e){return a.Message.setWrapperField(this,8,e)},proto.Finale3dEffect.Launch.prototype.clearStar=function(){return this.setStar(void 0)},proto.Finale3dEffect.Launch.prototype.hasStar=function(){return null!=a.Message.getField(this,8)},proto.Finale3dEffect.Launch.prototype.getSoundsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Sound,9)},proto.Finale3dEffect.Launch.prototype.setSoundsList=function(e){return a.Message.setRepeatedWrapperField(this,9,e)},proto.Finale3dEffect.Launch.prototype.addSounds=function(e,n){return a.Message.addToRepeatedWrapperField(this,9,e,proto.Finale3dEffect.Sound,n)},proto.Finale3dEffect.Launch.prototype.clearSoundsList=function(){return this.setSoundsList([])},proto.Finale3dEffect.Launch.prototype.getLaunchPointLight=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.PointLightVisual,15)},proto.Finale3dEffect.Launch.prototype.setLaunchPointLight=function(e){return a.Message.setWrapperField(this,15,e)},proto.Finale3dEffect.Launch.prototype.clearLaunchPointLight=function(){return this.setLaunchPointLight(void 0)},proto.Finale3dEffect.Launch.prototype.hasLaunchPointLight=function(){return null!=a.Message.getField(this,15)},proto.Finale3dEffect.Launch.prototype.getDeprecatedLaunchPointLightDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,16,0)},proto.Finale3dEffect.Launch.prototype.setDeprecatedLaunchPointLightDuration=function(e){return a.Message.setProto3FloatField(this,16,e)},proto.Finale3dEffect.Launch.prototype.getPrefire=function(){return a.Message.getFloatingPointFieldWithDefault(this,11,0)},proto.Finale3dEffect.Launch.prototype.setPrefire=function(e){return a.Message.setProto3FloatField(this,11,e)},proto.Finale3dEffect.Launch.prototype.getMaxStarEndTime=function(){return a.Message.getFloatingPointFieldWithDefault(this,13,0)},proto.Finale3dEffect.Launch.prototype.setMaxStarEndTime=function(e){return a.Message.setProto3FloatField(this,13,e)},proto.Finale3dEffect.Launch.prototype.getMaxLightEndTime=function(){return a.Message.getFloatingPointFieldWithDefault(this,17,0)},proto.Finale3dEffect.Launch.prototype.setMaxLightEndTime=function(e){return a.Message.setProto3FloatField(this,17,e)},proto.Finale3dEffect.Launch.prototype.getDeprecatedDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,2)},proto.Finale3dEffect.Launch.prototype.setDeprecatedDuration=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.Launch.prototype.clearDeprecatedDuration=function(){return this.setDeprecatedDuration(void 0)},proto.Finale3dEffect.Launch.prototype.hasDeprecatedDuration=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.Launch.prototype.getDeprecatedWindFriction=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Launch.prototype.setDeprecatedWindFriction=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Launch.prototype.getDeprecatedMotionType=function(){return a.Message.getFieldWithDefault(this,7,0)},proto.Finale3dEffect.Launch.prototype.setDeprecatedMotionType=function(e){return a.Message.setProto3EnumField(this,7,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Sound.prototype.toObject=function(e){return proto.Finale3dEffect.Sound.toObject(e,this)},proto.Finale3dEffect.Sound.toObject=function(e,n){var t={nodeVdl:a.Message.getFieldWithDefault(n,77,""),duration:a.Message.getFloatingPointFieldWithDefault(n,3,0),soundType:a.Message.getFieldWithDefault(n,4,0),secondaryType:a.Message.getFieldWithDefault(n,5,0),delay:a.Message.getFloatingPointFieldWithDefault(n,1,0),caliberM:a.Message.getFloatingPointFieldWithDefault(n,6,0),deprecatedDelayRandomScale:a.Message.getFloatingPointFieldWithDefault(n,2,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.Sound.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Sound;return proto.Finale3dEffect.Sound.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Sound.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 3:t=n.readFloat();e.setDuration(t);break;case 4:t=n.readEnum();e.setSoundType(t);break;case 5:t=n.readEnum();e.setSecondaryType(t);break;case 1:t=n.readFloat();e.setDelay(t);break;case 6:t=n.readFloat();e.setCaliberM(t);break;case 2:t=n.readFloat();e.setDeprecatedDelayRandomScale(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Sound.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Sound.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Sound.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),0!==(t=e.getDuration())&&n.writeFloat(3,t),0!==(t=e.getSoundType())&&n.writeEnum(4,t),0!==(t=e.getSecondaryType())&&n.writeEnum(5,t),0!==(t=e.getDelay())&&n.writeFloat(1,t),0!==(t=e.getCaliberM())&&n.writeFloat(6,t),0!==(t=e.getDeprecatedDelayRandomScale())&&n.writeFloat(2,t)},proto.Finale3dEffect.Sound.SoundType={UNDEFINED:0,BREAK:1,REPORT:2,LAUNCH:3,WHISTLE:4,CRACKLE:5,BERAQ:6,GERB:7,FOUNTAIN:8,JET:9,HUMMER:10,SCREAMER:11,WHIRL:12,FIZZLE:13,SQUEAK:14,HELICOPTER:15,HUMMERGROUP:16,WHIRLGROUP:17,WHISTLEGROUP:18,SCREAMERGROUP:19,CRACKLEBURST:20},proto.Finale3dEffect.Sound.SecondaryType={DEFAULT:0,SILENT:1,SOFT:2,PIPE:3,CARDBOARD:4,LOWPITCH:5},proto.Finale3dEffect.Sound.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Sound.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Sound.prototype.getDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Sound.prototype.setDuration=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Sound.prototype.getSoundType=function(){return a.Message.getFieldWithDefault(this,4,0)},proto.Finale3dEffect.Sound.prototype.setSoundType=function(e){return a.Message.setProto3EnumField(this,4,e)},proto.Finale3dEffect.Sound.prototype.getSecondaryType=function(){return a.Message.getFieldWithDefault(this,5,0)},proto.Finale3dEffect.Sound.prototype.setSecondaryType=function(e){return a.Message.setProto3EnumField(this,5,e)},proto.Finale3dEffect.Sound.prototype.getDelay=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Sound.prototype.setDelay=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Sound.prototype.getCaliberM=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.Sound.prototype.setCaliberM=function(e){return a.Message.setProto3FloatField(this,6,e)},proto.Finale3dEffect.Sound.prototype.getDeprecatedDelayRandomScale=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Sound.prototype.setDeprecatedDelayRandomScale=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.StarParticle.repeatedFields_=[7,4,2,3],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.StarParticle.prototype.toObject=function(e){return proto.Finale3dEffect.StarParticle.toObject(e,this)},proto.Finale3dEffect.StarParticle.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),starPhasesList:a.Message.toObjectList(n.getStarPhasesList(),proto.Finale3dEffect.StarPhase.toObject,e),breaksList:a.Message.toObjectList(n.getBreaksList(),proto.Finale3dEffect.Break.toObject,e),deprecatedDuration:(t=n.getDeprecatedDuration())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedWindFriction:(t=n.getDeprecatedWindFriction())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedMotionType:a.Message.getFieldWithDefault(n,1,0),deprecatedVisualsList:a.Message.toObjectList(n.getDeprecatedVisualsList(),proto.Finale3dEffect.Visual.toObject,e),deprecatedEmittersList:a.Message.toObjectList(n.getDeprecatedEmittersList(),proto.Finale3dEffect.Emitter.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.StarParticle.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.StarParticle;return proto.Finale3dEffect.StarParticle.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.StarParticle.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 7:t=new proto.Finale3dEffect.StarPhase;n.readMessage(t,proto.Finale3dEffect.StarPhase.deserializeBinaryFromReader),e.addStarPhases(t);break;case 4:t=new proto.Finale3dEffect.Break;n.readMessage(t,proto.Finale3dEffect.Break.deserializeBinaryFromReader),e.addBreaks(t);break;case 5:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedDuration(t);break;case 6:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedWindFriction(t);break;case 1:t=n.readEnum();e.setDeprecatedMotionType(t);break;case 2:t=new proto.Finale3dEffect.Visual;n.readMessage(t,proto.Finale3dEffect.Visual.deserializeBinaryFromReader),e.addDeprecatedVisuals(t);break;case 3:t=new proto.Finale3dEffect.Emitter;n.readMessage(t,proto.Finale3dEffect.Emitter.deserializeBinaryFromReader),e.addDeprecatedEmitters(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.StarParticle.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.StarParticle.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.StarParticle.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),(t=e.getStarPhasesList()).length>0&&n.writeRepeatedMessage(7,t,proto.Finale3dEffect.StarPhase.serializeBinaryToWriter),(t=e.getBreaksList()).length>0&&n.writeRepeatedMessage(4,t,proto.Finale3dEffect.Break.serializeBinaryToWriter),null!=(t=e.getDeprecatedDuration())&&n.writeMessage(5,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getDeprecatedWindFriction())&&n.writeMessage(6,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getDeprecatedMotionType())&&n.writeEnum(1,t),(t=e.getDeprecatedVisualsList()).length>0&&n.writeRepeatedMessage(2,t,proto.Finale3dEffect.Visual.serializeBinaryToWriter),(t=e.getDeprecatedEmittersList()).length>0&&n.writeRepeatedMessage(3,t,proto.Finale3dEffect.Emitter.serializeBinaryToWriter)},proto.Finale3dEffect.StarParticle.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.StarParticle.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.StarParticle.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.StarParticle.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.StarParticle.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.StarParticle.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.StarParticle.prototype.getStarPhasesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.StarPhase,7)},proto.Finale3dEffect.StarParticle.prototype.setStarPhasesList=function(e){return a.Message.setRepeatedWrapperField(this,7,e)},proto.Finale3dEffect.StarParticle.prototype.addStarPhases=function(e,n){return a.Message.addToRepeatedWrapperField(this,7,e,proto.Finale3dEffect.StarPhase,n)},proto.Finale3dEffect.StarParticle.prototype.clearStarPhasesList=function(){return this.setStarPhasesList([])},proto.Finale3dEffect.StarParticle.prototype.getBreaksList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Break,4)},proto.Finale3dEffect.StarParticle.prototype.setBreaksList=function(e){return a.Message.setRepeatedWrapperField(this,4,e)},proto.Finale3dEffect.StarParticle.prototype.addBreaks=function(e,n){return a.Message.addToRepeatedWrapperField(this,4,e,proto.Finale3dEffect.Break,n)},proto.Finale3dEffect.StarParticle.prototype.clearBreaksList=function(){return this.setBreaksList([])},proto.Finale3dEffect.StarParticle.prototype.getDeprecatedDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,5)},proto.Finale3dEffect.StarParticle.prototype.setDeprecatedDuration=function(e){return a.Message.setWrapperField(this,5,e)},proto.Finale3dEffect.StarParticle.prototype.clearDeprecatedDuration=function(){return this.setDeprecatedDuration(void 0)},proto.Finale3dEffect.StarParticle.prototype.hasDeprecatedDuration=function(){return null!=a.Message.getField(this,5)},proto.Finale3dEffect.StarParticle.prototype.getDeprecatedWindFriction=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,6)},proto.Finale3dEffect.StarParticle.prototype.setDeprecatedWindFriction=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.StarParticle.prototype.clearDeprecatedWindFriction=function(){return this.setDeprecatedWindFriction(void 0)},proto.Finale3dEffect.StarParticle.prototype.hasDeprecatedWindFriction=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.StarParticle.prototype.getDeprecatedMotionType=function(){return a.Message.getFieldWithDefault(this,1,0)},proto.Finale3dEffect.StarParticle.prototype.setDeprecatedMotionType=function(e){return a.Message.setProto3EnumField(this,1,e)},proto.Finale3dEffect.StarParticle.prototype.getDeprecatedVisualsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Visual,2)},proto.Finale3dEffect.StarParticle.prototype.setDeprecatedVisualsList=function(e){return a.Message.setRepeatedWrapperField(this,2,e)},proto.Finale3dEffect.StarParticle.prototype.addDeprecatedVisuals=function(e,n){return a.Message.addToRepeatedWrapperField(this,2,e,proto.Finale3dEffect.Visual,n)},proto.Finale3dEffect.StarParticle.prototype.clearDeprecatedVisualsList=function(){return this.setDeprecatedVisualsList([])},proto.Finale3dEffect.StarParticle.prototype.getDeprecatedEmittersList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Emitter,3)},proto.Finale3dEffect.StarParticle.prototype.setDeprecatedEmittersList=function(e){return a.Message.setRepeatedWrapperField(this,3,e)},proto.Finale3dEffect.StarParticle.prototype.addDeprecatedEmitters=function(e,n){return a.Message.addToRepeatedWrapperField(this,3,e,proto.Finale3dEffect.Emitter,n)},proto.Finale3dEffect.StarParticle.prototype.clearDeprecatedEmittersList=function(){return this.setDeprecatedEmittersList([])},proto.Finale3dEffect.StarPhase.repeatedFields_=[1,2],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.StarPhase.prototype.toObject=function(e){return proto.Finale3dEffect.StarPhase.toObject(e,this)},proto.Finale3dEffect.StarPhase.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),visualsList:a.Message.toObjectList(n.getVisualsList(),proto.Finale3dEffect.Visual.toObject,e),emittersList:a.Message.toObjectList(n.getEmittersList(),proto.Finale3dEffect.Emitter.toObject,e),motionType:a.Message.getFieldWithDefault(n,4,0),duration:(t=n.getDuration())&&proto.Finale3dEffect.Distribution.toObject(e,t),windFriction:(t=n.getWindFriction())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedProportion:a.Message.getFloatingPointFieldWithDefault(n,3,0)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.StarPhase.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.StarPhase;return proto.Finale3dEffect.StarPhase.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.StarPhase.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=new proto.Finale3dEffect.Visual;n.readMessage(t,proto.Finale3dEffect.Visual.deserializeBinaryFromReader),e.addVisuals(t);break;case 2:t=new proto.Finale3dEffect.Emitter;n.readMessage(t,proto.Finale3dEffect.Emitter.deserializeBinaryFromReader),e.addEmitters(t);break;case 4:t=n.readEnum();e.setMotionType(t);break;case 5:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDuration(t);break;case 6:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setWindFriction(t);break;case 3:t=n.readFloat();e.setDeprecatedProportion(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.StarPhase.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.StarPhase.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.StarPhase.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),(t=e.getVisualsList()).length>0&&n.writeRepeatedMessage(1,t,proto.Finale3dEffect.Visual.serializeBinaryToWriter),(t=e.getEmittersList()).length>0&&n.writeRepeatedMessage(2,t,proto.Finale3dEffect.Emitter.serializeBinaryToWriter),0!==(t=e.getMotionType())&&n.writeEnum(4,t),null!=(t=e.getDuration())&&n.writeMessage(5,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getWindFriction())&&n.writeMessage(6,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getDeprecatedProportion())&&n.writeFloat(3,t)},proto.Finale3dEffect.StarPhase.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.StarPhase.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.StarPhase.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.StarPhase.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.StarPhase.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.StarPhase.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.StarPhase.prototype.getVisualsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Visual,1)},proto.Finale3dEffect.StarPhase.prototype.setVisualsList=function(e){return a.Message.setRepeatedWrapperField(this,1,e)},proto.Finale3dEffect.StarPhase.prototype.addVisuals=function(e,n){return a.Message.addToRepeatedWrapperField(this,1,e,proto.Finale3dEffect.Visual,n)},proto.Finale3dEffect.StarPhase.prototype.clearVisualsList=function(){return this.setVisualsList([])},proto.Finale3dEffect.StarPhase.prototype.getEmittersList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Emitter,2)},proto.Finale3dEffect.StarPhase.prototype.setEmittersList=function(e){return a.Message.setRepeatedWrapperField(this,2,e)},proto.Finale3dEffect.StarPhase.prototype.addEmitters=function(e,n){return a.Message.addToRepeatedWrapperField(this,2,e,proto.Finale3dEffect.Emitter,n)},proto.Finale3dEffect.StarPhase.prototype.clearEmittersList=function(){return this.setEmittersList([])},proto.Finale3dEffect.StarPhase.prototype.getMotionType=function(){return a.Message.getFieldWithDefault(this,4,0)},proto.Finale3dEffect.StarPhase.prototype.setMotionType=function(e){return a.Message.setProto3EnumField(this,4,e)},proto.Finale3dEffect.StarPhase.prototype.getDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,5)},proto.Finale3dEffect.StarPhase.prototype.setDuration=function(e){return a.Message.setWrapperField(this,5,e)},proto.Finale3dEffect.StarPhase.prototype.clearDuration=function(){return this.setDuration(void 0)},proto.Finale3dEffect.StarPhase.prototype.hasDuration=function(){return null!=a.Message.getField(this,5)},proto.Finale3dEffect.StarPhase.prototype.getWindFriction=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,6)},proto.Finale3dEffect.StarPhase.prototype.setWindFriction=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.StarPhase.prototype.clearWindFriction=function(){return this.setWindFriction(void 0)},proto.Finale3dEffect.StarPhase.prototype.hasWindFriction=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.StarPhase.prototype.getDeprecatedProportion=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.StarPhase.prototype.setDeprecatedProportion=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Visual.oneofGroups_=[[1,2,3,4]],proto.Finale3dEffect.Visual.ACase={A_NOT_SET:0,SPARK:1,SMOKE:2,FLAME:3,LIGHT_BEAM:4},proto.Finale3dEffect.Visual.prototype.getACase=function(){return a.Message.computeOneofCase(this,proto.Finale3dEffect.Visual.oneofGroups_[0])},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Visual.prototype.toObject=function(e){return proto.Finale3dEffect.Visual.toObject(e,this)},proto.Finale3dEffect.Visual.toObject=function(e,n){var t,a={spark:(t=n.getSpark())&&proto.Finale3dEffect.SparkVisual.toObject(e,t),smoke:(t=n.getSmoke())&&proto.Finale3dEffect.SmokeVisual.toObject(e,t),flame:(t=n.getFlame())&&proto.Finale3dEffect.FlameVisual.toObject(e,t),lightBeam:(t=n.getLightBeam())&&proto.Finale3dEffect.LightBeamVisual.toObject(e,t)};return e&&(a.$jspbMessageInstance=n),a}),proto.Finale3dEffect.Visual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Visual;return proto.Finale3dEffect.Visual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Visual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=new proto.Finale3dEffect.SparkVisual;n.readMessage(t,proto.Finale3dEffect.SparkVisual.deserializeBinaryFromReader),e.setSpark(t);break;case 2:t=new proto.Finale3dEffect.SmokeVisual;n.readMessage(t,proto.Finale3dEffect.SmokeVisual.deserializeBinaryFromReader),e.setSmoke(t);break;case 3:t=new proto.Finale3dEffect.FlameVisual;n.readMessage(t,proto.Finale3dEffect.FlameVisual.deserializeBinaryFromReader),e.setFlame(t);break;case 4:t=new proto.Finale3dEffect.LightBeamVisual;n.readMessage(t,proto.Finale3dEffect.LightBeamVisual.deserializeBinaryFromReader),e.setLightBeam(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Visual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Visual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Visual.serializeBinaryToWriter=function(e,n){var t=void 0;null!=(t=e.getSpark())&&n.writeMessage(1,t,proto.Finale3dEffect.SparkVisual.serializeBinaryToWriter),null!=(t=e.getSmoke())&&n.writeMessage(2,t,proto.Finale3dEffect.SmokeVisual.serializeBinaryToWriter),null!=(t=e.getFlame())&&n.writeMessage(3,t,proto.Finale3dEffect.FlameVisual.serializeBinaryToWriter),null!=(t=e.getLightBeam())&&n.writeMessage(4,t,proto.Finale3dEffect.LightBeamVisual.serializeBinaryToWriter)},proto.Finale3dEffect.Visual.prototype.getSpark=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.SparkVisual,1)},proto.Finale3dEffect.Visual.prototype.setSpark=function(e){return a.Message.setOneofWrapperField(this,1,proto.Finale3dEffect.Visual.oneofGroups_[0],e)},proto.Finale3dEffect.Visual.prototype.clearSpark=function(){return this.setSpark(void 0)},proto.Finale3dEffect.Visual.prototype.hasSpark=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.Visual.prototype.getSmoke=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.SmokeVisual,2)},proto.Finale3dEffect.Visual.prototype.setSmoke=function(e){return a.Message.setOneofWrapperField(this,2,proto.Finale3dEffect.Visual.oneofGroups_[0],e)},proto.Finale3dEffect.Visual.prototype.clearSmoke=function(){return this.setSmoke(void 0)},proto.Finale3dEffect.Visual.prototype.hasSmoke=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.Visual.prototype.getFlame=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.FlameVisual,3)},proto.Finale3dEffect.Visual.prototype.setFlame=function(e){return a.Message.setOneofWrapperField(this,3,proto.Finale3dEffect.Visual.oneofGroups_[0],e)},proto.Finale3dEffect.Visual.prototype.clearFlame=function(){return this.setFlame(void 0)},proto.Finale3dEffect.Visual.prototype.hasFlame=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.Visual.prototype.getLightBeam=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.LightBeamVisual,4)},proto.Finale3dEffect.Visual.prototype.setLightBeam=function(e){return a.Message.setOneofWrapperField(this,4,proto.Finale3dEffect.Visual.oneofGroups_[0],e)},proto.Finale3dEffect.Visual.prototype.clearLightBeam=function(){return this.setLightBeam(void 0)},proto.Finale3dEffect.Visual.prototype.hasLightBeam=function(){return null!=a.Message.getField(this,4)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.SparkVisual.prototype.toObject=function(e){return proto.Finale3dEffect.SparkVisual.toObject(e,this)},proto.Finale3dEffect.SparkVisual.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),caliberKappa:a.Message.getFloatingPointFieldWithDefault(n,10,0),intensity:a.Message.getFloatingPointFieldWithDefault(n,2,0),intensityCurve:(t=n.getIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),intensityCurveLoopDuration:a.Message.getFloatingPointFieldWithDefault(n,4,0),temperature0:a.Message.getFloatingPointFieldWithDefault(n,5,0),temperature1:a.Message.getFloatingPointFieldWithDefault(n,6,0),temperatureCurve:(t=n.getTemperatureCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),color0:(t=n.getColor0())&&proto.Finale3dEffect.Point3d.toObject(e,t),color1:(t=n.getColor1())&&proto.Finale3dEffect.Point3d.toObject(e,t),hotCircleDiameter:(t=n.getHotCircleDiameter())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedRadius:(t=n.getDeprecatedRadius())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedIntensityCurve:(t=n.getDeprecatedIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),deprecatedTemperatureCurve:(t=n.getDeprecatedTemperatureCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.SparkVisual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.SparkVisual;return proto.Finale3dEffect.SparkVisual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.SparkVisual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 10:t=n.readFloat();e.setCaliberKappa(t);break;case 2:t=n.readFloat();e.setIntensity(t);break;case 12:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setIntensityCurve(t);break;case 4:t=n.readFloat();e.setIntensityCurveLoopDuration(t);break;case 5:t=n.readFloat();e.setTemperature0(t);break;case 6:t=n.readFloat();e.setTemperature1(t);break;case 13:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setTemperatureCurve(t);break;case 8:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setColor0(t);break;case 9:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setColor1(t);break;case 11:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setHotCircleDiameter(t);break;case 1:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedRadius(t);break;case 3:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedIntensityCurve(t);break;case 7:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedTemperatureCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.SparkVisual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.SparkVisual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.SparkVisual.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getCaliberKappa())&&n.writeFloat(10,t),0!==(t=e.getIntensity())&&n.writeFloat(2,t),null!=(t=e.getIntensityCurve())&&n.writeMessage(12,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),0!==(t=e.getIntensityCurveLoopDuration())&&n.writeFloat(4,t),0!==(t=e.getTemperature0())&&n.writeFloat(5,t),0!==(t=e.getTemperature1())&&n.writeFloat(6,t),null!=(t=e.getTemperatureCurve())&&n.writeMessage(13,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getColor0())&&n.writeMessage(8,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getColor1())&&n.writeMessage(9,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getHotCircleDiameter())&&n.writeMessage(11,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getDeprecatedRadius())&&n.writeMessage(1,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getDeprecatedIntensityCurve())&&n.writeMessage(3,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getDeprecatedTemperatureCurve())&&n.writeMessage(7,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.SparkVisual.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.SparkVisual.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.SparkVisual.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.SparkVisual.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.SparkVisual.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.SparkVisual.prototype.getCaliberKappa=function(){return a.Message.getFloatingPointFieldWithDefault(this,10,0)},proto.Finale3dEffect.SparkVisual.prototype.setCaliberKappa=function(e){return a.Message.setProto3FloatField(this,10,e)},proto.Finale3dEffect.SparkVisual.prototype.getIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.SparkVisual.prototype.setIntensity=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.SparkVisual.prototype.getIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,12)},proto.Finale3dEffect.SparkVisual.prototype.setIntensityCurve=function(e){return a.Message.setWrapperField(this,12,e)},proto.Finale3dEffect.SparkVisual.prototype.clearIntensityCurve=function(){return this.setIntensityCurve(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasIntensityCurve=function(){return null!=a.Message.getField(this,12)},proto.Finale3dEffect.SparkVisual.prototype.getIntensityCurveLoopDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.SparkVisual.prototype.setIntensityCurveLoopDuration=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.SparkVisual.prototype.getTemperature0=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.SparkVisual.prototype.setTemperature0=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.SparkVisual.prototype.getTemperature1=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.SparkVisual.prototype.setTemperature1=function(e){return a.Message.setProto3FloatField(this,6,e)},proto.Finale3dEffect.SparkVisual.prototype.getTemperatureCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,13)},proto.Finale3dEffect.SparkVisual.prototype.setTemperatureCurve=function(e){return a.Message.setWrapperField(this,13,e)},proto.Finale3dEffect.SparkVisual.prototype.clearTemperatureCurve=function(){return this.setTemperatureCurve(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasTemperatureCurve=function(){return null!=a.Message.getField(this,13)},proto.Finale3dEffect.SparkVisual.prototype.getColor0=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,8)},proto.Finale3dEffect.SparkVisual.prototype.setColor0=function(e){return a.Message.setWrapperField(this,8,e)},proto.Finale3dEffect.SparkVisual.prototype.clearColor0=function(){return this.setColor0(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasColor0=function(){return null!=a.Message.getField(this,8)},proto.Finale3dEffect.SparkVisual.prototype.getColor1=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,9)},proto.Finale3dEffect.SparkVisual.prototype.setColor1=function(e){return a.Message.setWrapperField(this,9,e)},proto.Finale3dEffect.SparkVisual.prototype.clearColor1=function(){return this.setColor1(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasColor1=function(){return null!=a.Message.getField(this,9)},proto.Finale3dEffect.SparkVisual.prototype.getHotCircleDiameter=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,11)},proto.Finale3dEffect.SparkVisual.prototype.setHotCircleDiameter=function(e){return a.Message.setWrapperField(this,11,e)},proto.Finale3dEffect.SparkVisual.prototype.clearHotCircleDiameter=function(){return this.setHotCircleDiameter(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasHotCircleDiameter=function(){return null!=a.Message.getField(this,11)},proto.Finale3dEffect.SparkVisual.prototype.getDeprecatedRadius=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,1)},proto.Finale3dEffect.SparkVisual.prototype.setDeprecatedRadius=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.SparkVisual.prototype.clearDeprecatedRadius=function(){return this.setDeprecatedRadius(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasDeprecatedRadius=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.SparkVisual.prototype.getDeprecatedIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,3)},proto.Finale3dEffect.SparkVisual.prototype.setDeprecatedIntensityCurve=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.SparkVisual.prototype.clearDeprecatedIntensityCurve=function(){return this.setDeprecatedIntensityCurve(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasDeprecatedIntensityCurve=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.SparkVisual.prototype.getDeprecatedTemperatureCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,7)},proto.Finale3dEffect.SparkVisual.prototype.setDeprecatedTemperatureCurve=function(e){return a.Message.setWrapperField(this,7,e)},proto.Finale3dEffect.SparkVisual.prototype.clearDeprecatedTemperatureCurve=function(){return this.setDeprecatedTemperatureCurve(void 0)},proto.Finale3dEffect.SparkVisual.prototype.hasDeprecatedTemperatureCurve=function(){return null!=a.Message.getField(this,7)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.LightBeamVisual.prototype.toObject=function(e){return proto.Finale3dEffect.LightBeamVisual.toObject(e,this)},proto.Finale3dEffect.LightBeamVisual.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),intensity:a.Message.getFloatingPointFieldWithDefault(n,1,0),intensityCurve:(t=n.getIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),color0:(t=n.getColor0())&&proto.Finale3dEffect.Point3d.toObject(e,t),color1:(t=n.getColor1())&&proto.Finale3dEffect.Point3d.toObject(e,t),angleSpread0:a.Message.getFloatingPointFieldWithDefault(n,5,0),angleSpread1:a.Message.getFloatingPointFieldWithDefault(n,6,0),diameter0:a.Message.getFloatingPointFieldWithDefault(n,7,0),coneHeight0:a.Message.getFloatingPointFieldWithDefault(n,8,0),deprecatedIntensityCurve:(t=n.getDeprecatedIntensityCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.LightBeamVisual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.LightBeamVisual;return proto.Finale3dEffect.LightBeamVisual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.LightBeamVisual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=n.readFloat();e.setIntensity(t);break;case 9:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setIntensityCurve(t);break;case 3:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setColor0(t);break;case 4:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setColor1(t);break;case 5:t=n.readFloat();e.setAngleSpread0(t);break;case 6:t=n.readFloat();e.setAngleSpread1(t);break;case 7:t=n.readFloat();e.setDiameter0(t);break;case 8:t=n.readFloat();e.setConeHeight0(t);break;case 2:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedIntensityCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.LightBeamVisual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.LightBeamVisual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.LightBeamVisual.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getIntensity())&&n.writeFloat(1,t),null!=(t=e.getIntensityCurve())&&n.writeMessage(9,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getColor0())&&n.writeMessage(3,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getColor1())&&n.writeMessage(4,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),0!==(t=e.getAngleSpread0())&&n.writeFloat(5,t),0!==(t=e.getAngleSpread1())&&n.writeFloat(6,t),0!==(t=e.getDiameter0())&&n.writeFloat(7,t),0!==(t=e.getConeHeight0())&&n.writeFloat(8,t),null!=(t=e.getDeprecatedIntensityCurve())&&n.writeMessage(2,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.LightBeamVisual.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.LightBeamVisual.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.LightBeamVisual.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.LightBeamVisual.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.LightBeamVisual.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.LightBeamVisual.prototype.getIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.LightBeamVisual.prototype.setIntensity=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,9)},proto.Finale3dEffect.LightBeamVisual.prototype.setIntensityCurve=function(e){return a.Message.setWrapperField(this,9,e)},proto.Finale3dEffect.LightBeamVisual.prototype.clearIntensityCurve=function(){return this.setIntensityCurve(void 0)},proto.Finale3dEffect.LightBeamVisual.prototype.hasIntensityCurve=function(){return null!=a.Message.getField(this,9)},proto.Finale3dEffect.LightBeamVisual.prototype.getColor0=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,3)},proto.Finale3dEffect.LightBeamVisual.prototype.setColor0=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.LightBeamVisual.prototype.clearColor0=function(){return this.setColor0(void 0)},proto.Finale3dEffect.LightBeamVisual.prototype.hasColor0=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.LightBeamVisual.prototype.getColor1=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,4)},proto.Finale3dEffect.LightBeamVisual.prototype.setColor1=function(e){return a.Message.setWrapperField(this,4,e)},proto.Finale3dEffect.LightBeamVisual.prototype.clearColor1=function(){return this.setColor1(void 0)},proto.Finale3dEffect.LightBeamVisual.prototype.hasColor1=function(){return null!=a.Message.getField(this,4)},proto.Finale3dEffect.LightBeamVisual.prototype.getAngleSpread0=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.LightBeamVisual.prototype.setAngleSpread0=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getAngleSpread1=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.LightBeamVisual.prototype.setAngleSpread1=function(e){return a.Message.setProto3FloatField(this,6,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getDiameter0=function(){return a.Message.getFloatingPointFieldWithDefault(this,7,0)},proto.Finale3dEffect.LightBeamVisual.prototype.setDiameter0=function(e){return a.Message.setProto3FloatField(this,7,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getConeHeight0=function(){return a.Message.getFloatingPointFieldWithDefault(this,8,0)},proto.Finale3dEffect.LightBeamVisual.prototype.setConeHeight0=function(e){return a.Message.setProto3FloatField(this,8,e)},proto.Finale3dEffect.LightBeamVisual.prototype.getDeprecatedIntensityCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,2)},proto.Finale3dEffect.LightBeamVisual.prototype.setDeprecatedIntensityCurve=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.LightBeamVisual.prototype.clearDeprecatedIntensityCurve=function(){return this.setDeprecatedIntensityCurve(void 0)},proto.Finale3dEffect.LightBeamVisual.prototype.hasDeprecatedIntensityCurve=function(){return null!=a.Message.getField(this,2)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.SmokeVisual.prototype.toObject=function(e){return proto.Finale3dEffect.SmokeVisual.toObject(e,this)},proto.Finale3dEffect.SmokeVisual.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),alpha:a.Message.getFloatingPointFieldWithDefault(n,1,0),size0:a.Message.getFloatingPointFieldWithDefault(n,3,0),size1:a.Message.getFloatingPointFieldWithDefault(n,4,0),sizeCurve:(t=n.getSizeCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),deprecatedSizeCurve:(t=n.getDeprecatedSizeCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.SmokeVisual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.SmokeVisual;return proto.Finale3dEffect.SmokeVisual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.SmokeVisual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=n.readFloat();e.setAlpha(t);break;case 3:t=n.readFloat();e.setSize0(t);break;case 4:t=n.readFloat();e.setSize1(t);break;case 6:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setSizeCurve(t);break;case 5:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedSizeCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.SmokeVisual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.SmokeVisual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.SmokeVisual.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getAlpha())&&n.writeFloat(1,t),0!==(t=e.getSize0())&&n.writeFloat(3,t),0!==(t=e.getSize1())&&n.writeFloat(4,t),null!=(t=e.getSizeCurve())&&n.writeMessage(6,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getDeprecatedSizeCurve())&&n.writeMessage(5,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.SmokeVisual.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.SmokeVisual.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.SmokeVisual.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.SmokeVisual.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.SmokeVisual.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.SmokeVisual.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.SmokeVisual.prototype.getAlpha=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.SmokeVisual.prototype.setAlpha=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.SmokeVisual.prototype.getSize0=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.SmokeVisual.prototype.setSize0=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.SmokeVisual.prototype.getSize1=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.SmokeVisual.prototype.setSize1=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.SmokeVisual.prototype.getSizeCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,6)},proto.Finale3dEffect.SmokeVisual.prototype.setSizeCurve=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.SmokeVisual.prototype.clearSizeCurve=function(){return this.setSizeCurve(void 0)},proto.Finale3dEffect.SmokeVisual.prototype.hasSizeCurve=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.SmokeVisual.prototype.getDeprecatedSizeCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,5)},proto.Finale3dEffect.SmokeVisual.prototype.setDeprecatedSizeCurve=function(e){return a.Message.setWrapperField(this,5,e)},proto.Finale3dEffect.SmokeVisual.prototype.clearDeprecatedSizeCurve=function(){return this.setDeprecatedSizeCurve(void 0)},proto.Finale3dEffect.SmokeVisual.prototype.hasDeprecatedSizeCurve=function(){return null!=a.Message.getField(this,5)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.FlameVisual.prototype.toObject=function(e){return proto.Finale3dEffect.FlameVisual.toObject(e,this)},proto.Finale3dEffect.FlameVisual.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),size0:a.Message.getFloatingPointFieldWithDefault(n,1,0),size1:a.Message.getFloatingPointFieldWithDefault(n,2,0),sizeCurve:(t=n.getSizeCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),temperature0:a.Message.getFloatingPointFieldWithDefault(n,4,0),temperature1:a.Message.getFloatingPointFieldWithDefault(n,5,0),temperatureCurve:(t=n.getTemperatureCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),alphaCurve:(t=n.getAlphaCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),deprecatedSizeCurve:(t=n.getDeprecatedSizeCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),deprecatedTemperatureCurve:(t=n.getDeprecatedTemperatureCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),deprecatedAlphaCurve:(t=n.getDeprecatedAlphaCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.FlameVisual.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.FlameVisual;return proto.Finale3dEffect.FlameVisual.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.FlameVisual.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=n.readFloat();e.setSize0(t);break;case 2:t=n.readFloat();e.setSize1(t);break;case 8:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setSizeCurve(t);break;case 4:t=n.readFloat();e.setTemperature0(t);break;case 5:t=n.readFloat();e.setTemperature1(t);break;case 9:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setTemperatureCurve(t);break;case 10:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setAlphaCurve(t);break;case 3:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedSizeCurve(t);break;case 6:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedTemperatureCurve(t);break;case 7:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedAlphaCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.FlameVisual.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.FlameVisual.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.FlameVisual.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getSize0())&&n.writeFloat(1,t),0!==(t=e.getSize1())&&n.writeFloat(2,t),null!=(t=e.getSizeCurve())&&n.writeMessage(8,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),0!==(t=e.getTemperature0())&&n.writeFloat(4,t),0!==(t=e.getTemperature1())&&n.writeFloat(5,t),null!=(t=e.getTemperatureCurve())&&n.writeMessage(9,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getAlphaCurve())&&n.writeMessage(10,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getDeprecatedSizeCurve())&&n.writeMessage(3,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getDeprecatedTemperatureCurve())&&n.writeMessage(6,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),null!=(t=e.getDeprecatedAlphaCurve())&&n.writeMessage(7,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.FlameVisual.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.FlameVisual.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.FlameVisual.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.FlameVisual.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.FlameVisual.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.FlameVisual.prototype.getSize0=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.FlameVisual.prototype.setSize0=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.FlameVisual.prototype.getSize1=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.FlameVisual.prototype.setSize1=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.FlameVisual.prototype.getSizeCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,8)},proto.Finale3dEffect.FlameVisual.prototype.setSizeCurve=function(e){return a.Message.setWrapperField(this,8,e)},proto.Finale3dEffect.FlameVisual.prototype.clearSizeCurve=function(){return this.setSizeCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasSizeCurve=function(){return null!=a.Message.getField(this,8)},proto.Finale3dEffect.FlameVisual.prototype.getTemperature0=function(){return a.Message.getFloatingPointFieldWithDefault(this,4,0)},proto.Finale3dEffect.FlameVisual.prototype.setTemperature0=function(e){return a.Message.setProto3FloatField(this,4,e)},proto.Finale3dEffect.FlameVisual.prototype.getTemperature1=function(){return a.Message.getFloatingPointFieldWithDefault(this,5,0)},proto.Finale3dEffect.FlameVisual.prototype.setTemperature1=function(e){return a.Message.setProto3FloatField(this,5,e)},proto.Finale3dEffect.FlameVisual.prototype.getTemperatureCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,9)},proto.Finale3dEffect.FlameVisual.prototype.setTemperatureCurve=function(e){return a.Message.setWrapperField(this,9,e)},proto.Finale3dEffect.FlameVisual.prototype.clearTemperatureCurve=function(){return this.setTemperatureCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasTemperatureCurve=function(){return null!=a.Message.getField(this,9)},proto.Finale3dEffect.FlameVisual.prototype.getAlphaCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,10)},proto.Finale3dEffect.FlameVisual.prototype.setAlphaCurve=function(e){return a.Message.setWrapperField(this,10,e)},proto.Finale3dEffect.FlameVisual.prototype.clearAlphaCurve=function(){return this.setAlphaCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasAlphaCurve=function(){return null!=a.Message.getField(this,10)},proto.Finale3dEffect.FlameVisual.prototype.getDeprecatedSizeCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,3)},proto.Finale3dEffect.FlameVisual.prototype.setDeprecatedSizeCurve=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.FlameVisual.prototype.clearDeprecatedSizeCurve=function(){return this.setDeprecatedSizeCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasDeprecatedSizeCurve=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.FlameVisual.prototype.getDeprecatedTemperatureCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,6)},proto.Finale3dEffect.FlameVisual.prototype.setDeprecatedTemperatureCurve=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.FlameVisual.prototype.clearDeprecatedTemperatureCurve=function(){return this.setDeprecatedTemperatureCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasDeprecatedTemperatureCurve=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.FlameVisual.prototype.getDeprecatedAlphaCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,7)},proto.Finale3dEffect.FlameVisual.prototype.setDeprecatedAlphaCurve=function(e){return a.Message.setWrapperField(this,7,e)},proto.Finale3dEffect.FlameVisual.prototype.clearDeprecatedAlphaCurve=function(){return this.setDeprecatedAlphaCurve(void 0)},proto.Finale3dEffect.FlameVisual.prototype.hasDeprecatedAlphaCurve=function(){return null!=a.Message.getField(this,7)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.StandardBreakPattern.prototype.toObject=function(e){return proto.Finale3dEffect.StandardBreakPattern.toObject(e,this)},proto.Finale3dEffect.StandardBreakPattern.toObject=function(e,n){var t={patternName:a.Message.getFieldWithDefault(n,1,0),numChildren:a.Message.getFieldWithDefault(n,2,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.StandardBreakPattern.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.StandardBreakPattern;return proto.Finale3dEffect.StandardBreakPattern.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.StandardBreakPattern.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readEnum();e.setPatternName(t);break;case 2:t=n.readInt32();e.setNumChildren(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.StandardBreakPattern.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.StandardBreakPattern.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.StandardBreakPattern.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getPatternName())&&n.writeEnum(1,t),0!==(t=e.getNumChildren())&&n.writeInt32(2,t)},proto.Finale3dEffect.StandardBreakPattern.PatternName={SPHERE:0,SPLITSTAR:21,BOTTOMHALF:1,BOWTIE:2,MINE:3,EAR:4,HALFANDHALF:5,TOPHALF:6,BOWTIERINGS:7,CONCENTRICRINGS:8,CROSSRINGS:9,DOUBLEHALFRINGS:10,DOUBLERINGS:11,HALFRING:12,RING:13,TRIPLECONCENTRICRINGS:14,TRIPLECROSSRINGS:15,TRIPLEHALFRINGS:16,TRIPLERINGS:17,MALTESERING:22,STAINEDGLASS:18,HEART:19,SMILEY:20},proto.Finale3dEffect.StandardBreakPattern.prototype.getPatternName=function(){return a.Message.getFieldWithDefault(this,1,0)},proto.Finale3dEffect.StandardBreakPattern.prototype.setPatternName=function(e){return a.Message.setProto3EnumField(this,1,e)};proto.Finale3dEffect.StandardBreakPattern.prototype.getNumChildren=function(){return a.Message.getFieldWithDefault(this,2,0)},proto.Finale3dEffect.StandardBreakPattern.prototype.setNumChildren=function(e){return a.Message.setProto3IntField(this,2,e)},proto.Finale3dEffect.CustomBreakPattern.repeatedFields_=[1,2],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CustomBreakPattern.prototype.toObject=function(e){return proto.Finale3dEffect.CustomBreakPattern.toObject(e,this)},proto.Finale3dEffect.CustomBreakPattern.toObject=function(e,n){var t,i={gridParamsList:null==(t=a.Message.getRepeatedFloatingPointField(n,1))?void 0:t,childPatternsList:a.Message.toObjectList(n.getChildPatternsList(),proto.Finale3dEffect.Point4ds.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.CustomBreakPattern.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CustomBreakPattern;return proto.Finale3dEffect.CustomBreakPattern.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CustomBreakPattern.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readPackedFloat();e.setGridParamsList(t);break;case 2:t=new proto.Finale3dEffect.Point4ds;n.readMessage(t,proto.Finale3dEffect.Point4ds.deserializeBinaryFromReader),e.addChildPatterns(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CustomBreakPattern.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CustomBreakPattern.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CustomBreakPattern.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getGridParamsList()).length>0&&n.writePackedFloat(1,t),(t=e.getChildPatternsList()).length>0&&n.writeRepeatedMessage(2,t,proto.Finale3dEffect.Point4ds.serializeBinaryToWriter)},proto.Finale3dEffect.CustomBreakPattern.prototype.getGridParamsList=function(){return a.Message.getRepeatedFloatingPointField(this,1)},proto.Finale3dEffect.CustomBreakPattern.prototype.setGridParamsList=function(e){return a.Message.setField(this,1,e||[])},proto.Finale3dEffect.CustomBreakPattern.prototype.addGridParams=function(e,n){return a.Message.addToRepeatedField(this,1,e,n)},proto.Finale3dEffect.CustomBreakPattern.prototype.clearGridParamsList=function(){return this.setGridParamsList([])},proto.Finale3dEffect.CustomBreakPattern.prototype.getChildPatternsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Point4ds,2)},proto.Finale3dEffect.CustomBreakPattern.prototype.setChildPatternsList=function(e){return a.Message.setRepeatedWrapperField(this,2,e)},proto.Finale3dEffect.CustomBreakPattern.prototype.addChildPatterns=function(e,n){return a.Message.addToRepeatedWrapperField(this,2,e,proto.Finale3dEffect.Point4ds,n)},proto.Finale3dEffect.CustomBreakPattern.prototype.clearChildPatternsList=function(){return this.setChildPatternsList([])},proto.Finale3dEffect.BreakPattern.oneofGroups_=[[1,2]],proto.Finale3dEffect.BreakPattern.ACase={A_NOT_SET:0,STANDARD_BREAK_PATTERN:1,CUSTOM_BREAK_PATTERN:2},proto.Finale3dEffect.BreakPattern.prototype.getACase=function(){return a.Message.computeOneofCase(this,proto.Finale3dEffect.BreakPattern.oneofGroups_[0])},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.BreakPattern.prototype.toObject=function(e){return proto.Finale3dEffect.BreakPattern.toObject(e,this)},proto.Finale3dEffect.BreakPattern.toObject=function(e,n){var t,a={standardBreakPattern:(t=n.getStandardBreakPattern())&&proto.Finale3dEffect.StandardBreakPattern.toObject(e,t),customBreakPattern:(t=n.getCustomBreakPattern())&&proto.Finale3dEffect.CustomBreakPattern.toObject(e,t)};return e&&(a.$jspbMessageInstance=n),a}),proto.Finale3dEffect.BreakPattern.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.BreakPattern;return proto.Finale3dEffect.BreakPattern.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.BreakPattern.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=new proto.Finale3dEffect.StandardBreakPattern;n.readMessage(t,proto.Finale3dEffect.StandardBreakPattern.deserializeBinaryFromReader),e.setStandardBreakPattern(t);break;case 2:t=new proto.Finale3dEffect.CustomBreakPattern;n.readMessage(t,proto.Finale3dEffect.CustomBreakPattern.deserializeBinaryFromReader),e.setCustomBreakPattern(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.BreakPattern.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.BreakPattern.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.BreakPattern.serializeBinaryToWriter=function(e,n){var t=void 0;null!=(t=e.getStandardBreakPattern())&&n.writeMessage(1,t,proto.Finale3dEffect.StandardBreakPattern.serializeBinaryToWriter),null!=(t=e.getCustomBreakPattern())&&n.writeMessage(2,t,proto.Finale3dEffect.CustomBreakPattern.serializeBinaryToWriter)},proto.Finale3dEffect.BreakPattern.prototype.getStandardBreakPattern=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.StandardBreakPattern,1)},proto.Finale3dEffect.BreakPattern.prototype.setStandardBreakPattern=function(e){return a.Message.setOneofWrapperField(this,1,proto.Finale3dEffect.BreakPattern.oneofGroups_[0],e)},proto.Finale3dEffect.BreakPattern.prototype.clearStandardBreakPattern=function(){return this.setStandardBreakPattern(void 0)},proto.Finale3dEffect.BreakPattern.prototype.hasStandardBreakPattern=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.BreakPattern.prototype.getCustomBreakPattern=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CustomBreakPattern,2)},proto.Finale3dEffect.BreakPattern.prototype.setCustomBreakPattern=function(e){return a.Message.setOneofWrapperField(this,2,proto.Finale3dEffect.BreakPattern.oneofGroups_[0],e)},proto.Finale3dEffect.BreakPattern.prototype.clearCustomBreakPattern=function(){return this.setCustomBreakPattern(void 0)},proto.Finale3dEffect.BreakPattern.prototype.hasCustomBreakPattern=function(){return null!=a.Message.getField(this,2)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Emitter.prototype.toObject=function(e){return proto.Finale3dEffect.Emitter.toObject(e,this)},proto.Finale3dEffect.Emitter.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),emitDuration:(t=n.getEmitDuration())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitWindFriction:(t=n.getEmitWindFriction())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitSpeed:(t=n.getEmitSpeed())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitInheritVelocity:(t=n.getEmitInheritVelocity())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitStyle:a.Message.getFieldWithDefault(n,5,0),emitStyleArg0:a.Message.getFloatingPointFieldWithDefault(n,6,0),emitRateCurve:(t=n.getEmitRateCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t),emitRateMax:a.Message.getFloatingPointFieldWithDefault(n,8,0),emitVelTaper:a.Message.getFloatingPointFieldWithDefault(n,9,0),emitDiscDiameter:a.Message.getFloatingPointFieldWithDefault(n,10,0),emitVisual:(t=n.getEmitVisual())&&proto.Finale3dEffect.Visual.toObject(e,t),deprecatedEmitRateCurve:(t=n.getDeprecatedEmitRateCurve())&&proto.Finale3dEffect.CurveSpec.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Emitter.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Emitter;return proto.Finale3dEffect.Emitter.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Emitter.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitDuration(t);break;case 2:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitWindFriction(t);break;case 3:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitSpeed(t);break;case 4:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitInheritVelocity(t);break;case 5:t=n.readEnum();e.setEmitStyle(t);break;case 6:t=n.readFloat();e.setEmitStyleArg0(t);break;case 12:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setEmitRateCurve(t);break;case 8:t=n.readFloat();e.setEmitRateMax(t);break;case 9:t=n.readFloat();e.setEmitVelTaper(t);break;case 10:t=n.readFloat();e.setEmitDiscDiameter(t);break;case 11:t=new proto.Finale3dEffect.Visual;n.readMessage(t,proto.Finale3dEffect.Visual.deserializeBinaryFromReader),e.setEmitVisual(t);break;case 7:t=new proto.Finale3dEffect.CurveSpec;n.readMessage(t,proto.Finale3dEffect.CurveSpec.deserializeBinaryFromReader),e.setDeprecatedEmitRateCurve(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Emitter.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Emitter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Emitter.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),null!=(t=e.getEmitDuration())&&n.writeMessage(1,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getEmitWindFriction())&&n.writeMessage(2,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getEmitSpeed())&&n.writeMessage(3,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getEmitInheritVelocity())&&n.writeMessage(4,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getEmitStyle())&&n.writeEnum(5,t),0!==(t=e.getEmitStyleArg0())&&n.writeFloat(6,t),null!=(t=e.getEmitRateCurve())&&n.writeMessage(12,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter),0!==(t=e.getEmitRateMax())&&n.writeFloat(8,t),0!==(t=e.getEmitVelTaper())&&n.writeFloat(9,t),0!==(t=e.getEmitDiscDiameter())&&n.writeFloat(10,t),null!=(t=e.getEmitVisual())&&n.writeMessage(11,t,proto.Finale3dEffect.Visual.serializeBinaryToWriter),null!=(t=e.getDeprecatedEmitRateCurve())&&n.writeMessage(7,t,proto.Finale3dEffect.CurveSpec.serializeBinaryToWriter)},proto.Finale3dEffect.Emitter.EmitStyle={UNIFORM:0,TURBULENT:1,TIGERTAIL:2,FOUNTAIN:3},proto.Finale3dEffect.Emitter.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Emitter.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Emitter.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.Emitter.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.Emitter.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.Emitter.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.Emitter.prototype.getEmitDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,1)},proto.Finale3dEffect.Emitter.prototype.setEmitDuration=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitDuration=function(){return this.setEmitDuration(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitDuration=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.Emitter.prototype.getEmitWindFriction=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,2)},proto.Finale3dEffect.Emitter.prototype.setEmitWindFriction=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitWindFriction=function(){return this.setEmitWindFriction(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitWindFriction=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.Emitter.prototype.getEmitSpeed=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,3)},proto.Finale3dEffect.Emitter.prototype.setEmitSpeed=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitSpeed=function(){return this.setEmitSpeed(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitSpeed=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.Emitter.prototype.getEmitInheritVelocity=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,4)},proto.Finale3dEffect.Emitter.prototype.setEmitInheritVelocity=function(e){return a.Message.setWrapperField(this,4,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitInheritVelocity=function(){return this.setEmitInheritVelocity(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitInheritVelocity=function(){return null!=a.Message.getField(this,4)},proto.Finale3dEffect.Emitter.prototype.getEmitStyle=function(){return a.Message.getFieldWithDefault(this,5,0)},proto.Finale3dEffect.Emitter.prototype.setEmitStyle=function(e){return a.Message.setProto3EnumField(this,5,e)},proto.Finale3dEffect.Emitter.prototype.getEmitStyleArg0=function(){return a.Message.getFloatingPointFieldWithDefault(this,6,0)},proto.Finale3dEffect.Emitter.prototype.setEmitStyleArg0=function(e){return a.Message.setProto3FloatField(this,6,e)},proto.Finale3dEffect.Emitter.prototype.getEmitRateCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,12)},proto.Finale3dEffect.Emitter.prototype.setEmitRateCurve=function(e){return a.Message.setWrapperField(this,12,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitRateCurve=function(){return this.setEmitRateCurve(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitRateCurve=function(){return null!=a.Message.getField(this,12)},proto.Finale3dEffect.Emitter.prototype.getEmitRateMax=function(){return a.Message.getFloatingPointFieldWithDefault(this,8,0)},proto.Finale3dEffect.Emitter.prototype.setEmitRateMax=function(e){return a.Message.setProto3FloatField(this,8,e)},proto.Finale3dEffect.Emitter.prototype.getEmitVelTaper=function(){return a.Message.getFloatingPointFieldWithDefault(this,9,0)},proto.Finale3dEffect.Emitter.prototype.setEmitVelTaper=function(e){return a.Message.setProto3FloatField(this,9,e)},proto.Finale3dEffect.Emitter.prototype.getEmitDiscDiameter=function(){return a.Message.getFloatingPointFieldWithDefault(this,10,0)},proto.Finale3dEffect.Emitter.prototype.setEmitDiscDiameter=function(e){return a.Message.setProto3FloatField(this,10,e)},proto.Finale3dEffect.Emitter.prototype.getEmitVisual=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Visual,11)},proto.Finale3dEffect.Emitter.prototype.setEmitVisual=function(e){return a.Message.setWrapperField(this,11,e)},proto.Finale3dEffect.Emitter.prototype.clearEmitVisual=function(){return this.setEmitVisual(void 0)},proto.Finale3dEffect.Emitter.prototype.hasEmitVisual=function(){return null!=a.Message.getField(this,11)},proto.Finale3dEffect.Emitter.prototype.getDeprecatedEmitRateCurve=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CurveSpec,7)},proto.Finale3dEffect.Emitter.prototype.setDeprecatedEmitRateCurve=function(e){return a.Message.setWrapperField(this,7,e)},proto.Finale3dEffect.Emitter.prototype.clearDeprecatedEmitRateCurve=function(){return this.setDeprecatedEmitRateCurve(void 0)},proto.Finale3dEffect.Emitter.prototype.hasDeprecatedEmitRateCurve=function(){return null!=a.Message.getField(this,7)},proto.Finale3dEffect.Break.repeatedFields_=[5,14,4],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.Break.prototype.toObject=function(e){return proto.Finale3dEffect.Break.toObject(e,this)},proto.Finale3dEffect.Break.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),deprecatedTimeFactor:a.Message.getFloatingPointFieldWithDefault(n,1,0),deprecatedPrefire:a.Message.getFloatingPointFieldWithDefault(n,15,0),prefire:(t=n.getPrefire())&&proto.Finale3dEffect.Distribution.toObject(e,t),breakFlashSparkColor:(t=n.getBreakFlashSparkColor())&&proto.Finale3dEffect.Point3d.toObject(e,t),breakFlashSparkIntensity:a.Message.getFloatingPointFieldWithDefault(n,17,0),worldFlashIntensity:a.Message.getFloatingPointFieldWithDefault(n,2,0),worldFlashDuration:a.Message.getFloatingPointFieldWithDefault(n,3,0),soundsList:a.Message.toObjectList(n.getSoundsList(),proto.Finale3dEffect.Sound.toObject,e),petalWidth:(t=n.getPetalWidth())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitInheritVelocity:(t=n.getEmitInheritVelocity())&&proto.Finale3dEffect.Distribution.toObject(e,t),breakRaggedness:a.Message.getFloatingPointFieldWithDefault(n,20,0),randomGroupId:a.Message.getFieldWithDefault(n,8,0),breakPattern:(t=n.getBreakPattern())&&proto.Finale3dEffect.BreakPattern.toObject(e,t),orientationHpr:(t=n.getOrientationHpr())&&proto.Finale3dEffect.Point3d.toObject(e,t),randomizeBreakOrientation:a.Message.getBooleanFieldWithDefault(n,11,!1),randomizeChildGravity:a.Message.getBooleanFieldWithDefault(n,12,!1),ghostArgument:a.Message.getFloatingPointFieldWithDefault(n,13,0),starsList:a.Message.toObjectList(n.getStarsList(),proto.Finale3dEffect.StarParticle.toObject,e),breakSmokeDensity:a.Message.getFloatingPointFieldWithDefault(n,18,0),breakSmokeSize:a.Message.getFloatingPointFieldWithDefault(n,19,0),deprecatedPetalsList:a.Message.toObjectList(n.getDeprecatedPetalsList(),proto.Finale3dEffect.BreakPetal.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.Break.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.Break;return proto.Finale3dEffect.Break.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.Break.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=n.readFloat();e.setDeprecatedTimeFactor(t);break;case 15:t=n.readFloat();e.setDeprecatedPrefire(t);break;case 21:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setPrefire(t);break;case 16:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setBreakFlashSparkColor(t);break;case 17:t=n.readFloat();e.setBreakFlashSparkIntensity(t);break;case 2:t=n.readFloat();e.setWorldFlashIntensity(t);break;case 3:t=n.readFloat();e.setWorldFlashDuration(t);break;case 5:t=new proto.Finale3dEffect.Sound;n.readMessage(t,proto.Finale3dEffect.Sound.deserializeBinaryFromReader),e.addSounds(t);break;case 6:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setPetalWidth(t);break;case 7:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitInheritVelocity(t);break;case 20:t=n.readFloat();e.setBreakRaggedness(t);break;case 8:t=n.readInt32();e.setRandomGroupId(t);break;case 9:t=new proto.Finale3dEffect.BreakPattern;n.readMessage(t,proto.Finale3dEffect.BreakPattern.deserializeBinaryFromReader),e.setBreakPattern(t);break;case 10:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setOrientationHpr(t);break;case 11:t=n.readBool();e.setRandomizeBreakOrientation(t);break;case 12:t=n.readBool();e.setRandomizeChildGravity(t);break;case 13:t=n.readFloat();e.setGhostArgument(t);break;case 14:t=new proto.Finale3dEffect.StarParticle;n.readMessage(t,proto.Finale3dEffect.StarParticle.deserializeBinaryFromReader),e.addStars(t);break;case 18:t=n.readFloat();e.setBreakSmokeDensity(t);break;case 19:t=n.readFloat();e.setBreakSmokeSize(t);break;case 4:t=new proto.Finale3dEffect.BreakPetal;n.readMessage(t,proto.Finale3dEffect.BreakPetal.deserializeBinaryFromReader),e.addDeprecatedPetals(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.Break.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.Break.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.Break.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),0!==(t=e.getDeprecatedTimeFactor())&&n.writeFloat(1,t),0!==(t=e.getDeprecatedPrefire())&&n.writeFloat(15,t),null!=(t=e.getPrefire())&&n.writeMessage(21,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getBreakFlashSparkColor())&&n.writeMessage(16,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),0!==(t=e.getBreakFlashSparkIntensity())&&n.writeFloat(17,t),0!==(t=e.getWorldFlashIntensity())&&n.writeFloat(2,t),0!==(t=e.getWorldFlashDuration())&&n.writeFloat(3,t),(t=e.getSoundsList()).length>0&&n.writeRepeatedMessage(5,t,proto.Finale3dEffect.Sound.serializeBinaryToWriter),null!=(t=e.getPetalWidth())&&n.writeMessage(6,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getEmitInheritVelocity())&&n.writeMessage(7,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getBreakRaggedness())&&n.writeFloat(20,t),0!==(t=e.getRandomGroupId())&&n.writeInt32(8,t),null!=(t=e.getBreakPattern())&&n.writeMessage(9,t,proto.Finale3dEffect.BreakPattern.serializeBinaryToWriter),null!=(t=e.getOrientationHpr())&&n.writeMessage(10,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),(t=e.getRandomizeBreakOrientation())&&n.writeBool(11,t),(t=e.getRandomizeChildGravity())&&n.writeBool(12,t),0!==(t=e.getGhostArgument())&&n.writeFloat(13,t),(t=e.getStarsList()).length>0&&n.writeRepeatedMessage(14,t,proto.Finale3dEffect.StarParticle.serializeBinaryToWriter),0!==(t=e.getBreakSmokeDensity())&&n.writeFloat(18,t),0!==(t=e.getBreakSmokeSize())&&n.writeFloat(19,t),(t=e.getDeprecatedPetalsList()).length>0&&n.writeRepeatedMessage(4,t,proto.Finale3dEffect.BreakPetal.serializeBinaryToWriter)},proto.Finale3dEffect.Break.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.Break.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.Break.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.Break.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.Break.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.Break.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.Break.prototype.getDeprecatedTimeFactor=function(){return a.Message.getFloatingPointFieldWithDefault(this,1,0)},proto.Finale3dEffect.Break.prototype.setDeprecatedTimeFactor=function(e){return a.Message.setProto3FloatField(this,1,e)},proto.Finale3dEffect.Break.prototype.getDeprecatedPrefire=function(){return a.Message.getFloatingPointFieldWithDefault(this,15,0)},proto.Finale3dEffect.Break.prototype.setDeprecatedPrefire=function(e){return a.Message.setProto3FloatField(this,15,e)},proto.Finale3dEffect.Break.prototype.getPrefire=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,21)},proto.Finale3dEffect.Break.prototype.setPrefire=function(e){return a.Message.setWrapperField(this,21,e)},proto.Finale3dEffect.Break.prototype.clearPrefire=function(){return this.setPrefire(void 0)},proto.Finale3dEffect.Break.prototype.hasPrefire=function(){return null!=a.Message.getField(this,21)},proto.Finale3dEffect.Break.prototype.getBreakFlashSparkColor=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,16)},proto.Finale3dEffect.Break.prototype.setBreakFlashSparkColor=function(e){return a.Message.setWrapperField(this,16,e)},proto.Finale3dEffect.Break.prototype.clearBreakFlashSparkColor=function(){return this.setBreakFlashSparkColor(void 0)},proto.Finale3dEffect.Break.prototype.hasBreakFlashSparkColor=function(){return null!=a.Message.getField(this,16)},proto.Finale3dEffect.Break.prototype.getBreakFlashSparkIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,17,0)},proto.Finale3dEffect.Break.prototype.setBreakFlashSparkIntensity=function(e){return a.Message.setProto3FloatField(this,17,e)},proto.Finale3dEffect.Break.prototype.getWorldFlashIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,2,0)},proto.Finale3dEffect.Break.prototype.setWorldFlashIntensity=function(e){return a.Message.setProto3FloatField(this,2,e)},proto.Finale3dEffect.Break.prototype.getWorldFlashDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,3,0)},proto.Finale3dEffect.Break.prototype.setWorldFlashDuration=function(e){return a.Message.setProto3FloatField(this,3,e)},proto.Finale3dEffect.Break.prototype.getSoundsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Sound,5)},proto.Finale3dEffect.Break.prototype.setSoundsList=function(e){return a.Message.setRepeatedWrapperField(this,5,e)},proto.Finale3dEffect.Break.prototype.addSounds=function(e,n){return a.Message.addToRepeatedWrapperField(this,5,e,proto.Finale3dEffect.Sound,n)},proto.Finale3dEffect.Break.prototype.clearSoundsList=function(){return this.setSoundsList([])},proto.Finale3dEffect.Break.prototype.getPetalWidth=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,6)},proto.Finale3dEffect.Break.prototype.setPetalWidth=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.Break.prototype.clearPetalWidth=function(){return this.setPetalWidth(void 0)},proto.Finale3dEffect.Break.prototype.hasPetalWidth=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.Break.prototype.getEmitInheritVelocity=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,7)},proto.Finale3dEffect.Break.prototype.setEmitInheritVelocity=function(e){return a.Message.setWrapperField(this,7,e)},proto.Finale3dEffect.Break.prototype.clearEmitInheritVelocity=function(){return this.setEmitInheritVelocity(void 0)},proto.Finale3dEffect.Break.prototype.hasEmitInheritVelocity=function(){return null!=a.Message.getField(this,7)},proto.Finale3dEffect.Break.prototype.getBreakRaggedness=function(){return a.Message.getFloatingPointFieldWithDefault(this,20,0)},proto.Finale3dEffect.Break.prototype.setBreakRaggedness=function(e){return a.Message.setProto3FloatField(this,20,e)},proto.Finale3dEffect.Break.prototype.getRandomGroupId=function(){return a.Message.getFieldWithDefault(this,8,0)},proto.Finale3dEffect.Break.prototype.setRandomGroupId=function(e){return a.Message.setProto3IntField(this,8,e)},proto.Finale3dEffect.Break.prototype.getBreakPattern=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.BreakPattern,9)},proto.Finale3dEffect.Break.prototype.setBreakPattern=function(e){return a.Message.setWrapperField(this,9,e)},proto.Finale3dEffect.Break.prototype.clearBreakPattern=function(){return this.setBreakPattern(void 0)},proto.Finale3dEffect.Break.prototype.hasBreakPattern=function(){return null!=a.Message.getField(this,9)},proto.Finale3dEffect.Break.prototype.getOrientationHpr=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,10)},proto.Finale3dEffect.Break.prototype.setOrientationHpr=function(e){return a.Message.setWrapperField(this,10,e)},proto.Finale3dEffect.Break.prototype.clearOrientationHpr=function(){return this.setOrientationHpr(void 0)},proto.Finale3dEffect.Break.prototype.hasOrientationHpr=function(){return null!=a.Message.getField(this,10)},proto.Finale3dEffect.Break.prototype.getRandomizeBreakOrientation=function(){return a.Message.getBooleanFieldWithDefault(this,11,!1)},proto.Finale3dEffect.Break.prototype.setRandomizeBreakOrientation=function(e){return a.Message.setProto3BooleanField(this,11,e)},proto.Finale3dEffect.Break.prototype.getRandomizeChildGravity=function(){return a.Message.getBooleanFieldWithDefault(this,12,!1)},proto.Finale3dEffect.Break.prototype.setRandomizeChildGravity=function(e){return a.Message.setProto3BooleanField(this,12,e)},proto.Finale3dEffect.Break.prototype.getGhostArgument=function(){return a.Message.getFloatingPointFieldWithDefault(this,13,0)},proto.Finale3dEffect.Break.prototype.setGhostArgument=function(e){return a.Message.setProto3FloatField(this,13,e)},proto.Finale3dEffect.Break.prototype.getStarsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.StarParticle,14)},proto.Finale3dEffect.Break.prototype.setStarsList=function(e){return a.Message.setRepeatedWrapperField(this,14,e)},proto.Finale3dEffect.Break.prototype.addStars=function(e,n){return a.Message.addToRepeatedWrapperField(this,14,e,proto.Finale3dEffect.StarParticle,n)},proto.Finale3dEffect.Break.prototype.clearStarsList=function(){return this.setStarsList([])},proto.Finale3dEffect.Break.prototype.getBreakSmokeDensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,18,0)},proto.Finale3dEffect.Break.prototype.setBreakSmokeDensity=function(e){return a.Message.setProto3FloatField(this,18,e)},proto.Finale3dEffect.Break.prototype.getBreakSmokeSize=function(){return a.Message.getFloatingPointFieldWithDefault(this,19,0)},proto.Finale3dEffect.Break.prototype.setBreakSmokeSize=function(e){return a.Message.setProto3FloatField(this,19,e)},proto.Finale3dEffect.Break.prototype.getDeprecatedPetalsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.BreakPetal,4)},proto.Finale3dEffect.Break.prototype.setDeprecatedPetalsList=function(e){return a.Message.setRepeatedWrapperField(this,4,e)},proto.Finale3dEffect.Break.prototype.addDeprecatedPetals=function(e,n){return a.Message.addToRepeatedWrapperField(this,4,e,proto.Finale3dEffect.BreakPetal,n)},proto.Finale3dEffect.Break.prototype.clearDeprecatedPetalsList=function(){return this.setDeprecatedPetalsList([])},proto.Finale3dEffect.BreakPetal.repeatedFields_=[12],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.BreakPetal.prototype.toObject=function(e){return proto.Finale3dEffect.BreakPetal.toObject(e,this)},proto.Finale3dEffect.BreakPetal.toObject=function(e,n){var t,i={nodeVdl:a.Message.getFieldWithDefault(n,77,""),dimensions:(t=n.getDimensions())&&proto.Finale3dEffect.Dimensions.toObject(e,t),petalWidth:(t=n.getPetalWidth())&&proto.Finale3dEffect.Distribution.toObject(e,t),emitInheritVelocity:(t=n.getEmitInheritVelocity())&&proto.Finale3dEffect.Distribution.toObject(e,t),randomGroupId:a.Message.getFieldWithDefault(n,5,0),breakPattern:(t=n.getBreakPattern())&&proto.Finale3dEffect.BreakPattern.toObject(e,t),orientationHpr:(t=n.getOrientationHpr())&&proto.Finale3dEffect.Point3d.toObject(e,t),randomizeBreakOrientation:a.Message.getBooleanFieldWithDefault(n,8,!1),randomizeChildGravity:a.Message.getBooleanFieldWithDefault(n,9,!1),ghostArgument:a.Message.getFloatingPointFieldWithDefault(n,11,0),worldFlashIntensity:a.Message.getFloatingPointFieldWithDefault(n,14,0),worldFlashDuration:a.Message.getFloatingPointFieldWithDefault(n,15,0),starsList:a.Message.toObjectList(n.getStarsList(),proto.Finale3dEffect.StarParticle.toObject,e),deprecatedEmitDuration:(t=n.getDeprecatedEmitDuration())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedEmitWindFriction:(t=n.getDeprecatedEmitWindFriction())&&proto.Finale3dEffect.Distribution.toObject(e,t),deprecatedMotionType:a.Message.getFieldWithDefault(n,10,0)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.BreakPetal.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.BreakPetal;return proto.Finale3dEffect.BreakPetal.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.BreakPetal.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 77:var t=n.readString();e.setNodeVdl(t);break;case 82:t=new proto.Finale3dEffect.Dimensions;n.readMessage(t,proto.Finale3dEffect.Dimensions.deserializeBinaryFromReader),e.setDimensions(t);break;case 1:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setPetalWidth(t);break;case 4:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setEmitInheritVelocity(t);break;case 5:t=n.readInt32();e.setRandomGroupId(t);break;case 6:t=new proto.Finale3dEffect.BreakPattern;n.readMessage(t,proto.Finale3dEffect.BreakPattern.deserializeBinaryFromReader),e.setBreakPattern(t);break;case 13:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setOrientationHpr(t);break;case 8:t=n.readBool();e.setRandomizeBreakOrientation(t);break;case 9:t=n.readBool();e.setRandomizeChildGravity(t);break;case 11:t=n.readFloat();e.setGhostArgument(t);break;case 14:t=n.readFloat();e.setWorldFlashIntensity(t);break;case 15:t=n.readFloat();e.setWorldFlashDuration(t);break;case 12:t=new proto.Finale3dEffect.StarParticle;n.readMessage(t,proto.Finale3dEffect.StarParticle.deserializeBinaryFromReader),e.addStars(t);break;case 2:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedEmitDuration(t);break;case 3:t=new proto.Finale3dEffect.Distribution;n.readMessage(t,proto.Finale3dEffect.Distribution.deserializeBinaryFromReader),e.setDeprecatedEmitWindFriction(t);break;case 10:t=n.readEnum();e.setDeprecatedMotionType(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.BreakPetal.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.BreakPetal.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.BreakPetal.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getNodeVdl()).length>0&&n.writeString(77,t),null!=(t=e.getDimensions())&&n.writeMessage(82,t,proto.Finale3dEffect.Dimensions.serializeBinaryToWriter),null!=(t=e.getPetalWidth())&&n.writeMessage(1,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getEmitInheritVelocity())&&n.writeMessage(4,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getRandomGroupId())&&n.writeInt32(5,t),null!=(t=e.getBreakPattern())&&n.writeMessage(6,t,proto.Finale3dEffect.BreakPattern.serializeBinaryToWriter),null!=(t=e.getOrientationHpr())&&n.writeMessage(13,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),(t=e.getRandomizeBreakOrientation())&&n.writeBool(8,t),(t=e.getRandomizeChildGravity())&&n.writeBool(9,t),0!==(t=e.getGhostArgument())&&n.writeFloat(11,t),0!==(t=e.getWorldFlashIntensity())&&n.writeFloat(14,t),0!==(t=e.getWorldFlashDuration())&&n.writeFloat(15,t),(t=e.getStarsList()).length>0&&n.writeRepeatedMessage(12,t,proto.Finale3dEffect.StarParticle.serializeBinaryToWriter),null!=(t=e.getDeprecatedEmitDuration())&&n.writeMessage(2,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),null!=(t=e.getDeprecatedEmitWindFriction())&&n.writeMessage(3,t,proto.Finale3dEffect.Distribution.serializeBinaryToWriter),0!==(t=e.getDeprecatedMotionType())&&n.writeEnum(10,t)},proto.Finale3dEffect.BreakPetal.prototype.getNodeVdl=function(){return a.Message.getFieldWithDefault(this,77,"")},proto.Finale3dEffect.BreakPetal.prototype.setNodeVdl=function(e){return a.Message.setProto3StringField(this,77,e)},proto.Finale3dEffect.BreakPetal.prototype.getDimensions=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Dimensions,82)},proto.Finale3dEffect.BreakPetal.prototype.setDimensions=function(e){return a.Message.setWrapperField(this,82,e)},proto.Finale3dEffect.BreakPetal.prototype.clearDimensions=function(){return this.setDimensions(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasDimensions=function(){return null!=a.Message.getField(this,82)},proto.Finale3dEffect.BreakPetal.prototype.getPetalWidth=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,1)},proto.Finale3dEffect.BreakPetal.prototype.setPetalWidth=function(e){return a.Message.setWrapperField(this,1,e)},proto.Finale3dEffect.BreakPetal.prototype.clearPetalWidth=function(){return this.setPetalWidth(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasPetalWidth=function(){return null!=a.Message.getField(this,1)},proto.Finale3dEffect.BreakPetal.prototype.getEmitInheritVelocity=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,4)},proto.Finale3dEffect.BreakPetal.prototype.setEmitInheritVelocity=function(e){return a.Message.setWrapperField(this,4,e)},proto.Finale3dEffect.BreakPetal.prototype.clearEmitInheritVelocity=function(){return this.setEmitInheritVelocity(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasEmitInheritVelocity=function(){return null!=a.Message.getField(this,4)},proto.Finale3dEffect.BreakPetal.prototype.getRandomGroupId=function(){return a.Message.getFieldWithDefault(this,5,0)},proto.Finale3dEffect.BreakPetal.prototype.setRandomGroupId=function(e){return a.Message.setProto3IntField(this,5,e)},proto.Finale3dEffect.BreakPetal.prototype.getBreakPattern=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.BreakPattern,6)},proto.Finale3dEffect.BreakPetal.prototype.setBreakPattern=function(e){return a.Message.setWrapperField(this,6,e)},proto.Finale3dEffect.BreakPetal.prototype.clearBreakPattern=function(){return this.setBreakPattern(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasBreakPattern=function(){return null!=a.Message.getField(this,6)},proto.Finale3dEffect.BreakPetal.prototype.getOrientationHpr=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,13)},proto.Finale3dEffect.BreakPetal.prototype.setOrientationHpr=function(e){return a.Message.setWrapperField(this,13,e)},proto.Finale3dEffect.BreakPetal.prototype.clearOrientationHpr=function(){return this.setOrientationHpr(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasOrientationHpr=function(){return null!=a.Message.getField(this,13)},proto.Finale3dEffect.BreakPetal.prototype.getRandomizeBreakOrientation=function(){return a.Message.getBooleanFieldWithDefault(this,8,!1)},proto.Finale3dEffect.BreakPetal.prototype.setRandomizeBreakOrientation=function(e){return a.Message.setProto3BooleanField(this,8,e)},proto.Finale3dEffect.BreakPetal.prototype.getRandomizeChildGravity=function(){return a.Message.getBooleanFieldWithDefault(this,9,!1)},proto.Finale3dEffect.BreakPetal.prototype.setRandomizeChildGravity=function(e){return a.Message.setProto3BooleanField(this,9,e)},proto.Finale3dEffect.BreakPetal.prototype.getGhostArgument=function(){return a.Message.getFloatingPointFieldWithDefault(this,11,0)},proto.Finale3dEffect.BreakPetal.prototype.setGhostArgument=function(e){return a.Message.setProto3FloatField(this,11,e)},proto.Finale3dEffect.BreakPetal.prototype.getWorldFlashIntensity=function(){return a.Message.getFloatingPointFieldWithDefault(this,14,0)},proto.Finale3dEffect.BreakPetal.prototype.setWorldFlashIntensity=function(e){return a.Message.setProto3FloatField(this,14,e)},proto.Finale3dEffect.BreakPetal.prototype.getWorldFlashDuration=function(){return a.Message.getFloatingPointFieldWithDefault(this,15,0)},proto.Finale3dEffect.BreakPetal.prototype.setWorldFlashDuration=function(e){return a.Message.setProto3FloatField(this,15,e)},proto.Finale3dEffect.BreakPetal.prototype.getStarsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.StarParticle,12)},proto.Finale3dEffect.BreakPetal.prototype.setStarsList=function(e){return a.Message.setRepeatedWrapperField(this,12,e)},proto.Finale3dEffect.BreakPetal.prototype.addStars=function(e,n){return a.Message.addToRepeatedWrapperField(this,12,e,proto.Finale3dEffect.StarParticle,n)},proto.Finale3dEffect.BreakPetal.prototype.clearStarsList=function(){return this.setStarsList([])},proto.Finale3dEffect.BreakPetal.prototype.getDeprecatedEmitDuration=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,2)},proto.Finale3dEffect.BreakPetal.prototype.setDeprecatedEmitDuration=function(e){return a.Message.setWrapperField(this,2,e)},proto.Finale3dEffect.BreakPetal.prototype.clearDeprecatedEmitDuration=function(){return this.setDeprecatedEmitDuration(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasDeprecatedEmitDuration=function(){return null!=a.Message.getField(this,2)},proto.Finale3dEffect.BreakPetal.prototype.getDeprecatedEmitWindFriction=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Distribution,3)},proto.Finale3dEffect.BreakPetal.prototype.setDeprecatedEmitWindFriction=function(e){return a.Message.setWrapperField(this,3,e)},proto.Finale3dEffect.BreakPetal.prototype.clearDeprecatedEmitWindFriction=function(){return this.setDeprecatedEmitWindFriction(void 0)},proto.Finale3dEffect.BreakPetal.prototype.hasDeprecatedEmitWindFriction=function(){return null!=a.Message.getField(this,3)},proto.Finale3dEffect.BreakPetal.prototype.getDeprecatedMotionType=function(){return a.Message.getFieldWithDefault(this,10,0)},proto.Finale3dEffect.BreakPetal.prototype.setDeprecatedMotionType=function(e){return a.Message.setProto3EnumField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.repeatedFields_=[10,15,20,30,40,50,60,75,76,80,130],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.toObject=function(e,n){var t,i={sparkInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,10))?void 0:t,curveInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,15))?void 0:t,smokeInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,20))?void 0:t,flameInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,30))?void 0:t,lightBeamInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,40))?void 0:t,emitterInfoTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,50))?void 0:t,particleStatesTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,60))?void 0:t,curveTextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,75))?void 0:t,curve4TextureDataList:null==(t=a.Message.getRepeatedFloatingPointField(n,76))?void 0:t,effectInstancesList:a.Message.toObjectList(n.getEffectInstancesList(),proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.toObject,e),effectDefinitionsList:a.Message.toObjectList(n.getEffectDefinitionsList(),proto.Finale3dEffect.Effect.toObject,e),t0:a.Message.getFloatingPointFieldWithDefault(n,90,0),t1:a.Message.getFloatingPointFieldWithDefault(n,100,0),boundsMin:(t=n.getBoundsMin())&&proto.Finale3dEffect.Point3d.toObject(e,t),boundsMax:(t=n.getBoundsMax())&&proto.Finale3dEffect.Point3d.toObject(e,t)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.CompiledEffectInstances.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances;return proto.Finale3dEffect.CompiledEffectInstances.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 10:var t=n.readPackedFloat();e.setSparkInfoTextureDataList(t);break;case 15:t=n.readPackedFloat();e.setCurveInfoTextureDataList(t);break;case 20:t=n.readPackedFloat();e.setSmokeInfoTextureDataList(t);break;case 30:t=n.readPackedFloat();e.setFlameInfoTextureDataList(t);break;case 40:t=n.readPackedFloat();e.setLightBeamInfoTextureDataList(t);break;case 50:t=n.readPackedFloat();e.setEmitterInfoTextureDataList(t);break;case 60:t=n.readPackedFloat();e.setParticleStatesTextureDataList(t);break;case 75:t=n.readPackedFloat();e.setCurveTextureDataList(t);break;case 76:t=n.readPackedFloat();e.setCurve4TextureDataList(t);break;case 80:t=new proto.Finale3dEffect.CompiledEffectInstances.EffectInstance;n.readMessage(t,proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.deserializeBinaryFromReader),e.addEffectInstances(t);break;case 130:t=new proto.Finale3dEffect.Effect;n.readMessage(t,proto.Finale3dEffect.Effect.deserializeBinaryFromReader),e.addEffectDefinitions(t);break;case 90:t=n.readFloat();e.setT0(t);break;case 100:t=n.readFloat();e.setT1(t);break;case 110:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setBoundsMin(t);break;case 120:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setBoundsMax(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CompiledEffectInstances.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getSparkInfoTextureDataList()).length>0&&n.writePackedFloat(10,t),(t=e.getCurveInfoTextureDataList()).length>0&&n.writePackedFloat(15,t),(t=e.getSmokeInfoTextureDataList()).length>0&&n.writePackedFloat(20,t),(t=e.getFlameInfoTextureDataList()).length>0&&n.writePackedFloat(30,t),(t=e.getLightBeamInfoTextureDataList()).length>0&&n.writePackedFloat(40,t),(t=e.getEmitterInfoTextureDataList()).length>0&&n.writePackedFloat(50,t),(t=e.getParticleStatesTextureDataList()).length>0&&n.writePackedFloat(60,t),(t=e.getCurveTextureDataList()).length>0&&n.writePackedFloat(75,t),(t=e.getCurve4TextureDataList()).length>0&&n.writePackedFloat(76,t),(t=e.getEffectInstancesList()).length>0&&n.writeRepeatedMessage(80,t,proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.serializeBinaryToWriter),(t=e.getEffectDefinitionsList()).length>0&&n.writeRepeatedMessage(130,t,proto.Finale3dEffect.Effect.serializeBinaryToWriter),0!==(t=e.getT0())&&n.writeFloat(90,t),0!==(t=e.getT1())&&n.writeFloat(100,t),null!=(t=e.getBoundsMin())&&n.writeMessage(110,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getBoundsMax())&&n.writeMessage(120,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.StarBatch.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.toObject=function(e,n){var t={t0:a.Message.getFloatingPointFieldWithDefault(n,10,0),t1:a.Message.getFloatingPointFieldWithDefault(n,20,0),numParticles:a.Message.getFieldWithDefault(n,30,0),firstParticleStateId:a.Message.getFieldWithDefault(n,40,0),visualId:a.Message.getFieldWithDefault(n,50,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.CompiledEffectInstances.StarBatch.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances.StarBatch;return proto.Finale3dEffect.CompiledEffectInstances.StarBatch.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 10:var t=n.readFloat();e.setT0(t);break;case 20:t=n.readFloat();e.setT1(t);break;case 30:t=n.readInt32();e.setNumParticles(t);break;case 40:t=n.readInt32();e.setFirstParticleStateId(t);break;case 50:t=n.readInt32();e.setVisualId(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.StarBatch.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getT0())&&n.writeFloat(10,t),0!==(t=e.getT1())&&n.writeFloat(20,t),0!==(t=e.getNumParticles())&&n.writeInt32(30,t),0!==(t=e.getFirstParticleStateId())&&n.writeInt32(40,t),0!==(t=e.getVisualId())&&n.writeInt32(50,t)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.getT0=function(){return a.Message.getFloatingPointFieldWithDefault(this,10,0)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.setT0=function(e){return a.Message.setProto3FloatField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.getT1=function(){return a.Message.getFloatingPointFieldWithDefault(this,20,0)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.setT1=function(e){return a.Message.setProto3FloatField(this,20,e)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.getNumParticles=function(){return a.Message.getFieldWithDefault(this,30,0)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.setNumParticles=function(e){return a.Message.setProto3IntField(this,30,e)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.getFirstParticleStateId=function(){return a.Message.getFieldWithDefault(this,40,0)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.setFirstParticleStateId=function(e){return a.Message.setProto3IntField(this,40,e)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.getVisualId=function(){return a.Message.getFieldWithDefault(this,50,0)},proto.Finale3dEffect.CompiledEffectInstances.StarBatch.prototype.setVisualId=function(e){return a.Message.setProto3IntField(this,50,e)},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.toObject=function(e,n){var t={t0:a.Message.getFloatingPointFieldWithDefault(n,10,0),t1:a.Message.getFloatingPointFieldWithDefault(n,20,0),numParticles:a.Message.getFieldWithDefault(n,30,0),firstParticleStateId:a.Message.getFieldWithDefault(n,40,0),numEmittedPerStar:a.Message.getFieldWithDefault(n,50,0),emitterId:a.Message.getFieldWithDefault(n,60,0),emittedVisualId:a.Message.getFieldWithDefault(n,70,0),trailRandomGroupId:a.Message.getFieldWithDefault(n,80,0)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances.TrailBatch;return proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 10:var t=n.readFloat();e.setT0(t);break;case 20:t=n.readFloat();e.setT1(t);break;case 30:t=n.readInt32();e.setNumParticles(t);break;case 40:t=n.readInt32();e.setFirstParticleStateId(t);break;case 50:t=n.readInt32();e.setNumEmittedPerStar(t);break;case 60:t=n.readInt32();e.setEmitterId(t);break;case 70:t=n.readInt32();e.setEmittedVisualId(t);break;case 80:t=n.readInt32();e.setTrailRandomGroupId(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getT0())&&n.writeFloat(10,t),0!==(t=e.getT1())&&n.writeFloat(20,t),0!==(t=e.getNumParticles())&&n.writeInt32(30,t),0!==(t=e.getFirstParticleStateId())&&n.writeInt32(40,t),0!==(t=e.getNumEmittedPerStar())&&n.writeInt32(50,t),0!==(t=e.getEmitterId())&&n.writeInt32(60,t),0!==(t=e.getEmittedVisualId())&&n.writeInt32(70,t),0!==(t=e.getTrailRandomGroupId())&&n.writeInt32(80,t)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getT0=function(){return a.Message.getFloatingPointFieldWithDefault(this,10,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setT0=function(e){return a.Message.setProto3FloatField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getT1=function(){return a.Message.getFloatingPointFieldWithDefault(this,20,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setT1=function(e){return a.Message.setProto3FloatField(this,20,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getNumParticles=function(){return a.Message.getFieldWithDefault(this,30,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setNumParticles=function(e){return a.Message.setProto3IntField(this,30,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getFirstParticleStateId=function(){return a.Message.getFieldWithDefault(this,40,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setFirstParticleStateId=function(e){return a.Message.setProto3IntField(this,40,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getNumEmittedPerStar=function(){return a.Message.getFieldWithDefault(this,50,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setNumEmittedPerStar=function(e){return a.Message.setProto3IntField(this,50,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getEmitterId=function(){return a.Message.getFieldWithDefault(this,60,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setEmitterId=function(e){return a.Message.setProto3IntField(this,60,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getEmittedVisualId=function(){return a.Message.getFieldWithDefault(this,70,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setEmittedVisualId=function(e){return a.Message.setProto3IntField(this,70,e)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.getTrailRandomGroupId=function(){return a.Message.getFieldWithDefault(this,80,0)},proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.prototype.setTrailRandomGroupId=function(e){return a.Message.setProto3IntField(this,80,e)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.repeatedFields_=[10,20],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.toObject=function(e,n){var t={starBatchesList:a.Message.toObjectList(n.getStarBatchesList(),proto.Finale3dEffect.CompiledEffectInstances.StarBatch.toObject,e),trailBatchesList:a.Message.toObjectList(n.getTrailBatchesList(),proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.toObject,e)};return e&&(t.$jspbMessageInstance=n),t}),proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances.RenderBatches;return proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 10:var t=new proto.Finale3dEffect.CompiledEffectInstances.StarBatch;n.readMessage(t,proto.Finale3dEffect.CompiledEffectInstances.StarBatch.deserializeBinaryFromReader),e.addStarBatches(t);break;case 20:t=new proto.Finale3dEffect.CompiledEffectInstances.TrailBatch;n.readMessage(t,proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.deserializeBinaryFromReader),e.addTrailBatches(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getStarBatchesList()).length>0&&n.writeRepeatedMessage(10,t,proto.Finale3dEffect.CompiledEffectInstances.StarBatch.serializeBinaryToWriter),(t=e.getTrailBatchesList()).length>0&&n.writeRepeatedMessage(20,t,proto.Finale3dEffect.CompiledEffectInstances.TrailBatch.serializeBinaryToWriter)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.getStarBatchesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.CompiledEffectInstances.StarBatch,10)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.setStarBatchesList=function(e){return a.Message.setRepeatedWrapperField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.addStarBatches=function(e,n){return a.Message.addToRepeatedWrapperField(this,10,e,proto.Finale3dEffect.CompiledEffectInstances.StarBatch,n)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.clearStarBatchesList=function(){return this.setStarBatchesList([])},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.getTrailBatchesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.CompiledEffectInstances.TrailBatch,20)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.setTrailBatchesList=function(e){return a.Message.setRepeatedWrapperField(this,20,e)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.addTrailBatches=function(e,n){return a.Message.addToRepeatedWrapperField(this,20,e,proto.Finale3dEffect.CompiledEffectInstances.TrailBatch,n)},proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.prototype.clearTrailBatchesList=function(){return this.setTrailBatchesList([])},a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.toObject=function(e,n){var t,a={renderBatches:(t=n.getRenderBatches())&&proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.toObject(e,t)};return e&&(a.$jspbMessageInstance=n),a}),proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance;return proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){if(10===n.getFieldNumber()){var t=new proto.Finale3dEffect.CompiledEffectInstances.RenderBatches;n.readMessage(t,proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.deserializeBinaryFromReader),e.setRenderBatches(t)}else n.skipField()}return e},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.serializeBinaryToWriter=function(e,n){var t;null!=(t=e.getRenderBatches())&&n.writeMessage(10,t,proto.Finale3dEffect.CompiledEffectInstances.RenderBatches.serializeBinaryToWriter)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.getRenderBatches=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.CompiledEffectInstances.RenderBatches,10)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.setRenderBatches=function(e){return a.Message.setWrapperField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.clearRenderBatches=function(){return this.setRenderBatches(void 0)},proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.prototype.hasRenderBatches=function(){return null!=a.Message.getField(this,10)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.repeatedFields_=[40],a.Message.GENERATE_TO_OBJECT&&(proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.toObject=function(e){return proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.toObject(e,this)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.toObject=function(e,n){var t,i={effectId:a.Message.getFieldWithDefault(n,5,0),visible:a.Message.getBooleanFieldWithDefault(n,10,!1),t0:a.Message.getFloatingPointFieldWithDefault(n,20,0),t1:a.Message.getFloatingPointFieldWithDefault(n,30,0),boundsMin:(t=n.getBoundsMin())&&proto.Finale3dEffect.Point3d.toObject(e,t),boundsMax:(t=n.getBoundsMax())&&proto.Finale3dEffect.Point3d.toObject(e,t),launchInstancesList:a.Message.toObjectList(n.getLaunchInstancesList(),proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.toObject,e)};return e&&(i.$jspbMessageInstance=n),i}),proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.Finale3dEffect.CompiledEffectInstances.EffectInstance;return proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.deserializeBinaryFromReader(t,n)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 5:var t=n.readInt32();e.setEffectId(t);break;case 10:t=n.readBool();e.setVisible(t);break;case 20:t=n.readFloat();e.setT0(t);break;case 30:t=n.readFloat();e.setT1(t);break;case 50:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setBoundsMin(t);break;case 60:t=new proto.Finale3dEffect.Point3d;n.readMessage(t,proto.Finale3dEffect.Point3d.deserializeBinaryFromReader),e.setBoundsMax(t);break;case 40:t=new proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance;n.readMessage(t,proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.deserializeBinaryFromReader),e.addLaunchInstances(t);break;default:n.skipField()}}return e},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.serializeBinaryToWriter=function(e,n){var t=void 0;0!==(t=e.getEffectId())&&n.writeInt32(5,t),(t=e.getVisible())&&n.writeBool(10,t),0!==(t=e.getT0())&&n.writeFloat(20,t),0!==(t=e.getT1())&&n.writeFloat(30,t),null!=(t=e.getBoundsMin())&&n.writeMessage(50,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),null!=(t=e.getBoundsMax())&&n.writeMessage(60,t,proto.Finale3dEffect.Point3d.serializeBinaryToWriter),(t=e.getLaunchInstancesList()).length>0&&n.writeRepeatedMessage(40,t,proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance.serializeBinaryToWriter)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getEffectId=function(){return a.Message.getFieldWithDefault(this,5,0)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setEffectId=function(e){return a.Message.setProto3IntField(this,5,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getVisible=function(){return a.Message.getBooleanFieldWithDefault(this,10,!1)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setVisible=function(e){return a.Message.setProto3BooleanField(this,10,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getT0=function(){return a.Message.getFloatingPointFieldWithDefault(this,20,0)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setT0=function(e){return a.Message.setProto3FloatField(this,20,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getT1=function(){return a.Message.getFloatingPointFieldWithDefault(this,30,0)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setT1=function(e){return a.Message.setProto3FloatField(this,30,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getBoundsMin=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,50)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setBoundsMin=function(e){return a.Message.setWrapperField(this,50,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.clearBoundsMin=function(){return this.setBoundsMin(void 0)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.hasBoundsMin=function(){return null!=a.Message.getField(this,50)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getBoundsMax=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,60)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setBoundsMax=function(e){return a.Message.setWrapperField(this,60,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.clearBoundsMax=function(){return this.setBoundsMax(void 0)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.hasBoundsMax=function(){return null!=a.Message.getField(this,60)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.getLaunchInstancesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance,40)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.setLaunchInstancesList=function(e){return a.Message.setRepeatedWrapperField(this,40,e)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.addLaunchInstances=function(e,n){return a.Message.addToRepeatedWrapperField(this,40,e,proto.Finale3dEffect.CompiledEffectInstances.LaunchInstance,n)},proto.Finale3dEffect.CompiledEffectInstances.EffectInstance.prototype.clearLaunchInstancesList=function(){return this.setLaunchInstancesList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getSparkInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,10)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setSparkInfoTextureDataList=function(e){return a.Message.setField(this,10,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addSparkInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,10,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearSparkInfoTextureDataList=function(){return this.setSparkInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getCurveInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,15)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setCurveInfoTextureDataList=function(e){return a.Message.setField(this,15,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addCurveInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,15,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearCurveInfoTextureDataList=function(){return this.setCurveInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getSmokeInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,20)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setSmokeInfoTextureDataList=function(e){return a.Message.setField(this,20,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addSmokeInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,20,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearSmokeInfoTextureDataList=function(){return this.setSmokeInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getFlameInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,30)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setFlameInfoTextureDataList=function(e){return a.Message.setField(this,30,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addFlameInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,30,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearFlameInfoTextureDataList=function(){return this.setFlameInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getLightBeamInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,40)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setLightBeamInfoTextureDataList=function(e){return a.Message.setField(this,40,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addLightBeamInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,40,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearLightBeamInfoTextureDataList=function(){return this.setLightBeamInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getEmitterInfoTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,50)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setEmitterInfoTextureDataList=function(e){return a.Message.setField(this,50,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addEmitterInfoTextureData=function(e,n){return a.Message.addToRepeatedField(this,50,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearEmitterInfoTextureDataList=function(){return this.setEmitterInfoTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getParticleStatesTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,60)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setParticleStatesTextureDataList=function(e){return a.Message.setField(this,60,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addParticleStatesTextureData=function(e,n){return a.Message.addToRepeatedField(this,60,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearParticleStatesTextureDataList=function(){return this.setParticleStatesTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getCurveTextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,75)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setCurveTextureDataList=function(e){return a.Message.setField(this,75,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addCurveTextureData=function(e,n){return a.Message.addToRepeatedField(this,75,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearCurveTextureDataList=function(){return this.setCurveTextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getCurve4TextureDataList=function(){return a.Message.getRepeatedFloatingPointField(this,76)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setCurve4TextureDataList=function(e){return a.Message.setField(this,76,e||[])},proto.Finale3dEffect.CompiledEffectInstances.prototype.addCurve4TextureData=function(e,n){return a.Message.addToRepeatedField(this,76,e,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearCurve4TextureDataList=function(){return this.setCurve4TextureDataList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getEffectInstancesList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.CompiledEffectInstances.EffectInstance,80)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setEffectInstancesList=function(e){return a.Message.setRepeatedWrapperField(this,80,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.addEffectInstances=function(e,n){return a.Message.addToRepeatedWrapperField(this,80,e,proto.Finale3dEffect.CompiledEffectInstances.EffectInstance,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearEffectInstancesList=function(){return this.setEffectInstancesList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getEffectDefinitionsList=function(){return a.Message.getRepeatedWrapperField(this,proto.Finale3dEffect.Effect,130)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setEffectDefinitionsList=function(e){return a.Message.setRepeatedWrapperField(this,130,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.addEffectDefinitions=function(e,n){return a.Message.addToRepeatedWrapperField(this,130,e,proto.Finale3dEffect.Effect,n)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearEffectDefinitionsList=function(){return this.setEffectDefinitionsList([])},proto.Finale3dEffect.CompiledEffectInstances.prototype.getT0=function(){return a.Message.getFloatingPointFieldWithDefault(this,90,0)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setT0=function(e){return a.Message.setProto3FloatField(this,90,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.getT1=function(){return a.Message.getFloatingPointFieldWithDefault(this,100,0)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setT1=function(e){return a.Message.setProto3FloatField(this,100,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.getBoundsMin=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,110)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setBoundsMin=function(e){return a.Message.setWrapperField(this,110,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearBoundsMin=function(){return this.setBoundsMin(void 0)},proto.Finale3dEffect.CompiledEffectInstances.prototype.hasBoundsMin=function(){return null!=a.Message.getField(this,110)},proto.Finale3dEffect.CompiledEffectInstances.prototype.getBoundsMax=function(){return a.Message.getWrapperField(this,proto.Finale3dEffect.Point3d,120)},proto.Finale3dEffect.CompiledEffectInstances.prototype.setBoundsMax=function(e){return a.Message.setWrapperField(this,120,e)},proto.Finale3dEffect.CompiledEffectInstances.prototype.clearBoundsMax=function(){return this.setBoundsMax(void 0)},proto.Finale3dEffect.CompiledEffectInstances.prototype.hasBoundsMax=function(){return null!=a.Message.getField(this,120)},proto.Finale3dEffect.StandardCurve={ONE:0,ZERO:1,LINEARDOWN:3,LINEARUP:2,LINEARUPDOWN:30,GAUSSIAN3DOWN:4,GAUSSIAN3UP:31,GAUSSIAN3UPDOWN:32,GAUSSIAN6DOWN:36,GAUSSIAN6UP:37,GAUSSIAN6UPDOWN:38,BUMPDOWN:33,BUMPUP:34,BUMPUPDOWN:35,EMITCURVETAPER1:5,EMITCURVELINEAR:6,EMITCURVELINEAR20:7,EMITCURVEFARFALLE:8,EMITCURVEPOPCORNCRACKLE:9,EMITCURVESPINNER:10,EMITCURVEGROUNDSTROBE:11,SMOKESIZE1:12,STARSPARKRADIUSANDBLURSCALE1:13,EXPLOFLAMETEMP:14,EXPLOFLAMESIZE:15,EXPLOFLAMEALPHA:16,FIREBALLFLAMETEMP:17,FIREBALLFLAMESIZE:18,FIREBALLFLAMEALPHA:19,BROCADE_TRAIL:20,CRACKLING_TRAIL:21,GLITTERING_TRAIL:22,TWINKLING_TRAIL:23,MICROSTARS_TRAIL:28,STROBING:24,FLASHING:25,TWINKLING:26,SHIMMERING:27},proto.Finale3dEffect.EffectCategory={UNDEFINED:0,OTHER:1,GROUND:2,MINE:3,RISING:4,SHELL:5,ROCKET:6,LIGHT:7,SFX:8,FLAME:9,CAKE:10,CANDLE:11},proto.Finale3dEffect.MotionType={BALLISTIC:0,METEOR:1,SERPENT:2,SPINNER:3,WHIRL:4,WHISTLE:5,SWIMMING:6,STATIC:7,LOWCALIBERSERPENT:8,LOWCALIBERWHISTLE:9},i.object.extend(n,proto.Finale3dEffect)},228:function(e,n,t){(function(n,a,i,r){var o=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return e=e||n,function(n){var o,s;(n="undefined"!==typeof(n=n||{})?n:{}).ready=new Promise((function(e,n){o=e,s=n}));var l,A={};for(l in n)n.hasOwnProperty(l)&&(A[l]=n[l]);var g,u,c,d,p,f=[],h="./this.program",I="object"===typeof window,C="function"===typeof importScripts,E="object"===typeof a&&"object"===typeof a.versions&&"string"===typeof a.versions.node,m="";E?(m=C?t(156).dirname(m)+"/":i+"/",g=function(e,n){return d||(d=t(201)),p||(p=t(156)),e=p.normalize(e),d.readFileSync(e,n?null:"utf8")},c=function(e){var n=g(e,!0);return n.buffer||(n=new Uint8Array(n)),w(n.buffer),n},u=function(e,n,a){d||(d=t(201)),p||(p=t(156)),e=p.normalize(e),d.readFile(e,(function(e,t){e?a(e):n(t.buffer)}))},a.argv.length>1&&(h=a.argv[1].replace(/\\/g,"/")),f=a.argv.slice(2),a.on("uncaughtException",(function(e){if(!(e instanceof At))throw e})),a.on("unhandledRejection",(function(e){throw e})),function(e,n){if(ie())throw a.exitCode=e,n;var t;(t=n)instanceof At||Q("exiting due to exception: "+t),a.exit(e)},n.inspect=function(){return"[Emscripten Module object]"}):(I||C)&&(C?m=self.location.href:"undefined"!==typeof document&&document.currentScript&&(m=document.currentScript.src),e&&(m=e),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",g=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText},C&&(c=function(e){var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}),u=function(e,n,t){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){200==a.status||0==a.status&&a.response?n(a.response):t()},a.onerror=t,a.send(null)});var B=n.print||console.log.bind(console),Q=n.printErr||console.warn.bind(console);for(l in A)A.hasOwnProperty(l)&&(n[l]=A[l]);A=null,n.arguments&&(f=n.arguments),n.thisProgram&&(h=n.thisProgram),n.quit&&n.quit;var y;n.wasmBinary&&(y=n.wasmBinary);var b,_=n.noExitRuntime||!0;"object"!==typeof WebAssembly&&ge("no native wasm support detected");var k=!1;function w(e,n){e||ge("Assertion failed: "+n)}var F="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function v(e,n,t){for(var a=n+t,i=n;e[i]&&!(i>=a);)++i;if(i-n>16&&e.subarray&&F)return F.decode(e.subarray(n,i));for(var r="";n>10,56320|1023&A)}}else r+=String.fromCharCode((31&o)<<6|s)}else r+=String.fromCharCode(o)}return r}function D(e,n){return e?v(M,e,n):""}function S(e,n,t,a){if(!(a>0))return 0;for(var i=t,r=t+a-1,o=0;o=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o);if(s<=127){if(t>=r)break;n[t++]=s}else if(s<=2047){if(t+1>=r)break;n[t++]=192|s>>6,n[t++]=128|63&s}else if(s<=65535){if(t+2>=r)break;n[t++]=224|s>>12,n[t++]=128|s>>6&63,n[t++]=128|63&s}else{if(t+3>=r)break;n[t++]=240|s>>18,n[t++]=128|s>>12&63,n[t++]=128|s>>6&63,n[t++]=128|63&s}}return n[t]=0,t-i}function x(e,n,t){return S(e,M,n,t)}function j(e){for(var n=0,t=0;t=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++t)),a<=127?++n:n+=a<=2047?2:a<=65535?3:4}return n}var T,R,M,N,P,O,G,L,U,z="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function H(e,n){for(var t=e,a=t>>1,i=a+n/2;!(a>=i)&&P[a];)++a;if((t=a<<1)-e>32&&z)return z.decode(M.subarray(e,t));for(var r="",o=0;!(o>=n/2);++o){var s=N[e+2*o>>1];if(0==s)break;r+=String.fromCharCode(s)}return r}function Y(e,n,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var a=n,i=(t-=2)<2*e.length?t/2:e.length,r=0;r>1]=o,n+=2}return N[n>>1]=0,n-a}function W(e){return 2*e.length}function K(e,n){for(var t=0,a="";!(t>=n/4);){var i=O[e+4*t>>2];if(0==i)break;if(++t,i>=65536){var r=i-65536;a+=String.fromCharCode(55296|r>>10,56320|1023&r)}else a+=String.fromCharCode(i)}return a}function J(e,n,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var a=n,i=a+t-4,r=0;r=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++r);if(O[n>>2]=o,(n+=4)+4>i)break}return O[n>>2]=0,n-a}function V(e){for(var n=0,t=0;t=55296&&a<=57343&&++t,n+=4}return n}function q(e,n){R.set(e,n)}function X(e,n,t){for(var a=0;a>0]=e.charCodeAt(a);t||(R[n>>0]=0)}function Z(e){T=e,n.HEAP8=R=new Int8Array(e),n.HEAP16=N=new Int16Array(e),n.HEAP32=O=new Int32Array(e),n.HEAPU8=M=new Uint8Array(e),n.HEAPU16=P=new Uint16Array(e),n.HEAPU32=G=new Uint32Array(e),n.HEAPF32=L=new Float32Array(e),n.HEAPF64=U=new Float64Array(e)}n.INITIAL_MEMORY;var $,ee=[],ne=[],te=[],ae=0;function ie(){return _||ae>0}var re=0,oe=null,se=null;function le(e){re++,n.monitorRunDependencies&&n.monitorRunDependencies(re)}function Ae(e){if(re--,n.monitorRunDependencies&&n.monitorRunDependencies(re),0==re&&(null!==oe&&(clearInterval(oe),oe=null),se)){var t=se;se=null,t()}}function ge(e){n.onAbort&&n.onAbort(e),Q(e="Aborted("+e+")"),k=!0,1,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw s(t),t}n.preloadedImages={},n.preloadedAudios={};var ue,ce,de,pe,fe="data:application/octet-stream;base64,";function he(e){return e.startsWith(fe)}function Ie(e){return e.startsWith("file://")}function Ce(e){try{if(e==ue&&y)return new Uint8Array(y);if(c)return c(e);throw"both async and sync fetching of the wasm failed"}catch(Q){ge(Q)}}function Ee(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var a=t.func;"number"===typeof a?void 0===t.arg?me(a)():me(a)(t.arg):a(void 0===t.arg?null:t.arg)}else t(n)}}function me(e){return $.get(e)}function Be(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){O[this.ptr+4>>2]=e},this.get_type=function(){return O[this.ptr+4>>2]},this.set_destructor=function(e){O[this.ptr+8>>2]=e},this.get_destructor=function(){return O[this.ptr+8>>2]},this.set_refcount=function(e){O[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,R[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=R[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,R[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=R[this.ptr+13>>0]},this.init=function(e,n){this.set_type(e),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=O[this.ptr>>2];O[this.ptr>>2]=e+1},this.release_ref=function(){var e=O[this.ptr>>2];return O[this.ptr>>2]=e-1,1===e}}he(ue="vdl_effect_compiler.wasm")||(ce=ue,ue=n.locateFile?n.locateFile(ce,m):m+ce);function Qe(e,n){var t=new Date(1e3*O[e>>2]);O[n>>2]=t.getUTCSeconds(),O[n+4>>2]=t.getUTCMinutes(),O[n+8>>2]=t.getUTCHours(),O[n+12>>2]=t.getUTCDate(),O[n+16>>2]=t.getUTCMonth(),O[n+20>>2]=t.getUTCFullYear()-1900,O[n+24>>2]=t.getUTCDay(),O[n+36>>2]=0,O[n+32>>2]=0;var a=Date.UTC(t.getUTCFullYear(),0,1,0,0,0,0),i=(t.getTime()-a)/864e5|0;return O[n+28>>2]=i,Qe.GMTString||(Qe.GMTString=function(e){var n=j(e)+1,t=rt(n);return t&&S(e,R,t,n),t}("GMT")),O[n+40>>2]=Qe.GMTString,n}function ye(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var be=void 0;function _e(e){for(var n="",t=e;M[t];)n+=be[M[t++]];return n}var ke={},we={},Fe={},ve=48,De=57;function Se(e){if(void 0===e)return"_unknown";var n=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return n>=ve&&n<=De?"_"+e:e}function xe(e,n){return e=Se(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function je(e,n){var t=xe(n,(function(e){this.name=n,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},t}var Te=void 0;function Re(e){throw new Te(e)}var Me=void 0;function Ne(e){throw new Me(e)}function Pe(e,n,t){function a(n){var a=t(n);a.length!==e.length&&Ne("Mismatched type converter count");for(var i=0;i>2])}function An(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function gn(e){this.rawDestructor&&this.rawDestructor(e)}function un(e){null!==e&&e.delete()}function cn(e,n,t){if(n===t)return e;if(void 0===t.baseClass)return null;var a=cn(e,n,t.baseClass);return null===a?null:t.downcast(a)}function dn(){return Object.keys(hn).length}function pn(){var e=[];for(var n in hn)hn.hasOwnProperty(n)&&e.push(hn[n]);return e}function fn(e){Ve=e,qe.length&&Ve&&Ve(Xe)}var hn={};function In(e,n){return n=function(e,n){for(void 0===n&&Re("ptr should not be undefined");e.baseClass;)n=e.upcast(n),e=e.baseClass;return n}(e,n),hn[n]}function Cn(e,n){return n.ptrType&&n.ptr||Ne("makeClassHandle requires ptr and ptrType"),!!n.smartPtrType!==!!n.smartPtr&&Ne("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Ye(Object.create(e,{$$:{value:n}}))}function En(e){var n=this.getPointee(e);if(!n)return this.destructor(e),null;var t=In(this.registeredClass,n);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=n,t.$$.smartPtr=e,t.clone();var a=t.clone();return this.destructor(e),a}function i(){return this.isSmartPointer?Cn(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:n,smartPtrType:this,smartPtr:e}):Cn(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var r,o=this.registeredClass.getActualType(n),s=en[o];if(!s)return i.call(this);r=this.isConst?s.constPointerType:s.pointerType;var l=cn(n,this.registeredClass,r.registeredClass);return null===l?i.call(this):this.isSmartPointer?Cn(r.registeredClass.instancePrototype,{ptrType:r,ptr:l,smartPtrType:this,smartPtr:e}):Cn(r.registeredClass.instancePrototype,{ptrType:r,ptr:l})}function mn(e,n,t,a,i,r,o,s,l,A,g){this.name=e,this.registeredClass=n,this.isReference=t,this.isConst=a,this.isSmartPointer=i,this.pointeeType=r,this.sharingPolicy=o,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=A,this.rawDestructor=g,i||void 0!==n.baseClass?this.toWireType=on:a?(this.toWireType=rn,this.destructorFunction=null):(this.toWireType=sn,this.destructorFunction=null)}function Bn(e,t,a){return e.includes("j")?function(e,t,a){var i=n["dynCall_"+e];return a&&a.length?i.apply(null,[t].concat(a)):i.call(null,t)}(e,t,a):me(t).apply(null,a)}function Qn(e,n){var t=(e=_e(e)).includes("j")?function(e,n){var t=[];return function(){t.length=arguments.length;for(var a=0;a>2)+a]);return t}function wn(e){for(;e.length;){var n=e.pop();e.pop()(n)}}function Fn(e,n,t,a,i){var r=n.length;r<2&&Re("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==n[1]&&null!==t,s=!1,l=1;l0?", ":"")+u),c+=(A?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",s)c+="runDestructors(destructors);\n";else for(l=o?1:2;l>2])};case 3:return function(e){return this.fromWireType(U[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function Nn(e,n,t){switch(n){case 0:return t?function(e){return R[e]}:function(e){return M[e]};case 1:return t?function(e){return N[e>>1]}:function(e){return P[e>>1]};case 2:return t?function(e){return O[e>>2]}:function(e){return G[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}jn=E?function(){var e=a.hrtime();return 1e3*e[0]+e[1]/1e6}:function(){return performance.now()};function Pn(e){try{return b.grow(e-T.byteLength+65535>>>16),Z(b.buffer),1}catch(n){}}var On={};function Gn(){if(!Gn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(var n in On)void 0===On[n]?delete e[n]:e[n]=On[n];var t=[];for(var n in e)t.push(n+"="+e[n]);Gn.strings=t}return Gn.strings}var Ln={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,n){for(var t=0,a=e.length-1;a>=0;a--){var i=e[a];"."===i?e.splice(a,1):".."===i?(e.splice(a,1),t++):t&&(e.splice(a,1),t--)}if(n)for(;t;t--)e.unshift("..");return e},normalize:function(e){var n="/"===e.charAt(0),t="/"===e.substr(-1);return(e=Ln.normalizeArray(e.split("/").filter((function(e){return!!e})),!n).join("/"))||n||(e="."),e&&t&&(e+="/"),(n?"/":"")+e},dirname:function(e){var n=Ln.splitPath(e),t=n[0],a=n[1];return t||a?(a&&(a=a.substr(0,a.length-1)),t+a):"."},basename:function(e){if("/"===e)return"/";var n=(e=(e=Ln.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===n?e:e.substr(n+1)},extname:function(e){return Ln.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return Ln.normalize(e.join("/"))},join2:function(e,n){return Ln.normalize(e+"/"+n)}};var Un={resolve:function(){for(var e="",n=!1,t=arguments.length-1;t>=-1&&!n;t--){var a=t>=0?arguments[t]:Yn.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";e=a+"/"+e,n="/"===a.charAt(0)}return(n?"/":"")+(e=Ln.normalizeArray(e.split("/").filter((function(e){return!!e})),!n).join("/"))||"."},relative:function(e,n){function t(e){for(var n=0;n=0&&""===e[t];t--);return n>t?[]:e.slice(n,t-n+1)}e=Un.resolve(e).substr(1),n=Un.resolve(n).substr(1);for(var a=t(e.split("/")),i=t(n.split("/")),r=Math.min(a.length,i.length),o=r,s=0;s0?t.slice(0,i).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(n=window.prompt("Input: "))&&(n+="\n"):"function"==typeof readline&&null!==(n=readline())&&(n+="\n");if(!n)return null;e.input=tt(n,!0)}return e.input.shift()},put_char:function(e,n){null===n||10===n?(B(v(e.output,0)),e.output=[]):0!=n&&e.output.push(n)},flush:function(e){e.output&&e.output.length>0&&(B(v(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,n){null===n||10===n?(Q(v(e.output,0)),e.output=[]):0!=n&&e.output.push(n)},flush:function(e){e.output&&e.output.length>0&&(Q(v(e.output,0)),e.output=[])}}};var Hn={ops_table:null,mount:function(e){return Hn.createNode(null,"/",16895,0)},createNode:function(e,n,t,a){if(Yn.isBlkdev(t)||Yn.isFIFO(t))throw new Yn.ErrnoError(63);Hn.ops_table||(Hn.ops_table={dir:{node:{getattr:Hn.node_ops.getattr,setattr:Hn.node_ops.setattr,lookup:Hn.node_ops.lookup,mknod:Hn.node_ops.mknod,rename:Hn.node_ops.rename,unlink:Hn.node_ops.unlink,rmdir:Hn.node_ops.rmdir,readdir:Hn.node_ops.readdir,symlink:Hn.node_ops.symlink},stream:{llseek:Hn.stream_ops.llseek}},file:{node:{getattr:Hn.node_ops.getattr,setattr:Hn.node_ops.setattr},stream:{llseek:Hn.stream_ops.llseek,read:Hn.stream_ops.read,write:Hn.stream_ops.write,allocate:Hn.stream_ops.allocate,mmap:Hn.stream_ops.mmap,msync:Hn.stream_ops.msync}},link:{node:{getattr:Hn.node_ops.getattr,setattr:Hn.node_ops.setattr,readlink:Hn.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Hn.node_ops.getattr,setattr:Hn.node_ops.setattr},stream:Yn.chrdev_stream_ops}});var i=Yn.createNode(e,n,t,a);return Yn.isDir(i.mode)?(i.node_ops=Hn.ops_table.dir.node,i.stream_ops=Hn.ops_table.dir.stream,i.contents={}):Yn.isFile(i.mode)?(i.node_ops=Hn.ops_table.file.node,i.stream_ops=Hn.ops_table.file.stream,i.usedBytes=0,i.contents=null):Yn.isLink(i.mode)?(i.node_ops=Hn.ops_table.link.node,i.stream_ops=Hn.ops_table.link.stream):Yn.isChrdev(i.mode)&&(i.node_ops=Hn.ops_table.chrdev.node,i.stream_ops=Hn.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[n]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray:function(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0)},expandFileStorage:function(e,n){var t=e.contents?e.contents.length:0;if(!(t>=n)){n=Math.max(n,t*(t<1048576?2:1.125)>>>0),0!=t&&(n=Math.max(n,256));var a=e.contents;e.contents=new Uint8Array(n),e.usedBytes>0&&e.contents.set(a.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,n){if(e.usedBytes!=n)if(0==n)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(n),t&&e.contents.set(t.subarray(0,Math.min(n,e.usedBytes))),e.usedBytes=n}},node_ops:{getattr:function(e){var n={};return n.dev=Yn.isChrdev(e.mode)?e.id:1,n.ino=e.id,n.mode=e.mode,n.nlink=1,n.uid=0,n.gid=0,n.rdev=e.rdev,Yn.isDir(e.mode)?n.size=4096:Yn.isFile(e.mode)?n.size=e.usedBytes:Yn.isLink(e.mode)?n.size=e.link.length:n.size=0,n.atime=new Date(e.timestamp),n.mtime=new Date(e.timestamp),n.ctime=new Date(e.timestamp),n.blksize=4096,n.blocks=Math.ceil(n.size/n.blksize),n},setattr:function(e,n){void 0!==n.mode&&(e.mode=n.mode),void 0!==n.timestamp&&(e.timestamp=n.timestamp),void 0!==n.size&&Hn.resizeFileStorage(e,n.size)},lookup:function(e,n){throw Yn.genericErrors[44]},mknod:function(e,n,t,a){return Hn.createNode(e,n,t,a)},rename:function(e,n,t){if(Yn.isDir(e.mode)){var a;try{a=Yn.lookupNode(n,t)}catch(r){}if(a)for(var i in a.contents)throw new Yn.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,n.contents[t]=e,n.timestamp=e.parent.timestamp,e.parent=n},unlink:function(e,n){delete e.contents[n],e.timestamp=Date.now()},rmdir:function(e,n){var t=Yn.lookupNode(e,n);for(var a in t.contents)throw new Yn.ErrnoError(55);delete e.contents[n],e.timestamp=Date.now()},readdir:function(e){var n=[".",".."];for(var t in e.contents)e.contents.hasOwnProperty(t)&&n.push(t);return n},symlink:function(e,n,t){var a=Hn.createNode(e,n,41471,0);return a.link=t,a},readlink:function(e){if(!Yn.isLink(e.mode))throw new Yn.ErrnoError(28);return e.link}},stream_ops:{read:function(e,n,t,a,i){var r=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,a);if(o>8&&r.subarray)n.set(r.subarray(i,i+o),t);else for(var s=0;s0||a+t8)throw new Yn.ErrnoError(32);for(var i=Ln.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),r=Yn.root,o="/",s=0;s40)throw new Yn.ErrnoError(32)}}return{path:o,node:r}},getPath:function(e){for(var n;;){if(Yn.isRoot(e)){var t=e.mount.mountpoint;return n?"/"!==t[t.length-1]?t+"/"+n:t+n:t}n=n?e.name+"/"+n:e.name,e=e.parent}},hashName:function(e,n){for(var t=0,a=0;a>>0)%Yn.nameTable.length},hashAddNode:function(e){var n=Yn.hashName(e.parent.id,e.name);e.name_next=Yn.nameTable[n],Yn.nameTable[n]=e},hashRemoveNode:function(e){var n=Yn.hashName(e.parent.id,e.name);if(Yn.nameTable[n]===e)Yn.nameTable[n]=e.name_next;else for(var t=Yn.nameTable[n];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode:function(e,n){var t=Yn.mayLookup(e);if(t)throw new Yn.ErrnoError(t,e);for(var a=Yn.hashName(e.id,n),i=Yn.nameTable[a];i;i=i.name_next){var r=i.name;if(i.parent.id===e.id&&r===n)return i}return Yn.lookup(e,n)},createNode:function(e,n,t,a){var i=new Yn.FSNode(e,n,t,a);return Yn.hashAddNode(i),i},destroyNode:function(e){Yn.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768===(61440&e)},isDir:function(e){return 16384===(61440&e)},isLink:function(e){return 40960===(61440&e)},isChrdev:function(e){return 8192===(61440&e)},isBlkdev:function(e){return 24576===(61440&e)},isFIFO:function(e){return 4096===(61440&e)},isSocket:function(e){return 49152===(49152&e)},flagModes:{r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},modeStringToFlags:function(e){var n=Yn.flagModes[e];if("undefined"===typeof n)throw new Error("Unknown file open mode: "+e);return n},flagsToPermissionString:function(e){var n=["r","w","rw"][3&e];return 512&e&&(n+="w"),n},nodePermissions:function(e,n){return Yn.ignorePermissions||(!n.includes("r")||292&e.mode)&&(!n.includes("w")||146&e.mode)&&(!n.includes("x")||73&e.mode)?0:2},mayLookup:function(e){var n=Yn.nodePermissions(e,"x");return n||(e.node_ops.lookup?0:2)},mayCreate:function(e,n){try{Yn.lookupNode(e,n);return 20}catch(t){}return Yn.nodePermissions(e,"wx")},mayDelete:function(e,n,t){var a;try{a=Yn.lookupNode(e,n)}catch(r){return r.errno}var i=Yn.nodePermissions(e,"wx");if(i)return i;if(t){if(!Yn.isDir(a.mode))return 54;if(Yn.isRoot(a)||Yn.getPath(a)===Yn.cwd())return 10}else if(Yn.isDir(a.mode))return 31;return 0},mayOpen:function(e,n){return e?Yn.isLink(e.mode)?32:Yn.isDir(e.mode)&&("r"!==Yn.flagsToPermissionString(n)||512&n)?31:Yn.nodePermissions(e,Yn.flagsToPermissionString(n)):44},MAX_OPEN_FDS:4096,nextfd:function(e,n){e=e||0,n=n||Yn.MAX_OPEN_FDS;for(var t=e;t<=n;t++)if(!Yn.streams[t])return t;throw new Yn.ErrnoError(33)},getStream:function(e){return Yn.streams[e]},createStream:function(e,n,t){Yn.FSStream||(Yn.FSStream=function(){},Yn.FSStream.prototype={object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!==(2097155&this.flags)}},isWrite:{get:function(){return 0!==(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}});var a=new Yn.FSStream;for(var i in e)a[i]=e[i];e=a;var r=Yn.nextfd(n,t);return e.fd=r,Yn.streams[r]=e,e},closeStream:function(e){Yn.streams[e]=null},chrdev_stream_ops:{open:function(e){var n=Yn.getDevice(e.node.rdev);e.stream_ops=n.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Yn.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,n){return e<<8|n},registerDevice:function(e,n){Yn.devices[e]={stream_ops:n}},getDevice:function(e){return Yn.devices[e]},getMounts:function(e){for(var n=[],t=[e];t.length;){var a=t.pop();n.push(a),t.push.apply(t,a.mounts)}return n},syncfs:function(e,n){"function"===typeof e&&(n=e,e=!1),Yn.syncFSRequests++,Yn.syncFSRequests>1&&Q("warning: "+Yn.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var t=Yn.getMounts(Yn.root.mount),a=0;function i(e){return Yn.syncFSRequests--,n(e)}function r(e){if(e)return r.errored?void 0:(r.errored=!0,i(e));++a>=t.length&&i(null)}t.forEach((function(n){if(!n.type.syncfs)return r(null);n.type.syncfs(n,e,r)}))},mount:function(e,n,t){var a,i="/"===t,r=!t;if(i&&Yn.root)throw new Yn.ErrnoError(10);if(!i&&!r){var o=Yn.lookupPath(t,{follow_mount:!1});if(t=o.path,a=o.node,Yn.isMountpoint(a))throw new Yn.ErrnoError(10);if(!Yn.isDir(a.mode))throw new Yn.ErrnoError(54)}var s={type:e,opts:n,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,i?Yn.root=l:a&&(a.mounted=s,a.mount&&a.mount.mounts.push(s)),l},unmount:function(e){var n=Yn.lookupPath(e,{follow_mount:!1});if(!Yn.isMountpoint(n.node))throw new Yn.ErrnoError(28);var t=n.node,a=t.mounted,i=Yn.getMounts(a);Object.keys(Yn.nameTable).forEach((function(e){for(var n=Yn.nameTable[e];n;){var t=n.name_next;i.includes(n.mount)&&Yn.destroyNode(n),n=t}})),t.mounted=null;var r=t.mount.mounts.indexOf(a);t.mount.mounts.splice(r,1)},lookup:function(e,n){return e.node_ops.lookup(e,n)},mknod:function(e,n,t){var a=Yn.lookupPath(e,{parent:!0}).node,i=Ln.basename(e);if(!i||"."===i||".."===i)throw new Yn.ErrnoError(28);var r=Yn.mayCreate(a,i);if(r)throw new Yn.ErrnoError(r);if(!a.node_ops.mknod)throw new Yn.ErrnoError(63);return a.node_ops.mknod(a,i,n,t)},create:function(e,n){return n=void 0!==n?n:438,n&=4095,n|=32768,Yn.mknod(e,n,0)},mkdir:function(e,n){return n=void 0!==n?n:511,n&=1023,n|=16384,Yn.mknod(e,n,0)},mkdirTree:function(e,n){for(var t=e.split("/"),a="",i=0;ithis.length-1||e<0)){var n=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[n]}},r.prototype.setDataGetter=function(e){this.getter=e},r.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var n,a=Number(e.getResponseHeader("Content-length")),i=(n=e.getResponseHeader("Accept-Ranges"))&&"bytes"===n,r=(n=e.getResponseHeader("Content-Encoding"))&&"gzip"===n,o=1048576;i||(o=a);var s=this;s.setDataGetter((function(e){var n=e*o,i=(e+1)*o-1;if(i=Math.min(i,a-1),"undefined"===typeof s.chunks[e]&&(s.chunks[e]=function(e,n){if(e>n)throw new Error("invalid range ("+e+", "+n+") or no bytes requested!");if(n>a-1)throw new Error("only "+a+" bytes available! programmer error!");var i=new XMLHttpRequest;if(i.open("GET",t,!1),a!==o&&i.setRequestHeader("Range","bytes="+e+"-"+n),"undefined"!=typeof Uint8Array&&(i.responseType="arraybuffer"),i.overrideMimeType&&i.overrideMimeType("text/plain; charset=x-user-defined"),i.send(null),!(i.status>=200&&i.status<300||304===i.status))throw new Error("Couldn't load "+t+". Status: "+i.status);return void 0!==i.response?new Uint8Array(i.response||[]):tt(i.responseText||"",!0)}(n,i)),"undefined"===typeof s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!r&&a||(o=a=1,a=this.getter(0).length,o=a,B("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=a,this._chunkSize=o,this.lengthKnown=!0},"undefined"!==typeof XMLHttpRequest){if(!C)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o=new r;Object.defineProperties(o,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:o}}else s={isDevice:!1,url:t};var l=Yn.createFile(e,n,s,a,i);s.contents?l.contents=s.contents:s.url&&(l.contents=null,l.url=s.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var A={};return Object.keys(l.stream_ops).forEach((function(e){var n=l.stream_ops[e];A[e]=function(){return Yn.forceLoadFile(l),n.apply(null,arguments)}})),A.read=function(e,n,t,a,i){Yn.forceLoadFile(l);var r=e.node.contents;if(i>=r.length)return 0;var o=Math.min(r.length-i,a);if(r.slice)for(var s=0;s>2]=a.dev,O[t+4>>2]=0,O[t+8>>2]=a.ino,O[t+12>>2]=a.mode,O[t+16>>2]=a.nlink,O[t+20>>2]=a.uid,O[t+24>>2]=a.gid,O[t+28>>2]=a.rdev,O[t+32>>2]=0,pe=[a.size>>>0,(de=a.size,+Math.abs(de)>=1?de>0?(0|Math.min(+Math.floor(de/4294967296),4294967295))>>>0:~~+Math.ceil((de-+(~~de>>>0))/4294967296)>>>0:0)],O[t+40>>2]=pe[0],O[t+44>>2]=pe[1],O[t+48>>2]=4096,O[t+52>>2]=a.blocks,O[t+56>>2]=a.atime.getTime()/1e3|0,O[t+60>>2]=0,O[t+64>>2]=a.mtime.getTime()/1e3|0,O[t+68>>2]=0,O[t+72>>2]=a.ctime.getTime()/1e3|0,O[t+76>>2]=0,pe=[a.ino>>>0,(de=a.ino,+Math.abs(de)>=1?de>0?(0|Math.min(+Math.floor(de/4294967296),4294967295))>>>0:~~+Math.ceil((de-+(~~de>>>0))/4294967296)>>>0:0)],O[t+80>>2]=pe[0],O[t+84>>2]=pe[1],0},doMsync:function(e,n,t,a,i){var r=M.slice(e,e+t);Yn.msync(n,r,i,t,a)},doMkdir:function(e,n){return"/"===(e=Ln.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Yn.mkdir(e,n,0),0},doMknod:function(e,n,t){switch(61440&n){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Yn.mknod(e,n,t),0},doReadlink:function(e,n,t){if(t<=0)return-28;var a=Yn.readlink(e),i=Math.min(t,j(a)),r=R[n+i];return x(a,n,t+1),R[n+i]=r,i},doAccess:function(e,n){if(-8&n)return-28;var t=Yn.lookupPath(e,{follow:!0}).node;if(!t)return-44;var a="";return 4&n&&(a+="r"),2&n&&(a+="w"),1&n&&(a+="x"),a&&Yn.nodePermissions(t,a)?-2:0},doDup:function(e,n,t){var a=Yn.getStream(t);return a&&Yn.close(a),Yn.open(e,n,0,t,t).fd},doReadv:function(e,n,t,a){for(var i=0,r=0;r>2],s=O[n+(8*r+4)>>2],l=Yn.read(e,R,o,s,a);if(l<0)return-1;if(i+=l,l>2],s=O[n+(8*r+4)>>2],l=Yn.write(e,R,o,s,a);if(l<0)return-1;i+=l}return i},varargs:void 0,get:function(){return Wn.varargs+=4,O[Wn.varargs-4>>2]},getStr:function(e){return D(e)},getStreamFromFD:function(e){var n=Yn.getStream(e);if(!n)throw new Yn.ErrnoError(8);return n},get64:function(e,n){return e}};function Kn(e){return e%4===0&&(e%100!==0||e%400===0)}function Jn(e,n){for(var t=0,a=0;a<=n;t+=e[a++]);return t}var Vn=[31,29,31,30,31,30,31,31,30,31,30,31],qn=[31,28,31,30,31,30,31,31,30,31,30,31];function Xn(e,n){for(var t=new Date(e.getTime());n>0;){var a=Kn(t.getFullYear()),i=t.getMonth(),r=(a?Vn:qn)[i];if(!(n>r-t.getDate()))return t.setDate(t.getDate()+n),t;n-=r-t.getDate()+1,t.setDate(1),i<11?t.setMonth(i+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}function Zn(e,n,t,a){var i=O[a+40>>2],r={tm_sec:O[a>>2],tm_min:O[a+4>>2],tm_hour:O[a+8>>2],tm_mday:O[a+12>>2],tm_mon:O[a+16>>2],tm_year:O[a+20>>2],tm_wday:O[a+24>>2],tm_yday:O[a+28>>2],tm_isdst:O[a+32>>2],tm_gmtoff:O[a+36>>2],tm_zone:i?D(i):""},o=D(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)o=o.replace(new RegExp(l,"g"),s[l]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,n,t){for(var a="number"===typeof e?e.toString():e||"";a.length0?1:0}var a;return 0===(a=t(e.getFullYear()-n.getFullYear()))&&0===(a=t(e.getMonth()-n.getMonth()))&&(a=t(e.getDate()-n.getDate())),a}function p(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function f(e){var n=Xn(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(n.getFullYear(),0,4),a=new Date(n.getFullYear()+1,0,4),i=p(t),r=p(a);return d(i,n)<=0?d(r,n)<=0?n.getFullYear()+1:n.getFullYear():n.getFullYear()-1}var h={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return g[e.tm_mon].substring(0,3)},"%B":function(e){return g[e.tm_mon]},"%C":function(e){return c((e.tm_year+1900)/100|0,2)},"%d":function(e){return c(e.tm_mday,2)},"%e":function(e){return u(e.tm_mday,2," ")},"%g":function(e){return f(e).toString().substring(2)},"%G":function(e){return f(e)},"%H":function(e){return c(e.tm_hour,2)},"%I":function(e){var n=e.tm_hour;return 0==n?n=12:n>12&&(n-=12),c(n,2)},"%j":function(e){return c(e.tm_mday+Jn(Kn(e.tm_year+1900)?Vn:qn,e.tm_mon-1),3)},"%m":function(e){return c(e.tm_mon+1,2)},"%M":function(e){return c(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return c(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var n=new Date(e.tm_year+1900,0,1),t=0===n.getDay()?n:Xn(n,7-n.getDay()),a=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(d(t,a)<0){var i=Jn(Kn(a.getFullYear())?Vn:qn,a.getMonth()-1)-31,r=31-t.getDate()+i+a.getDate();return c(Math.ceil(r/7),2)}return 0===d(t,n)?"01":"00"},"%V":function(e){var n,t=new Date(e.tm_year+1900,0,4),a=new Date(e.tm_year+1901,0,4),i=p(t),r=p(a),o=Xn(new Date(e.tm_year+1900,0,1),e.tm_yday);return d(o,i)<0?"53":d(r,o)<=0?"01":(n=i.getFullYear()=0;return n=(n=Math.abs(n)/60)/60*100+n%60,(t?"+":"-")+String("0000"+n).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in h)o.includes(l)&&(o=o.replace(new RegExp(l,"g"),h[l](r)));var I=tt(o,!1);return I.length>n?0:(q(I,e),I.length-1)}!function(){for(var e=new Array(256),n=0;n<256;++n)e[n]=String.fromCharCode(n);be=e}(),Te=n.BindingError=je(Error,"BindingError"),Me=n.InternalError=je(Error,"InternalError"),$e.prototype.isAliasOf=Ge,$e.prototype.clone=We,$e.prototype.delete=Ke,$e.prototype.isDeleted=Je,$e.prototype.deleteLater=Ze,mn.prototype.getPointee=An,mn.prototype.destructor=gn,mn.prototype.argPackAdvance=8,mn.prototype.readValueFromPointer=ln,mn.prototype.deleteObject=un,mn.prototype.fromWireType=En,n.getInheritedInstanceCount=dn,n.getLiveInheritedInstances=pn,n.flushPendingDeletes=Xe,n.setDelayFunction=fn,yn=n.UnboundTypeError=je(Error,"UnboundTypeError"),n.count_emval_handles=Sn,n.get_first_emval=xn;var $n=function(e,n,t,a){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Yn.nextInode++,this.name=n,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=a},et=365,nt=146;Object.defineProperties($n.prototype,{read:{get:function(){return(this.mode&et)===et},set:function(e){e?this.mode|=et:this.mode&=-366}},write:{get:function(){return(this.mode&nt)===nt},set:function(e){e?this.mode|=nt:this.mode&=-147}},isFolder:{get:function(){return Yn.isDir(this.mode)}},isDevice:{get:function(){return Yn.isChrdev(this.mode)}}}),Yn.FSNode=$n,Yn.staticInit();function tt(e,n,t){var a=t>0?t:j(e)+1,i=new Array(a),r=S(e,i,0,i.length);return n&&(i.length=r),i}var at,it={__cxa_allocate_exception:function(e){return rt(e+16)+16},__cxa_atexit:function(e,n){},__cxa_throw:function(e,n,t){throw new Be(e).init(n,t),e,e},__gmtime_r:function(e,n){return Qe(e,n)},_embind_register_bigint:function(e,n,t,a,i){},_embind_register_bool:function(e,n,t,a,i){var r=ye(t);Oe(e,{name:n=_e(n),fromWireType:function(e){return!!e},toWireType:function(e,n){return n?a:i},argPackAdvance:8,readValueFromPointer:function(e){var a;if(1===t)a=R;else if(2===t)a=N;else{if(4!==t)throw new TypeError("Unknown boolean type size: "+n);a=O}return this.fromWireType(a[e>>r])},destructorFunction:null})},_embind_register_class:function(e,t,a,i,r,o,s,l,A,g,u,c,d){u=_e(u),o=Qn(r,o),l&&(l=Qn(s,l)),g&&(g=Qn(A,g)),d=Qn(c,d);var p=Se(u);!function(e,t,a){n.hasOwnProperty(e)?((void 0===a||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[a])&&Re("Cannot register public name '"+e+"' twice"),nn(n,e,e),n.hasOwnProperty(a)&&Re("Cannot register multiple overloads of a function with the same number of arguments ("+a+")!"),n[e].overloadTable[a]=t):(n[e]=t,void 0!==a&&(n[e].numArguments=a))}(p,(function(){_n("Cannot construct "+u+" due to unbound types",[i])})),Pe([e,t,a],i?[i]:[],(function(t){var a,r;t=t[0],r=i?(a=t.registeredClass).instancePrototype:$e.prototype;var s=xe(p,(function(){if(Object.getPrototypeOf(this)!==A)throw new Te("Use 'new' to construct "+u);if(void 0===c.constructor_body)throw new Te(u+" has no accessible constructor");var e=c.constructor_body[arguments.length];if(void 0===e)throw new Te("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(c.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),A=Object.create(r,{constructor:{value:s}});s.prototype=A;var c=new tn(u,s,A,d,a,o,l,g),f=new mn(u,c,!0,!1,!1),h=new mn(u+"*",c,!1,!1,!1),I=new mn(u+" const*",c,!1,!0,!1);return en[e]={pointerType:h,constPointerType:I},function(e,t,a){n.hasOwnProperty(e)||Ne("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==a?n[e].overloadTable[a]=t:(n[e]=t,n[e].argCount=a)}(p,s),[f,h,I]}))},_embind_register_class_constructor:function(e,n,t,a,i,r){w(n>0);var o=kn(n,t);i=Qn(a,i),Pe([],[e],(function(e){var t="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[n-1])throw new Te("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[n-1]=function(){_n("Cannot construct "+e.name+" due to unbound types",o)},Pe([],o,(function(a){return a.splice(1,0,null),e.registeredClass.constructor_body[n-1]=Fn(t,a,null,i,r),[]})),[]}))},_embind_register_class_function:function(e,n,t,a,i,r,o,s){var l=kn(t,a);n=_e(n),r=Qn(i,r),Pe([],[e],(function(e){var a=(e=e[0]).name+"."+n;function i(){_n("Cannot call "+a+" due to unbound types",l)}n.startsWith("@@")&&(n=Symbol[n.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(n);var A=e.registeredClass.instancePrototype,g=A[n];return void 0===g||void 0===g.overloadTable&&g.className!==e.name&&g.argCount===t-2?(i.argCount=t-2,i.className=e.name,A[n]=i):(nn(A,n,a),A[n].overloadTable[t-2]=i),Pe([],l,(function(i){var s=Fn(a,i,e,r,o);return void 0===A[n].overloadTable?(s.argCount=t-2,A[n]=s):A[n].overloadTable[t-2]=s,[]})),[]}))},_embind_register_emval:function(e,n){Oe(e,{name:n=_e(n),fromWireType:function(e){var n=Tn.toValue(e);return function(e){e>4&&0===--Dn[e].refcount&&(Dn[e]=void 0,vn.push(e))}(e),n},toWireType:function(e,n){return Tn.toHandle(n)},argPackAdvance:8,readValueFromPointer:ln,destructorFunction:null})},_embind_register_float:function(e,n,t){var a=ye(t);Oe(e,{name:n=_e(n),fromWireType:function(e){return e},toWireType:function(e,n){return n},argPackAdvance:8,readValueFromPointer:Mn(n,a),destructorFunction:null})},_embind_register_integer:function(e,n,t,a,i){n=_e(n),-1===i&&(i=4294967295);var r=ye(t),o=function(e){return e};if(0===a){var s=32-8*t;o=function(e){return e<>>s}}var l=n.includes("unsigned");Oe(e,{name:n,fromWireType:o,toWireType:function(e,t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+Rn(t)+'" to '+this.name);if(ti)throw new TypeError('Passing a number "'+Rn(t)+'" from JS side to C/C++ side to an argument of type "'+n+'", which is outside the valid range ['+a+", "+i+"]!");return l?t>>>0:0|t},argPackAdvance:8,readValueFromPointer:Nn(n,r,0!==a),destructorFunction:null})},_embind_register_memory_view:function(e,n,t){var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];function i(e){var n=G,t=n[e>>=2],i=n[e+1];return new a(T,i,t)}Oe(e,{name:t=_e(t),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:function(e,n){var t="std::string"===(n=_e(n));Oe(e,{name:n,fromWireType:function(e){var n,a=G[e>>2];if(t)for(var i=e+4,r=0;r<=a;++r){var o=e+4+r;if(r==a||0==M[o]){var s=D(i,o-i);void 0===n?n=s:(n+=String.fromCharCode(0),n+=s),i=o+1}}else{var l=new Array(a);for(r=0;r>2]=i,t&&a)x(n,r+4,i+1);else if(a)for(var o=0;o255&&(ot(r),Re("String has UTF-16 code units that do not fit in 8 bits")),M[r+4+o]=s}else for(o=0;o>2],o=r(),l=e+4,A=0;A<=i;++A){var g=e+4+A*n;if(A==i||0==o[g>>s]){var u=a(l,g-l);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),l=g+n}}return ot(e),t},toWireType:function(e,a){"string"!==typeof a&&Re("Cannot pass non-string to C++ string type "+t);var r=o(a),l=rt(4+r+n);return G[l>>2]=r>>s,i(a,l+4,r+n),null!==e&&e.push(ot,l),l},argPackAdvance:8,readValueFromPointer:ln,destructorFunction:function(e){ot(e)}})},_embind_register_void:function(e,n){Oe(e,{isVoid:!0,name:n=_e(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,n){}})},abort:function(){ge("")},clock_gettime:function(e,n){var t,a;if(0===e)t=Date.now();else{if(1!==e&&4!==e)return a=28,O[st()>>2]=a,-1;t=jn()}return O[n>>2]=t/1e3|0,O[n+4>>2]=t%1e3*1e3*1e3|0,0},emscripten_memcpy_big:function(e,n,t){M.copyWithin(e,n,n+t)},emscripten_resize_heap:function(e){var n,t,a=M.length,i=2147483648;if((e>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var o=a*(1+.2/r);if(o=Math.min(o,e+100663296),Pn(Math.min(i,((n=Math.max(e,o))%(t=65536)>0&&(n+=t-n%t),n))))return!0}return!1},environ_get:function(e,n){var t=0;return Gn().forEach((function(a,i){var r=n+t;O[e+4*i>>2]=r,X(a,r),t+=a.length+1})),0},environ_sizes_get:function(e,n){var t=Gn();O[e>>2]=t.length;var a=0;return t.forEach((function(e){a+=e.length+1})),O[n>>2]=a,0},fd_close:function(e){try{var n=Wn.getStreamFromFD(e);return Yn.close(n),0}catch(t){if("undefined"===typeof Yn||!(t instanceof Yn.ErrnoError))throw t;return t.errno}},fd_fdstat_get:function(e,n){try{var t=Wn.getStreamFromFD(e),a=t.tty?2:Yn.isDir(t.mode)?3:Yn.isLink(t.mode)?7:4;return R[n>>0]=a,0}catch(i){if("undefined"===typeof Yn||!(i instanceof Yn.ErrnoError))throw i;return i.errno}},fd_read:function(e,n,t,a){try{var i=Wn.getStreamFromFD(e),r=Wn.doReadv(i,n,t);return O[a>>2]=r,0}catch(o){if("undefined"===typeof Yn||!(o instanceof Yn.ErrnoError))throw o;return o.errno}},fd_seek:function(e,n,t,a,i){try{var r=Wn.getStreamFromFD(e),o=4294967296*t+(n>>>0),s=9007199254740992;return o<=-s||o>=s?-61:(Yn.llseek(r,o,a),pe=[r.position>>>0,(de=r.position,+Math.abs(de)>=1?de>0?(0|Math.min(+Math.floor(de/4294967296),4294967295))>>>0:~~+Math.ceil((de-+(~~de>>>0))/4294967296)>>>0:0)],O[i>>2]=pe[0],O[i+4>>2]=pe[1],r.getdents&&0===o&&0===a&&(r.getdents=null),0)}catch(l){if("undefined"===typeof Yn||!(l instanceof Yn.ErrnoError))throw l;return l.errno}},fd_write:function(e,n,t,a){try{var i=Wn.getStreamFromFD(e),r=Wn.doWritev(i,n,t);return O[a>>2]=r,0}catch(o){if("undefined"===typeof Yn||!(o instanceof Yn.ErrnoError))throw o;return o.errno}},gettimeofday:function(e){var n=Date.now();return O[e>>2]=n/1e3|0,O[e+4>>2]=n%1e3*1e3|0,0},setTempRet0:function(e){e},strftime:Zn,strftime_l:function(e,n,t,a){return Zn(e,n,t,a)},time:function(e){var n=Date.now()/1e3|0;return e&&(O[e>>2]=n),n}},rt=(function(){var e={env:it,wasi_snapshot_preview1:it};function t(e,t){var a,i=e.exports;n.asm=i,Z((b=n.asm.memory).buffer),$=n.asm.__indirect_function_table,a=n.asm.__wasm_call_ctors,ne.unshift(a),Ae()}function a(e){t(e.instance)}function i(n){return function(){if(!y&&(I||C)){if("function"===typeof fetch&&!Ie(ue))return fetch(ue,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ue+"'";return e.arrayBuffer()})).catch((function(){return Ce(ue)}));if(u)return new Promise((function(e,n){u(ue,(function(n){e(new Uint8Array(n))}),n)}))}return Promise.resolve().then((function(){return Ce(ue)}))}().then((function(n){return WebAssembly.instantiate(n,e)})).then((function(e){return e})).then(n,(function(e){Q("failed to asynchronously prepare wasm: "+e),ge(e)}))}if(le(),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(r){return Q("Module.instantiateWasm callback failed with error: "+r),!1}(y||"function"!==typeof WebAssembly.instantiateStreaming||he(ue)||Ie(ue)||"function"!==typeof fetch?i(a):fetch(ue,{credentials:"same-origin"}).then((function(n){return WebAssembly.instantiateStreaming(n,e).then(a,(function(e){return Q("wasm streaming compile failed: "+e),Q("falling back to ArrayBuffer instantiation"),i(a)}))}))).catch(s)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.__wasm_call_ctors).apply(null,arguments)},n._malloc=function(){return(rt=n._malloc=n.asm.malloc).apply(null,arguments)}),ot=n._free=function(){return(ot=n._free=n.asm.free).apply(null,arguments)},st=n.___errno_location=function(){return(st=n.___errno_location=n.asm.__errno_location).apply(null,arguments)},lt=(n._saveSetjmp=function(){return(n._saveSetjmp=n.asm.saveSetjmp).apply(null,arguments)},n.___getTypeName=function(){return(lt=n.___getTypeName=n.asm.__getTypeName).apply(null,arguments)});n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.__embind_register_native_and_builtin_types).apply(null,arguments)},n._emscripten_main_thread_process_queued_calls=function(){return(n._emscripten_main_thread_process_queued_calls=n.asm.emscripten_main_thread_process_queued_calls).apply(null,arguments)},n.___dl_seterr=function(){return(n.___dl_seterr=n.asm.__dl_seterr).apply(null,arguments)},n.stackSave=function(){return(n.stackSave=n.asm.stackSave).apply(null,arguments)},n.stackRestore=function(){return(n.stackRestore=n.asm.stackRestore).apply(null,arguments)},n.stackAlloc=function(){return(n.stackAlloc=n.asm.stackAlloc).apply(null,arguments)},n._setThrew=function(){return(n._setThrew=n.asm.setThrew).apply(null,arguments)},n.dynCall_ji=function(){return(n.dynCall_ji=n.asm.dynCall_ji).apply(null,arguments)},n.dynCall_jii=function(){return(n.dynCall_jii=n.asm.dynCall_jii).apply(null,arguments)},n.dynCall_viji=function(){return(n.dynCall_viji=n.asm.dynCall_viji).apply(null,arguments)},n.dynCall_iiij=function(){return(n.dynCall_iiij=n.asm.dynCall_iiij).apply(null,arguments)},n.dynCall_jiji=function(){return(n.dynCall_jiji=n.asm.dynCall_jiji).apply(null,arguments)},n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.dynCall_viijii).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.dynCall_iiiiij).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.dynCall_iiiiijj).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.dynCall_iiiiiijj).apply(null,arguments)};function At(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function gt(e){function t(){at||(at=!0,n.calledRun=!0,k||(!0,n.noFSInit||Yn.init.initialized||Yn.init(),Yn.ignorePermissions=!1,zn.init(),Ee(ne),o(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),te.unshift(e);var e;Ee(te)}()))}e=e||f,re>0||(!function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),ee.unshift(e);var e;Ee(ee)}(),re>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t()))}if(se=function e(){at||gt(),at||(se=e)},n.run=gt,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return gt(),n.ready}}();e.exports=o}).call(this,"/index.js",t(30),"/",t(51).Buffer)},27:function(e,n,t){"use strict";t.d(n,"a",(function(){return s}));var a=t(6),i=t(5),r=(t(1),t(0)),o=i.d.button.withConfig({displayName:"F3dButton__F3dButtonElt",componentId:"sc-1k74tkm-0"})(["transition:none;vertical-align:unset;font-size:16px;line-height:inherit;border:2px solid #5492B0;background:linear-gradient(0deg,#5492B0 0%,#61A5D7 100%);font-weight:bold;height:34px;min-width:105px;color:white;border-radius:6px;cursor:pointer;padding:1px 7px 2px;&:focus{border:2px solid #335566;outline:none;}&:disabled{border:2px solid #9aa6ac;background:linear-gradient(0deg,#97a8b1 0%,#c4cfd6 100%);outline:none;}"]);function s(e){return Object(r.jsx)(o,Object(a.a)(Object(a.a)({},e),{},{children:e.children}))}},273:function(e,n,t){"use strict";t.d(n,"a",(function(){return l})),t.d(n,"b",(function(){return A}));t(6);var a,i,r,o=t(33),s=t(38);t(568),t(351),t(1385),Object(s.b)(a||(a=Object(o.a)(["\n mutation GetSignedUrlForBlobPut($blobHash: String!, $blobOptions: BlobOptions!) {\n getSignedUrlForBlobPut(blobHash: $blobHash, blobOptions: $blobOptions)\n}\n "])));var l=Object(s.b)(i||(i=Object(o.a)(["\n mutation AdminDeleteNonEddLicense($id: ID!) {\n adminDeleteNonEddLicense(id: $id)\n}\n "])));var A=Object(s.b)(r||(r=Object(o.a)(["\n query GetNotLoggedInSupplierCatalogPartsInfos($name: String) {\n getNotLoggedInSupplierCatalogPartsInfos(name: $name) {\n name\n csvBlobHash\n }\n}\n "])))},276:function(e,n,t){var a=t(446),i=a,r=Function("return this")();i.exportSymbol("proto.google.protobuf.Any",null,r),proto.google.protobuf.Any=function(e){a.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.google.protobuf.Any,a.Message),i.DEBUG&&!COMPILED&&(proto.google.protobuf.Any.displayName="proto.google.protobuf.Any"),a.Message.GENERATE_TO_OBJECT&&(proto.google.protobuf.Any.prototype.toObject=function(e){return proto.google.protobuf.Any.toObject(e,this)},proto.google.protobuf.Any.toObject=function(e,n){var t={typeUrl:a.Message.getFieldWithDefault(n,1,""),value:n.getValue_asB64()};return e&&(t.$jspbMessageInstance=n),t}),proto.google.protobuf.Any.deserializeBinary=function(e){var n=new a.BinaryReader(e),t=new proto.google.protobuf.Any;return proto.google.protobuf.Any.deserializeBinaryFromReader(t,n)},proto.google.protobuf.Any.deserializeBinaryFromReader=function(e,n){for(;n.nextField()&&!n.isEndGroup();){switch(n.getFieldNumber()){case 1:var t=n.readString();e.setTypeUrl(t);break;case 2:t=n.readBytes();e.setValue(t);break;default:n.skipField()}}return e},proto.google.protobuf.Any.prototype.serializeBinary=function(){var e=new a.BinaryWriter;return proto.google.protobuf.Any.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.google.protobuf.Any.serializeBinaryToWriter=function(e,n){var t=void 0;(t=e.getTypeUrl()).length>0&&n.writeString(1,t),(t=e.getValue_asU8()).length>0&&n.writeBytes(2,t)},proto.google.protobuf.Any.prototype.getTypeUrl=function(){return a.Message.getFieldWithDefault(this,1,"")},proto.google.protobuf.Any.prototype.setTypeUrl=function(e){return a.Message.setProto3StringField(this,1,e)},proto.google.protobuf.Any.prototype.getValue=function(){return a.Message.getFieldWithDefault(this,2,"")},proto.google.protobuf.Any.prototype.getValue_asB64=function(){return a.Message.bytesAsB64(this.getValue())},proto.google.protobuf.Any.prototype.getValue_asU8=function(){return a.Message.bytesAsU8(this.getValue())},proto.google.protobuf.Any.prototype.setValue=function(e){return a.Message.setProto3BytesField(this,2,e)},i.object.extend(n,proto.google.protobuf)},278:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return Q}));var a=t(17),i=t(7),r=t(2),o=t.n(r),s=t(4),l=t(5),A=t(351),g=t(1),u=t(64),c=t(147),d=t(273),p=t(149),f=t(14),h=t(135),I=t(75),C=t(109),E=t(0);function m(e){var n=Object(u.g)(),t=Object(u.h)(),a=Object(g.useMemo)((function(){console.log("props.headerRow",e.headerRow);var n={};return e.headerRow.forEach((function(e,t){n[e]=t})),[{key:"partNumber",name:"Name",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.partNumber]})}},{key:"description",name:"Description",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.description]})}},{key:"size",name:"Size",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.size]})}},{key:"manufacturer",name:"Manufacturer",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.manufacturer]})}},{key:"manufacturerPartNumber",name:"Part Number",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.manufacturerPartNumber]})}},{key:"partType",name:"Type",renderFn:function(e){var t=e.row;return Object(E.jsx)(E.Fragment,{children:t[n.partType]})}}]}),[]),i=Object(g.useMemo)((function(){return function(){var n=Object(s.a)(o.a.mark((function n(t){var a;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=e.effectRows.slice(t.offset,t.offset+t.limit),n.abrupt("return",{dataRows:a});case 2:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()}),[e.effectCount]),r=Object(g.useMemo)((function(){return function(n){e.onClickVdl&&e.onClickVdl(n[e.headerRow.indexOf("vdl")])}}),[e.headerRow,e.onClickVdl]),l=Object(g.useMemo)((function(){return{columnInfos:a,fetchDataFn:i,onClickRow:r}}),[a,i]),A=Object(g.useMemo)((function(){return{offset:0,limit:50}}),[]);t.di&&(A=JSON.parse(decodeURIComponent(t.di)));var d=Object(g.useMemo)((function(){return function(e){var t="/effects/".concat(encodeURIComponent(JSON.stringify(e)));n.push(t)}}),[n]);return Object(E.jsx)("div",{className:"EffectTable",children:Object(E.jsx)(c.a,{dataTableConfig:l,dataTableInput:A,onChange:d})})}var B=l.d.div.withConfig({displayName:"EffectsPage__EffectsPageDiv",componentId:"sc-qz7bz9-0"})([".ViewsHolder{display:flex;.SimulationViewHolder{flex-grow:1;.VdlLine{display:flex;align-items:baseline;margin:4px 8px;label{font-weight:bold;}input{flex-grow:1;padding:0 4px;margin-left:8px;background:#ccc;border:1px solid #444;color:#444;}}}.YoutubePlayerHolder{flex-grow:1;}}.Cell{&.partType{width:80px;}&.partNumber{width:200px;}&.description{width:600px;}&.size{width:60px;}&.manufacturer{width:120px;}&.manufacturerPartNumber{width:120px;}}"]);function Q(){var n=Object(f.d)(h.a),t=n.beginTask,r=(n.taskUpdate,n.taskSucceed),l=(n.taskError,Object(g.useRef)(null)),u=Object(g.useRef)(null),c=Object(g.useRef)([]),Q=Object(A.a)(d.b),y=Object(g.useState)(0),b=Object(i.a)(y,2),_=(b[0],b[1]),k=Object(g.useState)(0),w=Object(i.a)(k,2),F=(w[0],w[1]),v=Object(g.useState)("green gold peony"),D=Object(i.a)(v,2),S=D[0],x=D[1];Object(g.useEffect)((function(){var e=Object(p.a)();l.current=e;t({taskId:e,taskName:"Downloading effect catalogs"})}),[]),Object(g.useEffect)((function(){function n(){return n=Object(s.a)(o.a.mark((function n(){var t,i;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return t=new I.a,i=[],n.next=4,Promise.all(Q.data.getNotLoggedInSupplierCatalogPartsInfos.map(function(){var n=Object(s.a)(o.a.mark((function n(r){var s,l,A,g;return o.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i.push(r),n.next=3,t.downloadBlob(r.csvBlobHash,{namePrefix:"userblobs",tags:["userblobs"]});case 3:if(l=n.sent,A=e.from(l).toString(),g=Object(C.d)(A),null!=u.current){n.next=10;break}u.current=g.headerRow,n.next=12;break;case 10:if(JSON.stringify(u.current)==JSON.stringify(g.headerRow)){n.next=12;break}throw new Error("differing header rows");case 12:(s=c.current).splice.apply(s,[c.current.length,0].concat(Object(a.a)(g.dataRows))),F(c.current.length),_(i.length);case 15:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()));case 4:r({taskId:l.current});case 5:case"end":return n.stop()}}),n)}))),n.apply(this,arguments)}Q.data&&function(){n.apply(this,arguments)}()}),[Q.data]);return Object(E.jsxs)(B,{children:[Object(E.jsxs)("div",{className:"ViewsHolder",children:[Object(E.jsx)("div",{className:"SimulationViewHolder",children:Object(E.jsxs)("div",{className:"VdlLine",children:[Object(E.jsx)("label",{children:"VDL:"}),Object(E.jsx)("input",{type:"text",readOnly:!0,value:S})]})}),!1]}),null!=u.current&&Object(E.jsx)(m,{effectCount:c.current.length,headerRow:u.current,effectRows:c.current,onClickVdl:x})]})}}).call(this,t(51).Buffer)},29:function(e,n,t){"use strict";t.d(n,"c",(function(){return a})),t.d(n,"e",(function(){return i})),t.d(n,"d",(function(){return r})),t.d(n,"b",(function(){return o})),t.d(n,"a",(function(){return s})),t.d(n,"f",(function(){return l})),t.d(n,"g",(function(){return A}));t(531);var a="network-only",i="Z",r="Finale3D API Service",o=20,s=2,l="AIzaSyB91Hdy2IYlSdfff_rDMXGeUpc0K8sGO4g";var A={"04a7a3165d578b717b95e2d593d6547f55ffc4b2402962c54da2f0192a1294a0":"WorkOnEmailSendQueue","05f330625e50f9e3095548b863ad1d26aec5dd51fb0fb70258dd2b68f3fd3241":"Me1","07ba337e24f3f6b492f5d253d4a3e7933f9bac58a6c7bf68e7b6511d57c59bf4":"TransferPyroPoints1","12f13e4e26be32901d032eab309ac93037be1decde82aa091b8b057e35c844f5":"RealtimeUpdateLogStreamDescriptions","13c99ebd3c470cabf66e0c54f779e82db82d37afd8902badbe13f6b7520b4939":"UpdateEddLicensesFromWordpressFast","14cad78577e1cfb88e27391eb38dc3d19693880166d28923e3bccfd6a84ff153":"GetRequestLogEntryForId","256c463aa8adc64408a108ebb3bd3a2e1fe61215e5367dc29e6028fd9991925d":"PostImageToOnlineGallery","257f58bb197290175469c4c5c690f8932b0652ab1107922a0abc1771f4f183da":"GetMyPartsCsv-CsvText","2b133a3ca692002ae2c2db26966ac12e2869d7cba942da55a5cd9414d24616e8":"Me2","307a8d97b207a9e8483b36409acef6b0d6cd024bde1796cc37bd9130effd80c8":"Me3","3108312545f44f29110514fe5113f1887dde466ea4786c11a2b171c779e97ae6":"WorkOnCrawler","335ce6ac78c4d1413bf6fb06c573374bcc6ed8df9bbefc18fefaba6408edaea5":"GetSignedUrlForBlobPut1","4347483f6e5bec3fb4148f5e22eb5f929964a908ba15708310145abb03650c0d":"GetSupplierCatalogPartsData-CsvText","51b2b20be5d2780ebd26fe6f2be03c05f83d245f4539904d9cf41b8ce1f367a7":"GetFinaleInventoryPartsData-CsvText","61932fe8b3f18f4a4a772cbb38571da881d0c8e74a869748801f9028d679ff28":"GetFinaleInventoryPartsData-MetaData","639b3b01291bfecd1c40dd525da5ce66db9e97b5ca4f5626dd2e0a6017b5b2d7":"ApplyMyPartsCsvChanges","64ed753919ef56989778a7efbfbf5ebd0a4980bd01449519f51886242d21d4f6":"UpdateEddLicensesFromWordpress","655b2672ed2f3c0378f0fff5757602c8b30cba995e6c189549bd975f98309666":"GetAllUsers","6a8c385c52638d42a6f071c7f8f5dcd6e3735b3975fb126e9ca9fc3d7433d6e3":"GetSupplierCatalogPartsData-BlobHash","72886ba94639fa9fd1d6a4a714a7dd8ed6220998a6c0efd44b5809032f227462":"VerifyEmailAddress","7492ec09daf27da46a121771fa45f98dbebc1eb0c362ec2a1fd35952352c3ffa":"GetFinaleInventoryPartsData-BlobHash","8cdce3373ec12657cb9e69580179af0ba8e2601dd9bdda95cb3cd32552dbefca":"WorkOnLogStreams1","96a1092afd8db3ca111e956d9263a73a38962975ebad7e5ab686ceff77ded9f1":"GetAllRequestLogs","9c44eab6e455384d87fe298f269f58a6280ea359acb26e832843b9442b325368":"GetEmailAddressHasBeenVerified",a8bd51f794742f33f62ad1a89b96b5147cabb4dd589b6a91ebac0ea85a3dd653:"GetForumPostBalancesForIds",abbfd0622056dc6c14d1d7fb871f95fb6512b19078a2de3100ce9e4fc81d636d:"Me4",ba1ccf8643e7ae8e0f45c7fdd6511ac0600605fef36ecfde8a593c9ea34633b1:"GetSignedUrlForBlobPut2",c059909e34ed45fcfc183f1fa4bb9c579506bc33930243dbafffe485ff0d38e9:"GetUserForEmail",c3c653226b46a0a86bbdfddc5fa709673f2549d7750c2931ffe6caabd53c6086:"ApplyFinaleInventoryCsvChanges1",d24f00071022022bcfca0907c628e4caa34c64c662303bb98c12ac52f779fa86:"GetNetworkPartsInfos",dadd869d5be87e15f6667feb0d1d59f90a224cc1ffad345e7acf6cd9f6888de4:"CreatePromoLicense",defc17d3ad4160bdf89ffeb40fb62b6bdd65aea70bd713a4ea3a6e7e4c713157:"ApplyFinaleInventoryCsvChanges2",e42d93d2cdcce53858a4f962ce32223acee1aba6acf8e079d414e3f224b36e67:"GetMyPartsCsv-BlobHash",f4bf8356ab840080a6ea2b91cd01577f899757f13e44654a4ae4b4463224ec36:"WorkOnLogStreams2"}},290:function(e,n){},31:function(e,n,t){"use strict";t.d(n,"g",(function(){return x})),t.d(n,"h",(function(){return j})),t.d(n,"i",(function(){return T})),t.d(n,"e",(function(){return R})),t.d(n,"f",(function(){return M})),t.d(n,"w",(function(){return N})),t.d(n,"x",(function(){return P})),t.d(n,"c",(function(){return O})),t.d(n,"u",(function(){return G})),t.d(n,"m",(function(){return L})),t.d(n,"j",(function(){return U})),t.d(n,"z",(function(){return z})),t.d(n,"n",(function(){return H})),t.d(n,"v",(function(){return Y})),t.d(n,"y",(function(){return W})),t.d(n,"d",(function(){return K})),t.d(n,"l",(function(){return J})),t.d(n,"k",(function(){return V})),t.d(n,"r",(function(){return q})),t.d(n,"t",(function(){return X})),t.d(n,"p",(function(){return Z})),t.d(n,"b",(function(){return $})),t.d(n,"a",(function(){return ee})),t.d(n,"q",(function(){return ne})),t.d(n,"o",(function(){return te})),t.d(n,"s",(function(){return ae}));var a,i,r,o,s,l,A,g,u,c,d,p,f,h,I,C,E,m,B,Q,y,b,_,k,w,F,v,D=t(33),S=t(38),x=Object(S.a)(a||(a=Object(D.a)(["{ f3dGetCurrentMyParts @client }"]))),j=Object(S.a)(i||(i=Object(D.a)(["{ f3dGetCurrentNetworkInventories @client }"]))),T=Object(S.a)(r||(r=Object(D.a)(["{ f3dGetCurrentSupplierCatalogNames @client }"]))),R=Object(S.a)(o||(o=Object(D.a)(["{ f3dGetCachedMyParts @client }"]))),M=Object(S.a)(s||(s=Object(D.a)(["{ f3dGetCachedNetworkInventories @client }"]))),N=(Object(S.a)(l||(l=Object(D.a)(["{ auth_token @client }"]))),Object(S.a)(A||(A=Object(D.a)(["mutation setAuthToken( $auth_token:String ) { setAuthToken( auth_token:$auth_token ) @client }"])))),P=Object(S.a)(g||(g=Object(D.a)(["mutation { signOut @client }"]))),O=Object(S.a)(u||(u=Object(D.a)(["mutation createAuthToken( $email:String!, $password:String! ) {\n auth_token: createAuthToken( email:$email, password:$password )\n}"]))),G=Object(S.a)(c||(c=Object(D.a)(["query { me { id email tags } }"]))),L=Object(S.a)(d||(d=Object(D.a)(["\n query($key:String!) {\n getConfigFileEntryForKey(key:$key) {\n key\n blobHash\n user { email }\n note\n createdAt\n }\n }\n"]))),U=Object(S.a)(p||(p=Object(D.a)(["\n query {\n getAllConfigFileEntriesByKey {\n key\n blobHash\n user { email }\n note\n createdAt\n }\n }\n"]))),z=Object(S.a)(f||(f=Object(D.a)(["mutation( $key:String!, $blobHash:String!, $note:String ) {\n writeConfigFileEntry( key:$key, blobHash:$blobHash, note:$note ) {\n key\n blobHash\n user { email }\n note\n createdAt\n }\n}"]))),H=Object(S.a)(h||(h=Object(D.a)(["query( $email:String! ) {\n getEmailAddressHasBeenVerified( email:$email )\n}"]))),Y=Object(S.a)(I||(I=Object(D.a)(["mutation( $input:PostImageToOnlineGalleryInput! ) {\n postImageToOnlineGallery( input:$input )\n}"]))),W=Object(S.a)(C||(C=Object(D.a)(["mutation( $emailAddress:String!, $verifyToken: String! ) {\n verifyEmailAddress( emailAddress:$emailAddress, verifyToken:$verifyToken )\n}"]))),K=Object(S.a)(E||(E=Object(D.a)(["mutation( $emailAddress:String!, $promoId: String! ) {\n createPromoLicense( emailAddress:$emailAddress, promoId:$promoId ) {\n id\n productSku\n endDate\n promo { id }\n }\n}"]))),J=Object(S.a)(m||(m=Object(D.a)(["query( $di:DataTableInput! ) {\n getAllUsers( di:$di ) {\n users {\n id\n email\n firstName\n lastName\n lastLoginWordpress\n lastLoginClient\n createdAt\n updatedAt\n tags\n }\n }\n}"]))),V=Object(S.a)(B||(B=Object(D.a)(["query( $di:DataTableInput! ) {\n getAllRequestLogs( di:$di ) {\n requestLogs {\n id\n timestamp\n userId\n user {\n id\n email\n }\n queryHash\n contentBlobHash\n success\n duration\n memoryUsed\n responseLength\n }\n }\n}"]))),q=Object(S.a)(Q||(Q=Object(D.a)(["query( $id: String! ) {\n getRequestLogEntryForId(id:$id) {\n id\n timestamp\n userId\n user {\n id\n email\n }\n queryHash\n contentBlobHash\n success\n duration\n memoryUsed\n responseLength\n }\n}"]))),X=Object(S.a)(y||(y=Object(D.a)(["query( $id: ID! ) {\n getUserForId(id:$id) {\n id\n email\n firstName\n lastName\n lastLoginWordpress\n lastLoginClient\n createdAt\n updatedAt\n tags\n pyroStatusDisplayName\n pyroPointsBalance\n userTriggeredEventNames\n pyroPointsEarnedThisYear\n pyroPointsMaxEarnedInYear\n nonEddLicenses {\n id\n promo { id }\n productSku\n startDate\n endDate\n createdAt\n updatedAt\n }\n }\n}"]))),Z=Object(S.a)(b||(b=Object(D.a)(["query {\n me { myPartsCsvBlobHash }\n}"]))),$=Object(S.a)(_||(_=Object(D.a)(["mutation( $changes:CsvChanges! ) {\n applyMyPartsCsvChanges( changes:$changes )\n}"]))),ee=Object(S.a)(k||(k=Object(D.a)(["mutation( $inventoryAccountName: String!, $changes:CsvChanges! ) {\n applyFinaleInventoryCsvChanges( inventoryAccountName:$inventoryAccountName, changes:$changes )\n}"]))),ne=Object(S.a)(w||(w=Object(D.a)(["query {\n me {\n finaleInventoryPartsInfos {\n name\n inventoryOwnerEmail\n canEditProducts\n canSeePrices\n canUpdateSalesOrders\n countChainsAs1Unit\n dontIncludeUnreceived\n breakApartAssortments\n }\n supplierCatalogPartsInfos {\n name\n canEditProducts\n canSeePrices\n canUpdateSalesOrders\n countChainsAs1Unit\n dontIncludeUnreceived\n breakApartAssortments\n }\n }\n}"]))),te=Object(S.a)(F||(F=Object(D.a)(["query( $name:String! ) {\n me {\n finaleInventoryPartsInfos(name:$name) {\n csvBlobHash\n locationQuantities { name csvBlobHash }\n }\n }\n}"]))),ae=Object(S.a)(v||(v=Object(D.a)(["query( $name:String! ) {\n me {\n supplierCatalogPartsInfos(name:$name) {\n csvBlobHash\n locationQuantities { name csvBlobHash }\n }\n }\n}"])))},552:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return P}));var a,i=t(2),r=t.n(i),o=t(7),s=t(4),l=t(6),A=t(5),g=t(1383),u=t(114),c=t(34),d=t(1),p=t(109),f=t(15),h=t(31),I=t(93),C=t(553),E=t.n(C),m=t(75),B=t(29),Q=t(353),y=t(352),b=t(27),_=t(0),k=A.d.div.withConfig({displayName:"ClientSyncDialogPage__ClientSyncDialogDiv",componentId:"sc-7x9bx2-0"})(["font-size:14px;padding:2em;a{color:#0d6efd;cursor:pointer;&:hover{text-decoration:underline;color:#0a58ca;}}h3{color:#24292e;}.ProgressBarAndShowDetails{margin-bottom:2em;}.ProgressBarHolder{border:1px solid #e3e3e3;background:#f4f4f4;padding:4px;}.ShowDetails{margin-top:0.25em;font-size:12px;float:right;}.ProgressBar{border-left:1px solid #A4C3D2;border-top:1px solid #5492B0;background:linear-gradient(0deg,#5492B0 0%,#61A5D7 100%);height:4em;&.Error{border-left:1px solid #d2a4a4;border-top:1px solid #b05454;background:linear-gradient(0deg,#b05454 0%,#d76161 100%);}}.SyncList{min-height:9em;margin-bottom:1em;}td.Name{padding-left:1em;padding-right:1em;min-width:22em;vertical-align:top;span{display:inline-block;height:17px;}}.ButtonBar{position:absolute;right:0;bottom:0;left:0;height:62px;background:#F4F4F4;border-top:1px solid #C8C8C8;}.ButtonsHolder{display:flex;margin-top:1em;position:absolute;right:2em;}.ProceedButtonHolder{}.CancelButtonHolder{margin-left:1em;}.SupplierCatalogIcons{width:8em;}.Success{color:green;svg{margin-right:2px;}}.ChangesDisplay{color:#24292e;font-weight:bold;svg{color:#dc3545;margin-right:2px;}}.Error{color:#dc3545;svg{margin-right:2px;}}.spinner-border{vertical-align:0px;width:12px;height:12px;border-width:2px;}.LoadingIcon,.SuccessIcon{display:inline-block;width:20px;}"]);function w(e,n){switch(n.type){case"setFields":return Object(l.a)(Object(l.a)({},e),n);case"setSyncListEntry":if(!n.entry.key)throw new Error;var t=e.syncListEntries.find((function(e){return e.key==n.entry.key}));return null!=t?Object.assign(t,n.entry):e.syncListEntries.push(n.entry),Object(l.a)({},e);case"setFinaleInventoryChanges":return e.finaleInventoryChanges.set(n.name,n.changes),Object(l.a)({},e);default:throw console.log("unhandled action",n),new Error}}function F(e){return{syncPhase:e.freshDownload?a.DownloadFromServer:a.ConfirmChanges,syncListEntries:[],finaleInventoryChanges:new Map}}function v(){return Object(_.jsx)("span",{className:"LoadingIcon",children:Object(_.jsx)(y.a,{size:"small"})})}function D(e){return Object(_.jsxs)("span",{className:"Success",children:[Object(_.jsx)("span",{className:"SuccessIcon",children:Object(_.jsx)(c.a,{icon:u.a})}),e.text]})}function S(e){var n=e.text||"",t="GraphQL error: ";return n.startsWith(t)&&(n=n.substr(15)),Object(_.jsxs)("span",{className:"Error",children:[Object(_.jsx)(c.a,{icon:u.b}),n]})}function x(e){var n,t,a,i,r,o,s,l,A,g,u,c,d=Object(Q.a)().t,p=[],f=e.changes;return(null===(n=f.adds)||void 0===n||null===(t=n.dataRows)||void 0===t?void 0:t.length)&&(null===(a=f.adds)||void 0===a||null===(i=a.dataRows)||void 0===i?void 0:i.length)>0&&p.push("".concat(f.adds.dataRows.length," ").concat(d("added rows"))),(null===(r=f.mods)||void 0===r||null===(o=r.dataRows)||void 0===o?void 0:o.length)&&(null===(s=f.mods)||void 0===s||null===(l=s.dataRows)||void 0===l?void 0:l.length)>0&&p.push("".concat(f.mods.dataRows.length," ").concat(d("changed rows"))),(null===(A=f.dels)||void 0===A||null===(g=A.dataRows)||void 0===g?void 0:g.length)&&(null===(u=f.dels)||void 0===u||null===(c=u.dataRows)||void 0===c?void 0:c.length)>0&&p.push("".concat(f.dels.dataRows.length," ").concat(d("deleted rows"))),Object(_.jsx)("span",{className:"ChangesDisplay",children:p.join(", ")})}function j(e){return(!e.adds||0==e.adds.dataRows.length)&&(!e.mods||0==e.mods.dataRows.length)&&(!e.dels||0==e.dels.dataRows.length)}function T(e){return{adds:e.adds&&0!=e.adds.dataRows.length?Object(p.b)(e.adds):void 0,mods:e.mods&&0!=e.mods.dataRows.length?Object(p.b)(e.mods):void 0,dels:e.dels&&0!=e.dels.dataRows.length?Object(p.b)(e.dels):void 0}}function R(e,n){return M.apply(this,arguments)}function M(){return M=Object(s.a)(r.a.mark((function e(n,t){var a,i,l,A,g,u,c;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=function(){return(i=Object(s.a)(r.a.mark((function e(t){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=t){e.next=2;break}return e.abrupt("return",void 0);case 2:return e.next=4,n.uploadBlobText(t,{namePrefix:"temp",tags:["temp"],contentType:"text/tab-separated-values"});case 4:return e.abrupt("return",e.sent);case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)},a=function(e){return i.apply(this,arguments)},e.next=4,Promise.all([a(t.adds),a(t.mods),a(t.dels)]);case 4:return l=e.sent,A=Object(o.a)(l,3),g=A[0],u=A[1],c=A[2],e.abrupt("return",{addsBlobHash:g,modsBlobHash:u,delsBlobHash:c});case 10:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}function N(){var n=Object(Q.a)().t,t="true"==Object(I.a)().match.params.freshDownload,i=t,l=Object(d.useReducer)(w,{freshDownload:t},F),A=Object(o.a)(l,2),u=A[0],c=A[1],C=Object(d.useState)(!1),y=Object(o.a)(C,2),M=y[0],N=y[1],P=Object(g.a)();function O(e){return u.syncListEntries.find((function(n){return n.key==e}))}if(u.syncPhase==a.ConfirmChanges&&null==O("CalculateChanges")){var G=function(){var e=Object(s.a)(r.a.mark((function e(){var t,a,i,s,l,A,g,d,f,I;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([P.query({query:h.e}),P.query({query:h.g})]);case 2:a=e.sent,i=Object(o.a)(a,2),s=i[0],l=i[1],null==(null===(t=l.data.f3dGetCurrentMyParts)||void 0===t?void 0:t.blobData)||(g=Object(p.d)(l.data.f3dGetCurrentMyParts.blobData),d=Object(p.d)(s.data.f3dGetCachedMyParts.blobData),j(A=Object(p.a)(d,g,!1,!0))&&(A=void 0)),A?((I={key:"CalculateChangesInMyParts",isTaskComplete:!0,name:n("Changes in My Effects"),valueEl:Object(_.jsx)(x,{changes:A}),syncPhase:u.syncPhase}).hasChanges=!0,c({type:"setSyncListEntry",entry:I}),c({type:"setFields",myPartsChanges:A})):(f={key:"CalculateChangesInMyParts",isTaskComplete:!0,name:n("Changes in My Effects"),valueEl:Object(_.jsx)(D,{text:n("No changes")}),syncPhase:u.syncPhase},c({type:"setSyncListEntry",entry:f}));case 8:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),L=function(){var e=Object(s.a)(r.a.mark((function e(){var t,a,i;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([P.query({query:h.f}),P.query({query:h.h})]);case 2:t=e.sent,a=Object(o.a)(t,2),i=a[0],a[1].data.f3dGetCurrentNetworkInventories.forEach((function(e){var t,a=e.name.replace(/^USYM:/,""),r=i.data.f3dGetCachedNetworkInventories.find((function(n){return n.name==e.name}));if(r&&e.canEditProducts){var o=Object(p.d)(e.blobData),s=Object(p.d)(r.blobData);if(j(t=Object(p.a)(s,o,!0,!1))){var l={key:"CalculateChangesInFinaleInventory:".concat(a),isTaskComplete:!0,name:"".concat(n("Changes in")," ").concat(a),valueEl:Object(_.jsx)(D,{text:n("No changes")}),syncPhase:u.syncPhase};c({type:"setSyncListEntry",entry:l})}else{var A={key:"CalculateChangesInFinaleInventory:".concat(a),isTaskComplete:!0,name:"".concat(n("Changes in")," ").concat(a),valueEl:Object(_.jsx)(x,{changes:t}),syncPhase:u.syncPhase,hasChanges:!0};c({type:"setSyncListEntry",entry:A}),c({type:"setFinaleInventoryChanges",name:a,changes:t})}}}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),U=function(){var e=Object(s.a)(r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t={key:"CalculateChanges",isTaskComplete:!1,name:n("Calculate changes"),valueEl:Object(_.jsx)(v,{}),syncPhase:u.syncPhase},c({type:"setSyncListEntry",entry:t}),e.next=4,Promise.all([G(),L()]);case 4:t.isTaskComplete=!0,t.valueEl=Object(_.jsx)(D,{text:n("Complete")}),c({type:"setSyncListEntry",entry:t});case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return U(),Object(_.jsx)(_.Fragment,{})}var z,H=u.syncListEntries.filter((function(e){return e.isError})),Y=u.syncListEntries.filter((function(e){return!e.isTaskComplete})),W=!0;if(u.syncPhase==a.ConfirmChanges&&0==u.syncListEntries.filter((function(e){return!e.isTaskComplete})).length)if(null!=u.myPartsChanges||0!=u.finaleInventoryChanges.size){z=Object(_.jsx)(b.a,{autoFocus:!0,onClick:function(){function e(){return t.apply(this,arguments)}function t(){return(t=Object(s.a)(r.a.mark((function e(){var t,i,o;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!=u.myPartsChanges){e.next=2;break}return e.abrupt("return");case 2:return t={key:"MyPartsApplyChanges",isTaskComplete:!1,name:n("Apply changes to My Effects"),valueEl:Object(_.jsx)(v,{}),syncPhase:a.ApplyChanges},c({type:"setSyncListEntry",entry:t}),e.prev=4,i=T(u.myPartsChanges),e.next=8,R(new m.a,i);case 8:return o=e.sent,console.log("blobChanges",o),e.next=12,P.mutate({mutation:h.b,variables:{changes:o}});case 12:return e.next=14,f.a.recordUserEvent({name:"savedEffectInMyEffects"});case 14:t.isTaskComplete=!0,t.valueEl=Object(_.jsx)(D,{text:n("Complete")}),c({type:"setSyncListEntry",entry:t}),e.next=26;break;case 19:e.prev=19,e.t0=e.catch(4),console.log("ERROR: error during ConfirmChanges.doMyParts() ".concat(e.t0)),t.isTaskComplete=!0,t.isError=!0,t.valueEl=Object(_.jsx)(S,{text:e.t0.message}),c({type:"setSyncListEntry",entry:t});case 26:case"end":return e.stop()}}),e,null,[[4,19]])})))).apply(this,arguments)}function i(){return o.apply(this,arguments)}function o(){return o=Object(s.a)(r.a.mark((function e(){var t;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[],u.finaleInventoryChanges.forEach((function(e,i){var o=Object(p.c)(e,B.b),l=o.map((function(e,n){return Object(_.jsx)(v,{},n)})),A={key:"NetworkInventoryApplyChanges_".concat(i),isTaskComplete:!1,name:"".concat(n("Apply changes to")," ").concat(i),valueEl:Object(_.jsx)("div",{className:"ApplyChangesIcons",children:l}),stepsCompleted:0,stepsCount:o.length,syncPhase:a.ApplyChanges};c({type:"setSyncListEntry",entry:A});var g=o.map((function(e,n){return Object(s.a)(r.a.mark((function t(){var a;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=T(e),t.next=3,P.mutate({mutation:h.a,variables:{inventoryAccountName:i,changes:a}});case 3:l[n]=Object(_.jsx)(D,{},n),A.valueEl=Object(_.jsx)("div",{className:"ApplyChangesIcons",children:l}),A.stepsCompleted=A.stepsCompleted+1,c({type:"setSyncListEntry",entry:A});case 7:case"end":return t.stop()}}),t)})))}));function u(){return(u=Object(s.a)(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,E()(B.a,g,(function(e){return e()}));case 3:e.sent,A.isTaskComplete=!0,c({type:"setSyncListEntry",entry:A}),e.next=15;break;case 8:e.prev=8,e.t0=e.catch(0),console.log("ERROR: error during ConfirmChanges.doNetworkInventories.doit() ".concat(e.t0)),A.isTaskComplete=!0,A.isError=!0,A.valueEl=Object(_.jsx)(S,{text:e.t0.message}),c({type:"setSyncListEntry",entry:A});case 15:case"end":return e.stop()}}),e,null,[[0,8]])})))).apply(this,arguments)}t.push(function(){return u.apply(this,arguments)}())})),e.next=4,Promise.all(t);case 4:case"end":return e.stop()}}),e)}))),o.apply(this,arguments)}function l(){return(l=Object(s.a)(r.a.mark((function n(){return r.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,Promise.all([e(),i()]);case 2:c({type:"setFields",syncPhase:a.DownloadFromServer});case 3:case"end":return n.stop()}}),n)})))).apply(this,arguments)}!function(){l.apply(this,arguments)}(),c({type:"setFields",syncPhase:a.ApplyChanges})},children:n("Apply changes")})}else c({type:"setFields",syncPhase:a.DownloadFromServer});if(u.syncPhase==a.DownloadFromServer&&0==H.length&&null==O("GetNetworkPartsInfos")){var K=function(){var t=Object(s.a)(r.a.mark((function t(){var a,i,o,s,l,A,g;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a={key:"MyPartsDownloadFromServer",isTaskComplete:!1,name:n("Download My Effects"),valueEl:Object(_.jsx)(v,{}),syncPhase:u.syncPhase},c({type:"setSyncListEntry",entry:a}),t.prev=2,t.next=5,P.query({query:h.p});case 5:return i=t.sent,o=new m.a,s=i.data.me.myPartsCsvBlobHash,t.next=10,o.downloadBlob(s,{namePrefix:"userblobs",tags:["userblobs"]});case 10:return l=t.sent,A=e.from(l).toString(),g={blobData:A},t.next=15,f.a.invokeApi("writeUvalToSqlite",{n:"myParts",v:g});case 15:return t.next=17,f.a.invokeApi("setCurrentMyParts",{v:g});case 17:a.isTaskComplete=!0,a.valueEl=Object(_.jsx)(D,{text:n("Complete")}),c({type:"setSyncListEntry",entry:a}),t.next=29;break;case 22:t.prev=22,t.t0=t.catch(2),console.log("ERROR: error during DownloadFromServer.doMyParts() ".concat(t.t0)),a.isTaskComplete=!0,a.isError=!0,a.valueEl=Object(_.jsx)(S,{text:t.t0.message}),c({type:"setSyncListEntry",entry:a});case 29:case"end":return t.stop()}}),t,null,[[2,22]])})));return function(){return t.apply(this,arguments)}}(),J=function(){var t=Object(s.a)(r.a.mark((function t(){var a,i,o,l,A,g,d,p,I,C,E,B;return r.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,a=[],i=[],o=[],t.next=6,P.query({query:h.q});case 6:if(l=t.sent,q.isTaskComplete=!0,q.valueEl=Object(_.jsx)(D,{text:n("Complete")}),c({type:"setSyncListEntry",entry:q}),l.data.me.finaleInventoryPartsInfos.map((function(t){var i={key:"NetworkInventoriesDownloadFromServer_".concat(t.name),isTaskComplete:!1,name:"".concat(n("Download")," ").concat(t.name),valueEl:Object(_.jsx)(v,{}),syncPhase:u.syncPhase};function l(){return l=Object(s.a)(r.a.mark((function o(){var l,A,g,u,d,p,f;return r.a.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,P.query({query:h.o,variables:{name:t.name}});case 3:return l=o.sent,A=new m.a,g=l.data.me.finaleInventoryPartsInfos[0].csvBlobHash,o.next=8,A.downloadBlob(g,{namePrefix:"temp",tags:["temp"]});case 8:return u=o.sent,d=e.from(u).toString(),o.next=12,Promise.all(l.data.me.finaleInventoryPartsInfos[0].locationQuantities.map(function(){var n=Object(s.a)(r.a.mark((function n(t){var a,i,o;return r.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=t.csvBlobHash,n.next=3,A.downloadBlob(a,{namePrefix:"temp",tags:["temp"]});case 3:return i=n.sent,o=e.from(i).toString(),n.abrupt("return",{name:"USYM:".concat(t.name),csvData:o});case 6:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()));case 12:p=o.sent,f={count_chains_as_1:t.countChainsAs1Unit,isOwnCompany:t.canEditProducts,break_apart_assortments:t.breakApartAssortments,name:"USYM:".concat(t.name),canEditProducts:t.canEditProducts,canSeePrices:t.canSeePrices,canUpdateSalesOrders:t.canUpdateSalesOrders,countChainsAs1Unit:t.countChainsAs1Unit,dontIncludeUnreceived:t.dontIncludeUnreceived,breakApartAssortments:t.breakApartAssortments,blobData:d,locationQuantities:p},a.push(f),i.valueEl=Object(_.jsx)(D,{text:n("Complete")}),i.isTaskComplete=!0,c({type:"setSyncListEntry",entry:i}),o.next=28;break;case 20:throw o.prev=20,o.t0=o.catch(0),console.log("ERROR: error during DownloadFromServer.doNetworkInventories.finaleInventoryPartsInfos.doit() ".concat(o.t0)),i.isTaskComplete=!0,i.isError=!0,i.valueEl=Object(_.jsx)(S,{text:o.t0.message}),c({type:"setSyncListEntry",entry:i}),o.t0;case 28:case"end":return o.stop()}}),o,null,[[0,20]])}))),l.apply(this,arguments)}console.log("partsInfo",{partsInfo:t}),c({type:"setSyncListEntry",entry:i}),o.push(function(){return l.apply(this,arguments)}())})),0==l.data.me.supplierCatalogPartsInfos.length){t.next=16;break}return t.next=11,P.query({query:h.i});case 11:A=t.sent,g=l.data.me.supplierCatalogPartsInfos.map((function(e){return e.name})).sort(),d=A.data.f3dGetCurrentSupplierCatalogNames.map((function(e){return e.name})).sort(),g.join(" ")==d.join(" "),p=l.data.me.supplierCatalogPartsInfos.map((function(e,n){return Object(_.jsx)(v,{},n)})),I=0,C={key:"SupplierCatalogsDownloadFromServer",isTaskComplete:!1,name:n("Download supplier catalogs"),valueEl:Object(_.jsx)("div",{className:"SupplierCatalogIcons",children:p}),syncPhase:u.syncPhase},c({type:"setSyncListEntry",entry:C}),l.data.me.supplierCatalogPartsInfos.map((function(n,t){function a(){return a=Object(s.a)(r.a.mark((function a(){var o,l,A,g,u,d,f;return r.a.wrap((function(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,P.query({query:h.s,variables:{name:n.name}});case 3:return o=a.sent,l=new m.a,A=o.data.me.supplierCatalogPartsInfos[0].csvBlobHash,a.next=8,l.downloadBlob(A,{namePrefix:"temp",tags:["temp"]});case 8:return g=a.sent,u=e.from(g).toString(),a.next=12,Promise.all(o.data.me.supplierCatalogPartsInfos[0].locationQuantities.map(function(){var n=Object(s.a)(r.a.mark((function n(t){var a,i,o;return r.a.wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=t.csvBlobHash,n.next=3,l.downloadBlob(a,{namePrefix:"temp",tags:["temp"]});case 3:return i=n.sent,o=e.from(i).toString(),n.abrupt("return",{name:"USYM:".concat(t.name),csvData:o});case 6:case"end":return n.stop()}}),n)})));return function(e){return n.apply(this,arguments)}}()));case 12:d=a.sent,f={count_chains_as_1:n.countChainsAs1Unit,isOwnCompany:n.canEditProducts,break_apart_assortments:n.breakApartAssortments,name:"USYM:".concat(n.name),canEditProducts:n.canEditProducts,canSeePrices:n.canSeePrices,canUpdateSalesOrders:n.canUpdateSalesOrders,countChainsAs1Unit:n.countChainsAs1Unit,dontIncludeUnreceived:n.dontIncludeUnreceived,breakApartAssortments:n.breakApartAssortments,blobData:u,locationQuantities:d},i.push(f),p[t]=Object(_.jsx)(D,{},t),C.valueEl=Object(_.jsx)("div",{className:"SupplierCatalogIcons",children:p}),(I+=1)==p.length&&(C.isTaskComplete=!0),c({type:"setSyncListEntry",entry:C}),a.next=31;break;case 22:throw a.prev=22,a.t0=a.catch(0),console.log("ERROR: error during DownloadFromServer.doNetworkInventories.supplierCatalogPartsInfos.doit() ".concat(a.t0)),p[t]=Object(_.jsx)(S,{},t),C.valueEl=Object(_.jsx)("div",{className:"SupplierCatalogIcons",children:p}),C.isTaskComplete=!0,C.isError=!0,c({type:"setSyncListEntry",entry:C}),a.t0;case 31:case"end":return a.stop()}}),a,null,[[0,22]])}))),a.apply(this,arguments)}o.push(function(){return a.apply(this,arguments)}())}));case 16:return E={key:"SaveNetworkInventories",isTaskComplete:!1,name:n("Save downloaded inventories"),valueEl:Object(_.jsx)(v,{}),syncPhase:u.syncPhase},c({type:"setSyncListEntry",entry:E}),t.prev=18,t.next=21,Promise.all(o);case 21:t.next=30;break;case 23:return t.prev=23,t.t0=t.catch(18),E.isTaskComplete=!0,E.isError=!0,E.valueEl=Object(_.jsx)(S,{}),c({type:"setSyncListEntry",entry:E}),t.abrupt("return");case 30:return t.prev=30,(B=[]).splice.apply(B,[0,0].concat(i)),B.splice.apply(B,[0,0].concat(a)),t.next=36,f.a.invokeApi("writeUvalToSqlite",{n:"networkPartsCollections",v:B});case 36:return t.next=38,f.a.invokeApi("setCurrentNetworkInventories",{v:B});case 38:E.isTaskComplete=!0,E.valueEl=Object(_.jsx)(D,{text:n("Complete")}),c({type:"setSyncListEntry",entry:E}),t.next=49;break;case 43:t.prev=43,t.t1=t.catch(30),E.isTaskComplete=!0,E.isError=!0,E.valueEl=Object(_.jsx)(S,{text:t.t1.message}),c({type:"setSyncListEntry",entry:E});case 49:t.next=57;break;case 51:t.prev=51,t.t2=t.catch(0),q.isTaskComplete=!0,q.isError=!0,q.valueEl=Object(_.jsx)(S,{text:t.t2.message}),c({type:"setSyncListEntry",entry:q});case 57:case"end":return t.stop()}}),t,null,[[0,51],[18,23],[30,43]])})));return function(){return t.apply(this,arguments)}}(),V=function(){var e=Object(s.a)(r.a.mark((function e(){return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([K(),J()]);case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),q={key:"GetNetworkPartsInfos",isTaskComplete:!1,name:n("Download network inventories list"),valueEl:Object(_.jsx)(v,{}),syncPhase:u.syncPhase};c({type:"setSyncListEntry",entry:q}),V()}var X=u.syncListEntries.find((function(e){return"SaveNetworkInventories"==e.key})),Z=u.syncListEntries.filter((function(e){return e.syncPhase==u.syncPhase})),$=(Z.filter((function(e){return e.isTaskComplete})),0),ee=0;Z.map((function(e){ee+=e.stepsCount||1,e.isTaskComplete?$+=e.stepsCompleted||1:$+=e.stepsCompleted||0}));var ne=(1+$)/(1+ee),te=["ProgressBar"];0!=H.length?(W=!0,z=void 0,ne=1,te.push("Error")):u.syncPhase==a.DownloadFromServer&&0==Y.length&&(null===X||void 0===X?void 0:X.isTaskComplete)&&(W=!1,z=Object(_.jsx)(b.a,{autoFocus:!0,tabIndex:0,onClick:function(){return f.a.closeBrowserWindowWithResult("ok")},children:n("Ok")}),ne=1,i&&f.a.closeBrowserWindowWithResult("ok"));var ae=Math.round(100*ne);function ie(){f.a.closeBrowserWindowWithResult("cancel")}function re(e){return Object(_.jsx)("div",{className:"SyncList",children:Object(_.jsx)("table",{children:Object(_.jsx)("tbody",{children:e.syncListEntries.map((function(e,n){return Object(_.jsxs)("tr",{children:[Object(_.jsx)("td",{className:"Name",children:Object(_.jsx)("span",{children:e.name})}),Object(_.jsx)("td",{className:e.className,children:e.valueEl})]},e.key)}))})})})}if(M)return Object(_.jsxs)(k,{children:[Object(_.jsx)("a",{tabIndex:1,className:"ShowDetails",onClick:function(){return N(!1)},children:n("Hide details")}),Object(_.jsx)(re,{syncListEntries:u.syncListEntries}),Object(_.jsx)("div",{className:"ButtonBar",children:Object(_.jsxs)("div",{className:"ButtonsHolder",children:[z&&Object(_.jsx)("div",{className:"ProceedButtonHolder",children:z}),W&&Object(_.jsx)("div",{className:"CancelButtonHolder",children:Object(_.jsx)(b.a,{onClick:ie,children:n("Cancel")})})]})})]});var oe=n("Calculating changes")+"...";return u.syncPhase==a.ConfirmChanges&&100==ae&&(oe=n("Apply changes?")),u.syncPhase==a.ApplyChanges&&(oe=n("Applying changes")+"..."),u.syncPhase==a.DownloadFromServer&&(oe=0!=H.length?n("Error occurred during network sync")+"...":0==Y.length?n("Network sync complete."):n("Downloading network inventories")+"..."),Object(_.jsxs)(k,{children:[Object(_.jsx)("a",{tabIndex:1,className:"ShowDetails",onClick:function(){return N(!0)},children:n("Show details")}),Object(_.jsx)("h3",{children:oe}),Object(_.jsx)("div",{className:"ProgressBarAndShowDetails",children:Object(_.jsx)("div",{className:"ProgressBarHolder",children:Object(_.jsx)("div",{className:te.join(" "),style:{width:"".concat(ae,"%")}})})}),Object(_.jsx)(re,{syncListEntries:u.syncListEntries.filter((function(e){return e.hasChanges||e.isError}))}),Object(_.jsx)("div",{className:"ButtonBar",children:Object(_.jsxs)("div",{className:"ButtonsHolder",children:[z&&Object(_.jsx)("div",{className:"ProceedButtonHolder",children:z}),W&&Object(_.jsx)("div",{className:"CancelButtonHolder",children:Object(_.jsx)(b.a,{onClick:ie,children:n("Cancel")})})]})})]})}function P(){var e=Object(Q.a)().t,n=Object(d.useState)(null),t=Object(o.a)(n,2),a=t[0],i=t[1];return Object(d.useEffect)((function(){function e(){return(e=Object(s.a)(r.a.mark((function e(){var n;return r.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,f.a.invokeApi("getLoggedInUserSettings",{});case 2:n=e.sent,i(n);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}!function(){e.apply(this,arguments)}()}),[]),Object(d.useEffect)((function(){document.body.classList.add("FinaleDialog"),document.title=e("Sync with network")})),null!=a?Object(_.jsx)(N,{}):Object(_.jsx)(_.Fragment,{})}!function(e){e[e.ConfirmChanges=1]="ConfirmChanges",e[e.ApplyChanges=2]="ApplyChanges",e[e.DownloadFromServer=3]="DownloadFromServer"}(a||(a={}))}).call(this,t(51).Buffer)},557:function(e,n,t){(function(n,a,i,r){var o=function(){var e="undefined"!==typeof document&&document.currentScript?document.currentScript.src:void 0;return e=e||n,function(n){var o,s;(n="undefined"!==typeof(n=n||{})?n:{}).ready=new Promise((function(e,n){o=e,s=n}));var l,A={};for(l in n)n.hasOwnProperty(l)&&(A[l]=n[l]);var g,u,c,d,p,f=[],h="./this.program",I="object"===typeof window,C="function"===typeof importScripts,E="object"===typeof a&&"object"===typeof a.versions&&"string"===typeof a.versions.node,m="";E?(m=C?t(156).dirname(m)+"/":i+"/",g=function(e,n){var a=On(e);return a?n?a:a.toString():(d||(d=t(201)),p||(p=t(156)),e=p.normalize(e),d.readFileSync(e,n?null:"utf8"))},c=function(e){var n=g(e,!0);return n.buffer||(n=new Uint8Array(n)),k(n.buffer),n},u=function(e,n,a){var i=On(e);i&&n(i),d||(d=t(201)),p||(p=t(156)),e=p.normalize(e),d.readFile(e,(function(e,t){e?a(e):n(t.buffer)}))},a.argv.length>1&&(h=a.argv[1].replace(/\\/g,"/")),f=a.argv.slice(2),a.on("uncaughtException",(function(e){if(!(e instanceof Yn))throw e})),a.on("unhandledRejection",(function(e){throw e})),function(e,n){if(b||$>0)throw a.exitCode=e,n;var t;(t=n)instanceof Yn||Q("exiting due to exception: "+t),a.exit(e)},n.inspect=function(){return"[Emscripten Module object]"}):(I||C)&&(C?m=self.location.href:"undefined"!==typeof document&&document.currentScript&&(m=document.currentScript.src),e&&(m=e),m=0!==m.indexOf("blob:")?m.substr(0,m.replace(/[?#].*/,"").lastIndexOf("/")+1):"",g=function(e){try{var n=new XMLHttpRequest;return n.open("GET",e,!1),n.send(null),n.responseText}catch(Q){var t=On(e);if(t)return function(e){for(var n=[],t=0;t255&&(Nn&&k(!1,"Character code "+a+" ("+String.fromCharCode(a)+") at offset "+t+" not in 0x00-0xFF."),a&=255),n.push(String.fromCharCode(a))}return n.join("")}(t);throw Q}},C&&(c=function(e){try{var n=new XMLHttpRequest;return n.open("GET",e,!1),n.responseType="arraybuffer",n.send(null),new Uint8Array(n.response)}catch(Q){var t=On(e);if(t)return t;throw Q}}),u=function(e,n,t){var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){if(200==a.status||0==a.status&&a.response)n(a.response);else{var i=On(e);i?n(i.buffer):t()}},a.onerror=t,a.send(null)});n.print||console.log.bind(console);var B,Q=n.printErr||console.warn.bind(console);for(l in A)A.hasOwnProperty(l)&&(n[l]=A[l]);A=null,n.arguments&&(f=n.arguments),n.thisProgram&&(h=n.thisProgram),n.quit&&n.quit,n.wasmBinary&&(B=n.wasmBinary);var y,b=n.noExitRuntime||!0;"object"!==typeof WebAssembly&&ae("no native wasm support detected");var _=!1;function k(e,n){e||ae("Assertion failed: "+n)}var w="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0;function F(e,n,t){for(var a=n+t,i=n;e[i]&&!(i>=a);)++i;if(i-n>16&&e.subarray&&w)return w.decode(e.subarray(n,i));for(var r="";n>10,56320|1023&A)}}else r+=String.fromCharCode((31&o)<<6|s)}else r+=String.fromCharCode(o)}return r}function v(e,n){return e?F(T,e,n):""}function D(e,n,t,a){if(!(a>0))return 0;for(var i=t,r=t+a-1,o=0;o=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o);if(s<=127){if(t>=r)break;n[t++]=s}else if(s<=2047){if(t+1>=r)break;n[t++]=192|s>>6,n[t++]=128|63&s}else if(s<=65535){if(t+2>=r)break;n[t++]=224|s>>12,n[t++]=128|s>>6&63,n[t++]=128|63&s}else{if(t+3>=r)break;n[t++]=240|s>>18,n[t++]=128|s>>12&63,n[t++]=128|s>>6&63,n[t++]=128|63&s}}return n[t]=0,t-i}function S(e){for(var n=0,t=0;t=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++t)),a<=127?++n:n+=a<=2047?2:a<=65535?3:4}return n}var x,j,T,R,M,N,P,O,G,L="undefined"!==typeof TextDecoder?new TextDecoder("utf-16le"):void 0;function U(e,n){for(var t=e,a=t>>1,i=a+n/2;!(a>=i)&&M[a];)++a;if((t=a<<1)-e>32&&L)return L.decode(T.subarray(e,t));for(var r="",o=0;!(o>=n/2);++o){var s=R[e+2*o>>1];if(0==s)break;r+=String.fromCharCode(s)}return r}function z(e,n,t){if(void 0===t&&(t=2147483647),t<2)return 0;for(var a=n,i=(t-=2)<2*e.length?t/2:e.length,r=0;r>1]=o,n+=2}return R[n>>1]=0,n-a}function H(e){return 2*e.length}function Y(e,n){for(var t=0,a="";!(t>=n/4);){var i=N[e+4*t>>2];if(0==i)break;if(++t,i>=65536){var r=i-65536;a+=String.fromCharCode(55296|r>>10,56320|1023&r)}else a+=String.fromCharCode(i)}return a}function W(e,n,t){if(void 0===t&&(t=2147483647),t<4)return 0;for(var a=n,i=a+t-4,r=0;r=55296&&o<=57343)o=65536+((1023&o)<<10)|1023&e.charCodeAt(++r);if(N[n>>2]=o,(n+=4)+4>i)break}return N[n>>2]=0,n-a}function K(e){for(var n=0,t=0;t=55296&&a<=57343&&++t,n+=4}return n}function J(e){x=e,n.HEAP8=j=new Int8Array(e),n.HEAP16=R=new Int16Array(e),n.HEAP32=N=new Int32Array(e),n.HEAPU8=T=new Uint8Array(e),n.HEAPU16=M=new Uint16Array(e),n.HEAPU32=P=new Uint32Array(e),n.HEAPF32=O=new Float32Array(e),n.HEAPF64=G=new Float64Array(e)}n.INITIAL_MEMORY;var V,q=[],X=[],Z=[],$=0;var ee=0,ne=null,te=null;function ae(e){n.onAbort&&n.onAbort(e),Q(e="Aborted("+e+")"),_=!0,1,e+=". Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw s(t),t}n.preloadedImages={},n.preloadedAudios={};var ie,re,oe="data:application/octet-stream;base64,";function se(e){return e.startsWith(oe)}function le(e){return e.startsWith("file://")}function Ae(e){try{if(e==ie&&B)return new Uint8Array(B);var n=On(e);if(n)return n;if(c)return c(e);throw"both async and sync fetching of the wasm failed"}catch(Q){ae(Q)}}function ge(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var a=t.func;"number"===typeof a?void 0===t.arg?ue(a)():ue(a)(t.arg):a(void 0===t.arg?null:t.arg)}else t(n)}}function ue(e){return V.get(e)}function ce(e){this.excPtr=e,this.ptr=e-16,this.set_type=function(e){N[this.ptr+4>>2]=e},this.get_type=function(){return N[this.ptr+4>>2]},this.set_destructor=function(e){N[this.ptr+8>>2]=e},this.get_destructor=function(){return N[this.ptr+8>>2]},this.set_refcount=function(e){N[this.ptr>>2]=e},this.set_caught=function(e){e=e?1:0,j[this.ptr+12>>0]=e},this.get_caught=function(){return 0!=j[this.ptr+12>>0]},this.set_rethrown=function(e){e=e?1:0,j[this.ptr+13>>0]=e},this.get_rethrown=function(){return 0!=j[this.ptr+13>>0]},this.init=function(e,n){this.set_type(e),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){var e=N[this.ptr>>2];N[this.ptr>>2]=e+1},this.release_ref=function(){var e=N[this.ptr>>2];return N[this.ptr>>2]=e-1,1===e}}se(ie="data:application/octet-stream;base64,AGFzbQEAAAABzgM2YAF/AX9gAn9/AGABfwBgAn9/AX9gA39/fwF/YAZ/f39/f38Bf2ADf39/AGAFf39/f38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38AYAZ/f39/f38AYAh/f39/f39/fwF/YAd/f39/f39/AX9gAABgBX9+fn5+AGAHf39/f39/fwBgBH9/f38BfmAFf39/f34Bf2AAAX9gBX9/fn9/AGAIf39/f39/f38AYAR/fn5/AGAKf39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAJ/fgBgDH9/f39/f39/f39/fwF/YAl/f39/f39/f38Bf2APf39/f39/f39/f39/f39/AGAKf39/f39/f39/fwBgC39/f39/f39/f39/AX9gBn98f39/fwF/YAF+AX5gBX9/f398AX9gDX9/f39/f39/f39/f38AYAJ/fABgBH5+fn4Bf2ACfn8Bf2ABfwF8YAJ+fgF8YAN+fn4Bf2AEf39+fgBgEH9/f39/f39/f39/f39/f38Bf2ADf39/AXxgA39/fwF9YAR/f39+AX5gAnx/AXxgA39/fgBgAn5+AX1gAn9/AX5gBH9/f30Bf2AEf39/fQBgA39/fQACkQEYAWEBYQAIAWEBYgAGAWEBYwAVAWEBZAAKAWEBZQAGAWEBZgALAWEBZwADAWEBaAAOAWEBaQAGAWEBagABAWEBawAjAWEBbAABAWEBbQACAWEBbgACAWEBbwAGAWEBcAAQAWEBcQAEAWEBcgAAAWEBcwAHAWEBdAAAAWEBdQADAWEBdgADAWEBdwABAWEBeAAKA+MF4QUAAAACAAEDAwIAAQEAAAEDABMABAQPAAIDAwIBAAIEAAAAAAMBAgAAAAQBAwMBAQ4AAwABBg8HCAoWAQEAAwMBAAEAAAAPAwMEAAEOAw4DAgIBAQMAAwAAAQEEBAACAgMAGgADAQcHCQMDACQAAwYABQIMAQwFCAMBAwAAAAEBAQEACAAIAAAGAwMAAQAAAAABAQEAAyUWAgAAAwAABgAAAAAAAQYCAwMXABcDAAImAQEABAgIAgQCAAIGAwYIBAEAAQAAAAMKAwEBAgIEAQADAQAAAQEQBBACAw0DDQMJCQACAwAGAwADBAgBAgEnCwYIAwYADgEGCgAAAQEBBAcCBAQbCgQbCggRAwAoDykCCQIB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BEkNAAsMAQsgA0EESQRAIAAhAgwBCyAAIANBBGsiBEsEQCAAIQIMAQsgACECA0AgAiABLQAAOgAAIAIgAS0AAToAASACIAEtAAI6AAIgAiABLQADOgADIAFBBGohASACQQRqIgIgBE0NAAsLIAIgA0kEQANAIAIgAS0AADoAACABQQFqIQEgAkEBaiICIANHDQALCyAAC+UKAgV/D34jAEHgAGsiBSQAIARC////////P4MiDUIPhiADQjGIhCEOIAIgBIVCgICAgICAgICAf4MhCiACQv///////z+DIgtCIIghDyANQhGIIRAgBEIwiKdB//8BcSEHAkACQCACQjCIp0H//wFxIglB//8Ba0GCgH5PBEAgB0H//wFrQYGAfksNAQsgAVAgAkL///////////8AgyIMQoCAgICAgMD//wBUIAxCgICAgICAwP//AFEbRQRAIAJCgICAgICAIIQhCgwCCyADUCAEQv///////////wCDIgJCgICAgICAwP//AFQgAkKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEKIAMhAQwCCyABIAxCgICAgICAwP//AIWEUARAIAIgA4RQBEBCgICAgICA4P//ACEKQgAhAQwDCyAKQoCAgICAgMD//wCEIQpCACEBDAILIAMgAkKAgICAgIDA//8AhYRQBEAgASAMhCECQgAhASACUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASAMhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgDEL///////8/WARAIAVB0ABqIAEgCyABIAsgC1AiBht5IAZBBnStfKciBkEPaxBRQRAgBmshBiAFKQNYIgtCIIghDyAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDSADIA0gDVAiCBt5IAhBBnStfKciCEEPaxBRIAYgCGtBEGohBiAFKQNIIgJCD4YgBSkDQCIDQjGIhCEOIAJCEYghEAsgA0IPhkKAgP7/D4MiAiABQiCIIgR+IhIgA0IRiEL/////D4MiDCABQv////8PgyIBfnwiEUIghiINIAEgAn58IgMgDVStIAIgC0L/////D4MiC34iFSAEIAx+fCITIA5C/////w+DIg0gAX58IhQgESASVK1CIIYgEUIgiIR8IhEgAiAPQoCA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AgQgACgCAGsLpAEBB38gARBsIQMjAEEgayICJAACQCACQRhqIAAQ+gEiBS0AAEUNACACQQhqIAAQtAIhBiAAIAAoAgBBDGsoAgBqIgQoAgQhByAEEOwDIQggAiAGKAIAIAEgASADaiIDIAEgB0GwAXFBIEYbIAMgBCAIEIgBNgIQIAJBEGoQ2AFFDQAgACAAKAIAQQxrKAIAakEFENcBCyAFEPkBIAJBIGokACAACxMAIAEEQCABIAAQHBDXAzYCAAsLTAECfyMAQRBrIgEkACABIAAQ1QIhACMAQRBrIgIkACACQQhqIAAoAgQQoQEoAgBBAToAACAAKAIIQQE6AAAgAkEQaiQAIAFBEGokAAt2AQN/IwBBEGsiAiQAIAIgABDVAiEAIwBBEGsiAyQAIANBCGogACgCBBChASgCAC0AAEUEQAJ/AkAgACgCCCIALQAAIgFBAUcEfyABQQJxDQEgAEECOgAAQQEFQQALDAELAAshAQsgA0EQaiQAIAJBEGokACABCw0AIAAoAgAQygMaIAALDQAgACgCABDPAxogAAstACACRQRAIAAoAgQgASgCBEYPCyAAIAFGBEBBAQ8LIAAQsgIgARCyAhCgAUULJAEBfyAAKAIAIQIgACABNgIAIAIEQCACIAAQ0AEoAgARAgALCwkAIAAgARDMAwsJACAAIAEQ0QMLVgECfyMAQRBrIgIkACAAEFQEQCAAKAIAIQMgABC5ARogAxAbCyAAIAEoAgg2AgggACABKQIANwIAIAFBABBSIAJBADoADyABIAJBD2oQSyACQRBqJAALNQEBfyMAQRBrIgIkACACIAAoAgA2AgwgACABKAIANgIAIAEgAkEMaigCADYCACACQRBqJAALBQAQBwALEAAgACgCBCAAKAIAa0EDdQsRACAAIAEgACgCACgCHBEDAAsHACAAQQxqCwwAIAAgAS0AADoAAAu/AQEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFIAEQzAINASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRBAAaDAILAkAgASgCUEEASA0AIAIhAANAIAAiBEUNASADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEEACAESQ0BIAMgBGohAyACIARrIQIgASgCFCEFCyAFIAMgAhAsGiABIAEoAhQgAmo2AhQLCwsLdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMAC0MBAX8jAEEQayIFJAAgBSACNgIMIAUgBDYCCCAFIAVBDGoQdyECIAAgASADIAUoAggQ9gEhACACEHYgBUEQaiQAIAALoQEBAn8CQCAAEBhFIAIgAWtBBUhyDQAgASACEOwBIAJBBGshBCAAEBwiAiAAEBhqIQUCQANAAkAgAiwAACEAIAEgBE8NACAAQQBMIABB/wBOckUEQCABKAIAIAIsAABHDQMLIAFBBGohASACIAUgAmtBAUpqIQIMAQsLIABBAEwgAEH/AE5yDQEgAiwAACAEKAIAQQFrSw0BCyADQQQ2AgALC20BAX8jAEGAAmsiBSQAIARBgMAEcSACIANMckUEQCAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxArGiABRQRAA0AgACAFQYACEEwgAkGAAmsiAkH/AUsNAAsLIAAgBSACEEwLIAVBgAJqJAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiABIASGIQELIAAgATcDACAAIAI3AwgLCQAgACABOgALCwkAIAAgATYCBAsKACAALQALQQd2CwwAIAAgARDMA0EBcwsMACAAIAEQ0QNBAXMLDAAgACABKAIANgIACwcAIAAQGEULEQAgACABIAEoAgAoAhQRAQALDwAgACAAKAIAKAIQEQAACwsAIABB3KABEI8BCwsAIABB5KABEI8BC78JAgR+BH8jAEHwAGsiCiQAIARC////////////AIMhBQJAAkAgAVAiCSACQv///////////wCDIgZCgICAgICAwP//AH1CgICAgICAwICAf1QgBlAbRQRAIANCAFIgBUKAgICAgIDA//8AfSIHQoCAgICAgMCAgH9WIAdCgICAgICAwICAf1EbDQELIAkgBkKAgICAgIDA//8AVCAGQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQQgASEDDAILIANQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgBEKAgICAgIAghCEEDAILIAEgBkKAgICAgIDA//8AhYRQBEBCgICAgICA4P//ACACIAEgA4UgAiAEhUKAgICAgICAgIB/hYRQIgkbIQRCACABIAkbIQMMAgsgAyAFQoCAgICAgMD//wCFhFANASABIAaEUARAIAMgBYRCAFINAiABIAODIQMgAiAEgyEEDAILIAMgBYRQRQ0AIAEhAyACIQQMAQsgAyABIAEgA1QgBSAGViAFIAZRGyILGyEFIAQgAiALGyIHQv///////z+DIQYgAiAEIAsbIgJCMIinQf//AXEhDCAHQjCIp0H//wFxIglFBEAgCkHgAGogBSAGIAUgBiAGUCIJG3kgCUEGdK18pyIJQQ9rEFEgCikDaCEGIAopA2AhBUEQIAlrIQkLIAEgAyALGyEDIAJC////////P4MhBCAMRQRAIApB0ABqIAMgBCADIAQgBFAiCxt5IAtBBnStfKciC0EPaxBRQRAgC2shDCAKKQNYIQQgCikDUCEDCyAEQgOGIANCPYiEQoCAgICAgIAEhCEEIAZCA4YgBUI9iIQhBiACIAeFIQgCfiADQgOGIgEgCSAMayILRQ0AGiALQf8ASwRAQgAhBEIBDAELIApBQGsgASAEQYABIAtrEFEgCkEwaiABIAQgCxCuASAKKQM4IQQgCikDMCAKKQNAIAopA0iEQgBSrYQLIQEgBkKAgICAgICABIQhAyAFQgOGIQICQCAIQgBTBEAgAiABfSIFIAMgBH0gASACVq19IgSEUARAQgAhA0IAIQQMAwsgBEL/////////A1YNASAKQSBqIAUgBCAFIAQgBFAiCxt5IAtBBnStfKdBDGsiCxBRIAkgC2shCSAKKQMoIQQgCikDICEFDAELIAEgAnwiBSABVK0gAyAEfHwiBEKAgICAgICACINQDQAgBUIBgyAEQj+GIAVCAYiEhCEFIAlBAWohCSAEQgGIIQQLIAdCgICAgICAgICAf4MhASAJQf//AU4EQCABQoCAgICAgMD//wCEIQRCACEDDAELQQAhCwJAIAlBAEoEQCAJIQsMAQsgCkEQaiAFIAQgCUH/AGoQUSAKIAUgBEEBIAlrEK4BIAopAwAgCikDECAKKQMYhEIAUq2EIQUgCikDCCEECyAEQj2GIAVCA4iEIgIgBadBB3EiCUEES618IgMgAlStIARCA4hC////////P4MgC61CMIaEIAGEfCEEAkAgCUEERgRAIAQgA0IBgyIBIAN8IgMgAVStfCEEDAELIAlFDQELCyAAIAM3AwAgACAENwMIIApB8ABqJAALEQAgACABIAAoAgAoAiwRAwALCgAgACgCACABagtjACACKAIEQbABcSICQSBGBEAgAQ8LAkAgAkEQRw0AAkACQCAALQAAIgJBK2sOAwABAAELIABBAWoPCyACQTBHIAEgAGtBAkhyDQAgAC0AAUEgckH4AEcNACAAQQJqIQALIAALJwEBfyMAQRBrIgEkACABQQhqIAAQHBChASgCACEAIAFBEGokACAAC34CAn8BfiMAQRBrIgMkACAAAn4gAUUEQEIADAELIAMgASABQR91IgJqIAJzIgKtQgAgAmciAkHRAGoQUSADKQMIQoCAgICAgMAAhUGegAEgAmutQjCGfCABQYCAgIB4ca1CIIaEIQQgAykDAAs3AwAgACAENwMIIANBEGokAAsJAEHADBCJAQALDQAgACABIAEQbBDYAgsJAEGREBCJAQALJAECfyMAQRBrIgIkACABIAAQxwIhAyACQRBqJAAgASAAIAMbCwoAIABBAREAABoLDwAgACgCACAAKAIENgIECxAAIAAgAUGAgICAeHI2AggLCQAgACABNgIACyQBAn8jAEEQayICJAAgACABEMcCIQMgAkEQaiQAIAEgACADGwt/AQN/IAAhAQJAIABBA3EEQANAIAEtAABFDQIgAUEBaiIBQQNxDQALCwNAIAEiAkEEaiEBIAIoAgAiA0F/cyADQYGChAhrcUGAgYKEeHFFDQALIANB/wFxRQRAIAIgAGsPCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC6MCAQR/IwBBQGoiAiQAIAAoAgAiA0EEaygCACEEIANBCGsoAgAhBSACQQA2AhQgAkH0lgE2AhAgAiAANgIMIAIgATYCCEEAIQMgAkEYakEAQScQKxogACAFaiEAAkAgBCABQQAQQQRAIAJBATYCOCAEIAJBCGogACAAQQFBACAEKAIAKAIUEQsAIABBACACKAIgQQFGGyEDDAELIAQgAkEIaiAAQQFBACAEKAIAKAIYEQoAAkACQCACKAIsDgIAAQILIAIoAhxBACAC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NgIAIABBBGohACABQQRqIQEgAkEBayICDQALC0EABSAACxoLSgECfwJAIAAtAAAiAkUgAiABLQAAIgNHcg0AA0AgAS0AASEDIAAtAAEiAkUNASABQQFqIQEgAEEBaiEAIAIgA0YNAAsLIAIgA2sLCwAgACABNgIAIAALEgAgABAaKAIAIAAoAgBrQQxtC4wBAQJ/IwBBIGsiAiQAAkAgAUEMaiIBKAIwIgNBEHEEQCABKAIYIAEoAixLBEAgASABKAIYNgIsCyAAIAEoAhQgASgCLCACQRhqEKcCGgwBCyADQQhxBEAgACABKAIIIAEoAhAgAkEQahCnAhoMAQsjAEEQayIBJAAgABCxAiABQRBqJAALIAJBIGokAAvmAgEEfyAAQUBrIgNB1Dc2AgAgA0G4OjYCACAAQcA+NgIAIANB6D42AgAgAEHUPjYCCCAAQfg+KAIAIgE2AgAgACABQQxrKAIAakH8PigCADYCACAAQQA2AgQgACAAKAIAQQxrKAIAaiICQQA2AhQgAiAAQQxqIgE2AhggAkEANgIMIAJCgqCAgOAANwIEIAIgAUU2AhAgAkEgakEAQSgQKxogAkEcahDxAiACQQA2AkggAkF/NgJMIABBCGoiAkGAPygCACIENgIAIAIgBEEMaygCAGpBhD8oAgA2AgAgAEH0PigCACICNgIAIAAgAkEMaygCAGpBiD8oAgA2AgAgAEGMPygCADYCCCAAQcA+NgIAIANB6D42AgAgAEHUPjYCCCABQYA4NgIAIAFBBGoQ8QIgAUIANwIYIAFCADcCECABQgA3AgggAUH4OTYCACABQSBqECEaIAFBGDYCMCABQQA2AiwgAAsIACAAQf8BcQtSAQJ/QYydASgCACIBIABBA2pBfHEiAmohAAJAIAJBACAAIAFNGw0AIAA/AEEQdEsEQCAAEBFFDQELQYydASAANgIAIAEPC0GUnQFBMDYCAEF/CwcAIABBEGoLFgAgABBUBEAgACABEFMPCyAAIAEQUgsWACAAIAEtAAA6AAAgACABLQABOgABCywAAkAgACABRg0AA0AgACABQQFrIgFPDQEgACABEI8DIABBAWohAAwACwALCzMBAX8gABDjASAAKAIABEAgACAAKAIAEPwDIAAQGhogACgCACEBIAAQkgEaIAEQGwsgAAsNACAAKAIAIAFBBXRqC9sBAgF/An5BASEEAkAgAEIAUiABQv///////////wCDIgVCgICAgICAwP//AFYgBUKAgICAgIDA//8AURsNACACQgBSIANC////////////AIMiBkKAgICAgIDA//8AViAGQoCAgICAgMD//wBRGw0AIAAgAoQgBSAGhIRQBEBBAA8LIAEgA4NCAFkEQEF/IQQgACACVCABIANTIAEgA1EbDQEgACAChSABIAOFhEIAUg8LQX8hBCAAIAJWIAEgA1UgASADURsNACAAIAKFIAEgA4WEQgBSIQQLIAQLUAEBfgJAIANBwABxBEAgAiADQUBqrYghAUIAIQIMAQsgA0UNACACQcAAIANrrYYgASADrSIEiIQhASACIASIIQILIAAgATcDACAAIAI3AwgLUwECfyMAQRBrIgEkAAJAIAAQVARAIAAoAgAhAiABQQA6AA8gAiABQQ9qEEsgAEEAEFMMAQsgAUEAOgAOIAAgAUEOahBLIABBABBSCyABQRBqJAALFAEBf0EIEDkiASAAKQIANwMAIAELEwAgABBIRQRAEIwCAAsgACgCAAsJACAAIAEQgwQLEgAgABAaKAIAIAAoAgBrQQN1Cw8AIAAQGigCACAAKAIAawsQACAAIAEQggIgACACNgIECxMAIAAQGigCACAAKAIAa0GMBG0LEgAgABAaKAIAIAAoAgBrQQV1CyQAIABBC08EfyAAQRBqQXBxIgAgAEEBayIAIABBC0YbBUEKCwsOACAAKAIIQf////8HcQskACAAQQJPBH8gAEEEakF8cSIAIABBAWsiACAAQQJGGwVBAQsLlgEBBX8jAEEQayIFJAAgARCtAyECIwBBEGsiAyQAAkAgAkHv////A00EQAJAIAJBAU0EQCAAIAIQUiAAIQQMAQsgACAAIAIQugFBAWoiBhCyASIEEGogACAGEGkgACACEFMLIAQgASACEJ8BIANBADYCDCAEIAJBAnRqIANBDGoQVyADQRBqJAAMAQsQZQALIAVBEGokAAvHAQEGfyMAQRBrIgQkACAAENABKAIAIQUCfyACKAIAIAAoAgBrIgNB/////wdJBEAgA0EBdAwBC0F/CyIDQQQgAxshAyABKAIAIQYgACgCACEHIAVB0wBGBH9BAAUgACgCAAsgAxDdASIIBEAgBUHTAEcEQCAAEOYBGgsgBEHSADYCBCAAIARBCGogCCAEQQRqEDYiBRCFAyAFEDUgASAAKAIAIAYgB2tqNgIAIAIgACgCACADQXxxajYCACAEQRBqJAAPCxBHAAssAQF/IAAQ8AIgACgCAARAIAAQ9wUgABAaGiAAKAIAIQEgABCzARogARAbCwsTACAAIAFBACAAKAIAKAI0EQQACxMAIAAgAUEAIAAoAgAoAiQRBAAL8gIBAn8jAEEQayIKJAAgCiAANgIMAkACQAJAIAMoAgAgAkcNAEErIQsgACAJKAJgRwRAQS0hCyAJKAJkIABHDQELIAMgAkEBajYCACACIAs6AAAMAQsgBhAYRSAAIAVHckUEQEEAIQAgCCgCACIBIAdrQZ8BSg0CIAQoAgAhACAIIAFBBGo2AgAgASAANgIADAELQX8hACAJIAlB6ABqIApBDGoQmQIgCWsiBkHcAEoNASAGQQJ1IQUCQAJAAkAgAUEIaw4DAAIAAQsgASAFSg0BDAMLIAFBEEcgBkHYAEhyDQAgAygCACIBIAJGIAEgAmtBAkpyDQIgAUEBay0AAEEwRw0CQQAhACAEQQA2AgAgAyABQQFqNgIAIAEgBUGA6QBqLQAAOgAADAILIAMgAygCACIAQQFqNgIAIAAgBUGA6QBqLQAAOgAAIAQgBCgCAEEBajYCAEEAIQAMAQtBACEAIARBADYCAAsgCkEQaiQAIAALCwAgAEGUoQEQjwEL7gIBA38jAEEQayIKJAAgCiAAOgAPAkACQAJAIAMoAgAgAkcNAEErIQsgAEH/AXEiDCAJLQAYRwRAQS0hCyAJLQAZIAxHDQELIAMgAkEBajYCACACIAs6AAAMAQsgBhAYRSAAIAVHckUEQEEAIQAgCCgCACIBIAdrQZ8BSg0CIAQoAgAhACAIIAFBBGo2AgAgASAANgIADAELQX8hACAJIAlBGmogCkEPahCcAiAJayIFQRdKDQECQAJAAkAgAUEIaw4DAAIAAQsgASAFSg0BDAMLIAFBEEcgBUEWSHINACADKAIAIgEgAkYgASACa0ECSnINAiABQQFrLQAAQTBHDQJBACEAIARBADYCACADIAFBAWo2AgAgASAFQYDpAGotAAA6AAAMAgsgAyADKAIAIgBBAWo2AgAgACAFQYDpAGotAAA6AAAgBCAEKAIAQQFqNgIAQQAhAAwBC0EAIQAgBEEANgIACyAKQRBqJAAgAAtPAQF/IAAQxQEgAQRAIAAQkAQgAUkEQBBjAAsgABAaGiAAIAEQOSICNgIAIAAgAjYCBCAAEBogASACajYCACAAQQAQjwQgACABEKYDCyAACwsAIABBjKEBEI8BCy8BAX8jAEEQayIBJAAgAEIANwIAIAFBADYCDCAAQQhqIAFBDGoQggIgAUEQaiQAC4MBAgN/AX4CQCAAQoCAgIAQVARAIAAhBQwBCwNAIAFBAWsiASAAIABCCoAiBUIKfn2nQTByOgAAIABC/////58BViECIAUhACACDQALCyAFpyICBEADQCABQQFrIgEgAiACQQpuIgNBCmxrQTByOgAAIAJBCUshBCADIQIgBA0ACwsgAQsPACAAIAEQHCABEBgQjgILYwIBfwF+IwBBEGsiAiQAIAACfiABRQRAQgAMAQsgAiABrUIAIAFnIgFB0QBqEFEgAikDCEKAgICAgIDAAIVBnoABIAFrrUIwhnwhAyACKQMACzcDACAAIAM3AwggAkEQaiQACwoAIAAQrgIaIAALEwAgACABIAIgACgCACgCMBEEAAsgACADIAAgAUEBdmsiADsBACACIAAgAWpBgIACczsBAAskACACIAFBAXEgAGogAUEQdEERdWoiADsBACADIAAgAWs7AQALDwAgACgCCCAAKAIANgIAC2QBAn8jAEEQayIDJAAgAUEASARAQbUaQeIPQZgkQaEREAAACyADIABBASABdG0iBCACQQFGIAQgAXQgAEhxajYCDCADQQE2AgggA0EMaiADQQhqELwCKAIAIQAgA0EQaiQAIAALDwAgACAAKAIAQQRqNgIACwcAIABBBGoLDwAgACAAKAIAQQFqNgIACzcBAn8jAEEQayIDJAAgA0EIaiIEIAEQIiACIAQQwQEiARBaNgIAIAAgARBZIAQQICADQRBqJAALNgECfyMAQRBrIgIkACACQQhqIgMgABAiIAMQW0GA6QBBmukAIAEQjgEgAxAgIAJBEGokACABCzcBAn8jAEEQayIDJAAgA0EIaiIEIAEQIiACIAQQxAEiARBaOgAAIAAgARBZIAQQICADQRBqJAALFwAgACADNgIQIAAgAjYCDCAAIAE2AggLgQEBAn8CQAJAIAJBBE8EQCAAIAFyQQNxDQEDQCAAKAIAIAEoAgBHDQIgAUEEaiEBIABBBGoh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QQIPCyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAw8LIAFBgIAEa0H//z9NBEAgACABQT9xQYABcjoAAyAAIAFBEnZB8AFyOgAAIAAgAUEGdkE/cUGAAXI6AAIgACABQQx2QT9xQYABcjoAAUEEDwsLQZSdAUEZNgIAQX8FQQELDwsgACABOgAAQQELkwMBCX8CfwJAIAAiAkEDcQRAA0AgAi0AACIBRSABQT1Gcg0CIAJBAWoiAkEDcQ0ACwsCQCACKAIAIgFBf3MgAUGBgoQIa3FBgIGChHhxDQADQCABQb369OkDcyIBQX9zIAFBgYKECGtxQYCBgoR4cQ0BIAIoAgQhASACQQRqIQIgAUGBgoQIayABQX9zcUGAgYKEeHFFDQALCwNAIAIiAS0AACIDBEAgAUEBaiECIANBPUcNAQsLIAEMAQsgAgsgAGsiBUUEQEEADwsCQCAAIAVqLQAADQBB1J4BKAIAIgRFDQAgBCgCACIBRQ0AA0ACQAJ/IAAhAkEAIQZBACAFIgdFDQAaAkAgAi0AACIDRQ0AA0ACQCABLQAAIghFDQAgB0EBayIHRSADIAhHcg0AIAFBAWohASACLQABIQMgAkEBaiECIAMNAQwCCwsgAyEGCyAGQf8BcSABLQAAawtFBEAgBCgCACAFaiICLQAAQT1GDQELIAQoAgQhASAEQQRqIQQgAQ0BDAILCyACQQFqIQkLIAkL2AMCAn4CfyMAQSBrIgQkAAJAIAFC////////////AIMiA0KAgICAgIDAgDx9IANCgICAgICAwP/DAH1UBEAgAUIEhiAAQjyIhCEDIABC//////////8PgyIAQoGAgICAgICACFoEQCADQoGAgICAgICAwAB8IQIMAgsgA0KAgICAgICAgEB9IQIgAEKAgICAgICAgAiFQgBSDQEgAiADQgGDfCECDAELIABQIANCgICAgICAwP//AFQgA0KAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhAgwBC0KAgICAgICA+P8AIQIgA0L///////+//8MAVg0AQgAhAiADQjCIpyIFQZH3AEkNACAEQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiAiAFQYH3AGsQUSAEIAAgAkGB+AAgBWsQrgEgBCkDCEIEhiAEKQMAIgBCPIiEIQIgBCkDECAEKQMYhEIAUq0gAEL//////////w+DhCIAQoGAgICAgICACFoEQCACQgF8IQIMAQsgAEKAgICAgICAgAiFQgBSDQAgAkIBgyACfCECCyAEQSBqJAAgAiABQoCAgICAgICAgH+DhL8LRAEBfyMAQRBrIgUkACAFIAEgAiADIARCgICAgICAgICAf4UQXSAFKQMAIQEgACAFKQMINwMIIAAgATcDACAFQRBqJAALxAECAX8CfkF/IQMCQCAAQgBSIAFC////////////AIMiBEKAgICAgIDA//8AViAEQoCAgICAgMD//wBRGw0AQQAgAkL///////////8AgyIFQoCAgICAgMD//wBWIAVCgICAgICAwP//AFEbDQAgACAEIAWEhFAEQEEADwsgASACg0IAWQRAQQAgASACUyABIAJRGw0BIAAgASAChYRCAFIPCyAAQgBSIAEgAlUgASACURsNACAAIAEgAoWEQgBSIQMLIAMLCAAgABB0EBsLowEBBH8jAEEQayIGJAAjAEEQayIFJAACQCABIAIQwgIiBEFvTQRAAkAgBEEKTQRAIAAgBBBSIAAhAwwBCyAAIAQQuAFBAWoiBxA5IgMQaiAAIAcQaSAAIAQQUwsDQCABIAJHBEAgAyABEEsgA0EBaiEDIAFBAWohAQwBCwsgBUEAOgAPIAMgBUEPahBLIAVBEGokAAwBCxBlAAsgBkEQaiQAIAALCQAgABD4ARAbCycBAX8CQCAAKAIAIgJFDQAgAiABEM4DQX8QkQFFDQAgAEEANgIACwsNACAAQQRqEMkBGiAACw0AIABBCGoQyQEaIAALEAAgACABNwMIIABCADcDAAsTACAAQYA4NgIAIABBBGoQICAAC2kBAn8gAEHUNzYCACAAKAIoIQEDQCABBEBBACAAIAFBAWsiAUECdCICIAAoAiRqKAIAIAAoAiAgAmooAgARBgAMAQsLIABBHGoQICAAKAIgEBsgACgCJBAbIAAoAjAQGyAAKAI8EBsgAAsVAQF/IAAgARDYAyICIABrIAEgAhsL9AEBAn9B/wEhAgJAAkACQCAAIAFzQQNxDQBBASEDAkAgAUEDcUUNAANAIAAgAS0AACIDOgAAIANFDQQgAEEBaiEAIAJBAWsiAkEARyEDIAFBAWoiAUEDcUUNASACDQALCyADRQ0BIAEtAABFDQIgAkEESQ0AA0AgASgCACIDQX9zIANBgYKECGtxQYCBgoR4cQ0BIAAgAzYCACAAQQRqIQAgAUEEaiEBIAJBBGsiAkEDSw0ACwsgAkUNAANAIAAgAS0AACIDOgAAIANFDQIgAEEBaiEAIAFBAWohASACQQFrIgINAAsLQQAhAgsgAEEAIAIQKxoLEAAgAEIANwIAIABBADYCCAsiAQF/IwBBEGsiASAANgIIIAEgASgCCCgCBDYCDCABKAIMCwQAQQELGgAgACABIAEoAgBBDGsoAgBqKAIYNgIAIAAL9AECAX8BfgJAIAAgAUYEQAJAIAMoAgAiAEEITgRAIAIpAwAhCgwBCyAEKAIAIgEgBU8NAiACKQMAIQogBCABQQFqNgIAIAIgATEAACAKQgiGhCIKNwMAIABBCGohAAsgAyAAQQhrIgE2AgAgBigCACIAIAogAa2HpyIBQf8BcUEBdGogCEsNASAAQQJrIgIgB0kNAUEBIQkgAUH/AXFFDQEgAi8BACECA0AgACACOwEAIABBAmohACABQQFrIgFB/wFxDQALIAYgADYCAEEBDwsgBigCACIBIAhPDQAgBiABQQJqNgIAIAEgADsBAEEBIQkLIAkLKwEBfyAAIAEoAgA2AgAgASgCACEDIAAgATYCCCAAIAMgAkECdGo2AgQgAAsrACAAKAIAGiAAKAIAIAAQkgFBAnRqGiAAKAIAGiAAKAIAIAAQNEECdGoaC1MBAX8gACgCBCIBIAAoAghHBEADQCAAKAIQGiAAIAAoAghBBGs2AgggACgCCCABRw0ACwsgACgCAARAIAAoAhAaIAAoAgAhASAAEO8DGiABEBsLC1ABAX8gABDjASAAEBogACgCACAAKAIEIAFBBGoiAhCBAiAAIAIQRiAAQQRqIAFBCGoQRiAAEBogARBKEEYgASABKAIENgIAIAAgABA0EMECC2kBAn8jAEEQayIEJAAgBEEANgIMIABBDGogBEEMaiADELUBIAEEQCAAKAIQIAEQsgEhBQsgACAFNgIAIAAgBSACQQJ0aiICNgIIIAAgAjYCBCAAEEogBSABQQJ0ajYCACAEQRBqJAAgAAuSAQEDfyMAQRBrIgMkACADIAE2AgwjAEEQayICJAAgABAaGiACQf////8DNgIMIAJB/////wc2AgggAkEMaiACQQhqEGYoAgAhBCACQRBqJAAgASAEIgJNBEAgABCSASIAIAJBAXZJBEAgAyAAQQF0NgIIIANBCGogA0EMahBrKAIAIQILIANBEGokACACDwsQYwALJAECfyMAQRBrIgIkACAAIAEQggQhAyACQRBqJAAgASAAIAMbCywAIAAoAgAaIAAoAgAgABCzAUEDdGoaIAAoAgAgABCzAUEDdGoaIAAoAgAaC0IBAX8jAEEQayIBJAAgABAaGiABQf////8BNgIMIAFB/////wc2AgggAUEMaiABQQhqEGYoAgAhACABQRBqJAAgAAueAgEEfyAARQRADwsCQCAAKAIEIgFFDQAgARC/AiAAKAIEIgFFDQAgARAbC0EAIQEgACgCHCIDQQBKBEADQAJAIAAoAhAiAkUNACACIAFBAnRqKAIAIgJFDQAgAhAbIAAoAhwhAwsgAUEBaiIBIANIDQALCyAAKAIQIgEEQCABEBsLIAAoAgAiAQRAIAAoAiBBAEoEf0EAIQIDQEEAIQEgACgCHCIDQQBKBEADQAJAIAAoAgAgAkEcbGooAhgiBEUNACAEIAFBAnRqKAIAIgRFDQAgBBAbIAAoAhwhAwsgAUEBaiIBIANIDQALCyAAKAIAIAJBHGxqKAIYIgEEQCABEBsLIAJBAWoiAiAAKAIgSA0ACyAAKAIABSABCxAbCwsJACABQQA2AgALLAAgACgCABogACgCACAAEJIBQQJ0ahogACgCACAAEJIBQQJ0ahogACgCABoLCQAgACABEIgECzQAIAAoAgAaIAAoAgAgABCiAUEMbGoaIAAoAgAgABAqQQxsahogACgCACAAEKIBQQxsahoLGgAgAEH4OTYCACAAQSBqEBkaIAAQrQIaIAALEAAgAARAIABBAEEkECsaCwu9BwECfyMAQRBrIgAkAAJAIABBDGogAEEIahAVDQBB1J4BIAAoAgxBAnRBBGoQKCIBNgIAIAFFDQAgACgCCBAoIgEEQEHUngEoAgAgACgCDEECdGpBADYCAEHUngEoAgAgARAURQ0BC0HUngFBADYCAAsgAEEQaiQAIwBBIGsiACQAQfAoQbApQegpQQBB+ClBAkH7KUEAQfspQQBByApB/SlBAxAKIwBBEGsiASQAQfAoQQFBgCpB+ClBCkEEEAUgAUEQaiQAIABBADYCHCAAQQU2AhggACAAKQMYNwMQIwBBEGsiASQAIAEgACkCEDcDCEHwKEG2D0EDQYQqQZAqQQsgAUEIahCwAUEAEAIgAUEQaiQAIABBADYCHCAAQQY2AhggACAAKQMYNwMIIwBBEGsiASQAIAEgACkCCDcDCEHwKEHWEEEEQaAqQbAqQQwgAUEIahCwAUEAEAIgAUEQaiQAIABBADYCHCAAQQc2AhggACAAKQMYNwMAIwBBEGsiASQAIAEgACkCADcDCEHwKEGcEUECQbgqQcAqQQ0gAUEIahCwAUEAEAIgAUEQaiQAIwBBEGsiASQAIAFBCDYCDEHwKEG6CkEDQcQqQewqQQ4gAUEMahDmA0EAEAIgAUEQaiQAIwBBEGsiASQAIAFBCTYCDEHwKEG2CkEEQYArQZArQQ8gAUEMahDmA0EAEAIgAUEQaiQAIABBIGokACMAQTBrIgAkAEGkK0G4K0HYK0EAQfgpQRBB+ylBAEH7KUEAQfgMQf0pQREQCiMAQRBrIgEkAEGkK0ECQegrQcAqQRhBEhAFIAFBEGokACAAQQA2AiwgAEETNgIoIAAgACkDKDcDICMAQRBrIgEkACABIAApAiA3AwhBpCtBiQxBAkH4LEHAKkEZIAFBCGoQsAFBABACIAFBEGokACAAQQA2AiwgAEEUNgIoIAAgACkDKDcDGCMAQRBrIgEkACABIAApAhg3AwhBpCtBsw9BAkGALUHAKkEaIAFBCGoQsAFBABACIAFBEGokACAAQQA2AiwgAEEVNgIoIAAgACkDKDcDECMAQRBrIgEkACABIAApAhA3AwhBpCtBxwxBAkGILUHAKkEbIAFBCGoQsAFBABACIAFBEGokACAAQQA2AiwgAEEWNgIoIAAgACkDKDcDCEHEDyAAQQhqEMgCIABBADYCLCAAQRc2AiggACAAKQMoNwMAQa8KIAAQyAIgAEEwaiQAQZKdAUEgEQAAGkG4ngFBuJ0BNgIAQfCdAUEqNgIACw0AIAAoAgAgASgCAEkLOQEBfyMAQRBrIgIkACACIAEpAgA3AwhBpCsgAEECQZAtQcAqQRwgAkEIahCwAUEAEAIgAkEQaiQACwcAIAAoAgwLXgECfyMAQRBrIgIkAAJAIABFDQAgAEH4AGpBAEGAAhArIQAgAUUNACACIAEQbDYCDCACQf8BNgIIIAJBDGogAkEIahBmKAIAIgNFDQAgACABIAMQLBoLIAJBEGokAAscACAAIAFBCCACpyACQiCIpyADpyADQiCIpxAPC1kBAX8gACAAKAJIIgFBAWsgAXI2AkggACgCACIBQQhxBEAgACABQSByNgIAQX8PCyAAQgA3AgQgACAAKAIsIgE2AhwgACABNgIUIAAgASAAKAIwajYCEEEAC9UCAQJ/AkAgACABRg0AIAEgACACaiIEa0EAIAJBAXRrTQRAIAAgASACECwaDwsgACABc0EDcSEDAkACQCAAIAFJBEAgAw0CIABBA3FFDQEDQCACRQ0EIAAgAS0AADoAACABQQFqIQEgAkEBayECIABBAWoiAEEDcQ0ACwwBCwJAIAMNACAEQQNxBEADQCACRQ0FIAAgAkEBayICaiIDIAEgAmotAAA6AAAgA0EDcQ0ACwsgAkEDTQ0AA0AgACACQQRrIgJqIAEgAmooAgA2AgAgAkEDSw0ACwsgAkUNAgNAIAAgAkEBayICaiABIAJqLQAAOgAAIAINAAsMAgsgAkEDTQ0AA0AgACABKAIANgIAIAFBBGohASAAQQRqIQAgAkEEayICQQNLDQALCyACRQ0AA0AgACABLQAAOgAAIABBAWohACABQQFqIQEgAkEBayICDQALCwvNBgIEfwN+IwBBgAFrIgUkAAJAAkACQCADIARCAEIAEK0BRQ0AAn8gBEL///////8/gyEJAn8gBEIwiKdB//8BcSIGQf//AUcEQEEEIAYNARpBAkEDIAMgCYRQGwwCCyADIAmEUAsLRQ0AIAJCMIinIghB//8BcSIGQf//AUcNAQsgBUEQaiABIAIgAyAEEC0gBSAFKQMQIgEgBSkDGCICIAEgAhC+AyAFKQMIIQIgBSkDACEEDAELIAEgAkL///////8/gyAGrUIwhoQiCiADIARC////////P4MgBEIwiKdB//8BcSIHrUIwhoQiCRCtAUEATARAIAEgCiADIAkQrQEEQCABIQQMAgsgBUHwAGogASACQgBCABAtIAUpA3ghAiAFKQNwIQQMAQsgBgR+IAEFIAVB4ABqIAEgCkIAQoCAgICAgMC7wAAQLSAFKQNoIgpCMIinQfgAayEGIAUpA2ALIQQgB0UEQCAFQdAAaiADIAlCAEKAgICAgIDAu8AAEC0gBSkDWCIJQjCIp0H4AGshByAFKQNQIQMLIAlC////////P4NCgICAgICAwACEIQkgCkL///////8/g0KAgICAgIDAAIQhCiAGIAdKBEADQAJ+IAogCX0gAyAEVq19IgtCAFkEQCALIAQgA30iBIRQBEAgBUEgaiABIAJCAEIAEC0gBSkDKCECIAUpAyAhBAwFCyALQgGGIARCP4iEDAELIApCAYYgBEI/iIQLIQogBEIBhiEEIAZBAWsiBiAHSg0ACyAHIQYLAkAgCiAJfSADIARWrX0iCUIAUwRAIAohCQwBCyAJIAQgA30iBIRCAFINACAFQTBqIAEgAkIAQgAQLSAFKQM4IQIgBSkDMCEEDAELIAlC////////P1gEQANAIARCP4ghASAGQQFrIQYgBEIBhiEEIAEgCUIBhoQiCUKAgICAgIDAAFQNAAsLIAhBgIACcSEHIAZBAEwEQCAFQUBrIAQgCUL///////8/gyAGQfgAaiAHcq1CMIaEQgBCgICAgICAwMM/EC0gBSkDSCECIAUpA0AhBAwBCyAJQv///////z+DIAYgB3KtQjCGhCECCyAAIAQ3AwAgACACNwMIIAVBgAFqJAALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQZCvASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RBpK8BakYaIAAoAgwiAyAERw0CQfyuAUH8rgEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQYyvASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QayxAWoiAigCAEYEQCACIAM2AgAgAw0BQYCvAUGArwEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQi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ACEPIAIgAigCACIYQQFqNgIAIBggDzoAACASQQFqIQ8MAAsACyAXIAIoAgAQqgELIBVBAWohFQwACwALqwIBAX8jAEEQayIKJAAgCQJ/IAAEQCACEIgDIQACQCABBEAgCiAAEJYBIAMgCigCADYAACAKIAAQlQEMAQsgCiAAEOUBIAMgCigCADYAACAKIAAQcAsgCCAKEEUgChAZGiAEIAAQbzoAACAFIAAQWjoAACAKIAAQWSAGIAoQRSAKEBkaIAogABBxIAcgChBFIAoQGRogABCUAQwBCyACEIcDIQACQCABBEAgCiAAEJYBIAMgCigCADYAACAKIAAQlQEMAQsgCiAAEOUBIAMgCigCADYAACAKIAAQcAsgCCAKEEUgChAZGiAEIAAQbzoAACAFIAAQWjoAACAKIAAQWSAGIAoQRSAKEBkaIAogABBxIAcgChBFIAoQGRogABCUAQs2AgAgCkEQaiQACzcBAX8jAEEQayICJAAgAiAAKAIANgIIIAIgAigCCCABQQJ0ajYCCCACKAIIIQAgAkEQaiQAIAALpgIBBH8gASAAEDoiAksEQCMAQSBrIgQkAAJAIAEgAmsiAyAAEBooAgAgACgCBGtNBEAgACADEKYDDAELIAAQGiEBIARBCGogACAAEDogA2oQlAQgABA6IAEQkwQhAiMAQRBrIgEkACABIAIoAgg2AgAgAigCCCEFIAEgAkEIajYCCCABIAMgBWo2AgQgASgCACABKAIERwRAA0AgAigCEBogASgCABCFBCABIAEoAgBBAWoiAzYCACADIAEoAgRHDQALCyABEM0BIAFBEGokACAAIAIQkgQgAhCRBAsgBEEgaiQADwsgASACSQRAIAAoAgAgAWohASAAEDoaIAAgARCGBCAAKAIAGiAAKAIAIAAQtAFqGiAAKAIAGiAAKAIAIAAQOmoaCwsLACAAQfifARCPAQsLACAAQYCgARCPAQsUACAAIAEoAgAQygMgASgCABDtAwuBEAEKfyMAQbAEayILJAAgCyAKNgKkBCALIAE2AqgEIAtB0wA2AmAgCyALQYgBaiALQZABaiALQeAAaiIBEDYiDygCACIKNgKEASALIApBkANqNgKAASABECEhESALQdAAahBuIQ4gC0FAaxBuIQwgC0EwahBuIQ0gC0EgahBuIRAjAEEQayIBJAAgCwJ/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NgIQIBEgDygCACALKAKEASALQRBqEE8gCygCEARAIAUgBSgCAEEEcjYCAAwBC0EBIQALIBAQGRogDRAZGiAMEBkaIA4QGRogERAZGiAPEDUgC0GwBGokACAADwsgCiECCyABQQFqIQEMAAsACx8AIAAgARDmARBCIAEQ0AEoAgAhASAAENABIAE2AgALNAEBfyMAQRBrIgIkACACIAAoAgA2AgggAiACKAIIIAFqNgIIIAIoAgghACACQRBqJAAgAAsLACAAQeifARCPAQsLACAAQfCfARCPAQvEAQEGfyMAQRBrIgQkACAAENABKAIAIQUCfyACKAIAIAAoAgBrIgNB/////wdJBEAgA0EBdAwBC0F/CyIDQQEgAxshAyABKAIAIQYgACgCACEHIAVB0wBGBH9BAAUgACgCAAsgAxDdASIIBEAgBUHTAEcEQCAAEOYBGgsgBEHSADYCBCAAIARBCGogCCAEQQRqEDYiBRCFAyAFEDUgASAAKAIAIAYgB2tqNgIAIAIgAyAAKAIAajYCACAEQRBqJAAPCxBHAAslAQF/IAEoAgAQzwNBGHRBGHUhAiAAIAEoAgA2AgQgACACOgAAC68QAQp/IwBBsARrIgskACALIAo2AqQEIAsgATYCqAQgC0HTADYCaCALIAtBiAFqIAtBkAFqIAtB6ABqIgEQNiIPKAIAIgo2AoQBIAsgCkGQA2o2AoABIAEQISERIAtB2ABqECEhDiALQcgAahAhIQwgC0E4ahAhIQ0gC0EoahAhIRAjAEEQayIBJAAgCwJ/IAIEQCABIAMQiAMiAhCWASALIAEoAgA2AHggASACEJUBIA0gARBFIAEQGRogASACEHAgDCABEEUgARAZGiALIAIQbzoAdyALIAIQWjoAdiABIAIQWSARIAEQRSABEBkaIAEgAhBxIA4gARBFIAEQGRogAhCUAQwBCyABIAMQhwMiAhCWASALIAEoAgA2AHggASACEJUBIA0gARBFIAEQGRogASACEHAgDCABEEUgARAZGiALIAIQbzoAdyALIAIQWjoAdiABIAIQWSARIAEQRSABEBkaIAEgAhBxIA4gARBFIAEQGRogAhCUAQs2AiQgAUEQaiQAIAkgCCgCADYCACAEQYAEcSISQQl2IRNBACEBQQAhAgNAIAIhCgJAAkACQAJAIAFBBEYNACAAIAtB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BUGAAWsgBkEGdHIiBUEATg0AGiAHLQAAQYABayIHQT9LDQEgBEECaiIIIAcgBUEGdHIiBUEATg0AGiAILQAAQYABayIHQT9LDQEgByAFQQZ0ciEFIARBA2oLIQQgACAFNgIAIANBAWshAyAAQQRqIQAMAQtBlJ0BQRk2AgAgBEEBayEEDAULQQAhBQwACwALIARBAWshBCAGDQEgBC0AACEGCyAGQf8BcQ0AIAAEQCAAQQA2AgAgAUEANgIACyACIANrDwtBlJ0BQRk2AgAgAEUNAQsgASAENgIAC0F/DwsgASAENgIAIAILIwECfyAAIQEDQCABIgJBBGohASACKAIADQALIAIgAGtBAnULDgAgABC3AwRAIAAQGwsLLAEBfyMAQRBrIgIkACACIAE2AgwgAEHkAEHMECABEPYBIQAgAkEQaiQAIAALKQEBfyMAQRBrIgIkACACIAE2AgwgAEHSECABELkDIQAgAkEQaiQAIAALFgAgABB4QQBHIABBIHJB4QBrQQZJcgu9AgACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgAICQoICQECAwQKCQoKCAkFBgcLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkHQABEBAAsPCyACIAIoAgAiAUEEajYCACAAIAE0AgA3AwAPCyACIAIoAgAiAUEEajYCACAAIAE1AgA3AwAPCyACIAIoAgBBB2pBeHEiAUEIajYCACAAIAEpAwA3AwALawEEfyAAKAIALAAAEHhFBEBBAA8LA0AgACgCACEDQX8hASACQcyZs+YATQRAQX8gAywAAEEwayIEIAJBCmwiAWogBEH/////ByABa0obIQELIAAgA0EBajYCACABIQIgAywAARB4DQALIAEL5xICEX8BfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohFCAFQThqIRBBACEBAkACQAJAAkADQCABQf////8HIAtrSg0BIAEgC2ohCyAFKAJM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AAwBCyADECQLIgEgBWotACFFBEBBACEKDAQLIAQgCWogAToAACAEQQFqIgQgBkcNAAtBASECQQAhCiAJIAZBAXRBAXIiBhDdASIBDQALDAgLQQAhBCAIBEADQAJ/IAMoAgQiASADKAJoRwRAIAMgAUEBajYCBCABLQAADAELIAMQJAsiASAFai0AIQRAIAQgCGogAToAACAEQQFqIQQMAQVBACEKIAghCQwDCwALAAsDQAJ/IAMoAgQiASADKAJoRwRAIAMgAUEBajYCBCABLQAADAELIAMQJAsgBWotACENAAtBACEJQQAhCgsgAygCBCEBIAMpA3BCAFkEQCADIAFBAWsiATYCBAsgAykDeCABIAMoAixrrHwiE1AgC0HjAEYgEiATUnFyDQgCQCAMRQ0AIA1FBEAgCCAKNgIADAELIAggCTYCAAsgBw0AIAoEQCAKIARBAnRqQQA2AgALIAlFBEBBACEJDAELIAQgCWpBADoAAAsgAygCBCADKAIsa6wgAykDeCAUfHwhFCAOIAhBAEdqIQ4LIABBAWohBCAALQABIgANAQwICwtBACEJCyAMIQIMAQtBASECQQAhCUEAIQoLIA4NAgtBfyEODAELIAwhAgsgAkUNACAJEBsgChAbCyAFQbACaiQAIA4hACADQZABaiQAIAALQwACQCAARQ0AAkACQAJAAkAgAUECag4GAAECAgQDBAsgACACPAAADwsgACACPQEADwsgACACPgIADwsgACACNwMACwu1AwIDfwF+IwBBIGsiAyQAAkAgAUL///////////8AgyIFQoCAgICAgMDAP30gBUKAgICAgIDAv8AAfVQEQCABQhmIpyEEIABQIAFC////D4MiBUKAgIAIVCAFQoCAgAhRG0UEQCAEQYGAgIAEaiECDAILIARBgICAgARqIQIgACAFQoCAgAiFhEIAUg0BIAIgBEEBcWohAgwBCyAAUCAFQoCAgICAgMD//wBUIAVCgICAgICAwP//AFEbRQRAIAFCGYinQf///wFxQYCAgP4HciECDAELQYCAgPwHIQIgBUL///////+/v8AAVg0AQQAhAiAFQjCIpyIEQZH+AEkNACADQRBqIAAgAUL///////8/g0KAgICAgIDAAIQiBSAEQYH+AGsQUSADIAAgBUGB/wAgBGsQrgEgAykDCCIAQhmIpyEC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cSIJQf//AWtBgoB+TwRAIAhB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiDEKAgICAgIDA//8AVCAMQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQ0MAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhDSADIQEMAgsgASAMQoCAgICAgMD//wCFhFAEQCADIAJCgICAgICAwP//AIWEUARAQgAhAUKAgICAgIDg//8AIQ0MAwsgDUKAgICAgIDA//8AhCENQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAQgAhAQwCCyABIAyEUARAQoCAgICAgOD//wAgDSACIAOEUBshDUIAIQEMAgsgAiADhFAEQCANQoCAgICAgMD//wCEIQ1CACEBDAILIAxC////////P1gEQCAFQcACaiABIAogASAKIApQIgYbeSAGQQZ0rXynIgZBD2sQUUEQIAZrIQYgBSkDyAIhCiAFKQPAAiEBCyACQv///////z9WDQAgBUGwAmogAyALIAMgCyALUCIHG3kgB0EGdK18pyIHQQ9rEFEgBiAHakEQayEGIAUpA7gCIQsgBSkDsAIhAwsgBUGgAmogC0KAgICAgIDAAIQiEkIPhiADQjGIhCICQgBCgICAgLDmvIL1ACACfSIEQgAQTSAFQZACakIAIAUpA6gCfUIAIARCABBNIAVBgAJqIAUpA5gCQgGGIAUpA5ACQj+IhCIEQgAgAkIAEE0gBUHwAWogBEIAQgAgBSkDiAJ9QgAQTSAFQeABaiAFKQP4AUIBhiAFKQPwAUI/iIQiBEIAIAJCABBNIAVB0AFqIARCAEIAIAUpA+gBfUIAEE0gBUHAAWogBSkD2AFCAYYgBSkD0AFCP4iEIgRCACACQgAQTSAFQbABaiAEQgBCACAFKQPIAX1CABBNIAVBoAFqIAJCACAFKQO4AUIBhiAFKQOwAUI/iIRCAX0iAkIAEE0gBUGQAWogA0IPhkIAIAJCABBNIAVB8ABqIAJCAEIAIAUpA6gBIAUpA6ABIgwgBSkDmAF8IgQgDFStfCAEQgFWrXx9QgAQTSAFQYABakIBIAR9QgAgAkIAEE0gBiAJIAhraiEGAn8gBSkDcCITQgGGIg4gBSkDiAEi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NgIAIAJBBGohAgwBCwsgBCACNgIADAELIAcgBygCACAJaiIFNgIAIAUgBkYNAiADIAhGBEAgBCgCACECIAMhCAwHCyANQQRqQQAgACgCCBCVAiIIQX9HDQELQQIhEAwDCyANQQRqIQIgBiAHKAIAayAISQ0CA0AgCARAIAItAAAhBSAHIAcoAgAiCUEBajYCACAJIAU6AAAgCEEBayEIIAJBAWohAgwBCwsgBCAEKAIAQQRqIgI2AgAgAiEIA0AgAyAIRgRAIAMhCAwFCyAIKAIARQ0EIAhBBGohCAwACwALIAQoAgALIANHIRALIA1BEGokACAQDwsgBygCACEFDAALAAsJACAAEPcCEBsLNgAjAEEQayIAJAAgACAENgIMIAAgAyACazYCCCAAQQxqIABBCGoQZigCACEBIABBEGokACABCzQAA0AgASACRkUEQCAEIAEsAAAiACADIABBAE4bOgAAIARBAWohBCABQQFqIQEMAQsLIAILDAAgASACIAFBAE4bCyoAA0AgASACRkUEQCADIAEtAAA6AAAgA0EBaiEDIAFBAWohAQwBCwsgAgtAAANAIAEgAkcEQCABIAEsAAAiAEEATgR/QfDcACgCACABLAAAQQJ0aigCAAUgAAs6AAAgAUEBaiEBDAELCyACCycAIAFBAE4Ef0Hw3AAoAgAgAUH/AXFBAnRqKAIABSABC0EYdEEYdQtAAANAIAEgAkcEQCABIAEsAAAiAEEATgR/QeDQACgCACABLAAAQQJ0aigCAAUgAAs6AAAgAUEBaiEBDAELCyACCycAIAFBAE4Ef0Hg0AAoAgAgAUH/AXFBAnRqKAIABSABC0EYdEEYdQsJACAAEO0CEBsLNQADQCABIAJGRQRAIAQgASgCACIAIAMgAEGAAUkbOgAAIARBAWohBCABQQRqIQEMAQsLIAILEwAgASACIAFBgAFJG0EYdEEYdQsqAANAIAEgAkZFBEAgAyABLAAANgIAIANBBGohAyABQQFqIQEMAQsLIAILQQADQCABIAJHBEAgASABKAIAIgBB/wBNBH9B8NwAKAIAIAEoAgBBAnRqKAIABSAACzYCACABQQRqIQEMAQsLIAILHgAgAUH/AE0Ef0Hw3AAoAgAgAUECdGooAgAFIAELC0EAA0AgASACRwRAIAEgASgCACIAQf8ATQR/QeDQACgCACABKAIAQQJ0aigCAAUgAAs2AgAgAUEEaiEBDAELCyACCx4AIAFB/wBNBH9B4NAAKAIAIAFBAnRqKAIABSABCwtFAAJAA0AgAiADRg0BAkAgAigCAEH/AEsNAEHQygAoAgAgAigCAEEBdGovAQAgAXFFDQAgAkEEaiECDAELCyACIQMLIAMLRAADQAJAIAIgA0cEfyACKAIAQf8ASw0BQdDKACgCACACKAIAQQF0ai8BACABcUUNASACBSADCw8LIAJBBGohAgwACwALRgADQCABIAJHBEAgAyABKAIAQf8ATQR/QdDKACgCACABKAIAQQF0ai8BAAVBAAs7AQAgA0ECaiEDIAFBBGohAQwBCwsgAgskACACQf8ATQR/QdDKACgCACACQQF0ai8BACABcUEARwVBAAsLQAECfyAAKAIAKAIAIgAoAgAgACgCCCICQQF1aiEBIAAoAgQhACABIAJBAXEEfyABKAIAIABqKAIABSAACxECAAsPACAAIAAoAgAoAgQRAgALHwAgAAJ/QdigAUHYoAEoAgBBAWoiADYCACAACzYCBAsJACAAEPQCEBsLmQEAIwBBEGsiAyQAAkAgBRBURQRAIAAgBSgCCDYCCCAAIAUpAgA3AgAMAQsgBSgCACEEAkACQAJAIAUoAgQiAkEBTQRAIAAhASAAIAIQUgwBCyACQe////8DSw0BIAAgACACELoBQQFqIgUQsgEiARBqIAAgBRBpIAAgAhBTCyABIAQgAkEBahCfAQwBCxBlAAsLIANBEGokAAsJACAAIAUQ2QELiAMBCH8jAEHwA2siACQAIABB6ANqIgYgAxAiIAYQWyEKIAUQGARAIAVBABDxASgCACAKQS0QXkYhCwsgAiALIABB6ANqIABB4ANqIABB3ANqIABB2ANqIABByANqECEiDCAAQbgDahBuIgYgAEGoA2oQbiIHIABBpANqEPwCIABB0gA2AhAgAEEIakEAIABBEGoiAhA2IQgCQAJ/IAUQGCAAKAKkA0oEQCAFEBghCSAAKAKkAyENIAcQGCAJIA1rQQF0aiAGEBhqIAAoAqQDakEBagwBCyAHEBggBhAYaiAAKAKkA2pBAmoLIglB5QBJDQAgCCAJQQJ0ECgQQiAIKAIAIgINABBHAAsgAiAAQQRqIAAgAygCBCAFEBwgBRAcIAUQGEECdGogCiALIABB4ANqIAAoAtwDIAAoAtgDIAwgBiAHIAAoAqQDEPsCIAEgAiAAKAIEIAAoAgAgAyAEEI0BIQEgCBA1IAcQGRogBhAZGiAMEBkaIABB6ANqECAgAEHwA2okACABC8AEAQt/IwBBsAhrIgAkACAAIAU3AxAgACAGNwMYIAAgAEHAB2oiBzYCvAcgByAAQRBqEK8DIQcgAEHSADYCoAQgAEGYBGpBACAAQaAEaiIJEDYhDiAAQdIANgKgBCAAQZAEakEAIAkQNiEKAkAgB0HkAE8EQBApIQcgACAFNwMAIAAgBjcDCCAAQbwHaiAHQcwQIAAQfyIHQX9GDQEgDiAAKAK8BxBCIAogB0ECdBAoEEIgChDYAQ0BIAooAgAhCQsgAEGIBGoiCCADECIgCBBbIhEgACgCvAciCCAHIAhqIAkQjgEgB0EASgRAIAAoArwHLQAAQS1GIQ8LIAIgDyAAQYgEaiAAQYAEaiAAQfwDaiAAQfgDaiAAQegDahAhIhAgAEHYA2oQbiIIIABByANqEG4iCyAAQcQDahD8AiAAQdIANgIwIABBKGpBACAAQTBqIgIQNiEMAn8gACgCxAMiDSAHSARAIAsQGCAHIA1rQQF0aiAIEBhqIAAoAsQDakEBagwBCyALEBggCBAYaiAAKALEA2pBAmoLIg1B5QBPBEAgDCANQQJ0ECgQQiAMKAIAIgJFDQELIAIgAEEkaiAAQSBqIAMoAgQgCSAJIAdBAnRqIBEgDyAAQYAEaiAAKAL8AyAAKAL4AyAQIAggCyAAKALEAxD7AiABIAIgACgCJCAAKAIgIAMgBBCNASEBIAwQNSALEBkaIAgQGRogEBAZGiAAQYgEahAgIAoQNSAOEDUgAEGwCGokACABDwsQRwALgAMBCH8jAEHAAWsiACQAIABBuAFqIgYgAxAiIAYQXCEKIAUQGARAIAVBABAeLQAAIApBLRBJQf8BcUYhCwsgAiALIABBuAFqIABBsAFqIABBrwFqIABBrgFqIABBoAFqECEiDCAAQZABahAhIgYgAEGAAWoQISIHIABB/ABqEP4CIABB0gA2AhAgAEEIakEAIABBEGoiAhA2IQgCQAJ/IAUQGCAAKAJ8SgRAIAUQGCEJIAAoAnwhDSAHEBggCSANa0EBdGogBhAYaiAAKAJ8akEBagwBCyAHEBggBhAYaiAAKAJ8akECagsiCUHlAEkNACAIIAkQKBBCIAgoAgAiAg0AEEcACyACIABBBGogACADKAIEIAUQHCAFEBwgBRAYaiAKIAsgAEGwAWogACwArwEgACwArgEgDCAGIAcgACgCfBD9AiABIAIgACgCBCAAKAIAIAMgBBCIASEBIAgQNSAHEBkaIAYQGRogDBAZGiAAQbgBahAgIABBwAFqJAAgAQu3BAELfyMAQdADayIAJAAgACAFNwMQIAAgBjcDGCAAIABB4AJqIgc2AtwCIAcgAEEQahCvAyEHIABB0gA2AvABIABB6AFqQQAgAEHwAWoiCRA2IQ4gAEHSADYC8AEgAEHgAWpBACAJEDYhCgJAIAdB5ABPBEAQKSEHIAAgBTcDACAAIAY3AwggAEHcAmogB0HMECAAEH8iB0F/Rg0BIA4gACgC3AIQQiAKIAcQKBBCIAoQ2AENASAKKAIAIQkLIABB2AFqIgggAxAiIAgQXCIRIAAoAtwCIgggByAIaiAJEJwBIAdBAEoEQCAAKALcAi0AAEEtRiEPCyACIA8gAEHYAWogAEHQAWogAEHPAWogAEHOAWogAEHAAWoQISIQIABBsAFqECEiCCAAQaABahAhIgsgAEGcAWoQ/gIgAEHSADYCMCAAQShqQQAgAEEwaiICEDYhDAJ/IAAoApwBIg0gB0gEQCALEBggByANa0EBdGogCBAYaiAAKAKcAWpBAWoMAQsgCxAYIAgQGGogACgCnAFqQQJqCyINQeUATwRAIAwgDRAoEEIgDCgCACICRQ0BCyACIABBJGogAEEgaiADKAIEIAkgByAJaiARIA8gAEHQAWogACwAzwEgACwAzgEgECAIIAsgACgCnAEQ/QIgASACIAAoAiQgACgCICADIAQQiAEhASAMEDUgCxAZGiAIEBkaIBAQGRogAEHYAWoQICAKEDUgDhA1IABB0ANqJAAgAQ8LEEcAC6MFAQN/IwBBwANrIgAkACAAIAI2ArADIAAgATYCuAMgAEHTADYCFCAAQRhqIABBIGogAEEUaiIHEDYhCSAAQRBqIgEgBBAiIAEQWyEIIABBADoADyAAQbgDaiACIAMgASAEKAIEIAUgAEEPaiAIIAkgByAAQbADahCEAwRAIwBBEGsiASQAAkAgBhBUBEAgBigCACECIAFBADYCDCACIAFBDGoQVyAGQQAQUwwBCyABQQA2AgggBiABQQhqEFcgBkEAEFILIAFBEGokACAALQAPBEAgBiAIQS0QXhCNAgsgCEEwEF4hASAJKAIAIQQgACgCFCIIQQRrIQIDQAJAIAIgBE0NACAEKAIAIAFHDQAgBEEEaiEEDAELCyMAQRBrIgEkACAGEBghAiAGEJECIQMCQCAEIAgQ5gIiB0UNACAEIAYQHCAGEBwgBhAYQQJ0ahDeAgRAIwBBEGsiAiQAIAEgBCAIEKgDIAJBEGokACABEBwhCCABEBghAiMAQRBrIgQkAAJAIAIgBhCRAiIHIAYQGCIDa00EQCACRQ0BIAYQHCIHIANBAnRqIAggAhCfASAGIAIgA2oiAhCoASAEQQA2AgwgByACQQJ0aiAEQQxqEFcMAQsgBiAHIAIgA2ogB2sgAyADQQAgAiAIENcCCyAEQRBqJAAgARAZGgwBCyAHIAMgAmtLBEAgBiADIAIgB2ogA2sgAiACENYCCyAGEBwgAkECdGohAwNAIAQgCEcEQCADIAQQVyAEQQRqIQQgA0EEaiEDDAELCyABQQA2AgAgAyABEFcgBiACIAdqEKgBCyABQRBqJAALIABBuANqIABBsANqEEMEQCAFIAUoAgBBAnI2AgALIAAoArgDIQEgAEEQahAgIAkQNSAAQcADaiQAIAEL2gMBAn8jAEHwBGsiACQAIAAgAjYC4AQgACABNgLoBCAAQdMANgIQIABByAFqIABB0AFqIABBEGoQNiEBIABBwAFqIgcgBBAiIAcQWyEIIABBADoAvwECQCAAQegEaiACIAMgByAEKAIEIAUgAEG/AWogCCABIABBxAFqIABB4ARqEIQDRQ0AIABB3RkoAAA2ALcBIABB1hkpAAA3A7ABIAggAEGwAWogAEG6AWogAEGAAWoQjgEgAEHSADYCECAAQQhqQQAgAEEQaiICEDYhAwJAIAAoAsQBIAEoAgBrQYkDTgRAIAMgACgCxAEgASgCAGtBAnVBAmoQKBBCIAMoAgBFDQEgAygCACECCyAALQC/AQRAIAJBLToAACACQQFqIQILIAEoAgAhBANAIAAoAsQBIARNBEACQCACQQA6AAAgACAGNgIAIABBEGogABCwA0EBRw0AIAMQNQwECwUgAiAAQbABaiAAQYABaiIHIAdBKGogBBCZAiAHa0ECdWotAAA6AAAgAkEBaiECIARBBGohBAwBCwsQRwALEEcACyAAQegEaiAAQeAEahBDBEAgBSAFKAIAQQJyNgIACyAAKALoBCECIABBwAFqECAgARA1IABB8ARqJAAgAgvXAwEDfyMAQaABayIAJAAgACACNgKQASAAIAE2ApgBIABB0wA2AhQgAEEYaiAAQSBqIABBFGoiCBA2IQkgAEEQaiIHIAQQIiAHEFwhASAAQQA6AA8gAEGYAWogAiADIAcgBCgCBCAFIABBD2ogASAJIAggAEGEAWoQiwMEQCAGEK8BIAAtAA8EQCAGIAFBLRBJEOABCyABQTAQSSEBIAkoAgAhBCAAKAIUIgdBAWshAiABQf8BcSEBA0ACQCACIARNDQAgBC0AACABRw0AIARBAWohBAwBCwsjAEEgayICJAAgBhAYIQEgBhAlIQMCQCAEIAcQwgIiCEUNACAEIAYQHCAGEBwgBhAYahDeAgRAIAYgAkEQaiAEIAcgBhCnAiIBEBwgARAYEI4CIAEQGRoMAQsgCCADIAFrSwRAIAYgAyABIAhqIANrIAEgARCPAgsgBhAcIAFqIQMDQCAEIAdHBEAgAyAEEEsgBEEBaiEEIANBAWohAwwBCwsgAkEAOgAPIAMgAkEPahBLIAYgASAIahCoAQsgAkEgaiQACyAAQZgBaiAAQZABahBEBEAgBSAFKAIAQQJyNgIACyAAKAKYASEBIABBEGoQICAJEDUgAEGgAWokACABC9ADAQJ/IwBBoAJrIgAkACAAIAI2ApACIAAgATYCmAIgAEHTADYCECAAQZgBaiAAQaABaiAAQRBqEDYhASAAQZABaiIHIAQQIiAHEFwhCCAAQQA6AI8BAkAgAEGYAmogAiADIAcgBCgCBCAFIABBjwFqIAggASAAQZQBaiAAQYQCahCLA0UNACAAQd0ZKAAANgCHASAAQdYZKQAANwOAASAIIABBgAFqIABBigFqIABB9gBqEJwBIABB0gA2AhAgAEEIakEAIABBEGoiAhA2IQMCQCAAKAKUASABKAIAa0HjAE4EQCADIAAoApQBIAEoAgBrQQJqECgQQiADKAIARQ0BIAMoAgAhAgsgAC0AjwEEQCACQS06AAAgAkEBaiECCyABKAIAIQQDQCAAKAKUASAETQRAAkAgAkEAOgAAIAAgBjYCACAAQRBqIAAQsANBAUcNACADEDUMBAsFIAIgAEH2AGoiByAHQQpqIAQQnAIgAGsgAGotAAo6AAAgAkEBaiECIARBAWohBAwBCwsQRwALEEcACyAAQZgCaiAAQZACahBEBEAgBSAFKAIAQQJyNgIACyAAKAKYAiECIABBkAFqECAgARA1IABBoAJqJAAgAguYAgECfyMAQaADayIIJAAgCCAIQaADaiIDNgIMIwBBkAFrIgckACAHIAdBhAFqNgIcIABBCGogB0EgaiICIAdBHGogBCAFIAYQkAMgB0IANwMQIAcgAjYCDCAIQRBqIgIgCCgCDBCOAyEEIAAoAgghBSMAQRBrIgAkACAAIAU2AgwgAEEIaiAAQQxqEHchBSACIAdBDGogBCAHQRBqEKwDIQQgBRB2IABBEGokACAEQX9GBEAQRwALIAggAiAEQQJ0ajYCDCAHQZABaiQAIAgoAgwhBCMAQRBrIgAkACAAIAE2AggDQCACIARHBEAgAEEIaiACKAIAEMcDIAJBBGohAgwBCwsgACgCCCEBIABBEGokACADJAAgAQuBAQAjAEGAAWsiAiQAIAIgAkH0AGo2AgwgAEEIaiACQRBqIgAgAkEMaiAEIAUgBhCQAyACKAIMIQQjAEEQayIDJAAgAyABNgIIA0AgACAERwRAIANBCGogACwAABCpAiAAQQFqIQAMAQsLIAMoAgghACADQRBqJAAgAkGAAWokACAAC+cMAQF/IwBBQGoiByQAIAcgATYCOCAEQQA2AgAgByADECIgBxBbIQggBxAgAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBwQBrDjkAARcEFwUXBgcXFxcKFxcXFw4PEBcXFxMVFxcXFxcXFwABAgMDFxcBFwgXFwkLFwwXDRcLFxcREhQWCyAAIAVBGGogB0E4aiACIAQgCBCTAwwYCyAAIAVBEGogB0E4aiACIAQgCBCSAwwXCyAHIAAgASACIAMgBCAFIABBCGogACgCCCgCDBEAACIAEBwgABAcIAAQGEECdGoQigE2AjgMFgsgB0E4aiACIAQgCEECEH0hAAJAIAQoAgAiAUEEcSAAQQBMciAAQR9KckUEQCAFIAA2AgwMAQsgBCABQQRyNgIACwwVCyAHQdjpACkDADcDGCAHQdDpACkDADcDECAHQcjpACkDADcDCCAHQcDpACkDADcDACAHIAAgASACIAMgBCAFIAcgB0EgahCKATYCOAwUCyAHQfjpACkDADcDGCAHQfDpACkDADcDECAHQejpACkDADcDCCAHQeDpACkDADcDACAHIAAgASACIAMgBCAFIAcgB0EgahCKATYCOAwTCyAHQThqIAIgBCAIQQIQfSEAAkAgBCgCACIBQQRxIABBF0pyRQRAIAUgADYCCAwBCyAEIAFBBHI2AgALDBILIAdBOGogAiAEIAhBAhB9IQACQCAEKAIAIgFBBHEgAEEATHIgAEEMSnJFBEAgBSAANgIIDAELIAQgAUEEcjYCAAsMEQsgB0E4aiACIAQgCEEDEH0hAAJAIAQoAgAiAUEEcSAAQe0CSnJFBEAgBSAANgIcDAELIAQgAUEEcjYCAAsMEAsgB0E4aiACIAQgCEECEH0hAAJAIAQoAgAiAUEEcSAAQQxKckUEQCAFIABBAWs2AhAMAQsgBCABQQRyNgIACwwPCyAHQThqIAIgBCAIQQIQfSEAAkAgBCgCACIBQQRxIABBO0pyRQRAIAUgADYCBAwBCyAEIAFBBHI2AgALDA4LIAdBOGohACMAQRBrIgEkACABIAI2AggDQAJAIAAgAUEIahBVRQ0AIAhBgMAAIAAQNxByRQ0AIAAQPxoMAQsLIAAgAUEIahBDBEAgBCAEKAIAQQJyNgIACyABQRBqJAAMDQsgB0E4aiEBAkAgAEEIaiAAKAIIKAIIEQAAIgAQGEEAIABBDGoQGGtGBEAgBCAEKAIAQQRyNgIADAELIAEgAiAAIABBGGogCCAEQQAQ8gEgAGsiASAFKAIIIgBBDEdyRQRAIAVBADYCCAwBCyABQQxHIABBC0pyRQRAIAUgAEEMajYCCAsLDAwLIAdBgOoAQSwQLCIGIAAgASACIAMgBCAFIAYgBkEsahCKATYCOAwLCyAHQcDqACgCADYCECAHQbjqACkDADcDCCAHQbDqACkDADcDACAHIAAgASACIAMgBCAFIAcgB0EUahCKATYCOAwKCyAHQThqIAIgBCAIQQIQfSEAAkAgBCgCACIBQQRxIABBPEpyRQRAIAUgADYCAAwBCyAEIAFBBHI2AgALDAkLIAdB6OoAKQMANwMYIAdB4OoAKQMANwMQIAdB2OoAKQMANwMIIAdB0OoAKQMANwMAIAcgACABIAIgAyAEIAUgByAHQSBqEIoBNgI4DAgLIAdBOGogAiAEIAhBARB9IQACQCAEKAIAIgFBBHEgAEEGSnJFBEAgBSAANgIYDAELIAQgAUEEcjYCAAsMBwsgACABIAIgAyAEIAUgACgCACgCFBEFAAwHCyAHIAAgASACIAMgBCAFIABBCGogACgCCCgCGBEAACIAEBwgABAcIAAQGEECdGoQigE2AjgMBQsgBUEUaiAHQThqIAIgBCAIEJEDDAQLIAdBOGogAiAEIAhBBBB9IQAgBC0AAEEEcUUEQCAFIABB7A5rNgIUCwwDCyAGQSVGDQELIAQgBCgCAEEEcjYCAAwBCyMAQRBrIgAkACAAIAI2AghBBiEBAkACQCAHQThqIgIgAEEIahBDDQBBBCEBIAggAhA3EL4BQSVHDQBBAiEBIAIQPyAAQQhqEENFDQELIAQgBCgCACABcjYCAAsgAEEQaiQACyAHKAI4CyEAIAdBQGskACAAC0cBAX8jAEEQayIGJAAgBiABNgIIIAYgAxAiIAYQWyEBIAYQICAFQRRqIAZBCGogAiAEIAEQkQMgBigCCCEAIAZBEGokACAAC0kBAX8jAEEQayIGJAAgBiABNgIIIAYgAxAiIAYQWyEBIAYQICAAIAVBEGogBkEIaiACIAQgARCSAyAGKAIIIQAgBkEQaiQAIAALSQEBfyMAQRBrIgYkACAGIAE2AgggBiADECIgBhBbIQEgBhAgIAAgBUEYaiAGQQhqIAIgBCABEJMDIAYoAgghACAGQRBqJAAgAAsxACAAIAEgAiADIAQgBSAAQQhqIAAoAggoAhQRAAAiABAcIAAQHCAAEBhBAnRqEIoBC10BAX8jAEEgayIGJAAgBkHo6gApAwA3AxggBkHg6gApAwA3AxAgBkHY6gApAwA3AwggBkHQ6gApAwA3AwAgACABIAIgAyAEIAUgBiAGQSBqIgEQigEhACABJAAgAAuXDAECfyMAQSBrIgckACAHIAE2AhggBEEANgIAIAdBCGoiCSADECIgCRBcIQggCRAgAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAZBwQBrDjkAARcEFwUXBgcXFxcKFxcXFw4PEBcXFxMVFxcXFxcXFwABAgMDFxcBFwgXFwkLFwwXDRcLFxcREhQWCyAAIAVBGGogB0EYaiACIAQgCBCWAwwYCyAAIAVBEGogB0EYaiACIAQgCBCVAwwXCyAHIAAgASACIAMgBCAFIABBCGogACgCCCgCDBEAACIAEBwgABAcIAAQGGoQjAE2AhgMFgsgB0EYaiACIAQgCEECEH4hAAJAIAQoAgAiAUEEcSAAQQBMciAAQR9KckUEQCAFIAA2AgwMAQsgBCABQQRyNgIACwwVCyAHQqXavanC7MuS+QA3AwggByAAIAEgAiADIAQgBSAHQQhqIAdBEGoQjAE2AhgMFAsgB0KlsrWp0q3LkuQANwMIIAcgACABIAIgAyAEIAUgB0EIaiAHQRBqEIwBNgIYDBMLIAdBGGogAiAEIAhBAhB+IQACQCAEKAIAIgFBBHEgAEEXSnJFBEAgBSAANgIIDAELIAQgAUEEcjYCAAsMEgsgB0EYaiACIAQgCEECEH4hAAJAIAQoAgAiAUEEcSAAQQBMciAAQQxKckUEQCAFIAA2AggMAQsgBCABQQRyNgIACwwRCyAHQRhqIAIgBCAIQQMQfiEAAkAgBCgCACIBQQRxIABB7QJKckUEQCAFIAA2AhwMAQsgBCABQQRyNgIACwwQCyAHQRhqIAIgBCAIQQIQfiEAAkAgBCgCACIBQQRxIABBDEpyRQRAIAUgAEEBazYCEAwBCyAEIAFBBHI2AgALDA8LIAdBGGogAiAEIAhBAhB+IQACQCAEKAIAIgFBBHEgAEE7SnJFBEAgBSAANgIEDAELIAQgAUEEcjYCAAsMDgsgB0EYaiEAIwBBEGsiASQAIAEgAjYCCANAAkAgACABQQhqEFZFDQAgCEGAwAAgABA4EHNFDQAgABBAGgwBCwsgACABQQhqEEQEQCAEIAQoAgBBAnI2AgALIAFBEGokAAwNCyAHQRhqIQECQCAAQQhqIAAoAggoAggRAAAiABAYQQAgAEEMahAYa0YEQCAEIAQoAgBBBHI2AgAMAQsgASACIAAgAEEYaiAIIARBABD0ASAAayIBIAUoAggiAEEMR3JFBEAgBUEANgIIDAELIAFBDEcgAEELSnJFBEAgBSAAQQxqNgIICwsMDAsgB0G06QAoAAA2AA8gB0Gt6QApAAA3AwggByAAIAEgAiADIAQgBSAHQQhqIAdBE2oQjAE2AhgMCwsgB0G86QAtAAA6AAwgB0G46QAoAAA2AgggByAAIAEgAiADIAQgBSAHQQhqIAdBDWoQjAE2AhgMCgsgB0EYaiACIAQgCEECEH4hAAJAIAQoAgAiAUEEcSAAQTxKckUEQCAFIAA2AgAMAQsgBCABQQRyNgIACwwJCyAHQqWQ6anSyc6S0wA3AwggByAAIAEgAiADIAQgBSAHQQhqIAdBEGoQjAE2AhgMCAsgB0EYaiACIAQgCEEBEH4hAAJAIAQoAgAiAUEEcSAAQQZKckUEQCAFIAA2AhgMAQsgBCABQQRyNgIACwwHCyAAIAEgAiADIAQgBSAAKAIAKAIUEQUADAcLIAcgACABIAIgAyAEIAUgAEEIaiAAKAIIKAIYEQAAIgAQHCAAEBwgABAYahCMATYCGAwFCyAFQRRqIAdBGGogAiAEIAgQlAMMBAsgB0EYaiACIAQgCEEEEH4hACAELQAAQQRxRQRAIAUgAEHsDms2AhQLDAMLIAZBJUYNAQsgBCAEKAIAQQRyNgIADAELIwBBEGsiACQAIAAgAjYCCEEGIQECQAJAIAdBGGoiAiAAQQhqEEQNAEEEIQEgCCACEDgQvwFBJUcNAEECIQEgAhBAIABBCGoQREUNAQsgBCAEKAIAIAFyNgIACyAAQRBqJAALIAcoAhgLIQAgB0EgaiQAIAALRwEBfyMAQRBrIgYkACAGIAE2AgggBiADECIgBhBcIQEgBhAgIAVBFGogBkEIaiACIAQgARCUAyAGKAIIIQAgBkEQaiQAIAALSQEBfyMAQRBrIgYkACAGIAE2AgggBiADECIgBhBcIQEgBhAgIAAgBUEQaiAGQQhqIAIgBCABEJUDIAYoAgghACAGQRBqJAAgAAtJAQF/IwBBEGsiBiQAIAYgATYCCCAGIAMQIiAGEFwhASAGECAgACAFQRhqIAZBCGogAiAEIAEQlgMgBigCCCEAIAZBEGokACAACy4AIAAgASACIAMgBCAFIABBCGogACgCCCgCFBEAACIAEBwgABAcIAAQGGoQjAELQAEBfyMAQRBrIgYkACAGQqWQ6anSyc6S0wA3AwggACABIAIgAyAEIAUgBkEIaiAGQRBqIgEQjAEhACABJAAgAAuwAQEFfyMAQdABayIAJAAgAEGr6QAvAAA7AcwBIABBp+kAKAAANgLIARApIQYgACAENgIAIABBsAFqIgcgByAHQRQgBiAAQcgBaiAAEE4iCGoiBCACEGAhBiAAQRBqIgUgAhAiIAUQWyEJIAUQICAJIAcgBCAFEI4BIAEgBSAIQQJ0IAVqIgEgBiAAa0ECdCAAakGwBWsgBCAGRhsgASACIAMQjQEhASAAQdABaiQAIAELgwQBB38jAEGwA2siACQAIABCJTcDqAMgAEGoA2pBAXJB5RQgAigCBBDuASEIIAAgAEGAA2o2AvwCECkhBgJ/IAgEQCACKAIIIQcgAEFAayAFNwMAIAAgBDcDOCAAIAc2AjAgAEGAA2pBHiAGIABBqANqIABBMGoQTgwBCyAAIAQ3A1AgACAFNwNYIABBgANqQR4gBiAAQagDaiAAQdAAahBOCyEGIABB0gA2AoABIABB8AJqQQAgAEGAAWoQNiEJIABBgANqIgohBwJAIAZBHk4EQBApIQYCfyAIBEAgAigCCCEHIAAgBTcDECAAIAQ3AwggACAHNgIAIABB/AJqIAYgAEGoA2ogABB/DAELIAAgBDcDICAAIAU3AyggAEH8AmogBiAAQagDaiAAQSBqEH8LIgZBf0YNASAJIAAoAvwCEEIgACgC/AIhBwsgByAGIAdqIgsgAhBgIQwgAEHSADYCgAEgAEH4AGpBACAAQYABahA2IQcCQCAAKAL8AiAAQYADakYEQCAAQYABaiEGDAELIAZBA3QQKCIGRQ0BIAcgBhBCIAAoAvwCIQoLIABB6ABqIgggAhAiIAogDCALIAYgAEH0AGogAEHwAGogCBCXAyAIECAgASAGIAAoAnQgACgCcCACIAMQjQEhASAHEDUgCRA1IABBsANqJAAgAQ8LEEcAC98DAQd/IwBBgANrIgAkACAAQiU3A/gCIABB+AJqQQFyQbAnIAIoAgQQ7gEhByAAIABB0AJqNgLMAhApIQUCfyAHBEAgAigCCCEGIAAgBDkDKCAAIAY2AiAgAEHQAmpBHiAFIABB+AJqIABBIGoQTgwBCyAAIAQ5AzAgAEHQAmpBHiAFIABB+AJqIABBMGoQTgshBSAAQdIANgJQIABBwAJqQQAgAEHQAGoQNiEIIABB0AJqIgkhBgJAIAVBHk4EQBApIQUCfyAHBEAgAigCCCEGIAAgBDkDCCAAIAY2AgAgAEHMAmogBSAAQfgCaiAAEH8MAQsgACAEOQMQIABBzAJqIAUgAEH4AmogAEEQahB/CyIFQX9GDQEgCCAAKALMAhBCIAAoAswCIQYLIAYgBSAGaiIKIAIQYCELIABB0gA2AlAgAEHIAGpBACAAQdAAahA2IQYCQCAAKALMAiAAQdACakYEQCAAQdAAaiEFDAELIAVBA3QQKCIFRQ0BIAYgBRBCIAAoAswCIQkLIABBOGoiByACECIgCSALIAogBSAAQcQAaiAAQUBrIAcQlwMgBxAgIAEgBSAAKAJEIAAoAkAgAiADEI0BIQEgBhA1IAgQNSAAQYADaiQAIAEPCxBHAAvEAQEFfyMAQSBrIgAkACAAQiU3AxggAEEYaiIHQQFyQYkPQQAgAigCBBCaASACKAIEIQUgAEEgayIGJAAQKSEIIAAgBDcDACAGIAYgBUEJdkEBcSIFQRdqIAggByAAEE4gBmoiCCACEGAhCSAGIAVBA3RBuwFqQfABcWsiByQAIABBCGoiBSACECIgBiAJIAggByAAQRRqIABBEGogBRDtASAFECAgASAHIAAoAhQgACgCECACIAMQjQEhASAAQSBqJAAgAQvJAQEEfyMAQSBrIgAkACAAQaXpAC8AADsBHCAAQaHpACgAADYCGCAAQRhqIgZBAXJBsQ9BACACKAIEEJoBIAIoAgQhByAAQRBrIgUkABApIQggACAENgIAIAUgBSAHQQl2QQFxQQxyIAggBiAAEE4gBWoiByACEGAhCCAFQeAAayIEJAAgAEEIaiIGIAIQIiAFIAggByAEIABBFGogAEEQaiAGEO0BIAYQICABIAQgACgCFCAAKAIQIAIgAxCNASEBIABBIGokACABC8QBAQV/IwBBIGsiACQAIABCJTcDGCAAQRhqIgdBAXJBiQ9BASACKAIEEJoBIAIoAgQhBSAAQSBrIgYkABApIQggACAENwMAIAYgBiAFQQl2QQFxIgVBF2ogCCAHIAAQTiAGaiIIIAIQYCEJIAYgBUEDdEG7AWpB8AFxayIHJAAgAEEIaiIFIAIQIiAGIAkgCCAHIABBFGogAEEQaiAFEO0BIAUQICABIAcgACgCFCAAKAIQIAIgAxCNASEBIABBIGokACABC9UBAQR/IwBBIGsiACQAIABBpekALwAAOwEcIABBoekAKAAANgIYIABBGGoiBkEBckGxD0EBIAIoAgQQmgEgAigCBCEHIABBEGsiBSQAECkhCCAAIAQ2AgAgBSAFIAdBCXZBAXEiBEENaiAIIAYgABBOIAVqIgcgAhBgIQggBSAEQQN0QesAakHwAHFrIgQkACAAQQhqIgYgAhAiIAUgCCAHIAQgAEEUaiAAQRBqIAYQ7QEgBhAgIAEgBCAAKAIUIAAoAhAgAiADEI0BIQEgAEEgaiQAIAELzwEBAX8jAEEwayIFJAAgBSABNgIoAkAgAigCBEEBcUUEQCAAIAEgAiADIAQgACgCACgCGBEHACECDAELIAVBGGoiACACECIgABDBASEBIAAQIAJAIAQEQCAFQRhqIAEQcQwBCyAFQRhqIAEQcAsgBSAFQRhqEGE2AhADQCAFIAVBGGoQmQE2AgggBUEQaiAFQQhqEIABBEAgBUEoaiAFQRBqIgAoAgAoAgAQxwMgABDPAQwBBSAFKAIoIQIgBUEYahAZGgsLCyAFQTBqJAAgAgumAQEFfyMAQeAAayIAJAAgAEGr6QAvAAA7AVwgAEGn6QAoAAA2AlgQKSEGIAAgBDYCACAAQUBrIgcgByAHQRQgBiAAQdgAaiAAEE4iCGoiBCACEGAhBiAAQRBqIgUgAhAiIAUQXCEJIAUQICAJIAcgBCAFEJwBIAEgBSAFIAhqIgEgBiAAayAAakEwayAEIAZGGyABIAIgAxCIASEBIABB4ABqJAAgAQuDBAEHfyMAQYACayIAJAAgAEIlNwP4ASAAQfgBakEBckHlFCACKAIEEO4BIQggACAAQdABajYCzAEQKSEGAn8gCARAIAIoAgghByAAQUBrIAU3AwAgACAENwM4IAAgBzYCMCAAQdABakEeIAYgAEH4AWogAEEwahBODAELIAAgBDcDUCAAIAU3A1ggAEHQAWpBHiAGIABB+AFqIABB0ABqEE4LIQYgAEHSADYCgAEgAEHAAWpBACAAQYABahA2IQkgAEHQAWoiCiEHAkAgBkEeTgRAECkhBgJ/IAgEQCACKAIIIQcgACAFNwMQIAAgBDcDCCAAIAc2AgAgAEHMAWogBiAAQfgBaiAAEH8MAQsgACAENwMgIAAgBTcDKCAAQcwBaiAGIABB+AFqIABBIGoQfwsiBkF/Rg0BIAkgACgCzAEQQiAAKALMASEHCyAHIAYgB2oiCyACEGAhDCAAQdIANgKAASAAQfgAakEAIABBgAFqEDYhBwJAIAAoAswBIABB0AFqRgRAIABBgAFqIQYMAQsgBkEBdBAoIgZFDQEgByAGEEIgACgCzAEhCgsgAEHoAGoiCCACECIgCiAMIAsgBiAAQfQAaiAAQfAAaiAIEJkDIAgQICABIAYgACgCdCAAKAJwIAIgAxCIASEBIAcQNSAJEDUgAEGAAmokACABDwsQRwAL3wMBB38jAEHQAWsiACQAIABCJTcDyAEgAEHIAWpBAXJBsCcgAigCBBDuASEHIAAgAEGgAWo2ApwBECkhBQJ/IAcEQCACKAIIIQYgACAEOQMoIAAgBjYCICAAQaABakEeIAUgAEHIAWogAEEgahBODAELIAAgBDkDMCAAQaABakEeIAUgAEHIAWogAEEwahBOCyEFIABB0gA2AlAgAEGQAWpBACAAQdAAahA2IQggAEGgAWoiCSEGAkAgBUEeTgRAECkhBQJ/IAcEQCACKAIIIQYgACAEOQMIIAAgBjYCACAAQZwBaiAFIABByAFqIAAQfwwBCyAAIAQ5AxAgAEGcAWogBSAAQcgBaiAAQRBqEH8LIgVBf0YNASAIIAAoApwBEEIgACgCnAEhBgsgBiAFIAZqIgogAhBgIQsgAEHSADYCUCAAQcgAakEAIABB0ABqEDYhBgJAIAAoApwBIABBoAFqRgRAIABB0ABqIQUMAQsgBUEBdBAoIgVFDQEgBiAFEEIgACgCnAEhCQsgAEE4aiIHIAIQIiAJIAsgCiAFIABBxABqIABBQGsgBxCZAyAHECAgASAFIAAoAkQgACgCQCACIAMQiAEhASAGEDUgCBA1IABB0AFqJAAgAQ8LEEcAC7cBAQV/IwBBIGsiACQAIABCJTcDGCAAQRhqIgZBAXJBiQ9BACACKAIEEJoBIAIoAgQhByAAQSBrIgUkABApIQggACAENwMAIAUgBSAHQQl2QQFxQRdqIAggBiAAEE4gBWoiCCACEGAhCSAFQTBrIgYkACAAQQhqIgcgAhAiIAUgCSAIIAYgAEEUaiAAQRBqIAcQ7wEgBxAgIAEgBiAAKAIUIAAoAhAgAiADEIgBIQEgAEEgaiQAIAELyAEBBH8jAEEgayIAJAAgAEGl6QAvAAA7ARwgAEGh6QAoAAA2AhggAEEYaiIGQQFyQbEPQQAgAigCBBCaASACKAIEIQcgAEEQayIFJAAQKSEIIAAgBDYCACAFIAUgB0EJdkEBcUEMciAIIAYgABBOIAVqIgcgAhBgIQggBUEgayIEJAAgAEEIaiIGIAIQIiAFIAggByAEIABBFGogAEEQaiAGEO8BIAYQICABIAQgACgCFCAAKAIQIAIgAxCIASEBIABBIGokACABC7cBAQV/IwBBIGsiACQAIABCJTcDGCAAQRhqIgZBAXJBiQ9BASACKAIEEJoBIAIoAgQhByAAQSBrIgUkABApIQggACAENwMAIAUgBSAHQQl2QQFxQRdqIAggBiAAEE4gBWoiCCACEGAhCSAFQTBrIgYkACAAQQhqIgcgAhAiIAUgCSAIIAYgAEEUaiAAQRBqIAcQ7wEgBxAgIAEgBiAAKAIUIAAoAhAgAiADEIgBIQEgAEEgaiQAIAELyAEBBH8jAEEgayIAJAAgAEGl6QAvAAA7ARwgAEGh6QAoAAA2AhggAEEYaiIGQQFyQbEPQQEgAigCBBCaASACKAIEIQcgAEEQayIFJAAQKSEIIAAgBDYCACAFIAUgB0EJdkEBcUENaiAIIAYgABBOIAVqIgcgAhBgIQggBUEgayIEJAAgAEEIaiIGIAIQIiAFIAggByAEIABBFGogAEEQaiAGEO8BIAYQICABIAQgACgCFCAAKAIQIAIgAxCIASEBIABBIGokACABC88BAQF/IwBBMGsiBSQAIAUgATYCKAJAIAIoAgRBAXFFBEAgACABIAIgAyAEIAAoAgAoAhgRBwAhAgwBCyAFQRhqIgAgAhAiIAAQxAEhASAAECACQCAEBEAgBUEYaiABEHEMAQsgBUEYaiABEHALIAUgBUEYahBhNgIQA0AgBSAFQRhqEJsBNgIIIAVBEGogBUEIahCAAQRAIAVBKGogBUEQaiIAKAIALAAAEKkCIAAQ0QEMAQUgBSgCKCECIAVBGGoQGRoLCwsgBUEwaiQAIAIL8wIBAX8jAEHgAmsiACQAIAAgAjYC0AIgACABNgLYAiAAQdABahAhIQYgAEEQaiICIAMQIiACEFtBgOkAQZrpACAAQeABahCOASACECAgAEHAAWoQISIDIAMQJRAdIAAgA0EAEB4iATYCvAEgACACNgIMIABBADYCCANAAkAgAEHYAmogAEHQAmoQVUUNACAAKAK8ASADEBggAWpGBEAgAxAYIQIgAyADEBhBAXQQHSADIAMQJRAdIAAgAiADQQAQHiIBajYCvAELIABB2AJqEDdBECABIABBvAFqIABBCGpBACAGIABBEGogAEEMaiAAQeABahDAAQ0AIABB2AJqED8aDAELCyADIAAoArwBIAFrEB0gAxAcIQIQKSEBIAAgBTYCACACIAEgABCbA0EBRwRAIARBBDYCAAsgAEHYAmogAEHQAmoQQwRAIAQgBCgCAEECcjYCAAsgACgC2AIhASADEBkaIAYQGRogAEHgAmokACABC9IDAQF+IwBBgANrIgAkACAAIAI2AvACIAAgATYC+AIgAEHYAWogAyAAQfABaiAAQewBaiAAQegBahCbAiAAQcgBahAhIgEgARAlEB0gACABQQAQHiICNgLEASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQfgCaiAAQfACahBVRQ0AIAAoAsQBIAEQGCACakYEQCABEBghAyABIAEQGEEBdBAdIAEgARAlEB0gACADIAFBABAeIgJqNgLEAQsgAEH4AmoQNyAAQRdqIABBFmogAiAAQcQBaiAAKALsASAAKALoASAAQdgBaiAAQSBqIABBHGogAEEYaiAAQfABahCaAg0AIABB+AJqED8aDAELCwJAIABB2AFqEBhFDQAgAC0AF0UNACAAKAIcIgMgAEEgamtBnwFKDQAgACADQQRqNgIcIAMgACgCGDYCAAsgACACIAAoAsQBIAQQnAMgACkDACEGIAUgACkDCDcDCCAFIAY3AwAgAEHYAWogAEEgaiAAKAIcIAQQTyAAQfgCaiAAQfACahBDBEAgBCAEKAIAQQJyNgIACyAAKAL4AiECIAEQGRogAEHYAWoQGRogAEGAA2okACACC7sDACMAQfACayIAJAAgACACNgLgAiAAIAE2AugCIABByAFqIAMgAEHgAWogAEHcAWogAEHYAWoQmwIgAEG4AWoQISIBIAEQJRAdIAAgAUEAEB4iAjYCtAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABgNAAkAgAEHoAmogAEHgAmoQVUUNACAAKAK0ASABEBggAmpGBEAgARAYIQMgASABEBhBAXQQHSABIAEQJRAdIAAgAyABQQAQHiICajYCtAELIABB6AJqEDcgAEEHaiAAQQZqIAIgAEG0AWogACgC3AEgACgC2AEgAEHIAWogAEEQaiAAQQxqIABBCGogAEHgAWoQmgINACAAQegCahA/GgwBCwsCQCAAQcgBahAYRQ0AIAAtAAdFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK0ASAEEJ0DOQMAIABByAFqIABBEGogACgCDCAEEE8gAEHoAmogAEHgAmoQQwRAIAQgBCgCAEECcjYCAAsgACgC6AIhAiABEBkaIABByAFqEBkaIABB8AJqJAAgAgu7AwAjAEHwAmsiACQAIAAgAjYC4AIgACABNgLoAiAAQcgBaiADIABB4AFqIABB3AFqIABB2AFqEJsCIABBuAFqECEiASABECUQHSAAIAFBABAeIgI2ArQBIAAgAEEQajYCDCAAQQA2AgggAEEBOgAHIABBxQA6AAYDQAJAIABB6AJqIABB4AJqEFVFDQAgACgCtAEgARAYIAJqRgRAIAEQGCEDIAEgARAYQQF0EB0gASABECUQHSAAIAMgAUEAEB4iAmo2ArQBCyAAQegCahA3IABBB2ogAEEGaiACIABBtAFqIAAoAtwBIAAoAtgBIABByAFqIABBEGogAEEMaiAAQQhqIABB4AFqEJoCDQAgAEHoAmoQPxoMAQsLAkAgAEHIAWoQGEUNACAALQAHRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCtAEgBBCeAzgCACAAQcgBaiAAQRBqIAAoAgwgBBBPIABB6AJqIABB4AJqEEMEQCAEIAQoAgBBAnI2AgALIAAoAugCIQIgARAZGiAAQcgBahAZGiAAQfACaiQAIAILngMBAn8jAEHgAmsiACQAIAAgAjYC0AIgACABNgLYAiADEIIBIQYgAyAAQeABahDTASEHIABB0AFqIAMgAEHMAmoQ0gEgAEHAAWoQISIBIAEQJRAdIAAgAUEAEB4iAjYCvAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHYAmogAEHQAmoQVUUNACAAKAK8ASABEBggAmpGBEAgARAYIQMgASABEBhBAXQQHSABIAEQJRAdIAAgAyABQQAQHiICajYCvAELIABB2AJqEDcgBiACIABBvAFqIABBCGogACgCzAIgAEHQAWogAEEQaiAAQQxqIAcQwAENACAAQdgCahA/GgwBCwsCQCAAQdABahAYRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCvAEgBCAGEJ8DNwMAIABB0AFqIABBEGogACgCDCAEEE8gAEHYAmogAEHQAmoQQwRAIAQgBCgCAEECcjYCAAsgACgC2AIhAiABEBkaIABB0AFqEBkaIABB4AJqJAAgAgueAwECfyMAQeACayIAJAAgACACNgLQAiAAIAE2AtgCIAMQggEhBiADIABB4AFqENMBIQcgAEHQAWogAyAAQcwCahDSASAAQcABahAhIgEgARAlEB0gACABQQAQHiICNgK8ASAAIABBEGo2AgwgAEEANgIIA0ACQCAAQdgCaiAAQdACahBVRQ0AIAAoArwBIAEQGCACakYEQCABEBghAyABIAEQGEEBdBAdIAEgARAlEB0gACADIAFBABAeIgJqNgK8AQsgAEHYAmoQNyAGIAIgAEG8AWogAEEIaiAAKALMAiAAQdABaiAAQRBqIABBDGogBxDAAQ0AIABB2AJqED8aDAELCwJAIABB0AFqEBhFDQAgACgCDCIDIABBEGprQZ8BSg0AIAAgA0EEajYCDCADIAAoAgg2AgALIAUgAiAAKAK8ASAEIAYQogM7AQAgAEHQAWogAEEQaiAAKAIMIAQQTyAAQdgCaiAAQdACahBDBEAgBCAEKAIAQQJyNgIACyAAKALYAiECIAEQGRogAEHQAWoQGRogAEHgAmokACACC54DAQJ/IwBB4AJrIgAkACAAIAI2AtACIAAgATYC2AIgAxCCASEGIAMgAEHgAWoQ0wEhByAAQdABaiADIABBzAJqENIBIABBwAFqECEiASABECUQHSAAIAFBABAeIgI2ArwBIAAgAEEQajYCDCAAQQA2AggDQAJAIABB2AJqIABB0AJqEFVFDQAgACgCvAEgARAYIAJqRgRAIAEQGCEDIAEgARAYQQF0EB0gASABECUQHSAAIAMgAUEAEB4iAmo2ArwBCyAAQdgCahA3IAYgAiAAQbwBaiAAQQhqIAAoAswCIABB0AFqIABBEGogAEEMaiAHEMABDQAgAEHYAmoQPxoMAQsLAkAgAEHQAWoQGEUNACAAKAIMIgMgAEEQamtBnwFKDQAgACADQQRqNgIMIAMgACgCCDYCAAsgBSACIAAoArwBIAQgBhCjAzcDACAAQdABaiAAQRBqIAAoAgwgBBBPIABB2AJqIABB0AJqEEMEQCAEIAQoAgBBAnI2AgALIAAoAtgCIQIgARAZGiAAQdABahAZGiAAQeACaiQAIAILngMBAn8jAEHgAmsiACQAIAAgAjYC0AIgACABNgLYAiADEIIBIQYgAyAAQeABahDTASEHIABB0AFqIAMgAEHMAmoQ0gEgAEHAAWoQISIBIAEQJRAdIAAgAUEAEB4iAjYCvAEgACAAQRBqNgIMIABBADYCCANAAkAgAEHYAmogAEHQAmoQVUUNACAAKAK8ASABEBggAmpGBEAgARAYIQMgASABEBhBAXQQHSABIAEQJRAdIAAgAyABQQAQHiICajYCvAELIABB2AJqEDcgBiACIABBvAFqIABBCGogACgCzAIgAEHQAWogAEEQaiAAQQxqIAcQwAENACAAQdgCahA/GgwBCwsCQCAAQdABahAYRQ0AIAAoAgwiAyAAQRBqa0GfAUoNACAAIANBBGo2AgwgAyAAKAIINgIACyAFIAIgACgCvAEgBCAGEKUDNgIAIABB0AFqIABBEGogACgCDCAEEE8gAEHYAmogAEHQAmoQQwRAIAQgBCgCAEECcjYCAAsgACgC2AIhAiABEBkaIABB0AFqEBkaIABB4AJqJAAgAgvsAQEBfyMAQSBrIgYkACAGIAE2AhgCQCADKAIEQQFxRQRAIAZBfzYCACAGIAAgASACIAMgBCAGIAAoAgAoAhARBQAiATYCGAJAAkACQCAGKAIADgIAAQILIAVBADoAAAwDCyAFQQE6AAAMAgsgBUEBOgAAIARBBDYCAAwBCyAGIAMQIiAGEFshASAGECAgBiADECIgBhDBASEAIAYQICAGIAAQcSAGQQxyIAAQcCAFIAZBGGoiAyACIAYgAyABIARBARDyASAGRjoAACAGKAIYIQEDQCADQQxrEBkiAyAGRw0ACwsgBkEgaiQAIAEL8wIBAX8jAEGQAmsiACQAIAAgAjYCgAIgACABNgKIAiAAQdABahAhIQYgAEEQaiICIAMQIiACEFxBgOkAQZrpACAAQeABahCcASACECAgAEHAAWoQISIDIAMQJRAdIAAgA0EAEB4iATYCvAEgACACNgIMIABBADYCCANAAkAgAEGIAmogAEGAAmoQVkUNACAAKAK8ASADEBggAWpGBEAgAxAYIQIgAyADEBhBAXQQHSADIAMQJRAdIAAgAiADQQAQHiIBajYCvAELIABBiAJqEDhBECABIABBvAFqIABBCGpBACAGIABBEGogAEEMaiAAQeABahDCAQ0AIABBiAJqEEAaDAELCyADIAAoArwBIAFrEB0gAxAcIQIQKSEBIAAgBTYCACACIAEgABCbA0EBRwRAIARBBDYCAAsgAEGIAmogAEGAAmoQRARAIAQgBCgCAEECcjYCAAsgACgCiAIhASADEBkaIAYQGRogAEGQAmokACABC9IDAQF+IwBBoAJrIgAkACAAIAI2ApACIAAgATYCmAIgAEHgAWogAyAAQfABaiAAQe8BaiAAQe4BahCeAiAAQdABahAhIgEgARAlEB0gACABQQAQHiICNgLMASAAIABBIGo2AhwgAEEANgIYIABBAToAFyAAQcUAOgAWA0ACQCAAQZgCaiAAQZACahBWRQ0AIAAoAswBIAEQGCACakYEQCABEBghAyABIAEQGEEBdBAdIAEgARAlEB0gACADIAFBABAeIgJqNgLMAQsgAEGYAmoQOCAAQRdqIABBFmogAiAAQcwBaiAALADvASAALADuASAAQeABaiAAQSBqIABBHGogAEEYaiAAQfABahCdAg0AIABBmAJqEEAaDAELCwJAIABB4AFqEBhFDQAgAC0AF0UNACAAKAIcIgMgAEEgamtBnwFKDQAgACADQQRqNgIcIAMgACgCGDYCAAsgACACIAAoAswBIAQQnAMgACkDACEGIAUgACkDCDcDCCAFIAY3AwAgAEHgAWogAEEgaiAAKAIcIAQQTyAAQZgCaiAAQZACahBEBEAgBCAEKAIAQQJyNgIACyAAKAKYAiECIAEQGRogAEHgAWoQGRogAEGgAmokACACC7sDACMAQZACayIAJAAgACACNgKAAiAAIAE2AogCIABB0AFqIAMgAEHgAWogAEHfAWogAEHeAWoQngIgAEHAAWoQISIBIAEQJRAdIAAgAUEAEB4iAjYCvAEgACAAQRBqNgIMIABBADYCCCAAQQE6AAcgAEHFADoABgNAAkAgAEGIAmogAEGAAmoQVkUNACAAKAK8ASABEBggAmpGBEAgARAYIQMgASABEBhBAXQQHSABIAEQJRAdIAAgAyABQQAQHiICajYCvAELIABBiAJqEDggAEEHaiAAQQZqIAIgAEG8AWogACwA3wEgACwA3gEgAEHQAWogAEEQ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AFJlY29uc3RydWN0TGluZU9mZnNldHMASW5pdFRpbGVPZmZzZXRzAHRpbmZsX2RlY29tcHJlc3MAb2Zmc2V0X2RhdGEubnVtX3hfbGV2ZWxzID09IG9mZnNldF9kYXRhLm51bV95X2xldmVscwBDYWxjdWxhdGVOdW1ZTGV2ZWxzAENhbGN1bGF0ZU51bVhMZXZlbHMAY2hhbm5lbHMAZ2V0Qnl0ZXMAbnVtX3lfdGlsZXMAbnVtX3hfdGlsZXMAQ2FsY3VsYXRlTnVtVGlsZXMAQXByAHZlY3RvcgBlcnJvcgBzY3JlZW5XaW5kb3dDZW50ZXIAaGVhZCA8IG1hcmtlcgBsaW5lT3JkZXIARVhSTG9hZGVyAENvbnZlcnRIZWFkZXIAUGFyc2VFWFJIZWFkZXIAT2N0b2JlcgBOb3ZlbWJlcgBTZXB0ZW1iZXIARGVjZW1iZXIAdW5zaWduZWQgY2hhcgBpb3NfYmFzZTo6Y2xlYXIATWFyAFNlcAAlSTolTTolUyAlcABwaXhlbEFzcGVjdFJhdGlvAFN1bgBKdW4Ac3RkOjpleGNlcHRpb24AX19jeGFfZ3VhcmRfYWNxdWlyZSBkZXRlY3RlZCByZWN1cnNpdmUgaW5pdGlhbGl6YXRpb24AY29tcHJlc3Npb24ATW9uAG5hbgBKYW4Ab2Zmc2V0cy0+c2l6ZSgpID09IG4ASnVsAGJvb2wAbGwAQXByaWwARGVjb2RlVGlsZWRMZXZlbABlbXNjcmlwdGVuOjp2YWwAb2sAcHVzaF9iYWNrAEZyaQB3aWR0aABzY3JlZW5XaW5kb3dXaWR0aABNYXJjaAAuLi8uLlx0aW55ZXhyLmgAQXVnAHVuc2lnbmVkIGxvbmcAc3RkOjp3c3RyaW5nAGJhc2ljX3N0cmluZwBzdGQ6OnN0cmluZwBzdGQ6OnUxNnN0cmluZwBzdGQ6OnUzMnN0cmluZwBpbmYAJS4wTGYAJUxmAHJlc2l6ZQBhbGxvY2F0b3I8VD46OmFsbG9jYXRlKHNpemVfdCBuKSAnbicgZXhjZWVkcyBtYXhpbXVtIHN1cHBvcnRlZCBzaXplAExldmVsU2l6ZQB0cnVlAEludmFsaWQgZGF0YSBoZWlnaHQgdmFsdWUASW52YWxpZCBkYXRhIHdpZHRoIHZhbHVlAFR1ZQBmYWxzZQB0eXBlAEp1bmUAZGVlcHNjYW5saW5lAG5hbWUAZGVlcHRpbGUAZG91YmxlAHNjYW5saW5laW1hZ2UAdGlsZWRpbWFnZQBBbGxvY2F0ZUltYWdlAFIgY2hhbm5lbCBub3QgZm91bmQARyBjaGFubmVsIG5vdCBmb3VuZABCIGNoYW5uZWwgbm90IGZvdW5kAHZvaWQAIWV4cl9oZWFkZXItPnRpbGVkAFdlZABEZWMALi4vLi4vZGVwcy9taW5pei9taW5pei5jAEZlYgBEZWNvZGVQaXhlbERhdGEAJWEgJWIgJWQgJUg6JU06JVMgJVkAUE9TSVgAcmVxdWVzdGVkX3BpeGVsX3R5cGVzW2NdID09IFRJTllFWFJfUElYRUxUWVBFX1VJTlQAcmVxdWVzdGVkX3BpeGVsX3R5cGVzW2NdID09IFRJTllFWFJfUElYRUxUWVBFX0ZMT0FUACVIOiVNOiVTAFIATkFOAFBNAEFNAExDX0FMTABMQU5HAElORgBDAEIAQQBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaG9ydD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgc2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgaW50PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxmbG9hdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGNoYXI+AHN0ZDo6YmFzaWNfc3RyaW5nPHVuc2lnbmVkIGNoYXI+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBsb25nPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+ADAxMjM0NTY3ODkAZGF0YS5zaXplKCkgPT0gOQBDLlVURi04AGwgPD0gc3RkOjpudW1lcmljX2xpbWl0czxpbnQ+OjptYXgoKSAtIHNpemUgKyAxAGRzdExlbiA+IDAAbGV2ZWwgPj0gMAAiZGlzcGxheVdpbmRvdyIgYXR0cmlidXRlIG5vdCBmb3VuZCBpbiB0aGUgaGVhZGVyLgAiY2hhbm5lbHMiIGF0dHJpYnV0ZSBub3QgZm91bmQgaW4gdGhlIGhlYWRlci4AInNjcmVlbldpbmRvd0NlbnRlciIgYXR0cmlidXRlIG5vdCBmb3VuZCBpbiB0aGUgaGVhZGVyLgAibGluZU9yZGVyIiBhdHRyaWJ1dGUgbm90IGZvdW5kIGluIHRoZSBoZWFkZXIuACJwaXhlbEFzcGVjdFJhdGlvIiBhdHRyaWJ1dGUgbm90IGZvdW5kIGluIHRoZSBoZWFkZXIuACJjb21wcmVzc2lvbiIgYXR0cmlidXRlIG5vdCBmb3VuZCBpbiB0aGUgaGVhZGVyLgAic2NyZWVuV2luZG93V2lkdGgiIGF0dHJpYnV0ZSBub3QgZm91bmQgaW4gdGhlIGhlYWRlci4AInR5cGUiIGF0dHJpYnV0ZSBub3QgZm91bmQgaW4gdGhlIGhlYWRlci4AIm5hbWUiIGF0dHJpYnV0ZSBub3QgZm91bmQgaW4gdGhlIGhlYWRlci4ASW52YWxpZCBvZmZzZXQgdGFibGUgc2l6ZS4AVW5rbm93biBjb21wcmVzc2lvbiB0eXBlLgBJbnN1ZmZpY2llbnQgZGF0YSBzaXplIGluIG9mZnNldCB0YWJsZS4AdGlsZSBoZWlnaHQgdG9vIGxhcmdlLgBkYXRhIGhlaWdodCB0b28gbGFyZ2UuAHRpbGUgd2lkdGggdG9vIGxhcmdlLgBkYXRhIHdpZHRoIHRvbyBsYXJnZS4ASW52YWxpZCBvZmZzZXQgdmFsdWUgaW4gRGVjb2RlRVhSSW1hZ2UuAENhbm5vdCByZWNvbnN0cnVjdCBsaW5lT2Zmc2V0IHRhYmxlIGluIERlY29kZUVYUkltYWdlLgAiZGF0YVdpbmRvdyIgYXR0cmlidXRlIG5vdCBmb3VuZCBpbiB0aGUgaGVhZGVyIG9yIGludmFsaWQuAFRpbGUgc2l6ZXMgd2VyZSBpbnZhbGlkLgBFWFJIZWFkZXIgdmFyaWFibGUgaXMgbm90IGluaXRpYWxpemVkLgBaRlAgY29tcHJlc3Npb24gaXMgbm90IHN1cHBvcnRlZC4ASW52YWxpZCBhcmd1bWVudCBmb3IgRGVjb2RlRVhSSW1hZ2UoKS4AKG51bGwpAEludmFsaWQgYXJndW1lbnQuIGBtZW1vcnlgIG9yIGBleHJfaGVhZGVyYCBhcmd1bWVudCBpcyBudWxsIGluIFBhcnNlRVhSSGVhZGVyRnJvbU1lbW9yeSgpAEZhaWxlZCB0byBwYXJzZSBFWFIgdmVyc2lvbi4gY29kZSgAUHVyZSB2aXJ0dWFsIGZ1bmN0aW9uIGNhbGxlZCEAZGF0YV9oZWlnaHQgPSAAdGlsZSBoZWlnaHQgPSAALCBoZWlnaHQgPSAALCBjaGFubmVscyA9IABJbWFnZSBkYXRhIHNpemUgaXMgemVybyBvciB0b28gbGFyZ2U6IHdpZHRoID0gAGRhdGFfd2l0aCBvciBkYXRhX2hlaWdodCB0b28gbGFyZ2UuIGRhdGFfd2lkdGg6IAB0aWxlIHdpdGggb3IgdGlsZSBoZWlnaHQgdG9vIGxhcmdlLiB0aWxlIHdpZHRoOiAASW52YWxpZCB0aWxlIHNpemUgeSA6IABJbnZhbGlkIHRpbGUgc2l6ZSB4IDogACwgAAMDCwBJbnZhbGlkIGRhdGEgd2luZG93LgoARmFpbGVkIHRvIGNvbXB1dGUgY2hhbm5lbCBsYXlvdXQuCgBJbnZhbGlkIGRhdGEgZm91bmQgd2hlbiBkZWNvZGluZyBwaXhlbHMuCgBJbnN1ZmZpY2llbnQgZGF0YSBzaXplIGZvciBhdHRyaWJ1dGVzLgoAIyBvZiBjaGFubmVscyBpcyB6ZXJvLgoARmFpbGVkIHRvIHBhcnNlIGNoYW5uZWwgaW5mby4KAEluc3VmZmljaWVudCBkYXRhIGxlbmd0aC4KAEluc3VmZmljaWVudCBoZWFkZXIvZGF0YSBzaXplLgoARmFpbGVkIHRv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AAQAAAAAAAAALB4AADUAAAA2AAAA/P////z///8sHgAANwAAADgAAABOU3QzX18yMTRiYXNpY19pb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQAcTgAAlB4AAAMAAAACAAAA5B0AAAIAAAAsHgAAAggAAE5TdDNfXzIxNWJhc2ljX3N0cmluZ2J1ZkljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAAAAwE0AAOQeAACsHQAAQAAAAAAAAABsIAAASAAAAEkAAAA4AAAA+P///2wgAABKAAAASwAAAMD////A////bCAAAEwAAABNAAAAQB8AAKQfAADgHwAA9B8AAAggAAAcIAAAzB8AALgfAABoHwAAVB8AAEAAAAAAAAAAxB4AADkAAAA6AAAAOAAAAPj////EHgAAOwAAADwAAADA////wP///8QeAAA9AAAAPgAAAEAAAAAAAAAA5B0AADEAAAAyAAAAwP///8D////kHQAAMwAAADQAAAA4AAAAAAAAACweAAA1AAAANgAAAMj////I////LB4AADcAAAA4AAAATlN0M19fMjE4YmFzaWNfc3RyaW5nc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TXzlhbGxvY2F0b3JJY0VFRUUAAAAAwE0AACQgAADEHgBBgMEAC9ME0XSeAFedvSqAcFIP//8+JwoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFGAAAADUAAABxAAAAa////877//+Sv///AAAAAAAAAAD/////////////////////////////////////////////////////////////////AAECAwQFBgcICf////////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI////////woLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIj/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wABAgQHAwYFAAAAAAAAAAIAAMADAADABAAAwAUAAMAG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")||(re=ie,ie=n.locateFile?n.locateFile(re,m):m+re);function de(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+e)}}var pe=void 0;function fe(e){for(var n="",t=e;T[t];)n+=pe[T[t++]];return n}var he={},Ie={},Ce={},Ee=48,me=57;function Be(e){if(void 0===e)return"_unknown";var n=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return n>=Ee&&n<=me?"_"+e:e}function Qe(e,n){return e=Be(e),new Function("body","return function "+e+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(n)}function ye(e,n){var t=Qe(n,(function(e){this.name=n,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}));return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},t}var be=void 0;function _e(e){throw new be(e)}var ke=void 0;function we(e){throw new ke(e)}function Fe(e,n,t){function a(n){var a=t(n);a.length!==e.length&&we("Mismatched type converter count");for(var i=0;i>2])}function Ze(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e}function $e(e){this.rawDestructor&&this.rawDestructor(e)}function en(e){null!==e&&e.delete()}function nn(e,n,t){if(n===t)return e;if(void 0===t.baseClass)return null;var a=nn(e,n,t.baseClass);return null===a?null:t.downcast(a)}function tn(){return Object.keys(on).length}function an(){var e=[];for(var n in on)on.hasOwnProperty(n)&&e.push(on[n]);return e}function rn(e){Oe=e,Ge.length&&Oe&&Oe(Le)}var on={};function sn(e,n){return n=function(e,n){for(void 0===n&&_e("ptr should not be undefined");e.baseClass;)n=e.upcast(n),e=e.baseClass;return n}(e,n),on[n]}function ln(e,n){return n.ptrType&&n.ptr||we("makeClassHandle requires ptr and ptrType"),!!n.smartPtrType!==!!n.smartPtr&&we("Both smartPtrType and smartPtr must be specified"),n.count={value:1},Re(Object.create(e,{$$:{value:n}}))}function An(e){var n=this.getPointee(e);if(!n)return this.destructor(e),null;var t=sn(this.registeredClass,n);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=n,t.$$.smartPtr=e,t.clone();var a=t.clone();return this.destructor(e),a}function i(){return this.isSmartPointer?ln(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:n,smartPtrType:this,smartPtr:e}):ln(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var r,o=this.registeredClass.getActualType(n),s=He[o];if(!s)return i.call(this);r=this.isConst?s.constPointerType:s.pointerType;var l=nn(n,this.registeredClass,r.registeredClass);return null===l?i.call(this):this.isSmartPointer?ln(r.registeredClass.instancePrototype,{ptrType:r,ptr:l,smartPtrType:this,smartPtr:e}):ln(r.registeredClass.instancePrototype,{ptrType:r,ptr:l})}function gn(e,n,t,a,i,r,o,s,l,A,g){this.name=e,this.registeredClass=n,this.isReference=t,this.isConst=a,this.isSmartPointer=i,this.pointeeType=r,this.sharingPolicy=o,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=A,this.rawDestructor=g,i||void 0!==n.baseClass?this.toWireType=Ve:a?(this.toWireType=Je,this.destructorFunction=null):(this.toWireType=qe,this.destructorFunction=null)}function un(e,t,a){return e.includes("j")?function(e,t,a){var i=n["dynCall_"+e];return a&&a.length?i.apply(null,[t].concat(a)):i.call(null,t)}(e,t,a):ue(t).apply(null,a)}function cn(e,n){var t=(e=fe(e)).includes("j")?function(e,n){var t=[];return function(){t.length=arguments.length;for(var a=0;a>2)+a]);return t}function In(e){for(;e.length;){var n=e.pop();e.pop()(n)}}function Cn(e,n,t,a,i){var r=n.length;r<2&&_e("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==n[1]&&null!==t,s=!1,l=1;l0?", ":"")+u),c+=(A?"var rv = ":"")+"invoker(fn"+(u.length>0?", ":"")+u+");\n",s)c+="runDestructors(destructors);\n";else for(l=o?1:2;l4&&0===--mn[e].refcount&&(mn[e]=void 0,En.push(e))}function Qn(){for(var e=0,n=5;n>2])};case 3:return function(e){return this.fromWireType(G[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function wn(e,n,t){switch(n){case 0:return t?function(e){return j[e]}:function(e){return T[e]};case 1:return t?function(e){return R[e>>1]}:function(e){return M[e>>1]};case 2:return t?function(e){return N[e>>2]}:function(e){return P[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}function Fn(e){try{return y.grow(e-x.byteLength+65535>>>16),J(y.buffer),1}catch(n){}}var vn={};function Dn(){if(!Dn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"===typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:h||"./this.program"};for(var n in vn)void 0===vn[n]?delete e[n]:e[n]=vn[n];var t=[];for(var n in e)t.push(n+"="+e[n]);Dn.strings=t}return Dn.strings}function Sn(e){return e%4===0&&(e%100!==0||e%400===0)}function xn(e,n){for(var t=0,a=0;a<=n;t+=e[a++]);return t}var jn=[31,29,31,30,31,30,31,31,30,31,30,31],Tn=[31,28,31,30,31,30,31,31,30,31,30,31];function Rn(e,n){for(var t=new Date(e.getTime());n>0;){var a=Sn(t.getFullYear()),i=t.getMonth(),r=(a?jn:Tn)[i];if(!(n>r-t.getDate()))return t.setDate(t.getDate()+n),t;n-=r-t.getDate()+1,t.setDate(1),i<11?t.setMonth(i+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t}function Mn(e,n,t,a){var i=N[a+40>>2],r={tm_sec:N[a>>2],tm_min:N[a+4>>2],tm_hour:N[a+8>>2],tm_mday:N[a+12>>2],tm_mon:N[a+16>>2],tm_year:N[a+20>>2],tm_wday:N[a+24>>2],tm_yday:N[a+28>>2],tm_isdst:N[a+32>>2],tm_gmtoff:N[a+36>>2],tm_zone:i?v(i):""},o=v(t),s={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var l in s)o=o.replace(new RegExp(l,"g"),s[l]);var A=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],g=["January","February","March","April","May","June","July","August","September","October","November","December"];function u(e,n,t){for(var a="number"===typeof e?e.toString():e||"";a.length0?1:0}var a;return 0===(a=t(e.getFullYear()-n.getFullYear()))&&0===(a=t(e.getMonth()-n.getMonth()))&&(a=t(e.getDate()-n.getDate())),a}function p(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function f(e){var n=Rn(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(n.getFullYear(),0,4),a=new Date(n.getFullYear()+1,0,4),i=p(t),r=p(a);return d(i,n)<=0?d(r,n)<=0?n.getFullYear()+1:n.getFullYear():n.getFullYear()-1}var h={"%a":function(e){return A[e.tm_wday].substring(0,3)},"%A":function(e){return A[e.tm_wday]},"%b":function(e){return g[e.tm_mon].substring(0,3)},"%B":function(e){return g[e.tm_mon]},"%C":function(e){return c((e.tm_year+1900)/100|0,2)},"%d":function(e){return c(e.tm_mday,2)},"%e":function(e){return u(e.tm_mday,2," ")},"%g":function(e){return f(e).toString().substring(2)},"%G":function(e){return f(e)},"%H":function(e){return c(e.tm_hour,2)},"%I":function(e){var n=e.tm_hour;return 0==n?n=12:n>12&&(n-=12),c(n,2)},"%j":function(e){return c(e.tm_mday+xn(Sn(e.tm_year+1900)?jn:Tn,e.tm_mon-1),3)},"%m":function(e){return c(e.tm_mon+1,2)},"%M":function(e){return c(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>=0&&e.tm_hour<12?"AM":"PM"},"%S":function(e){return c(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return e.tm_wday||7},"%U":function(e){var n=new Date(e.tm_year+1900,0,1),t=0===n.getDay()?n:Rn(n,7-n.getDay()),a=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(d(t,a)<0){var i=xn(Sn(a.getFullYear())?jn:Tn,a.getMonth()-1)-31,r=31-t.getDate()+i+a.getDate();return c(Math.ceil(r/7),2)}return 0===d(t,n)?"01":"00"},"%V":function(e){var n,t=new Date(e.tm_year+1900,0,4),a=new Date(e.tm_year+1901,0,4),i=p(t),r=p(a),o=Rn(new Date(e.tm_year+1900,0,1),e.tm_yday);return d(o,i)<0?"53":d(r,o)<=0?"01":(n=i.getFullYear()=0;return n=(n=Math.abs(n)/60)/60*100+n%60,(t?"+":"-")+String("0000"+n).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var l in h)o.includes(l)&&(o=o.replace(new RegExp(l,"g"),h[l](r)));var I=function(e,n,t){var a=t>0?t:S(e)+1,i=new Array(a),r=D(e,i,0,i.length);n&&(i.length=r);return i}(o,!1);return I.length>n?0:(function(e,n){j.set(e,n)}(I,e),I.length-1)}!function(){for(var e=new Array(256),n=0;n<256;++n)e[n]=String.fromCharCode(n);pe=e}(),be=n.BindingError=ye(Error,"BindingError"),ke=n.InternalError=ye(Error,"InternalError"),ze.prototype.isAliasOf=De,ze.prototype.clone=Me,ze.prototype.delete=Ne,ze.prototype.isDeleted=Pe,ze.prototype.deleteLater=Ue,gn.prototype.getPointee=Ze,gn.prototype.destructor=$e,gn.prototype.argPackAdvance=8,gn.prototype.readValueFromPointer=Xe,gn.prototype.deleteObject=en,gn.prototype.fromWireType=An,n.getInheritedInstanceCount=tn,n.getLiveInheritedInstances=an,n.flushPendingDeletes=Le,n.setDelayFunction=rn,dn=n.UnboundTypeError=ye(Error,"UnboundTypeError"),n.count_emval_handles=Qn,n.get_first_emval=yn;var Nn=!1;var Pn="function"===typeof atob?atob:function(e){var n,t,a,i,r,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",l="",A=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{n=s.indexOf(e.charAt(A++))<<2|(i=s.indexOf(e.charAt(A++)))>>4,t=(15&i)<<4|(r=s.indexOf(e.charAt(A++)))>>2,a=(3&r)<<6|(o=s.indexOf(e.charAt(A++))),l+=String.fromCharCode(n),64!==r&&(l+=String.fromCharCode(t)),64!==o&&(l+=String.fromCharCode(a))}while(A>r])},destructorFunction:null})},k:function(e,t,a,i,r,o,s,l,A,g,u,c,d){u=fe(u),o=cn(r,o),l&&(l=cn(s,l)),g&&(g=cn(A,g)),d=cn(c,d);var p=Be(u);!function(e,t,a){n.hasOwnProperty(e)?((void 0===a||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[a])&&_e("Cannot register public name '"+e+"' twice"),Ye(n,e,e),n.hasOwnProperty(a)&&_e("Cannot register multiple overloads of a function with the same number of arguments ("+a+")!"),n[e].overloadTable[a]=t):(n[e]=t,void 0!==a&&(n[e].numArguments=a))}(p,(function(){fn("Cannot construct "+u+" due to unbound types",[i])})),Fe([e,t,a],i?[i]:[],(function(t){var a,r;t=t[0],r=i?(a=t.registeredClass).instancePrototype:ze.prototype;var s=Qe(p,(function(){if(Object.getPrototypeOf(this)!==A)throw new be("Use 'new' to construct "+u);if(void 0===c.constructor_body)throw new be(u+" has no accessible constructor");var e=c.constructor_body[arguments.length];if(void 0===e)throw new be("Tried to invoke ctor of "+u+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(c.constructor_body).toString()+") parameters instead!");return e.apply(this,arguments)})),A=Object.create(r,{constructor:{value:s}});s.prototype=A;var c=new We(u,s,A,d,a,o,l,g),f=new gn(u,c,!0,!1,!1),h=new gn(u+"*",c,!1,!1,!1),I=new gn(u+" const*",c,!1,!0,!1);return He[e]={pointerType:h,constPointerType:I},function(e,t,a){n.hasOwnProperty(e)||we("Replacing nonexistant public symbol"),void 0!==n[e].overloadTable&&void 0!==a?n[e].overloadTable[a]=t:(n[e]=t,n[e].argCount=a)}(p,s),[f,h,I]}))},f:function(e,n,t,a,i,r){k(n>0);var o=hn(n,t);i=cn(a,i),Fe([],[e],(function(e){var t="constructor "+(e=e[0]).name;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[n-1])throw new be("Cannot register multiple constructors with identical number of parameters ("+(n-1)+") for class '"+e.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!");return e.registeredClass.constructor_body[n-1]=function(){fn("Cannot construct "+e.name+" due to unbound types",o)},Fe([],o,(function(a){return a.splice(1,0,null),e.registeredClass.constructor_body[n-1]=Cn(t,a,null,i,r),[]})),[]}))},c:function(e,n,t,a,i,r,o,s){var l=hn(t,a);n=fe(n),r=cn(i,r),Fe([],[e],(function(e){var a=(e=e[0]).name+"."+n;function i(){fn("Cannot call "+a+" due to unbound types",l)}n.startsWith("@@")&&(n=Symbol[n.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(n);var A=e.registeredClass.instancePrototype,g=A[n];return void 0===g||void 0===g.overloadTable&&g.className!==e.name&&g.argCount===t-2?(i.argCount=t-2,i.className=e.name,A[n]=i):(Ye(A,n,a),A[n].overloadTable[t-2]=i),Fe([],l,(function(i){var s=Cn(a,i,e,r,o);return void 0===A[n].overloadTable?(s.argCount=t-2,A[n]=s):A[n].overloadTable[t-2]=s,[]})),[]}))},w:function(e,n){ve(e,{name:n=fe(n),fromWireType:function(e){var n=bn.toValue(e);return Bn(e),n},toWireType:function(e,n){return bn.toHandle(n)},argPackAdvance:8,readValueFromPointer:Xe,destructorFunction:null})},i:function(e,n,t){var a=de(t);ve(e,{name:n=fe(n),fromWireType:function(e){return e},toWireType:function(e,n){return n},argPackAdvance:8,readValueFromPointer:kn(n,a),destructorFunction:null})},d:function(e,n,t,a,i){n=fe(n),-1===i&&(i=4294967295);var r=de(t),o=function(e){return e};if(0===a){var s=32-8*t;o=function(e){return e<>>s}}var l=n.includes("unsigned");ve(e,{name:n,fromWireType:o,toWireType:function(e,t){if("number"!==typeof t&&"boolean"!==typeof t)throw new TypeError('Cannot convert "'+_n(t)+'" to '+this.name);if(ti)throw new TypeError('Passing a number "'+_n(t)+'" from JS side to C/C++ side to an argument of type "'+n+'", which is outside the valid range ['+a+", "+i+"]!");return l?t>>>0:0|t},argPackAdvance:8,readValueFromPointer:wn(n,r,0!==a),destructorFunction:null})},b:function(e,n,t){var a=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][n];function i(e){var n=P,t=n[e>>=2],i=n[e+1];return new a(x,i,t)}ve(e,{name:t=fe(t),fromWireType:i,argPackAdvance:8,readValueFromPointer:i},{ignoreDuplicateRegistrations:!0})},j:function(e,n){var t="std::string"===(n=fe(n));ve(e,{name:n,fromWireType:function(e){var n,a=P[e>>2];if(t)for(var i=e+4,r=0;r<=a;++r){var o=e+4+r;if(r==a||0==T[o]){var s=v(i,o-i);void 0===n?n=s:(n+=String.fromCharCode(0),n+=s),i=o+1}}else{var l=new Array(a);for(r=0;r>2]=i,t&&a)D(n,T,r+4,i+1);else if(a)for(var o=0;o255&&(zn(r),_e("String has UTF-16 code units that do not fit in 8 bits")),T[r+4+o]=s}else for(o=0;o>2],o=r(),l=e+4,A=0;A<=i;++A){var g=e+4+A*n;if(A==i||0==o[g>>s]){var u=a(l,g-l);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),l=g+n}}return zn(e),t},toWireType:function(e,a){"string"!==typeof a&&_e("Cannot pass non-string to C++ string type "+t);var r=o(a),l=Un(4+r+n);return P[l>>2]=r>>s,i(a,l+4,r+n),null!==e&&e.push(zn,l),l},argPackAdvance:8,readValueFromPointer:Xe,destructorFunction:function(e){zn(e)}})},l:function(e,n){ve(e,{isVoid:!0,name:n=fe(n),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,n){}})},m:Bn,n:function(e){e>4&&(mn[e].refcount+=1)},g:function(e,n){var t=(e=function(e,n){var t=Ie[e];return void 0===t&&_e(n+" has unknown type "+pn(e)),t}(e,"_emval_take_value")).readValueFromPointer(n);return bn.toHandle(t)},h:function(){ae("")},q:function(e,n,t){T.copyWithin(e,n,n+t)},r:function(e){var n,t,a=T.length,i=2147483648;if((e>>>=0)>i)return!1;for(var r=1;r<=4;r*=2){var o=a*(1+.2/r);if(o=Math.min(o,e+100663296),Fn(Math.min(i,((n=Math.max(e,o))%(t=65536)>0&&(n+=t-n%t),n))))return!0}return!1},u:function(e,n){var t=0;return Dn().forEach((function(a,i){var r=n+t;N[e+4*i>>2]=r,function(e,n,t){for(var a=0;a>0]=e.charCodeAt(a);t||(j[n>>0]=0)}(a,r),t+=a.length+1})),0},v:function(e,n){var t=Dn();N[e>>2]=t.length;var a=0;return t.forEach((function(e){a+=e.length+1})),N[n>>2]=a,0},s:function(e,n,t,a){return Mn(e,n,t,a)}},Un=(function(){var e={a:Ln};function t(e,t){var a,i=e.exports;n.asm=i,J((y=n.asm.y).buffer),V=n.asm.C,a=n.asm.z,X.unshift(a),function(e){if(ee--,n.monitorRunDependencies&&n.monitorRunDependencies(ee),0==ee&&(null!==ne&&(clearInterval(ne),ne=null),te)){var t=te;te=null,t()}}()}function a(e){t(e.instance)}function i(n){return function(){if(!B&&(I||C)){if("function"===typeof fetch&&!le(ie))return fetch(ie,{credentials:"same-origin"}).then((function(e){if(!e.ok)throw"failed to load wasm binary file at '"+ie+"'";return e.arrayBuffer()})).catch((function(){return Ae(ie)}));if(u)return new Promise((function(e,n){u(ie,(function(n){e(new Uint8Array(n))}),n)}))}return Promise.resolve().then((function(){return Ae(ie)}))}().then((function(n){return WebAssembly.instantiate(n,e)})).then((function(e){return e})).then(n,(function(e){Q("failed to asynchronously prepare wasm: "+e),ae(e)}))}if(ee++,n.monitorRunDependencies&&n.monitorRunDependencies(ee),n.instantiateWasm)try{return n.instantiateWasm(e,t)}catch(r){return Q("Module.instantiateWasm callback failed with error: "+r),!1}(B||"function"!==typeof WebAssembly.instantiateStreaming||se(ie)||le(ie)||"function"!==typeof fetch?i(a):fetch(ie,{credentials:"same-origin"}).then((function(n){return WebAssembly.instantiateStreaming(n,e).then(a,(function(e){return Q("wasm streaming compile failed: "+e),Q("falling back to ArrayBuffer instantiation"),i(a)}))}))).catch(s)}(),n.___wasm_call_ctors=function(){return(n.___wasm_call_ctors=n.asm.z).apply(null,arguments)},n._malloc=function(){return(Un=n._malloc=n.asm.A).apply(null,arguments)}),zn=n._free=function(){return(zn=n._free=n.asm.B).apply(null,arguments)},Hn=n.___getTypeName=function(){return(Hn=n.___getTypeName=n.asm.D).apply(null,arguments)};n.___embind_register_native_and_builtin_types=function(){return(n.___embind_register_native_and_builtin_types=n.asm.E).apply(null,arguments)},n.dynCall_viijii=function(){return(n.dynCall_viijii=n.asm.F).apply(null,arguments)},n.dynCall_iiiiij=function(){return(n.dynCall_iiiiij=n.asm.G).apply(null,arguments)},n.dynCall_iiiiijj=function(){return(n.dynCall_iiiiijj=n.asm.H).apply(null,arguments)},n.dynCall_iiiiiijj=function(){return(n.dynCall_iiiiiijj=n.asm.I).apply(null,arguments)};function Yn(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function Wn(e){function t(){Gn||(Gn=!0,n.calledRun=!0,_||(!0,ge(X),o(n),n.onRuntimeInitialized&&n.onRuntimeInitialized(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),Z.unshift(e);var e;ge(Z)}()))}e=e||f,ee>0||(!function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),q.unshift(e);var e;ge(q)}(),ee>0||(n.setStatus?(n.setStatus("Running..."),setTimeout((function(){setTimeout((function(){n.setStatus("")}),1),t()}),1)):t()))}if(te=function e(){Gn||Wn(),Gn||(te=e)},n.run=Wn,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return Wn(),n.ready}}();e.exports=o}).call(this,"/index.js",t(30),"/",t(51).Buffer)},558:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return k}));var a=t(2),i=t.n(a),r=t(4),o=t(7),s=t(5),l=t(351),A=t(96),g=t.n(A),u=t(1),c=t(44),d=t(75),p=t(29),f=t(93),h=t(31),I=t(122),C=t(79),E=t(352),m=t(0),B=s.d.div.withConfig({displayName:"RequestLogEntryPage__Entry",componentId:"sc-cm4u5v-0"})(["display:flex;"]),Q=s.d.div.withConfig({displayName:"RequestLogEntryPage__Key",componentId:"sc-cm4u5v-1"})(["display:inline-block;font-weight:bold;width:160px;min-width:160px;text-align:right;"]),y=s.d.div.withConfig({displayName:"RequestLogEntryPage__Value",componentId:"sc-cm4u5v-2"})(["display:inline-block;margin-left:16px;"]),b=s.d.div.withConfig({displayName:"RequestLogEntryPage__InfoPanel",componentId:"sc-cm4u5v-3"})(["margin-top:14px;font-size:16px;line-height:24px;"]),_=s.d.div.withConfig({displayName:"RequestLogEntryPage__LogText",componentId:"sc-cm4u5v-4"})(["margin-top:6px;font-size:12px;line-height:16px;background:#eee;font-family:monospace;display:inline-block;white-space:pre;margin-right:32px;"]);function k(){var n=Object(f.a)().match.params.id,t=Object(l.a)(h.r,{fetchPolicy:p.c,variables:{id:n}}),a=t.data,s=t.error,A=null===a||void 0===a?void 0:a.getRequestLogEntryForId,k=Object(u.useState)(null),F=Object(o.a)(k,2),v=F[0],D=F[1],S=Object(u.useState)(void 0),x=Object(o.a)(S,2),j=x[0],T=x[1],R=Object(u.useState)(void 0),M=Object(o.a)(R,2),N=M[0],P=M[1],O=Object(u.useState)(void 0),G=Object(o.a)(O,2),L=G[0],U=G[1],z=Object(u.useState)(void 0),H=Object(o.a)(z,2),Y=H[0],W=H[1],K=Object(u.useState)(void 0),J=Object(o.a)(K,2),V=J[0],q=J[1];return Object(u.useEffect)((function(){var n=new d.a;if(null!=A&&null==v){var t=function(){var t=Object(r.a)(i.a.mark((function t(){var a,r,o,s,l,g,u,c,d,p,f;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,n.downloadBlob(A.contentBlobHash,{namePrefix:"requestLogs",tags:["requestLogs"]});case 2:if(a=t.sent,r=e.from(a).toString(),T(r),null!=(o=r.match(/graphqlHandler_event (\{.*\})/)))try{s=JSON.parse(o[1]),l=JSON.parse(s.body),q(l.query),W(JSON.stringify(l.variables))}catch(i){}if(null!=(g=r.match(/graphqlHandler_success (\{.*\})/)))try{u=JSON.parse(g[1]),console.log("m2",u),c=u.statusCode,d=u.multiValueHeaders,p={statusCode:c,multiValueHeaders:d},P(JSON.stringify(p,null," "));try{f=JSON.parse(u.body),U(JSON.stringify(f,null," "))}catch(i){}}catch(i){}case 9:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();D(t())}}),[A,v]),Object(m.jsxs)(w,{className:"RequestLogEntryPage CorpPage",children:[Object(m.jsxs)(I.a,{children:[Object(m.jsx)(c.b,{to:"/",children:"corp.finale3d.com"}),Object(m.jsx)(c.b,{to:"/requestLogs",children:"requestLogs"}),Object(m.jsx)("span",{className:"BreadCrumbEnd",children:n})]}),function(){return s?Object(m.jsx)(C.a,{children:s.message}):A?Object(m.jsx)(m.Fragment,{children:Object(m.jsxs)(b,{children:[Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"Timestamp"}),Object(m.jsx)(y,{children:g()(new Date(A.timestamp),"yyyy-mm-dd' 'HH:MM:ss Z")})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"User"}),Object(m.jsxs)(y,{children:[" ",null!=(null===(e=A.user)||void 0===e?void 0:e.email)&&Object(m.jsx)(c.b,{to:"/user/".concat(A.user.id),children:A.user.email})," "]})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"Query Hash"}),Object(m.jsx)(y,{children:A.queryHash})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"Log"}),Object(m.jsx)(y,{children:Object(m.jsx)(_,{children:j})})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"GraphQL Variables"}),Object(m.jsx)(y,{children:Object(m.jsx)(_,{children:Y})})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"GraphQL Query"}),Object(m.jsx)(y,{children:Object(m.jsx)(_,{children:V})})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"Response Headers"}),Object(m.jsx)(y,{children:Object(m.jsx)(_,{children:N})})]}),Object(m.jsxs)(B,{children:[Object(m.jsx)(Q,{children:"Response Body"}),Object(m.jsx)(y,{children:Object(m.jsx)(_,{children:L})})]})]})}):Object(m.jsx)(E.a,{size:"small"});var e}()]})}var w=Object(s.d)("div").withConfig({displayName:"RequestLogEntryPage___StyledDiv",componentId:"sc-cm4u5v-5"})(["padding-top:1rem"])}).call(this,t(51).Buffer)},75:function(e,n,t){"use strict";(function(e){t.d(n,"a",(function(){return d})),t.d(n,"b",(function(){return p}));var a=t(2),i=t.n(a),r=t(4),o=t(9),s=t(13),l=t(76),A=t(536),g=t(134),u=t(537),c=t(117);var d=function(){function n(e){if(Object(o.a)(this,n),this.gqlUrl=void 0,this.s3UrlBase=void 0,null==(e=e||"https://rgpf6lsf65.execute-api.us-west-2.amazonaws.com/prod/gql"))throw new Error("no gqlUrl");this.gqlUrl=e,this.s3UrlBase="https://finale-blobcas.s3.amazonaws.com"}return Object(s.a)(n,[{key:"downloadBlob",value:function(){var e=Object(r.a)(i.a.mark((function e(n,t){var a,r,o,s,A;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:r="".concat(this.s3UrlBase,"/").concat(n),null!=t.namePrefix&&(r="".concat(this.s3UrlBase,"/").concat(t.namePrefix,"/").concat(n)),o=null!==(a=t.retryCount)&&void 0!==a?a:10,s=0;case 4:if(!(s