2025-01-14 15:36:36 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								-- Generated by Haxe 4.3.6 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_hidden  =  { __id__ = true ,  hx__closures = true ,  super = true ,  prototype = true ,  __fields__ = true ,  __ifields__ = true ,  __class__ = true ,  __properties__ = true ,  __fields__ = true ,  __name__ = true } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_array_mt  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    __newindex  =  function ( t , k , v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  len  =  t.length 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        t.length  =   k  >=  len  and  ( k  +  1 )  or  len 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rawset ( t , k , v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_is_array ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  type ( o )  ==  " table " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        and  o.__enum__  ==  nil 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        and  getmetatable ( o )  ==  _hx_array_mt 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_tab_array ( tab ,  length ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    tab.length  =  length 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  setmetatable ( tab ,  _hx_array_mt ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_print_class ( obj ,  depth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  first  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  result  =  ' ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    for  k , v  in  pairs ( obj )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  _hx_hidden [ k ]  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  first  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                first  =  false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                result  =  result  ..  ' ,  ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  _hx_hidden [ k ]  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                result  =  result  ..  k  ..  ' : '  ..  _hx_tostring ( v ,  depth + 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  ' {  '  ..  result  ..  '  } ' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_print_enum ( o ,  depth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  o.length  ==  2  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  o [ 0 ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  str  =  o [ 0 ]  ..  " ( " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        for  i  =  2 ,  ( o.length - 1 )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  i  ~=  2  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                str  =  str  ..  " , "  ..  _hx_tostring ( o [ i ] ,  depth + 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                str  =  str  ..  _hx_tostring ( o [ i ] ,  depth + 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  str  ..  " ) " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_tostring ( obj ,  depth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  depth  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        depth  =  0 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  depth  >  5  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  " <...> " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  tstr  =  _G.type ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  tstr  ==  " string "  then  return  obj 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " nil "  then  return  " null " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " number "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  obj  ==  _G.math . POSITIVE_INFINITY  then  return  " Infinity " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  obj  ==  _G.math . NEGATIVE_INFINITY  then  return  " -Infinity " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  obj  ==  0  then  return  " 0 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  obj  ~=  obj  then  return  " NaN " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else  return  _G.tostring ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " boolean "  then  return  _G.tostring ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " userdata "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  mt  =  _G.getmetatable ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  mt  ~=  nil  and  mt.__tostring  ~=  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  _G.tostring ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <userdata> " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " function "  then  return  " <function> " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " thread "  then  return  " <thread> " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  tstr  ==  " table "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  obj.__enum__  ~=  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  _hx_print_enum ( obj ,  depth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  obj.toString  ~=  nil  and  not  _hx_is_array ( obj )  then  return  obj : toString ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  _hx_is_array ( obj )  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  obj.length  >  5  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  " [...] " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                local  str  =  " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                for  i = 0 ,  ( obj.length - 1 )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    if  i  ==  0  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        str  =  str  ..  _hx_tostring ( obj [ i ] ,  depth + 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        str  =  str  ..  " , "  ..  _hx_tostring ( obj [ i ] ,  depth + 1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return  " [ "  ..  str  ..  " ] " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  obj.__class__  ~=  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  _hx_print_class ( obj ,  depth ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            local  buffer  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            local  ref  =  obj 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  obj.__fields__  ~=  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                ref  =  obj.__fields__ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            for  k , v  in  pairs ( ref )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  _hx_hidden [ k ]  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    _G.table . insert ( buffer ,  _hx_tostring ( k ,  depth + 1 )  ..  '  :  '  ..  _hx_tostring ( obj [ k ] ,  depth + 1 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " {  "  ..  table.concat ( buffer ,  " ,  " )  ..  "  } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _G.error ( " Unknown Lua type " ,  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  " " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  function  _hx_obj_newindex ( t , k , v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    t.__fields__ [ k ]  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    rawset ( t , k , v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_obj_mt  =  { __newindex = _hx_obj_newindex ,  __tostring = _hx_tostring } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  function  _hx_a ( ... ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  __fields__  =  { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  { __fields__  =  __fields__ } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  max  =  select ( ' # ' , ... ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tab  =  { ... } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  cur  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  while  cur  <  max  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  tab [ cur ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    __fields__ [ v ]  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret [ v ]  =  tab [ cur + 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cur  =  cur  +  2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  setmetatable ( ret ,  _hx_obj_mt ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  function  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  setmetatable ( { __fields__  =  { } } ,  _hx_obj_mt ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  function  _hx_o ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  setmetatable ( obj ,  _hx_obj_mt ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  function  _hx_new ( prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  setmetatable ( { __fields__  =  { } } ,  { __newindex = _hx_obj_newindex ,  __index = prototype ,  __tostring = _hx_tostring } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function  _hx_field_arr ( obj ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  res  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  idx  =  0 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    if  obj.__fields__  ~=  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        obj  =  obj.__fields__ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    for  k , v  in  pairs ( obj )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  _hx_hidden [ k ]  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            res [ idx ]  =  k 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            idx  =  idx  +  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_tab_array ( res ,  idx ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hxClasses  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Int  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Dynamic  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Float  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Bool  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Class  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Enum  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_exports  =  _hx_exports  or  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_exports [ " xrfragment " ]  =  _hx_exports [ " xrfragment " ]  or  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Array  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__lua_lib_lrexlib_Rex  =  _G.require ( " rex_pcre2 " ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__lua_lib_luautf8_Utf8  =  _G.require ( " lua-utf8 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  EReg  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Math  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Reflect  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  String  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  Std  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								local  StringBuf  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								local  StringTools  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_IMap  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Log  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_ds_List  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_StringMap  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_UserData  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Lib  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Thread  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter  =  _hx_e ( ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Parser  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF  =  _hx_e ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_bind ,  _hx_bit ,  _hx_staticToInstance ,  _hx_funcToField ,  _hx_maxn ,  _hx_print ,  _hx_apply_self ,  _hx_box_mr ,  _hx_bit_clamp ,  _hx_table ,  _hx_bit_raw 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_pcall_default  =  { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_pcall_break  =  { } ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.new  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( Array.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Array.super ( self ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.super  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_tab_array ( self ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . concat  =  function ( self , a )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g2  =  self ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g1  <  _g2.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g2 [ _g1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g1  =  _g1  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g : push ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  _g ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  a.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  a [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret : push ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . join  =  function ( self , sep )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tbl  =  ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g_current  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g_array  =  self ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g_current  <  _g_array.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g_current  =  _g_current  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g_array [ _g_current  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.table . insert ( tbl ,  Std.string ( i ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.table . concat ( tbl ,  sep )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . pop  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.length  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  self [ self.length  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self [ self.length  -  1 ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  self.length  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . push  =  function ( self , x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self [ self.length ]  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.length  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . reverse  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  i  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( i  <  Std.int ( self.length  /  2 ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    tmp  =  self [ i ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ i ]  =  self [ ( self.length  -  i )  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ ( self.length  -  i )  -  1 ]  =  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    i  =  i  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . shift  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.length  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  self [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.length  ==  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ 0 ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self.length  >  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self [ 0 ]  =  self [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.table . remove ( self ,  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tmp  =  self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  tmp.length  =  tmp.length  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . slice  =  function ( self , pos , _end )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( _end  ==  nil )  or  ( _end  >  self.length ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _end  =  self.length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( _end  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _end  =  _G.math . fmod ( ( self.length  -  ( _G.math . fmod ( - _end ,  self.length ) ) ) ,  self.length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pos  =  _G.math . fmod ( ( self.length  -  ( _G.math . fmod ( - pos ,  self.length ) ) ) ,  self.length ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( pos  >  _end )  or  ( pos  >  self.length ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _hx_tab_array ( { } ,  0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  pos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  _end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret : push ( self [ i ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . sort  =  function ( self , f )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  i  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( i  <  l )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  swap  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  j  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  max  =  ( l  -  i )  -  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( j  <  max )  do  _hx_do_first_2  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      if  ( f ( self [ j ] ,  self [ j  +  1 ] )  >  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  tmp  =  self [ j  +  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self [ j  +  1 ]  =  self [ j ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self [ j ]  =  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        swap  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      j  =  j  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( not  swap )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    i  =  i  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . splice  =  function ( self , pos , len )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( len  <  0 )  or  ( pos  >  self.length ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _hx_tab_array ( { } ,  0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      pos  =  self.length  -  ( _G.math . fmod ( - pos ,  self.length ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  len  =  Math.min ( len ,  self.length  -  pos ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  pos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  pos  +  len ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret : push ( self [ i ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ i ]  =  self [ i  +  len ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  pos  +  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ i ]  =  self [ i  +  len ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tmp  =  self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  tmp.length  =  tmp.length  -  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . toString  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tbl  =  ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.table . insert ( tbl ,  " [ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.table . insert ( tbl ,  self : join ( " , " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.table . insert ( tbl ,  " ] " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.table . concat ( tbl ,  " " )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . unshift  =  function ( self , x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  len  =  self.length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  len ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self [ len  -  i ]  =  self [ ( len  -  i )  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self [ 0 ]  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . insert  =  function ( self , pos , x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  >  self.length )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pos  =  self.length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pos  =  self.length  +  pos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      pos  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  cur_len  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( cur_len  >  pos )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    self [ cur_len ]  =  self [ cur_len  -  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    cur_len  =  cur_len  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self [ pos ]  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . remove  =  function ( self , x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self [ i ]  ==  x )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  i ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g1  =  self.length  -  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      while  ( _g  <  _g1 )  do  _hx_do_first_2  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  j  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self [ j ]  =  self [ j  +  1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self [ self.length  -  1 ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self.length  =  self.length  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  false  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . contains  =  function ( self , x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self [ i ]  ==  x )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  false  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . indexOf  =  function ( self , x , fromIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _end  =  self.length ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( fromIndex  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fromIndex  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( fromIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fromIndex  =  self.length  +  fromIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( fromIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fromIndex  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  fromIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  _end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( x  ==  self [ i ] )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  i  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  - 1  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . lastIndexOf  =  function ( self , x , fromIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( fromIndex  ==  nil )  or  ( fromIndex  >=  self.length ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fromIndex  =  self.length  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( fromIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fromIndex  =  self.length  +  fromIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( fromIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  - 1  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  i  =  fromIndex ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( i  >=  0 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self [ i ]  ==  x )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  i  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      i  =  i  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  - 1  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . copy  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g2  =  self ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g1  <  _g2.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g2 [ _g1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g1  =  _g1  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g : push ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _g  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . map  =  function ( self , f )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g2  =  self ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g1  <  _g2.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g2 [ _g1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g1  =  _g1  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g : push ( f ( i ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _g  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . filter  =  function ( self , f )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g2  =  self ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g1  <  _g2.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g2 [ _g1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g1  =  _g1  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( f ( i ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g : push ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _g  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . iterator  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __haxe_iterators_ArrayIterator.new ( self )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . keyValueIterator  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __haxe_iterators_ArrayKeyValueIterator.new ( self )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . resize  =  function ( self , len )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.length  <  len )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.length  =  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self.length  >  len )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g1  =  self.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self [ i ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self.length  =  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Array.prototype . __class__  =   Array 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.new  =  function ( r , opt )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( EReg.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  EReg.super ( self , r , opt ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.super  =  function ( self , r , opt )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ropt  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  __lua_lib_luautf8_Utf8.len ( opt ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  __lua_lib_luautf8_Utf8.sub ( opt ,  i  +  1 ,  i  +  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( _g )  ==  " g "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self.global  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " i "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ropt  =  _hx_bit.bor ( ropt , EReg.FLAGS . CASELESS ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " m "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ropt  =  _hx_bit.bor ( ropt , EReg.FLAGS . MULTILINE ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " s "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ropt  =  _hx_bit.bor ( ropt , EReg.FLAGS . DOTALL ) ; else  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  ropt  =  _hx_bit.bor ( ropt , EReg.FLAGS . UTF ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  ropt  =  _hx_bit.bor ( ropt , EReg.FLAGS . UCP ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.global  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.global  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.r  =  __lua_lib_lrexlib_Rex.new ( r ,  ropt ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . match  =  function ( self , s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( s  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.m  =  _hx_table.pack ( self.r : exec ( s ,  1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.s  =  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  self.m [ 1 ]  ~=  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								EReg.prototype . matched  =  function ( self , n )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( self.m [ 1 ]  ==  nil )  or  ( n  <  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " EReg::matched " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( n  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  k  =  _G.string . sub ( self.s ,  self.m [ 1 ] ,  self.m [ 2 ] ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  k  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( __lua_Boot.__instanceof ( self.m [ 3 ] ,  _G.table ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  mn  =  2  *  ( n  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( __lua_Boot.__instanceof ( self.m [ 3 ] [ mn  +  1 ] ,  Bool ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  _G.string . sub ( self.s ,  self.m [ 3 ] [ mn  +  1 ] ,  self.m [ 3 ] [ mn  +  2 ] )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _G.error ( __haxe_Exception.thrown ( " EReg:matched " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . matchedLeft  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.m [ 1 ]  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " No string matched " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.string . sub ( self.s ,  1 ,  self.m [ 1 ]  -  1 )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . matchedRight  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.m [ 1 ]  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " No string matched " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.string . sub ( self.s ,  self.m [ 2 ]  +  1 )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . matchedPos  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  left  =  self : matchedLeft ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  matched  =  self : matched ( 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.m [ 1 ]  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " No string matched " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _hx_o ( { __fields__ = { pos = true , len = true } , pos = __lua_lib_luautf8_Utf8.len ( left ) , len = __lua_lib_luautf8_Utf8.len ( matched ) } )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . split  =  function ( self , s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.global )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_Lib.fillArray ( _hx_wrap_if_string_field ( __lua_lib_lrexlib_Rex , ' split ' ) ( s ,  self.r ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  d  =  " #__delim__# " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_Lib.fillArray ( _hx_wrap_if_string_field ( __lua_lib_lrexlib_Rex , ' split ' ) ( self : replace ( s ,  d ) ,  d ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . replace  =  function ( self , s , by )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  chunks  =  String.prototype . split ( by ,  " $$ " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g1  <  chunks.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  chunk  =  chunks [ _g1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g1  =  _g1  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g : push ( __lua_lib_lrexlib_Rex.gsub ( chunk ,  " \\ $( \\ d) " ,  " %%%1 " ,  1 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  chunks  =  _g ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  by  =  chunks : join ( " $ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_lrexlib_Rex.gsub ( s ,  self.r ,  by ,  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self.global )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  1 ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  ) ( ) )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								EReg.prototype . __class__  =   EReg 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Math.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Math.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Math.isNaN  =  function ( f )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  f  ~=  f  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Math.isFinite  =  function ( f )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( f  >  - _G.math . huge )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  f  <  _G.math . huge  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Math.min  =  function ( a , b )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( Math.isNaN ( a )  or  Math.isNaN ( b ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  ( 0 / 0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.math . min ( a ,  b )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Reflect.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Reflect.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Reflect.field  =  function ( o , field )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _G.type ( o )  ==  " string " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( field  ==  " length " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  _hx_wrap_if_string_field ( o , ' length ' )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  String.prototype [ field ]  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  o [ field ]  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Reflect.getProperty  =  function ( o , field )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( o  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( o.__properties__  ~=  nil )  and  ( Reflect.field ( o ,  Std.string ( " get_ " )  ..  Std.string ( field ) )  ~=  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  Reflect.callMethod ( o , Reflect.field ( o ,  Std.string ( " get_ " )  ..  Std.string ( field ) ) , _hx_tab_array ( { } ,  0 ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  Reflect.field ( o ,  field )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Reflect.callMethod  =  function ( o , func , args )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( args  ==  nil )  or  ( args.length  ==  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  func ( o )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  self_arg  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( o  ~=  nil )  and  ( o.__name__  ==  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self_arg  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self_arg )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  func ( o ,  _hx_table.unpack ( args ,  0 ,  args.length  -  1 ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  func ( _hx_table.unpack ( args ,  0 ,  args.length  -  1 ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								Reflect.fields  =  function ( o )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _G.type ( o )  ==  " string " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  Reflect.fields ( String.prototype )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _hx_field_arr ( o )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Reflect.isObject  =  function ( v )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( v  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  t  =  _G.type ( v ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( not  ( ( t  ==  " string " )  or  ( ( t  ==  " table " )  and  ( v.__enum__  ==  nil ) ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( t  ==  " function " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( _G.type ( v )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_1  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_1  =  v.__name__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  ) ( )  or  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( _G.type ( v )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_2  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_2  =  v.__ename__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  ) ( ) )  ~=  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								Reflect.deleteField  =  function ( o , field )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( not  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( ( _G.type ( o )  ==  " function " )  and  not  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_2  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_2  =  o.__name__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( )  or  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_3  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_3  =  o.__ename__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  false ;  elseif  ( ( _G.type ( o )  ==  " string " )  and  ( ( String.prototype [ field ]  ~=  nil )  or  ( field  ==  " length " ) ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  true ;  elseif  ( o.__fields__  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  o.__fields__ [ field ]  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  o [ field ]  ~=  nil ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  ) ( ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  o [ field ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  o.__fields__ [ field ]  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								Reflect.copy  =  function ( o )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( o  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  o2  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  Reflect.fields ( o ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  f  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    o2 [ f ]  =  Reflect.field ( o ,  f ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  o2  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.new  =  function ( string )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( String.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String.super ( self , string ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self  =  string 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.super  =  function ( self , string )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.__index  =  function ( s , k )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( k  ==  " length " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_lib_luautf8_Utf8.len ( s )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  o  =  String.prototype ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  field  =  k ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_1 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( ( _G.type ( o )  ==  " function " )  and  not  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_2  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_2  =  o.__name__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  ) ( )  or  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_3  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_3  =  o.__ename__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  ) ( ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  false ;  elseif  ( ( _G.type ( o )  ==  " string " )  and  ( ( String.prototype [ field ]  ~=  nil )  or  ( field  ==  " length " ) ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  true ;  elseif  ( o.__fields__  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  o.__fields__ [ field ]  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  o [ field ]  ~=  nil ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  String.prototype [ k ]  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( String.__oldindex  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( _G.type ( String.__oldindex )  ==  " function " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          do  return  String.__oldindex ( s ,  k )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( _G.type ( String.__oldindex )  ==  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            do  return  String.__oldindex [ k ]  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.indexOfEmpty  =  function ( s , startIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  length  =  __lua_lib_luautf8_Utf8.len ( s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( startIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    startIndex  =  length  +  startIndex ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( startIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      startIndex  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( startIndex  >  length )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  length  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  startIndex  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.fromCharCode  =  function ( code )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.char ( code )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . toUpperCase  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.upper ( self )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . toLowerCase  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.lower ( self )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . indexOf  =  function ( self , str , startIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( startIndex  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    startIndex  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    startIndex  =  startIndex  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( str  ==  " " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  String.indexOfEmpty ( self ,  startIndex  -  1 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  r  =  __lua_lib_luautf8_Utf8.find ( self ,  str ,  startIndex ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( r  ~=  nil )  and  ( r  >  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  r  -  1  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  - 1  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . lastIndexOf  =  function ( self , str , startIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( startIndex  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    startIndex  =  __lua_lib_luautf8_Utf8.len ( self ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( true )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  p  =  String.prototype . indexOf ( self ,  str ,  ret  +  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( ( p  ==  - 1 )  or  ( p  >  startIndex ) )  or  ( p  ==  ret ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret  =  p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . split  =  function ( self , delimiter )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  idx  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( idx  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  newidx  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_lib_luautf8_Utf8.len ( delimiter )  >  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      newidx  =  __lua_lib_luautf8_Utf8.find ( self ,  delimiter ,  idx ,  true ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( idx  >=  __lua_lib_luautf8_Utf8.len ( self ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        newidx  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        newidx  =  idx  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( newidx  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  match  =  __lua_lib_luautf8_Utf8.sub ( self ,  idx ,  newidx  -  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ret : push ( match ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      idx  =  newidx  +  __lua_lib_luautf8_Utf8.len ( delimiter ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ret : push ( __lua_lib_luautf8_Utf8.sub ( self ,  idx ,  __lua_lib_luautf8_Utf8.len ( self ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      idx  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . toString  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . substring  =  function ( self , startIndex , endIndex )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( endIndex  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    endIndex  =  __lua_lib_luautf8_Utf8.len ( self ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( endIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    endIndex  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( startIndex  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    startIndex  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( endIndex  <  startIndex )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_lib_luautf8_Utf8.sub ( self ,  endIndex  +  1 ,  startIndex )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_lib_luautf8_Utf8.sub ( self ,  startIndex  +  1 ,  endIndex )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . charAt  =  function ( self , index )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.sub ( self ,  index  +  1 ,  index  +  1 )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . charCodeAt  =  function ( self , index )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.byte ( self ,  index  +  1 )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . substr  =  function ( self , pos , len )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( len  ==  nil )  or  ( len  >  ( pos  +  __lua_lib_luautf8_Utf8.len ( self ) ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    len  =  __lua_lib_luautf8_Utf8.len ( self ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( len  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      len  =  __lua_lib_luautf8_Utf8.len ( self )  +  len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pos  =  __lua_lib_luautf8_Utf8.len ( self )  +  pos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  <  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pos  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_lib_luautf8_Utf8.sub ( self ,  pos  +  1 ,  pos  +  len )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								String.prototype . __class__  =   String 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.string  =  function ( s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _hx_tostring ( s ,  0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.int  =  function ( x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( not  Math.isFinite ( x )  or  Math.isNaN ( x ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  0  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _hx_bit_clamp ( x )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.parseInt  =  function ( x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( x  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  sign ,  numString  =  _G.string . match ( x ,  " ^%s*([%-+]?)0[xX]([%da-fA-F]*) " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( numString  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( sign  ==  " - " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  - _G.tonumber ( numString ,  16 )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      do  return  _G.tonumber ( numString ,  16 )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  intMatch  =  _G.string . match ( x ,  " ^%s*[%-+]?%d* " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( intMatch  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.tonumber ( intMatch )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Std.parseFloat  =  function ( x )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( x  ==  nil )  or  ( x  ==  " " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  ( 0 / 0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  digitMatch  =  _G.string . match ( x ,  " ^%s*[%.%-+]?[0-9]%d* " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  if  ( digitMatch  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  ( 0 / 0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  x  =  String.prototype . substr ( x ,  __lua_lib_luautf8_Utf8.len ( digitMatch ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  decimalMatch  =  _G.string . match ( x ,  " ^%.%d* " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( decimalMatch  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    decimalMatch  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  x  =  String.prototype . substr ( x ,  __lua_lib_luautf8_Utf8.len ( decimalMatch ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  eMatch  =  _G.string . match ( x ,  " ^[eE][+%-]?%d+ " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( eMatch  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    eMatch  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  result  =  _G.tonumber ( Std.string ( Std.string ( digitMatch )  ..  Std.string ( decimalMatch ) )  ..  Std.string ( eMatch ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( result  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  result  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  ( 0 / 0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								StringBuf.new  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( StringBuf.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  StringBuf.super ( self ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringBuf.super  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.b  =  ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringBuf.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringBuf.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringBuf.prototype . __class__  =   StringBuf 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								StringTools.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.urlDecode  =  function ( s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  s  =  _G.string . gsub ( s ,  " + " ,  "   " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  s  =  _G.string . gsub ( s ,  " %%(%x%x) " ,  function ( h )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.string . char ( _G.tonumber ( h ,  16 ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  s  =  _G.string . gsub ( s ,  " \r \n " ,  " \n " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  s  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.isSpace  =  function ( s , pos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( ( __lua_lib_luautf8_Utf8.len ( s )  ==  0 )  or  ( pos  <  0 ) )  or  ( pos  >=  __lua_lib_luautf8_Utf8.len ( s ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  c  =  __lua_lib_luautf8_Utf8.byte ( s ,  pos  +  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( not  ( ( c  >  8 )  and  ( c  <  14 ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  c  ==  32  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.ltrim  =  function ( s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  __lua_lib_luautf8_Utf8.len ( s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  r  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( ( r  <  l )  and  StringTools.isSpace ( s ,  r ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    r  =  r  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( r  >  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    do  return  String.prototype . substr ( s ,  r ,  l  -  r )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  s  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.rtrim  =  function ( s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  __lua_lib_luautf8_Utf8.len ( s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  r  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( ( r  <  l )  and  StringTools.isSpace ( s ,  ( l  -  r )  -  1 ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    r  =  r  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( r  >  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    do  return  String.prototype . substr ( s ,  0 ,  l  -  r )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  s  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								StringTools.trim  =  function ( s )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  StringTools.ltrim ( StringTools.rtrim ( s ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								StringTools.replace  =  function ( s , sub , by )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  do  return  String.prototype . split ( s ,  sub ) : join ( by )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_IMap.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_IMap.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.new  =  function ( message , previous , native )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_Exception.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Exception.super ( self , message , previous , native ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.super  =  function ( self , message , previous , native )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.__skipStack  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.__exceptionMessage  =  message ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.__previousException  =  previous ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( native  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.__nativeException  =  native ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.__nativeStack  =  __haxe_NativeStackTrace.exceptionStack ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.__nativeException  =  self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.__nativeStack  =  __haxe_NativeStackTrace.callStack ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.__skipStack  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.__name__  =  true 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_Exception.caught  =  function ( value )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_Boot.__instanceof ( value ,  __haxe_Exception ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  value  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe_ValueException.new ( value ,  nil ,  value )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.thrown  =  function ( value )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_Boot.__instanceof ( value ,  __haxe_Exception ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  value : get_native ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e  =  __haxe_ValueException.new ( value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    e.__skipStack  =  e.__skipStack  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  e  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . unwrap  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.__nativeException  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . toString  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self : get_message ( )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . get_message  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.__exceptionMessage  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . get_native  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.__nativeException  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . __class__  =   __haxe_Exception 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_Exception.prototype . __properties__  =   { get_native = " get_native " , get_message = " get_message " } 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Log.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Log.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Log.formatOutput  =  function ( v , infos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  str  =  Std.string ( v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( infos  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  str  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  pstr  =  Std.string ( Std.string ( infos.fileName )  ..  Std.string ( " : " ) )  ..  Std.string ( infos.lineNumber ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( infos.customParams  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g1  =  infos.customParams ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      local  v  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      str  =  Std.string ( str )  ..  Std.string ( ( Std.string ( " ,  " )  ..  Std.string ( Std.string ( v ) ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  Std.string ( Std.string ( pstr )  ..  Std.string ( " :  " ) )  ..  Std.string ( str )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Log.trace  =  function ( v , infos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  str  =  __haxe_Log.formatOutput ( v ,  infos ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_print ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace.saveStack  =  function ( exception )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace.callStack  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  debug.traceback ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _g  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _hx_tab_array ( { } ,  0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  s  =  _g ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    do  return  String.prototype . split ( s ,  " \n " ) : slice ( 3 )  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_NativeStackTrace.exceptionStack  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _hx_tab_array ( { } ,  0 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								_hxClasses [ " haxe._Template.TemplateExpr " ]  =  {  __ename__  =  true ,  __constructs__  =  _hx_tab_array ( { [ 0 ] = " OpVar " , " OpExpr " , " OpIf " , " OpStr " , " OpBlock " , " OpForeach " , " OpMacro " } , 7 ) } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr  =  _hxClasses [ " haxe._Template.TemplateExpr " ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpVar  =  function ( v )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpVar " , 0 , v , __enum__ = __haxe__Template_TemplateExpr } ,  3 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpExpr  =  function ( expr )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpExpr " , 1 , expr , __enum__ = __haxe__Template_TemplateExpr } ,  3 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpIf  =  function ( expr , eif , eelse )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpIf " , 2 , expr , eif , eelse , __enum__ = __haxe__Template_TemplateExpr } ,  5 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpStr  =  function ( str )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpStr " , 3 , str , __enum__ = __haxe__Template_TemplateExpr } ,  3 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpBlock  =  function ( l )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpBlock " , 4 , l , __enum__ = __haxe__Template_TemplateExpr } ,  3 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpForeach  =  function ( expr , loop )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpForeach " , 5 , expr , loop , __enum__ = __haxe__Template_TemplateExpr } ,  4 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe__Template_TemplateExpr.OpMacro  =  function ( name , params )  local  _x  =  _hx_tab_array ( { [ 0 ] = " OpMacro " , 6 , name , params , __enum__ = __haxe__Template_TemplateExpr } ,  4 ) ;  return  _x ;  end  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.new  =  function ( array )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_iterators_ArrayIterator.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_iterators_ArrayIterator.super ( self , array ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.super  =  function ( self , array )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.current  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.array  =  array ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.prototype . hasNext  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.current  <  self.array . length  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.prototype . next  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.array [ ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _hx_obj  =  self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _hx_fld  =  ' current ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _  =  _hx_obj [ _hx_fld ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_obj [ _hx_fld ]  =  _hx_obj [ _hx_fld ]   +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   return  _ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								   end ) ( ) ]  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayIterator.prototype . __class__  =   __haxe_iterators_ArrayIterator 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_Template.new  =  function ( str )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_Template.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.super ( self , str ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.super  =  function ( self , str )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tokens  =  self : parseTokens ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.expr  =  self : parseBlock ( tokens ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( not  tokens : isEmpty ( ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( Std.string ( Std.string ( " Unexpected ' " )  ..  Std.string ( Std.string ( tokens : first ( ) . s ) ) )  ..  Std.string ( " ' " ) ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . execute  =  function ( self , context , macros )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.macros  =  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( macros  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  _hx_e ( ) ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  macros ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.context  =  context ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.stack  =  __haxe_ds_List.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.buf  =  StringBuf.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self : run ( self.expr ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.table . concat ( self.buf . b )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . resolve  =  function ( self , v )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( v  ==  " __current__ " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  self.context  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( Reflect.isObject ( self.context ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  value  =  Reflect.getProperty ( self.context ,  v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( value  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  o  =  self.context ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tmp  =  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_1 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        if  ( ( _G.type ( o )  ==  " function " )  and  not  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_2  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_2  =  o.__name__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end  ) ( )  or  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_3  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_3  =  o.__ename__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end  ) ( ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_1  =  false ;  elseif  ( ( _G.type ( o )  ==  " string " )  and  ( ( String.prototype [ v ]  ~=  nil )  or  ( v  ==  " length " ) ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        _hx_1  =  true ;  elseif  ( o.__fields__  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_1  =  o.__fields__ [ v ]  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_1  =  o [ v ]  ~=  nil ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tmp  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( tmp )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  value  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g_head  =  self.stack . h ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g_head  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  val  =  _g_head.item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g_head  =  _g_head.next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  ctx  =  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  value  =  Reflect.getProperty ( ctx ,  v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( value  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  o  =  ctx ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tmp  =  ( function ( )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        local  _hx_4 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ( _G.type ( o )  ==  " function " )  and  not  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  _hx_5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_5  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_5  =  o.__name__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  _hx_5 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end  ) ( )  or  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  _hx_6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( _G.type ( o )  ~=  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_6  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_6  =  o.__ename__ ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  _hx_6 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end  ) ( ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_4  =  false ;  elseif  ( ( _G.type ( o )  ==  " string " )  and  ( ( String.prototype [ v ]  ~=  nil )  or  ( v  ==  " length " ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_4  =  true ;  elseif  ( o.__fields__  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_4  =  o.__fields__ [ v ]  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _hx_4  =  o [ v ]  ~=  nil ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_4 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tmp  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( tmp )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  value  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  Reflect.field ( __haxe_Template.globals ,  v )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . parseTokens  =  function ( self , data )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tokens  =  __haxe_ds_List.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _hx_continue_1  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( __haxe_Template.splitter : match ( data ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    repeat  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  p  =  __haxe_Template.splitter : matchedPos ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( p.pos  >  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      tokens : add ( _hx_o ( { __fields__ = { p = true , s = true , l = true } , p = String.prototype . substr ( data ,  0 ,  p.pos ) , s = true , l = nil } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_lib_luautf8_Utf8.byte ( data ,  p.pos  +  1 )  ==  58 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      tokens : add ( _hx_o ( { __fields__ = { p = true , s = true , l = true } , p = String.prototype . substr ( data ,  p.pos  +  2 ,  p.len  -  4 ) , s = false , l = nil } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      data  =  __haxe_Template.splitter : matchedRight ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  parp  =  p.pos  +  p.len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  npar  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  params  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  part  =  " " ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( true )  do  _hx_do_first_2  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  c  =  __lua_lib_luautf8_Utf8.byte ( data ,  parp  +  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      parp  =  parp  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( c  ==  40 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        npar  =  npar  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( c  ==  41 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          npar  =  npar  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( npar  <=  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( c  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _G.error ( __haxe_Exception.thrown ( " Unclosed macro parenthesis " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( c  ==  44 )  and  ( npar  ==  1 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        params : push ( part ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        part  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        part  =  Std.string ( part )  ..  Std.string ( __lua_lib_luautf8_Utf8.char ( c ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    params : push ( part ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    tokens : add ( _hx_o ( { __fields__ = { p = true , s = true , l = true } , p = __haxe_Template.splitter : matched ( 2 ) , s = false , l = params } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    data  =  String.prototype . substr ( data ,  parp ,  __lua_lib_luautf8_Utf8.len ( data )  -  parp ) ; until  true 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  _hx_continue_1  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_continue_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_lib_luautf8_Utf8.len ( data )  >  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    tokens : add ( _hx_o ( { __fields__ = { p = true , s = true , l = true } , p = data , s = true , l = nil } ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  tokens  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . parseBlock  =  function ( self , tokens )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  __haxe_ds_List.new ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( true )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  t  =  tokens : first ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( t  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( not  t.s  and  ( ( ( t.p  ==  " end " )  or  ( t.p  ==  " else " ) )  or  ( String.prototype . substr ( t.p ,  0 ,  7 )  ==  " elseif  " ) ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    l : add ( self : parse ( tokens ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( l.length  ==  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  l : first ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __haxe__Template_TemplateExpr.OpBlock ( l )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . parse  =  function ( self , tokens )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  t  =  tokens : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  p  =  t.p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( t.s )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe__Template_TemplateExpr.OpStr ( p )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( t.l  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  pe  =  __haxe_ds_List.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g1  =  t.l ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  p  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      pe : add ( self : parseBlock ( self : parseTokens ( p ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe__Template_TemplateExpr.OpMacro ( p ,  pe )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  kwdEnd  =  function ( kwd )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  pos  =  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  length  =  __lua_lib_luautf8_Utf8.len ( kwd ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( String.prototype . substr ( p ,  0 ,  length )  ==  kwd )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      pos  =  length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  s  =  String.prototype . substr ( p ,  length ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  _g_codes  =  __lua_lib_luautf8_Utf8.codes ( s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g_str  =  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_1_cp_position ,  _hx_1_cp_codepoint  =  _g_codes ( _g_str ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g_codepoint  =  _hx_1_cp_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g_position  =  _hx_1_cp_position ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      while  ( _g_codepoint  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        local  ret  =  _g_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _hx_2_cp_position ,  _hx_2_cp_codepoint  =  _g_codes ( _g_str ,  _g_position ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _g_codepoint  =  _hx_2_cp_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _g_position  =  _hx_2_cp_position ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  c  =  ret ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( c  ==  32 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          pos  =  pos  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  pos  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  pos  =  kwdEnd ( " if " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  >  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    p  =  String.prototype . substr ( p ,  pos ,  __lua_lib_luautf8_Utf8.len ( p )  -  pos ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  e  =  self : parseExpr ( p ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  eif  =  self : parseBlock ( tokens ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  t  =  tokens : first ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  eelse ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( t  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( " Unclosed 'if' " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( t.p  ==  " end " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tokens : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      eelse  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( t.p  ==  " else " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        tokens : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        eelse  =  self : parseBlock ( tokens ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        t  =  tokens : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( ( t  ==  nil )  or  ( t.p  ~=  " end " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _G.error ( __haxe_Exception.thrown ( " Unclosed 'else' " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        t.p  =  String.prototype . substr ( t.p ,  4 ,  __lua_lib_luautf8_Utf8.len ( t.p )  -  4 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        eelse  =  self : parse ( tokens ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe__Template_TemplateExpr.OpIf ( e ,  eif ,  eelse )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  pos  =  kwdEnd ( " foreach " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  >=  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    p  =  String.prototype . substr ( p ,  pos ,  __lua_lib_luautf8_Utf8.len ( p )  -  pos ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  e  =  self : parseExpr ( p ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  efor  =  self : parseBlock ( tokens ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  t  =  tokens : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( t  ==  nil )  or  ( t.p  ~=  " end " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( " Unclosed 'foreach' " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe__Template_TemplateExpr.OpForeach ( e ,  efor )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __haxe_Template.expr_splitter : match ( p ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __haxe__Template_TemplateExpr.OpExpr ( self : parseExpr ( p ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __haxe__Template_TemplateExpr.OpVar ( p )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . parseExpr  =  function ( self , data )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  __haxe_ds_List.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  expr  =  data ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( __haxe_Template.expr_splitter : match ( data ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  p  =  __haxe_Template.expr_splitter : matchedPos ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  k  =  p.pos  +  p.len ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( p.pos  ~=  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      l : add ( _hx_o ( { __fields__ = { p = true , s = true } , p = String.prototype . substr ( data ,  0 ,  p.pos ) , s = true } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  p  =  __haxe_Template.expr_splitter : matched ( 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    l : add ( _hx_o ( { __fields__ = { p = true , s = true } , p = p , s = String.prototype . indexOf ( p ,  " \" " )  >=  0 } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    data  =  __haxe_Template.expr_splitter : matchedRight ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_lib_luautf8_Utf8.len ( data )  ~=  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_offset  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_s  =  data ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g_offset  <  __lua_lib_luautf8_Utf8.len ( _g_s ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g_key  =  _g_offset ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      _g_offset  =  _g_offset  +  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  _g_value  =  __lua_lib_luautf8_Utf8.byte ( _g_s ,  ( _g_offset  -  1 )  +  1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  i  =  _g_key ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  c  =  _g_value ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( c  ~=  32 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        l : add ( _hx_o ( { __fields__ = { p = true , s = true } , p = String.prototype . substr ( data ,  i ) , s = true } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  e ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      e  =  self : makeExpr ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( not  l : isEmpty ( ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _G.error ( __haxe_Exception.thrown ( l : first ( ) . p ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g1  =  __haxe_Exception.caught ( _g ) : unwrap ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_Boot.__instanceof ( _g1 ,  String ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  s  =  _g1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( Std.string ( Std.string ( Std.string ( " Unexpected ' " )  ..  Std.string ( s ) )  ..  Std.string ( " ' in  " ) )  ..  Std.string ( expr ) ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( _g , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  exc  =  __haxe_Exception.caught ( _g ) : unwrap ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( Std.string ( Std.string ( Std.string ( " Error :  " )  ..  Std.string ( Std.string ( exc ) ) )  ..  Std.string ( "  in  " ) )  ..  Std.string ( expr ) ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . makeConst  =  function ( self , v )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_trim : match ( v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  v  =  __haxe_Template.expr_trim : matched ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_lib_luautf8_Utf8.byte ( v ,  1 )  ==  34 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  str  =  String.prototype . substr ( v ,  1 ,  __lua_lib_luautf8_Utf8.len ( v )  -  2 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  str  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __haxe_Template.expr_int : match ( v ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  Std.parseInt ( v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  i  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __haxe_Template.expr_float : match ( v ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  f  =  Std.parseFloat ( v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  f  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  me  =  self ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  me : resolve ( v )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . makePath  =  function ( self , e , l )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  p  =  l : first ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( p  ==  nil )  or  ( p.p  ~=  " . " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  e  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  field  =  l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( field  ==  nil )  or  not  field.s )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( field.p ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  f  =  field.p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_trim : match ( f ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  f  =  __haxe_Template.expr_trim : matched ( 1 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self : makePath ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  Reflect.field ( e ( ) ,  f )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ,  l )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . makeExpr  =  function ( self , l )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self : makePath ( self : makeExpr2 ( l ) ,  l )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . skipSpaces  =  function ( self , l )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  p  =  l : first ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( p  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  s  =  p.p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_codes  =  __lua_lib_luautf8_Utf8.codes ( s ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_str  =  s ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1_cp_position ,  _hx_1_cp_codepoint  =  _g_codes ( _g_str ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_codepoint  =  _hx_1_cp_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_position  =  _hx_1_cp_position ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g_codepoint  ~=  nil )  do  _hx_do_first_2  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  ret  =  _g_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_2_cp_position ,  _hx_2_cp_codepoint  =  _g_codes ( _g_str ,  _g_position ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g_codepoint  =  _hx_2_cp_codepoint ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g_position  =  _hx_2_cp_position ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  c  =  ret ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( c  ~=  32 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    p  =  l : first ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . makeExpr2  =  function ( self , l )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  p  =  l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( p  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " <eof> " ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( p.s )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  self : makeConst ( p.p )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  p.p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _g )  ==  " ! "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e  =  self : makeExpr ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  v  =  e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( v  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  v  ==  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( _g )  ==  " ( "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e1  =  self : makeExpr ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  p  =  l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( p  ==  nil )  or  p.s )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( p ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( p.p  ==  " ) " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  e1  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e2  =  self : makeExpr ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  p2  =  l : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : skipSpaces ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( p2  ==  nil )  or  ( p2.p  ~=  " ) " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( p2 ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  p.p ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( _g )  ==  " != "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  ~=  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " && "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  and  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " * "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  *  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " + "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  _hx_dyn_add ( e1 ( ) , e2 ( ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " - "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  -  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " / "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  /  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " < "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  <  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " <= "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  <=  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " == "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  ==  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " > "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  >  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " >= "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  >=  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  ( _g )  ==  " || "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        do  return  e1 ( )  or  e2 ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end  end ; else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( Std.string ( " Unknown operation  " )  ..  Std.string ( p.p ) ) , 0 ) ;  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( _g )  ==  " - "  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e  =  self : makeExpr ( l ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  - e ( )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  end ;  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.error ( __haxe_Exception.thrown ( p.p ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . run  =  function ( self , e )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  tmp  =  e [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( tmp )  ==  0  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  self.buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  str  =  Std.string ( self : resolve ( v ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.table . insert ( _this.b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  _this ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _this.length  =  _this.length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  1  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  self.buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  str  =  Std.string ( e ( ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.table . insert ( _this.b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  _this ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _this.length  =  _this.length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  2  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e1  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  eif  =  e [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  eelse  =  e [ 4 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  e1 ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( v  ==  nil )  or  ( v  ==  false ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( eelse  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self : run ( eelse ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self : run ( eif ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  3  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  str  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  self.buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  str  =  Std.string ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.table . insert ( _this.b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _this  =  _this ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _this.length  =  _this.length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  4  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  l  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_head  =  l.h ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g_head  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  val  =  _g_head.item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g_head  =  _g_head.next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  e  =  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self : run ( e ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  5  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  e1  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  loop  =  e [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  e1 ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  x  =  v : iterator ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( x.hasNext  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _G.error ( __haxe_Exception.thrown ( nil ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( v.hasNext  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            _G.error ( __haxe_Exception.thrown ( nil ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _G.error ( __haxe_Exception.thrown ( Std.string ( " Cannot iter on  " )  ..  Std.string ( Std.string ( v ) ) ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.stack : push ( self.context ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  ctx  =  v ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( ctx : hasNext ( ) )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  ctx  =  ctx : next ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self.context  =  ctx ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      self : run ( loop ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.context  =  self.stack : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( tmp )  ==  6  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  m  =  e [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  params  =  e [ 3 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  Reflect.field ( self.macros ,  m ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  pl  =  Array.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  old  =  self.buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    pl : push ( _hx_bind ( self , self.resolve ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g_head  =  params.h ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g_head  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  val  =  _g_head.item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g_head  =  _g_head.next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  p  =  val ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( p [ 1 ]  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  v  =  p [ 2 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        pl : push ( self : resolve ( v ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self.buf  =  StringBuf.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        self : run ( p ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        pl : push ( _G.table . concat ( self.buf . b ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.buf  =  old ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _this  =  self.buf ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  str  =  Std.string ( Reflect.callMethod ( self.macros , v , pl ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _G.table . insert ( _this.b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _this  =  _this ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        _this.length  =  _this.length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  e  =  __haxe_Exception.caught ( _g ) : unwrap ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  plstr ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_status ,  _hx_result  =  pcall ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          plstr  =  pl : join ( " , " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_pcall_default 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  not  _hx_status  and  _hx_result  ==  " _hx_pcall_break "  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elseif  not  _hx_status  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _g  =  _hx_result ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        plstr  =  " ??? " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  msg  =  Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( " Macro call  " )  ..  Std.string ( m ) )  ..  Std.string ( " ( " ) )  ..  Std.string ( plstr ) )  ..  Std.string ( " ) failed ( " ) )  ..  Std.string ( Std.string ( e ) ) )  ..  Std.string ( " ) " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.error ( __haxe_Exception.thrown ( msg ) , 0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elseif  _hx_result  ~=  _hx_pcall_default  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_result 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ;  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_Template.prototype . __class__  =   __haxe_Template 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.new  =  function ( value , previous , native )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_ValueException.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_ValueException.super ( self , value , previous , native ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.super  =  function ( self , value , previous , native )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __haxe_Exception.super ( self , ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( value  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  " null " ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  Std.string ( value ) ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  ) ( ) , previous , native ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  self.value  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.prototype . unwrap  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.value  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.prototype . __class__  =   __haxe_ValueException 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ValueException.__super__  =  __haxe_Exception 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_ValueException.prototype , { __index = __haxe_Exception.prototype } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_ValueException.prototype . __properties__ , { __index = __haxe_Exception.prototype . __properties__ } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.new  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_ds_List.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_ds_List.super ( self ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.super  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . add  =  function ( self , item )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  next  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  x  =  __haxe_ds__List_ListNode.new ( item ,  next ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.h  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.h  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.q . next  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.q  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  self.length  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . push  =  function ( self , item )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  x  =  __haxe_ds__List_ListNode.new ( item ,  self.h ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.h  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.q  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.q  =  x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  self.length  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . first  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.h  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  self.h . item  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . pop  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.h  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  x  =  self.h . item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.h  =  self.h . next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( self.h  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.q  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.length  =  self.length  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  x  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . isEmpty  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  self.h  ==  nil  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . toString  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  s_b  =  ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  s_length  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  first  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  l  =  self.h ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  str  =  " { " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.table . insert ( s_b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  s_length  =  s_length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( l  ~=  nil )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( first )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      first  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  str  =  " ,  " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _G.table . insert ( s_b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      s_length  =  s_length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  str  =  Std.string ( l.item ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.table . insert ( s_b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    s_length  =  s_length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    l  =  l.next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  str  =  " } " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _G.table . insert ( s_b ,  str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  s_length  =  s_length  +  __lua_lib_luautf8_Utf8.len ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _G.table . concat ( s_b )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_List.prototype . __class__  =   __haxe_ds_List 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode.new  =  function ( item , next )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_ds__List_ListNode.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_ds__List_ListNode.super ( self , item , next ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode.super  =  function ( self , item , next )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.item  =  item ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.next  =  next ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds__List_ListNode.prototype . __class__  =   __haxe_ds__List_ListNode 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_StringMap.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_StringMap.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_ds_StringMap.__interfaces__  =  { __haxe_IMap } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.new  =  function ( message , previous , pos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_exceptions_PosException.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_exceptions_PosException.super ( self , message , previous , pos ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.super  =  function ( self , message , previous , pos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Exception.super ( self , message , previous ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( pos  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.posInfos  =  _hx_o ( { __fields__ = { fileName = true , lineNumber = true , className = true , methodName = true } , fileName = " (unknown) " , lineNumber = 0 , className = " (unknown) " , methodName = " (unknown) " } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.posInfos  =  pos ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.prototype . toString  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( Std.string ( " " )  ..  Std.string ( __haxe_Exception.prototype . toString ( self ) ) )  ..  Std.string ( "  in  " ) )  ..  Std.string ( self.posInfos . className ) )  ..  Std.string ( " . " ) )  ..  Std.string ( self.posInfos . methodName ) )  ..  Std.string ( "  at  " ) )  ..  Std.string ( self.posInfos . fileName ) )  ..  Std.string ( " : " ) )  ..  Std.string ( self.posInfos . lineNumber )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.prototype . __class__  =   __haxe_exceptions_PosException 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_PosException.__super__  =  __haxe_Exception 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_exceptions_PosException.prototype , { __index = __haxe_Exception.prototype } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_exceptions_PosException.prototype . __properties__ , { __index = __haxe_Exception.prototype . __properties__ } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.new  =  function ( message , previous , pos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_exceptions_NotImplementedException.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_exceptions_NotImplementedException.super ( self , message , previous , pos ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.super  =  function ( self , message , previous , pos )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( message  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    message  =  " Not implemented " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_exceptions_PosException.super ( self , message , previous , pos ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.prototype . __class__  =   __haxe_exceptions_NotImplementedException 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_exceptions_NotImplementedException.__super__  =  __haxe_exceptions_PosException 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_exceptions_NotImplementedException.prototype , { __index = __haxe_exceptions_PosException.prototype } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								setmetatable ( __haxe_exceptions_NotImplementedException.prototype . __properties__ , { __index = __haxe_exceptions_PosException.prototype . __properties__ } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator.new  =  function ( array )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __haxe_iterators_ArrayKeyValueIterator.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_iterators_ArrayKeyValueIterator.super ( self , array ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator.super  =  function ( self , array )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.array  =  array ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__haxe_iterators_ArrayKeyValueIterator.prototype . __class__  =   __haxe_iterators_ArrayKeyValueIterator 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot.__instanceof  =  function ( o , cl )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( cl  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  cl1  =  cl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( cl1 )  ==  Array  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __lua_Boot.isArray ( o )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  Bool  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " boolean "  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  Dynamic  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  o  ~=  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  Float  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " number "  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  Int  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( _G.type ( o )  ==  " number " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  _hx_bit_clamp ( o )  ==  o  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  String  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " string "  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  _G.table  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " table "  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  __lua_Thread  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " thread "  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elseif  ( cl1 )  ==  __lua_UserData  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  _G.type ( o )  ==  " userdata "  end ; else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( ( o  ~=  nil )  and  ( _G.type ( o )  ==  " table " ) )  and  ( _G.type ( cl )  ==  " table " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  tmp ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_Boot.__instanceof ( o ,  Array ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      tmp  =  Array ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( __lua_Boot.__instanceof ( o ,  String ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        tmp  =  String ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  cl  =  o.__class__ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        tmp  =  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( cl  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_1  =  cl ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          _hx_1  =  nil ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_Boot.extendsOrImplements ( tmp ,  cl ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( cl  ==  Class )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_2  =  o.__name__  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_2  =  false ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_2 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( cl  ==  Enum )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_3  =  o.__ename__  ~=  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_3  =  false ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  o.__enum__  ==  cl  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ;  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot.isArray  =  function ( o )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _G.type ( o )  ==  " table " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( o.__enum__  ==  nil )  and  ( _G.getmetatable ( o )  ~=  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  _G.getmetatable ( o ) . __index  ==  Array.prototype  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Boot.extendsOrImplements  =  function ( cl1 , cl2 )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( cl1  ==  nil )  or  ( cl2  ==  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( cl1  ==  cl2 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( cl1.__interfaces__  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  intf  =  cl1.__interfaces__ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _g  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  _g1  =  _hx_table.maxn ( intf )  +  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ( __lua_Boot.extendsOrImplements ( intf [ i ] ,  cl2 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  __lua_Boot.extendsOrImplements ( cl1.__super__ ,  cl2 )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_UserData.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_UserData.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Lib.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Lib.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Lib.fillArray  =  function ( itr )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  i  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  _hx_tab_array ( { } ,  0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( true )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    i  =  itr ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( not  ( i  ~=  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ret : push ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ret  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Thread.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__lua_Thread.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.new  =  function ( str )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __xrfragment_Filter.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_Filter.super ( self , str ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.super  =  function ( self , str )  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  self.q  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.str  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( str  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self : parse ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								_hx_exports [ " xrfragment " ] [ " Filter " ]  =  __xrfragment_Filter 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . toObject  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  Reflect.copy ( self.q )  end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . get  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  Reflect.copy ( self.q )  end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . parse  =  function ( self , str )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  token  =  String.prototype . split ( str ,  "   " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  q  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  process  =  function ( str , prefix )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( prefix  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      prefix  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    str  =  StringTools.trim ( str ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  k  =  String.prototype . split ( str ,  " = " ) [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  String.prototype . split ( str ,  " = " ) [ 1 ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  filter  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( Reflect.field ( q ,  Std.string ( prefix )  ..  Std.string ( k ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      filter  =  Reflect.field ( q ,  Std.string ( prefix )  ..  Std.string ( k ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_XRF.isProp : match ( str ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      local  oper  =  " " ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( String.prototype . indexOf ( str ,  " > " )  ~=  - 1 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        oper  =  " > " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( String.prototype . indexOf ( str ,  " < " )  ~=  - 1 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        oper  =  " < " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( __xrfragment_XRF.isExclude : match ( k ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        k  =  String.prototype . substr ( k ,  1 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      v  =  String.prototype . substr ( v ,  __lua_lib_luautf8_Utf8.len ( oper ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      if  ( __lua_lib_luautf8_Utf8.len ( oper )  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        oper  =  " = " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-15 19:43:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  rule  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( __xrfragment_XRF.isNumber : match ( v ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-09-15 19:43:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        local  value  =  Std.parseFloat ( v ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        rule [ oper ]  =  value ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-15 19:43:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        rule [ oper ]  =  v ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      q.expr  =  rule ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  value  =  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( __xrfragment_XRF.isDeep : match ( str ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  String.prototype . split ( k ,  " * " ) . length  -  1 ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  0 ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    q.deep  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  value  =  ( function ( )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  _hx_2 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( __xrfragment_XRF.isExclude : match ( str ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      _hx_2  =  false ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_2  =  true ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_2 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    q.show  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  value  =  __xrfragment_XRF.operators : replace ( k ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    q.key  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    q.value  =  v ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  token.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-09-15 19:43:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    process ( token [ i ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.q  =  q  do  return  self.q  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . test  =  function ( self , obj )  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  qualify  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  Reflect.fields ( obj ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  k  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  Std.string ( Reflect.field ( obj ,  k ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self : testProperty ( k ,  v ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      qualify  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  Reflect.fields ( obj ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  k  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  Std.string ( Reflect.field ( obj ,  k ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( self : testProperty ( k ,  v ,  true ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      qualify  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  qualify  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . testProperty  =  function ( self , property , value , exclude )  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  conds  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  fails  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  qualify  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  testprop  =  function ( expr )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    conds  =  conds  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fails  =  fails  +  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( expr )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  0 ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _hx_1  =  1 ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end  ) ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  expr  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( Reflect.field ( self.q ,  value )  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  Reflect.field ( self.q ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( Reflect.field ( v ,  property )  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      do  return  Reflect.field ( v ,  property )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( Reflect.field ( self.q ,  " expr " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  f  =  Reflect.field ( self.q ,  " expr " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( not  Reflect.field ( self.q ,  " show " ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( ( Reflect.field ( f ,  " != " )  ~=  nil )  and  testprop ( Std.string ( value )  ==  Std.string ( Reflect.field ( f ,  " != " ) ) ) )  and  exclude )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qualify  =  qualify  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( Reflect.field ( f ,  " * " )  ~=  nil )  and  testprop ( Std.parseFloat ( value )  ~=  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qualify  =  qualify  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( Reflect.field ( f ,  " > " )  ~=  nil )  and  testprop ( Std.parseFloat ( value )  >=  Std.parseFloat ( Reflect.field ( f ,  " > " ) ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qualify  =  qualify  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( Reflect.field ( f ,  " < " )  ~=  nil )  and  testprop ( Std.parseFloat ( value )  <=  Std.parseFloat ( Reflect.field ( f ,  " < " ) ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qualify  =  qualify  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( Reflect.field ( f ,  " = " )  ~=  nil )  and  ( testprop ( value  ==  Reflect.field ( f ,  " = " ) )  or  testprop ( Std.parseFloat ( value )  ==  Std.parseFloat ( Reflect.field ( f ,  " = " ) ) ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        qualify  =  qualify  +  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  qualify  >  0  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Filter.prototype . __class__  =   __xrfragment_Filter 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Parser.new  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_exports [ " xrfragment " ] [ " Parser " ]  =  __xrfragment_Parser 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Parser.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_Parser.parse  =  function ( key , value , store , index )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  Frag_h  =  ( { } ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_PREDEFINED_VIEW ) , __xrfragment_XRF.PV_EXECUTE ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h [ " # " ]  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h [ " # " ]  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  __xrfragment_XRF.T_URL ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.src  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.src  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.T_URL , __xrfragment_XRF.T_PREDEFINED_VIEW ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.href  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.href  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_STRING ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.tag  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.tag  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( __xrfragment_XRF.PV_OVERRIDE , __xrfragment_XRF.T_VECTOR3 ) , __xrfragment_XRF.T_STRING ) , __xrfragment_XRF.METADATA ) , __xrfragment_XRF.NAVIGATOR ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.pos  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.pos  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( __xrfragment_XRF.QUERY_OPERATOR , __xrfragment_XRF.PV_OVERRIDE ) , __xrfragment_XRF.T_VECTOR3 ) , __xrfragment_XRF.METADATA ) , __xrfragment_XRF.NAVIGATOR ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.rot  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.rot  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( _hx_bit.bor ( __xrfragment_XRF.PV_OVERRIDE , __xrfragment_XRF.T_FLOAT ) , __xrfragment_XRF.T_VECTOR2 ) , __xrfragment_XRF.NAVIGATOR ) , __xrfragment_XRF.METADATA ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.t  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.t  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.PV_OVERRIDE , __xrfragment_XRF.T_MEDIAFRAG ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.s  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.s  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 10:06:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.PV_OVERRIDE , __xrfragment_XRF.T_PREDEFINED_VIEW ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.loop  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.loop  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.T_VECTOR2 , __xrfragment_XRF.T_MEDIAFRAG ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    Frag_h.uv  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    Frag_h.uv  =  value1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_STRING ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.namespace  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.namespace  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_STRING ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.SPDX  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.SPDX  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_STRING ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.unit  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.unit  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  value1  =  _hx_bit.bor ( __xrfragment_XRF.IMMUTABLE , __xrfragment_XRF.T_STRING ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( value1  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.description  =  __haxe_ds_StringMap.tnull ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    Frag_h.description  =  value1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  keyStripped  =  __xrfragment_XRF.operators : replace ( key ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  isPVDynamic  =  ( __lua_lib_luautf8_Utf8.len ( key )  >  0 )  and  ( Frag_h [ key ]  ==  nil ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( isPVDynamic )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  v  =  __xrfragment_XRF.new ( key ,  _hx_bit.bor ( __xrfragment_XRF.PV_EXECUTE , __xrfragment_XRF.NAVIGATOR ) ,  index ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    v : validate ( value ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    v.flags  =  __xrfragment_XRF.set ( __xrfragment_XRF.T_DYNAMICKEY ,  v.flags ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( Frag_h [ key ]  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.flags  =  __xrfragment_XRF.set ( __xrfragment_XRF.CUSTOMFRAG ,  v.flags ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_lib_luautf8_Utf8.len ( value )  ==  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.flags  =  __xrfragment_XRF.set ( __xrfragment_XRF.T_DYNAMICKEYVALUE ,  v.flags ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    store [ keyStripped ]  =  v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ret  =  Frag_h [ key ] ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  v  =  __xrfragment_XRF.new ( key ,  ( function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ret  ==  __haxe_ds_StringMap.tnull )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  nil ;  else  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_1  =  ret ;  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end  ) ( ) ,  index ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( Frag_h [ key ]  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( not  v : validate ( value ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      __haxe_Log.trace ( Std.string ( Std.string ( Std.string ( Std.string ( " ⚠ fragment ' " )  ..  Std.string ( key ) )  ..  Std.string ( " ' has incompatible value ( " ) )  ..  Std.string ( value ) )  ..  Std.string ( " ) " ) ,  _hx_o ( { __fields__ = { fileName = true , lineNumber = true , className = true , methodName = true } , fileName = " src/xrfragment/Parser.hx " , lineNumber = 67 , className = " xrfragment.Parser " , methodName = " parse " } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      do  return  false  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    store [ keyStripped ]  =  v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_Parser.debug )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      __haxe_Log.trace ( Std.string ( Std.string ( Std.string ( " ✔  " )  ..  Std.string ( key ) )  ..  Std.string ( " :  " ) )  ..  Std.string ( v.string ) ,  _hx_o ( { __fields__ = { fileName = true , lineNumber = true , className = true , methodName = true } , fileName = " src/xrfragment/Parser.hx " , lineNumber = 71 , className = " xrfragment.Parser " , methodName = " parse " } ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( __lua_Boot.__instanceof ( value ,  String ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v : guessType ( v ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    v.flags  =  __xrfragment_XRF.set ( __xrfragment_XRF.CUSTOMFRAG ,  v.flags ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    store [ keyStripped ]  =  v ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  true  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-29 13:36:00 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_Parser.getMetaData  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  meta  =  _hx_o ( { __fields__ = { title = true , description = true , author = true , publisher = true , website = true , license = true } , title = _hx_tab_array ( { [ 0 ] = " title " ,  " og:title " ,  " dc.title " } ,  3 ) , description = _hx_tab_array ( { [ 0 ] = " aria-description " ,  " og:description " ,  " dc.description " } ,  3 ) , author = _hx_tab_array ( { [ 0 ] = " author " ,  " dc.creator " } ,  2 ) , publisher = _hx_tab_array ( { [ 0 ] = " publisher " ,  " dc.publisher " } ,  2 ) , website = _hx_tab_array ( { [ 0 ] = " og:site_name " ,  " og:url " ,  " dc.publisher " } ,  3 ) , license = _hx_tab_array ( { [ 0 ] = " SPDX " ,  " dc.rights " } ,  2 ) } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  meta  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_URI.new  =  function ( )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __xrfragment_URI.prototype ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_URI.super ( self ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.super  =  function ( self )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.XRF  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.hash  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.fragment  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								_hx_exports [ " xrfragment " ] [ " URI " ]  =  __xrfragment_URI 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.__name__  =  true 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_URI.parseFragment  =  function ( url , filter )  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  store  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( url  ==  nil )  or  ( String.prototype . indexOf ( url ,  " # " )  ==  - 1 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    do  return  store  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  fragment  =  String.prototype . split ( url ,  " # " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  splitArray  =  String.prototype . split ( fragment [ 1 ] ,  " & " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  splitArray.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  splitByEqual  =  String.prototype . split ( splitArray [ i ] ,  " = " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    local  regexPlus  =  EReg.new ( " \\ + " ,  " g " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  key  =  splitByEqual [ 0 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  value  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( splitByEqual.length  >  1 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( __xrfragment_XRF.isVector : match ( splitByEqual [ 1 ] ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        value  =  splitByEqual [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        value  =  StringTools.urlDecode ( regexPlus : split ( splitByEqual [ 1 ] ) : join ( "   " ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  ok  =  __xrfragment_Parser.parse ( key ,  value ,  store ,  i ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( filter  ~=  nil )  and  ( filter  ~=  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g1  =  Reflect.fields ( store ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      local  key  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  xrf  =  Reflect.field ( store ,  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( not  xrf : is ( filter ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Reflect.deleteField ( store ,  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  store  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_URI.template  =  function ( uri , vars )  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  local  parts  =  String.prototype . split ( uri ,  " # " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( parts.length  ==  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  uri  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  frag  =  parts [ 1 ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  frag  =  StringTools.replace ( frag ,  " { " ,  " :: " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  frag  =  StringTools.replace ( frag ,  " } " ,  " :: " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  frag  =  __haxe_Template.new ( frag ) : execute ( vars ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  frag  =  StringTools.replace ( frag ,  " null " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  parts [ 1 ]  =  frag ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  parts : join ( " # " )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_URI.parse  =  function ( stringUrl , flags )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  r  =  EReg.new ( " ^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?://)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::( \\ d*))?)(((/(?:[^?#](?![^?#/]* \\ .[^?#/.]+(?:[?#]|$)))*/?)?([^?#/]*))(?: \\ ?([^#]*))?(?:#(.*))?) " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 13:07:35 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( ( String.prototype . indexOf ( stringUrl ,  " :// " )  ==  - 1 )  and  ( __lua_lib_luautf8_Utf8.sub ( stringUrl ,  1 ,  1 )  ~=  " / " ) )  and  ( __lua_lib_luautf8_Utf8.sub ( stringUrl ,  1 ,  1 )  ~=  " # " ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    stringUrl  =  Std.string ( " / " )  ..  Std.string ( stringUrl ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  r : match ( stringUrl ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  url  =  __xrfragment_URI.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  _g1  =  __xrfragment_URI._parts . length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    url [ __xrfragment_URI._parts [ i ] ]  =  r : matched ( i ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __xrfragment_URI.isRelative ( url )  ==  true )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( ( url.directory  ==  nil )  and  ( url.host  ~=  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      url.file  =  url.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 16:44:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    url.host  =  " " ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  url.hash  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( url.fragment  ~=  nil )  and  ( __lua_lib_luautf8_Utf8.len ( url.fragment )  >  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    url.XRF  =  __xrfragment_URI.parseFragment ( Std.string ( " # " )  ..  Std.string ( url.fragment ) ,  flags ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  key ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  _g1  =  Reflect.fields ( url.XRF ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    while  ( _g  <  _g1.length )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  key  =  _g1 [ _g ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  v  =  Reflect.field ( url.XRF ,  key ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  this1  =  url.hash ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  value  =  Reflect.field ( v ,  " string " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      this1 [ key ]  =  value ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_URI.computeVars ( url ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  url  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.computeVars  =  function ( url )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  r  =  EReg.new ( " // " ,  " g " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( url.directory  ~=  nil )  and  ( String.prototype . indexOf ( url.directory ,  " // " )  ~=  - 1 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    url.directory  =  r : replace ( url.directory ,  " / " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( url.path  ~=  nil )  and  ( String.prototype . indexOf ( url.path ,  " // " )  ~=  - 1 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    url.path  =  r : replace ( url.path ,  " / " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( url.file  ~=  nil )  and  ( String.prototype . indexOf ( url.file ,  " // " )  ~=  - 1 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    url.file  =  r : replace ( url.file ,  " / " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  url.URN  =  Std.string ( Std.string ( url.scheme )  ..  Std.string ( " :// " ) )  ..  Std.string ( url.host ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.port  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  url1  =  url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    url1.URN  =  Std.string ( url1.URN )  ..  Std.string ( ( Std.string ( " : " )  ..  Std.string ( url.port ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  url1  =  url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  url1.URN  =  Std.string ( url1.URN )  ..  Std.string ( url.directory ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.file  ~=  nil )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    local  parts  =  String.prototype . split ( url.file ,  " . " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( parts.length  >  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      url.fileExt  =  parts : pop ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.toString  =  function ( url )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  result  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.scheme  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( url.scheme )  ..  Std.string ( " :// " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.user  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( url.user )  ..  Std.string ( " : " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.password  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( url.password )  ..  Std.string ( " @ " ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.host  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( url.host ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.port  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( " : " )  ..  Std.string ( url.port ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.directory  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( url.directory ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.file  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( url.file ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.query  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( " ? " )  ..  Std.string ( url.query ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.fragment  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    result  =  Std.string ( result )  ..  Std.string ( ( Std.string ( " # " )  ..  Std.string ( url.fragment ) ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  result  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.appendURI  =  function ( url , appendedURI )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __xrfragment_URI.isRelative ( url )  ==  true )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __xrfragment_URI.appendToRelativeURI ( url ,  appendedURI )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __xrfragment_URI.appendToAbsoluteURI ( url ,  appendedURI )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.isRelative  =  function ( url )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  url.scheme  ==  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.appendToRelativeURI  =  function ( url , appendedURI )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( url.directory  ==  nil )  or  ( url.host  ==  nil ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  __xrfragment_URI.cloneURI ( appendedURI )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  resultURI  =  __xrfragment_URI.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.host  =  url.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.directory  =  url.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.host  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  resultURI  =  resultURI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.directory  =  Std.string ( resultURI.directory )  ..  Std.string ( appendedURI.host ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.directory  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  directory  =  appendedURI.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( appendedURI.host  ==  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  resultURI  =  resultURI ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      resultURI.directory  =  Std.string ( resultURI.directory )  ..  Std.string ( String.prototype . substr ( directory ,  1 ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  resultURI  =  resultURI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      resultURI.directory  =  Std.string ( resultURI.directory )  ..  Std.string ( directory ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.file  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.file  =  appendedURI.file ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.path  =  Std.string ( resultURI.directory )  ..  Std.string ( resultURI.file ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.query  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.query  =  appendedURI.query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.fragment  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.fragment  =  appendedURI.fragment ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  resultURI  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.appendToAbsoluteURI  =  function ( url , appendedURI )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  resultURI  =  __xrfragment_URI.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.scheme  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.scheme  =  url.scheme ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.host  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.host  =  url.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  directory  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.directory  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    directory  =  url.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.host  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    local  appendedURI1  =  appendedURI ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    appendedURI1.directory  =  Std.string ( appendedURI1.directory )  ..  Std.string ( appendedURI.host ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.directory  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    directory  =  Std.string ( directory )  ..  Std.string ( appendedURI.directory ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.directory  =  directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.file  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.file  =  appendedURI.file ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.path  =  Std.string ( resultURI.directory )  ..  Std.string ( resultURI.file ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.query  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.query  =  appendedURI.query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( appendedURI.fragment  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.fragment  =  appendedURI.fragment ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  resultURI  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.toAbsolute  =  function ( url , newUrl )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  newURI  =  __xrfragment_URI.parse ( newUrl ,  0 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  resultURI  =  __xrfragment_URI.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.port  =  url.port ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.source  =  newUrl ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( newURI.scheme  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.scheme  =  newURI.scheme ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.scheme  =  url.scheme ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( ( newURI.host  ~=  nil )  and  ( __lua_lib_luautf8_Utf8.len ( newURI.host )  >  0 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.host  =  newURI.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.port  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.fragment  =  nil ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.hash  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.XRF  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( newURI.port  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      resultURI.port  =  newURI.port ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.host  =  url.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  directory  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( url.directory  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    directory  =  url.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 13:07:35 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( ( newURI.directory  ~=  nil )  and  ( __lua_lib_luautf8_Utf8.sub ( newURI.source ,  1 ,  1 )  ~=  " # " ) )  and  ( __lua_lib_luautf8_Utf8.len ( newURI.directory )  >  0 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( ( __lua_lib_luautf8_Utf8.sub ( newUrl ,  1 ,  1 )  ~=  " / " )  and  ( String.prototype . indexOf ( newUrl ,  " :// " )  ==  - 1 ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  stripRelative  =  EReg.new ( " \\ ./.* " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      directory  =  stripRelative : replace ( directory ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      directory  =  Std.string ( directory )  ..  Std.string ( newURI.directory ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      directory  =  newURI.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.directory  =  directory ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-17 13:07:35 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( newURI.file  ~=  nil )  and  ( __lua_lib_luautf8_Utf8.len ( newURI.file )  >  0 ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    resultURI.file  =  newURI.file ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 16:44:55 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.file  =  url.file ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.path  =  Std.string ( resultURI.directory )  ..  Std.string ( resultURI.file ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( newURI.query  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.query  =  newURI.query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( newURI.fragment  ~=  nil )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    resultURI.fragment  =  newURI.fragment ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.hash  =  newURI.hash ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  resultURI.XRF  =  newURI.XRF ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_URI.computeVars ( resultURI ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  resultURI  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.cloneURI  =  function ( url )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  clonedURI  =  __xrfragment_URI.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.url  =  url.url ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.source  =  url.source ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.scheme  =  url.scheme ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.authority  =  url.authority ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.userInfo  =  url.userInfo ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.password  =  url.password ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.host  =  url.host ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.port  =  url.port ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.relative  =  url.relative ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.path  =  url.path ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.directory  =  url.directory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.file  =  url.file ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.query  =  url.query ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  clonedURI.fragment  =  url.fragment ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  clonedURI  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_URI.prototype . __class__  =   __xrfragment_URI 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.new  =  function ( _fragment , _flags , _index )  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  local  self  =  _hx_new ( __xrfragment_XRF.prototype ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.super ( self , _fragment , _flags , _index ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  return  self 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.super  =  function ( self , _fragment , _flags , _index )  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  self.floats  =  Array.new ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.shift  =  Array.new ( ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  self.fragment  =  _fragment ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self.flags  =  _flags ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  self.index  =  _index ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_exports [ " xrfragment " ] [ " XRF " ]  =  __xrfragment_XRF 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.__name__  =  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.set  =  function ( flag , flags )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _hx_bit.bor ( flags , flag )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.unset  =  function ( flag , flags )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  _hx_bit.band ( flags , _hx_bit.bnot ( flag ) )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.prototype  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.prototype . is  =  function ( self , flag )  
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( not  __lua_Boot.__instanceof ( self.flags ,  Int ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    self.flags  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ( _hx_bit.band ( self.flags , flag ) )  ~=  0  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.prototype . validate  =  function ( self , value )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  self : guessType ( self ,  value ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ok  =  true ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 10:06:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( __lua_lib_luautf8_Utf8.len ( value )  ==  0 )  and  not  self : is ( __xrfragment_XRF.T_PREDEFINED_VIEW ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-03-19 09:53:22 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ok  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( not  self : is ( __xrfragment_XRF.T_FLOAT )  and  self : is ( __xrfragment_XRF.T_VECTOR2 ) )  and  not  ( __lua_Boot.__instanceof ( self.x ,  Float )  and  __lua_Boot.__instanceof ( self.y ,  Float ) ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    ok  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( ( not  ( self : is ( __xrfragment_XRF.T_VECTOR2 )  or  self : is ( __xrfragment_XRF.T_STRING ) )  and  self : is ( __xrfragment_XRF.T_VECTOR3 ) )  and  not  ( ( __lua_Boot.__instanceof ( self.x ,  Float )  and  __lua_Boot.__instanceof ( self.y ,  Float ) )  and  __lua_Boot.__instanceof ( self.z ,  Float ) ) )  then  
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ok  =  false ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  do  return  ok  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.prototype . guessType  =  function ( self , v , str )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  v.string  =  str ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( __xrfragment_XRF.isReset : match ( v.fragment ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    v.reset  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( v.fragment  ==  " loop " )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    v.loop  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( not  __lua_Boot.__instanceof ( str ,  String ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    do  return  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( __lua_lib_luautf8_Utf8.len ( str )  >  0 )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_XRF.isXRFScheme : match ( str ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.xrfScheme  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      str  =  __xrfragment_XRF.isXRFScheme : replace ( str ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.string  =  str ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( String.prototype . split ( str ,  " , " ) . length  >  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  xyzn  =  String.prototype . split ( str ,  " , " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( xyzn.length  >  0 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v.x  =  Std.parseFloat ( xyzn [ 0 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( xyzn.length  >  1 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v.y  =  Std.parseFloat ( xyzn [ 1 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( xyzn.length  >  2 )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v.z  =  Std.parseFloat ( xyzn [ 2 ] ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      local  _g  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  _g1  =  xyzn.length ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      while  ( _g  <  _g1 )  do  _hx_do_first_1  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        _g  =  _g  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  i  =  _g  -  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v.shift : push ( __xrfragment_XRF.isShift : match ( xyzn [ i ] ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        v.floats : push ( Std.parseFloat ( __xrfragment_XRF.isShift : replace ( xyzn [ i ] ,  " " ) ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_XRF.isColor : match ( str ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.color  =  str ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_XRF.isFloat : match ( str ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.x  =  Std.parseFloat ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.float  =  v.x ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( __xrfragment_XRF.isInt : match ( str ) )  then  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.int  =  Std.parseInt ( str ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      v.x  =  v.int ; 
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      v.floats : push ( v.x ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    end ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    v.filter  =  __xrfragment_Filter.new ( Std.string ( Std.string ( v.fragment )  ..  Std.string ( " = " ) )  ..  Std.string ( v.string ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    v.filter  =  __xrfragment_Filter.new ( v.fragment ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								__xrfragment_XRF.prototype . __class__  =   __xrfragment_XRF 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								local  hasBit32 ,  bit32  =  pcall ( require ,  ' bit32 ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  hasBit32  then  --if we are on Lua 5.1, bit32 will be the default. 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_bit_raw  =  bit32 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_bit  =  setmetatable ( { } ,  {  __index  =  _hx_bit_raw  } ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  -- lua 5.2 weirdness 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  _hx_bit.bnot  =  function ( ... )  return  _hx_bit_clamp ( _hx_bit_raw.bnot ( ... ) )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_bit.bxor  =  function ( ... )  return  _hx_bit_clamp ( _hx_bit_raw.bxor ( ... ) )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  --If we do not have bit32, fallback to 'bit' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  hasBit ,  bit  =  pcall ( require ,  ' bit ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  not  hasBit  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    error ( " Failed to load bit or bit32 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_bit_raw  =  bit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_bit  =  setmetatable ( { } ,  {  __index  =  _hx_bit_raw  } ) 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								-- see https://github.com/HaxeFoundation/haxe/issues/8849 
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								_hx_bit.bor  =  function ( ... )  return  _hx_bit_clamp ( _hx_bit_raw.bor ( ... ) )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_bit.band  =  function ( ... )  return  _hx_bit_clamp ( _hx_bit_raw.band ( ... ) )  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_bit.arshift  =  function ( ... )  return  _hx_bit_clamp ( _hx_bit_raw.arshift ( ... ) )  end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if  _hx_bit_raw  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_bit_clamp  =  function ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  v  <=  2147483647  and  v  >=  - 2147483648  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  v  >  0  then  return  _G.math . floor ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else  return  _G.math . ceil ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  v  >  2251798999999999  then  v  =  v * 2  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( v  ~=  v  or  math.abs ( v )  ==  _G.math . huge )  then  return  nil  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  _hx_bit_raw.band ( v ,  2147483647  )  -  math.abs ( _hx_bit_raw.band ( v ,  2147483648 ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _hx_bit_clamp  =  function ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  v  <  - 2147483648  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  - 2147483648 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  v  >  2147483647  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  2147483647 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elseif  v  >  0  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  _G.math . floor ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  _G.math . ceil ( v ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_array_mt.__index  =  Array.prototype 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								if  package.loaded . luv  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_luv  =  _G.require ( " luv " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  _hx_luv  =  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    run = function ( mode )  return  false  end , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    loop_alive = function ( )  return  false  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								local  _hx_static_init  =  function ( ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( __lua_lib_lrexlib_Rex  ==  nil )  then  
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    _G.error ( __haxe_Exception.thrown ( " Rex is missing.  Please install lrexlib-pcre2. " ) , 0 ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  String.__name__  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  Array.__name__  =  true ; EReg.FLAGS  =  __lua_lib_lrexlib_Rex.flags ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __haxe_Template.splitter  =  EReg.new ( " (::[A-Za-z0-9_ ()&|!+=/><*. \" -]+::| \\ $ \\ $([A-Za-z0-9_-]+) \\ () " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_splitter  =  EReg.new ( " ( \\ (| \\ )|[  \r \n \t ]* \" [^ \" ]* \" [  \r \n \t ]*|[!+=/><*.&|-]+) " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_trim  =  EReg.new ( " ^[ ]*([^ ]+)[ ]*$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_int  =  EReg.new ( " ^[0-9]+$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.expr_float  =  EReg.new ( " ^([+-]?)(?= \\ d|, \\ d) \\ d*(, \\ d*)?([Ee]([+-]? \\ d+))?$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.globals  =  _hx_e ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_Template.hxKeepArrayIterator  =  __haxe_iterators_ArrayIterator.new ( _hx_tab_array ( { } ,  0 ) ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  __haxe_ds_StringMap.tnull  =  ( { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_Parser.error  =  " " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_Parser.debug  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_URI.__meta__  =  _hx_o ( { __fields__ = { statics = true } , statics = _hx_o ( { __fields__ = { template = true } , template = _hx_o ( { __fields__ = { keep = true } , keep = nil } ) } ) } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-04-16 13:19:08 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_URI._parts  =  _hx_tab_array ( { [ 0 ] = " source " ,  " scheme " ,  " authority " ,  " userInfo " ,  " user " ,  " password " ,  " host " ,  " port " ,  " relative " ,  " path " ,  " directory " ,  " file " ,  " query " ,  " fragment " } ,  14 ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.IMMUTABLE  =  1 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.PROP_BIND  =  2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.QUERY_OPERATOR  =  4 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.PROMPT  =  8 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.CUSTOMFRAG  =  16 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.NAVIGATOR  =  32 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2023-08-15 18:27:26 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.METADATA  =  64 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.PV_OVERRIDE  =  128 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.PV_EXECUTE  =  256 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_COLOR  =  8192 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_INT  =  16384 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_FLOAT  =  32768 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_VECTOR2  =  65536 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_VECTOR3  =  131072 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_URL  =  262144 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_PREDEFINED_VIEW  =  524288 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_STRING  =  1048576 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_MEDIAFRAG  =  2097152 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_DYNAMICKEY  =  4194304 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.T_DYNAMICKEYVALUE  =  8388608 ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isColor  =  EReg.new ( " ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isInt  =  EReg.new ( " ^[-0-9]+$ " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2023-11-03 21:22:05 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isFloat  =  EReg.new ( " ^[-0-9]+ \\ .[0-9]+$ " ,  " " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isVector  =  EReg.new ( " ([,]+| \\ w) " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isUrl  =  EReg.new ( " (://)? \\ ..* " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isUrlOrPretypedView  =  EReg.new ( " (^#|://)? \\ ..* " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isString  =  EReg.new ( " .* " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.operators  =  EReg.new ( " (^[-]|^[!]|[ \\ *]$) " ,  " g " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2023-11-28 17:39:33 +01:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isProp  =  EReg.new ( " ^.*=[><=]? " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isExclude  =  EReg.new ( " ^- " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isDeep  =  EReg.new ( " \\ * " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isNumber  =  EReg.new ( " ^[0-9 \\ .]+$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isMediaFrag  =  EReg.new ( " ^([0-9 \\ ., \\ *+-]+)$ " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isReset  =  EReg.new ( " ^! " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isShift  =  EReg.new ( " ^( \\ +|--) " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  __xrfragment_XRF.isXRFScheme  =  EReg.new ( " ^xrf:// " ,  " " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								_hx_bind  =  function ( o , m ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  m  ==  nil  then  return  nil  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  f ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  o._hx__closures  ==  nil  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    _G.rawset ( o ,  ' _hx__closures ' ,  { } ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    f  =  o._hx__closures [ m ] ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( f  ==  nil )  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    f  =  function ( ... )  return  m ( o ,  ... )  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    o._hx__closures [ m ]  =  f ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  f ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								_hx_print  =  print  or  ( function ( )  end ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_table  =  { } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_table.pack  =  _G.table . pack  or  function ( ... ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  { ... } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_table.unpack  =  _G.table . unpack  or  _G.unpack 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_table.maxn  =  _G.table . maxn  or  function ( t ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  maxn = 0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  for  i  in  pairs ( t )  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    maxn = type ( i ) == ' number ' and  i > maxn  and  i  or  maxn 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  maxn 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								_hx_wrap_if_string_field  =  function ( o ,  fld ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  _G.type ( o )  ==  ' string '  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  fld  ==  ' length '  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  _G.string . len ( o ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      return  String.prototype [ fld ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  o [ fld ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-02-16 16:36:27 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								_hx_dyn_add  =  function ( a , b ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  ( _G.type ( a )  ==  ' string '  or  _G.type ( b )  ==  ' string ' )  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  Std.string ( a ) .. Std.string ( b ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    return  a  +  b ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2024-07-09 17:27:21 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								function  _hx_handle_error ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  message  =  tostring ( obj ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  _G.debug  and  _G.debug . traceback  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    -- level 2 to skip _hx_handle_error 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    message  =  _G.debug . traceback ( message ,  2 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  return  setmetatable ( { } ,  {  __tostring  =  function ( )  return  message  end  } ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2023-06-07 17:42:21 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								_hx_static_init ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								return  _hx_exports