#!/opt/local/bin/ocamlrun T)*VD C 2" @(()*c( ` 5?[o n2$ ]()* ^()* ^()* ^()* ^(](]()* ^(](](](]K()* ^(](](]()* ^()* ^(](]()* ^(](](c!](cC%c!c%C +I( ] ] h ha()* &c!](c!]O(]%g ^]("g ^](!&!&&^(g ^]("g ^](!&!&&^(Y]Z(h()*VD C ] oha o2' ()*] V  ]'5?[)] h `c]cVn @ ]'(m] mh `co @2&, ,ch &)*  ]o }V5 % $)*  ]o }V5 % `(h6'h6')* _](Y]ZThY]Z(h(]]()*c _()*  ]o }V5% `()*]h `(VD C Y]ZTh2%c(,c] %l6'l6')* _](6^% ~V5&^ 0: T -T(2%] ,c %6^P(5 ^V5 ^V5%d(c(V5(5(5%()*] ] n] h ha ha(g u((m()* ^V(()* ^V((6@[6@[+ +6? + + + +livgTg>iv 6]~6]~6]~6 ]~6!]~6"]~ +^+H +9+ + :+ + ,c]i]j] + + + + +Z+4 +& + + + + +%+ ,(+ +t ++ +++++++v"+f +V+A+2 !+" + + :,+ +? + + + 6#^.  + + + + +x +l> +\ +P +G +> +2 +( + +),* +213 +79 + + +> + +BD +G +LKM02468:<>@BDFHJL_acegkmoqsuwy{}>QB9$T)*V D 2&()*|V  $eq o  n n2  n2  n n$ )*c }UH\ n^ n? T\C^ C_ C~V  C^"c C_ zUc()* "._ {V ^2$ o$ _ {V ^ 2$ o$ )* nn  , ^^$)* + + ,O |V hh$ e q oh^ ^  h   h c h $)* " ^"^ _ 2' _()*Y #Z( CyV D _([)* " ^ _ 2&)*f q zVcT5%6 @[ ^"^ _ 2&h_( _()*Y"Z( CyVD ([)* nn ? {V0^ ^"h}V I^ C^"h}V IC( {V^ ^"( {V(@[)* + ,,, +\,Ok qh {U\ ^  # zUcj {U%\ ^h ^  _h"" zUci{Vd ^h ^i _h _( )*? Oh {U\C ^ " I zUcC()*?hO }U\^ C" I zUcC()*VD C _  2&(VD C h"^ ,i &:()*( ^ @ 2&,c O &)*O :(c ^ h " ^ i  }U\^ " _  zUc()*c O }U\^ " zUc()*O :(c ^ ! ^ i  }U\^ ! _  zUc()*c O }U\^ ! zUc()* Oo }U   Oo}V5&8$% {V$h {U\n ^ n_  zUc(c }U\n ^ n_  zUc()*   Oo }V5'8$% n }U\ _  zUc()*   Oo }V5(8$%:( ^ ^ i }U\n^ _  zUc(VD C O h ^ &2%:(, %)*V D C On2&()*V/D Ch O }U\ ^ n_  zUc On2&c()*, h "^ ,h "()*O O :(c T^ n^ h  }U\^ _  zUcc  }U\^  n_  zUc(O :(c ^ ^ i  }U\^ _  zUc()*: ^ h  }U\^ Q zUc()*:(c ! ^ i  }U\! _  zUc(+ + +j + + + + + +n +I + + + + ,+Z + +6)? +=l  +  ! #&(*>9*T)*V D 2&()*VD C ( 2&5+8$%5,8$%)*V D C @ 2&(VD C 2! 8$&c()*VD C ! 2" @(c()*V D C ! 2&c()*VD C "2'()*VD C 2# &()* VVD C DC "  2# @( Uc(5-8$%)* VVD C DC " 2' Uc(5.8$%)* VVD C DC    # 2$U(5/8$%)* VV!D C DC    2   ' U(508$%)*VD C !V 2&(d()*VD C !U 2&(c()* VVD C DC "V 2' ( Ud(518$%)* VVD C DC "U 2' ( Uc(528$%)*VD C ^hyU 2&(c()*VD C yU 2&(c()*VD C D C ^(2&5?[)*VD C D C yV(2&5?[)*VD C C ^hyU2&(c()*VD C C yU2&(c()*VD C C ^(2" @(c()*VD C C yV(2" @(c()*VD C !V( 2&5?[VD C D C 2! D C @ @@(53()* VVD C DC 2" @@(Uc(548$%)* V0V)D C DC "  2# @( 2# @(  ( ()*(V D 2&556 @[)* V/V&D C DC "  @ 2'  @2'  & &)* V/V&D C DC "  @ 2'  @2'  & &)* VD VD VwC CC "5 " c @ @ @(  " c @ @ @( c @ @ @(  " c @ @ @(  " c @ @ @( c @ @ @( T-T)V&D VC C " c @ @(c @ @( i x o " 3" 3"h ')* VD V{D VrC CC "3 " c @ @ @(  " c @ @ @( c @ @ @(  " c @ @ @(  " c @ @ @( c @ @ @( T,T(V%D VC C " c @ @(c @ @( i x o " 1" 1"h ')*,, ,<! ( & )*VD C !V  @2' @2'! !@()*,hh ')*VD C !V  @2& 2&%,c %)* VVD C DC "@2' U(568$%)*, h ')*VD C !@2&()*,h &c &VD (578$%VC (588$%h&,+ + + ,7$ ,'+ ,2 ,@+ ,Q,b,t,+e ,,,,/,D,Y,,,,,,,2,I,g,+ + ,,,, "(+H    !#%')+-/24379<>=BBFHGKMOQ>)+99T)* o(az ((AZ  (('\ (5:(5;( 5<(5=(]V d] h S(l]l\h Sgd ql0ni Sg l qrl0nj Sg rl0nk S(5>8$%(+ + +c +? +4 >9?T)* ~V5?[ RyV(  2$)*5?[ RyV(  2')* ^()*h ')*] ~V5@8$%Y #cdZ(6 CyVc([)*] }V5A8$%Y   ]  cdZ(6 CyVc([)*] ~V5B8$% ')* ] ')*] }V5C8$% ] $)*h ] $8?&8?&)*](!h R !h S(8?&8?&)*] (]h  }U\R! S zUc(c?h ] }UM\R   T%TT ST TT]VdTgTe Cn I zUc] CyV(C]h Ic ] }U\R " \x#-Tr  #g\CSgnCSTgg\CSgtCSTV ]VCST7l\CSgd ql0nCSg l qrl0nCSg rl0nCSTg\CSCS zUac(]Cha]CnI]Cha]CnI(]CnI()*V?D Ch?h? +89 "C]p Cn] ]h ha]?  +89 "(5D()*c ] }U\R ! zUc()* ]o }U  ]o}V5E8$%a()*  ]o }V5F8$% `()*  ]o }V5G8$%] h a(] ] h ha()*] h `(+ + + + +T +/ + + +V +J +? +! + + ,+ + ,+ ++b +1 +$ +     "$&(*>9HT!?[V +?&c&)* ^c(c] D Ch] D C iv lqph? +lllllllllllllllllllll6I? +6J    "$&(*,.044886=?> "9KT})* {Vc^ $1 \g\"" 2&\ " 2& 2&\ " 2&" D C !"l 2&()*] ,cl &)* ^ ({ "  o8H#@(  h!   o 8H#@()* ~V(^ _: TeTd0`T[{SS@ W@@@@DDDD@@@@@DD@@DDDD@DDDD@D@@DDD@@@DDDD@@@@@DD@@DDDD@DDDD@D@@DDDT T`( 2&)*,j] &)* ~V5?[ ^yV   2' ^yV(  2'  2')* ,] ' ({5L6 @[g}(g)()*Dh C 8$/$)*E Dn}V " DC8$?  Dn J()*Dh C $)*] Dn E }V "DCh 8H  J()*h}U h}U ]o }V5M8$! Dn E }V "DC  8H  J()*D E ~Vd " C_ J()*E ? T\Cjp ICDn}Uc7K C}V7KDn|V7K IT5N8$!C] Dhh C8H ICK(c JF IC] K(c J(D()*D ~V5O8$% C^()*   Do }V5P8$%] hC8H (Dh C8H'dT8K }V7KT ] h >(+ + + +} +t +k +X + + + +n +]+4 +! + + + +  +   >9QT ~Vc( R % 8Q"2%0443  $)*8Q"1%)* "4%)* !4%4%)*8$J! ] ,c% ( +& ~V 8Q! 8Q! % R % 8Q"2%0443  $)* 8Q"1%)*h " 8Q"4%)*c !8Q"4%4%)*8$J! ] 8Q! ,uc% 8$&8$& ~Vc( R % 8$-"2%0443  $)*8$."1%)* "4%)* !4%8$+!4%)*8$J! ] ,c%  @&)*R  T.W"TT  2+( 3& 2& 8$!&F8$!T   ^ &   #&c  i8H"&6R 8?!8$"6S8$"&sT5T 8H!8$"6U8$"yV  &   "& &   ^&   ln#&   ^b&)* '   ^{&)*R  WTWXX___c____________________________lp_ttt____x_________________lpttt____(_____ %T'6V&T]T-TER  T+W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!T &+ (TT+(R  T+W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!T &+(R  T+W!!%%%%%%%%%%%!%%%%!%%%%%!%%%%%!%%!T+$(+( +(& +( +c( +7( +(+()*, h & )*N n ^P(gu ] _ ^P()* }V8Q%R * 8Q"2&VD C 8$!8Q"2&&)*V o 8Q! ,89! & o 8H')*! D C]hl $ )* yV( |V 8H' 8H" V h  8H T  o  8H ()*] ~Vh@(R 1:  ]o8H#]O@(-i2& 2&,Ydh"Z(6 CyVc &[)* ]o 8H#6W8$"8$%+ + +6 + + + +^ + +n +c += ++   > 9XT)*c ^ ^()* ^(+ + @9YTd](](](](](DڰFڰ'ri0T EڰTYπCڰ TVl Td(e(f(g(Ш V pTd(e(f(g(5Z?6[ @6\8Y"+ + + + + +} +t >9]TC](](](]()*VCT5^ EDC`()*VCT5_ EDC`(+ + + + +  +>9`T ](](]()*a(](](](] (] ()* ^ ()* ^ (] (](](](](](](](](](](](](]()* ^()* ^()* _()* _(]()* ` ()* ^!(]"(]#(]$()* _%()* _&()* `'()* `((])(]*()* `+()* `,(]-(].(]/(]0(]1(]2(]3(]4(]5(]6(]7(]8(]9(]:()* ^;(]<(]=(]>(]?(]@()* `A()* `B(]C(5a(5b(W 5c(5d(5e(5f(89 "%VD 5gT 2!6h8$" C8$&5i(,5j !8$"6k8$&W 5l(5m(5n(5o(5p(VW 5q(5r(5s(C8$!6t8$&W d(e(g(W#'+/37;?CGKOSW[_cgko5u(5v(5w(5x(5y(5z(5{(5|(5}(5~(5(5(5(5(5(5(5(5(5(5(5(5(5(W #'+/37;?CGKOSW[_cgkc(d(e(f(g(g(g(g(g(g (g (g (g (g (g(g(g(g(g(g(gd(ge(gf(W!%)-159=AEIMQUY]ae5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(5(W cTdTeTfT gT gTgT ]D(W "&*.gT%gT!gTgTgTgTgT gT gTgT ]E()*6!8Y" ]F(W cTdTeT]G(dTc]H(]I()* !'+ +6']J( +6']K( 58$!TW cT dTeTfT%+ +6')* !^L()* !^M()* !^N()* !^O()* !^P()* !^Q(W !%c(d(e(f(g(g(g(g(g(g!]R hzV 58$%d(g#]R(W g T g"T g$Tg%T ]R  5@[hz(VCW dTeTgTCtID2%(c? , !C(W!%)-159=AEIMQgXTAgYT=gZT9g[T5g\T1g]T-g^T)g_T%g`T!gaTgbTgcTgdTgeT gfT ggTghT ]S(g]Thz(W##'+/37;?CGKOSW[_cgkosw{gdTgeTgfTggT}ghTygiTugjTqgkTmglTigmTegnTagoT]gpTYgqTUgrTQgsTMgtTIguTEgvTAgwT=gxT9gyT5gzT1gT-gT)gT%gT!g,TgTgTgTgT gT gTg{T ]T(]U( +6']V( +6']W( +6']X( +6']Y( +6']Z( +6'][( +6']\( +6']]( +6']^()* !'+ +6' < TrW !%)g (g (g(g(g(g(g(g(g(>W  $(,04c(d(e(f(g(g(g(g(g(g (g (g (5@[]_( +6')*68Y" ^`(VC68Y"c]a(c]b(]c( +6']d( +6']e( +6']f( +6']g(! +6')*?TW cTdTeT hzV 5@[d $ ]h( +6']i( +6'6!8Y"h]j(!]k(!]l(%VW c(d(e(C(68Y"h]m(dTc]n(W #'+/37;?CGKOSW[_cgkcTVdTSeTPfTMgTIgTEgTAgT=gT9g T5g T1g T-g T)g T%gT!gTgTgTgTgT gdT geTgfT ]o(dI]p()*dI ^q()*dI ^r()* VC VCVCVCVC V C V CVCVCiI   b s(dIO68Y" ^tC89!8* !(C @I()* !8Y"h %c] 68X#(cihjllll lllijl6?6?6? + +h?h?h?h?h?h? + +z+'+++ + +o +_ +D +< +1 +&++++ +++y+e+Q +3 + +#+ !+l!+M"+9#+%$+%+&+'+(+)+ + + + +m0+ + + + + + + ++|+m8+Z9+$;+ + +>+ + +T + +n + + + + + +{ +L +1 +!    + + + + + +!# + +')+ + +% + + +| +s +j +a +X +O +F += +4 ++ +" + + + + + + + +EGIKPOQ + +WY[ + +} +n`bdfhjlnpruwy{} +6 +) + + + + + + + + + + + + + + + + +| +p +c +Y +P +G +> +5 +& + + +>^9T 58`!c8]%7K8! chhhhhhhhh8 58!5h8`"+89!c8!:9c8$P!:9dlllablgldlllablglutcaml_alloc_dummycaml_update_dummycaml_array_get_addrcaml_array_get_floatcaml_array_getcaml_array_set_addrcaml_array_set_floatcaml_array_setcaml_array_unsafe_get_floatcaml_array_unsafe_getcaml_array_unsafe_set_addrcaml_array_unsafe_set_floatcaml_array_unsafe_setcaml_make_vectcaml_make_arraycaml_comparecaml_equalcaml_notequalcaml_lessthancaml_lessequalcaml_greaterthancaml_greaterequalcaml_output_valuecaml_output_value_to_stringcaml_output_value_to_buffercaml_format_floatcaml_float_of_stringcaml_int_of_floatcaml_float_of_intcaml_neg_floatcaml_abs_floatcaml_add_floatcaml_sub_floatcaml_mul_floatcaml_div_floatcaml_exp_floatcaml_floor_floatcaml_fmod_floatcaml_frexp_floatcaml_ldexp_floatcaml_log_floatcaml_log10_floatcaml_modf_floatcaml_sqrt_floatcaml_power_floatcaml_sin_floatcaml_sinh_floatcaml_cos_floatcaml_cosh_floatcaml_tan_floatcaml_tanh_floatcaml_asin_floatcaml_acos_floatcaml_atan_floatcaml_atan2_floatcaml_ceil_floatcaml_eq_floatcaml_neq_floatcaml_le_floatcaml_lt_floatcaml_ge_floatcaml_gt_floatcaml_float_comparecaml_classify_floatcaml_gc_statcaml_gc_quick_statcaml_gc_counterscaml_gc_getcaml_gc_setcaml_gc_minorcaml_gc_majorcaml_gc_full_majorcaml_gc_major_slicecaml_gc_compactioncaml_hash_univ_paramcaml_input_valuecaml_input_value_from_stringcaml_marshal_data_sizecaml_int_comparecaml_int_of_stringcaml_format_intcaml_int32_negcaml_int32_addcaml_int32_subcaml_int32_mulcaml_int32_divcaml_int32_modcaml_int32_andcaml_int32_orcaml_int32_xorcaml_int32_shift_leftcaml_int32_shift_rightcaml_int32_shift_right_unsignedcaml_int32_of_intcaml_int32_to_intcaml_int32_of_floatcaml_int32_to_floatcaml_int32_comparecaml_int32_formatcaml_int32_of_stringcaml_int32_bits_of_floatcaml_int32_float_of_bitscaml_int64_negcaml_int64_addcaml_int64_subcaml_int64_mulcaml_int64_divcaml_int64_modcaml_int64_andcaml_int64_orcaml_int64_xorcaml_int64_shift_leftcaml_int64_shift_rightcaml_int64_shift_right_unsignedcaml_int64_of_intcaml_int64_to_intcaml_int64_of_floatcaml_int64_to_floatcaml_int64_of_int32caml_int64_to_int32caml_int64_of_nativeintcaml_int64_to_nativeintcaml_int64_comparecaml_int64_formatcaml_int64_of_stringcaml_int64_bits_of_floatcaml_int64_float_of_bitscaml_nativeint_negcaml_nativeint_addcaml_nativeint_subcaml_nativeint_mulcaml_nativeint_divcaml_nativeint_modcaml_nativeint_andcaml_nativeint_orcaml_nativeint_xorcaml_nativeint_shift_leftcaml_nativeint_shift_rightcaml_nativeint_shift_right_unsignedcaml_nativeint_of_intcaml_nativeint_to_intcaml_nativeint_of_floatcaml_nativeint_to_floatcaml_nativeint_of_int32caml_nativeint_to_int32caml_nativeint_comparecaml_nativeint_formatcaml_nativeint_of_stringcaml_ml_open_descriptor_incaml_ml_open_descriptor_outcaml_ml_out_channels_listcaml_channel_descriptorcaml_ml_close_channelcaml_ml_channel_sizecaml_ml_channel_size_64caml_ml_set_binary_modecaml_ml_flush_partialcaml_ml_flushcaml_ml_output_charcaml_ml_output_intcaml_ml_output_partialcaml_ml_outputcaml_ml_seek_outcaml_ml_seek_out_64caml_ml_pos_outcaml_ml_pos_out_64caml_ml_input_charcaml_ml_input_intcaml_ml_inputcaml_ml_seek_incaml_ml_seek_in_64caml_ml_pos_incaml_ml_pos_in_64caml_ml_input_scan_linecaml_lex_enginecaml_new_lex_enginecaml_md5_stringcaml_md5_chancaml_get_global_datacaml_get_section_tablecaml_reify_bytecodecaml_realloc_globalcaml_get_current_environmentcaml_invoke_traced_functioncaml_static_alloccaml_static_freecaml_static_release_bytecodecaml_static_resizecaml_obj_is_blockcaml_obj_tagcaml_obj_set_tagcaml_obj_blockcaml_obj_dupcaml_obj_truncatecaml_lazy_follow_forwardcaml_lazy_make_forwardcaml_get_public_methodcaml_parse_enginecaml_install_signal_handlercaml_ml_string_lengthcaml_create_stringcaml_string_getcaml_string_setcaml_string_equalcaml_string_notequalcaml_string_comparecaml_string_lessthancaml_string_lessequalcaml_string_greaterthancaml_string_greaterequalcaml_blit_stringcaml_fill_stringcaml_is_printablecaml_bitvect_testcaml_sys_exitcaml_sys_opencaml_sys_closecaml_sys_file_existscaml_sys_removecaml_sys_renamecaml_sys_chdircaml_sys_getcwdcaml_sys_getenvcaml_sys_get_argvcaml_sys_system_commandcaml_sys_timecaml_sys_random_seedcaml_sys_get_configcaml_sys_read_directorycaml_terminfo_setupcaml_terminfo_backupcaml_terminfo_standoutcaml_terminfo_resumecaml_register_named_valuecaml_weak_createcaml_weak_setcaml_weak_getcaml_weak_get_copycaml_weak_checkcaml_final_registercaml_final_releasecaml_ensure_stack_capacitycaml_dynlink_open_libcaml_dynlink_close_libcaml_dynlink_lookup_symbolcaml_dynlink_add_primitivecaml_dynlink_get_current_libsml_glFlushml_glFinishml_glEnableml_glDisableml_glIsEnabledml_glClearml_glClearDepthml_glClearIndexml_glClearStencilml_glClearColorml_glClearAccumml_glutMainLoopml_glutPostRedisplayml_glutSwapBuffersml_glutCreateSubWindowml_glutDestroyWindowml_glutGetWindowml_glutSetWindowml_glutSetWindowTitleml_glutSetIconTitleml_glutPositionWindowml_glutReshapeWindowml_glutPopWindowml_glutPushWindowml_glutIconifyWindowml_glutShowWindowml_glutHideWindowml_glutFullScreenml_glutEstablishOverlayml_glutRemoveOverlayml_glutPostOverlayRedisplayml_glutShowOverlayml_glutHideOverlayml_glutDestroyMenuml_glutGetMenuml_glutSetMenuml_glutAddMenuEntryml_glutAddSubMenuml_glutChangeToMenuEntryml_glutChangeToSubMenuml_glutRemoveMenuItemml_glutSetColorml_glutGetColorml_glutCopyColormapml_glutExtensionSupportedml_glutGetModifiersml_glutWireSphereml_glutSolidSphereml_glutWireConeml_glutSolidConeml_glutWireCubeml_glutSolidCubeml_glutWireTorusml_glutSolidTorusml_glutWireDodecahedronml_glutSolidDodecahedronml_glutWireTeapotml_glutSolidTeapotml_glutWireOctahedronml_glutSolidOctahedronml_glutWireTetrahedronml_glutSolidTetrahedronml_glutWireIcosahedronml_glutSolidIcosahedronml_glutGameModeStringml_glutEnterGameModeml_glutLeaveGameModeml_glutInitDisplayStringml_glutWarpPointerml_glutPostWindowRedisplayml_glutPostWindowOverlayRedisplayml_glutForceJoystickFuncml_glutSetupVideoResizingml_glutStopVideoResizingml_glutVideoResizeml_glutVideoPanml_glutReportErrorsml_glutGameModeGetml_glutVideoResizeGetml_glutJoystickFuncml_glutSetKeyRepeatml_glutIgnoreKeyRepeatml_glutSpecialUpFuncml_glutKeyboardUpFuncml_glutWindowStatusFuncml_glutStrokeLengthml_glutBitmapLengthml_glutStrokeWidthml_glutStrokeCharacterml_glutBitmapWidthml_glutBitmapCharacterml_glutLayerGetml_glutDeviceGetml_glutGetml_glutOverlayDisplayFuncml_glutMenuStatusFuncml_glutTabletButtonFuncml_glutTabletMotionFuncml_glutDialsFuncml_glutButtonBoxFuncml_glutSpaceballButtonFuncml_glutSpaceballRotateFuncml_glutSpaceballMotionFuncml_glutSpecialFuncml_glutMenuStateFuncml_glutTimerFuncml_glutIdleFuncml_glutSetIdleFuncToNullml_glutVisibilityFuncml_glutEntryFuncml_glutPassiveMotionFuncml_glutMotionFuncml_glutMouseFuncml_glutKeyboardFuncml_glutReshapeFuncml_glutDisplayFuncml_glutDetachMenuml_glutAttachMenuml_glutCreateMenuml_glutUseLayerml_glutSetCursorml_glutCreateWindowml_glutInitWindowSizeml_glutInitWindowPositionbytecode_glutInitDisplayModeml_glutInit iP,-Out_of_memory)Sys_error'Failure0Invalid_argument+End_of_file0Division_by_zero)Not_found-Match_failure.Stack_overflow.Sys_blocked_io.Assert_failure:Undefined_recursive_module,really_input%input@F@@G@&outputACDF@ACDG@%%.12g!."%d%false$true.bool_of_string$true%false+char_of_int/Pervasives.Exit_j_j_j_j_j_j<5Pervasives.do_at_exit@(array.mlD*Array.blit*Array.fill)Array.sub,Array.Bottom@(List.nth#nth)List.map2*List.iter2/List.fold_left20List.fold_right2-List.for_all2,List.exists2@@,List.combine'list.mlK-List.rev_map2"tl"hd@"\'"\\"\n"\t(Char.chr@5String.rcontains_from4String.contains_from2String.rindex_from1String.index_from +String.blit+String.fill*String.sub@)Sys.Break&3.08.2@)buffer.mliI4Buffer.add_substring>Buffer.add: cannot grow buffer*Buffer.nth*Buffer.sub@!'!'!"!"!%3printf: bad format @@*Gl.GLerror 'glerror@ ? ?@'VISIBLE+NOT_VISIBLE&HIDDEN.FULLY_RETAINED2PARTIALLY_RETAINED-FULLY_COVERED ", " ]"[ ,ACTIVE_SHIFT+ACTIVE_CTRL*ACTIVE_ALT"UP$DOWN+LEFT_BUTTON-MIDDLE_BUTTON,RIGHT_BUTTON,OTHER_BUTTON2CURSOR_RIGHT_ARROW1CURSOR_LEFT_ARROW+CURSOR_INFO.CURSOR_DESTROY+CURSOR_HELP,CURSOR_CYCLE,CURSOR_SPRAY+CURSOR_WAIT+CURSOR_TEXT0CURSOR_CROSSHAIR.CURSOR_UP_DOWN1CURSOR_LEFT_RIGHT/CURSOR_TOP_SIDE2CURSOR_BOTTOM_SIDE0CURSOR_LEFT_SIDE1CURSOR_RIGHT_SIDE6CURSOR_TOP_LEFT_CORNER7CURSOR_TOP_RIGHT_CORNER:CURSOR_BOTTOM_RIGHT_CORNER9CURSOR_BOTTOM_LEFT_CORNER.CURSOR_INHERIT+CURSOR_NONE5CURSOR_FULL_CROSSHAIR&KEY_F1&KEY_F2&KEY_F3&KEY_F4&KEY_F5&KEY_F6&KEY_F7&KEY_F8&KEY_F9'KEY_F10'KEY_F11'KEY_F12(KEY_LEFT&KEY_UP)KEY_RIGHT(KEY_DOWN+KEY_PAGE_UP-KEY_PAGE_DOWN(KEY_HOME'KEY_END*KEY_INSERT0glutJoystickFunc1glutSpecialUpFunc2glutKeyboardUpFunc 0invalid value in glutWindowStatus ocaml callback4glutWindowStatusFunc !unexpected value in layerGetInUse;in layerGet OVERLAY_DAMAGED6glutOverlayDisplayFunc2glutMenuStatusFunc4glutTabletButtonFunc4glutTabletMotionFunc-glutDialsFunc1glutButtonBoxFunc7glutSpaceballButtonFunc7glutSpaceballRotateFunc7glutSpaceballMotionFunc/glutSpecialFunc5key in special_of_int1glutMenuStateFunc3ocaml_glutTimerFunc2ocaml_glutIdleFunc2glutVisibilityFunc-glutEntryFunc5glutPassiveMotionFunc.glutMotionFunc-glutMouseFunc:istate in mouse_cb_wrapper0glutKeyboardFunc/glutReshapeFunc/glutDisplayFunc4ocaml_glutCreateMenu'add_arg.ocaml_%s_cb_%i,Glut.BadEnum1Glut.InvalidState4Glut.OverlayNotInUse@\qc@+OpenGL Demo ? ?333333 ?@@OnM@@%ArrayAj@@$BaseA@AB@&BufferAQ@@(CallbackAY@AC@$CharA@@"GlA]@A@'GlClearA`@@$GlutA@A@$ListAy@BCD@*PervasivesAd@@&PrintfAX@A@(Std_exitA@@&StringAH@AB@#SysAK@P-Match_failureCG@ACEQ-Out_of_memoryC@@R0Invalid_argumentCC@AS'FailureCB@T)Not_foundCF@AU)Sys_errorCA@BCV+End_of_fileCD@W0Division_by_zeroCE@AX.Stack_overflowCH@Y.Sys_blocked_ioCI@AZ.Assert_failureCJ@[:Undefined_recursive_moduleCK@ABCDF}<%Array0ݖecV6ғ@<&Printf0x~7>ъ젠$Char0  ՅF/Na&Buffer0EfF}P__*Pervasives0qE;&XF rt&String0)+-,{K:}$Glut0P_6y^w$List0Z25kя`aӠ#Sys0w BUi]xA֠(Callback0q+.=f 12vo˛'GlClear05$_NJA(Std_exit0̬Q ;M27#Obj0t~'"Gl0(g