NAME=ac
FILE==
CMDS=<<EOF
ac Flatline
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
EOF
EXPECT=<<EOF
[Flatline]
Flatline=c
-
EOF
RUN

NAME=acm
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PlayerPosition 0x1337 0x42
acil Flatline
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Flatline]
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition

Flatline=c
-
attr.Flatline.method=PlayerPosition
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attrtypes.Flatline=method
0x00001337 0 method.Flatline.PlayerPosition
EOF
RUN

NAME=acm-
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PlayerPosition 0x1337 0x42
acm Flatline RemainIndoors 0xdeadbeef
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
acm- Flatline PlayerPosition
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
acm- Flatline RemainIndoors
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Flatline]
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition
  2 0xdeadbeef ---------- DEFAULT RemainIndoors

Flatline=c
-
attr.Flatline.method=PlayerPosition,RemainIndoors
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attr.Flatline.method.RemainIndoors=3735928559,-1,0,RemainIndoors
attrtypes.Flatline=method
0x00001337 0 method.Flatline.PlayerPosition
0xdeadbeef 0 method.Flatline.RemainIndoors
--
[Flatline]
nth       addr  vt_offset type    name          
------------------------------------------------
  1 0xdeadbeef ---------- DEFAULT RemainIndoors

Flatline=c
-
attr.Flatline.method=RemainIndoors
attr.Flatline.method.RemainIndoors=3735928559,-1,0,RemainIndoors
attrtypes.Flatline=method
0xdeadbeef 0 method.Flatline.RemainIndoors
--
[Flatline]
Flatline=c
-
EOF
RUN

NAME=acmn
FILE==
CMDS=<<EOF
ac Flatline
acm Flatline PlayerPosition 0x1337 0x42
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
acmn Flatline PlayerPosition Marigold
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Flatline]
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition

Flatline=c
-
attr.Flatline.method=PlayerPosition
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attrtypes.Flatline=method
0x00001337 0 method.Flatline.PlayerPosition
--
[Flatline]
nth       addr  vt_offset type    name     
-------------------------------------------
  1 0x00001337 0x00000042 DEFAULT Marigold

Flatline=c
-
attr.Flatline.method=Marigold
attr.Flatline.method.Marigold=4919,66,0,Marigold
attrtypes.Flatline=method
0x00001337 0 method.Flatline.Marigold
EOF
RUN

NAME=ac-
FILE==
CMDS=<<EOF
ac Album
ac PeripheryAlbum
acb PeripheryAlbum Album
ac Flatline
acb Flatline PeripheryAlbum
acm Flatline PlayerPosition 0x1337 0x42
acv Flatline 0x1337

acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes

echo --
ac- Album
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes

echo --
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
ac- Flatline
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Album]
[Flatline: PeripheryAlbum]
  (vtable at 0x1337)
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition

[PeripheryAlbum: Album]
Album=c
Flatline=c
PeripheryAlbum=c
-
attr.Flatline.base=0
attr.Flatline.base.0=PeripheryAlbum,0
attr.Flatline.method=PlayerPosition
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attr.Flatline.vtable=0
attr.Flatline.vtable.0=0x1337,0,0
attr.PeripheryAlbum.base=0
attr.PeripheryAlbum.base.0=Album,0
attrtypes.Flatline=base,method,vtable
attrtypes.PeripheryAlbum=base
0x00001337 0 method.Flatline.PlayerPosition
0x00001337 0 vtable.Flatline.0
--
[Flatline: PeripheryAlbum]
  (vtable at 0x1337)
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition

[PeripheryAlbum]
Flatline=c
PeripheryAlbum=c
-
attr.Flatline.base=0
attr.Flatline.base.0=PeripheryAlbum,0
attr.Flatline.method=PlayerPosition
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attr.Flatline.vtable=0
attr.Flatline.vtable.0=0x1337,0,0
attrtypes.Flatline=base,method,vtable
0x00001337 0 method.Flatline.PlayerPosition
0x00001337 0 vtable.Flatline.0
--
[Flatline: PeripheryAlbum]
  (vtable at 0x1337)
nth       addr  vt_offset type    name           
-------------------------------------------------
  1 0x00001337 0x00000042 DEFAULT PlayerPosition

[PeripheryAlbum]
Flatline=c
PeripheryAlbum=c
-
attr.Flatline.base=0
attr.Flatline.base.0=PeripheryAlbum,0
attr.Flatline.method=PlayerPosition
attr.Flatline.method.PlayerPosition=4919,66,0,PlayerPosition
attr.Flatline.vtable=0
attr.Flatline.vtable.0=0x1337,0,0
attrtypes.Flatline=base,method,vtable
0x00001337 0 method.Flatline.PlayerPosition
0x00001337 0 vtable.Flatline.0
--
[PeripheryAlbum]
PeripheryAlbum=c
-
EOF
RUN

NAME=acb
FILE==
CMDS=<<EOF
ac PeripherySong
ac NiceSong
ac Flatline
acb Flatline PeripherySong
acb Flatline NiceSong 0x42
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
acbl Flatline
EOF
EXPECT=<<EOF
[Flatline: PeripherySong, NiceSong]
[NiceSong]
[PeripherySong]
Flatline=c
NiceSong=c
PeripherySong=c
-
attr.Flatline.base=0,1
attr.Flatline.base.0=PeripherySong,0
attr.Flatline.base.1=NiceSong,66
attrtypes.Flatline=base
Flatline:
     0 PeripherySong @ +0x0
     1 NiceSong @ +0x42
EOF
RUN

NAME=acb-
FILE==
CMDS=<<EOF
ac PeripherySong
ac NiceSong
ac Flatline
acb Flatline PeripherySong
acb Flatline NiceSong 0x42
acbl Flatline
k analysis/classes/*
echo -
k analysis/classes/attrs/*
echo --
acb- Flatline 0
acbl Flatline
k analysis/classes/*
echo -
k analysis/classes/attrs/*
EOF
EXPECT=<<EOF
Flatline:
     0 PeripherySong @ +0x0
     1 NiceSong @ +0x42
Flatline=c
NiceSong=c
PeripherySong=c
-
attr.Flatline.base=0,1
attr.Flatline.base.0=PeripherySong,0
attr.Flatline.base.1=NiceSong,66
attrtypes.Flatline=base
--
Flatline:
     1 NiceSong @ +0x42
Flatline=c
NiceSong=c
PeripherySong=c
-
attr.Flatline.base=1
attr.Flatline.base.1=NiceSong,66
attrtypes.Flatline=base
EOF
RUN

NAME=acv
FILE==
CMDS=<<EOF
ac Deadwing
acv Deadwing 0x1337
acv Deadwing 0xdeadbeef 0x42
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Deadwing]
  (vtable at 0x1337)
  (vtable at 0xdeadbeef in class at +0x42)
Deadwing=c
-
attr.Deadwing.vtable=0,1
attr.Deadwing.vtable.0=0x1337,0,0
attr.Deadwing.vtable.1=0xdeadbeef,66,0
attrtypes.Deadwing=vtable
0x00001337 0 vtable.Deadwing.0
0xdeadbeef 0 vtable.Deadwing.1
EOF

RUN

NAME=acv-
FILE==
CMDS=<<EOF
ac Deadwing
acv Deadwing 0x1337
acv Deadwing 0xdeadbeef 0x42
acv Deadwing 0xefefef 0x42 0x20
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
acv- Deadwing 0
acll
fl @F:classes
EOF
EXPECT=<<EOF
[Deadwing]
  (vtable at 0x1337)
  (vtable at 0xdeadbeef in class at +0x42)
  (vtable at 0xefefef in class at +0x42)
Deadwing=c
-
attr.Deadwing.vtable=0,1,2
attr.Deadwing.vtable.0=0x1337,0,0
attr.Deadwing.vtable.1=0xdeadbeef,66,0
attr.Deadwing.vtable.2=0xefefef,66,32
attrtypes.Deadwing=vtable
0x00001337 0 vtable.Deadwing.0
0x00efefef 32 vtable.Deadwing.2
0xdeadbeef 0 vtable.Deadwing.1
--
[Deadwing]
  (vtable at 0xdeadbeef in class at +0x42)
  (vtable at 0xefefef in class at +0x42)
0x00efefef 32 vtable.Deadwing.2
0xdeadbeef 0 vtable.Deadwing.1
EOF
RUN

NAME=acn
FILE==
CMDS=<<EOF
ac Album
ac PorcupineTreeAlbum
acb PorcupineTreeAlbum Album
ac Deadwing
acb Deadwing PorcupineTreeAlbum 0x8
acv PorcupineTreeAlbum 0x1337 0x42
acm PorcupineTreeAlbum Listen 0xdeadbeef
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
echo --
acn PorcupineTreeAlbum Masterpiece
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
fl @F:classes
EOF
EXPECT=<<EOF
[Album]
[Deadwing: PorcupineTreeAlbum]
[PorcupineTreeAlbum: Album]
  (vtable at 0x1337 in class at +0x42)
nth       addr  vt_offset type    name   
-----------------------------------------
  1 0xdeadbeef ---------- DEFAULT Listen

Album=c
Deadwing=c
PorcupineTreeAlbum=c
-
attr.Deadwing.base=0
attr.Deadwing.base.0=PorcupineTreeAlbum,8
attr.PorcupineTreeAlbum.base=0
attr.PorcupineTreeAlbum.base.0=Album,0
attr.PorcupineTreeAlbum.method=Listen
attr.PorcupineTreeAlbum.method.Listen=3735928559,-1,0,Listen
attr.PorcupineTreeAlbum.vtable=0
attr.PorcupineTreeAlbum.vtable.0=0x1337,66,0
attrtypes.Deadwing=base
attrtypes.PorcupineTreeAlbum=base,vtable,method
0x00001337 0 vtable.PorcupineTreeAlbum.0
0xdeadbeef 0 method.PorcupineTreeAlbum.Listen
--
[Album]
[Deadwing: Masterpiece]
[Masterpiece: Album]
  (vtable at 0x1337 in class at +0x42)
nth       addr  vt_offset type    name   
-----------------------------------------
  1 0xdeadbeef ---------- DEFAULT Listen

Album=c
Deadwing=c
Masterpiece=c
-
attr.Deadwing.base=0
attr.Deadwing.base.0=Masterpiece,8
attr.Masterpiece.base=0
attr.Masterpiece.base.0=Album,0
attr.Masterpiece.method=Listen
attr.Masterpiece.method.Listen=3735928559,-1,0,Listen
attr.Masterpiece.vtable=0
attr.Masterpiece.vtable.0=0x1337,66,0
attrtypes.Deadwing=base
attrtypes.Masterpiece=base,vtable,method
0x00001337 0 vtable.Masterpiece.0
0xdeadbeef 0 method.Masterpiece.Listen
EOF
RUN

NAME=acl*
FILE==
CMDS=<<EOF
ac Album
ac PorcupineTreeAlbum
acb PorcupineTreeAlbum Album
ac Deadwing
acb Deadwing PorcupineTreeAlbum 0x8
acv PorcupineTreeAlbum 0x1337 0x42
acm PorcupineTreeAlbum Listen 0xdeadbeef
acl*
EOF
EXPECT=<<EOF
ac Deadwing
ac PorcupineTreeAlbum
ac Album
acb Deadwing PorcupineTreeAlbum 8
acb PorcupineTreeAlbum Album 0
acv PorcupineTreeAlbum 0x1337 66
acm PorcupineTreeAlbum Listen 0xdeadbeef -1
EOF
RUN

NAME=aclj
FILE==
CMDS=<<EOF
ac PorcupineTreeAlbum
ac Deadwing
acb Deadwing PorcupineTreeAlbum 0x8
acv PorcupineTreeAlbum 0x1337 0x42
acm PorcupineTreeAlbum Listen 0xdeadbeef
aclj
EOF
EXPECT=<<EOF
[{"name":"PorcupineTreeAlbum","bases":[],"vtables":[{"id":"0","addr":4919,"offset":66}],"methods":[{"name":"Listen","addr":3735928559,"type":"DEFAULT"}]},{"name":"Deadwing","bases":[{"id":"0","name":"PorcupineTreeAlbum","offset":8}],"vtables":[],"methods":[]}]
EOF
RUN

NAME=acvf
FILE=bins/elf/analysis/elf-virtualtable
CMDS=<<EOF
ac A
ac B
ac C
acv A 0x00400d28 0x0 0x10
acv B 0x00400d08 0x0 0x10
acv C 0x00400ce8 0x0 0x10
acll
acvf 0x0 A
acvf 0x8 B
acvf 0x16 C dasdass
acvf 0x0
acvf -50
acvf 0x0 000ASDASdjpsadoaspdjasdaspodasDDD
acv A 0x00400d28 0x0
EOF
EXPECT=<<EOF
[A]
  (vtable at 0x400d28)
[B]
  (vtable at 0x400d08)
[C]
  (vtable at 0x400ce8)
Function address: 0x00400ac8, in A vtable 0
Function address: 0x00400b82, in B vtable 0
Function address: 0x00400ac8, in A vtable 0
Function address: 0x00400ac8, in B vtable 0
Function address: 0x00400ac8, in C vtable 0
EOF
RUN

NAME=aclj2
FILE=bins/elf/analysis/elf-virtualtable
CMDS=<<EOF
aaa
aclj
EOF
EXPECT=<<EOF
[{"name":"B","bases":[{"id":"0","name":"A","offset":0}],"vtables":[{"id":"0","addr":4197640,"offset":0}],"methods":[{"name":"B","addr":4197198,"type":"CONSTRUCTOR"},{"name":"printValue","addr":4197250,"type":"VIRTUAL","vtable_offset":8},{"name":"method.A.greet","addr":4197064,"type":"VIRTUAL","vtable_offset":0}]},{"name":"std::ios_base::Init","bases":[],"vtables":[],"methods":[{"name":"Init","addr":4196432,"type":"DEFAULT"},{"name":"~Init","addr":4196480,"type":"DEFAULT"}]},{"name":"std","bases":[],"vtables":[],"methods":[]},{"name":"std::ostream","bases":[],"vtables":[],"methods":[{"name":"operator<<","addr":4196400,"type":"DEFAULT"},{"name":"operator<<","addr":4196512,"type":"DEFAULT"}]},{"name":"std::basic_ostream_char__std::char_traits_char_____std","bases":[],"vtables":[],"methods":[{"name":"operator<< <std::char_traits<char> >","addr":4196496,"type":"DEFAULT"},{"name":"endl<char, std::char_traits<char> >","addr":4196528,"type":"DEFAULT"}]},{"name":"A","bases":[],"vtables":[{"id":"0","addr":4197672,"offset":0}],"methods":[{"name":"greet","addr":4197064,"type":"VIRTUAL","vtable_offset":0},{"name":"printValue","addr":4197108,"type":"VIRTUAL","vtable_offset":8},{"name":"A","addr":4197174,"type":"CONSTRUCTOR"}]},{"name":"C","bases":[{"id":"0","name":"A","offset":0}],"vtables":[{"id":"0","addr":4197608,"offset":0}],"methods":[{"name":"C","addr":4197316,"type":"CONSTRUCTOR"},{"name":"printValue","addr":4197368,"type":"VIRTUAL","vtable_offset":8},{"name":"method.A.greet","addr":4197064,"type":"VIRTUAL","vtable_offset":0}]}]
EOF
RUN

NAME=aclj3
FILE=bins/pe/cpp-msvc-x86.exe
CMDS=<<EOF
e analysis.jmp.cref=true
aaa
aclj
EOF
EXPECT=<<EOF
[{"name":"InAbsentia","bases":[{"id":"0","name":"Album","offset":0}],"vtables":[{"id":"0","addr":4268452,"offset":0}],"methods":[{"name":"virtual_0","addr":4198536,"type":"VIRTUAL","vtable_offset":0},{"name":"virtual_4","addr":4198579,"type":"VIRTUAL","vtable_offset":4}]},{"name":"type_info","bases":[],"vtables":[{"id":"0","addr":4268540,"offset":0}],"methods":[{"name":"virtual_0","addr":4198710,"type":"VIRTUAL","vtable_offset":0}]},{"name":"Album","bases":[],"vtables":[{"id":"0","addr":4268388,"offset":0}],"methods":[{"name":"virtual_0","addr":4198493,"type":"VIRTUAL","vtable_offset":0},{"name":"virtual_4","addr":4198567,"type":"VIRTUAL","vtable_offset":4}]}]
EOF
RUN

NAME=acvf2
FILE=bins/elf/analysis/elf-virtualtable
CMDS=<<EOF
aaa
acvf 0
acvf 0x8 A
acvf 0x0 C
acvf 0x10 ABC
acvf -10
EOF
EXPECT=<<EOF
Function address: 0x00400ac8, in A vtable 0
Function address: 0x00400ac8, in B vtable 0
Function address: 0x00400ac8, in C vtable 0
Function address: 0x00400af4, in A vtable 0
Function address: 0x00400ac8, in C vtable 0
EOF
RUN

NAME=acvf3
FILE=bins/mach0/TestRTTI-arm64
CMDS=<<EOF
aaa
acvf 0 A
acvf 0x8 B
acvf 0x10 C
acvf 0x18 ABC
acvf -20
EOF
EXPECT=<<EOF
Function address: 0x100005f1c, in A vtable 0
Function address: 0x100005fe0, in B vtable 0
Function address: 0x100005f44, in B vtable 1
Function address: 0x100005fe0, in B vtable 2
Function address: 0x100005f44, in B vtable 3
Function address: 0x1000060a0, in C vtable 1
Function address: 0x1000060a0, in C vtable 3
EOF
RUN

NAME=longclass
FILE==
CMDS=<<EOF
ac Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline
acv Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline 0x1337 0x42
acm Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline Uluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumulu 0x12345
acll
k analysis/classes/*
echo -
k analysis/classes/attrs/*
EOF
EXPECT=<<EOF
[Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline]
  (vtable at 0x1337 in class at +0x42)
nth       addr  vt_offset type    name                                                                                                                                                                                                                                                                                                                                                                                   
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1 0x00012345 ---------- DEFAULT Uluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumulu

Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline=c
-
attr.Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline.method=Uluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumulu
attr.Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline.method.Uluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumulu=74565,-1,0,Uluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuumulu
attr.Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline.vtable=0
attr.Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline.vtable.0=0x1337,66,0
attrtypes.Flaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatline=vtable,method
EOF
RUN
