<xml xmlns="https://developers.google.com/blockly/xml">
<variables>
<variable id="N+OhQF.Iia4:Zg0N)%[,">nrOfVerticalIsocurves</variable>
<variable id="`rGxYcbVI.oS!$wrnB;O">isocurveSubdivisions</variable>
<variable id="#1VT~LWG}andi//SIAde">verticalIsocurveRadius</variable>
<variable id="GM,7CmJ+1T{mog[#ic[$">downloadSTL</variable>
<variable id="=7(e`jknDQ|=M9C!RJ!9">profiles</variable>
<variable id="X#Wwsa#N(fG$9#K/+QaM">nurbsSurface</variable>
<variable id="p;`._Gi!_0FzRkUxmp[u">allIsoCurves</variable>
<variable id="D(6~p}*4[LyQm#uLmfss">hullSolids</variable>
<variable id="BTM;`6Kyoye/)kCNT`TN">i</variable>
<variable id="pxdVC9I{WZ@nr@!-C`E{">isocurvePoints</variable>
</variables>
<block type="variables_set" id="kzR5FGIm=.80e^rK{MIM" x="-3698" y="-1325">
<field name="VAR" id="N+OhQF.Iia4:Zg0N)%[,">nrOfVerticalIsocurves</field>
<value name="VALUE">
<block type="math_number" id="KM+r!C*$6,xE#H:(Gh6t">
<field name="NUM">70</field>
</block>
</value>
<next>
<block type="variables_set" id="Jq)vWOS)|58|BdWL#9IP">
<field name="VAR" id="`rGxYcbVI.oS!$wrnB;O">isocurveSubdivisions</field>
<value name="VALUE">
<block type="math_number" id=",_L]DyUR?;0:Y|/$8e1y">
<field name="NUM">41</field>
</block>
</value>
<next>
<block type="variables_set" id=",Pan_.b-oq]O-`aBm2ie">
<field name="VAR" id="#1VT~LWG}andi//SIAde">verticalIsocurveRadius</field>
<value name="VALUE">
<block type="math_number" id="Qk@!VId.,6-e7Bob)-J^">
<field name="NUM">0.1</field>
</block>
</value>
<next>
<block type="variables_set" id="F5S@x1MVhEq52aw}2GWH">
<field name="VAR" id="GM,7CmJ+1T{mog[#ic[$">downloadSTL</field>
<value name="VALUE">
<block type="logic_boolean" id="@cG1ck/WBVZe@};#m398">
<field name="BOOL">FALSE</field>
</block>
</value>
<next>
<block type="variables_set" id="Uj7cl]zU~gmEMg!EXHBk">
<field name="VAR" id="=7(e`jknDQ|=M9C!RJ!9">profiles</field>
<value name="VALUE">
<block type="lists_create_with" id="%E~Ad~t-tt!*n/UtA85m">
<mutation items="5">
</mutation>
<value name="ADD0">
<block type="bitbybit.verb.curve.ellipse.createEllipse" id="6)N5-?2?c/XNu/%wA_hc">
<value name="XAxis">
<block type="bitbybit.point.pointXYZ" id="tVCxw%xt0U_^/)8l%CSG">
<value name="X">
<block type="math_number" id="DP*w|9?y7FfDH]a_xEjX">
<field name="NUM">2</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="CTrTHC|MiG3hFKS0SJ)s">
<field name="NUM">-0.5</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="{Bj`)*/FL9iti#[VfR;-">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="YAxis">
<block type="bitbybit.point.pointXYZ" id="xID8)W~(;@_u0T98;D@U">
<value name="X">
<block type="math_number" id="L=LrWIZJES`!{_TZ/o`T">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="O%fqdd.p]TcP;^N3ufN1">
<field name="NUM">-0.5</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="|el@8GV~(RLBF+P`Q3.9">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="|j}}4X`R9)V|R)-dJnEN">
<value name="X">
<block type="math_number" id="blI3vtvOV~$r+aIrP$Bc">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="12_c9QsV0|cV97-Z=xB~">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="=~E;:d*[+1P%Mh{e4!PD">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD1">
<block type="bitbybit.verb.curve.ellipse.createEllipse" id="4[OUk1,}hFN1WHs#C~_d">
<value name="XAxis">
<block type="bitbybit.point.pointXYZ" id="i#3}5Sro~f4}j/PqB^Xx">
<value name="X">
<block type="math_number" id=",L9cT5*Zjj!wfZ{fjGBx">
<field name="NUM">2</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="?{hYO*hKVip+A7=2|9*{">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="RI~J]D%^fu=x+l%@Ma|,">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="YAxis">
<block type="bitbybit.point.pointXYZ" id="FKL)3~S%lAN|b8yE~_E3">
<value name="X">
<block type="math_number" id="G~jxJW8#MOEjy,MQ#jpU">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="{Kd5EB@{[0b,w?N-g@=i">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="__SI@iPX:d.e527%=~pj">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="27UErwEojRKfavC#Eeil">
<value name="X">
<block type="math_number" id="[xL%]WV@ia6afP1}WqWL">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="SOTV~Hb1NI:iX70J,`!{">
<field name="NUM">3</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="bMqbe[[]%d)16?KwIyRx">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD2">
<block type="bitbybit.verb.curve.ellipse.createEllipse" id=":a7}ul_TwvI![:h5*f-}">
<value name="XAxis">
<block type="bitbybit.point.pointXYZ" id="QlFJ;3|jrlO:$ZzA}Nm8">
<value name="X">
<block type="math_number" id="}4xm#`.s2!%/BdNl8I%i">
<field name="NUM">4</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="/R1=0T8n}PRfl;F!i)y5">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="{I;_~cW3Fb!TN04D_+y@">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="YAxis">
<block type="bitbybit.point.pointXYZ" id="7$r{P|jfe1?*0Ptp,Cyg">
<value name="X">
<block type="math_number" id="%8fzmRnbW}BsFQyN;EP]">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="w`RR]v1U`Lg}iXIFrY}u">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id=".tV.QEwnblsFf$Fi$4/8">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="5qa8yk^/wXunnf0Cv8Sd">
<value name="X">
<block type="math_number" id="T3I/0%A[CaKj6)s,Kp;_">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="ewf_c83c:t(Aptq=^=yd">
<field name="NUM">6</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="o-jtvJOgo{IWS{x1|3ko">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD3">
<block type="bitbybit.verb.curve.ellipse.createEllipse" id="VAc+_L2}rtHe;MuUVyCX">
<value name="XAxis">
<block type="bitbybit.point.pointXYZ" id="pyK~Bjef7q=D3{qMZ.Bg">
<value name="X">
<block type="math_number" id="w^a]$3x95cGgo09)XK6^">
<field name="NUM">1</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="L!(SnPD@wgK].{1|.q4~">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="71FIe#F-o$IJ1^#.RC+/">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="YAxis">
<block type="bitbybit.point.pointXYZ" id="v[Urz6i(yUtb)geZ!uw/">
<value name="X">
<block type="math_number" id="Q*;DDDeEX$:[JS`Kb`$Q">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="H$+Mg:vp]UjFd+JMet+k">
<field name="NUM">0</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="V86Gm44sdV3Gf4$l;Ymz">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id=",@IS{:XCd!h(Sgr|d4J/">
<value name="X">
<block type="math_number" id="iV3`a_/E^{BU2Z9k~[YU">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="duQr3Z_r(2$D:L+.xsG+">
<field name="NUM">12</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="slq=F+6A;EQ3v[Cd-M}P">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
<value name="ADD4">
<block type="bitbybit.verb.curve.ellipse.createEllipse" id="uQ@`n(SJnvGM]Uy$LExM">
<value name="XAxis">
<block type="bitbybit.point.pointXYZ" id="QPjYRjo@Ycg#gk+;z%UH">
<value name="X">
<block type="math_number" id="Am*|P+-,vX!Fl{7g{kxN">
<field name="NUM">2</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="w)]XZDSGV|:9b3Cn[+$I">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="`=*;y_d#$Z[hBK]Sa_~Q">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
<value name="YAxis">
<block type="bitbybit.point.pointXYZ" id="3QyA0r]s]jmmr(V,yhgJ">
<value name="X">
<block type="math_number" id="qZLxLvI95rz|.zljaQS-">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="/9GoW_$z?n:]ftF0x_iZ">
<field name="NUM">0.5</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="u]BdgY|~#fuWLUbz6v)y">
<field name="NUM">2</field>
</block>
</value>
</block>
</value>
<value name="Center">
<block type="bitbybit.point.pointXYZ" id="[3ZY;)mZo4[[W1|$i;`x">
<value name="X">
<block type="math_number" id="-wt;p;/Or%f)nRLnBUod">
<field name="NUM">0</field>
</block>
</value>
<value name="Y">
<block type="math_number" id="vf}s+|G.gxSPpf,v]N[-">
<field name="NUM">16</field>
</block>
</value>
<value name="Z">
<block type="math_number" id="7Zr+D^T[eROU8HC2,dgV">
<field name="NUM">0</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="V4)u%{D*$f+9cpy3vSCJ">
<field name="VAR" id="X#Wwsa#N(fG$9#K/+QaM">nurbsSurface</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.createSurfaceByLoftingCurves" id="?vb|69^V!Y8323@(Aj{]">
<value name="DegreeV">
<block type="math_number" id="[N_V5o@(UAHPI`Y67{8[">
<field name="NUM">3</field>
</block>
</value>
<value name="Curves">
<block type="variables_get" id="V?7p)BP`fX#ugvjQ`z=S">
<field name="VAR" id="=7(e`jknDQ|=M9C!RJ!9">profiles</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id=":oxp_eQ@bGwc+bHo+n+t">
<field name="VAR" id="p;`._Gi!_0FzRkUxmp[u">allIsoCurves</field>
<value name="VALUE">
<block type="bitbybit.verb.surface.isocurvesSubdivision" id="+mc{R]Vu/I1we~bYJsj-">
<value name="Surface">
<block type="variables_get" id="W.d$R.^cs_Mf-Ce0(+r5">
<field name="VAR" id="X#Wwsa#N(fG$9#K/+QaM">nurbsSurface</field>
</block>
</value>
<value name="UseV">
<block type="logic_boolean" id="G0fBLDKv6R%*7)9}pYK4">
<field name="BOOL">FALSE</field>
</block>
</value>
<value name="IncludeLast">
<block type="logic_boolean" id="I;K2HS?g:4|71}pI{F7,">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IncludeFirst">
<block type="logic_boolean" id="1(fqHLpj{E1!S?APe*4F">
<field name="BOOL">TRUE</field>
</block>
</value>
<value name="IsocurveSegments">
<block type="variables_get" id="$IvQ]GZ_9M0y0$.N3+Fi">
<field name="VAR" id="N+OhQF.Iia4:Zg0N)%[,">nrOfVerticalIsocurves</field>
</block>
</value>
</block>
</value>
<next>
<block type="variables_set" id="kK-hBDf{6hsl`}`s}zJo">
<field name="VAR" id="D(6~p}*4[LyQm#uLmfss">hullSolids</field>
<value name="VALUE">
<block type="lists_create_with" id="hbqduUd2F;Y-z0wByzP@">
<mutation items="0">
</mutation>
</block>
</value>
<next>
<block type="controls_forEach" id=";bW;c%O.x7-wxPW?=.)/">
<field name="VAR" id="BTM;`6Kyoye/)kCNT`TN">i</field>
<value name="LIST">
<block type="variables_get" id="zEy,#Jh5C4]Eaxu0k^$A">
<field name="VAR" id="p;`._Gi!_0FzRkUxmp[u">allIsoCurves</field>
</block>
</value>
<statement name="DO">
<block type="variables_set" id="W6tzT;N}L{JmQ37T*L;i">
<field name="VAR" id="pxdVC9I{WZ@nr@!-C`E{">isocurvePoints</field>
<value name="VALUE">
<block type="bitbybit.verb.curve.divideByEqualArcLengthToPoints" id="){~CHl5k1%dL^g:{/(x-">
<value name="Curve">
<block type="variables_get" id="Weej9E{+aX5.Qy2(21`D">
<field name="VAR" id="BTM;`6Kyoye/)kCNT`TN">i</field>
</block>
</value>
<value name="Subdivision">
<block type="variables_get" id="-BHQR{jPOs=AKLI)4Md7">
<field name="VAR" id="`rGxYcbVI.oS!$wrnB;O">isocurveSubdivisions</field>
</block>
</value>
</block>
</value>
<next>
<block type="lists_setIndex" id="O3_hO5U)6w%NK,rN)Bh5">
<mutation at="false">
</mutation>
<field name="MODE">INSERT</field>
<field name="WHERE">LAST</field>
<value name="LIST">
<block type="variables_get" id="Cw![+1lQk~=r=Rv$ZCDp">
<field name="VAR" id="D(6~p}*4[LyQm#uLmfss">hullSolids</field>
</block>
</value>
<value name="TO">
<block type="bitbybit.jscad.hulls.hullChain" id="Cz{lfxa;YH:_^stNxXuU">
<value name="Meshes">
<block type="bitbybit.jscad.shapes.spheresOnCenterPoints" id="Qn$qe~}Aq|Vv2C%oiaUN">
<value name="Centers">
<block type="variables_get" id="g]SP9pj8QN*!##vP;vG[">
<field name="VAR" id="pxdVC9I{WZ@nr@!-C`E{">isocurvePoints</field>
</block>
</value>
<value name="Radius">
<block type="variables_get" id="xej[Bb~B8acdccs1+*9^">
<field name="VAR" id="#1VT~LWG}andi//SIAde">verticalIsocurveRadius</field>
</block>
</value>
<value name="Segments">
<block type="math_number" id="zQ~/(=bE7:jgT1K!lXSf">
<field name="NUM">4</field>
</block>
</value>
</block>
</value>
</block>
</value>
</block>
</next>
</block>
</statement>
<next>
<block type="bitbybit.draw.drawAnyAsyncNoReturn" id="mMp3u`Cje~6feqd`lyg8">
<value name="Entity">
<block type="variables_get" id="7zg9o?#Zj[h([Fc!)3:|">
<field name="VAR" id="D(6~p}*4[LyQm#uLmfss">hullSolids</field>
</block>
</value>
<value name="Options">
<block type="bitbybit.draw.optionsSimple" id="+%KCaWn09]x2$wh`wZbS">
<value name="Colours">
<block type="colour_picker" id="2H1S7B/]`F+xgBO8VMdX">
<field name="COLOUR">#ffffff</field>
</block>
</value>
<value name="Size">
<block type="math_number" id="D`IW^d0s4uB:5NfK%+Qh">
<field name="NUM">3</field>
</block>
</value>
<value name="Opacity">
<block type="math_number" id="06{r0wF,z_Tv77}3yE]U">
<field name="NUM">1</field>
</block>
</value>
<value name="Updatable">
<block type="logic_boolean" id="Ls8gL)A^k#*a?~BAq9qp">
<field name="BOOL">FALSE</field>
</block>
</value>
</block>
</value>
<next>
<block type="controls_if" id="aBi6C;%V4=+^`SxYk9@}">
<value name="IF0">
<block type="variables_get" id="Ddf,NM}!9)nuvzR2O3ip">
<field name="VAR" id="GM,7CmJ+1T{mog[#ic[$">downloadSTL</field>
</block>
</value>
<statement name="DO0">
<block type="bitbybit.jscad.downloadSolidsSTL" id="ZbJ|gyrZ:S^Yjlp=0.(:">
<value name="Meshes">
<block type="variables_get" id="[7Srqr8|dn`Xaa(Pi-bG">
<field name="VAR" id="D(6~p}*4[LyQm#uLmfss">hullSolids</field>
</block>
</value>
<value name="FileName">
<block type="text" id=",?XA6rs7}wF$lMf3jiU$">
<field name="TEXT">bitbybit-parametric-lamp</field>
</block>
</value>
</block>
</statement>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</next>
</block>
</xml>