1 line
19 KiB
XML
1 line
19 KiB
XML
<xml version="Mixly 3.0 rc0" board="Python ESP32-S3@元控自强" shown="block"><block type="variables_set" id="3V{gc.)9?`^31Rt.3Jzd" x="-4262" y="-1482"><field name="VAR">电梯当前楼层</field><value name="VALUE"><block type="math_random" id="KFb+ZzKfzXmPD1_?OwZ-"><field name="TYPE">int</field><value name="FROM"><shadow type="math_number" id="TZWDF=xVe*l5mt=!wbIr"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="oOZ`WdfID6xyJD_HwLC_"><field name="NUM">4</field></shadow></value></block></value><next><block type="variables_set" id="b^TouYdO~F;v179R*HkY"><field name="VAR">用户所在楼层</field><value name="VALUE"><block type="math_random" id="cKa9D$i:6HE+jfYro(sW"><field name="TYPE">int</field><value name="FROM"><shadow type="math_number" id="xIMa8t+;7sL}gu``?gLO"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id="f$qBrgu@an;JQvwYx_tO"><field name="NUM">4</field></shadow></value></block></value><next><block type="variables_set" id="i7T5Y9AO.!8A`X!TnOvn"><field name="VAR">电梯状态显示</field><value name="VALUE"><block type="text" id="8+MwQP[Gn$42M#E8!yYV"><field name="TEXT">静止</field></block></value><next><block type="controls_whileUntil" id="x4F=h=1CcL[^dbzC@FNm"><field name="MODE">WHILE</field><value name="BOOL"><shadow type="logic_boolean" id="o/;_d#}UfqX77eMV)aoX"><field name="BOOL">TRUE</field></shadow></value><statement name="DO"><block type="procedures_callnoreturn" id="UVC|ZdU`w4kwa0`4iSg1"><mutation name="显示电梯状态"></mutation><next><block type="controls_if" id="S;^SeS{d#.dD2lv:UysM"><value name="IF0"><block type="logic_operation" id="a6?f@6NV2_PZX8Ec#=?G"><field name="OP">OR</field><value name="A"><block type="sensor_mixgo_button_was_pressed" id="0k8d?(680AkwUi^kQTMA"><value name="btn"><shadow type="pins_button" id="G=.NM$Q-z+4?P=VuVcK^"><field name="PIN">B1key</field></shadow></value></block></value><value name="B"><block type="sensor_mixgo_button_was_pressed" id="JzNKsSJ]+[df=Qs2e:(1"><value name="btn"><shadow type="pins_button" id="B3EP]MS(5XeZZCKK-E(B"><field name="PIN">B2key</field></shadow></value></block></value></block></value><statement name="DO0"><block type="variables_set" id="`o}KUgaVj.?SBHxQ[.v8"><field name="VAR">电梯状态显示</field><value name="VALUE"><block type="text" id="S.MmXIS4yF@4i}[kFpkD"><field name="TEXT">运行</field></block></value></block></statement><next><block type="controls_if" id="k,wnTB$0p.{G!g!o0e93"><value name="IF0"><block type="logic_compare" id="#)+traH0.}5?J1?#}pNT"><field name="OP">NEQ</field><value name="A"><block type="variables_get" id="ZpF!ZUkSKTV)~{^MVH5="><field name="VAR">电梯状态显示</field></block></value><value name="B"><block type="text" id="m#Xv5GN]#P@o#~Y{u?iG"><field name="TEXT">静止</field></block></value></block></value><statement name="DO0"><block type="controls_if" id="Slg789Q*FL_.e|X3Lpb/"><mutation elseif="1" else="1"></mutation><value name="IF0"><block type="logic_compare" id="}[tG!y:(f2sB|Y~XwH@Q"><field name="OP">GT</field><value name="A"><block type="variables_get" id="ZR.=,eai`k3-s47(~8x/"><field name="VAR">用户所在楼层</field></block></value><value name="B"><block type="variables_get" id="ulXQD-,8Ym_T|RG.M]6$"><field name="VAR">电梯当前楼层</field></block></value></block></value><statement name="DO0"><block type="variables_set" id="Z-)j.2S0y^~coDzTlG;9"><field name="VAR">电梯状态显示</field><value name="VALUE"><block type="text" id="C3#v39Y[.8A#cABgfm^v"><field name="TEXT">上行</field></block></value><next><block type="math_selfcalcu" id="R9ervoM5gj(3vOk(,lx$"><field name="OP">ADD</field><value name="A"><shadow type="variables_get" id="aL!;dx^c1gg4{7vyN@*Z"><field name="VAR">电梯当前楼层</field></shadow></value><value name="B"><shadow type="math_number" id="/;|(fv12L|#qu}R3_x3T"><field name="NUM">1</field></shadow></value><next><block type="controls_delay_new" id="ap=kis0.]])k.hwunEiA"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="l493Ehd42(DDxjN@u`XP"><field name="NUM">1</field></shadow></value></block></next></block></next></block></statement><value name="IF1"><block type="logic_compare" id="`rYoQ=6*n/{3A5{0ceY;"><field name="OP">LT</field><value name="A"><block type="variables_get" id="pM5UcA7QKTNJKylm{m{q"><field name="VAR">用户所在楼层</field></block></value><value name="B"><block type="variables_get" id="{rEHg!?,:mmQJJTY0is("><field name="VAR">电梯当前楼层</field></block></value></block></value><statement name="DO1"><block type="variables_set" id="{5H@w2|qRNHzI)1lc@m~"><field name="VAR">电梯状态显示</field><value name="VALUE"><block type="text" id="/oN?Ed31$:z[K3FJYM}L"><field name="TEXT">下行</field></block></value><next><block type="math_selfcalcu" id="/KIkM[U55T(JWxPY@;}o"><field name="OP">MINUS</field><value name="A"><shadow type="variables_get" id="vRYIq1USgRqz)Pg7af,K"><field name="VAR">电梯当前楼层</field></shadow></value><value name="B"><shadow type="math_number" id="/j9=8fI0=0Q,E0_Uz7n{"><field name="NUM">1</field></shadow></value><next><block type="controls_delay_new" id="#olC0Qs*KAy^i=xUD|C4"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id=")n|y6HFB#J7dAjBwx,Dj"><field name="NUM">1</field></shadow></value></block></next></block></next></block></statement><statement name="ELSE"><block type="variables_set" id="XiRXEn4!Ek,FG4uP*Dzy"><field name="VAR">电梯状态显示</field><value name="VALUE"><block type="text" id="J##lkQ`W9_Wypvwt(:k]"><field name="TEXT">静止</field></block></value><next><block type="procedures_callnoreturn" id=";}ElzH!S:ZSf`sO|;:Rl"><mutation name="开关门"></mutation><next><block type="variables_set" id="!2@thuvI-XGi,EqUxZ]`"><field name="VAR">用户所在楼层</field><value name="VALUE"><block type="math_random" id="rE5w93bCt3r7zJSLpANu"><field name="TYPE">int</field><value name="FROM"><shadow type="math_number" id="RN$r@HhOSmo*.C{[5P}z"><field name="NUM">1</field></shadow></value><value name="TO"><shadow type="math_number" id=")0UtLS-bp.Evv,zj:2^D"><field name="NUM">4</field></shadow></value></block></value></block></next></block></next></block></statement></block></statement></block></next></block></next></block></statement></block></next></block></next></block></next></block><block type="procedures_defnoreturn" id="EI0AEs]M99heLg:.jh2K" x="-3605" y="-1447"><field name="NAME">显示电梯状态</field><statement name="STACK"><block type="display_clear" id="$v}^9/!dlknXMV=O1IE}"><value name="boolean"><shadow type="logic_boolean" id="pp@QGkCH(PL?O613HE##"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id="yIFZ,e{?8zSHgUpYc+9D"><field name="center">True</field><value name="data"><shadow type="text" id="`kms@2.t:9NnpAC$b.Kb"><field name="TEXT">Mixly</field></shadow><block type="text_join" id="GT.em20DMiGaApLyAi0#"><value name="A"><shadow type="text" id="r,FkkB+67nR1W}5we/}E"><field name="TEXT">电梯状态:</field></shadow></value><value name="B"><shadow type="text" id="ed7ZO#Lfu4Ij^:RS-[cX"><field name="TEXT">Mixly</field></shadow><block type="variables_get" id="0l4KHGpd9L{KrUCiF6ob"><field name="VAR">电梯状态显示</field></block></value></block></value><value name="x"><shadow type="math_number" id="sMEJ17FYptNz`bdcXFZ,"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="]6/@(23!]s#OJFOl9aIE"><field name="NUM">20</field></shadow></value><value name="size"><shadow type="math_number" id="{jjBH(CF8N/c-VpWlM6F"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="2alSJWa@9!sL6Aj,VB`+"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="(P738Ibp7O0)uqMkxTH."><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="zN_e09~(eO2d1VlbPS4?"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="@2aHa}54-iR^b_/El(~)"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id=";v5$o:6jM4aenyumjK$2"><field name="center">True</field><value name="data"><shadow type="text" id="01C.^])~PZ(4baae9+le"><field name="TEXT">Mixly</field></shadow><block type="text_join" id="xTz;!(N4?6F+ksaEnEue"><value name="A"><shadow type="text" id="h)p*@7TZl`T6dtr1hu)c"><field name="TEXT">电梯楼层:</field></shadow></value><value name="B"><shadow type="text" id="ed7ZO#Lfu4Ij^:RS-[cX"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="~Bl^qQk.POnEMqW^N|V1"><value name="VAR"><shadow type="variables_get" id="WJjxPv@dgOmYJX=ShS9`"><field name="VAR">x</field></shadow><block type="variables_get" id="Q:Tn#i*6=J[U+^UvA}Jd"><field name="VAR">电梯当前楼层</field></block></value></block></value></block></value><value name="x"><shadow type="math_number" id="J*E6nX)pP9=YdJZm-SJ+"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="}$yvo.lB[aRL2#Gin7I2"><field name="NUM">60</field></shadow></value><value name="size"><shadow type="math_number" id="vcvOv!P/W-@!fw(2Nj03"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="Z*V:r1D69g2A`v;pwt{c"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="(P738Ibp7O0)uqMkxTH."><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="tsqc1o}GW}s]GB:S/U1b"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id=";yB_bHv}O55a!(vXMUf="><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_or_string_delay" id="F@8ig_Xfm1iPVjb6_5)S"><field name="center">True</field><value name="data"><shadow type="text" id="01C.^])~PZ(4baae9+le"><field name="TEXT">Mixly</field></shadow><block type="text_join" id="ghm)]XAqw-#R30*A?An2"><value name="A"><shadow type="text" id="hD6Z24}89)*)v+^8h,ou"><field name="TEXT">用户楼层:</field></shadow></value><value name="B"><shadow type="text" id="ed7ZO#Lfu4Ij^:RS-[cX"><field name="TEXT">Mixly</field></shadow><block type="number_to_text" id="t=Zv,G)Er2*iuPI{r!Of"><value name="VAR"><shadow type="variables_get" id="WJjxPv@dgOmYJX=ShS9`"><field name="VAR">x</field></shadow><block type="variables_get" id="5`8tF1Z$ny;fWM_]ZmWU"><field name="VAR">用户所在楼层</field></block></value></block></value></block></value><value name="x"><shadow type="math_number" id="?rX-A!E=KpbBxVUUD3)X"><field name="NUM">0</field></shadow></value><value name="y"><shadow type="math_number" id="lSg*k}!q2Ho2dQXI4S`U"><field name="NUM">100</field></shadow></value><value name="size"><shadow type="math_number" id="H$H;m7j1]]?vv})Cy;o!"><field name="NUM">2</field></shadow></value><value name="space"><shadow type="math_number" id="!x;4,h.WacH@x+::6ZpN"><field name="NUM">0</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="(P738Ibp7O0)uqMkxTH."><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="gCp1EXZnq2+),1mz/bH*"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="`6ZIaVC|JwMZ;Z=d^-v$"><field name="BOOL">FALSE</field></shadow></value><next><block type="onboard_tft_show_image_xy" id=")yP$wQ#Hzk:;-RuORE=Y"><value name="data"><shadow type="pins_builtinimg" id="xhA!t6Q]P_`.#V)dp[N@"><field name="PIN">object_picture.DOOR_CLOSE</field></shadow></value><value name="x"><shadow type="math_number" id="Co*8hs7qzRqHMU(}n=(o"><field name="NUM">100</field></shadow></value><value name="y"><shadow type="math_number" id="]tAd42+L6ax:Ud}!|._+"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id="@h4Ofoz*Kh~BnU9dMurl"><field name="NUM">1</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="R6K9h9n[FRogw(UdgXuS"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="Z?YAV(7^:E_SRoRtt?~0"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="b-({;}3|{slA_b4QS~L+"><field name="BOOL">TRUE</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block><block type="procedures_defnoreturn" id="v2Fg~)p~HC3t:Bi/R;*u" x="-3515" y="-1113"><field name="NAME">开关门</field><statement name="STACK"><block type="onboard_tft_show_image_xy" id="s{z$0b[^$f8SEi~e.HF["><value name="data"><shadow type="pins_builtinimg" id="{AjbcTdpJFhL0tSU=XHE"><field name="PIN">object_picture.DOOR_OPENING</field></shadow></value><value name="x"><shadow type="math_number" id="Xojkpa*~)WgwzFnseJ@L"><field name="NUM">100</field></shadow></value><value name="y"><shadow type="math_number" id="pBJnk0dNpxT8$R:`)=rX"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id="ISyrbfY/6#]kaf](`o=@"><field name="NUM">1</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="R6K9h9n[FRogw(UdgXuS"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id=")WH__pb9i)L#3K{$(Z:("><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="9VeB,_Fiz/|@*iqO88:d"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id=":MC^m?YrN^G0ezbbPzNT"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="A^kJgb+#g#wi/0D^#h~a"><field name="NUM">0.3</field></shadow></value><next><block type="onboard_tft_show_image_xy" id="-Dj.r1:`AX;d8h,UaC~w"><value name="data"><shadow type="pins_builtinimg" id="3hy:$)udZh0{@n=g/1nG"><field name="PIN">object_picture.DOOR_OPEN</field></shadow></value><value name="x"><shadow type="math_number" id="SiJc)-k#a#AyNmbmt1A9"><field name="NUM">100</field></shadow></value><value name="y"><shadow type="math_number" id="bDPbXF]xpNeLw(UGiKaF"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id="uf51=(/XSkMGXS@E^c?0"><field name="NUM">1</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="R6K9h9n[FRogw(UdgXuS"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id=".m^G)a.[Z`81`Pt9sv`{"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="L)KDD$^4YVIU#-vEX_:s"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="+YRyFf]iWI|IRD(F_}n*"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="tBc1`vN1/6.)uFZ!fmB,"><field name="NUM">1</field></shadow></value><next><block type="do_while" id="m}vftN)tu,ki6Cjp1egb"><field name="type">true</field><value name="select_data"><block type="logic_operation" id="QdS-m!h=Td(QdeSV6M|@"><field name="OP">AND</field><value name="A"><block type="logic_compare" id="#JQ8.l7UqL:jURdUHW?5"><field name="OP">LT</field><value name="A"><block type="sensor_mixgo_nova_pin_near" id="D^dTLfz+|31{/Ggki2tE"><field name="direction">l</field></block></value><value name="B"><block type="math_number" id=";_x1tK8JJ$oV;?zzGjKf"><field name="NUM">100</field></block></value></block></value><value name="B"><block type="logic_compare" id="yoq96vk#aCvUHJ^2ix^0"><field name="OP">LT</field><value name="A"><block type="sensor_mixgo_nova_pin_near" id="Y^ACVM-4ZDV8~vi{h=wn"><field name="direction">r</field></block></value><value name="B"><block type="math_number" id="q5VG8$/WZ~Tc#SKAa|{Q"><field name="NUM">100</field></block></value></block></value></block></value><next><block type="onboard_tft_show_image_xy" id="t~{vk{!i8q@4Pzw=s,NM"><value name="data"><shadow type="pins_builtinimg" id="QPkijr@!#0mf*FS];?8j"><field name="PIN">object_picture.DOOR_OPENING</field></shadow></value><value name="x"><shadow type="math_number" id="(8gIqrPin^Fae4W;EsBA"><field name="NUM">100</field></shadow></value><value name="y"><shadow type="math_number" id="Hd9ToV=RskIn:u5,|Sm|"><field name="NUM">160</field></shadow></value><value name="size"><shadow type="math_number" id="IFqWnc$0Cq/-ev[_vBcC"><field name="NUM">1</field></shadow></value><value name="VAR"><shadow type="tuple_create_with_text_return" id="R6K9h9n[FRogw(UdgXuS"><field name="TEXT">255,255,0</field></shadow><block type="display_color_seclet" id="{T,rI$[gAKOU9}hbo;sE"><field name="COLOR">#ffffff</field></block></value><value name="boolean"><shadow type="logic_boolean" id="_;L:ypIRzLKKPgh=-agS"><field name="BOOL">TRUE</field></shadow></value><next><block type="controls_delay_new" id="vosgz8q~g:`Wa|#T|u39"><field name="Time">s</field><value name="DELAY_TIME"><shadow type="math_number" id="*KV$e@p.!aD;dLy5INNy"><field name="NUM">0.3</field></shadow></value></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></xml><config>{}</config><code>aW1wb3J0IHJhbmRvbQppbXBvcnQgbWl4Z29fc2FudAppbXBvcnQgdGltZQpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfdGZ0CmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfQ0xPU0UKZnJvbSBvYmplY3RfcGljdHVyZSBpbXBvcnQgRE9PUl9PUEVOSU5HCmZyb20gb2JqZWN0X3BpY3R1cmUgaW1wb3J0IERPT1JfT1BFTgpmcm9tIG1peGdvX3NhbnQgaW1wb3J0IG9uYm9hcmRfYWxzX2wKZnJvbSBtaXhnb19zYW50IGltcG9ydCBvbmJvYXJkX2Fsc19yCgpkZWYg5pi+56S655S15qKv54q25oCBKCk6CiAgICBvbmJvYXJkX3RmdC5maWxsKDAsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlLXmoq/nirbmgIHvvJonICsg55S15qKv54q25oCB5pi+56S6LCB4PTAsIHk9MjAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuc2hvd3MoJ+eUteair+alvOWxgu+8micgKyBzdHIo55S15qKv5b2T5YmN5qW85bGCKSwgeD0wLCB5PTYwLCBzaXplPTIsIHNwYWNlPTAsIGNlbnRlcj1UcnVlLCBjb2xvcj0weGZmZmYsc3luYz1GYWxzZSkKICAgIG9uYm9hcmRfdGZ0LnNob3dzKCfnlKjmiLfmpbzlsYLvvJonICsgc3RyKOeUqOaIt+aJgOWcqOalvOWxgiksIHg9MCwgeT0xMDAsIHNpemU9Miwgc3BhY2U9MCwgY2VudGVyPVRydWUsIGNvbG9yPTB4ZmZmZixzeW5jPUZhbHNlKQogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9DTE9TRSwgeD0xMDAsIHk9MTYwLCBzaXplPTEsIGNvbG9yPTB4ZmZmZixzeW5jPVRydWUpCgpkZWYg5byA5YWz6ZeoKCk6CiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU5JTkcsIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgwLjMpCiAgICBvbmJvYXJkX3RmdC5pbWFnZShET09SX09QRU4sIHg9MTAwLCB5PTE2MCwgc2l6ZT0xLCBjb2xvcj0weGZmZmYsc3luYz1UcnVlKQogICAgdGltZS5zbGVlcCgxKQogICAgd2hpbGUgVHJ1ZToKICAgICAgICBpZiAob25ib2FyZF9hbHNfbC5wc19ubCgpIDwgMTAwIGFuZCBvbmJvYXJkX2Fsc19yLnBzX25sKCkgPCAxMDApOgogICAgICAgICAgICBicmVhawogICAgb25ib2FyZF90ZnQuaW1hZ2UoRE9PUl9PUEVOSU5HLCB4PTEwMCwgeT0xNjAsIHNpemU9MSwgY29sb3I9MHhmZmZmLHN5bmM9VHJ1ZSkKICAgIHRpbWUuc2xlZXAoMC4zKQoKCueUteair+W9k+WJjealvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUqOaIt+aJgOWcqOalvOWxgiA9IHJhbmRvbS5yYW5kaW50KDEsIDQpCueUteair+eKtuaAgeaYvuekuiA9ICfpnZnmraInCndoaWxlIFRydWU6CiAgICDmmL7npLrnlLXmoq/nirbmgIEoKQogICAgaWYgbWl4Z29fc2FudC5CMWtleS53YXNfcHJlc3NlZCgpIG9yIG1peGdvX3NhbnQuQjJrZXkud2FzX3ByZXNzZWQoKToKICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn6L+Q6KGMJwogICAgaWYg55S15qKv54q25oCB5pi+56S6ICE9ICfpnZnmraInOgogICAgICAgIGlmIOeUqOaIt+aJgOWcqOalvOWxgiA+IOeUteair+W9k+WJjealvOWxgjoKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+S4iuihjCcKICAgICAgICAgICAg55S15qKv5b2T5YmN5qW85bGCICs9IDEKICAgICAgICAgICAgdGltZS5zbGVlcCgxKQogICAgICAgIGVsaWYg55So5oi35omA5Zyo5qW85bGCIDwg55S15qKv5b2T5YmN5qW85bGCOgogICAgICAgICAgICDnlLXmoq/nirbmgIHmmL7npLogPSAn5LiL6KGMJwogICAgICAgICAgICDnlLXmoq/lvZPliY3mpbzlsYIgLT0gMQogICAgICAgICAgICB0aW1lLnNsZWVwKDEpCiAgICAgICAgZWxzZToKICAgICAgICAgICAg55S15qKv54q25oCB5pi+56S6ID0gJ+mdmeatoicKICAgICAgICAgICAg5byA5YWz6ZeoKCkKICAgICAgICAgICAg55So5oi35omA5Zyo5qW85bGCID0gcmFuZG9tLnJhbmRpbnQoMSwgNCkK</code> |